서론
07/18 ~ 09/10 : 기업 참여 프로젝트(파이널 프로젝트)
08/18 : 기업 참여 멘토링 / 휴가
08/19 : 도커 및 배포 설정 / 강사님 멘토링
08/20 : 도커 및 배포 설정
08/21 : 백엔드 기능 구현 및 병합 / 기업 참여 멘토링
08/22 : 백엔드 기능 구현 및 병합
1. 파이널 프로젝트
Swagger 환경도 구성하여 테스트 코드를 쉽게 볼 수 있게 만들었습니다.
> 다른 기능
도커 환경을 구축하면서 FlaskAPI도 MSA 측면에서 최선의 방법이 서비스는 물리적으로 분리하고 호출은 NewsService로 경유하는 방법이 좋다는 결론을 내렸습니다.
Flow: ( FE -> Gateway -> NewsService -> FlaskAPI )
1. 서비스는 물리적으로 분리(Flask ↔ Spring)해 자원/배포/장애 측면에서 안정적으로 유지
2. 호출은 캐시/중복/버전/권한/로그 처리 등은 도메인 일관성과 보안 이유로 NewsService로 경유 채택
팀 프로젝트에서 깃허브 시스템을 활용하는 것은 매우 좋은 점이라는 것을 알게 되었습니다. 코드 수정에 있어 발생하는 문제점들이 모여서 팀원들과 작은 트러블이 생기고, 진행 상황에 영향을 미쳤습니다.
대책으로 서로 코드를 확인하고 리뷰를 쓰는 것은 매우 좋은 방법인 것 같습니다.
또, 계획을 스크럼이나 마일스톤으로 관리하면 계획을 진행하고 달성하는 것에 확실한 책임이 생겨 도움이 되고 팀원과 공유할 수 있어 서로의 진척률도 확인 할 수 있습니다.
이런 방법들은 개발에 온전히 집중할 수 있는 기틀을 마련해줍니다.
도커 서버를 구축하고 하이브리드 개발환경을 만들었습니다.
하이브리드 개발환경에서 Config Server로부터 받은 IDE에서 local 프로필로 서비스를 실행했으나, 아래와 같은 문제가 발생했습니다.
- 원인: Config Server로부터 받은 Docker용 설정(discovery-service:8761)이 로컬 IP 설정을 덮어써서 Eureka 서버를 찾지 못함.
해결 방안으로 IDE 실행 설정에서 아래 환경 변수를 직접 추가해 로컬 설정을 강제로 주입해주었습니다.
EUREKA_CLIENT_SERVICEURL_DEFAULTZONE=http://localhost:8761/eureka/
SPRING_CONFIG_IMPORT=optional:configserver:
그렇게 한순간 해결되었습니다.
그런데 Config만 중앙서버로 관리하며 구동하다보니 서버가 정상적으로 작동하지 않을 때가 생겨 간간히 테스트용으로 Config서버를 중앙 서버로 실행했고, 각자 로컬환경으로 개발을 하기로 했습니다.
2. 마무리
꾸준함으로 생긴 지식들이 자리를 잡아가면서 개발적인 부분에서 대화를 나눌 수 있게 되어 좋았습니다. 자격증 공부를 소홀히 한 것이 아쉽습니다.
꾸준함을 잃지 않고 마무리하는 것이 좋을 것 같습니다.
교육과정 마지막까지 프로젝트에 힘쓰도록 할 예정입니다.
프로젝트: 요약 기능 프런트 병합 / 코드 최적화 및 보수
IR 발표
이력서, 자소서 작성