WEEK 18 나만무 폴리싱 TIL(7월14일 월요일)

Devkty·2025년 7월 16일

[목표]
기술적 챌린지 정리
프로젝트 요약 및 본인 커밋 및 댓글 기반 본인 기여도 분석 요약 Ai 기능 추가(거의 완료)
진행 장표 작성(윤호, 권호형 것만)
더미데이터 생성(진혁이형 진행중)
커서와 함께 전체 요약 및 자신의 기여도 페이지 만들기

10:30 ~ 12:00

커서와 함께 전체 요약 및 자신의 기여도 페이지 만들기 중입니다. 전에 작성한 프롬포트를 사용했습니다.

정민코치님이 KDT관련해서 인터뷰 요청을 하셨다.

12:00 ~ 13:30

식사를 롯데리아에서 하고 머리를 자르고 왔다.

13:30 ~ 14:30

멘토님 만날 준비를 하고 대기했다. 그러나 멘토님은 오시지 않았다. 그래서 그냥 개발하기로 했다.

Codeplanner 목적/시나리오 목적

Jira와 같은 이슈트레킹을 학습하고 각 기업들에 이슈처리 프로세스를 벤치마킹하여 소규모, 대학생 등의 소단위 프로젝트에 도입할만한 이슈트레킹 서비스이다. 추가 기능으로 Ai를 통한 이슈 자동 생성, 코드 품질 검사를 통해 편리함을 제공하기도 한다. (+ 자신의 프로젝트에 대한 정리도 제공)

흐름

  1. 회의록을 통해서 PM이나 조장이 AI 자동화로 이슈 생성
  2. 백로그에는 이슈 담당자가 배정이 안되있는 것들에 대해 모음이다. (칸반엔 없음)
  3. 해당 이슈는 Todo에 등록되고 담당된 팀원에 알람이 간다. 프로젝트의 흐름을 파악할 필요가 있기 때문. (다른부서 협업)
  4. 담당자를 배정하면 해당 담당자와 관리자에게 알람이 간다.
  5. 담당자가 개발자라면 커밋을 하므로써 In Progress 단계로 전환된다.
  6. 커밋을 통해 코드 품질 검사가 완료되면 In Review 상태로 넘어간다. 관리자에게 알림이 전송되고 리뷰를 한다. 이때, 리뷰어는 다른 팀(디자인, 개발, PM 등)일 수 있다. (백로그 삭제)
  7. 리뷰를 하는 단계에서 멘션을 통해 해당 부서나 조직에 알림을 보낼 수 있다. (커뮤니티) 문제사항들에 대해 해결을 한다.
  8. 거부시, In Progress 상태로 롤백되고 작업이 완료되면 다시 리뷰를 받을 수 있다. (해당과정 루프 가능)
  9. 허용시, PR까지 해서 완벽하게 이슈가 완료되었다면 Done으로 이동된다. 삭제?

+Story같은 경우 딸린 테스크가 완료되면 Story도 Done된다.
이거는 태스크랑 서브테스크로만 관리

+버그도 비슷하게 처리할 것인가?
포함하자. 하나의 이슈로 추가할 수 있다.

상황

PM과 개발자가 하나의 소프트웨어 개발 프로젝트를 진행하는 상황이다. 상황극은 X.

  1. PM이 회의를 통해서 작성한 회의록으로 이슈 자동화를 통해 이슈를 생성한다.
  2. 해당 이슈들에 대해 백로그로 간다. 그러면 이슈들에 대해 담당자를 알맞게 배정한다.
  3. 담당자와 관리자가 배정되면 Todo로 이동되며 해당 인원에게 알람이 간다.
  4. 담당 개발자는 커밋을 하므로써 In Progress 단계에 접어들게 된다. (여기서 커밋시 자동으로 넘어가는것에 대해 말씀드리기, 수동도 가능)
  5. 여러 커밋을 통해서 코드 품질 검사까지 완료된다면(코드품질검사를 꼭 통과 안되도 가능하다), In review 상태로 변환이 되서 관리자에게 알람이 가서 컨펌을 받는다. 해당 단계에서 PR도 포함한다.
  6. 컨펌 결과 거부가된다면, In progress 상태로 롤백되고 담당개발자는 재작업을 한다. 재작업이 완료되면 In review 상태로 옮겨서 다시 컨펌 받을 수 있다. (여부에 따라 해당 과정이 루프를 돌 수 있다.)
  7. 컨펌 결과가 통과된다면, 담당 개발자가 병합 충돌까지 해결해서 올린다. 모두 완료된 이슈라면 Done으로 이동한다.

다음주 멘토님께 여쭤볼꺼:

다른 팀 크래프톤 멘토님 말씀 들어보면 크래프톤에서 권장하는 Ai 사용법 프롬포팅, 어떻게 개발하는가? 에 대한 내용이 있다는데 해당 자료나 이야기를 들어볼 수 있을지? 더욱 효과적으로 사용하기 위해 알고 싶다.

14:30 ~ 16:00

진행장표제출을 위해 작성할 내용을 나누었다.

명석: Ai 이슈 자동생성기 프롬포팅 최적화, 마이페이지 뒤로 가기 픽스, 내이슈 수정
권호: 진행장표를 위한 기술적 챌린지 작성(칸반보드), 프로필 정보 수정(접속한 계정), 칸반보드 좌우 이동 개선
진혁: 프로젝트를 발표 위한 더미데이터 입력.
윤호: 진행장표 제출을 위한 기술적 챌린지(코드 검사기), 코드검사기 마무리.

그리고 내일 AWS 오피스 아워 신청 완료했다. 내 시스템에 대해 질문 해봐야겠다.

이슈 모달창 삭제 버그가 있어서 수정했다.
summaryai를 제작하고 있다.
멘토님이 16시에 30분만 미팅할 수 있냐하셔서 진행하기로 했다.

멘토링 (16:00 ~ 16:40)

ai 에이전트를 어떻게 활용할 수 있는 플랫폼인지 확인해보기.
ai 에이전트와 융합할 플랫폼을 개발하는게 좋다.

에이전트 최적화
구글에서는 html이 구리기 때문에 GPT가 이해할 수 있을만한 새로운 포맷을 개발하고 있다.

서비스에 AI가 쓸 수 있는가? 어떻게 잘 활용할 수 있는가?
본인이 업무에 Ai를 써야하는데,

수요일 피드백받고 해당 내용에 금요일날 오전 11시쯤

크래프톤도 지라를 쓴다. 어떻게 워크플로?
→ 팀의 업무나 이슈를 관리하기 위해 사용한다. 하루의 티켓. 하나의 큰 프로젝트를 관리하기 위해 사용. 팀마다 쓰는 법이 다르다고 한다.

16:40 ~ 17:10

유윤선 코치님께서 내일 AWS 오피스 아워에 궁금한 내용이나 주제에 대해 작성하여 제출하라고 하셔서

[내일 여쭤볼 내용]
주제: 현재 제가 구축한 AWS 시스템에 대한 전체적인 평가를 받고, 개선 방안에 대한 조언을 얻고 싶습니다.


1. AWS를 다음과 같이 구축하였고, EC2는 프론트 엔드와 백엔드를 Nginx를 사용하여 통신하는데, 현업에서도 사용하는 방식인지 알고 싶습니다.
2. 현재 구성방식에서 더 높은 가용성을 위한 개선 방법과 현업에서는 어떻게 구축하는지 알고 싶습니다.
3. 현재 ALB를 사용하면 ALB를 통해 구축된 EC2는 main 업데이트 시에 수동으로 업데이트를 해야하는데, 개선할 방법에 대해 알고 싶습니다. (자동 업데이트 되게 구현 가능할지?)
4. 현재 과부하 테스트를 k6를 통해 수행하는데, k6는 EC2 한대에서의 루프 테스트 밖에 안됩니다. 도메인 기반 과부하 테스트를 통해 ALB까지 테스트 할 수 있는 AWS 서비스가 있는지 알고 싶습니다.
(즉, 과부하 테스트를 통해 유저 사용자 수가 급증할 때, 동적으로 EC2가 만들어지는걸 눈으로 확인하고 싶습니다.)
5. 현재는 EC2 실시간 모니터링 및 CMD SSH를 통한 pm2 log를 확인하는 방법을 사용하고 있는데, AWS 상태에 대해서 효과적으로 확인할 방법이 있을지 알고 싶습니다. (실시간 모니터링이 반영이 느립니다)
6. S3 버킷 연동? 추가해도될지. 이미지, 동영상 업로드 때문에 사용할 것 같다.

이후에는 멘토님께 프롬프트 비법에 대해서 미리 여쭤보았다.

17:10 ~ 18:00

나만무 관련 필독 내용

[나만무 포스터 인쇄 공지]반드시 요청 기간과 시간을 지켜서 제출 해 주세요.

  • 인쇄요청기간 : 7/21(월) ~ 7/23(수)
    • 평일 10시 ~ 19시 내 요청 필요
  • 요청방법
    • 교육생이 개별 메일 발송 및 이상 유무 확인(광교복사 / ggcopy@naver.com / 031-211-0777)
      • 메일 제목에 “정글 8기 / 요청자 성명” 입력 필수
      • 메일 본문에 하단 내용 기재 필
        • 성명 :
        • 연락처 :
        • 출력수량 : 1부

7월 23일(수)까지 반드시 제출하셔야 합니다. 파일 형식 및 해상도와 관련된 세부 사항은 컴파스에 안내된 내용을 참고해 주세요.

[나만무 필수 제출 자료 안내]다음 자료들은 반드시 7월 23일(수)까지 제출해 주세요.

  • 최종 발표 자료
    • 발표용 PPT
    • 포스터
    • 발표 영상
  • 진행 상황 최종 공유 자료
    • 반드시 컴파스에 업로드된 형식에 맞춰 제출해 주세요.
    • 내용이 부실하면 안됩니다.

세부 사항은 컴파스에 안내된 내용을 참고해 주세요.


먼저, 월요일 진행장표를 제출해야하므로 우선 제작 해보겠다. 팀원들 내용만 합치면 된다.
기술적 챌린지는 권호형과 윤호형 것만 병합해서 제출했다.

18:00 ~ 19:00

식사를 하고 왔다.

19:00 ~ 02:15

Summary Ai 구현 중

아까전에 이어서 요약과 기여도 페이지를 만들고 있다. 프로젝트 전체 흐름 요약에 관한 내용이 부족해서 이슈와 커밋 내역 기반으로 목적/주요 기능/핵심 기술/최근 작업/해결한 문제/남은 과제 등을 요약하도록 바꾸었다.

팀원분들이 올린 내역을 서버에 올렸다.
권호형과 윤호형꺼만 올렸고, 권호형꺼만 문제없었다.

프로젝트 전체 요약 Ai가 503 오류가 많이 나와서 이슈/커밋/댓글에 대한 프롬프트 제한을 최근 30개로 제한했다.

그냥 머리가 너무 아프다 기능들이 커져서 나중에 한번에 요약 해보겠다.

지금 PR과 커밋 때문에 기여도 분석이 제대로 되지 않는 문제가 있는데, 어떻게 할지 고민중이다.
일단 그전에 AI 요약 내용들을 보관할 기능을 넣어야한다.

merge먼저 하고 오늘은 끝내야 겠다.

  • 프로젝트 전체 요약

    프로젝트 목적

    코드 협업 및 프로젝트 관리를 효율적으로 지원하는 웹 기반 플랫폼을 구축합니다.

    주요 기능

    기능명설명
    이슈 관리이슈 생성, 수정, 삭제, 담당자 배정, 태그 관리, 칸반 보드 지원
    프로젝트 관리프로젝트 생성, 팀 관리, 사이드바 프로젝트 이동 기능
    깃허브 연동깃허브 인증, 레포지토리 연결, 웹훅 설정, PR 요청, 커밋 연결, 코드 분석
    알림 기능이슈 담당자 배정, 백로그 및 할당된 이슈 알림, 알림 삭제 및 전체 보기
    요약 기능프로젝트 전체 요약, 기여도 분석, 최근 활동 조회
    사용자 관리로그인, 회원가입, 비밀번호 재설정, 이메일 초대
    코드 분석커밋별 코드 분석, pull request 분석
    협업 기능이슈 댓글, 마감일에 따른 시각적 피드백

    핵심 기술

    • React (Frontend)

    • Node.js (Backend - 추정)

    • Nginx (Reverse Proxy, CORS 설정)

    • AI (이슈 자동 생성, 기여도 분석)

    • Github API

      최근 집중한 작업

    • 칸반 보드 기능 개선 (가로 스크롤, 필터링)

    • 이슈 관련 기능 개선 (담당자 추가, 모달 변경, 한글화)

    • AI 기반 기능 추가 (이슈 자동 생성, 기여도 분석)

    • 알림 기능 개선 (삭제, 전체보기, 백로그 알림)

    • 코드 분석 기능 (특정 커밋 이력 분석, PR 분석)

    • 로그인/회원가입 UI/UX 개선 및 유효성 검사

    • 깃허브 연동 관련 기능 개선 (PR 요청, 커밋 연결)

      해결한 문제

    • CORS 오류 해결

    • 이슈 카드 수정 불가 버그 수정

    • 배포 오류 수정

    • 이메일 오류 수정

    • 로그인 페이지 관련 오류 수정

    • 칸반 보드 관련 오류 수정

    • API 호출 URL 변경 문제 해결

    • 프로젝트 리스트 화면 잘림 문제 해결

    • Invite 페이지 오류 해결

    • 깃허브 연동 문제 해결

    • 커밋 연결 관련 오류 수정

    • Summary 페이지 문제 해결

    • 이메일 초대 기능 관련 문제 해결

      남은 과제

    • 설정 페이지 팀 관리 권한 설정 및 팀원 관리 변경

    • 마이페이지 기능 추가

    • 마이페이지 깃허브 인증 후 문제 해결

    • 요약 페이지 개선

    • 내 이슈 페이지 리팩토링 및 정렬 기능 추가

    • 코드 페이지 UI/UX 개선

    • 타임라인 페이지 개선

    • 지라 연동 테스트

      참고

      CORS 문제 해결을 위해 Nginx 설정이 여러 번 수정 및 롤백되었습니다. CI/CD 파이프라인 구성 및 배포 자동화에 노력을 기울이고 있습니다. 백엔드 API URI 변경이 있었습니다.

  • 팀원 피드백

    팀원 피드백 요약

    강점

    • 현재 피드백만으로는 명확한 강점을 파악하기 어렵습니다. 다만, 팀원들이 이슈 해결 및 개선을 기대하고 있다는 점에서 문제 해결 능력에 대한 잠재력을 보여줍니다.

      개선점

    • 문제 상황에 대한 구체적인 설명 부족: 팀원들은 이슈 해결 및 개선을 요청하고 있지만, 문제의 원인이나 심각성에 대한 정보가 부족하여 우선순위를 정하거나 효과적으로 대응하기 어려울 수 있습니다. 앞으로는 이슈 발생 시, 문제의 원인, 영향 범위, 예상되는 해결 방안 등을 명확히 제시하는 것이 좋습니다.

    • 일정 관리 및 진행 상황 공유 부족: 팀원들이 "빨리 해결해주세요" 또는 "빨리 해주세요"와 같이 재촉하는 것은 현재 진행 상황에 대한 정보가 부족하거나, 예상 완료 시점을 알 수 없어 불안감을 느끼기 때문일 수 있습니다. 이슈 해결 과정을 주기적으로 공유하고 예상 완료 시점을 알려주면 팀원들의 불안감을 해소하고 협업 효율성을 높일 수 있습니다.

    • 피드백 반영 노력 부족: 팀원들은 개선점을 제시하고 있지만, 개선이 어떻게 반영될지에 대한 확신이 부족해 보입니다. 피드백을 적극적으로 수용하고, 개선 계획을 공유하며, 변경 사항을 명확하게 설명하여 팀원들의 참여를 유도하는 것이 중요합니다.

      한줄 총평

    • 현재는 문제 해결 능력에 대한 잠재력을 보여주지만, 명확한 정보 공유와 적극적인 피드백 반영을 통해 팀원들과의 소통을 강화해야 합니다.

  • 전체 내용

    1. 서비스 구조 및 설계 의도

    • 완전 분리 모듈화: summaryai 전용 모듈(Service/Controller/DTO/알고리즘)로 기존 코드와 충돌 없이 독립 운영

    • 원클릭 분석: projectId만 전달하면 owner/repo, userId→github_login 매핑 후 자동 데이터 수집·정제·통계·AI 요약·UI/리포트 제공

    • 통합 분석 항목:
      - 내 기여도 (커밋·PR·이슈·댓글)
      - 협업 스타일
      - 프로젝트 요약 & 타임라인
      - 팀원 피드백

      2. 주요 기능별 상세 구현

    1. 데이터 수집·정제

      • repository_url 파싱으로 owner/repo 추출
      • userId→github_login 자동 조회
      • 이슈·댓글·커밋·PR 등 GitHub 활동 데이터 수집
      • 내 활동 필터링 (Co-authored-by 커밋 제외)
      • [MERGE] 커밋 포함 여부 옵션화
    2. 통계 계산

      • 개인 vs 전체 활동 집계 (이슈·PR·커밋·댓글)
      • 기여도 퍼센트 Math.min(100, …)로 하드캡
      • 전체 커밋·PR 개수: per_page=1 + Link 헤더 파싱으로 고속 집계
    3. AI 요약·피드백

      • Gemini API 연동 (요약/피드백 각 키 사용)
      • Markdown 형식 프로젝트 요약·팀원 피드백 생성
      • 팀원 피드백: 내 이슈에 달린 댓글만 수집, 없으면 안내 메시지
    4. UI/UX

      • projectId→프로젝트 제목 자동 표시
      • “AI 분석” 버튼 클릭 시에만 AI 호출
      • 팀원 피드백 별도 버튼으로 지연 호출
      • Markdown 복사, tailwindcss-typography 적용
    5. 에러/장애 대응
      - Gemini API 503, hydration 에러 대응 옵션
      - GitHub 토큰: system 유저 대신 실제 userId로 호출

      3. 코드 구조 및 주요 흐름

    • Controller: JWT 인증 후 userId DTO 주입 → analyzeContribution, getBaseStats 등 엔드포인트

    • Service:

      • collectUserActivities, collectProjectTimeline 등 데이터 수집
      • calculateContributionStats, analyzeCollaborationStyle 등 통계·AI 분석
      • Gemini API 호출 후 Markdown 결과 반환
    • 알고리즘 & DTO: 기여도·협업 스타일·타임라인 분석 로직 분리, 명확한 입출력 DTO

      4. 분석 결과·피드백 저장 기능 (확장 설계)

    • DB 테이블 제안

      • summaryai_analysis_history: 분석 기록 및 파라미터, 결과 Markdown 저장
      • summaryai_peer_feedback_history: 팀원 피드백 기록 저장
    • 이력 조회 API/UI 확장 가능

      5. 실무적 특징 및 개선 이력

    • 완전 분리 구조로 기존 코드 영향 無

    • 프론트/백 모두 projectId만으로 즉시 분석

    • 개선 사례
      - AI 호출 분리로 불필요한 호출 방지
      - GitHub 토큰 체계화 (system→userId)
      - owner/repo undefined 및 대용량 집계 효율화

      6. 향후 확장·적용 아이디어

    • 결과 버전 관리 및 공유 링크

    • 메타 피드백 및 자동 분석 스케줄링

    • “분석 이력 보기” UI/기능 내일 구현 예정

  • 알고리즘

    ContributionAnalyzer 개요

    ContributionAnalyzer는 프로젝트 내 사용자의 다양한 활동 데이터를 단순 집계가 아닌 행동 패턴, 품질, 협업, 시간/요일별 습관까지 다각도로 분석하여 실질적인 피드백을 제공하는 고급 통계·분석 엔진입니다.


    1. 설계 목적 및 개요

    • 목표

      • 커밋, 이슈, PR, 댓글 등 모든 활동 데이터를 통합 관리
      • 단순 수치 집계를 넘어 ‘협업 스타일’, ‘강점/약점’, ‘개선 제안’ 등 실질적 인사이트 제공
    • 핵심 특징
      1. 활동 분포 및 패턴 분석
      2. 품질 및 협업 지표 산출
      3. 자동 스타일 분류 및 개인화된 피드백


      2. 주요 분석 로직 및 산출 지표

    1. 활동량 지표

      • 전체 활동량, 고유 활동일수, 일평균 활동량
    2. 활동 유형별 분포

      • 커밋 / 이슈 / PR / 댓글 비율
    3. 시간·요일 패턴

      • 시간대(아침·오후·저녁·밤)별 활동 빈도
      • 요일(月~日)별 활동 분포
    4. 품질 지표

      • 커밋 메시지 품질 (길이, 컨벤션 준수)
      • 이슈 완료율 (Closed 비율)
      • PR 머지율 (closed=merged 가정)
      • 평균 응답 시간 (이슈 생성→첫 댓글)
    5. 협업 지표

      • 댓글 참여도
      • 타인 이슈 참여 비율
      • 팀원 간 상호작용 (유니크 author 수)
    6. 자동 스타일 분류

      • 코드 중심형 / 이슈 중심형 / 소통 중심형 / 균형형 / 개별형
    7. 피드백 생성
      - 각 지표별 강점·약점 진단
      - 개인화된 개선 제안


      3. 기술적 챌린지 및 해결 방안

      챌린지해결 방식비고
      정확한 활동 분류공통 필드(author, createdAt, status) 표준화통합된 ActivityData 사용
      품질·패턴 분석 한계- 메시지 품질: 단순 길이·컨벤션 체크- PR 머지율: closed=merged 가정실제 맥락·merged 여부 반영 어려움
      시간·요일 패턴 왜곡JS Date 변환 후 카운트타임존 이슈 예외 처리 로직 도입휴일·샘플 부족 시 편향 가능성 존재
      협업 깊이 측정 한계유니크 author 수로 근사정성적 상호작용 깊이 미반영
      응답 시간 산출 예외 처리댓글 없는 이슈, 중복 댓글 필터링최초 댓글 시점 사용실제 커뮤니케이션 질 반영 어려움
      데이터 불균형·샘플 부족최소값·최대값 하드캡, 빈 메트릭 반환신뢰도 저하 시 결과 가중치 적용 필요

      4. 실무적 한계 및 향후 개선 포인트

    • 한계

      • 커밋 메시지·PR 머지율 등 지표가 프로젝트 문화에 따라 달라짐
      • 네트워크 깊이·정서적 요소(감정, 톤) 미반영
      • 시간·요일 패턴이 외부 요인(휴일, 타임존)에 민감
    • 개선 방향
      1. 자연어 처리 기반 커밋·이슈·댓글 내용 심층 분석
      2. 실제 머지 여부, 리뷰·코멘트 등 PR 상세 데이터 활용
      3. Network Analysis: 팀원 간 상호작용 네트워크·감정 분석
      4. 계량 지표에 신뢰도 가중치 적용


      5. 요약

      ContributionAnalyzer는 단순 집계를 넘어 사용자의 활동 패턴·품질·협업 관계를 종합 분석하여, 개인화된 협업 스타일 분류와 구체적인 개선 제안을 제공합니다. 다만, 현재 지표가 지닌 한계(정성적 요소 미반영, 데이터 편향 등)를 극복하기 위해 자연어 처리, 네트워크 분석, 정성적 데이터 가중치 등의 기술 고도화가 필요합니다.

[내일할것]
AWS 오피스 아워 참여
내일 코치님 커피챗 두번
AWS Bedrock을 쓰면 Ai 모델을 API 제한 없이 사용할 수 있다 → 지성이가 알려줌

profile
모든걸 기록하며 성장하고 싶은 개발자입니다. 현재 크래프톤 정글 8기를 수료하고 구직활동 중입니다.

0개의 댓글