부트캠프 15

[TIL] - MSA 프로젝트 구조 복습 및 생각 정리

Ch2 - MSA 학습 (MSA 프로젝트 구조 및 흐름 복습) 배운 것제공 받은 MSA 강의를 다 들었지만, 분산화된 서비스 애플리케이션을 연결하고 관리하는 기술들인 Eureka Server, API Gateway, Config Server 등을 어떻게 설정하고 흐름은 어떻게 되는지에 관한 개념들이 파편화 되어 있어서 오늘은 프로젝트를 만들어보면서 하나씩 연결하고 설정해보는 시간을 가졌다. 내일부터는 로컬환경에서 만든 프로젝트를 어떻게 관리하고 배포해야 하는지 공부하고 정리하면 좋을 것 같다. 클라이언트가 요청을 하고 응답을 받는 과정을 정리하면 다음과 같다. 1. 클라이언트가 API Gateway로 HTTP 요청을 보낸다.2. API Gateway는 이 요청을 받아 처리하며, 요청 URL과 미리 설정된..

[TIL] - Spring Cloud Gateway 적용하기

Ch2 - MSA 학습 (Spring Cloud Gateway 적용 및 내부 구조 정리) 배운 것각 도메인 별로 서비스 어플리케이션을 만들어서 Eureka Server에 등록하여 사용하는 방법을 배웠다. 하지만 클라이언트가 서비스별 API를 요청하려면 각 서비스의 URL을 직접 입력해서 들어가야 한다. 이는 클라이언트 측에서 여러 서비스의 엔드포인트를 관리해야 하는 번거로움을 초래하고, 서비스의 위치가 변경될 때마다 클라이언트 코드를 수정해야 하는 유지보수 문제를 야기한다.API Gateway를 통해 클라이언트에게 단일 진입점을 제공함으로써 요청을 적절한 서비스로 라우팅하고, 공통 기능을 중앙에서 처리할 수 있게 된다. 또한, 보안, 로깅, 모니터링, 요청 필터링 등을 처리한다. 이해한 흐름은 다음과 같..

[TIL] - Microservice Architecture 기본 학습

Ch2 - MSA 학습 (Spring Cloud, 서킷브레이커, API Gateway, Config 등) 배운 것제공 받은 MSA 강의를 듣고 있다. 오늘 공부한 내용은 서킷브레이커, API Gateway, 보안구성, Config 설정에 대해 공부했다. 꽤 이전부터 소프트웨어 아키텍처 방식이 Anti-fragile, Cloud Native 개념이 주목받고 있다. 시스템이 로컬에서 클라우드로 이전되었고 확장성과 안정성이 더 강화되었으며 이로 인해 지속적인 변경사항에 유연하게 대응할 수 있게 됐다. Cloud Native를 구성하는 요소Microservices: 독립적으로 배포 가능한 작은 서비스들로 구성.Containers: 애플리케이션과 그 종속성을 캡슐화하여 일관된 환경 제공.CI/CD: 지속적인 통합..

10주차 실전프로젝트 중간 회고

기간 : 03/14 (금) ~ 03/20 (일) MVP 기능 구현 & 오류 해결 & 중간발표 준비 MVP 기능을 다듬고 발생하는 오류를 수정, 중간발표 준비 배운점 기간 안에 빠르게 MVP 기능 구현에 집중하다보니 테스트 코드를 작성하지 않아서 발생하는 문제가 많았다. 다른 코드를 수정하면 기존에 짠 코드에 영향을 미치게 되며 잘 실행됐던 api도 어느순간 오류가 발생하는 것을 경험했다. 간결하게 코드를 작성하되 테스트 코드를 잘 짜는 것도 중요함을 느꼈다. 내 코드뿐만 아니라 팀원들이 작성한 코드에 대한 이해도 잘 하고 있어야겠다. 프로젝트를 꾸준히 진행하다보니까 간결한 코드, 리팩토링에 관심이 많아졌다. 어떻게 하면 더 이해하기 쉬운 코드를 작성할 수 있을지 배워야겠다. 새로운 기술도 중요하지만.. ..

8~9주차 실전 프로젝트 중간 회고

기간 : 02/25 (금) ~ 03/13 (일) 프로젝트 기획 & 팀원들과 협업 & MVP 기능 개발 3주차에 있을 중간발표 전까지 빠르게 기획을 마무리하고 MVP 기능을 구현, 팀원들의 역할 분담, 리더로서 역량 다지기 이번주 내가 배운 것 백앤드 MVP 기능 구현 (서비스에 꼭 필요한 기능을 빠르게 구현하기) 로그인, 회원가입, 인증메일 발송, 유저정보 api 구현 레벨업, 챌린지 중간 참가로직 구현, 유저별 챌린지 성공-실패 여부 조회 로직 구현 서버 배포 및 프론트와 테스트 진행 프론트와 연결 중 발생한 오류 해결 협업 매일 회의 때 각자 진행상황 공유 및 TODO 공유 대략적인 전체 일정 정한 후 일주일 단위로 스프린트 진행하려고 노력 계획한 것 보다 더 많은 오류와 추가적인 사항들이 계속해서 ..

6주차 미니프로젝트 회고

기간 : 02/11 (금) ~ 02/17 (목) 이번 주차 주제 : 협업 & 하나의 프로젝트 구현 개인 목표 : FrontEnd와의 커뮤니케이션, API, DB 명세서 구체화 자신이 쓴 코드에 이유가 있는 것, 왜 이렇게 접근할 생각을 했는지, 이 방식을 선택한 근거가 있는지, 더 나은 방법을 위해 무엇을 찾아봤는지? 생각하며 코드를 구현하기 이번주 내가 배운 것 백앤드 API를 만들고 프론트와 연결하는 방법 CORS 설정 JWT를 이용한 로그인 구현 Swagger 설정 프로젝트에서 DB 모델링 및 연관관계 적용하기 배운점 처음으로 프론트엔드와 협업을 진행했다. 혼자서 구현하는 것보다 더 구체적으로 API와 요청, 응답 메시지를 설정해야할 필요성을 느꼈다. 또한 API를 설계할 때 프론트와 같이 모여서 ..