전체 글66 NginX를 적용한 로드밸런싱 적용 및 웹 소켓 로드 밸런싱 1️⃣ NginX의 특징 ✅ 1. 비동기 이벤트 기반 아키텍처 - NginX는 이동기 이벤트 기반(Asynchronous, Event-driven) 모델을 사용하여 높은 성능을 제공 - Apache(쓰레드 기반)와 달리, 하나의 워커 프로세스가 비동기적으로 다수의 요청 처리 가능 - 결과적으로 동시에 많은 요청을 처리할 수 있어 CPU와 메모리 사용량이 적음 ✅ 2. 정적 콘텐츠(HTML, CSS, JS) 제공 최적화 - NginX는 정적 파일(HTML, CSS, JS 이미지 등) 제공이 빠름 - 캐싱 기능을 활용하면 서버 부하를 줄이고 응답 속도를 개선 가능 ✅ 3. Reverse Proxy & Load Balancing 지원 - 리버스 프록싱(Reverse Proxy) : 클라이언트의 요청을 받아서 .. 2025. 1. 31. AWS 프로젝트 배포과정 Intro : 이번에 프로젝트를 AWS에서 EC2로 배포를 하였는데, 블로그와 GPT 참조를 해서 배포만 해보았지 정리를 하여서 나중에 배포를 할일이 다시 생길때를 대비해서 다시 정리하기로 했습니다. ✅ 사용한 AWS 서비스 * EC2 : 애플리케이션 서버 운영 (Tomcat 기반) * RDS : 데이터베이스 관리 (MySQL/MongoDB) * S3 : 정적 파일 저장 (이미지 동영상) * 그외 : CloudFlare : HTTPS 적용 및 DNS 관리 ✅ 프로젝트 배포 단계1. AWS 계정 생성 후 IAM 사용자 및 권한 설정https://ap-northeast-2.signin.aws.amazon.com/oauth?client_id=arn%3Aaws%3Asignin%3A%3A%3Aconsole%2F.. 2025. 1. 31. 깃허브 액션에 대해서 * GitHub Acitons : GitHub 저장소에서 CI/CD(Continuous Integration / Continuous Deployment)를 자동화할 수 있는 도구.즉 코드 변경이 있을 때 빌드, 테스트, 배포 등의 작업을 자동으로 수행할 수 있도록 도와주는 기능. 1. GitHub Actions의 핵심 개념 : GitHub Actions는 이벤트 기반으로 동작. 즉, 특정 조건이 충족되면 자동으로 실행. 1) Workflow - GitHub Acitons에서 실행되는 자동화 작업 단위. - github/workflows/ 디렉터리에 yaml 파일로 저장됨. 2) Event ( 이벤트 ) - GitHub Actions가 언제 실행될지 결정하는 조건이다. - Ex) push : 코드.. 2025. 1. 30. 프로그래머스 LV2 ( 디펜스 게임 ) https://school.programmers.co.kr/learn/courses/30/lessons/142085 프로그래머스SW개발자를 위한 평가, 교육, 채용까지 Total Solution을 제공하는 개발자 성장을 위한 베이스캠프programmers.co.kr * 남은 병사수와 무적권의 횟수를 잘 사용하여 최대로 막을 수 있는 횟수를 반환하면 되는 문제.* 처음에는 병사수를 최대한 사용하고 무적권을 사용하면 되는줄 알았다.* 그렇게 구현하기 쉽지않았고 결국 문제 풀이를 보니까 pq를 사용한 풀이였다.* enemy 배열을 순차적으로 한개씩 가져와서 문제를 풀어야한다. ( 적은 인덱스 0번부터 접근하니까 )* enemy 배열에 접근을 순차적으로 해서 무적권 갯수만큼은 pq에 저장하고 continue 한.. 2025. 1. 30. 인게임 제한시간 구현사항 1. GameController에 ready 메소드, start 메소드, sendQuiz 메소드, checkQuiz 메소드가 존재. -> Solid 원칙은 클래스(또는 컴포넌트)는 하나의 책임만 가져야 하며, 단일 변경 사유만 있어야 합니다. 라는 사유를 지키기 위해서 QuizController에 sendQuiz 메소드와 checkQuiz 메소드를 분리해서 코드 복잡성을 줄임. 2. Create Quiz 버튼을 누르는순간 WebSocket과 통신을 하여 문제를 가져와야함. -> 문제를 가져오는 순간에 모든 클라이언트에 30초 제한시간( 실시간 )과 남은퀴즈를 -1 감소 시켜야함. 1) 시간과 남은 퀴즈 감소는 js 코드에서 구현. 2) 저장한 문제를 가져오는것은 Spring에서 구현 -> Create.. 2025. 1. 23. 프로그래머스 뒤에 있는 큰 수 찾기 ( LV 2 ) https://school.programmers.co.kr/learn/courses/30/lessons/154539?language=java 프로그래머스SW개발자를 위한 평가, 교육, 채용까지 Total Solution을 제공하는 개발자 성장을 위한 베이스캠프programmers.co.kr * 문제 제목 그대로 뒤에 있는 숫자중 가장 큰 숫자를 고르는 것이다. + 제일 가까이 있는 숫자중에서.* 처음에는 BruteFroce를 돌려서 현재 숫자보다 큰 숫자가 등장하면 break를 걸고 결과를 갱신하는 코드를 작성했는데 시초가 났다.* 아무리 짱구를 굴려봐도 답이 안나와서 GPT한테 물어봤다. * Stack을 활용하면 O(N) 시간 복잡도로 끝낼수 있다.* 알고리즘 흐름을 설명하면. 1) numbers 길이.. 2025. 1. 21. 이전 1 2 3 4 5 6 7 8 ··· 11 다음