데이터베이스 논리적 삭제와 제약 (논리적 삭제 시 유니크 제약 사용)
·
Programming/DBMS
- 데이터베이스의 논리적 삭제란,RDBMS SQL 로 설명하자면, Delete 명령어를 사용하여 데이터 행을 삭제하는 것이 아니라, 데이터 행에 해당 행이 삭제된 상태인지 활성화된 상태인지를 나타내는 정보를 수정하고 다루는 방식입니다.실제로 Delete 명령어를 사용하여 데이터를 삭제하는 방식을 물리적 삭제라고 부르죠. 논리적 삭제에 대한 예를 들어 보겠습니다. 회원 테이블에 회원이 삭제되었는지 아닌지를 판가름하기 위해 bit 타입의 is_delete 컬럼을 추가하고, 이 컬럼이 0이라면 활성 상태, 1이라면 삭제된 상태로 간주하여 select 문 같은 곳에서 데이터 조회시 삭제되지 않은 데이터만을 서비스에 사용하도록 처리하는 것이죠. 이 방식의 장점은, 기업 및 사용자에게 무척이나 중요한 데이터를 실질..
Kotlin 에서 패키지명 가져오기, 현재 클래스의 클래스명 가져오기
·
Programming/ETC
Kotlin 에서 패키지명을 가져오기 위해선,임의의 클래스 하나의 리플렉션(클래스 메타 데이터) 정보를 사용하면 됩니다. 예를들어 ApplicationMain 이라는 클래스가 존재할 때,val packageName = ApplicationMain::class.java.`package`.name위와 같이 클래스 정보중 ::class.java.`package`.name 을 가져오면,ApplicationMain 클래스의 패키지명을 받아올 수 있습니다. 실제로 제 코틀린 스프링부트 프로젝트로 실행해보면,package com.railly_linker.springboot_mvc_project_templateimport org.springframework.boot.autoconfigure.SpringBootAppli..
Flutter Web 포트번호 설정 + 휴대폰 혹은 다른 컴퓨터에서 접근하기
·
Programming/FrontEnd
- Flutter 웹 개발 후 IDE 로 실행을 하면 할때마다 포트번호가 다르게 설정이 됩니다.예를들어 포트번호를 8081 로 하고싶다면, 위와 같이 실행환경 설정에서 Additional run args 안에 --web-port=8081 를 추가하면 됩니다. - 웹 프로그램을 실행하고, 같은 컴퓨터의 웹브라우저가 아니라, 휴대폰의 웹브라우저로 접속해서 동작을 확인하고 싶을 때가 있을 수 있습니다. 그럴때는, 커맨드 창을 열어서, ipconfig -all 과 같이 본인 ip 를 확인합니다.위에서 보이는 바와 같이 제 IP 주소는 192.168.0.11 이네요. 참고로, 198.168 로 시작하는 주소는 외부 IP 가 아니라 공유기와 같은 내부에서 할당되는 IP 이므로 위 IP 로 접속 가능한 것은 같은 ..