미리보기
기본 정보
도전을 즐기며, 가독성 높은 코드 작성을 추구하는 4년 차 백엔드 엔지니어입니다.
자기소개
"도전을 두려워하지 않는 개발자"
대용량 위성 영상을 효율적으로 처리하고 분석하는 시스템을 개발하며, MSA(Microservices Architecture) 전환을 통해 확장성과 유연성을 극대화하는 데 주력하고 있습니다. 복잡한 데이터 처리 환경 속에서 새로운 기술을 적극 도입하고 있으며, 변화하는 요구사항에 유연하게 대응하기 위해 지속적인 도전을 이어가고 있습니다. 앞으로도 기술적 한계를 넘어서고, 최적화된 솔루션을 제공하기 위해 노력하겠습니다.
"가독성 좋은 코드를 추구하는 개발자"
대용량 위성 영상 처리 시스템의 복잡성을 관리하기 위해, 가독성 높은 클린 코드를 작성하는 것을 목표로 합니다. 특히 헥사고날 아키텍처를 도입해 모듈화와 유연성을 강화하고 있습니다. 유지보수가 용이한 코드를 통해 안정적인 시스템을 구축하고, 팀원들과의 원활한 협업을 이끌어내며 효율적인 개발 환경을 만들어가고 있습니다.
기술 스택
Kotlin, PostgreSQL, rabbitmq, Spring Boot, spring-jpa, Docker, MSA, Kubernetes, AWS, Testcontainers, hexagonal-architecture, REST API, grpc, github-actions, GIS
경력
주식회사에스아이에이
연구원 | 제품기술개발실 | 재직 중
2021.08. ~ 재직 중 (3년 5개월)
사내 핵심 플랫폼(오비전) 개발
MSA 시스템 아키텍처 전환
대용량 위성 영상 데이터 처리 시스템 개발
API 및 RDBMS 설계
k8s 시스템 배포 및 운영
클라우드 환경(AWS) 시스템 배포 및 운영
CI/CD 파이프라인 구축
역량
리딩 경험 보유
백엔드 챕터 업무 리드 수행 경험 보유 (22.05 ~ 22.12)
사내 스터디 및 기술 이슈 공유 리드 (23.05 ~ 현재)
학습조 리더로 참여하여 스터디 주도
이펙티브 코틀린, 헥사고날 아키텍처
사내 기술 및 이슈 공유 주도
명언 프로젝트 리딩 (24.02 ~ 현재)
레거시 시스템 리팩토링/리엔지니어링
CI/CD 파이프라인 구축 경험 보유
사내 모놀리식 -> MSA 전환 과정에서 각 서비스별 자동 배포 환경 구축
개인 프로젝트에서 CI/CD 설계 및 구축
모놀리식 -> MSA로 아키텍처 전환 및 폴리글랏 구조의 데이터베이스 운영 경험 보유
아키텍처 전환: 계층형 아키텍처에서 헥사고날 아키텍처로의 성공적 전환
스프링 프레임워크 도입 및 코드베이스 리팩토링
대용량 데이터 처리 및 성능 개선
JVM Heap 메모리 누수 개선
Heap Dump 이후 OOM 원인 파악 후 누수원인 파악 및 개선
오비전 PostgreSQL 5초이상 SlowQuery 1초 미만으로 튜닝 10건 이상
썸네일 조회 성능 개선 - JVM 힙 메모리를 캐시로 사용하여 성능 개선 (10s이상 -> 1s 이내)
위성 영상 목록 조회 API 성능 개선 - 조회 시 필요한 컬럼들로만 조회하도록 쿼리 튜닝 (10s이상 -> 1s 이내)
견고한 데이터 구조 및 애플리케이션 설계
다양한 설계 경험 보유 - 서비스 분리 및 새로운 서비스 구현(서비스 5개 이상 개발, API 대략 200개 이상 개발)
데이터베이스 설계
API 설계
비동기 처리 및 이벤트 기반 아키텍처 설계 경험 보유
RabbitMQ 선정 및 설계
라이브러리화 작업 진행
클라우드 네이티브 인프라 경험 보유
AWS 서비스 시스템 설계 및 배포 경험 보유
사내 오비전 시스템 배포
명언 프로젝트 시스템 배포
쿠버네티스 배포 경험 보유
쿠버네티스의 다양한 리소스 차트 작성 및 배포
pvc, service, service account, configmap, deployment, ingress
프로젝트
오비전 서비스 개발
에스아이에이
2021.09. ~ 진행 중
AI 기반 위성 영상 분석 웹서비스 오비전(OVISION)의 백엔드 개발 및 운영
오비전: 오비전은 AI를 활용해 대용량의 위성영상들을 자동 분석 소프트웨어 입니다. 주로 위성영상에서 객체를 탐지 및 분류하고, 해당 객체에 대한 인사이트 및 다양한 기능을 제공합니다.
표적대장 도메인 관련 모든 API 개발
Segmentation AI Pack 탑재 및 서비스 개발
통계 데이터 대시보드 설계 및 개발
SAR 위성 영상 포맷 분석을 위한 기능 개발
쿼리 튜닝 및 서버 성능 개선
사용 기술
Kotlin
, gRPC
, Armeria
, Protocol Buffer
PostgreSQL(PostGIS)
, RabbitMQ
, Spring Boot
, Spring Data Jpa
, Docker
, MSA
, Kubernetes
, AWS
AWS 시스템 설계 및 구축
에스아이에이
2024.03. ~ 2024.05.
오비전 서비스의 AWS 클라우드 환경 배포 및 아키텍처 설계
총 20개의 서비스 배포 (백엔드 15, 프론트 1, 서빙 4)
Helm chart 작성 및 수정, AWS 서비스 기반 배포 설계
End to End의 모든 과정 설계
도메인 입력 -> Global Accelerator -> ALB -> 서비스
사용한 AWS 서비스
EC2
, RDS
, EFS
, Elastic Container Registry
, Global Accelerator
, Elastic Kubernetes Service
, EC2
, VPC
, Route53
, IAM
, Certificate Manager
, ElasticCache
모놀리식 -> MSA 전환
에스아이에이
2023.02. ~ 진행 중
설계 적극 관여
서비스 분리 설계 (DDD 기반)
서비스별 데이터베이스 독립적으로 관리 (폴리글랏 구조 채택)
각 서비스별 CI/CD 구축 (github action, ArgoCD)
분리되는 서비스에 새로운 기술스택 도입 및 템플릿 코드 작성 및 가이드 작업 수행
헥사고날 아키텍처 (기존 - 계층형 아키텍처)
spring, jpa, armeria로 기술 스택 변경 (기존 - koin, hibernate, armeria)
서비스간 통신 방식 비동기 채택 - RabbitMQ
RabbitMQ 선정 및 설계
사용 편리화를 위해 사내 코어 모듈에 라이브러리화 진행
서비스 분리 작업 수행
총 5개의 주요 서비스 분리 작업 완료 (스케줄링, 영상 입력, 타일링, 학습 서버 등)
대용량 데이터 성능 개선 (베이스맵 서비스, 영상 타일 서비스)
에스아이에이
2023.01. ~ 2024.02.
베이스맵 타일 전시 및 렌더링 성능 개선 (2023.01)
데이터 크기 300GB 이상, 데이터 개수 15억개 이상
파티션 및 데이터베이스 캐싱(shared buffer) 활용
1분 -> 1초 미만, 약 60배 이상 성능 향상
영상 타일 전시 성능 개선 (2024.02)
위성 영상의 크기(500MB ~ 10GB)
오픈소스 서비스로 대체
TiTiler (타일링 서비스)
사내에서 사용가능하도록 일부 리팩터링
서비스 배포
해당 서비스로 대체하기 위한 가이드
타일 단위로 기존 평균 5초 이상 -> 0.5초 미만, 10배 이상 성능 향상
대외활동
명언 애플리케이션 개발
개인
명언 프로젝트 (2024.02 ~ 진행 중)
앱, 웹 서비스 배포 작업 진행 중 (10월 중 서비스 오픈 예정)
https://github.com/wisoft-graduate/quotation-api-server
기술 스택
Kotlin
,Spring Boot Web
,Spring Data Jpa
,Kotest
,Testcontainers
,PostgreSQL
,Flyway
,Hexagonal Architecture
,CQS
,AWS
,Docker
역할
프로젝트 리더
프로젝트 리소스 관리
Docker Hub Organization 생성 및 관리
GitHub Organization 생성 및 관리
Notion Teamspaces 생성 및 프로젝트 관리를 위한 모든 템플릿 구성
백엔드 엔지니어
시스템 백엔드 작업 내용
명언, 댓글, 댓글 공지, 북마크, 좋아요 등 총 20개 API 구현
컨벤션 관리 (ktlint, git hook을 이용한 pre commit)
CI/CD 구축 (github action 사용, 무중단 배포)
기본 아키텍처 구성 및 템플릿 코드 작성
CQS 원칙적용
헥사고날 아키텍처 구조 설계 및 적용
Exception Handler 설계 및 적용
테스트 코드 작성
동적 쿼리 라이브러리 (jdsl) 도입
데이터베이스 설계
포트폴리오
교육
한밭대학교
대학원(석사) | 모바일융합공학과
2019.08. ~ 2021.08. | 졸업
한밭대학교
대학교(학사) | 정보통신공학과
2013.03. ~ 2019.08. | 졸업
자격증
정보처리기사
한국산업인력공단
2018.11.