사용자 반응으로 문제를 좁히고, 화면·API·외부 데이터가 만나는 경계를 구현한 뒤 테스트와 외부 리뷰로 검증합니다.
- 가톨릭대학교 컴퓨터공학 | 재학 (2021.03 ~ )
- 하나금융그룹 x 금융감독원 청년 금융인재 양성 프로젝트 | FinMate · 화면 설계 · 웹앱 · API (2026.04 ~ 2026.08)
- Tech4Good 해커톤 | My ETA · 백엔드 · 외부 API · 파트 간 요청·응답 조율 (2026.07)
- Open Source | 외부 프로젝트 버그 수정 · 기능 보완 · 문서 개선 · 메인테이너 리뷰 대응 (2026.07 ~ )
- 멋쟁이사자처럼 대학 12기 | Backend · 중앙해커톤(2024.08) · 데모데이(2024.12) (2024.03 ~ 2024.12)
- GGUM 해커톤 | 가톨릭대 컴퓨터정보공학부 연합 해커톤 · Backend (2024.10)
Role: 화면 설계 · 웹앱 · API · 기간: 2026.04 ~ 2026.08 · 팀: 4인 결과: 하나금융그룹 x 금융감독원 청년 금융인재 결선 진출작
- 사용자 흐름: 팀의 97명 문제 탐색 설문과 108명 화면 조사를 바탕으로, 또래 비교 → 금융 패턴 확인 → 오늘의 작은 미션으로 이어지는 홈 흐름을 설계
- 웹앱 구현: 예산 · 소비 · 저축을 시각화하고 또래 스토리, AI 그림일기, 미션과 인사이트를 하나의 모바일 웹앱으로 구현
- API 구현: Java · Spring · PostgreSQL로 인증, 금융 원장, 또래 비교, 피드, 미션·포인트, 인사이트와 그림일기 API를 구성
- 데이터와 테스트: 합성 금융 데이터 2,000명 · 887,002행을 적재하고 PostgreSQL Testcontainers 통합 테스트 50개로 주요 흐름을 검증
🔗 https://github.com/gaga-studio/finmate-app
Role: 백엔드 · 외부 API · 요청·응답 조율 · 기간: 2026.07 ~ 2026.08 · 팀: 7인 (하나금융그룹 x SK텔레콤 Tech4Good)
- 개인화 ETA: 이동 유형 · 보조기구 · 보행속도와 경로 구간 거리를 반영해 일반 ETA와 개인화 ETA를 함께 계산
- 지도와 교통 데이터: React 지도 화면과 FastAPI를 연결하고 Kakao 장소 검색, TMAP 경로, 서울 버스·지하철·엘리베이터 데이터를 어댑터로 구성
- 이동 중 안내: 유효 GPS 표본으로 보행속도를 갱신하고 경로 이탈이나 대중교통 놓침이 발생하면 현재 위치에서 경로와 ETA를 다시 계산
- 상태와 테스트: 확인된 정보와 미확인 정보를 구분하는 응답 모델을 설계하고 백엔드 69개·프론트엔드 23개 자동 테스트로 API·화면 흐름을 검증
🔗 https://github.com/tech4good-2026/eta
Role: 아이디어 제안 · 프로토타입 공동 구현 · 발표 영상 편집 · 기간: 2026.04 ~ 2026.05 · 팀: 4인 🏆 청년 금융인재 예선 통과 · 본선 합격작
- 상태 기반 체크리스트: 유학생의 첫 90일을 지금 가능 / 다음 단계 / 잠김으로 나눠 현재 상태에서 할 수 있는 금융 업무를 먼저 안내
- 규칙과 AI의 역할: 비자와 외국인등록증 상태는 규칙으로 판단하고, AI 채팅은 각 단계의 세부 질문을 돕도록 분리
- 일정과 출처: 비자 만료일 · 외국인등록증 수령일 · 계좌 개설 권장일을 캘린더로 묶고 안내 근거를 화면에 함께 표시
🔗 https://github.com/sjh9714/Student_Start_Mode_demo
Role: Backend · Infrastructure · 기간: 2024.10 ~ 2024.12 · 팀: 7인 (디자인 1 · 프론트 2 · 백엔드 4) · 멋쟁이사자처럼 데모데이
- 백엔드 기반: 인증 · 앨범 · 편지 · 사진 API의 기반을 설계하고 구현
- 배포와 연동: AWS EC2 · DB · S3 · HTTPS 환경을 구성하고 배포 API를 프론트엔드 화면과 연결해 팀 시연을 지원
- 후속 검증 (2026): 앨범 소유권 판정과 MySQL · S3 사이의 저장 경계를 다시 검토
🔗 https://github.com/sjh9714/memory_of_year
Role: Backend · REST API · 데이터 이관 · 기간: 2024.10 (GGUM 해커톤, 11인) → 2026 개인 재작업
- 알림 API (2024): 댓글·답글이 작성되면 대상 사용자의 알림을 생성하고, 알림 목록 조회·읽음 처리·삭제로 이어지는 REST API를 구현
- 대여 흐름 재설계 (2026): 요청과 취소만 있던 흐름을 승인 → 인도 → 반납 확인으로 이어지는 대여 상태와 API로 확장
- 데이터 이관 (2026): 기존 대여 데이터를 새로운 상태·이력 구조로 옮기는 DB 마이그레이션을 작성
🔗 https://github.com/sjh9714/borrow_me
동시 예약과 실시간 전달에서 생기는 충돌·중복·누락 문제를 직접 구현하고 측정한 개인 프로젝트 · 상세 설계와 측정 기록
대기열 통과 → 좌석 임시 선점 → 결제 → 예매 확정으로 이어지는 좌석 예약 시스템
Role: 설계 · 구현 · 측정 전체 · 기간: 2026.02 ~ 2026.05 · Stack: Java 21 · Spring Boot 3.4 · PostgreSQL · Redis · Kafka · React
- 동시 예약 제어: 같은 좌석에 여러 요청이 들어와도 한 건만 예약되도록 비관적 락·낙관적 락·Redis 분산 락을 각각 구현하고 동일한 조건에서 비교
- 동시성 검증: 좌석 1개에 100건을 동시에 요청해 세 방식 모두 예약 1건·중복 판매 0건 확인
- 중복 요청 방지: 대기 순서를 실시간으로 전달하고 같은 예약·결제 요청은 한 번만 처리되도록 요청 식별값 적용
- 후속 처리 복구: 예매 기록과 후속 이벤트를 함께 저장하고 전송 실패는 재시도, 반복 실패 작업은 격리 후 재처리하도록 구성
🔗 https://github.com/sjh9714/concert-booking
여러 서버에 나뉘어 접속한 사용자 간 실시간 메시지 전달과 재접속 시 누락 구간 보충을 구현한 채팅 시스템
Role: 설계 · 구현 · 측정 전체 · 기간: 2026.02 ~ 2026.05 · Stack: Java 21 · Spring Boot 3.4 · PostgreSQL · Kafka · Redis · STOMP · React
- 저장 후 전달: 메시지가 데이터베이스에 저장된 뒤에만 화면으로 전달하고, 여러 서버에 접속한 사용자에게도 같은 메시지를 전파하도록 구성
- 다중 서버 전달 검증: 서버 2대·사용자 50명·메시지 100건 조건을 3회 반복해 예상 수신 4,900건 전부 도착, 누락·중복 0건 확인
- 목록 조회 최적화: 채팅방마다 필요한 정보를 따로 조회하던 구조를 한 번에 묶어, 채팅방 50개 기준 데이터베이스 쿼리 101회 → 3회로 축소
- 재연결 보충: 연결이 끊긴 동안의 메시지를 마지막 수신 ID 이후부터만 다시 가져오도록 구현
🔗 https://github.com/sjh9714/realtime-chat
- 프로젝트 밖을 보게 하기 위해 AI 에이전트의 작업 순서를 바꿨다 2026.08.17
- 처음 만든 내 제품은 출시하지 못했다 2026.08.11
- 내 글이 LLM 슬롭으로 읽힌 이유 2026.08.10
- 컴퓨터구조 다시 공부해보기 2026.08.10
- 내 오픈소스 자동화를 하네스·루프·그래프로 그려봤다 2026.08.08





