본문 바로가기
Develop

[SK Shieldus Rookies 개발 4기] 최종 프로젝트 멘토링일지 #3

by o11117 2025. 11. 29.

매번 느끼지만 주말에 하는 멘토링은 확실히 평일과 다른 것 같다!

 

괜히 조금 더 산뜻한 느낌을 받고 스스로 타협을 하면서 똑같이 버스를 타고 학교로 향했다.

 

멘토님과 반갑게 인사하고 오늘의 할 일을 시작했다.

 

이날 멘토링을 통해 얻은 것은 크게 두 가지였다.

1. 레드마인

 

이전까지는 지라와 깃 프로젝트를 고민하던중 멘토님께서 추천해주신 레드마인이라는 웹 기반 협업도구로, 깃과의 연동도 가능하고 버전관리, 하위 일감, 담당자, 기간 등 다른 협업 도구에 비해서 여러가지 항목들을 정말 디테일하게 조정이 가능하다.

 

이후 온프레미스에 레드마인을 직접 올려 접근하는 형식으로 이용하게 되었다.

나아가서, 이전까지는 깃허브 issue 혹은 label을 통해서 각자의 브랜치를 생성하고 해당 번호로 연결을 했었지만 이제는 레드마인와 접목시켜 사용하기 위해서 레드마인의 태스크 번호를 기준으로 브랜치를 생성하기 시작했다.

Main (통합테스트) - Dev (일반) - 개인 Branch의 세 단계로 나누어 팀원들에게는 매일 오후 5시 오류 존재 여부와 상관없이 개인 브랜치와 Dev 브랜치에 PR을 날려달라고 요청했다.

 

버전을 v0.1, v0.3, v0.5, v1.0 의 4가지로 만들고 각각을 스프린트 0 ~ 4와 연결지어 날짜를 지정했고 매일 데일리 스크럼을 진행하며 금요일 회고를 끝으로 각 버전 변경시점에 내가 팀원들의 코드 리뷰를 진행하고 수정사항과 변경사항을 1차로 고지한 후 수정이 완료된 시점에 main 브랜치에 PR을 진행했다.

다음은 main 브랜치 통합시의 커밋메시지 (혼자 보고 형식 재활용하려고 넣음ㅎ)

 

v0.1 버전 기능 통합 및 메인 브랜치 릴리즈입니다.

신규 기능 및 UI/백엔드 구현
로그인/회원가입 UI 및 API 구현 (Feature 1#, Task 9#, 10#, 11#, 12#)회원 정보 수정 / 회원 탈퇴 API 및 UI 개발 (Task 14#, 16#, 17#)거래내역 API 개발 (Task 18#)관심종목 API 개발 (Task 22#)Portfolio / Holding / Stock Entity 생성 및 CRUD 구현 (Task 28#, 35#, 36#, 39#, 40#)밸류체인 관계(StockRelation) CRUD 개발 (Task 42#)종목 뉴스 API 연동 (Task 33#)
데이터 수집 / 인프라
데이터 수집 레이어 구축 (Feature 29#)WebSocket 기반 실시간 데이터 MongoDB 연동 (Task 30#)데이터 아카이브 로직 구현 (Task 31#)인프라 구성도 작업 (Feature 37#, Deploy 38#)
테스트
위 기능 전체 통합 테스트 완료main 브랜치 배포 가능 상태 확인
기타본 릴리즈는 v0.1 초기 안정 버전으로,이후 v0.2에서는 리밸런싱 로직 및 추천 모델 연동이 예정되어 있습니다.
연결된 일감Feature #1 / #29 / #37Task #9 / #10 / #11 / #12 / #14 / #16 / #17 / #18 / #22 / #28 / #30 / #31 / #33 / #35 / #36 / #39 / #40 / #42Deploy #38

v0.5 버전 기능 통합 및 2차 메인 브랜치 릴리즈입니다.
AI 모델 및 데이터 파이프라인 구축NLP 및 뉴스 분석: 뉴스 기사 크롤링 및 FinBERT 감성 분석, ES 저장 (Task #44, #46, #47)
GCN 및 밸류체인: ValueChain 구축, GCN 피처 생성 및 구체화 (Task #48, #50, #51)
예측 및 추천 모델: 투자성향 알고리즘, 종목 외 추천, 자동 트레이딩 및 Boost Model 예측 테스트 (Feature #80, #97, Task #52, #54, #92)
데이터 인프라: Feature Store 구축, 리포트/공시 데이터 전처리 및 저장, Kafka 전송 (Feature #72, Task #73, #74, #98, #107)
주식 정보 및 트레이딩 기능 (KIS API)KIS API 연동: 주식 잔고, 현재가, 거래량 순위, 투자자 동향 및 기간별 시세 조회 (Feature #57, Task #61, #84, #85, #88, #89)
실시간 데이터: KIS 실시간 체결가 웹소켓 구독 및 관리 (Task #93, #103)
UI/UX 개발 (프론트엔드)메인 및 공통: 상단 메뉴, 메인 페이지 실시간 주가/투자자 동향/뉴스 검색 구현 (Feature #4, #7, Task #71, #79, #94)
주식 상세 페이지: 차트 UI, 재무제표 데이터, 뉴스 API 및 실시간 주가 웹소켓 연동 (Feature #5, Task #26, #32, #34, #100, #101, #104)
포트폴리오 및 히스토리: 포트폴리오 페이지 API 연결 및 히스토리 리포트 UI (Feature #6, #8, Task #82, #86, #90)
백엔드 코어 및 최적화기능 구현: 히스토리 리포트 CRUD, 포트폴리오 종목 삭제 (Task #41, #91)
최적화 및 보안: 코드 리팩토링(중복 제거), DB 조회 최적화(N+1 문제), API Key 암호화 (Feature #95, Task #96, #99, #105)
배포 및 인프라1차 배포: 백엔드/프론트엔드 서비스 배포 및 상호 연결 완료 (Feature #110, Task #111, #113, #115)
기타본 릴리즈는 v0.5 버전으로 AI 모델(NLP/GCN) 탑재 및 KIS API 기반의 실시간 트레이딩 기초 환경이 통합되었습니다.
차트 UI 및 재무제표 시각화, 포트폴리오 분석 기능이 포함되어 있습니다.
연결된 일감Feature #4 / #5 / #6 / #7 / #8 / #57 / #72 / #80 / #95 / #97 / #110 Task #26 / #32 / #34 / #41 / #44 / #46 / #47 / #48 / #50 / #51 / #52 / #54 / #61 / #71 / #73 / #74 / #79 / #82 / #84 / #85 / #86 / #88 / #89 / #90 / #91 / #92 / #93 / #94 / #96 / #98 / #99 / #100 / #101 / #103 / #104 / #105 / #107 / #111 / #113 / #115

v1.0 버전 정식 릴리즈입니다.
AI 모델 및 시각화 AI 서비스 연동: AI 추천/예측 결과 API 연결 및 포트폴리오 AI 연동 (Feature #132, #142, Task #118, #134) 데이터 시각화 및 알고리즘: 버블 차트 API 및 UI 연결, 포트폴리오 리밸런싱 및 하이퍼파라미터 최적화 (Task #53, #59, #121, #133)
데이터 인프라 및 백엔드 코어 실시간 파이프라인: StockCollector & Kafka 연동, 데이터 레이크 분 단위 적재 (Feature #106, Task #116, #117, #136) WebSocket 최적화: WS 서버 백엔드 통합(구조 단순화), 실시간 체결가 Consumer 구현 (Task #122, #131) 보안 및 안정성: WS 연결 시 JWT 인증 추가, 로그 정리 및 트랜잭션 관리 개선 (Task #119, #143)
주식 정보 및 트레이딩 기능 실시간 데이터: KIS 실시간 호가(Orderbook) 수신 및 처리 (Task #123, #125) 주문 및 알림: 지정가 매수 구현, 목표가 알림 로직 및 거래내역 관리 (Task #128, #129, #140)
UI/UX 개발 (프론트엔드) 트레이딩 UI: 주문창 및 관심종목 UI 설계 및 개발 (Task #120, #130) 정보 시각화: 목표가 알림 설정 UI, 히스토리 수익률 그래프 연결 (Feature #109, Task #127, #141)
배포 및 인프라 최종 배포: AI/BE/SC 서비스 파드 배포 및 상호 연결 완료 (Feature #135, Task #137, #138, #139)
기타 본 릴리즈는 v1.0 정식 버전으로 Kafka 기반의 실시간 데이터 처리와 AI 모델의 결과물이 서비스에 완전히 통합되었습니다. 실시간 호가 기반의 지정가 주문 시스템과 목표가 알림 기능이 추가되었습니다.
연결된 일감 Feature #106 / #109 / #132 / #135 / #142 Task #53 / #59 / #116 / #117 / #118 / #119 / #120 / #121 / #122 / #123 / #125 / #127 / #128 / #129 / #130 / #131 / #133 / #134 / #136 / #137 / #138 / #139 / #140 / #141 / #143

 

2. 데이터 흐름 플로우 구성

 

우리 스스로도 뒤죽박죽이었다. 팀원들이 질문했을 때 바로 설명이 가능할만큼 머리로는 직관적으로 알고 있었고 물론 그림도 그려봤지만, 다시 한 번 화이트보드 앞에 서서 멘토님과 함께 흐름을 정리해봤을 때는 다음과 같이 나왔다.

멘토님과 함께 그려본 데이터 흐름 시각화

 

가능한 멘토링 시간을 유익하게 쓰고싶어 질문도 많이 드리고 열심히 들은 결과 뒤죽박죽 되어있던 파이프라인들이 깔끔하게 하나로 정리가 되어 그 기세를 몰아 깔끔한 이미지로 만들 수 있었다. 다음은 그 결과물이다.

데이터 구조

 

Datalake를 통해서 모은 체결 데이터 (MongoDB)
서비스 구성

이때부터는 서비스의 윤곽이 모두 나와서 팀원들과의 대화를 통해 모두의 지식수준을 평준화하고 역할분담을 통한 개발에 더 깊이 몰두할 수 있었다.

 

이때 멘토링의 필요성을 절실히 느끼지 않았나 생각한다.

 

우리 모두 화이팅!