미리보기
기본 정보
백엔드 개발자로, 실시간 채팅 시스템, OAuth2.0과 JWT를 결합한 보안 시스템, 그리고 데이터베이스 성능 최적화 등의 프로젝트에서 핵심적인 역할을 수행했습니다. Spring, JPA, MySQL을 주력으로 사용하며, 네이버 클라우드 플랫폼을 활용한 DevOps 환경에서의 개발 경험을 쌓고 있습니다.
기술 스택
Java, Spring, Spring Boot, Spring Security, spring-jpa, spring-mvc, JWT, REST API, MySQL, MSSQL, GitHub, Git, 네이버 클라우드
프로젝트
자취생을 위한 홈케어 정보 공유 플랫폼
기타
2024.07. ~ 2024.08.
부팀장으로 참여한 6인 팀 프로젝트 (프론트엔드 1 / 백엔드 5)
[사용한 기술스택]
#Java #SpringBoot #SpringSecurity #JWT #OAuth2 #RESTful API #MySQL #JPA #React
[구현 기능]
OAuth2.0과 JWT를 결합한 스테이트리스 인증 시스템 구현
Google, Naver, Kakao 소셜 로그인 통합으로 사용자 진입 장벽 낮춤
JWT 토큰 기반 인증으로 Stateless 아키텍처 구현, 서버 확장성 확보
RESTful API를 활용한 게시글 CRUD 기능 및 카테고리별 관리 시스템 구현
Spring Security를 활용한 역할 기반 접근 제어(RBAC) 구현
사용자 프로필 및 경험치 시스템 구현
프로필 이미지 업로드 및 관리 기능
출석 체크 기반 경험치 및 레벨 시스템 구현
[주요 트러블 슈팅]
게시판 조회수 비정상 증가 문제 해결
IP 기반 중복 증가 방지 및 시간 기반 제한 로직 구현
정확한 조회수 집계 및 시스템 안정성 향상
사용자 경험치 시스템 개선
출석 체크 기반 경험치 시스템으로 전환
시스템 단순화 및 버그 감소, 사용자 경험 개선
축제 및 팝업 스토어 정보 공유 플랫폼
기타
2024.06. ~ 2024.07.
부팀장으로 참여한 6인 팀 프로젝트 (프론트엔드 1 / 백엔드 5)
[사용한 기술스택]
#Java #SpringMVC #SpringSecurity #JWT #RESTful API #MySQL #JdbcTemplate #MyBatis
#WebSocket(STOMP) #SockJS
[구현 기능]
OAuth2.0과 JWT를 결합한 하이브리드 인증 시스템 구현
Session 방식과 JWT 토큰 기반 인증 혼용으로 보안성 강화 및 확장성 확보
WebSocket과 STOMP 프로토콜을 이용한 실시간 1:1 채팅 시스템 구현
SockJS 적용으로 브라우저 호환성 확보
JdbcTemplate과 MyBatis를 활용한 데이터 접근 계층 최적화
복잡한 통계 쿼리 최적화로 처리 시간 50% 단축 (3초 -> 1.5초)
실시간 데이터 시각화 및 분석 시스템 구현
커스텀 인터셉터를 활용한 실시간 방문자 통계 시스템 구현
중복 방문 필터링 로직 구현으로 통계 데이터의 정확도 80%까지 향상
[주요 트러블 슈팅]
사용자와 관리자 간 WebSocket 기반 1:1 채팅 문제 해결
사용자 인증 정보 세션 저장 및 라우팅 개선
양방향 채팅 정상 동작 및 실시간 통신 구현 안정성 확보
오픈 예정 팝업 데이터 로드 문제 해결
URL 매핑 및 뷰 경로 수정, 컨트롤러 통합
데이터 정상 표시 및 시스템 복잡도 감소
포트폴리오
교육
우석대학교
대학교(학사) | 유통통상학부
2013.03. ~ 2017.02. | 졸업
에이아이팜 비트캠프
사설 교육 | 네이버 클라우드 데브옵스 웹 개발자 과정
2024.02. ~ 2024.08. | 졸업
자격증
정보처리기사
필기합격 | 한국산업인력공단
2024.07.
NCA(NAVER CLOUD PLATFORM Certified Assoiciate)
최종합격 | 네이버 클라우드 주식회사
2024.08.
MOS Master
최종합격 | Microsoft
2014.12.
외국어
영어
일상 회화 가능
자기소개
새로운 기술에 대한 도전과 성장
저는 끊임없이 성장하고 새로운 기술을 습득하는 것을 즐깁니다.
백엔드 개발을 배우면서 Java, Spring Framework, MySQL 등의 기술 스택을 익혔습니다. RESTful API 설계와 구현, 실시간 채팅을 구현에서의 어려움을 해결하기 위해 Spring Boot의 공식 문서를 참조하여 최적의 방법을 찾아 적용했습니다.
데이터베이스 성능 최적화에 관심을 가지고 인덱싱 전략과 쿼리 튜닝 기법을 찾아내어 프로젝트에 적용, 응답 시간을 50% 이상 단축시킨 경험이 있습니다. 이러한 과정에서 새로운 기술을 배우고 적용하는 것에 대한 두려움이 없어졌고, 오히려 새로운 도전에 대한 열정이 커졌습니다.
영어 실력 향상을 위해 유학을 하였던 경험은 개발 분야에서도 큰 도움이 되었습니다. 영어로 된 기술 문서와 스택오버플로우의 글들을 쉽게 이해하고 활용할 수 있게 되어, 문제 해결 능력이 크게 향상되었습니다.
협업과 기술적 도전을 즐기는 능동적인 개발자
첫째, 저는 원활한 소통과 협업을 통해 팀의 시너지를 극대화합니다. Git을 활용한 버전 관리와 GitHub를 통한 코드 리뷰를 적극적으로 진행하며, 팀의 코드 품질 향상에 기여합니다. 또한, 기술 블로그를 운영하여 학습한 내용을 공유했습니다.
둘째, 끊임없는 호기심과 문제 해결 능력으로 기술적 난관을 극복합니다. 실시간 채팅 시스템 구현, OAuth2.0을 이용한 보안 시스템 구현 과정에서 발생한 문제들이 있었는데 포기하지 않고 원인과 해결책을 찾아내어 기능구현에 적용시켜 성공하였습니다.
셋째, 각 팀원의 기술적 강점을 파악하고 이를 프로젝트에 효과적으로 활용합니다.
각 팀원의 강점인 스킬들을 파악하고 그 부분을 주도적으로 맡기며 프로젝트의 효율을 높였습니다.
다만, 맡은 기능에 대한 성공적인 구현에 대해 욕심이 앞서 때로는 계획된 프로젝트 일정이 조금 지연되는 경우가 있었습니다. 이를 개선하기 위해 팀원들과의 지속적인 커뮤니케이션을 통해 기술 도입의 타당성을 검토하고, 빠른 피드백과 유연한 대응을 실천하고 있습니다.
ROTC와 축구를 통해 길러진 개발자의 자질
ROTC 장교 후보생과 축구 동아리 회장으로서의 경험은 제게 백엔드 개발자로서 필수적인 자질들을 길러주었습니다.
ROTC의 엄격한 훈련은 강인한 정신력과 체력을 단련시켰습니다. 이는 장시간 집중력을 요구하는 코딩 세션이나 긴급한 시스템 장애 대응 시 큰 자산이 되었습니다. 특히, 밤샘 디버깅이나 릴리즈 마감 기한을 앞둔 상황에서도 흔들리지 않는 집중력을 발휘할 수 있었습니다.
장교로서의 경험은 프로젝트 리더와 팀 리드 역할을 수행하는 데 직접적인 도움이 되었습니다. 복잡한 개발 프로세스를 체계적으로 관리하고, 팀원들의 강점을 최대한 활용하여 효율적인 업무 분배를 할 수 있었습니다.
축구 동아리 회장으로서 팀워크와 소통을 중시했던 경험은 애자일 개발 환경에서 빛을 발했습니다. 데일리 스크럼 미팅을 효과적으로 진행하고, 팀원 간의 원활한 의사소통을 촉진하여 프로젝트의 진행 상황을 항상 투명하게 유지할 수 있었습니다. 그리고 새로운 기술 스택 도입이나 레거시 코드 리팩토링과 같은 도전적인 상황에서도 인내심과 끈기를 바탕으로 묵묵히 문제를 해결해 나갔습니다.
이러한 경험들은 단순히 코드를 작성하는 프로그래머가 아닌, 팀의 성과를 극대화하고 함께 성장하는 개발자로 성장하는 데 큰 밑거름이 되었습니다. 기술적 역량과 더불어 이러한 소프트 스킬을 바탕으로, 저는 어떠한 개발 환경에서도 적응하고 성과를 낼 수 있는 백엔드 개발자로 거듭났습니다.
대외활동
영국
Kaplan International(카플란 인터네셔널)
2019.07 ~ 2020.04(해외연수)
Oxford, London