전체 글
-
Nginx 무중단 배포AWS 2023. 11. 10. 14:46
참고 : 스프링 부트와 AWS로 혼자 구현하는 웹 서비스 1. 엔진엑스 설치와 스프링 부트 연동하기 # 엔진엑스 설치 sudo yum install nginx # 엔진엑스 실행 sudo service nginx start 엔진엑스가 현재 실행 중인 스프링 부트 프로젝트를 바라볼 수 있도록 프록시 설정을 한다. sudo vim /etc/nginx/nginx.conf nginx.conf proxy_pass - 엔진엑스로 요청이 오면 http://localhost:8080로 전달합니다. proxy_set_header XXX - 실제 요청 데이터를 header의 각 항목에 할당합니다. - 예) proxy_set_header X-Real-IP $remote_addr: Request Header의 X-Real-IP..
-
Travis CI 배포 자동화 (Travis CI repository 연동 오류)AWS 2023. 11. 9. 16:10
참고 : 스프링 부트와 AWS로 혼자 구현하는 웹 서비스 CI (Continuous Integration - 지속적 통합) : 코드 버전 관리를 하는 VCS 시스템(Git, SVN 등)에 PUSH가 되면 자동으로 테스트와 빌드가 수행되어 안정적인 배포 파일을 만드는 과정 모든 소스 코드가 살아 있고(현재 실행되고) 누구든 현재의 소스에 접근할 수 있는 단일 지점을 유지할 것 빌드 프로세스를 자동화해서 누구든 소스로부터 시스템을 빌드하는 단일 명령어를 사용할 수 있게 할 것 테스팅을 자동화해서 단일 명령어로 언제든지 시스템에 대한 건전한 테스트 수트를 실행할 수 있게 할 것 누구나 현재 실행 파일을 얻으면 지금까지 가장 완전한 실행 파일을 얻었다는 확신을 하게 할 것 CD (Continuous Deploy..
-
EC2 서버에 프로젝트 배포하기 (EC2 ./gradlew test 무한 로딩, nohub java ~ application-real-db.properties 오류)AWS 2023. 11. 9. 13:50
참고 : 스프링 부트와 AWS로 혼자 구현하는 웹 서비스 1. EC2에 프로젝트 Clone 받기 # EC2에 깃 설치 sudo yum install git # 설치 상태 확인 git --version # git clone으로 프로젝트를 저장할 디렉토리 생성 mkdir ~/app && mkdir ~/app/step1 # 생성된 디렉토리로 이동 cd ~/app/step1 # git clone 진행 git clone 복사한 주소 # 코드 정상 수행 확인 ./gradlew test # -bash: ./gradlew: Permission denied # 하기 명령어로 권한 부여 후 ./gradlew test chmod +x ./graldew ※ ./gradlew test EC2 중단 현상 해당 명령어 실행 시 E..
-
Mac/Linux EC2 서버 접속하기AWS 2023. 11. 8. 11:31
참고 : 스프링 부트와 AWS로 혼자 구현하는 웹 서비스 SSH 접속 명령어 ssh -i pem 키 위치 EC2의 탄력적 IP 주소 위 명령어 대신 쉽게 ssh 접속을 할 수 있도록 하기와 같이 설정 1. 키페어 pem 파일을 ~/.ssh/로 복사 ~/.ssh/ 디렉토리로 pem 파일을 옮겨 놓으면 pem 키 파일을 자동으로 읽어 접속 진행 이후부터는 별도로 pem 키 위치를 명령어로 지정할 필요가 없게 됨 cp pem 키를 내려받은 위치 ~/.ssh 2. pem 키의 권한 변경 chmod 600 ~/.ssh/pem 키 이름 3. pem 키가 있는 ~/.ssh 디렉토리에 config 파일 생성 vim ~/.ssh/config 4. config 파일 수정 Host: 앞으로 접속할 키 (ex. Host ab..
-
git .gitignore 적용 오류, 히스토리 삭제Git 2023. 11. 8. 10:47
application-oauth.proerties에 client-id, client-secret 값이 포함되어 있어 gitignore에 해당 파일명을 추가하였다. 추가 후 push 했지만 ignore가 적용되지 않고 git에 application-oauth.proerties 파일이 올라간 상황 .gitignore .gradle .idea application-oauth.properties application-oauth.proerties spring.security.oauth2.client.registration.google.client-id=xxxxxxxxxx spring.security.oauth2.client.registration.google.client-secret=xxxxxxxxxx sprin..
-
구현 알고리즘 : 외벽 점검 - 파이썬 (python)알고리즘/구현 2021. 11. 4. 22:21
https://programmers.co.kr/learn/courses/30/lessons/60062 코딩테스트 연습 - 외벽 점검 레스토랑을 운영하고 있는 "스카피"는 레스토랑 내부가 너무 낡아 친구들과 함께 직접 리모델링 하기로 했습니다. 레스토랑이 있는 곳은 스노우타운으로 매우 추운 지역이어서 내부 공사를 하 programmers.co.kr * 아이디어 1 👎 (1) weak 배열 간의 거리를 구한다. 예를 들어, 테스트케이스 1의 경우에는 weak = [1, 5, 6, 10] 이므로 (외벽의 길이 n = 12) weak 배열 간의 거리 weak_gap = [4, 1, 4, 3] 이 된다. (2) weak_gap에서 가장 큰 값 다음 인덱스부터 가장 큰 값 앞까지 순회한다. 위의 경우에는 weak_..
-
백준 15686번 : 치킨 배달 - 파이썬 (python)알고리즘/구현 2021. 11. 3. 21:56
https://www.acmicpc.net/problem/15686 15686번: 치킨 배달 크기가 N×N인 도시가 있다. 도시는 1×1크기의 칸으로 나누어져 있다. 도시의 각 칸은 빈 칸, 치킨집, 집 중 하나이다. 도시의 칸은 (r, c)와 같은 형태로 나타내고, r행 c열 또는 위에서부터 r번째 칸 www.acmicpc.net * 파이썬 조합 (combinations) from itertools import combinations를 import한 후 combinations(반복 가능한 객체, 뽑을 개수)로 사용 from itertools import combinations data = [[0, 1], [0, 3], [1, 1]] comb = list(combinations(data, 2)) prin..
-
구현 알고리즘 : 기둥과 보 설치 - 파이썬 (python)알고리즘/구현 2021. 11. 2. 22:04
https://programmers.co.kr/learn/courses/30/lessons/60061 코딩테스트 연습 - 기둥과 보 설치 5 [[1,0,0,1],[1,1,1,1],[2,1,0,1],[2,2,1,1],[5,0,0,1],[5,1,0,1],[4,2,1,1],[3,2,1,1]] [[1,0,0],[1,1,1],[2,1,0],[2,2,1],[3,2,1],[4,2,1],[5,0,0],[5,1,0]] 5 [[0,0,0,1],[2,0,0,1],[4,0,0,1],[0,1,1,1],[1,1,1,1],[2,1,1,1],[3,1,1,1],[2,0,0,0],[1,1,1,0],[2,2,0,1]] [[ programmers.co.kr * 아이디어1 → 구현 실패 (1) 2n 크기의 배열을 0으로 초기화하여 새로 생성..