본문 바로가기

전체 글

(62)
무중단 배포 프로세스 과정에 대한 이해는 있지만항상 프로세스에 대해 설명하기 어려워서 작성해둠무중단 배포 프로세스코드 푸시:변경된 코드를 깃액션 이벤트 브랜치에 푸시합니다.GitHub Actions 트리거:코드 푸시로 인해 GitHub Actions가 트리거됩니다.애플리케이션 빌드 및 아티팩트 업로드가 진행됩니다.배포 트리거:GitHub Actions가 AWS CodeDeploy를 트리거하여 배포를 시작합니다.CodeDeploy 배포 과정:BeforeInstall 훅: 기존 애플리케이션을 중지합니다.AfterInstall 훅: 새로운 애플리케이션 파일을 설치합니다.ApplicationStart 훅: 새로운 애플리케이션을 시작합니다.ValidateService 훅: 애플리케이션 상태를 검증합니다.nginx 업데이트:배포 중에도..
java.lang.RuntimeException: java.lang.IllegalStateException: Connection pool shut down 커넥션 풀 관련 에러가 발생하였고 어디서 발생하는 오류인지 서칭 중https://stackoverflow.com/questions/44130464/java-lang-illegalstateexception-connection-pool-shut-down java.lang.IllegalStateException: Connection pool shut downI am trying to post data to a REST service using Http and I have configured my client as follows: PoolingHttpClientConnectionManager cm = new PoolingHttpClientConnectionManager(); cm.stackoverflow.com..
OOP 객체지향 프로그래밍 개같이 털렸던 지난 면접의 기억과 더불어 새로운 면접을 준비하면서 정리가 필요한 것들이 있어서 차근 차근 공부해보려고한다. https://youtu.be/cg1xvFy1JQQ OOP란 객체지향프로그래밍의 약어로써 데이터를 하나의 Object로 관리하고, 객체와 객체간의 상호작용을 통해 동작하게 한다. 같은 속성의 여러 객체를 만든다고 가정했을 때, 반복된 코드로 여러 객체를 만들 필요없이 Class에서 미리 구조(멤버 필드, 멤버변수)를 작성해두고 이를 생성자(혹은 생성메소드)를 통하여 객체를 쉽게 생성할 수 있다. 즉 Class는 일종의 설계도와 같다. 캡슐화 데이터와 이를 활용하는 메소드를 캡슐 안에 가두는 것을 의미한다. (Java와 JavaScript의 경우에서 캡슐은 하나의 클래스를 의미한다.)..
[항해99] 79일차 - 실전프로젝트 트러블 슈팅 nginx 무중단 배포를 적용하고 나서 handshake error가 생겼다. 이 때문에 websocket을 사용하는 채팅기능이 동작을 안하게 되는데. 현재 proxy pass 동적으로 8081포트 8082포트로 왔다갔다하는 상황. IDLE 상태의 주소가 service-url.inc에 저장이 되고 있으므로 $service_url에서 가져오고 proxy_set_header Upgrade $http_upgrade; proxy_set_header Connection "upgrade"; proxy_http_version 1.1; config에 추가해줬다. 이하 location /socket의 내용이 추가된 부분. 이후 채팅 기능이 정상 작동하는 거 보고 일단 안심. 그런데 자동배포에서 Allow traffic의..
[항해99] 71일차 - WIL 실전프로젝트 주차 중간발표 추석이 지나고...또 실전프로젝트 시작후 3주가 지났다. 기술적으로 엄청난 성장을 이룩할만한 시기라고 생각했는 데 명절을 기점으로 엄청난 배탈과 체력저하로 인한 슬럼프가 찾아와 버렸다. 아무튼 지난 게으름으로 인한 3주간의 실전프로젝트 중간발표까지의 내용을 정리해보려고 한다. 우선 프로젝트는 주제는 팀빌딩 서비스로 정하였고 레이아웃은 웹앱을 기준으로 진행하였다 처음 높은 텐션으로 속도감있게 진행되나 싶었는데 점차 떨어지는 텐션과 개발속도도 점차 늦어지고 있어서 이번 주차에 진행도를 많이 뽑아내야할 것 같다.. 중간발표는 제법 무난하게 잘 끝난 거 같았는데 토요일 이후 이어지는 백엔드 발표에서 피로도를 결국 컨트롤을 못하고 횡설수설하는 바람에 좀 아쉬웠다. 남은 3주차 방향 설정을 다시 한번 해보고 좀 더..
[항해99]49일차 - 일곱번째 WIL 하루가 너무 짧아서 정신이 없다. 지난 프로젝트의 회고는 아래의 링크로 대체. https://camof1ow.tistory.com/55?category=1078038 [항해99]42일차 - 여섯번째 WIL 5주 차 미니 프로젝트를 마치고 나서 생각을 정리해보는 시간을 가져보려고 한다. 첫 협업에서 느낀 아쉬운 점. 1. 소통의 부족. 서로 간의 소통이 부재까지는 아니었지만 서로 맡은 기능만 신경 camof1ow.tistory.com 드디어 실전 프로젝트가 시작되었다. 아직까지는 큰 이견없이 큰 틀을 잡아가는 데 순조롭게 진행되어 가고 있다. 주제 선정과 그에 따른 MVP 설계에 대한 피드백에서 긍정적인 부분을 많이 보아서 따로 갈아엎어지거나 뒤집어진다거나 하는 일은 생기지 않을 거 같다. 일단 무엇보다 ..
[항해99] 46일차 - 클론프로젝트 完 facebook 클론코딩 프로젝트 끝 CI CD에 처음 도전해봤는데 깃 액션 -> S3 -> CodeDeploy -> EC2 까지 이 진행과정에 각 스텝마다 6시간씩 소요된거 같다. 마지막 Shell 스크립트 수정이 진짜 토나왔는데 어떻게 여기저기 가져와서 결국 자동배포 구현에 성공하였다. 환경변수들을 어떻게 처리할지 몰라서 방법을 찾느라고 좀 고생했다. 그냥 EC2에 넣고 --spring.config.location=./application.properties 옵션으로 빌드된 jar를 실행하도록 처리하니까 잘됨 ㅠㅠ 저번주차에 security 로직 짜놓은게 너무 아까워서 다시한번 security와 jwt쪽 맡아서 구현해봤는데 이것만 하기에 너무 아쉬워서 카카오톡 소셜 로그인 구현해봤다. 소셜로그인에 ..
백준 1417 국회의원 선거 JAVA 자료구조 및 브루트포스(BruteForce) https://www.acmicpc.net/problem/1417 1417번: 국회의원 선거 첫째 줄에 후보의 수 N이 주어진다. 둘째 줄부터 차례대로 기호 1번을 찍으려고 하는 사람의 수, 기호 2번을 찍으려고 하는 수, 이렇게 총 N개의 줄에 걸쳐 입력이 들어온다. N은 50보다 작거나 같 www.acmicpc.net Array로 짜나 PriorityQueue로 짜나 시간은 똑같았다. 코드 길이가 확실히 줄어든 PriorityQueue로 정리해보았다. import java.io.BufferedReader; import java.io.IOException; import java.io.InputStreamReader; import java.util.Collec..