할 때마다 까먹어서 정리하는 PSQL 접속 방법

Intro 가끔 필요한 일이 돌아왔다. 데이터베이스에 직접 접속해서 뭔가를 변경 해야 한다. Docker 네트워크 내에서만 통신하고 외부로는 바인딩도, 포트 포워딩도 되어 있지 않으니, 번거롭게 다시 설정 하고 컨테이너 재시작 할 필요 없이 컨테이너 내부에 접속해서 바로 변경하면 되겠군. 얼른 마칠 생각을 하며 PostgreSQL 이 떠 있는 컨테이너에 접속하는중 docker exec -it postgres_container bash 이제 psql을 써볼까나..? psql 명령어와 함께 손에 익은 옵션을 기계적으로 붙이는중 psql -U postgres 앗.. postgres 유저가 없다..? 참. 나는 다른 이름으로 유저명을 지정했지 유저명을 변경해 재시도 하는 중 psql -U my_user_name..

Data/PostgreSQL 2023.01.04
스프링 Stereotype 어노테이션 @Component @Controller @Service @Repository 차이점

Intro 스프링기반 프로젝트를 만들다 보면 기계적으로 필요에 따라 각종 어노테이션을 붙이게 됩니다. 컨트롤러에는 @Controller를, 서비스 레이어에는 @Service를, 그리고 데이터베이스에 접근하는 퍼시스턴스 레이어에서는 @Repository를 붙였습니다. 그 외 어플리케이션 컨텍스트에 빈으로 등록 하고 싶은데 특별한 설정 절차가 필요 없어서 컴포넌트 스캔을 통한 자동 등록이면 충분 할 때에는 @Component를 붙여 왔습니다. 그런데, 사실 Bean 으로 등록되어 후에 Dependency Injection에 사용된다는 공통점을 생각 해 보았을 때는 "전부 @Component"로 해도 되는거 아니야?" 라는 생각이 들 수 있습니다. 각각의 차이도 모른채 습관적으로만 사용하고 있는게 사실입니다...

Programming/JPA ⁄ Spring 2022.12.30
[Ubuntu] 우분투에서 우분투 설치 USB 드라이브 만들기

Intro 전에는 MacOS 및 Windows 에서 우분투 설치 드라이브를 만들었었는데, 이번에 우분투 설치 드라이브를 만들어 야 할 일이 생겼는데 사용중인 컴퓨터가 마침 우분투라서 그 과정을 정리 해 보았습니다. 윈도우나 맥북에서 했던 것 보다 훨씬 쉽고 간단하게 생성이 가능했습니다. 1. 우분투 다운로드 https://ubuntu.com/download/desktop 링크에 접속해 원하는 버전의 우분투를 다운 받습니다. 저는 Ubuntu 22.04.1 LTS Desktop 버전을 다운 받았습니다. 서버용도로 사용할 게 아니라면 Desktop 버전을 다운 받으면 됩니다. 다운받은 파일은 총 3.6 GB 입니다. 2. Startup Disk Creator 설치 부팅 가능한 설치 디스크를 생성 하기 위해서..

IT ⁄ Computer/Linux 2022.12.29
[IntelliJ IDEA] 파일 생성시 라이센스 정보 자동으로 입력하기

Intro 정책상 모든 코드에 라이센스 정보를 입력 해야 하는데, 이게 여간 귀찮은 일이 아닙니다. 심지어 종종 까먹고 빼먹는 일도 있기 때문에 한번씩 모든 코드를 검사해서 일괄적으로 등록 하곤 했었는데 아에 파일 생성시 자동으로 입력 되도록 등록을 해 보려고 합니다. How to 다행히도, 인텔리제이에서 제공하는 File and Code Template 기능을 활용 하면 어렵지 않게 설정이 가능합니다. Setting > Editor > File and Code Template 로 들어갑니다. 그러면 위와 같은 화면이 나오는데, 가장 먼저 상단의 Scheme을 선택해서 File template이 적용될 스코프를 선택 합니다. Default: 전체 어플리케이션에 설정합니다. 현재 사용하는 인텔리제이를 통해..

Development/Develop Tools 2022.12.23
무료 SSL 인증서 발급받아 HTTPS 적용하기

Intro 보통 토이프로젝트를 개발 하면 사람마다 다르겠지만 보통은 아래와 같은 순서로 조금씩 발전하게 됩니다. 로컬에 프로젝트를 띄워봅니다. 가장 기본적인 첫 단계 입니다. 각자의 컴퓨터에서 친구들과 같이 개발하기 위해 외부 DB를 연동 합니다. AWS RDS가 가장 쉽지만 잘못하면 비용이 무지막지하게 청구 될 수 있으니 보통 안쓰는 컴퓨터를 서버로 사용하곤 합니다만 방화벽 및 포트포워딩과의 전쟁이 처음 펼쳐집니다. 2단계 치고는 꽤 매콤한 편 입니다. 개발한 프로젝트를 계속 띄워 놓고 싶습니다. 어디서든 접근할 수 있었으면 해서 띄워둡니다. DB서버 띄워놓는 것 처럼 안쓰는 윈도우 PC에 IDE나 외장 톰캣 혹은 스프링 부트를 jar 파일로 바로 띄워놓고 24시간 컴퓨터를 켜 둡니다. 2단계에서 방화..

Development/DevOps 2022.12.14