일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | |||
5 | 6 | 7 | 8 | 9 | 10 | 11 |
12 | 13 | 14 | 15 | 16 | 17 | 18 |
19 | 20 | 21 | 22 | 23 | 24 | 25 |
26 | 27 | 28 | 29 | 30 | 31 |
- 스파르타내일배움캠프WIL
- Flutter
- 코딩테스트
- til
- 스파르타내일배움캠프
- 개발자블로그
- 99클럽
- 중심사회
- 스파르타코딩클럽
- 국비
- 자바
- wil
- 백준
- 99일지
- 컴퓨터구조론 5판
- 컴퓨터개론
- 소프트웨어
- 프로그래머스
- 개발자스터디
- Python
- 부트캠프
- java
- 운영체제
- 개인공부
- MySQL
- 내일배움캠프
- 스파르타내일배움캠프TIL
- Spring
- 항해
- AWS
- Today
- Total
목록개발자블로그 (15)
컴공생의 발자취
Keyword1. docker-compose envfile env 파일을 나누는 이유는? 이전의 백엔드 배포 로컬의 인텔리제이에서 docker 이미지를 만들었기 때문에 properties-secrets.yml이 포함되어 이미지가 만들어졌다. 이렇게 되면 public 도커허브에 올려놓은 이미지를 받아서 환경변수를 볼 수 있다. 그럼 보안상 문제가 생긴다. 또한, 환경변수가 도커 이미지에 들어가 있다면 CI/CD에서 환경변수 변경 시 매번 도커 이미지를 다시 만들어서 EC2에서 도커 이미지를 받은 다음 실행시켜야 하는 번거로움이 존재한다. 그래서 추후 CI/CD를 위해서도 환경변수는 분리해 놓아야 관리가 편하기 때문에 env 파일로 분리할 것이다. .env 파일 생성 * 해당 과정은 EC2 인스턴스에서 ..
Keyworddockerdockerfilecompose(app, db)nginx(react deploy) -> 현재 적용되지 않은 사안nginx(reverse proxy) Docker 이란? 왜 사용할까? (장점)환경 일관성: 개발, 테스트, 프로덕션 환경에서 동일한 컨테이너 이미지를 사용하기 때문에 "내 로컬에서는 잘 돌아가는데..." 같은 문제가 발생하지 않습니다.이식성: 컨테이너는 운영체제에 독립적이기 때문에, 어디에서나 동일하게 동작합니다. AWS, GCP, Azure 등 어떤 클라우드 환경에서도 동일한 컨테이너를 실행할 수 있습니다.신속한 배포: 애플리케이션과 종속성을 하나의 패키지로 묶어 배포하기 때문에, 새로운 환경에서 빠르게 애플리케이션을 배포할 수 있습니다. 핵심 개념컨테이너: 소프트웨..
🔥 문제 상황ECS를 생성할 때 튜터님과 함께 설정했음에도 불구하고 컨테이너가 정상적으로 시작되지 않고 계속해서 재시작하는 상황이 발생했다. NLB(Network Load Balancer)의 헬시 상태가 뜨지 않아 문제가 발생하고 있었다. 👀 고민 및 시도한 내용ECS 생성 과정은 다음과 같이 진행했다.태스크 생성클러스터 생성NLB 그룹 생성NLB 생성서비스 생성NLB의 헬시 상태가 나타나지 않아서 몇 가지를 고민하며 시도했다:보안 그룹에서 443 포트를 제거상태 검사를 완화포트가 8080이 잘못된 건가 싶어 80으로 변경오토 스케일링 그룹과 상태 검사를 맞춰보기현재 ECS가 프라이빗 서브넷에 연결되어 있었기에 ACL을 변경 💡 해결 방법문제를 해결하기 위해 다음과 같은 과정을 진행했다.문제가 ..
📌 문제 상황Jenkins 내부에 Docker CLI를 설치했으나, 다음과 같은 권한 문제로 인해 Docker 명령어 실행이 불가능했다.ERROR: permission denied while trying to connect to the Docker daemon socket at unix:///var/run/docker.sock: Head "http://%2Fvar%2Frun%2Fdocker.sock/_ping": dial unix /var/run/docker.sock: connect: permission denied 해당 문제는 Jenkins가 Docker 데몬에 접근할 수 있는 권한이 없어서 발생했다. 🤔 고민 및 시도한 내용 1. Jenkins 컨테이너 내부 접속먼저, Jenkins 컨테이너에 ..
프로젝트를 진행하면서 기한을 맞추기 위해 초기의 코드들은 전부 JPA를 사용했다. 근데 기한에 맞추기 위한 코딩을 하다보니 하나의 쿼리를 조회하면 N+1문제로 무수히 많은 쿼리가 생성되었다. 이를 개선하기 위해 팀원들과 의논 후 기간이 한정되어 있기에 조회부분만 QueryDSL을 도입했다. 그 결과 전체 성능이 51.39% 향상되었다. 성능 향상 후 비교했던 기능은 상품 조회, 마이페이지, 채팅방 조회 이렇게 3개의 기능이었다. 해당 포스팅은 어떤 점에서 문제가 발생했으며 최적화 전후의 성능 차이를 비교한다. 성능 문제점초기의 JPA만 사용한 코드는 빠르게 진행하는 데에 도움이 되었지만, 성능 저하를 발생시켰다. 특히 상품 전체 조회, 마이페이지 내 상품 조회, 채팅방 조회 등과 같이 조회 부분에서 두드..