저는 백엔드 개발을 중심으로 일하고 있는 소프트웨어 엔지니어입니다. 비용 효율성과 안정성을 우선에 두고 시스템을 설계해 왔고, 필요하다면 프론트엔드나 데브옵스 영역까지 경계를 두지 않고 문제를 해결해 왔습니다. 역할보다 결과가 중요하다고 생각하고, 프로젝트가 끝까지 완성되는 과정을 책임지는 데서 가장 큰 보람을 느낍니다.
기술을 다룰 때 늘 데이터에서 출발하려고 합니다. 기능을 만드는 데서 그치지 않고, 그 기능이 실제 사용자 경험과 비즈니스 성과로 어떻게 이어지는지를 고민하고 있습니다. 사용자의 입장에서 문제를 정의하고, 비즈니스 목표에 맞는 구조를 설계하는 과정 자체가 개발의 가장 흥미로운 부분이라고 생각합니다. “making the world run better through data”, 데이터와 기술이 결합될 때, 세상은 조금 더 효율적이고 덜 불편해질 수 있다고 믿습니다. 이 믿음이 제가 기술을 배우고, 기록하고, 공유하는 이유이기도 합니다.
현재는 AI 기반 의료 솔루션 기업에서 서버 개발을 맡아 온프레미스 환경의 배포와 운영 안정성을 책임지고 있습니다. 단순히 코드를 작성하는 데 그치지 않고, 팀이 더 잘 협업할 수 있는 개발 문화와 프로세스를 만드는 일에도 꾸준히 참여하고 있습니다.
그동안 지식 기반 시스템, 의료 AI 스타트업, 클라우드 중심의 대기업 환경까지 서로 다른 규모와 도메인에서 경험을 쌓아왔습니다. 덕분에 기술을 특정 스택이나 유행이 아닌, 비즈니스와 사용자의 맥락 속에서 바라보는 시각을 갖게 되었습니다. 개발자의 성장이 곧 팀과 비즈니스의 성장으로 이어진다고 믿으며, 지금도 배우는 속도를 늦추지 않으려 노력하고 있습니다.
Experience
Java, Spring Boot, Python, Docker 기반 마이크로서비스 아키텍처를 설계·운영하고, GitOps 기반 배포 파이프라인과 Testcontainer, RestAssured 기반 통합 테스트 환경을 구축했습니다. MLOps 기반 의료 데이터 관리 시스템과 시스템 및 어플리케이션 모니터링 환경을 구축했으며, DICOM 통신 처리, 병원 CS 대응 등 AI 헬스케어 도메인에서 실무를 주도했으며, 기술 공유, 세미나를 통해 주니어 성장과 개발 문화 확산에도 적극 기여했습니다.
- Java
- Spring Boot
- Dicom
- Python
- Docker
- Redis
- MariaDB
카카오 전사 인프라 시스템과 MSA 기반의 백엔드 서비스를 설계·운영했습니다. Kafka, RabbitMQ, Redis, Prometheus, Grafana, Kubernetes 기반으로 실시간 데이터 처리와 모니터링 환경을 구축했고, 장애 관리, 방문자 안내, 복지 시스템 등 사내 서비스들의 Spring 기반 Admin 및 API 서버를 개발했습니다. Helm 기반 쿠버네티스 배포, JaCoCo+SonarQube 환경 설정 등 DevOps와 코드 품질 개선도 주도했습니다.
- Java
- Spring Boot
- Kubernetes
- RabbitMQ
- ElasticSearch
- Kafka
메타데이터 표준 등록 및 검색 플랫폼, 논문 공개 서비스, QA 챗봇 등 다양한 공공/학술 도메인 서비스를 개발했습니다. Spring Boot, JPA, Elasticsearch 기반 백엔드 설계와 Python+Django 기반 오픈소스 커스터마이징을 수행했으며, GRPC·Netty를 활용한 고성능 통신 서버와 ISO-11179 기반 메타데이터 모델링 경험이 있습니다. 또한 RDF와 TTL 형식의 온톨로지를 설계하고 지식베이스 검색 시스템을 구축한 경험이 있습니다. AWS EC2, Nginx, PostgreSQL 기반의 다수의 웹 서비스를 직접 배포하고 운영했습니다.
- Java
- Spring
- RDF
- Jena
- Knowledge Graph
Projects
Writing
AWS EC2 micro에서 Vercel(Hobby)로 이전하며 얻은 것과 잃은 것
배경 Next.js 기반 개인 프로젝트인 economins를 한동안 AWS EC2 micro 인스턴스 환경에서 직접 운영해왔습니다. Docker 컨테이너 기반으로 CI/CD를 구성하고, GitHub Actions를 통해 이미지를 빌드한 뒤, ECR에 업로드하고, EC2에서는 docker-compose로 서비스를 실행하는 구조였습니다. 이 구조는 “실제 서비스처럼 운영해보자”는 목적에는 충분히 의미가 있었습니다. 배포 자동화, 실행 환경 고정, 인프라 운영을 직접 경험할 수 있었기 때문입니다. 다만 프로젝트가 안정화 되고 외부 유입과 홍보를 고려하면서 운영 비용과 복잡도가 현재 단계에 비해 과도하다는 판단이 들었습니다. 그 결과, 인프라 운영의 책임과 비용을 줄이고 서비스와 데이터에 더 집중할 ...
공공 API를 활용한 아파트 실거래가 원시 데이터 수집 설계
Rate Limit 환경에서 장기 운영 가능한 수집 구조 설계 아파트 가격 분석을 위해 가장 먼저 떠오르는 자료는 한국부동산원의 실거래가지수입니다. 하지만 지수는 가격의 변화 방향을 보여줄 뿐, 실제 거래의 분포나 평형·지역별 체감 가격을 설명해주지는 않습니다. 이에 이번에는 공공 API를 통해 실제 아파트 실거래가 원시 데이터를 직접 수집하고, 이를 기반으로 장기적인 가격 흐름과 정책 변화의 영향을 분석해보기로 했습니다. 왜 ‘원시 데이터(raw)’부터 다시 수집했는가 과거에도 실거래가 데이터를 수집한 경험이 있습니다. 2020년에는 DB에 저장했고, 2022년에는 CSV 형태로 정리해두었습니다. 문제는 다시 사용하려고 했을 때 발생했습니다. 컬럼 기준이 변경되면 기존 CSV로는 모...
쿠팡 해킹 사태로 알아보는 JWT 서명키 취약점: 위조 토큰 생성과 Spring Boot 인증 재현
2025년 쿠팡에서 발생한 해킹사고는 단순한 정보 유출 문제가 아니라, JWT 서명키 관리 실패로 인증 시스템 전체가 뚫리는 치명적인 보안 취약점이었습니다. 퇴사자가 회사에서 사용하던 JWT 서명키(JWT Access Token 서명키)를 회수하지 않았고, 해당 키로 정상 사용자처럼 보이는 Access Token을 임의로 생성하여 약 5개월 동안 무단으로 시스템에 접근할 수 있었습니다. 이로 인해 약 3300만건의 개인정보가 유출됐습니다. 내부용 API의 외부 노출도 문제이지만, 정상적인 로그인 절차 없이도 Acess Token을 만들어 개인정보를 추출할 수 있었던 상황을 JWT 원리와 Spring Boot로 구현한 인증 로직, Node.js로 위조 토큰을 만들어 실제 서버 인증이 우회되는 상황을 직...
API 1초에 10번으로 제한하기(Rate Limiter)
일반적으로 API 호출에는 초당 제한이 걸려있습니다. 트래픽의 처리율을 제어하기 위함인데, Dos(Denial of Service) 공격에 의한 자원 고갈을 방지하고, 추가 요청에 대한 처리를 제한하여 비용을 절감하고, 봇이나 사용자의 잘못된 이용으로 유발된 트래픽을 걸러내어 서버 과부하를 막을 수 있습니다. 예시) 빗썸 api 제한 안내 처리율 제한 장치(Rate Limiter) 처리율 제한 장치는 클라이언트 또는 서비스가 보내는 트래픽을 제어하기 위한 장치입니다. 특정 시간 동안 허용할 수 있는 요청 수를 제어하는 것으로 일반적으로 API Gateway에서 구현되고, SSL 종단, 사용자 인증, IP허용 목록 관리 등 을 지원하는 미들웨어입니다. 자바, 스프링 기반으로 애플리케이션 레이어...
Explorer
미디어 아트 프로젝트팀 midiDICE
- 생성 음악 기반 인터페이스 서버 및 프론트엔드, 전시용 인프라 구축 등 기술 구현 전반을 맡고 있습니다.
경제공부사내동호회 개미는뚠뚠
- 정기적으로 최신 경제 이슈에 대한 공유와 정기적인 동향 리포트, 모의투자 대회 등을 통해 시장흐름을 체험하였고, 실제 기업의 재무구조나 산업의 방향성을 파악하는 연습도 병행해, 이러한 과정을 통해 회사를 단순한 조직이 아닌 경제적 주체로 바라보는 눈이 생겼고, 시장과 연결된 비즈니스를 입체적으로 이해할 수 있습니다.
대학생 연합 기업형 IT 동아리 YAPP
- 기획자, 디자이너, FE, BE가 함께 팀을 구성해 하나의 서비스를 만드는 과정에서 기획의 구체화부터 UI설계, 개발 협업, 피드백 까지 실무 흐름을 자연스럽게 익힐 수 있었습니다. 개발 지식은 물론 협업과 프로젝트 빌딩 감각까지 함께 얻은 경험이었습니다.
직장인 독서 모임 더리더스
- 다양한 분야의 사람들과 책을 읽고 이야기를 나누면서, 평소 접하지 않았던 분야의 책을 읽으며 사고의 폭을 넓힐 수 있었고, 서로 다른 시선과 해석을 통해 지식이 더 깊어지고 다층적으로 연결되는 경험을 하였습니다.
독서문화기획동아리 청춘이여, 책을펴자
- 독서 콘텐츠를 소개하고, 책을 큐레이션하여 정기적으로 소개하며, 오프라인 이벤트를 통해 책을 통해 사람과 문화의 연결을 직접 만들어가는 과정 속에서 대중과 직접 소통하는 감각을 경험했습니다.
ICT 멘토링 한이음
- 여러 대학 학생들과 팀을 이루어 기획, 리서치를 함께 수행하고 멘토님의 피드백을 통해 산업 현장의 흐름을 배우고 프로젝트 기획과 커뮤니케이션 역량을 키우는 소중한 경험이었습니다.
교보문고 광화문점 양서파트
- 도서 정리, 진열, 안내 등의 업무를 맡아 수많은 책과 사람을 마주하며, 단순히 책을 판매하는 것이 아닌 지식과 문화의 전달자로서 역할을 경험할 수 있었습니다.
메가박스 동대문점
- 박스, 컨, 어셔 업무를 번갈아가며 맡아 다양한 고객을 응대하며 커뮤니케이션 능력을 기를 수 있었고, 동료들 간의 유기적인 협업으로 바쁜 시간에도 원할한 운영을 유지하는 방법을 배웠습니다.
6포병여단
- 실사격과 화포 정비 그리고 극한 상황을 견디는 경험을 통해 꼼꼼함과 끈기를 기르고, 다양한 사람들과의 생활 속에서 세상을 바라보는 넓은 시야를 얻었습니다.
순수 미술 동아리 유채꽃
- 그림을 배우고 벽화 프로젝트에도 참여했습니다. 그림 실력은 미천하지만 흐름을 방해하지 않도록 밑작업과 정리를 맡아 함께 완성해 나가는 기쁨을 배웠습니다.
봉사 동아리 빛과 소금
- 누군가의 일상에 작은 온기가 되어주는 경험을 했습니다. 그 시간을 통해 타인의 삶을 들여다보고, 세상이 생각보다 더 다채롭고 복합적이라는 것을 배웠습니다.
Education
한성대 문헌정보학과 & 정보시스템공학과 복수 전공
Awards & Certification
AWS Certified Solution Architect - Associate
-
Certificate of Appreciation, Heuron
-
ICT-문화,예술융합 공모전 Art융합과제 대상(과학기술정보통신부장관상)
-
2급 정사서, 문화체육관광부
-
정보처리기사, 과학기술정보통신부
-
Interests
육아
- 최근 가장 몰입 중인 취미는 육아입니다. 아이와의 시간을 가장 소중한 프로젝트로 여기며 하루하루 배우고 성장하는 모습을 보며 함께 성장하고 있습니다.
경제 블로그
- 경제 흐름을 관찰하고 정리하는 개인 블로그를 운영중입니다. 주요 지표 해석, 경제 또는 정책 분석 등 데이터 기반 경제 정보에 관심 있는 분들이 하루 평균 100명 이상 찾아주십니다.
독서
- 경제와 기술은 세상을 움직이는 두 축이라고 생각합니다. 변화하는 흐름을 따라가기 위해 한 달에 한 권 정도 경제 또는 개발 서적을 읽으며 시야를 넓히고 있습니다.
음악
- 음악은 제 삶의 배경이자 중심입니다. 매일의 감정과 분위기에 어울리는 음악을 찾는 일은 저만의 소소한 취미입니다. 2024년에만 멜론에서 10463곡을 들었고, 익숙한 장르를 넘어, 다양한 감정과 느낌이 담긴 음악과 함께하는 모든 순간을 기억하고 싶습니다.