Spring Boot 프로젝트에서 JPA를 동적으로 사용하려면 QueryDSL이라는 의존성을 추가하여 사용한다.이는 QClass를 이용하는데 빌드할 때 이를 생성한다. 하지만 빌드할때마다 뭔가 꼬여서 recreate를 하는데 에러가 발생하는데 이를 해결하기 위해서는 다음과같이 빌드 및 실행을 gradle이 아닌 intellij idea로 변경해주면 해결된다. (안된다면 clean 수동으로 해주고 다시 빌드해보기)
jenkins에는 여러 종류의 Job이 있습니다.가장 많이 쓰이는 것은 Freestyle Project이지만 최근에 간편하게코드 하나로 CI & CD가 구현이 되는 Pipeline을 사용하였습니다.Create jenkins pipelineDashboard > new Item 에서 Pipeline 선택 후 이름 지정 (ex : jenkins_pipeline)만든 pipeline에서 Configuration 진입GitHub Projcet : your repo -> 이것을 이용해 해당 레포에 푸쉬를 인지Pipeline speed/durability override - Perfomance-optimizedBuil Triggers에 GitHub hook trigger for GITScm polling 선택Pipe..
Docker에 nginx를 올리는 방법은 다음과 같다.// 5121 포트로 들어가면 nginx가 받아서 80포트로 넘겨준다.docker run -dit --name {name} -p 5121:80 nginx하지만 이렇게 올리면 nginx 컨테이너의 bash로 들어가서 정적파일들을 특정 장소에 위치시켜줘야한다.nginx 컨테이너 bash에 들어가는 방법은 다음과 같다.docker exec -it {컨테이너이름} /bin/bash -exec는 뒤에 명령어를 실행 하는 것ordocker attach {컨테이너이름} -바로 컨테이너에 들어가는 것-it 명령어는 컨테이너 속 터미널 입력을 할수 있도록 하는데 터미널에서 /bin/bash를 실행해서 bash shell로 들어갈수 있다.하지만 볼륨을 이용해서 로컬에있..
Obsidian에 코드를 복붙하면 코드 사이사이 엔터가 두번 되는 현상이 있는데 Reddit에서 해결방법을 찾았다!Ctrl + Shift + V 를 하면 그대로 복붙이 된다!
전략 패턴(strategy pattern) 또는 정책 패턴(policy pattern)은 실행 중에 알고리즘을 선택할 수 있게 하는 소프트웨어 디자인 패턴이다. 전략패턴은 다음과 같은 이점이 있다. 비슷한 동작을 하지만 다르게 구현되어 있는 행위(전략)들을 공통의 인터페이스를 구현하는 각각의 클래스로 구현하고, 동적으로 바꿀 수 있게 함 직접 행위에 대한 코드를 수정할 필요 없이 전략만 변경하여 유연하게 확장 1. 공통의 기능을 명시한 인터페이스를 생성한다. 2. 기능에 맞게 1번의 구현 클래스들을 생성한다. 3. Context 클래스 생성 및 인터페이스를 저장하는 메소드와 인터페이스의 메소드를 실행하는 메소드를 생성한다. 위의 UML을 보고 간단한 결제 시스템 예제를 통해 코드를 이해해보자. inter..
싱글턴 패턴이란 객체의 인스턴스가 오직 1개만 생성되도록 제한하는 패턴이다. 싱글턴의 장점은 다음과 같다. 하나의 객체만 생성되며 추후 해당 객체에 접근할 때 불필요한 메모리 낭비를 방지 할 수 있다. 전역으로 공유하기 때문에 다른 클래스의 인스턴스들이 데이터를 공유하기 쉽다는 장점이 있다. DBCP, 스레드풀, 캐시, 로그 기록 객체 등에 이용된다. 여기서 DBCP란 DataBase Connection Pool을 의미한다. Connection Pool이란 DB Connection 객체를 여러개 생성 한 후 Pool에 담아놓고 필요할 경우 불러와서 사용하기 위한 것이다. DB에서 데이터를 가져올 경우 먼저 드라이버를 로드하고 커넥션 객체를 받아오는 일련의 과정이 필요하지만 사전에 만들어 놓는다면 커넥션 ..