728x90
반응형

전체 글 154

[Docker, Jenkins] 도커 젠킨스 빌드, 실행하면서 에러 발생 시 해결방법 모음 (권한 오류, COPY 오류, Container는 정상이나 접속 안될 때 등)

AWS ec2 인스턴스 위에 Jenkins, Docker를 활용해 Springboot CI/CD 자동화를 진행하던 도중, Docker와 Jenkins 를 처음 사용할때 겪었던 많은 오류와 오랜 시간이 걸려 찾아낸 해결방법을 남겨두고자 한다. 스택은 아래와 같다. Java 11 Springboot Docker Jenkins AWS ec2 1. (젠킨스 빌드 시) 도커 Permission denied 에러 docker logs로 Permission 문제인지 확인해본다. 이때 디렉토리의 권한을 부여해 주어야 한다. sudo chown 1000 2. (젠킨스 빌드 시) 도커 COPY 에러(ARG) 젠킨스로 ec2 인스턴스 위에 Springboot를 배포하려 했을때, 경로를 못찾거나 아래 오류가 나타날 때가 있다..

Tech/Docker 2022.10.14

C++ 문자열 관련 함수, 알고리즘 모음 (코테 준비)

C++은 자바 파이썬에 비해 문자열처리가 아무래도 좀 약하다.. 문제를 풀면서 자주 썼고 쓸만한 함수와 알고리즘을 모아두려 한다. (계속 추가 예정) 1. 공백 or 특정 문자 제거하기 단순히 공백을 제거하는 방법 c++ remove 함수는 요소를 삭제하지만, 삭제된 개수만큼 길이가 줄어드지 않는다. 즉 뒤의 요소를 하나씩 이동시키는 방식이다. 따라서, remove로 특정 문자를 제거해준뒤, erase로 비어있는 공간을 삭제해주면 된다. str.erase(remove(str.begin(), str.end(), ' '), str.end()); 2. char 숫자 int 로 빠르게 변환 '0' 을 빼주는 방식으로 구현하면 빠르게 변환이 가능하다! string str = "51" int k = str[0] -..

Language/C++ 2022.09.20

[BOJ] 백준 14500 테트로미노 c++ (구현, 백트래킹)

문제 출처 : https://www.acmicpc.net/problem/14500 14500번: 테트로미노 폴리오미노란 크기가 1×1인 정사각형을 여러 개 이어서 붙인 도형이며, 다음과 같은 조건을 만족해야 한다. 정사각형은 서로 겹치면 안 된다. 도형은 모두 연결되어 있어야 한다. 정사각형의 변 www.acmicpc.net 풀이 백트래킹을 사용하여 쉽게 해결할 수 있다. dfs로 가장 간단하게 탐색을 진행할 수 있다. 그러나 dfs로 4칸을 모두 찾는 단순한 문제인줄 알았는데, ㅓ ㅜ ㅓ ㅗ와 같은 케이스가 있다. 이 경우는 따로 처리하여 해결하였다. 코드 #include #include using namespace std; int N, M; int dx[4] = {1, -1, 0 , 0}; int d..

Tech/Algorithm 2022.07.21

[DB 구축] AWS RDS 구축하기 (MySQL)

1. DB 생성 (1) RDS 생성 AWS 접속 후 RDS를 검색 - 데이터베이스 생성 클릭! (2) DB 엔진 사양, 정보 선택 필자는 MySQL로 진행하였다. (3) 템플릿 및 DB 설정 필자는 프리티어로 진행했다. 마스터 계정을 생성해주자! 프리티어의 경우 버스터블 클래스로 선택된다. (4) 연결 설정 외부 접속을 위해서 퍼블릭 엑세스를 예로 해주었다. 필자의 경우, 보안 그룹을 새로 생성해주었다. (5) DB 이름 지정 필자의 경우, 암호 인증으로 하였으며 초기 데이터베이스 이름은 꼭 지정해주자! 이제 생성 버튼을 누르고 기다려주자! 2. 기타 설정 (1) AWS EC2와 연결 먼저 ec2에서 접속하기 위해 포트를 열어주어야 한다. 보안 그룹 - 인바운드 규칙으로 접속하자. 인바운드 규칙을 아래와..

Tech/Server 2022.04.08

[리눅스 환경 Server 개발] Let's Encrypt로 HTTP HTTPS로 변환하기

오랜만에 블로그를 써본다!! 그동안 과제와 설계에 죽어나는 3학년 인생을 살고있었다.. 현재 구축해둔 서버 환경은 다음과 같다. OS: Ubuntu 18.04 (LTS) -> AWS EC2로 클라우드 연결 웹서버 : Nginx BL : PHP DBMS : MySQL 도메인 구축 및 DNS 레코드 설정 완료(가비아로 등록) Let's Encrypt란? - 무료의 TLS/SSL 인증서를 쉽게 가져오고 설치할 수 있는 방법을 제공하는 CA(인증 기관) - 웹 서버에서 암호화된 HTTPS를 사용할 수 있음 (1) Certbot 설치 우선 Certbot를 위한 repository를 추가해보자. $ sudo apt update $ sudo apt upgrade $ sudo add-apt-repository ppa:..

Tech/Server 2022.03.31

[스프링 핵심 원리] 웹 스코프

지금까지 싱글톤과 프로토타입 스코프에 대해 알아보았는데, 웹 스코프에 대해 알아보자. 싱글톤 : 스프링 컨테이너의 시작과 끝까지 프로토타입 : 생성과 의존관계 주입, 초기화까지만 웹 스코프는 웹 환경에서만 동작한다. 프로토타입과 다르게 스프링이 해당 스코프의 종료시점까지 관리한다. (종료 메서드가 호출됨) 웹 스코프의 종류에 대해 알아보자. request : HTTP 요청 하나가 들어오고 나갈 때까지 유지, 각각의 HTTP 요청마다 별도의 빈 인스턴스가 생성, 관리 session : HTTP Session과 동일한 생명주기 가짐 application : 서블릿 컨텍스트(ServletContext)와 동일한 생명주기를 가지는 스코프 websocket : 웹 소켓과 동일한 생명주기를 가지는 스코프

Tech/Spring 2022.02.06

[스프링 핵심 원리] 프로토타입 스코프

싱글톤 스코프의 빈을 조회하면 스프링 컨테이너는 항상 같은 인스턴스의 스프링 빈을 반환한다. 반면 프로토타입 스코프를 스프링 컨테이너에 조회하면 스프링 컨테이너는 항상 새로운 인스턴스를 생성해서 반환한다. 스프링 컨테이너는 프로토타입 빈을 생성하고, 의존관계 주입, 초기화까지만 처리한다. 클라이언트에 빈을 반환하고, 이후 스프링 컨테이너는 프로토타입 빈을 관리하지 않는다. 따라서 프로토타입 빈을 관리할 책임은 빈을 받은 클라이언트에 있다. 그래서 @PreDestory 같은 종료 메서드가 호출되지 않는다. 프로토타입 스코프 빈을 조회하는 prototypeBeanFind()를 실행하면 아래와 같은 결과가 나온다. @Scope("prototype") find prototypeBean1 PrototypeBean..

Tech/Spring 2022.02.02

[BOJ] 백준 4963 섬의 개수 c++ (bfs)

문제 출처 : https://www.acmicpc.net/problem/4963 4963번: 섬의 개수 입력은 여러 개의 테스트 케이스로 이루어져 있다. 각 테스트 케이스의 첫째 줄에는 지도의 너비 w와 높이 h가 주어진다. w와 h는 50보다 작거나 같은 양의 정수이다. 둘째 줄부터 h개 줄에는 지도 www.acmicpc.net 풀이 dfs, bfs 모두 사용 가능하며 bfs로 해결하였다. 코드 #include #include #include using namespace std; int w, h; int arr[50 + 1][50 + 1]; bool check[50 + 1][50 + 1]; queue q; int dx[8] = {-1, 1, 0, 0, 1, 1, -1, -1}; int dy[8] = {..

Tech/Algorithm 2022.01.24
728x90
반응형