미리보기
기본 정보
블로그 : https://harrykang.tistory.com/ 깃허브 : https://github.com/harrykang0805
기술 스택
Java, Spring, Spring Boot, JPA, mybatis, MySQL, MSSQL, JavaScript
프로젝트
자취생을 위한 홈케어 정보 공유 플랫폼
기타
2024.07. ~ 2024.08.
자취생을 위한 홈케어 정보 공유 플랫폼 / 부팀장 (프로젝트 기간 2024.07 ~ 2024.08)
[사용한 기술스택]
Java, SpringBoot, SpringSecurity, JWT, OAuth2, RESTful API, MySQL, JPA
[구현 기능] -> 포트폴리오 2,3p 기재
- OAuth2.0과 JWT를 결합한 스테이트리스 인증 시스템 구현
- RESTful API를 활용한 게시글 CRUD 기능 및 카테고리별 관리 시스템 구현
- Spring Security를 활용한 역할 기반 접근 제어(RBAC) 구현
- 사용자 프로필 및 경험치 시스템 설계 및 구현
- 백엔드와 프론트엔드 서버를 나누어 배포한 경험
[주요 트러블 슈팅] -> 포트폴리오 3~6p 기재
1. 게시판 조회수 비정상 증가 문제 해결
-> IP 기반 중복 증가 방지 및 시간 기반 제한 로직 구현
-> 정확한 조회수 집계 및 시스템 안정성 향상
2. 사용자 경험치 시스템 개선
-> 출석 체크 기반 경험치 시스템으로 전환
-> 시스템 단순화 및 버그 감소, 사용자 경험 개선
-------------------------------------------------------------------------------------------------
축제 및 팝업 스토어 정보 공유 플랫폼 / 부팀장 (프로젝트 기간 2024.06 ~ 2024.07)
[사용한 기술스택]
Java ,Spring, SpringSecurity, JWT, RESTful API, MySQL, JdbcTemplate, MyBatis, WebSocket(STOMP), SockJS, ChartJS
[구현 기능] -> 포트폴리오 8,9p 기재
- OAuth2.0를 Session 방식과 JWT를 결합한 하이브리드 인증 시스템 구현
- WebSocket과 STOMP 프로토콜을 이용한 실시간 1:1 채팅 시스템 구현
- 실시간 데이터 시각화 및 분석 시스템 구현
- 커스텀 인터셉터를 활용한 실시간 방문자 통계 시스템 구현
[주요 트러블 슈팅] -> 포트폴리오 10~12p 기재
1. 사용자와 관리자 간 WebSocket 기반 1:1 채팅 문제 해결
-> 사용자 인증 정보 세션 저장 및 라우팅 개선
-> 양방향 채팅 정상 동작 및 실시간 통신 구현 안정성 확보
2. 오픈 예정 팝업 데이터 로드 문제 해결
-> URL 매핑 및 뷰 경로 수정, 컨트롤러 통합
-> 데이터 정상 표시 및 시스템 복잡도 감소
축제 및 팝업 스토어 정보 공유 플랫폼
기타
2024.06. ~ 2024.07.
자취생을 위한 홈케어 정보 공유 플랫폼 / 부팀장 (프로젝트 기간 2024.07 ~ 2024.08)
[사용한 기술스택]
Java, SpringBoot, SpringSecurity, JWT, OAuth2, RESTful API, MySQL, JPA, React, Git, Jenkins, NCP
[구현 기능]
- OAuth2.0과 JWT를 결합한 스테이트리스 인증 시스템 구현
- RESTful API를 활용한 게시글 CRUD 기능 및 카테고리별 관리 시스템 구현
- Spring Security를 활용한 역할 기반 접근 제어(RBAC) 구현
- 사용자 프로필 및 경험치 시스템 설계 및 구현
- 백엔드와 프론트엔드 서버를 나누어 배포한 경험
[주요 트러블 슈팅]
1. 게시판 조회수 비정상 증가 문제 해결
-> IP 기반 중복 증가 방지 및 시간 기반 제한 로직 구현
-> 정확한 조회수 집계 및 시스템 안정성 향상
2. 사용자 경험치 시스템 개선
-> 출석 체크 기반 경험치 시스템으로 전환
-> 시스템 단순화 및 버그 감소, 사용자 경험 개선
-------------------------------------------------------------------------------------------------
축제 및 팝업 스토어 정보 공유 플랫폼 / 부팀장 (프로젝트 기간 2024.06 ~ 2024.07)
[사용한 기술스택]
Java ,Spring, SpringSecurity, JWT, RESTful API, MySQL, JdbcTemplate, MyBatis, WebSocket(STOMP), SockJS, ChartJS
[구현 기능]
- OAuth2.0를 Session 방식과 JWT를 결합한 하이브리드 인증 시스템 구현
- WebSocket과 STOMP 프로토콜을 이용한 실시간 1:1 채팅 시스템 구현
- JdbcTemplate과 MyBatis를 활용한 데이터 접근 계층 최적화
- 실시간 데이터 시각화 및 분석 시스템 구현
- 커스텀 인터셉터를 활용한 실시간 방문자 통계 시스템 구현
[주요 트러블 슈팅]
1. 사용자와 관리자 간 WebSocket 기반 1:1 채팅 문제 해결
-> 사용자 인증 정보 세션 저장 및 라우팅 개선
-> 양방향 채팅 정상 동작 및 실시간 통신 구현 안정성 확보
2. 오픈 예정 팝업 데이터 로드 문제 해결
-> URL 매핑 및 뷰 경로 수정, 컨트롤러 통합
-> 데이터 정상 표시 및 시스템 복잡도 감소
포트폴리오
URL
교육
우석대학교
대학교(학사) | 유통통상학부
2013.03. ~ 2017.02. | 졸업
에이아이팜 비트캠프
사설 교육 | 네이버 클라우드 데브옵스 웹 개발자 과정
2024.02. ~ 2024.08. | 졸업
자격증
정보처리기사
필기합격 | 한국산업인력공단
2024.07.
NCA(NAVER CLOUD PLATFORM Certified Assoiciate)
최종합격 | 네이버 클라우드 주식회사
2024.08.
MOS Master
최종합격 | Microsoft
2014.12.
외국어
영어
일상 회화 가능
자기소개
끊임없는 도전과 지속적인 성장
저는 새로운 기술을 배우고 적용하는 것에서 큰 성취감을 느낍니다. 개발을 시작하면서 백엔드, 프론트엔드 등 다양한 언어와 프레임워크 등에 대해서 배웠습니다. 그중 저는 백엔드 직무가 적성에 맞는다고 생각하여 주로 Spring Boot, JPA, MySQL 등의 기술 스택을 집중해서 익혔고, 특히 실시간 채팅 시스템과 인증/인가 시스템 구현 과정에서 WebSocket, OAuth2.0, JWT 등 다양한 기술을 스스로 학습하고 적용했습니다. 또한 이것을 블로그에 작성하여 팀원들에게 배운 내용을 공유하는데에도 사용했습니다. 현재는 데이터베이스에 대한 깊은 이해를 위해 SQLD 자격증 취득을 준비하고 있으며, 이를 통해 더 효율적인 쿼리 작성과 데이터베이스 설계 능력을 키우고 있습니다.
그리고 개발자커뮤니티인 하비스트코딩클럽의 온,오프라인모임도 참가하여 여러 개발자들과 교류하고 있습니다.
문제 해결과 성과 도출
프로젝트 진행 중 마주친 기술적 문제들을 해결하며 성장을 이뤘습니다. JdbcTemplate과 MyBatis를 활용한 프로젝트에서는 해당 데이터의 쿼리를 제약조건을 설정하여 필요 데이터만 추출한 결과 응답 시간을 50% 단축시킬 수 있었습니다.
특히 WebSocket 기반 실시간 채팅 구현 시 발생한 세션 관리 문제를 해결하기 위해 Spring 공식 문서와 기술 블로그, AI를 활용하고 참고하며 최적의 해결책을 찾아 적용했습니다. 이러한 과정에서 문제의 원인을 체계적으로 분석하고 해결하는 능력을 기를 수 있었습니다.
커뮤니케이션과 협업능력
두 번의 팀 프로젝트에서 부팀장을 맡으며 팀워크의 중요성을 깊이 이해했습니다. Git을 활용한 버전 관리와 프로젝트의 환경설정을 주도적으로 진행했으며, 각 팀원의 기술적 강점을 파악하여 업무를 효율적으로 분배했습니다. 군 복무할 때 장교로서의 경험은 체계적인 일정 관리와 팀 리딩 능력을 길러주었고 원활한 의사소통과 갈등 해결 능력을 향상시켰습니다. 이러한 경험들은 개발 프로세스를 체계적으로 관리하고 팀원들과 효과적으로 협업하는 데 큰 도움이 되었습니다.
개발자로서의 비전
백엔드 개발자는 시스템의 견고성과 효율성을 책임지는 핵심 역할이라고 생각합니다. 특히 대용량 트래픽 처리, 시스템 안정성 확보, 데이터 무결성 유지 등의 다양한 환경들을 마주해야 하고 끊임없이 공부해야 할 과제라고 생각합니다. 현재는 이제 개발의 출발점에 서 있지만 앞으로는 시스템 아키텍처 설계 능력을 키우고, 대규모 시스템의 성능 최적화와 확장성 있는 설계에 대한 전문성을 갖추고자 합니다. 더불어 새로운 기술 트렌드를 지속해서 학습하여 변화하는 개발 환경에 능동적으로 대응할 수 있는 개발자로 성장하고 싶습니다.
대외활동
영국
Kaplan International(카플란 인터네셔널)
2019.07 ~ 2020.04(해외연수)
Oxford, London