미리보기
기본 정보
안녕하세요. 2년차 백엔드 개발자 김승민입니다. 저는 SI 업체와 웹 소설 플랫폼에서 백엔드 개발을 담당하며 다양한 프로젝트를 통해 실력을 쌓아왔습니다. 현재는 컨텐츠 플랫폼을 제공하는 회사에 합류하여, 서비스의 성장에 필요한 기능들을 개발하고 운영하며 팀의 일원으로서 적극적으로 기여하고 있습니다. 주요 기술 스택은 Node.js, Nest.js, MySQL, AWS, Docker, Git, Kafka 입니다. 주요 업무 내역 - 앱 사용자 분석 및 성장 유도 기능 개발 - 서비스 성능 개선 및 안정화 - 신규 기능 개발 및 기존 기능 개선 - 유저 관리 및 인증 시스템 구축 - 데이터베이스 설계 및 관리 - API 개발 및 유지보수 - 코드 리뷰 및 협업 이외에도 서비스를 고도화 시키면서 필요한 기능들을 개발하고, 플랫폼이 확장 가능하도록 유연한 구조를 만드는데 많은 노력을 진행하고 있습니다. 제 역량에 대해 더 판단이 필요하실 경우, 과제 요청 등의 형태로 제안해주시면 적극적으로 임하겠습니다.
기술 스택
NestJS, Node.js, TypeScript, TypeORM, MySQL, AWS, Docker, Kafka
경력
(주)버블탭
팀원 | 개발팀 | 재직 중
2022.06. ~ 재직 중 (2년 5개월)
서비스 유지 보수 및 고도화를 위한 기능 개발
[주요 개발 내역]
- 비회원 유저 수 측정 도구 개발
- 고유키 값 발급
- fingerprintJS Library 사용
- Event 기반 Push 기능 구현
- FCM 사용하여 유저에게 푸쉬 메시지 발송
- Admin Page 에서 Push 발송 및 이력 조회 기능 개발
- 예약 발송, 반복 발송, 전체 유저 발송 기능 및 설정 시스템 구현
- Push Message 자동 발송 기능 구현 (SQL을 통한 데이터 가공)
- 유저 친화적 공모전 프로세스 개발
- 앱 활성화 목적
- 다양한 컨셉의 웹소설 공모전 개최 시 마다 적용 가능하도록 범용적 설계
- 공모전을 ADMIN 에서 관리할 수 있도록 CRUD 기능 구현
- 어뷰징 유저 Block/Unblock 자동화 기능 개발
- Blocked User 관리 기능(제제 사유 및 해제 일시 등의 정보 표시)
- 이를 위한 Role guard 수정
- 서비스 내 콘텐츠 기능 고도화
- 작품 생성 화면 내 오디오 리소스 적용 기능 개발
- 오디오 리소스 노출을 위한 Audio Category 및 Label 분류 기능 개발
- 일정별 작품 등록 자동화 기능 추가
- 작품 랭킹 및 추천을 위한 통계 데이터 수집 및 처리 로직 개발
- 작품 생산성 향상을 위한 에피소드 복사 기능 개발
- 통계 데이터 서버 구축
- 작가 내부 활동 지표 수집을 위한 Statistics 서버 추가
- 1시간 단위 데이터 수집 및 시각화(그래프)를 위한 시계열 데이터 생성
- 사이드 이펙트 최소화를 위한 별도의 서버 생성 및 topic consumer를 통해 비동기 처리
- 고객센터 기능(이메일 시스템) 고도화
- AWS ses service를 통한 어드민 내 이메일 발송 기능 구현 시스템 리펙토링
- 기존 : 만들어둔 bash 스크립트를 사용하여 새로운 html 을 생성
- 변경 : 프론트팀과 협업하여, 이메일 탬플릿 제공 및 ADMIN 페이지를 통해 발송 및 예약 발송 기능 구현
- 이메일 템플릿 생성 및 관리 기능 편의성 향상
- 환불 처리
- Google Play Store 결제 유저가 Refund 요청시, 서버 쪽에서 데이터 수집 및 Refund 로직 구현
- cron job을 사용하여 play store 에 주기적으로 refund 데이터 크롤링, 해당 데이터 생성
- 회사 환불 처리 규정에 따라 refund 로직 동작
- Apple App Store 결제 유저가 Refund 요청시, 서버 쪽에서 데이터 수집 및 Refund 로직 구현
- refund 발생시 App Store 에서 발생 시킨 web hook 을 통해 refund 데이터 수집
- 회사 환불 처리 규정에 따라 refund 로직 동작
- 서비스 속도 개선 작업
- typeORM 으로 개선 불가능한 이슈를 Raw 쿼리로 대체
- 데이터 수가 많아지면서, 무분별한 leftJoin 사용 제거
[1500 자 제한으로 PDF 에 추가 작성]
주식회사소이넷
팀원 | 개발팀
2021.09. ~ 2022.06. (10개월)
[2021-09~2021 12] 는 4대보험 없이, 현장실습체험 인턴으로 활동
전기 안전 공사 SI 프로젝트 진행
기술 스택 : JavaScript(React), Node.js(Express), MariaDB, Gitlab
[프로젝트]
- 4명의 팀원과 GitLab을 통해 협업 진행
- Slack을 통한 에러 메시지 관리
[Front-end]
- REACT, BootStrap 사용 Fronted 화면 10개 구현(게시판, 관리자 페이지, 자체 솔루션 페
이지, 로그인 페이지)
- 페이지 추가 설명
관리자 페이지 : 계정 CRUD 및 계정 권한, 조직도 관리, 메뉴 관리
자체 솔루션 페이지 : 인공지능 모델 성능 테스트 페이지
- 로딩창(react-spinners), 알림창(sweetAlert) 오픈 소스 사용하여 공통 함수 작성
- Router를 Custom 하여 접속 권한 없는 사용자의 접근 제한 기능 구현
- axios 라이브러리를 사용하여 RESTAPI Server와 비동기 통신 및 각종 Filter(), Map() 등
JS 함수 사용하여 데이터 가공
[Back-end]
- EXPRESS 사용 REST-API 서버 구축
- 개인정보 Encrypt 진행(대칭키, 비대칭키 암호화 진행)
대칭키 암호화 : SQL 쿼리를 통해 진행
비대칭키 암호화 : bcrypt 라이브러리 사용
- serverSession 사용, Authorization 인증 모듈 구현
- Node.js 서버에서 ffi-napi를 모듈 사용, C++로 개발된 자체 솔루션 연동 기능 구현
- Router 구현
: ORM을 사용하지 않고 SQL 쿼리 작성