
Backend Java SpringBoot
“안녕하세요, Back End 개발자 Paul입니다.”
✊🏻 객체지향적인 사고와 해결력을 가지고 있습니다.
👆🏻 제한된 환경에서 Best Practice를 찾는 노력을 합니다.
✌🏻 마주친 문제들을 정리하고 공유하는 것을 즐깁니다.
🤟🏻 새로운 기술을 학습하고 습득하는 것을 좋아합니다.
🖐🏻 협업에 적합하고 함께 일하길 원하는 사람이 되기 위해 노력합니다.
<aside>
📞 Contact : [email protected] | github.com/paul-96
</aside>
📄 Summary
Software Engineer
GSITM*, 서울시 종로구 – (2020년 11월 - 현재)*
- Backend 개발자로서 Spring Boot 기반의 개발 환경 구축 및 시스템 구조를 개선하는 일을 담당합니다.
- Spring MVC 프로젝트를 활용하여 Client에 리소스 제공을 위한 REST API를 설계 및 개발합니다.
- Spring Security 프로젝트를 활용하여 JWT, Session 등을 활용하여 인증 및 인가 기능을 구현합니다.
- MySQL, Redis 및 MongoDB 등 여러 형태의 데이터베이스를 활용하여 비즈니스 로직을 구현합니다.
- MongoDB와 Lucene 기반의 Atlas Search를 활용하여 Full text search 기능을 구현합니다.
- OAuth2, OIDC 등의 프로토콜을 활용하여SSO 인증 및 인가 서버 구축을 주도합니다.
- Vue.js를 활용하여 Back office(Web, Desktop Application)을 개발했습니다.
- 팀에 합류한 수습 개발자와 페어 프로그래밍을 진행하고, 시니어 개발자와 로드맵 및 기능 우선순위를 정의했습니다.
👨🏻💻 Work Experience
GSITM
- 11 ~ 현재
Web/Backend 개발자
경력 관리 시스템 개발
직원들의 다양한 직무 경험, 기술, 역량 프로젝트 이력을 빠르게 검색하고 효율적인 인재 관리를 통해 프로젝트에 알맞는 인재를 적재적소에 배치하는 서비스를 개발, 구축 했습니다..
- 기간 : 2021.11 ~ 진행중
- 투입 인원 : 6명 (기여도 40%)
- 담당 업무
- Java, Gradle 기반의 SpringBoot 개발 환경 구축, 멀티 모듈 설계(기여도 50%)
- RESTful API 설계 및 개발, RestDocs를 활용한 API 문서화 및 가이드 문서 작성
- ORM(JPA/Hibernate) 및 MariaDB 등의 RDBMS 환경에서의 도메인 설계, 개발
- Redis, MongoDB 등의 NoSQL 환경에서의 데이터 구조 설계, 개발
- 검색 엔진(Atlas Search) 도입 및 전문 검색 인덱스 설계, 개발
- OAuth2.0 기반의 인증 서버 연동 및 인가 기능 개발
- Redis Cluster를 활용한 분산락 구현, 인증과 캐쉬 기능 개발
- 필드와 언어의 특성을 고려한 전문 검색 인덱스 설계 및 개발
- GitHub Actions을 통한 CI/CD 자동화 및 배포 정책 설립
- 컨테이너 기반 클라우드(AWS) 아키텍처 설계, 개발, 운영
- Vue.js를 활용한 웹/데스크탑 애플리케이션 프론트엔드 개발
- 사용 기술 및 스택
Java SpringBoot Gradle JPA QueryDSL JUnit5 Javascript Express.js Vue.js Vuex
MariaDB MongoDB Redis
AWS GitHub GitHub Actions Webpack
- 주요 성과
- 2020년 6월 서비스 오픈 이후, 2.0.17 버전까지 지속적인 배포를 통한 기능 및 안전성 향상
- 코드 리팩터링 및 소프트웨어 디자인 패턴을 활용한 아키텍처 개선
- 검색 엔진 도입을 통한 사용자들의 검색 경험 향상, 빠른 검색 속도 제공
- 캐시 스토리지를 활용한 공통 코드 조회 성능 개선 및 인증 기능 개선
- 배타적 제어를 통한 동시성 문제 해결 및 일관성 유지, 시스템 확장 가능성 향상
- Git-flow, 코드 리뷰, 페어 프로그래밍, 아키텍처 개선 등 개발 환경 개선
- 번들 크기 축소, 코드 스플리팅과 동적 컴포넌트 로딩을 통한 페이지 렌더링 개선
인증 서버 레거시 개편
회사 내부에서 사용 중인 OAuth2 기반의 인증 서버 레거시 개편 작업에 참여했습니다.
- 기간: 2021.05~2021.10 (5개월)
- 투입 인원 : 3명(기여도 60%)
- 담당 업무
- 서버 리팩터링 및 Deprecated 된 라이브러리 제거로 인한 시스템 영향도 파악.
- 레디스를 캐시 저장소로 활용하여, 인가 코드 조회 성능 개선.
- 타임리프 템플릿 엔진을 활용하여 개발자 사이트 구현.
- 인증 서버 연동을 위한 OAuth2 클라이언트 데모 소스 구현.
- 사용 기술 및 스택
Java SpringBoot Gradle JPA QueryDSL JUnit5 Thymeleaf Javascript jQuery
MySQL Redis
OAuth2 Github GitHub Actions
- 결과/성과
- 인가 코드 조회 성능 개선을 통한 사용자 인증 경험 향상 및 인증 속도 개선
- 개발자 사이트 웹 애플리케이션 구현을 통한 클라이언트 등록 편의성 제공
- 클라이언트 샘플 소스 개발, 가이드 문서 작성을 통한 연동 편의성 제공
부산시 공공 모바일 마켓 앱(동백통) 개발
모바일 앱을 활용해 지역 내 의식주와 관련된 다양한 상품을 소비자에게 편리하게 제공하는 공공 O2O 서비스 개발에 참여했습니다.
- 기간 : 2021.01~2021.04 (3개월)
- 투입 인원 : 4명(기여도 20%)
- 담당 업무
- REST API 설계 및 개발, Swagger를 통한 API 문서화
- ORM(JPA/Hibernate) 및 MySQL 등의 RDBMS 환경에서의 도메인 설계 및 개발
- 회원가입, 로그인, 소셜(카카오, 네이버, 구글, 애플) 로그인 기능 구현
- 행정안전부 도로명 주소 API와 카카오맵 API를 활용한 배달 주소 관리 기능 구현
- Flutter와 WebView 간 인터페이스를 통해 위치 기반 주소 검색 기능 구현
- 사용 기술 및 스택
Java SpringBoot Gradle JPA QueryDSL Flutter Thymeleaf Javascript jQuery
MySQL
GitLab Jenkins NCP
- 주요 성과
💻 SKills
Skill Set