분류 전체보기 30

Gradle QClass 에러

Spring Boot 프로젝트에서 JPA를 동적으로 사용하려면 QueryDSL이라는 의존성을 추가하여 사용한다.이는 QClass를 이용하는데 빌드할 때 이를 생성한다. 하지만 빌드할때마다 뭔가 꼬여서 recreate를 하는데 에러가 발생하는데 이를 해결하기 위해서는 다음과같이 빌드 및 실행을 gradle이 아닌 intellij idea로 변경해주면 해결된다. (안된다면 clean 수동으로 해주고 다시 빌드해보기)

Jenkins CI/CD with github

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..

Back-End 2024.06.07

Docker에 nginx 컨테이너 올리기

Docker에 nginx를 올리는 방법은 다음과 같다. // 5121 포트로 들어가면 nginx가 받아서 80포트로 넘겨준다. docker run -dit --name {name} -p 5121:80 nginx 하지만 이렇게 올리면 nginx 컨테이너의 bash로 들어가서 정적파일들을 특정 장소에 위치시켜줘야한다. nginx 컨테이너 bash에 들어가는 방법은 다음과 같다. docker exec -it {컨테이너이름} /bin/bash -exec는 뒤에 명령어를 실행 하는 것 or docker attach {컨테이너이름} -바로 컨테이너에 들어가는 것 -it 명령어는 컨테이너 속 터미널 입력을 할수 있도록 하는데 터미널에서 /bin/bash를 실행해서 bash shell로 들어갈수 있다. 하지만 볼륨을 ..

기타 2024.03.28

[디자인 패턴] 전략(Strategy) 패턴이란?

전략 패턴(strategy pattern) 또는 정책 패턴(policy pattern)은 실행 중에 알고리즘을 선택할 수 있게 하는 소프트웨어 디자인 패턴이다. 전략패턴은 다음과 같은 이점이 있다. 비슷한 동작을 하지만 다르게 구현되어 있는 행위(전략)들을 공통의 인터페이스를 구현하는 각각의 클래스로 구현하고, 동적으로 바꿀 수 있게 함 직접 행위에 대한 코드를 수정할 필요 없이 전략만 변경하여 유연하게 확장 1. 공통의 기능을 명시한 인터페이스를 생성한다. 2. 기능에 맞게 1번의 구현 클래스들을 생성한다. 3. Context 클래스 생성 및 인터페이스를 저장하는 메소드와 인터페이스의 메소드를 실행하는 메소드를 생성한다. 위의 UML을 보고 간단한 결제 시스템 예제를 통해 코드를 이해해보자. inter..

CS/디자인 패턴 2023.11.28