미리보기
기본 정보

안녕하세요. 백엔드 개발자 권재현입니다.
기술 스택
Java, Spring Boot, JPA, Spring Security, AWS, Git, aws-rds, aws-s3, aws-ec2, aws-elasticache, TypeScript, NestJS
경력
(주)엔에이치에스
사원 | 개발1팀
2024.07. ~ 2024.09. (3개월)
SI 사업 Nest.js 기반 프로젝트 진행
SellKnock (온라인 셀러를 위한 상표 분쟁 예방 상품명 필터링 서비스)
어드민 페이지 회원관리 개발 및 사용자 인증 / 인가 시스템 및 네이버 이메일 인증 개발
프로젝트 admin 사이트 AWS EC2 / ELB 활용 Route53 이용하여 도메인 연결 / PM2 활용한 배포 서버 관리
나이스 페이 Open API 활용 구독 결제 서비스 개발 및 게시판 기능 개발
Swagger API 명세화 및 Notion 활용 문서 협업 기능 진행
프로젝트 소개 및 주요 기능
SI 사업 Nest.js 기반 SellKnock(온라인 셀러를 위한
상표 분쟁 예방 상품명 필터링 서비스) 어드민 페이지 회원관리 개발
사용자 Authentification(Token 및 UserGuard 활용) & Naver 이메일 인증 개발
기술 스택 및 개발 상세 내용
TypeScript 기반 NestJS / TypeORM 사용
유저 및 어드민 페이지 AWS S3 + RDS(MySQL) + EC2 + ELB 조합으로 서버 배포기능 진행
SSH Client Platform termius - pm2 활용 실시간 서버로그확인 및 클라이언트 이슈 대응
싸이버로지텍
사원 | 해운 / 물류 솔루션 5팀
2023.03. ~ 2024.04. (1년 2개월)
1. Spring Legacy
Mybatis, Jqgrid / Pqgrid / IBsheet 연동 작업 - WEB 프로젝트 진행
Eclipse : AWS 환경 Spring 설정 진행
(2023.03 ~ 2024.04)
VDI 내에서 진행
사내 팀 프로젝트 형상관리 - GitLab
문서화 작업 - Confluence
업무 일정관리 및 이슈 관리 - Jira
일정 확인 및 커뮤니케이션- kt bizOffice & bizmeka(2주 간격 Sprint)
Dev 환경
- JAVA 1.8 / Spring Framework 4.3.30
- Tomcat 8.5(Servlet 3.1)
- Mybatis
Web 콘솔에 존재하는 해운 데이터 Excel 형태 문서화 및 팀 프로젝트 Eagle_Plus Data Batch 작업 진행
1. AWS 환경에서 GCP 환경 마이그레이션
2. AWS GCP 해운/물류 Web 데이터 및 Tableau 데이터 차이 엑셀 문서화
(AWS, GCP 패키지 변경사항, UI 탭 개수 일치 확인, Refresh Time 및 UI의 그래프 필터가 AS-IS(AWS)와 동일한지 확인)
3. 기존 VDI 내에서만 접근가능한 물류 서비스 데이터 관련 (https://one.eagle-plus.com/) - Spring 환경 Java, MyBatis 코드 리팩토링
4. JqGrid 기반 Frontend + Spring단 Backend에서 물류 데이터 조회 속도 개선(조회 시 10건/초 100건/초)
2. 해운 / 물류(ONE Ocean Network Express) 관련 기존 Oracle 데이터
-> BigQuery(Google Cloud Console 환경) 변환 진행(2023.09 ~ 2023.10)
1. Orange Oracle에 존재하는 기존 Oracle 데이터 -> BigQuery(Google Cloud Console 환경) 변환 진행
Oracle 버전
Oracle 21c EE(JSON 저장 및 JavaScript 실행 지원)
BigQuery 버전
버전 기능 : Enterprise 버전
3. Python ORM SQLAlchemy 활용(2023.10 ~ 2023.11)
(Python 3.10, Postgresql12, Oracle-instantclient_21_8)
Oracle -> Postgresql 해운 / 물류 데이터 마이그레이션 진행
1. 기존에 GCP 콘솔에서 진행하던 Oracle BigQuery 데이터 이관 이후
2. Python ORM SQLAlchemy 활용 (Python 3.10, Postgresql12, Oracle-instantclient_21_8)
3. PyCharm IDE 내에서 Oracle -> Postgresql 해운 / 물류 데이터 마이그레이션 작업 진행
Oracle 버전
Oracle 21c EE(JSON 저장 및 JavaScript 실행 지원)
Postgresql 버전
PostgreSQL 12
4. 기존 Query Version Manager Application(BigQuery DataSet ) ->
Jquery & MyBatis 활용 BigQuery dataset eagleplus web에 migration(2023.11 ~ 2024.04)
1. 기존 Query Version Manager Application(BigQuery DataSet ) ->
Jquery & MyBatis 활용 BigQuery dataset eagleplus web에 migration
2. AcroDiff(소스코드 비교 툴) 사용
Dev 환경
- JAVA 1.8 / Spring Framework 4.3.30
- Tomcat 8.5(Servlet 3.1)
- Mybatis
5. Python 프로젝트
- Python SMTP 프로토콜 클라이언트 사용 - Email 데이터 전송
- SMTP 세션 생성 및 메일 전송 코드 개선
- 기존 xml 형태의 데이터가 반영된 메일 표시 Json 형태로 표시하여 사내 메일 송신하는 기능 개발
매드앱(주)
사원 | 시스템 개발팀
2021.12. ~ 2022.03. (4개월)
더빙팩토리 LMS 서버 API 개발
더빙팩토리는 오픈 소스 API를 연동하여 음성 인식하고 번역 후 TTS로 읽어 주는 크리에이터용 편집 프로그램입니다. 여기에 사용되는 오픈소스 연동 API를 Golang과 JavaScript를 활용하여 API 개발 업무를 진행하였습니다.
Golang의 Gin Framework 활용 더빙 팩토리 LMS 서버 API 개발 진행
기술 스택 및 개발 상세 내용
Desktop Application - TypeScript 기반 Electron + React으로 UI 생성
Bootstrap + Tailwind CSS 사용
API 서버는 Node js + TypeScript 기반으로 생성
영상 번역 및 설명 기능 API는 Golang기반으로 작성
phpMyAdmin으로 MariaDB에 저장된 고객 데이터 관리 및 영상 데이터 조회 속도 개선
Ground X - KrafterSpace Web UI 개발 및 서버 API 개발 / TreasuresClub Web UI 개발 및 유지보수
KrafterSpace Web UI 개발 및 유지보수 및 클레이튼 관련 서버 API 개발
NFT 발행 사이트 TreasuresClub Web 유지보수 및 NFT 에어드랍 관련 API 개발
Ground X에서 진행했던 KrafterSpace UI 개발
자사에서 운영하는 자체 NFT Collection 관련 API 개발
NFT 모음 지갑에 관한 고객 데이터 관리
phpMyAdmin에 저장된 MySQL 고객 데이터 관리
기술 스택 및 개발 상세 내용
API 서버는 Express(NodeJS) + TypeScript로 작성
NTF 발행 기능과 컬렉션 저장 기능은 Golang의 Gin-gonic HTTP web Framework로 작성
고객 데이터는 MySQL - NFT 및 클레이튼 관련 데이터는 MongoDB 사용
React + Typescript으로 UI 작성
프로젝트
이커머스 프로젝트
항해 플러스(스파르타 코딩클럽)
2024.03. ~ 2024.05.
개발 환경
Java 17
Spring Boot 3.2.4
Junit & AssertJ & Mockito
H2 DataBase
JPA
Gradle
프로젝트 자료
Sequence Diagram & Flow Chart
https://github.com/K-J-HYEON/hh_server_ecommerce/blob/main/docs/SequenceAndFlowChart.md
Git Branch 전략 초안
feature -> dev -> main(prod)
feature
기능을 개발하는 브랜치, 즉 새로운 기능 개발 및 버그 수정이 필요할 때마다 develop 브랜치로부터 분기함
feature 브랜치 작업은 로컬 저장소에서 관리하고 개발이 완료되면 develop 브랜치로 병합(merge)하여 다른사람들과 공유
dev
기능 개발을 위한 브랜치들을 병합하기 위해 사용
기능이 추가되고 버그가 수정되어 배포 가능한 상태이면 main branch에 병합(merge)
dev 브랜치를 기반으로 개발 진행
main
제품으로 출시될 수 있는 최종 브랜치
배포 이력을 관리하기 위해 사용, 배포 가능한 상태만을 관리
부산시 여행추천코스 프로젝트 진행(DB 설계 및 서비스 API 개발 작업, AWS를 활용하여 서버 구축 작업)
Spharos Academy(신세계 I&C Spharos Academy 1기 교육)
2022.09. ~ 2022.11.
스파로스 아카데미 1기 2차 기업연계 프로젝트
github : https://github.com/CosMost-BE
개발 환경은 아래와 같습니다.
Framework: Spring Boot (2.6.8)
DB: Mysql DB(8.0.29)
Language: Java (JDK 11.0.15)
IDE: Intellij IDEA
Collaboration tool : GitHub, Notion
Build: Gradle
Spring Boot를 활용하여 SSG.COM 클론코딩을 진행(DB 구축 및 서비스 API 개발 작업)
Spharos Academy(신세계 I&C Spharos Academy 1기 교육)
2022.07. ~ 2022.09.
스파로스 아카데미 1기에서 진행한 SSG.COM 신세계몰 클론 코딩 프로젝트입니다.
https://github.com/K-J-HYEON/SSG_SSAG_BE_5Group
개발 환경은 아래와 같습니다.
OS : Windows 10, Mac OS, Ubuntu 20.04.4 LTS
Infra : AWS EC2, Nginx
DB : AWS RDS(MySQL 8.0.28)
Storage : AWS S3
Backend : Spring Boot 2.6.10, Gradle(빌드), JPA(DB접근)
Api : Naver SMS API, Naver Login API, KaKao Login API
포트폴리오
URL
교육
부산대학교
대학교(학사) | 분자생물학과
2014.03. ~ 2020.08. | 졸업
양정고등학교
고등학교 | 인문계
2011.03. ~ 2014.02. | 졸업
대외활동
항해 플러스 백엔드 4기 수료
스파르타 코딩클럽
2024
Test Driven Development
- 모든 코드를 테스트 가능하게 구현하는 것을 목표로 진행
- 테스트 커버리지 100% 가 아니라, 정확히 기능의 동작을 확인하는 테스트를 작성
- 주요 기능에서 private
접근자, 객체간의 강결합 같이 테스트 불가능한 코드는 가능한 한 지양
클린아키텍처
- Layered 아키텍처로 진행
- 애플리케이션의 핵심은 비즈니스 로직
- 데이터 계층 및 API 계층이 비즈니스 로직을 의존 ( 비즈니스의 Interface 활용 )
- 도메인 중심적인 계층 아키텍처
- Presentation 은 도메인을 API로 서빙, DataSource 는 도메인이 필요로 하는 기능을 서빙
서버 구축 & 동시성 문제
- 아키텍처와 테스트 코드 작성에 집중, 시나리오 기반 서버 애플리케이션 구축
- 견고하고 유연한 서버 개발을 지향
- 마일스톤 및 API 명세 / 시퀀스 다이어그램 / 플로우 차트 작성
- ERD 설계 / Mock API 작성 / API Documentation 작성
- Repository에 대한 Integration 테스트 고려
동시성 문제와 극복 및 트래픽 처리 (학습 Github)
- DB의 동시성 문제 및 DataBase Lock, 분산락에 대해 학습 및 프로젝트에 적용
- 상품의 재고 차감 및 복원, 사용자의 포인트 잔액에서 동시성 이슈가 발생하는 비즈니스 로직 파악
- 잔액 충전 및 사용 시 update가 일어나고 잔액이 부족하고나 특정 상품의 재고가 부족하면
- 이전의 commit들은 rollback 시켜줘야 함 & 비관적 락을 사용하여 테이블에서 row가 같으면 순서를 지켜서 정합성을 보장.
- 충돌 상황에 따른 낙관적 & 비관적 락 설정 케이스 파악 및 key - value 기반 이용 Redis 통해 DB부하를 최소화하는 Lock 설계
스파로스 아카데미 1기 ssg.com 클론코딩 프로젝트
신세계 I&C
2022
Project1(ssg.com 구현)
프로젝트 전체적으로 사용자 인증(Auth)API 개발 파트 부터 진행하여 점차 확장(좋아요, 리뷰 및 상품 Q&A 등등)
역할 : DB 설계 (ERD Cloud에서 진행), 서비스 설계 및 문서작업(요구사항 명세서, API 정의서), 사용자 인증 및 상품 리뷰, Q&A관련 API 개발
AWS EC2, S3, RDS 서비스를 활용하여 클라우드 DB 서버 이용
스프링 부트 & Layered Architecture를 이용해 패키지 구조 생성 및 API 개발 진행흐름 파악
Pull Request를 통한 Github 업무 진행상황 공유
Front-End와 API 데이터 연동시 아래와 같은 CORS 에러 해결 및 이슈 트래킹
Project2(부산 여행 코스 공유 커뮤니티 구현)
역할 : DB 설계, 서비스 설계 및 문서작업(요구사항 명세서, API 정의서), 사용자 인증 API 기능 구현(이메일 인증),
DB와 Dummy Data 연동작업
1. Pull Request & Issue 상황을 통한 Github 업무 진행상황 공유
2. Slack 및 Google Meet을 이용, 조원들과 업무 피드백 공유 및 개발 프로세스에 반영
3. 도메인 주도 개발 프로세스 & Git flow를 활용하여 개발 프로세스 진행
4. AWS EC2 생성 & ALB연결 & Github Organization을 이용, MSA 구조를 활용하여 개발 프로젝트 진행
5. AWS ElastiCache 및 Amazon Linux2 Redis 활용 이메일 인증
자격증
정보처리기사
합격 | 한국산업인력공단
2023.06.
ADsP(데이터분석준전문가)
합격 | 한국데이터산업진흥원
2021.04.
외국어
영어
일상 회화 가능
자기소개
안녕하세요. 실무 경험을 통해 웹개발 역량을 갖춘 백엔드 개발자 권재현입니다.
더빙팩토리에서 LMS 서버 API 개발을 시작으로 Golang과 JavaScript를 활용한 음성 인식 및 TTS 시스템을 구축했습니다.
이후 ONE WEB Project에서 Software Architect로 1년 2개월간 해운/선박 관련 웹 서비스를 개발하며 Java Spring Boot 기반의 시스템 아키텍처를 설계하고 AWS 클라우드 환경에서 CI/CD 파이프라인을 구축했습니다.
최근에는 Nest.js를 활용한 SellKnock 온라인 쇼핑몰 프로젝트에서 TypeScript 기반의 백엔드 API 개발과 클라우드 인프라 관리를 담당했습니다.
다양한 기술 스택(Node.js, React, AWS, Docker, Jenkins)을 활용한 경험과 함께 성능 최적화, 보안 강화, 확장 가능한 시스템 설계 능력을 보유하고 있습니다.
특히 비즈니스 요구사항을 기술적으로 분석하여 최적의 솔루션을 제시하는 능력과 팀 협업을 통한 프로젝트 성공 경험을 바탕으로 귀사의 디지털 혁신에 기여하고 싶습니다.