geonoo

이건우

백엔드

운영 중인 메일 서비스의 성능과 안정성을 개선하는 백엔드 개발자입니다.

느린 조회를 측정하고 개선하며, 인증 연동과 데이터 이전을 맡아왔습니다. 이전에는 Spring으로 도서·도서관 서비스와 할 일 앱을 개발했습니다.

메일플러그 메일솔루션팀 · 2023.01.16 ~ 재직 · 경력 6년 이상

21초 → 0.4초최근 연락처 API 평균 응답 455ms → 1.9ms로그인 기록 집계 개발부터 운영까지데이터 수집·모의매매 자동화

경력

메일플러그

메일솔루션팀 · 정규직

2023.01.16 – 재직

운영 중인 메일 서비스에서 버그 수정, 계정·조직 반영, 인증, 보안 점검, 데이터 이전을 했습니다.

  • 성능 개선 · 최근 연락처 API의 평균 응답을 21초에서 0.4초로 줄이고, 게시판과 로그인 기록의 조회 인덱스를 개선했습니다.
  • 인증·보안 · SSO, 외부 OTP, Google Workspace SAML을 연동하고, 보안 점검의 오탐과 실제 취약점을 구분해 대응했습니다.
  • 데이터 이전·조직 연동 · CodeIgniter 기반 메일 데이터 이전 툴을 정리하고, 고객 인사 데이터를 메일 조직에 동기화했습니다.
  • 서비스 운영 · FCM v1 전환, 날짜별 로그인 CSV 제공과 로그인·첨부·배치·회원 반영 오류 수정을 맡았습니다.

브이에스커뮤니티

웹 서비스 개발·운영

2019.01.07 – 2021.08.31

2년 8개월

도서 추천, 도서관 시스템 연동, 도서 배달·반납을 Spring, MySQL, MyBatis, Tomcat으로 개발하고 운영했습니다.

  • 북쉘빙. 도서 추천과 도서관 시스템 연동. 2019.07 – 2021.01
  • 도서관 플러스. 도서 배달·반납. 2021.01 – 2021.06

문제 해결

느리면 시간을 재고, 느린 구간을 찾아서 고친 뒤, 같은 조건으로 다시 잽니다. 결과도 같은지 확인합니다.

모바일 최근 연락처

메일플러그

2024.03

평균 21초 → 0.4초. 건수와 내용은 이전과 같았습니다.

처음 들어오거나 연락처를 동기화할 때 최근 주소를 가져오는 API가 평균 21초였습니다. 주소 한 건마다 DB를 여러 번 조회했고, 같은 이름은 루프 안에서 다시 비교했습니다.

사내 주소만 모아 한 번의 조회로 맵을 만들고, 중복 비교도 맵으로 바꿨습니다. 추가 개선에는 DB 구조 변경이 필요했습니다. 더 줄이려면 사용자마다 나뉜 연락처 DB를 하나로 모아야 해서, PHP 버전업과 같이 하기로 했습니다.

로그인 기록

메일플러그

2025.07

조회가 느려 인덱스를 정리했습니다. 겹치는 인덱스를 빼고, 사용자·날짜·유형을 묶는 인덱스와 자주 빠지는 유형을 제외한 부분 인덱스를 넣었습니다. 넣기 전에 SQLite 쿼리 플랜으로 미리 검증했습니다.

로그인 집계: 455ms → 1.9ms

로그인 날짜 범위 개수: 812ms → 105ms

로그인 목록: 636ms → 90ms

게시판 인덱스

메일플러그

2024.10 – 11

슬로우 로그의 답글 수, 글 조회, 최근 작성 시각을 보고 인덱스를 다시 짰습니다. 적용 전에 SQLite 쿼리 플랜으로 미리 검증했습니다.

복제본에서 먼저 재고, 적용 중 잠금으로 서비스가 멈추지 않는지와 글·댓글의 생성·조회·수정·삭제가 그대로인지를 확인했습니다.

투두윗 검색과 메일

항해99

2022.06 · 약 6주

커뮤니티 검색은 LIKE에서 전문 검색으로 바꿔 평균 122ms에서 64ms가 됐습니다. 메일 발송은 비동기로 바꿔 응답이 4초에서 1초 미만이 됐습니다.

프로젝트

주식 데이터 수집·리포트 자동화

개인 프로젝트 · 운영 중

한국 시장 일봉 수집부터 백테스트, 모의매매와 리포트까지 Python과 cron으로 자동화한 개인 프로젝트입니다.

  • 수집·리밸런싱·장중 점검·장 마감 리포트를 시간대별 작업으로 분리했습니다.
  • Slack 알림과 로그 요약을 통해 실행 결과를 확인하고, 디스크와 보안 점검도 주기적으로 수행합니다.

투두윗

항해99

2022.06

할 일을 같이 달성하게 하는 서비스입니다. 백엔드 개발을 주도했습니다. 다른 6개 팀보다 진척이 빠르다는 피드백을 받았고, 최고의 프로젝트 상을 받았습니다.

북쉘빙

브이에스커뮤니티

2019.07 – 2021.01

도서 추천과 도서관 시스템 연동. 새 도서관과 붙일 때 데이터를 넘기는 서버를 설치했고, 도서관마다 원격으로 패치하던 일은 스케줄러가 상태를 보고 war 파일을 자동으로 다운 받도록 했습니다. 회원증 조회, 목록·상세의 검색과 좋아요, 서평, 댓글도 맡았습니다.

도서관 플러스

브이에스커뮤니티

2021.01 – 2021.06

도서 반납을 배달하는 하이브리드 앱. 사용자와 라이더의 반납 요청, 마이페이지, 배달 현황, 반납 완료 API를 만들고 화면과 연결했습니다. DB는 직접 설계했습니다.

그 밖에

  • agenthub. 공시와 금융 뉴스를 정리해 주는 API. 저장소
  • 블로그 글을 골라 정리하는 큐레이션.

일하는 방식

이렇게 일하게 된 계기

교양 수업에서 스크래치로 2인 작품을 만들다 시간 가는 줄을 몰랐고, 성적은 A+이었습니다. 그때 개발을 직업으로 생각했습니다.

국비 과정에서 데이트 코스를 추천하는 앱의 목록, 댓글, 좋아요를 맡았습니다. 회의를 여러 번 하니 문제가 빨리 보였고, 설명을 글로 남겨 두니 다른 기능과 겹쳐도 팀이 코드를 읽을 수 있었습니다.

택시 호출 앱을 따라 만들 때는 지도 길 찾기를 혼자 맡다가 팀과 이야기가 줄었습니다. 투두윗에서는 그래서 페어로 같은 화면을 보자고 제안했습니다.

2017년에는 아이 통학 차량 사고를 줄이려고, 유치원 버스에 IoT를 붙이는 Safe bus로 창업 경진대회에 나가 상을 받았습니다. 가격과 시장과 법을 먼저 보지 않아 기대만큼은 아니었습니다.

스킬과 자격

써 본 기술입니다.

Backend

Java, Spring, Spring Boot, JPA, MyBatis, PHP, CodeIgniter, Python

Data

MySQL, Oracle, SQL, Redis

Infra

Apache, Nginx, Tomcat, AWS, EC2, Git, Gradle, Maven, Linux

Web

JavaScript, jQuery, HTML, CSS

학력과 그 사이

학교, 교육, 일을 겹쳐서 해 왔습니다.

  1. 원종고등학교 졸업
  2. 인하공업전문대학 정보통신학과 졸업 · 3.8/4.5. 야간으로 다녔습니다.
  3. 육군 병장, 만기전역
  4. ICIA 자바 개발자 과정 · 960시간. 학교는 야간, 낮에는 교육원을 병행했습니다.
  5. 한국방송통신대학교 컴퓨터과학과. 첫 직장 뒤, 4년제 졸업을 목표로 편입해 일과 같이 다녔습니다. 3.5/4.5
  6. 퇴사 후 항해99 7기. Spring 주특기
  7. 메일플러그 입사. 재직 중에 정보처리기사(2023.06)에 합격하고, 방송대를 졸업(2023.08)했습니다.