About Me
하루 수억 건의 메일을 주고받는 MAU 2천만 이상의 다음메일 서비스의 서버사이드 개발/운영한 경험이 있습니다. 20년 이상의 오래된 서비스이자 수천만 유저의 대규모 트래픽 서비스를 8년 이상 운영하면서 다양한 인프라, 개발, 모니터링 환경을 경험하였고 다양한 장애 상황을 대처한 경험이 있습니다.
My 구독 서비스 신규 개발에 참여하여 서비스를 론칭하였고, 티스토리, 오픈링크, 오픈채팅 등의 서비스를 개발에 참여하였습니다. 현재는 AI Native Company TF에서 GraphRAG를 이용한 지식베이스 구축에 참여하고 있습니다.
일을 하며 쌓은 경험들은 문서화하고 동료들과 공유합니다. 반복되는 작업은 스크립트로 자동화하고 운영툴을 개발하여 운영비용을 줄입니다.
Skills
Back-end
- 주요: Java, Kotlin, Python, Linux, MySQL, Kafka
- 기타: PostgreSQL, C, Perl, Oracle, PHP, ETC
Front-end
- Javascript, jQuery, Bootstrap, React
Others
- Git & Github, Kubernetes
- Ansible, Jenkins
Experience
- AI Native Company TF - 2024.07 ~ 현재
- GraphRAG를 이용한 지식베이스 구축
- 오픈채팅 개발파트 - 2024.05 ~ 현재
- 오픈링크 개발파트 - 2023.08 ~ 2024.04
- 개인화 대화방 추천, 푸시 서버 개발
- 티스토리 개발파트 - 2022.06 ~ 2023.08
- 화이트 블로그 등
- My 구독 개발파트 - 2020.04 ~ 2022.06
- My 구독 서비스 개발/운영 - Java, SpringBoot, Kafka, MySQL, Redis, Kubernetes 등
- MSA 환경에서의 Web API 작성, Kafka를 이용한 Pub/Sub 구조의 데이터 처리
- 메일개발파트 2012.01 ~ 2020.04
- MAU 2천만 이상, 하루 수억건의 메일 수발신 트래픽을 처리하는 다음메일 서비스 개발/운영
- 수백대의 서버 배포, 모니터링, 로그수집 경험
- 20년 넘는 서비스 운영을 통한 다양한 환경과 기술 경험
- 언어: Java5 ~ Java11, C, Perl, Python, Kotlin, Groovy, Scala
- 프레임워크: Spring 1 ~ SpringBoot 2, Mojolicious
- API: Web API, REST API, CGI, Webservice
- DB: MySQL, Oracle, PostgreSQL
- 빌드도구: Gradle, Maven, Make, Ant
- 배포: rsync, webistrano, ansible
- 로그수집: logstash, filebeat, fluentd, syslog
- 모니터링: scouter, sentry, kibana
- 메시지: Kafka, RabbitMQ
- 사용자 알림: 카카오톡, 이메일, SMS
- DNS: MX, SPF, DKIM
- 이관: Oracle to MySQL, 32Bit to 64Bit OS, IDC 이관, PM to VM, Java5 to Java8 등
- 장애: HW/SW 장애, 네트워크 장애, 데이터 손실, 작업 실수, 저장소 장애 등
- Java, C, Perl, MySQL, Linux의 기술을 주로 사용 하였으며 상황에 따라 Kotlin, Oracle, MongoDB, ProgresSQL, RabbitMQ, JavaScript 등의 기술도 사용
- 이메일 서비스 도메인 지식 - SMTP, LMTP 등의 메일 프로토콜, MX, SPF, DKIM 등의 DNS 관련 지식
- 프리미엄메일 (유료 메일 서비스) 운영/유지보수
- MSA 구조로 변경, OS 버전업 대응, 서버 이전, DB 마이그레이션 등
- 레거시 개선 - 시스템의 불필요한 코드 400만 라인 이상 제거, 구조 개선, Java 버전업, JUnit 버전업, OS 버전업, 32bit -> 64bit, Ant -> Gradle, httpd 버전업 1.3 -> 2.4, tomcat 서버 버전업 등
- 인프라 작업 - IDC 이전 작업, PM -> VM 이전 작업 등
- 운영툴 개발 - 메일 수/발신 이력, 로그 조회, 사용자 활동 이력 확인 등
- 보안 개선 - SMTP TLS 1.2 지원
- DB 이관 - Oracle -> MySQL
- 유지보수/개선
- 인프라 마이그레이션, IDC 이전 작업
- 운영툴 개발
Qualcomm CDMA Technologies Korea
Assistant Software Engineer
July 2011 ~ Dec 2011
https://www.qualcomm.com
- 멀티미디어팀 지원. 빌드 도우미 툴 개발.
- C, JTAG, Android, Python
- 분자모형 연구 지원. 분자모형 데이터를 읽어서 3D 모델 렌더링 툴 개발
- OpenGL, Python
- Flucard (Wifi SD Card) 개발 참여 - 임베디드 OS에서 구동하는 웹 사진 뷰어 및 관리 도구 작성
- iBall (Wifi Camera) 개발 참여 - 디바이스 드라이버, 하드웨어 디버깅 작업
- Linux, JTAG, CGI, C, lighttpd
- 경북대학교 산학연구지원 시스템 개발
- 위니텍 프로젝트 관리 시스템 개발
- Oracle, Java, JBoss, Javascript, MiPlatform
- 영천호국원 홈페이지 제작
- PHP, MySQL, Flash
Projects
카카오메일
2018 - 2020
- 외부 메일 발송 서버를 Sendmail -> Java 서버로 변경. TLS 메일 발송 기능 적용
- 사용자 설정 서버, 메일 수신 이벤트 전달 서버, 메일 정리 배치, 외부메일 발송 서버, 로그 수집, 통계툴, 운영툴 등 세팅. 가입/이벤트 추첨 작업
- 카카오메일 프로젝트 - C로 된 레거시 메일에 cmake적용, 외부메일발송서버 sendmail을 java서버로 변경
- C, Java, MySQL
메일 발송 로그 수집 시스템과 조회툴
2016
- 기존에 메일의 발송 결과를 확인하기가 불편한 것을 개선함
- 발송로그를 Logstash를 이용해서 파싱해서 Kafka 서버로 전달.
- Kafka로 전달된 로그는 Storm을 거쳐 HBase에 저장.
- HBase에 저장된 로그를 조회하는 API와 API를 이용해서 발송로그를 확인하는 운영툴 개발 - NodeJS
회원시스템과 메일시스템 의존성 제거
2015
- 회원시스템과 메일시스템 의존성 제거 프로젝트 - C
- 회원 가입/탈퇴 처리 시스템 - SpringBoot, RabbitMQ
- 그룹메일
- 모니터링 강화
EMS - 대량 메일 발송 시스템
2014
- 대량 메일 발송 시스템 재개발
통합사내메일
2014
- 회사 합병 후 양사 메일계정 통합
메일-CS시스템 연동 프로젝트
2013, 2016
- 메일-CS시스템 연동 프로젝트
- 2016 Python -> Java로 재개발
- 2013 Perl -> Python으로 재개발
스마트워크
2013
- 기존 도메인메일 서비스를 스마트워크 서비스로 개편
- Java
파란메일 이관 프로젝트
2012
- 파란메일 종료 후 다음메일로 통합
설레는 도서관
2012
- 사내 도서관 시스템 구축
- Spring
외부활동
해카톤
- 2022 카카오 사내 해커톤 24K - 웹 화면 공유 툴 (Node, WebRTC)
- 2019 카카오 사내 해커톤 24K - 24K GOLD 썸네일 간편 제작 툴 (Javascript)
- 2017 Social Innovation Camp 36 - Pick Art You - 완전한 마무리상, 소셜이노베이션상 2관왕 (PHP, CodeIgniter, MySQL)
- 2014 Social Innovation Camp 36 - 썸맵 - 완전한 마무리상
- 2013 Social Innovation Camp Seoul - Finger Town - 1st prize
- 2012 Social Innovation Camp 36 - 특수교육대상아동을 위한 앱 - 소셜임팩트상
모임&발표
- 2019~2022 정원사들 - 일일커밋 모임. 시즌 2~7 참여
- 모임 출석부 개발 - 시즌7 출석부
- 2019 GDG DevFest Pangyo 정원사들 출석체크 만들기 발표
Education
경북대학교
IT대학 컴퓨터 학부 학사
2004 - 2012
- 소프트웨어 개발 동아리 (하늘소) - 2005년 동아리 회장
- 2011 LED 악보제작&연주기 - 최우수상 (C)
- 2010 경혈학 교육 어플 - 은상 (Android) / 확 땡기는 영어 - 은상 (Android, QRCode) / 밸런싱레고로봇 (Android, Bluetooth)
- 2009 장보기를 도와줘 - 은상 (Android, QRCode)
- 2005 즐거운합주 리듬게임 (WinAPI, DirectX, MIDI), 동아리 홈페이지 (PHP, MySQL)
- 2004 사진이야기 사진 편집 프로그램 - 특별상 (MFC)
- 프로젝트
- 2011 KNUSNS (PHP, MySQL, JavaScript), 키넥트 로봇팔 제어 프로젝트 (MFC, Kinect), AR 시간표 (Android)