이진재
백엔드 엔지니어
About Me.
Node.js 기반의 2년 차 서버 백엔드 개발자입니다.
현 기획에 적절한 API 명세 작성, 유효성 검사, 데이터 전후 처리를 위한 Pipe 설계를 중요하게 생각합니다.
ORM을 사용하여 재사용 빈도가 높은 서버 로직을 분리하기 위해 고민합니다.
비용이 비싼 쿼리를 현 DB 구조에서 어떻게 처리할지 고민하는 것에 관심이 있습니다.
이슈 대응의 초석이 되는 서버 Logging에 대해 중요하게 생각합니다.
위원회, 기획자들과의 숱한 협업 경험과 실패 경험들을 통해, 건강한 개발자로서의 태도와 자세에 대해 훈련되어 있습니다.
Project.
01) 청건부산 2nd 웹사이트.
Together Festival 16주년, 청건부산 2nd 행사를 위한 모바일 전용 웹사이트
-
부산광역시 후원, (사)십대의벗청소년교육센터 주관 프로젝트
-
2024.07 ~ 2024.09
Description.
작년에 이어 개발 팀장으로 담당한, DAU 4,200명의 부산 행사 안내 및 체험 활동 시각화 서비스입니다.
일러스트 디자이너, 행사 위원회와 협업하여 개발했습니다.
행사 기획 및 체험 활동 컨텐츠의 요구사항에 적합한 API를 구현하고,
주어진 환경과 리소스 안에서 필요한 FE, DevOps를 구현했습니다.
What did I do.
- 32개의 API가 동작하는 API 서버 개발
- 행사 부스 체험 활동을 시각화한
제로게임
구현 - Cookie 기반 사용자, 스탭 가입 및 인증 시스템 구현
- 서버 커스텀 Logger 구현
- 기획 내 필요한 모든 FE, UI 구현 및 ERD 설계
- 외부 담당자들과의 개발 현황, 요구사항 및 기획에 대한 소통
Hyperlink.
- 배포 사이트(모바일 대상): https://busan-tf.n-e.kr/
- Github: https://github.com/Lee-clipse/tf-16th-website
02) DID, ZKP를 활용한 신원 증명 시스템.
탈중앙 식별자 및 영지식 증명 기술로 구현한 Web3 신원 증명 시스템
-
부산대학교 23년도 졸업과제
-
2024.03 ~ 2024.06
Description.
기존의 중앙화된 DB에서 벗어나고자, Web3 규격에 맞는 DID 프로토콜을 직접 구현한 서비스입니다.
DID 구현을 위해 Near Smart Contract를 활용했으며, Snark.js 라이브러리로 ZKP Circuit을 구현했습니다.
부산대학교 학생을 대상으로 자체 구현 Chrome Extension Wallet을 통해 신원을 증명합니다.
FE, BE가 블록체인 서버와 통신하여 DB에 개인정보를 저장하지 않고,
부산대학교 학생 신원 인증을 수행하는 프로젝트입니다.
What did I do.
- 인프라 설계 및 DB 관리
- Holder, Issuer, Verifier, Servier API 서버 구현
- Snark.js 라이브러리를 통해 Server와 블록체인 네트워크 통신 부분 구현
Hyperlink.
03) Ontact Korea 서비스.
외국인들을 대상으로 한 한국 물품 해외 배송 대행 서비스
- (주)에버스톤 기업 담당 외주 프로젝트
-
부산대학교 현장 체험 4개월 인턴 실습 활동
- 2024.03 ~ 2024.06
Description.
195개의 전 세계 각 나라의 약 4,600명의 사용자가 사용하는 서비스로,
4개월간의 개발 기간을 거쳐 24년도 6월 정식 오픈한 서비스입니다.
사용자는 구매대행, 배송대행 등의 기능을 주로 수행합니다.
관리자 페이지에서 대행 요청에 대한 견적서 응답을 처리하며, 자사 내 창고를 시각화하여 관리할 수 있습니다.
4개의 외부 운임사(Fedex, Ups, …)를 대상으로 PayPal 해외 결제를 수행합니다.
What did I do.
무신사
,오늘의 집
을 레퍼런스로 한 쿠폰 서비스, 리뷰 및 공지사항 기능 개발- 해외 배송 운임료 계산을 위한 Fedex, Ups 등 명세 기반 오픈 API 사용
- Paypal API를 적용한 결제, 환불, 부분 환불 트랜잭션 구현
- 특정 시간대에 동작하는 DB 백업 시스템 구축
- 이미지 압축, 다양한 시간대를 UTC로 통일하는 middleware 구현
- docker-compose를 통한 서비스 첫 배포 및 SSL 인증서 갱신 구현
- 구현된 웹 사이트 대상 서비스를 모바일 사용자 기반으로 리팩토링
- Figma를 사용한 UI 관리
- 협업 툴 Flow 도입을 통한 개발 일정 관리 및 유지보수
- 외주 회사 내 외국인 CS 직원과의 소통 담당
Hyperlink.
- 실제 서비스: https://ontactkorea.net/
04) 청건부산 1st 웹사이트.
Together Festival 15주년, 청건부산 1st 행사를 위한 모바일 전용 웹사이트
-
부산광역시, (사)십대의벗청소년교육센터 주관 프로젝트
-
2023.08 ~ 2023.09
Description.
DAU 1,700명의 부산 행사 안내 서비스입니다.
행사 기획자 및 위원회와 협업하여 개발했습니다.
컨텐츠 API 서버, 게임 API 서버 2개를 개발한 뒤, 필요한 FE, Cloud 환경의 인프라를 구축했습니다.
개발자가 혼자라서, 적절한 FE, DevOps 자료를 최소한으로 참고 및 학습하여 필요에 맞게 구현했습니다.
What did I do.
- 14개의 API가 동작하는 API 서버 개발
- 주사위 기반 팀 보드게임 서비스 개발
- QR 코드 기반 사용자 팀 생성 및 참가 시스템 구현
- API 트래픽 감소를 위한 LocalStorage 기반 스탭 인증 시스템 구현
- 서버 커스텀 Logger 구현
- 멀티 프로세스 기반 pm2 무중단 배포 구현
Hyperlink.
- 배포 사이트(모바일 대상): https://busan-tf.n-e.kr/ (서비스 종료)
- Github: https://github.com/Lee-clipse/tf-15th-website
05) Fitory.
비슷한 체급에서의 내 3대 운동 중량을 랭킹과 티어로 보여주는, SNS 기능을 곁들인 운동 기록 PWA 서비스
-
네이버 부스트캠프 웹・모바일 7기 팀 프로젝트
-
2022.11 ~ 2022.12
Description.
운동 동기 부여를 위해 데이터 시각화를 기반으로 한 운동 기록 및 SNS 서비스입니다.
FE 개발자 2명, BE 개발자 2명과 함께 서비스를 선정, 기획, 개발하여 배포했습니다.
첫 팀 프로젝트인 만큼 Git 컨벤션, Figma 기반 기획, API 명세 작성 및 개발 문화 형성을 한 경험이 있습니다.
What did I do.
- 28개의 API가 동작하는 API 서버 개발
- SSE를 기반으로 한 SNS 알림 시스템 구축
- Multi Comlumn Index를 이용한 3대 운동 데이터 통계 API 성능 개선
- Nest.js 기반 사용자 업로드 사진 압축 및 저장 Pipe 개발
- k6, clinic.js를 사용해 API 성능 테스트 및 cpu-intensive 코드 리팩토링
Hyperlink.
- 배포 사이트(모바일 대상): https://fitory.ga/ (서비스 종료)
- Github: https://github.com/boostcampwm-2022/Web04-Fitory
Awards.
ETH Global Sanfrancisco 2024.
이더리움 재단 개최 Web3 해커톤: 2024.10.18 ~ 2024.10.20 |
-
프로젝트: Baldr
-
설명: 게임 내 현금 거래에서 발생하는 각종 사기를 예방하기 위한 AI, Web3 기반 오픈 소스 에스크로 플랫폼
-
수상
- Sign Protocol - Best Consumer Application
- SKALE Network - Best Use of Zero Gas Fees 3rd place
Education.
네이버 커넥트재단 부스트캠프 웹・모바일 7기 멤버십.
2022.08 ~ 2022.12
- 웹 서비스 개발 및 팀 프로젝트 경험을 위해 참여
- 주차별 미션을 주제로 클라이언트, 서버, DB를 구축하여 배포하는 경험
- 여러 개발자들과 협업 경험, 6주간의 팀 프로젝트를 통해 실제 서비스 개발 및 운영
네이버 커넥트재단 부스트캠프 웹・모바일 7기 챌린지.
2022.07 ~ 2022.08
- 웹 개발에 입문 및 다른 개발자들과의 네트워킹을 위해 참여
- CS 지식 학습 및 JavaScript로 직접 구현
- 다회간의 피어 코드 리뷰, 현업 개발자와 코드 리뷰를 통해 Bad smell을 감지하는 경험
부산대학교 정보컴퓨터공학부.
2018.03 ~ 2024.08
- 알고리즘, 데이터베이스, 데이터 통신 과목에 흥미를 가져 우수한 성적으로 이수
- 정보 보안 동아리에서 웹 인프라 스터디를 통해 개발을 보안적 측면에서 바라보는 경험
Skill.
Communication.
- 요구사항 및 특정 기능에 대해 혼자 추측하거나 수동적으로 반응하지 않는것이 중요하다고 생각합니다.
- 제시하는 의견이 적용되지 않는 것을 두려워하여 소통을 포기함으로써 오는 side-effect를 경계하기 때문에, 의도 확인을 확실하게 하려고 합니다.
- 상쾌한 휴식에서 맑은 코드와 투명한 소통이 나온다고 믿습니다.
Node.js.
- Node.js를 사용하여 효율적인 비동기 처리와 이벤트 기반 아키텍처를 구현할 수 있습니다.
- Express.js와 같은 주요 프레임워크를 활용하여 RESTful API를 설계하고 구축할 수 있습니다.
- WebSocket을 이용한 실시간 데이터 통신을 구현하여, 대화형 웹 애플리케이션을 개발할 수 있습니다.
Nest.js.
- Testing Library를 통해 API 테스트 코드를 작성할 수 있습니다.
- Nest.js 라이프 사이클과 MVC 구조를 이해하여 용도에 따라 Guard, Interceptor, Pipe를 구현할 수 있습니다.
- Coupling 감소, Module 단위의 테스트를 위해 의존관계 주입을 적절히 수행할 수 있습니다.
- Database와의 안전한 상호작용을 위해 DTO와 ORM을 활용할 수 있습니다.
Database.
- 서비스의 요구사항과 Read & Write 성능을 고려해 NoSQL, RDB을 선택할 수 있습니다.
- ERD를 설계하고 시나리오 테스트를 통해 테이블 정규화 필요성을 판단할 수 있습니다.
- 다양한 Scan 방식에 의한 Query Cost를 측정하여 Single, Multi Column Index를 적용할 수 있습니다.
- MySQL의 Trigger를 활용해 요청에 대한 데이터 전처리, 후처리를 구현할 수 있습니다.
DevOps.
- Cloud 환경에서 Nginx, ACG, Cloud DB를 세팅하여 웹 인프라를 구축할 수 있습니다.
- pm2와 같은 도구를 통해 멀티 프로세스 환경의 무중단 배포를 구현할 수 있습니다.
Contact.
- 이메일: jamjam1208@naver.com
- 블로그: https://lee-clipse.github.io/
- 깃허브: https://github.com/lee-clipse