채용공고 올리기

정웅교님을 응원해보세요!

지금 만족하고 있어요
혁신적
성실함
책임감
학습 지향
리더십

미리보기

기본 정보

이름
정웅교
직업
백엔드 개발자
간단 소개

안녕하세요. 저는 1년차 개발자로, SI 개발 및 사내 CMS 고도화 업무를 담당했습니다. 항상 성능 최적화를 고민하며, 사내 CMS에 캐싱 도입과 알고리즘 최적화를 통해 성능을 10배 이상 향상시킨 경험이 있습니다. 주도적으로 Redis 도입을 추진해 동시성 제어를 개선하고, 비용 분석 보고서를 작성해 도입의 필요성을 효과적으로 설명했습니다. 또한, 코드 자동 배포 환경을 구성해 팀의 작업 효율성을 높였습니다. 협업과 소통을 중시하며, 개발 컨벤션 가이드 문서를 작성해 팀의 일관된 코드 작성과 효율적인 협업을 이끌었습니다. 서비스의 가치 향상을 위해 사용자 경험을 향상시킬 방법을 고민하고, 요구사항을 빠르고 정확하게 이해해 효과적으로 개발하는 것을 목표로 하고 있습니다.

기술 스택

기술 스택

Spring Boot, Java, Kotlin, MariaDB, Redis, MySQL, AWS, nginx, Git, JavaScript, React

경력

회사명

주식회사스프링웍스(Springworks.Inc.)

직급 | 부서 | 근무 유형

주임 | IT사업팀

근무 기간

2023.07. ~ 2024.09. (1년 3개월)

담당 업무

Spring Security 도입
설명
- Spring Security를 이용한 권한/인가 관리 및 중복 로그인 제어

주요 업무
- Interceptor를 이용한 기존 로그인 로직을 Spring Security로 이관
- 중복 로그인 제어 구현

주요 성과
- 사내 Spring Security 최초 도입
- 중복 로그인 발생을 방지해 보안 향상


자사 CMS 리팩토링 및 고도화
설명
- 기존 레거시 코드 리팩토링 및 기능 고도화

주요 업무
- 개발 컨벤션 및 가이드 보완
- Service 클래스 CRUD 기능에 맞춰 분리
- 메소드 네이밍 규칙 지정
- Mapper에 Optional 도입
- 캐싱 적용
- 비용이 크거나 자주 호출되는 조회 서비스에 캐싱 적용
- 요구사항 분석 및 ERD 작성
- 빌드 및 배포 가이드 문서 작성
- Spring 4.3.25 -> SpringBoot 2.7.12로 변경하면서 Gradle 빌드 방식 도입
- application.yml이 환경에 따라 분리됨에 따라 빌드 및 tomcat 설정 변경
- 기능 구현
- SEO 관리 기능 개발
- 사용자 페이지 Tab 메뉴 생성 기능 개발

주요 성과
- 적절한 캐싱을 이용해 사용자 페이지 로딩 속도 개선(평균 약 2.5초 -> 평균 . 약0.25초)
- 반복문을 이용한 select 방식 -> In절로 변경하면서 속도 개선
- 불필요한 테이블 삭제를 통해 DB 구조 단순화 (99개 -> 50개)
- 약 700줄의 핵심 비즈니스 로직 리팩토링을 통해 약 200줄로 줄이면서 유지보수성 향상
- 개발 컨벤션 및 가이드 문서 보완으로 인한 개발팀의 업무 효율성 향상
- 이중 for문을 이용한 조회 및 삭제 로직 -> 해쉬 알고리즘으로 변경하면서 성능 개선


Github Actions를 이용한 Git Push 알림
설명
- 소스코드를 Git에 Push하면, 사내 메신저인 Naver Works를 통해 알림을 전송하는 기능을 Github Actions를 통해 구현

주요 업무
- Naver Works Bot API를 사용하기 위한 Python 스크립트 작성
- Github Actions를 이용해 Python 스크립트가 실행되도록 기능 구현
- 연동 가이드 문서 작성

주요 성과
- 자동 알림을 통해 개발팀의 업무 환경 개선


자사 CMS 전자정부 호환성 인증

설명
- 자사 CMS의 전자정부 프레임워크 버전업으로 인해 호환성 인증 실시

주요 업무
- 전자정부 호환성 과제 수행
- 전자정부 호환성 인증 관련 문서 작성
- 전자정부 호환성 가이드에 따른 코드 리팩토링

주요 성과
- 호환성 인증서 발급으로 공공기관 프로젝트 발주 참여 자격 획득


SVN -> Git 마이그레이션
설명
- SVN으로 관리하던 프로젝트를 Git으로 마이그레이션

주요 업무
- 로컬 PC에 설치된 SVN을 Git으로 마이그레이션하여 형상관리 수행
- 마이그레이션 가이드 문서 작성

주요 성과
- 로컬 PC에 SVN을 사용함으로써 발생한 불안정성을 해소 및 안정성 확보
- 추후 Gtihub Webhook 또는 Github Actions를 이용한 CI/CI 환경을 구축하는 발판 마련
- 불필요한 파일이 형상관리되던 문제점을 .gitignore를 통해 해결


춘천시 평생학습 통합 플랫폼
설명
- 춘천시 평생학습 통합 플랫폼 홈페이지 구축

주요 업무
- 개발 컨벤션 및 가이드 작성
- Controller, Service, Mapper Layer 구분(비즈니스 로직 분리)
- DTO, Entity 분리
- 메소드 네이밍 규칙 지정
- AOP를 이용한 트랜잭션 -> 선언전 트랜잭션 방식으로 변경
- Controller Layer에서의 데이터 유효성 검증을 위한 Validation 라이브러리 도입
- ES6 문법 도입
- 기능 구현
- 헥토파이낸셜 결제 모듈 연동
- 결제 관련 공통 기능 개발 (결제, 결제 취소, 망취소 등)
- 수강신청 기능 개발 (선착순, 추첨식, 선발식)
- 학습공간 예약 및 관리 기능 개발
- 단체프로그램 예약 및 관리 기능 개발
- 관리자 권한 개발 (통합 관리자, 일반 관리자, 플랫폼 관리자)
- 강의실 교육일지 및 출결 관리 기능 개발
- UMS 알림톡 연동
- 행정정보공동이용시스템 API 연동 (비대면 자격확인 서비스)
- Redis 제안 및 도입
- Redis 제안 PPT 제작 및 발표
- AWS Redis 서버 사용 비용 분석 및 결과 보고서 작성
- 서버 이중화로 인한 세션 불일치 문제 해결
- 서버 이중화로 인한 캐시 불일치 문제 해결
- 분산락 적용
- 개발용 AWS Redis 서버 구축

주요 성과
- 자사 최초 Redis 도입
- Redis를 이용한 분산락으로 선착순 신청 시 동시성 문제 해결
- 결제 모듈 리팩토링을 통해 3개의 중복 코드를 1개의 공통 결제 모듈로 분리
- 자사 최초 핵심 비즈니스 로직에 대한 테스트 코드 도입


서울디지털대학교(SDU) 홈페이지 개편
설명
- 서울디지털대학교의 CMS 기능 개선
- 서울디지털대학교의 CMS를 이용한 사이트 개편

주요 업무
- Google Analytics API 연동을 통해 관리자 대쉬보드 개발
- 데이터베이스 변경으로 인한 쿼리문 재작성(MariaDB -> MSSQL)
- CMS 템플릿 개발을 통해 대학 홈페이지 개편


춘천시립공공도서관 홈페이지 개편
설명
- 춘천시립공공도서관 홈페이지 개편 및 재구축

주요 업무
- 기능 구현
- KLAS 도서관리 API 연동
- 국립장애인도서관 API 연동
- 도서정보나루 API 연동
- 외부 API 호출을 위한 공통 유틸 개발
- 사용자 로그인 기능 개발 (일반 및 SNS 로그인)
- AES 256 알고리즘을 이용한 사용자 개인정보 암/복호화 공통 유틸 메소드 개발
- 데이터베이스 마이그레이션 기능 개발
- 도서관 자료현황관리 기능 개발
- 국립장애인도서관 API를 이용한 장애인 택배서비스 개발
- 북큐레이션 관리 기능 개발
- 도서 통합검색 기능 개발
- 기존 Legacy 프로젝트 개선
- Filter를 이용한 XSS 방어
- 페이징을 위해 사용중이던 이중 쿼리 제거
- 운영 환경 인프라 구축 . 및세팅
- WEB, WAS, DB 3-Layer 구축
- 세션 공유를 위한 세션 클러스터링

주요 성과
- 이중 쿼리 제거를 통해 페이징 속도 개선 (약 30%)
- Controller의 XSS 방어 코드를 Filter로 이주하면서 중복 코드 제거
- URLConnection 대신 RestTemplate을 이용해 비즈니스 코드 분리

프로젝트

프로젝트명

Potato Mall

소속/기관명

개인

프로젝트 기간

2024.05. ~ 2024.07.

프로젝트 내용

프로젝트 설명

  • 실무에서 구현한 결제 모듈 연동을 다시 한번 경험해 보고자 시작한 프로젝트입니다.

  • 토스페이먼츠 결제 모듈을 연동해 모의 결제를 진행할 수 있습니다.

  • Refresh Token을 이용해 보안적인 측면을 고려한 사용자 인증을 구현했습니다.

  • ELK Stack을 이용해 실시간 검색어 기능을 구현했습니다.

  • Rest Docs를 사용해 API 문서를 자동화했습니다.

  • Github Actions를 사용해 배포 자동화를 구현했습니다.

 트러블 슈팅

  • 결제 시 재고량의 동시성 이슈를 제어하기 위해 분산락을 적용했습니다.

  • 트랜잭션을 분리하여 데드락 발생 가능성을 줄였습니다.

  • 트랜잭션 분리에 따른 Connection Pool 부족 현상을 HikariCP 설정을 통해 해결하였습니다.

  • 트랜잭션 분리에 따른 롤백 문제를 해결하기 위해 유사 MSA Saga 패턴을 적용하였습니다.

포트폴리오

URL

link

정웅교 경력기술서

URL 링크
link

정웅교 포트폴리오

노션
댓글