채용공고 올리기

곽승민님을 응원해보세요!

이직/구직 중이에요
책임감
협업 지향
유연함
꼼꼼함
고객 중심

미리보기

기본 정보

이름
곽승민
직업
백엔드 개발자
간단 소개

다양한 프로젝트 경험과 폭넓은 기술 역량을 갖춘 백엔드 엔지니어, 곽승민입니다 😊 👀 Java와 Spring Boot를 주로 사용해요. 🖥️ 서비스 기획부터 배포까지의 프로젝트 전체​ 사이클을 경험한 덕분에 전체적인 서비스 흐름을 빠르게 이해하고 효율적으로 관리할 수 있어요. 📚 새로운 기술을 습득하고 적용해서 문제를 해결하는 능력을 갖추고 있어요. 🧑‍🤝‍🧑 팀워크와 협업을 통해 프로젝트를 원활하게 진행하고, 문제를 공유해 함께 고민하면서 최적의 ​해결책을 도출해요.

기술 스택

기술 스택

Java, Spring Boot, JPA, Google Cloud Platform, Kubernetes, MySQL, Docker, mybatis, querydsl, Spring Batch

경력

회사명

케어마인드

직급 | 부서 | 근무 유형

개발팀

근무 기간

2020.12. ~ 2024.04. (3년 5개월)

담당 업무

🪞 성형 후 외상관리 서비스 '에포터'

  • API 서버 Java 전환 담당
  • 에포터 메인 서비스 및 백오피스 API 유지보수 및 신규 기능 개발
  • GCP 인프라 구성 및 운영 담당
  • 배포 프로세스 구축
  • 서버 GKE 전환
  • Vue로 구현된 파트너 서비스 클라이언트 개발 참여
  • 안드로이드 및 iOS 네이티브 앱 유지보수 참여

🔍 아토피 케어 서비스 '아토닥'

  • API 신규 개발 및 유지보수
  • GCP 인프라 구성 및 운영 담당
  • 배포 프로세스 구축
  • 네이티브 앱 개발 참여
회사명

코노랩스

직급 | 부서 | 근무 유형

개발팀

근무 기간

2019.12. ~ 2020.11. (1년)

담당 업무

🗓 AI 일정관리 비서, Kono

  • API 유지보수
  • 서비스 개선 및 신규 기능 개발

📚 목표 관리 및 자기 계발 서비스

  • 신규 API 개발 참여

프로젝트

프로젝트명

에포터 '뷰티크' 서비스 개선

소속/기관명

케어마인드

프로젝트 기간

2024.01. ~ 2024.04.

프로젝트 내용

💫 Summary

에포터 주요 서비스인 '뷰티크' 서비스의 전체 개편과 사용자들이 서비스를 지속적으로 사용하며 즐길 수 있는 컨텐츠를 제공하고, 사용성을 개선하기 위한 프로젝트

💐 Works

  • '뷰티크' 내 신규 서비스 '뷰티 메이트' 기획 참여

  • 신규 API 개발 및 DB 모델링

  • JPA 도입

🌱 What I Learned

  • 서비스 현황 파악을 통한 문제점 및 원인 도출

  • JPA 연관관계 매핑 및 연관관계 관리(즉시 로딩, 지연 로딩)

💫 What I Solved

  • 뷰티크' 서비스 핵심 지표인 '기록 완료율'이 23% 증가했습니다.

  • AI 모델을 서빙하는 AI API와 서비스 API 간 통신 로직에 대한 문서가 없어, 관련 작업 진행 시마다 담당자가 히스토리 파악에 많은 리소스를 낭비하고 있었습니다. 이를 해결하기 위해 AI팀과 협력하여 각 서버의 처리 로직을 정리하고 문서화하여 작업 효율성을 향상시켰습니다.

  • 프로젝트에 JPA를 도입하여, 기존 MyBatis를 사용할 때 테이블 구조 변경 시 관련 쿼리를 모두 수정해야 했던 번거로움을 줄였고, CRUD 작업과 관련된 쿼리 중복을 줄여 유지보수 비용과 시간을 절감했습니다. 또한 이 과정에서 JPA를 빠르게 학습하고 프로젝트에 적용할 수 있었습니다.

프로젝트명

주치의 피드백 서비스 채팅 시스템 구축

소속/기관명

케어마인드

프로젝트 기간

2023.08. ~ 2023.11.

프로젝트 내용

💫 Summary

에포터 서비스 중 제휴 주치의와 상담할 수 있는 '주치의 피드백' 서비스의 채팅 시스템을 설계하고 구현한 프로젝트

💐 Works

  • 채팅 시스템 DB 모델링

  • 채팅 시스템 설계 및 API 구현

🌱 What I Learned

  • 채팅 시스템 동작 방식

  • Polling 기법, WebSocket

💫 What I Solved

  • 일정 시간 동안 상담 진행이 없을 시 종료 처리 로직을 Spring Batch를 이용하여 구현했습니다.

  • 처음에는 새 메시지가 있는지 확인하는 방법으로 DB hitting 방식을 고려했습니다. 하지만 팀원들과의 논의를 통해 DB hitting 방식의 데이터베이스 부하 문제를 인식했고, 최종적으로 polling 기법을 적용하여 구현했습니다.

프로젝트명

사내 인증-인가 시스템 구축

소속/기관명

케어마인드

프로젝트 기간

2023.08. ~ 2023.09.

프로젝트 내용

💫 Summary

OAuth 2.0을 기반으로 한 사내 인증-인가 시스템 구축 프로젝트

💐 Works

  • 인증 코드 발급, 토큰 발급 및 검증 로직(인증 서버 로직) 구현

🌱 What I Learned

  • OAuth2.0의 개념과 동작 방식

  • 기존 인증 방식으로 동작하는 서비스에 영향을 미치지 않고, 새로운 인증 방식과 기존 인증 방식이 동시에 동작하도록 하는 방법

💫 What I Solved

  • JWT 토큰 방식을 이용한 인증 방식을 적용했습니다.

  • 서버 내 사용자 인증, 인가 검증 및 활용이 여러 곳에서 처리되고 있어 유지보수와 활용이 어려웠던 상황이었는데, 이 프로젝트를 통해 일원화된 인증-인가 시스템을 도입할 수 있도록 개선되었습니다.

프로젝트명

에포터 '회복실' 서비스 개편

소속/기관명

케어마인드

프로젝트 기간

2023.07. ~ 2023.08.

프로젝트 내용

💫 Summary

회복중인 사용자에게 필요한 컨텐츠 제공을 위한 '회복실' 서비스 개편 프로젝트

💐 Works

  • 회복 부위 인식 AI 모델 도입 및 API 개발

  • 회복 이미지 인증 처리

🌱 What I Learned

  • API 비동기 처리

  • GCP Signed Url 적용 방법

💫 What I Solved

  • AI 모델에서 회복 부위 인식 이미지 생성 시에 2초 정도 소요되는데, 연결을 유지한 채로 결과를 기다리고 있어 요청이 몇 개만 동시에 들어와도 처리 시간이 늘어나는 문제가 있었습니다. 이미지 요청 시 즉시 응답을 주고, 이미지 생성이 완료되면 API 서버로 결과를 보내 비동기적으로 처리하도록 개선하였습니다.

  • 회복 이미지는 본인 접근 가능해야 하기 때문에 GCP Signed URL을 활용하여 제한된 시간 동안만 유효한 URL을 생성하도록 개선했고, 이미지 접근 제어를 강화했습니다.

  • AI API와의 통신에서 Request/Response 형식이 일관되지 않아 각 요청에 맞는 객체를 모두 만들어야 하는 번거로움이 있었고, 이를 해결하기 위해 JSON 형식을 정규화하여 통일했습니다.

프로젝트명

에포터 - 광고 시스템 서버 통합

소속/기관명

케어마인드

프로젝트 기간

2023.03. ~ 2023.04.

프로젝트 내용

💫 Summary

별도로 운영되고 있던 광고 시스템 서버와 '에포터' 서비스 서버 통합 프로젝트

💐 Works

  • GCP 인프라 이전

  • 사용자 인증 통합

  • 광고 성과 보고서 기능 API 개발

💫 What I Solved

  • 인프라 비용 및 운영 비용을 약 19% 감소시켰습니다.

  • 한 GCP 프로젝트에 위치한 API에서 다른 GCP 프로젝트에 위치한 비공개 DB에 접근할 수 있도록 Cloud SQL Proxy를 활용하여 다른 프로젝트에서 특정 DB에 접근하기 어려웠던 문제를 해결했습니다.

  • 두 서버에서 각각 사용하고 있는 서로 다른 사용자 인증 방식을, AOP를 활용하여 하나의 서버에서 각 인증 방식을 적용할 수 있도록 구현했습니다.

프로젝트명

‘아토닥’ 서비스 신규 런칭

소속/기관명

케어마인드

프로젝트 기간

2022.07. ~ 2022.09.

프로젝트 내용

💫 Summary

아토피 병변 부위를 촬영하고 증상을 기록하면 AI가 중증도를 예측하여 성인 아토피 중증 환자들을 위한 맞춤형 케어 서비스를 제공하는 인공지능 기반 아토피 중증도 예측 및 케어 앱 서비스 신규 런칭 프로젝트

💐 Works

  • 서비스 API 신규 개발 및 유지보수, 자사 AI 모델 적용

  • GKE 서버 구성 등 인프라 구축

  • GCP 내 배포 프로세스 구축

  • React Native로 구성된 앱 개발 참여

🌱 What I Learned

  • 프로젝트 초기 구축 및 로직 구현, 배포

  • JWT를 이용한 사용자 인증 방식 적용

  • 외부 API 연동을 통해 외부 데이터를 서비스 DB 내부 스키마에 맞게 모델링하는 방법

  • 데일리 스크럼을 통한 업무 블로커 제거 및 진행 현황 체크의 중요성

💫 What I Solved

  • 사용자 인증 로직을 설계할 때 Sequence Diagram을 활용해 인증 로직 흐름을 정리하고, 이를 통해 코드 작업 시 수정을 줄여 작업 속도를 향상시켰습니다.

  • 테스트 코드를 작성하여 배포 전 로직에 빠진 부분이 있는지 간단히 테스트 가능하도록 했으며, Spring RESTDocs를 활용해 테스트 코드로 API 문서를 자동으로 생성해 활용했습니다.

프로젝트명

에포터 서비스 푸시 시스템 개선

소속/기관명

케어마인드

프로젝트 기간

2022.06. ~ 2022.07.

프로젝트 내용

💫 Summary

에포터 서비스 앱 푸시 기능 정상화 및 앱 푸시 전송 시스템 개선 프로젝트

💐 Works

  • 디바이스 토큰 저장 및 앱 푸시 동작 로직 수정

  • 안드로이드 및 iOS 네이티브 코드 수정 및 배포

  • 사용자 타겟팅 푸시 전송 기능 구현

💫 What I Solved

  • 앱 푸시 정상화로 DAU가 60% 증가하고, 푸시 오픈율이 200% 증가했습니다.

  • 안드로이드 앱 푸시가 전송되지 않던 주요 원인은 네이티브-웹뷰 간 디바이스 토큰이 전달되지 않는 것이었습니다. 네이티브 코드에서 웹뷰 자바스크립트 코드를 호출하여 파라미터로 토큰을 넘겨주는 로직을 수정하여, 서버에 토큰이 올바르게 저장되도록 했습니다.

  • iOS 앱 푸시는 기존의 Apns 방식을 Firebase를 활용한 방식으로 전송하도록 개선했습니다.

  • 푸시를 눌렀을 때 앱이 켜지면 해당 페이지로 바로 이동해야 했으나, 이 기능이 제대로 동작하지 않았습니다. 푸시 전송 시 ‘target’ 이라는 값을 주어 넘겨주고, 네이티브 단에서 푸시를 수신하면 해당 값을 확인해 적절한 페이지로 웹뷰를 띄우도록 하여 문제를 해결했습니다.

  • Firebase의 주제 구독(topic subscribe) 방식을 사용하여, 특정 조건에 따라 사용자 디바이스 토큰을 특정 주제에 구독시키고, 각 주제에 맞게 사용자 타겟팅 푸시를 전송할 수 있는 기능을 구현했습니다.

프로젝트명

GKE 전환 및 자동 배포 프로세스 구축

소속/기관명

케어마인드

프로젝트 기간

2022.05. ~ 2022.06.

프로젝트 내용

💫 Summary

Google Compute Engine(GCE) 인스턴스와 로드밸런서를 이용해 운영하던 서버를 Google Kubernetes Engine(GKE)으로 전환하고, 프로젝트 빌드 및 배포를 자동화 한 프로젝트

💐 Works

  • Google Kubernetes Engine 도입

  • Cloud Build, Jenkins를 활용한 빌드 및 배포 자동화 프로세스 구축

💫 What I Solved

  • GCE 인스턴스로 서버를 운영하면서, 서버 장애로 인한 서비스 중단과 수동 재배포의 번거로움을 해결하고자 GKE를 도입했습니다. 이를 통해 서비스의 안정성을 높이고, 관리 효율성을 향상시켰습니다.

  • Dockerfile 대신 Jib을 이용하여 컨테이너 이미지를 생성해 레지스트리에 업로드하는 방식을 통해 배포 효율성을 향상시켰습니다.

  • 수동 배포로 인한 문제를 해결하기 위해 Cloud Build와 Jenkins를 활용하여 빌드 및 배포 자동화 프로세스를 구축했습니다. 이로 인해 배포 시간이 단축되고, 운영 효율성이 향상되었습니다.

프로젝트명

관심 뉴스 모아보기 앱 '뉴즈(Newz)'

소속/기관명

(기타) Google Developer Group Songdo / 뉴모아

프로젝트 기간

2022.12. ~ 2023.01.

프로젝트 내용

💫 Summary

내가 관심있는 뉴스 기사를 키워드 기반으로 모아보고, 기사 내용을 요약하여 한 눈에 살펴볼 수 있는 앱 서비스

💐 Works

  1. Flutter를 활용한 안드로이드 앱 개발

    • 온보딩 및 키워드 선택 페이지 구현

    • 서버의 로그인 인증 로직과 로그인 여부에 따른 페이지 라우팅 처리 담당

  1. 서버 개발

    • Java Spring Boot를 이용한 API 서버 개발

    • JWT 토큰 기반 사용자 인증 구현

    • Swagger를 이용한 API 문서화

    • Flask를 이용한 기사 요약 서버 개발

      • 네이버 검색 API와 Newspaper 라이브러리를 활용하여 기사 내용 수집

      • Gensim 라이브러리를 이용하여 내용 요약 API 구현

💫 What I Solved

  • 로그인 후 반환된 사용자의 정보를 저장하고, 전역으로 사용해야하는 부분에서 상태 관리를 적용하였습니다.

  • 기사 내용을 크롤링하는 대신 네이버의 검색 API를 활용하여 기사 링크를 가져와 해당 링크의 기사 내용을 수집할 수 있도록 구현하였습니다.

  • 내용 요약 라이브러리인 'Gensim'을 이용한 파이썬 API를 구성하여 사용하였습니다.

프로젝트명

에포터 어드민(백오피스) 서비스 개선

소속/기관명

케어마인드

프로젝트 기간

2021.11. ~ 2022.02.

프로젝트 내용

💫 Summary

사내 멤버들이 사용하는 어드민(백오피스) 서비스의 문제점을 파악하고, 이를 개선해 불필요한 업무를 줄여 서비스 모니터링과 지표 파악이 용이하도록 개선한 프로젝트

💐 Works

  • Node.js로 구성된 API 서버의 Java 전환

  • 운영 지표 추출 자동화

  • 비효율 쿼리 개선 및 일부 DB 스키마 개선

💫 What I Solved

  • 운영팀의 요구사항을 분석하고 필요한 기능을 리스트업하여 이를 바탕으로 개발을 진행했습니다.

  • 비효율 쿼리 개선을 통해 사용자 관리 및 데이터 검색 시 평균 3-4초가 걸리던 검색 속도를 1초 이내로 단축시켰습니다. 이로 인해 데이터 검색 및 조회 효율성이 향상되었습니다.

  • 수동으로 DB에서 추출하여 전달하던 운영 지표 데이터를 Spring Batch를 활용해 서버에서 주기적으로 가공 및 저장하도록 구현했고, 이를 어드민에서 상시 확인할 수 있게 되었습니다.

프로젝트명

에포터 및 파트너 서비스 안정화

소속/기관명

케어마인드

프로젝트 기간

2020.12. ~ 2021.03.

프로젝트 내용

💫 Summary

에포터 및 파트너센터 API 서버를 Java로 전체 전환하고, 에포터 웹사이트를 SPA(Single Page Application)로의 전환을 통한 서비스 안정화 프로젝트

💐 Works

  • 에포터 및 파트너 서비스 API Java로 전체 전환

  • 에포터 서비스 클라이언트 SPA 전환을 위한 토대 마련

  • 파트너 서비스 클라이언트(웹페이지) 개발 참여

  • Vue.js로 구성된 파트너 서비스 클라이언트 개발 참여

  • AWS Code Pipeline을 이용한 배포 자동화 구축

💫 What I Solved

  • Google Compute Engine에서 AWS S3의 정적 호스팅 방식으로 클라이언트를 이전하여 인스턴스 운영 비용을 절감했습니다.

  • Java로의 API 전환 과정에서 클라이언트와의 호환성을 유지하기 위해 Response 형식은 이전과 동일하게 하여 클라이언트 부분 수정 없이 진행했습니다.

  • 비효율 DB 쿼리를 개선하고, 인덱스를 추가하여 데이터 로딩 속도를 단축시켰고, 이로 인해 사용자 경험이 향상되었습니다.

프로젝트명

목표관리 및 자기계발 신규 서비스 개발 참여

소속/기관명

코노랩스

프로젝트 기간

2020.07. ~ 2020.11.

프로젝트 내용

💐 Works

  • CRUD, 사용자 인증 등 서비스에 필요한 REST API 구현

  • FCM을 이용한 앱 푸시 알림 구현

  • 테스트 코드 작성 및 Spring REST Docs를 이용한 API 문서화

🌱 What I Learned

  • RESTful API의 개념과 이를 이용하여 서비스에 필요한 API를 구현하는 방법

  • Spring Boot에서 JUnit을 이용해 테스트 코드를 작성하는 방법

  • REST Docs를 이용하여 테스트 코드를 통해 API 문서를 생성하는 방법

프로젝트명

AI 일정관리 비서 Kono API 유지보수

소속/기관명

코노랩스

프로젝트 기간

2019.12. ~ 2020.11.

프로젝트 내용

💫 Summary

원하는 캘린더 서비스 기반으로 슬랙, 이메일을 통해 쉽고 간편하게 일정을 조율하고 관리하는 인공지능 일정관리 서비스

💐 Works

  • 버그 수정 및 코드 리팩토링 등 Kono API 유지보수

  • Kono 서비스 개선 및 신규 기능 개발

🌱 What I Learned

  • 서비스의 주요 기능을 새로 구현하기 보다는, 기존 코드를 파악하고 버그를 찾아내어 유지보수하는 것

  • 기존 코드 로직을 따라가면서 해당 기능이 어떻게 동작하는지 파악하고, 이론적인 코드가 아닌 실제 서비스 중인 실무 코드를 파악하고 분석하는 방법

포트폴리오

URL

link

Github

깃허브
link

Blog

깃허브

교육

소속/기관명

선문대학교

종류 | 전공

대학교(학사) | 컴퓨터공학

재학 기간 | 재학 상태

2016.03. ~ 2020.02. | 졸업

소속/기관명

인천해송고등학교

종류 | 전공

고등학교

재학 기간 | 재학 상태

2013.03. ~ 2016.02. | 졸업

댓글