분류 전체보기

Spring/Spring AOP

Spring AOP 2. 디자인 패턴: 프록시패턴

인터페이스를 직접 구현하면서, 필드에 직접 구현한 인터페이스를 갖고 의존성 주입을 받는다.처음에는 새로 생성하며 그 후에는 저장된 캐시 값을 그대로 사용하여 접근을 제어한다.Spring AOP 로드맵AOP를 학습하기 위해 김영한 강사님의 Spring 고급 편 강의를 듣고 있는데, AOP를 보다 더 완벽하게 이해하기 위해서는 아래의 단계를 따라야 한다. 학습해야 할 내용이 방대하지만 차근차근 나아가보자. 이번 글에서는 Spring이 사용하는 디자인 패턴 중 전략 패턴 그중에서도 프록시 패턴과 데코레티어 패턴을 다룬다. 1. 동시성 문제 - 쓰레드 로컬 2. 전략 패턴 - 템플릿 메서드 패턴과 콜백 패턴 3. 프록시 - 프록시 패턴과 데코레티어 패턴 4. 동적 프록시 5. Spring 지원 동적 프록시 6...

Spring/Spring AOP

Spring AOP 1. 디자인 패턴: 전략 패턴 - 템플릿 메서드 패턴

Spring AOP 로드맵AOP를 학습하기 위해 김영한 강사님의 Spring 고급 편 강의를 듣고 있는데, AOP를 보다 더 완벽하게 이해하기 위해서는 아래의 단계를 따라야 한다.학습해야 할 내용이 방대하지만 차근차근 나아가보자.이번 글에서는 Spring이 사용하는 디자인 패턴 중 전략 패턴 그중에서도 템플릿 메서드 패턴을 다룬다.1. 동시성 문제 - 쓰레드 로컬2. 전략 패턴 - 템플릿 메서드 패턴과 콜백 패턴3. 프록시 - 프록시 패턴과 데코레티어 패턴4. 동적 프록시5. Spring 지원 동적 프록시6. 빈 후처리기7. @Aspect AOP8. Spring AOP템플릿 메서드 패턴(Template Method Pattern)등장 배경템플릿 메서드 패턴은 반복되는 작업의 구조를 표준화할 필요성에서 출..

대외활동/Mash-Up

Mash-Up Spring 최종 합격 후기

Mash-Up 인터뷰 장소는 강남간절함이 통했는지, Mash-Up Spring Team 서류 지원에 합격했다.다른 동아리 활동이 끝나 주말에 한가해졌고, 토요일에 면접을 보게 됐다.Mash Up 인터뷰는 강남역에서 진행됐다.왼쪽 건물인데, 건물이 좀 커서 괜히 압도되는 기분이었다.강남역에 인터뷰 시간보다 2시간 일찍 가서 카페에서 인터뷰 준비를 더 했다. 면접 시작 전, 너무 긴장하지 말고 그냥 편하게 대화하듯이 말해달라는 말씀에 조금 편해졌고, 감사했다.면접에 들어가니 면접관 4분이 계셨고, 나는 다른 분과 함께 들어가서 4:2 면접을 보게 됐다.40 ~ 50분 동안 인터뷰를 진행했는데 기술 질문의 비중이 꽤 됐다.최근에 진행한 프로젝트 위주의 질문을 받았다.기술에 대해 궁금해하고 토론하는 자리라고 해..

대외활동/TAVE

TAVE 12기 수료. 프로젝트 대상 🏆

TAVE 12기 수료전반기에 스터디하던 사람들을 모았던 게 엊그제 같은데, 벌써 TAVE가 끝이 났다. 처음에 바로 회고록을 작성하고 싶었지만, 다른 프로젝트와 겹쳐 바빴어서 이제 작성한다. 프로젝트를 진행하며 정말 많은 우여곡절이 있었다. ECS + 무중단 CI/CD 파이프라인 배포는 날 힘들게 했다. 2주일을 갈아 넣어 결국 성공했다. 2024.02.03 - [CI-CD/AWS] - ECS 무중단 CI/CD 파이프라인: 0. ECS 배포하게 된 배경 팀원들 모두 데모데이 일주일 전부터 잠을 편하게 잔 날이 없다. 잠을 자다가 전날 해결 못한것 때문에 컴퓨터 앞에 앉고, 새벽에 디코에서 모이고 아침에 모이고 밤까지 있고 반복이었다.프로젝트를 진행하며 팀원들과 자주 만나고, 정규 모임(동아리 정규 세션)..

Infra/AWS

AWS ECS 무중단 CI/CD Pipeline 5. GitHub Action CI/CD Pipeline 구축

GitAction을 활용한 자동 배포 설정 가이드 지금까지 매번 수동으로 해줘야했던 작업들을 GitAction을 통해서 자동으로 배포하는 과정을 작성해보겠습니다.이번 글에서는 AWS ECS에 배포하는 과정을 GitHub Actions를 통해 자동화하는 방법을 설명하겠습니다. 1. YAML 파일 생성.github/workflows 디렉토리 아래에 YAML 파일을 생성합니다. 예를 들어 deploy.yaml이라는 이름으로 파일을 생성합니다.2. CI - 지속적 통합 (Continuous Integration)CI는 빌드와 테스트를 진행합니다. 아래 예제에서는 주석을 자세히 달아두었습니다.AWS에서 ECR 에 푸쉬할 정책을 생성합니다.jar 파일을 도커로 이미지로 만들어 ECR에 푸시하는 과정입니다.name:..

Infra/AWS

AWS ECS 무중단 CI/CD Pipeline 4. ECS Service 배포, HTTP Redirect

ECS 생성태스크 정의로 서비스 생성이제 대망의 ECS 서비스를 생성할 차례네요. 전에 설정한 태스크 정의대로 서버를 생성합시다.EC2를 사용하여 시간만큼 결제하는 것이 아닌, 사용한 만큼만 낼 것이므로 서버리스 FARGATE를 사용할 것입니다. 그렇기 때문에 용량 공급자는 그대로 FARGATE를 사용하면 됩니다. 참고로 FARGATE_SPOT는 FARGATE와 거의 유사하지만 할인을 70~80% 해주는 것입니다. 하지만 사용자들이 AWS FARGATE 서버에 요청을 많이 할 경우 서버를 빌려가므로 서버가 다운될 수 있으므로 선택하지 않습니다.배포 구성아래와 같이 서비스 이름을 적어주고, 같은 복제본의 태스크 수를 정해줍니다. 기본은 1로 되어있는데, 무중단 CI/CD를 하기 위해선 최소 2개가 필요해요..

Infra/AWS

AWS ECS 무중단 CI/CD Pipeline 3. 로드밸런서와 리스너, 대상그룹

AWS의 근본은 EC2오늘 생성할 로드밸런서, 리스너, 대상그룹은 모두 EC2에 있는 서비스입니다. 저번 글에서 Domain을 구입하여 서브 도메인 설정을 하고, 인증서를 구매하여 HTTPS 배포를 위한 준비를 마쳤습니다.이번 글에서는 로드밸런서와 리스너, 대상그룹을 생성하여 대용량 트래픽에 맞게 분산시켜 배포해볼게요. 로드밸런서, 보안그룹, 대상그룹을 생성해야합니다.가장 먼저 해야할 것은 대상그룹을 생성하는 일입니다.대상그룹 생성 후 로드밸런서 연결, 로드밸런서와 서비스 연결 순입니다.대상그룹 생성태스크들 또한 private IP로 이루어져 있습니다. 이들과 대상그룹을 매핑해줘야하므로 HTTP로 설정하고, 프로토콜 버전은 가장 호환성이 좋은 HTTP1로 생성할게요.상태검사 프로토콜. HTTP? HTT..

Infra/AWS

AWS ECS 무중단 CI/CD Pipeline 2. Route 53 & ACM 🔥😡🔥

이전 글에서 ECR 생성 및 ECR에 푸시할 수 있는 권한, ECR에 이미지를 푸시하는 방법을 다루었습니다.이번 글에서는 HTTPS를 사용하기 위한 인증서 발급하는 과정과 서브 도메인 등록을 설명할게요.내용이 좀 많은데, 차근차근 따라와주세요. Route 53.. 삽질을 참 많이하게 만든 친구입니다.여기서는 도메인을 이미 구입했다고 가정하겠습니다.저는 docker-ecs.net 이라는 도메인을 갖고 있어 이를 사용할게요. Route 53에서 호스팅 영역 생성호스팅 영역 생성 먼저, Route 53에 들어가서 DNS 관리의 호스팅 영역을 생성합니다. 호스팅 영역이란 주 도메인 및 서브 도메인을 관리하는 데이터베이스라고 생각하면 편해요. Route 53에 접속 후 호스팅 영역을 선택하고 호스트 영역 생성 버..

Infra/AWS

AWS ECS 무중단 CI/CD Pipeline 1. ECS 기본 개념, ECR, Task 정의, IAM, CLI

ECSECS.. 처음에 혼자 구축하다보면 절망하는 순간을 많이 만나게됩니다.저도 실제로 2번 새로 구축해봤는데, 매번 할 때마다 순서, 방법 등 다 까먹게 되더라구요.그래서 프로젝트에 했던 배포 계정 말고, 완전 새로운 계정으로 다시 해봤습니다.저도 나중에 ECS 를 구축할 상황이 올 수도 있고 ECS를 처음 배포하시는 분들도 있을텐데 제 글들이 도움이 됐으면 좋겠습니다~~!!혹시나 궁금한 점 있으시면 댓글이나 toychip7@gmail.com으로 메일 주세요!ECS 기본 개념Amazon ECS(Elastic Container Service)는 컨테이너 관리 서비스를 제공하여 애플리케이션을 쉽게 배포하고 확장할 수 있도록 합니다. ECS의 주요 구성 요소인 Cluster, Service, Task의 차이..

Infra/AWS

AWS ECS 무중단 CI/CD Pipeline 0. ECS 배포하게 된 배경

기존 배포 방식기존 배포 방식과 CodeDeploy의 한계처음에는 단일 EC2 인스턴스에 수동으로 애플리케이션을 배포했습니다. 매번 터미널을 통해 파일을 옮기고 명령어를 실행하는 반복적인 작업은 시간이 많이 소요되고, 작은 실수로도 서비스 장애가 발생할 수 있는 위험한 방법이었습니다.이후 AWS CodeDeploy를 도입하여 자동화를 시도했지만, 서버 장애 시 수동으로 재시작해야 했고, 배포 과정에서 예기치 않은 오류들이 빈번히 발생했습니다.CodeDeploy가 서버 상태를 제대로 감지하지 못해 배포 실패가 발생하면 수동으로 재설정해야 했습니다.이로 인해 배포 과정은 여전히 불안정하고 스트레스가 많았습니다.Docker와 ECS로의 전환이 문제를 해결하기 위해 Docker와 AWS ECS(Elastic C..

토이 개발 스토리
'분류 전체보기' 카테고리의 글 목록 (4 Page)