Full-stack Developer

DB 설계부터 화면까지,
서비스를 끝까지 만드는 개발자 길동현입니다.

Java(JSP/Servlet, JavaFX)와 PHP로 회원·인증, 데이터 수집, 관리자 화면까지 갖춘 팀 프로젝트 4개를 만들었습니다. 비밀번호 해시를 Argon2id로 바꾸고 기존 사용자를 로그인 때 자동으로 옮기는 것처럼, 실제로 운영할 때 생기는 문제를 먼저 챙깁니다.

기술 스택

언어

  • Java 17/21
  • PHP
  • SQL
  • JavaScript
  • TypeScript

백엔드

  • JSP / Servlet (Jakarta)
  • Tomcat 10.1·11
  • PDO / mysqli
  • Java Socket (TCP/UDP)
  • Node.js

프론트엔드

  • HTML / CSS
  • JavaFX
  • React
  • Google Charts·Maps
  • Kakao 지도 API

데이터베이스

  • MySQL 8
  • MariaDB
  • HikariCP
  • 정규화 스키마 설계

보안·인증

  • Argon2id
  • bcrypt
  • Prepared Statement
  • 세션 관리

도구·배포

  • Git / GitHub (PR 리뷰)
  • GitHub Actions
  • Maven
  • Docker
  • Cloudflare Pages
  • LLM API

프로젝트

모두 팀 프로젝트입니다. 카드마다 제가 맡은 부분과 해결한 문제를 따로 적었습니다.

스펙 오디세이 대시보드
대시보드 · 테스트 계정 시뮬레이션으로 72일치 사용 기록을 쌓은 화면

스펙 오디세이

2026.09 ~ 2026.10 · 4주 · 팀 프로젝트

취업 준비생의 스펙을 진단하고 목표 직무까지의 로드맵과 매일 할 일을 제시하는 웹 서비스

  • Java 17
  • JSP/Servlet
  • MySQL
  • HikariCP
  • LLM API
  • GitHub Actions
6.4s → 1.1s대시보드 응답 (팀 성과)
40% → 100%기술명 매칭 정확도 (팀 성과)

내 역할

  • 자소서·이력서 첨삭 AI: LLM 프롬프트를 설계하고 STAR 기법 기준으로 "추가하면 좋을 내용"을 안내하도록 개선
  • 비밀번호 해시 전환: PBKDF2 → Argon2id로 교체. 예전 해시도 검증되게 두고, 로그인할 때 자동으로 새 해시로 다시 저장해 기존 회원이 비밀번호를 바꾸지 않아도 옮겨지게 함
  • 테스트 계정 시뮬레이션: 목표 점수까지 하루치 활동을 몇 분 안에 진행·일시정지·초기화 — 장기 사용 흐름을 시연·검증할 수 있게 함
  • 스펙 아카이브 게시판: 사진이 다른 팀원 서버에서도 보이도록 파일을 DB에 저장하는 방식으로 수정
  • 데스크톱 캐릭터 앱: 하루 요약·트렌드·자동 실행·설치 파일·사이트 내 업데이트 확인까지 구현
Dragon Fruits 원자재 대시보드
2024년 12월 실제 실행 화면 (최종 보고서 캡처)

Dragon Fruits — 원자재 가격 대시보드

2024.12 · 팀 프로젝트 (팀 내 최다 커밋)

금·구리·알루미늄·천연가스·국제유가 5대 원자재의 가격, 뉴스, 국제 정세를 한 화면에 모은 웹 대시보드

  • PHP
  • MySQL
  • FRED API
  • Polygon.io
  • NewsAPI
  • Google Charts·Maps

내 역할

  • 외부 API 3종 연동: FRED(과거 가격), Polygon.io(ETF 시세), NewsAPI(뉴스)에서 받은 데이터를 MySQL 4개 DB에 저장하고 PHP로 조회
  • 대시보드 위젯: 실시간 시세 바, 가격 추이 그래프, Google Maps 국제 정세 마커 구현 및 화면 디자인 통일
  • 보안 정리: 하드코딩된 API 키를 걷어내고 .env + 자체 로더로 설정 분리
부산 민원 관리자 화면
관리자 화면 · 예시 데이터

부산 지하철 민원 신고 시스템

2025.11 ~ 2025.12 · 팀 프로젝트

지하철 승객이 열차 번호·호선을 골라 민원을 접수하고, 관리자가 처리 상태와 통계를 관리하는 웹 서비스

  • PHP
  • MySQL(MariaDB)
  • PDO
  • bcrypt
  • IMAP/POP3

내 역할

  • 문자 민원 수신: 문자로 들어온 신고를 메일함(Gmail)으로 받아 DB에 넣는 기능을 구현. IMAP에서 POP3로 바꿔 KT 회선 문자도 받을 수 있게 수정하고, 처리한 메시지는 삭제 대신 읽음 표시
  • 관리자 대시보드: 신고 처리 상태 일괄 변경, 통계 화면 추가
  • 입력 UX 개선: 열차 번호·호선 선택을 다이얼 방식으로 바꿔 잘못된 입력을 줄임
SafeFood 알레르기 온보딩 화면
직접 만든 온보딩 2단계 · 알레르기와 심각도 선택

SafeFood — 알레르기 안전 음식 추천

2026.08 · 3인 팀 프로젝트

취향·알레르기·기분·위치를 바탕으로 메뉴와 맛집을 추천하고, 여러 명이 함께 먹을 때 모두가 먹을 수 있는 메뉴를 찾아주는 데스크톱 앱

  • Java 21
  • JavaFX
  • MySQL (테이블 22개)
  • JDBC
  • TCP 소켓
  • Kakao 지도

내 역할 — 계정·온보딩·기록·지도

  • 회원가입·로그인·온보딩: 가입 직후 취향·알레르기·가격·거리·맵기를 받아 DB에 저장하고 프로필에서 수정
  • 계층 분리: Controller가 DAO에 직접 접근하지 않도록 서비스 계층을 두고, 임시 데모 데이터를 걷어내 DB와 연결
  • 게스트 참여·같이 먹기 활성화, 식사 기록(차단한 메뉴는 추천에서 제외), 지도 보기·찜하기

알고리즘 — 백준 문제 풀이 기록 · BeakJoon-ascode

사이드 프로젝트

혼자 기획해서 직접 공개한 프로젝트입니다.

숫자 퍼즐 대전 4인 대전 화면▶ 플레이
4인 대전 화면 · 누르면 바로 플레이

숫자 퍼즐 대전 — 실시간 멀티플레이 웹게임

2026.09 ~ 10 · 1인 개발 · 배포 중

합이 10이 되게 숫자를 지우고, 지운 만큼 상대 판에 방해 블록을 보내는 4~8인 실시간 대전 게임. PC·모바일, 한국어·영어·일본어 지원

  • TypeScript
  • React 19
  • Node.js
  • Colyseus (WebSocket)
  • Vitest
  • Cloudflare Pages
96개자동 테스트 (규칙·공격·방 시나리오)
3개 언어한국어 · 영어 · 일본어

설계와 해결한 문제

  • 서버 권위 구조: 판정·점수·공격량을 모두 서버에서 계산하고 클라이언트는 입력만 보내 점수 조작을 막음
  • 규칙 코드 공유: 판 생성·합 판정·공격 계산을 shared 패키지로 분리해 프론트와 서버가 같은 코드를 사용. 시드값으로 모든 참가자에게 같은 판을 생성
  • 멀티플레이 기능: 방 코드·링크·QR 초대, 빈 방 자동 배정(랜덤 매칭), 서바이벌 모드, 상대 판 미니맵, 공격 대상 지정과 공격 상쇄
  • 운영 대비: 닉네임 금칙어 필터, 경기 기록 보기, 1분 튜토리얼, 마우스·터치 통합 입력
GroveMoss 섬 전체 화면▶ 둘러보기
섬 전체 보기 · 누르면 바로 둘러보기

GroveMoss — 픽셀아트 힐링 웹게임

2026.11 ~ · 1인 기획 · 개발 중

계절·날씨·바람이 살아 움직이는 섬을 걸어 다니는 힐링 웹게임. 나무·물·절벽·잔디를 이미지 파일 대신 코드로 생성하고, 모바일 브라우저에서도 부드럽게 돌아가도록 최적화

  • JavaScript
  • Canvas 2D
  • 절차적 생성
  • Cloudflare
  • Claude Code

코드는 Claude Code(AI 코딩 도구)로 작성했습니다. 기획, 기능·우선순위 결정, 캐릭터 그림, 결과 검토는 직접 했습니다.

성능 최적화

  • 메모리 절감: 멀리 있는 나무는 흔들림 프레임 첫 장만 사용, 현재 계절이 아닌 그림은 해제, 빛 버퍼를 Uint8 배열로, 쓰지 않는 캔버스는 버림
  • 기기별 그래픽 품질: 기기 메모리·CPU 코어 수를 읽어 자동으로 높음/절약 모드를 고르고, 사용자가 직접 바꿀 수도 있게 함
  • 연산 줄이기: 물 영역 계산은 경계 상자(bbox) 밖을 건너뛰고, 나무 흔들림은 바람 세기 3단계를 미리 그려 두고 바꿔 끼움
  • 그 밖에: 클릭·터치 이동용 A* 길찾기, 월드 편집기(되돌리기 지원), main/test 브랜치별 분리 배포

Stardew Valley 한/영 전환 버그 해결 도구

2025.06 · 1인 개발

게임 채팅에서 한글 입력 중 한/영 키를 누르면 입력이 꼬이는 문제를, 채팅을 열고 닫는 키(T·Enter)에 맞춰 입력기를 자동 전환하는 방식으로 우회한 AutoHotkey 프로그램. 실행 파일(.exe)로 배포

  • AutoHotkey
  • Windows

프로젝트 타임라인

  1. 2026.11 –
    GroveMoss 1인 기획·개발 중 (Canvas·Claude Code)
  2. 2026.09 – 10
    숫자 퍼즐 대전 1인 개발·배포 (TypeScript·Colyseus)
  3. 2026.09 – 10
    스펙 오디세이 팀 개발 (JSP/Servlet·MySQL)
  4. 2026.08
    SafeFood 팀 개발 (JavaFX·MySQL·소켓)
  5. 2025.11 – 12
    부산 지하철 민원 신고 시스템 팀 개발 (PHP·MySQL)
  6. 2024.12
    Dragon Fruits 원자재 대시보드 팀 개발 (PHP·MySQL)