전체 글 29

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

[디자인 패턴] 싱글턴 패턴이란?

싱글턴 패턴이란 객체의 인스턴스가 오직 1개만 생성되도록 제한하는 패턴이다. 싱글턴의 장점은 다음과 같다. 하나의 객체만 생성되며 추후 해당 객체에 접근할 때 불필요한 메모리 낭비를 방지 할 수 있다. 전역으로 공유하기 때문에 다른 클래스의 인스턴스들이 데이터를 공유하기 쉽다는 장점이 있다. DBCP, 스레드풀, 캐시, 로그 기록 객체 등에 이용된다. 여기서 DBCP란 DataBase Connection Pool을 의미한다. Connection Pool이란 DB Connection 객체를 여러개 생성 한 후 Pool에 담아놓고 필요할 경우 불러와서 사용하기 위한 것이다. DB에서 데이터를 가져올 경우 먼저 드라이버를 로드하고 커넥션 객체를 받아오는 일련의 과정이 필요하지만 사전에 만들어 놓는다면 커넥션 ..

CS/디자인 패턴 2023.11.27