About Me
-
안녕하세요! Kotlin & Spring 기반의 3년 차 서버 백엔드 개발자 최준성입니다.
-
3가지 전공을 공부하다 개발의 몰입과 문제를 해결해 나가는 성취감에 빠져 개발자로 일하고 있습니다.
-
테스트 코드 작성을 당연하게 생각하며 현재 팀에서는 약 2500개의 테스트 케이스가 하루에도 수십 번 수행되고 있습니다.
-
혼자보다는 서로에게 질문하고 함께 고민하고 성장하는 것을 더 가치 있게 생각합니다.
-
꾸준함의 가치를 알기에 학습한 것을 정리하는 기술 블로그를 운영하고 있습니다.
Experience
MAU 1억 8000만의 글로벌 웹툰 서비스
네이버 웹툰은 글로벌 1위 웹툰 및 웹소설 플랫폼을 서비스하는 회사로, 전 세계 사용자들에게 다양한 웹툰과 웹소설 콘텐츠를 제공하며, 이를 기반으로 영상화, 게임화 등 다양한 IP 비즈니스도 수행하고 있습니다.
웹툰의 원고를 저장하고 글로벌 서비스를 위한 번역에 활용되는 콘텐츠 협업 도구, 작가 계약 관리 시스템, DRM 시스템을 개발 & 유지보수 하고 있습니다.
Projects
작가 계약 관리 시스템
2023.12 ~ 현재
Ironclad로 체결되는 작가 계약의 정산을 자동화하고, 최종적으로는 계약과 관련된 모든 프로세스의 내제화를 목표로 프로젝트입니다.
- Hexagonal 및 Event 기반 아키텍처 설계와 전체 프로젝트 환경 구축
- 계약 매핑, 누적 도메인 설계 & 개발
- 계약서와 작가, 파트너, 작품 그룹을 매핑하는 도메인 설계
- 작품 그룹을 기준으로 매핑된 다양한 계약서 데이터를 누적하는 summary 도메인 설계
- 정산 도메인 설계 & 정산 자동화를 위한 정산 플랫폼 연동 pipeline 구축
- 다양한 계약서 매핑으로 누적된 계약 데이터를 기반으로 한 정산 도메인 설계
- 정산 도메인을 정산 플랫폼과 연동하는 동시성과 정합성을 고려한 exactly-once pipeline 구축
- 항상 최신 데이터를 처리하기 위한 zero-payload 방식의 메시지 설계
- 동일한 정산 아이템의 생성 및 수정 건이 동일 파티션에서 순차적으로 처리되도록 하는 메시지 키 구성
- 순서를 고려한 멱등성 카프카 프로듀서 및 멱등성 있는 컨슈머 로직으로 exactly-once 처리
- 배치를 사용한 예상치 못한 예외 상황에 대한 재시도 로직 구현
- 원천 계약서 관리 및 보안
- 원본 계약서 암호화 및 복호화 기능 개발
- 계약서 업로드 및 다운로드 기능 개발
작가 Connect 플랫폼 개편
2023.06 ~ 2023.12
기존의 웹툰 관리 시스템(WCS)의 운영 효율을 극대화하기 위해 작가 Connect라는 이름으로 새롭게 개편하는 프로젝트입니다.
작가 Connect는 웹툰의 원고를 저장하고 이를 기반으로 계약, 고료, 번역 등의 다양한 운영 도구를 제공합니다.
- 기존 Java/Spring MVC 기반의 기술 스택에서 Kotlin/Armeria 비동기 기반의 gRPC, GraphQL 기술 스택으로 전환
- Armeria를 활용한 gRPC-kotlin 서버 구축
- Armeria/GraphQL 사용 시 발생한 개발의 불편함을 개선하기 위해 개인적으로 Spring GraphQL을 학습하고, 팀원들에게 전환의 필요성을 발표 및 설득하여 Spring - GraphQL 서버로 전환
- CONNECT 플랫폼의 자체 OAuth2 서버 설계 및 구축
- ITGC(IT 감사)를 위한 배치매니저(ezJobs) 도입 설계 및 구축
- 개인정보 파기 관련 배치 개발
- 팀의 개발 효율성 향상을 위한 GraphQL 응답 Json 기반 Rest Docs 테스트 코드 자동 생성기 개발
- 메일 발송 공통 모듈 개발
- 기존 서비스에서 제공 중인 기능 이관
- 언어별/작품별 즐겨찾기
- 검수를 위한 타서비스 작품, 회차 연동
Toon-Keeper (DRM 시스템)
2022.12 ~ 2023.06
Toon-Keeper는 콘텐츠(전자책, 이미지 등)의 암복호화 기능을 제공하는 프로젝트입니다.
- Device별 인증서 발급 로직 및 사전 발급 배치 개발
- 발급 로직 개선 및 캐싱으로 인증서 발급 성능 40배 개선
- 멀티스레드 방식을 사용해 인증서 발급 배치 성능 3배 개선
- Alibaba Cloud K8s 배포 스크립트 개발
- Canary & Blue-Green 대화형 배포 스크립트 개발
- Server-to-Server 인증을 위한 OAuth2.0 개발
- 콘텐츠 암/복호화에 사용되는 Key Management Service 개발
- 콘텐츠 암호화 기능을 제공하는 Content Packager 개발
OpenSource
Spring 버그 제보
- Coroutine 환경에서 AOP와 @Transactional을 함께 적용할 때 발생하는 AOP가 무시되는 버그 리포팅
개인 블로그
https://backtony.tistory.com- 사내 Tech Share에 공유한 내용과 업무에서 해결한 이슈, 관심 있는 기술을 정리하여 공유하는 블로그
Skill
Backend
- Kotlin, Java
- Spring Boot, Spring Batch, Spring Security
- Spring Data R2DBC / MongoDB / JPA / Redis
- Spring Kafka
- gRPC, GraphQL
- Junit5, Mockito, Kotest
- Gradle
- IntelliJ
DevOps
- Kubernetes
Education
세종대학교
2019.02 ~ 2023.02
- 컴퓨터공학과
- 과학기술정보통신부 국가이공계장학생 선발
- 2년 전액 장학금
- 수석 장학생 (학점 4.3 / 4.5)
- 캡스톤 은상 수상
- SW 알고리즘 경시대회 3등
정보처리기사
2022.06
- 한국산업인력공단
- 12기 수료