<aside>
개발자는 단순히 기능만 구현하는 것이 아니라, 서비스와 비즈니스에 대한 깊은 이해가 동반되어야 한다고 생각합니다.
저는 경영정보학을 전공하며 데이터를 기반으로 비즈니스 의사결정을 내리는 과정을 배웠고, 이를 실제 서비스에 적용하기 위해 융합소프트웨어를 복수전공하며 개발 역량을 쌓아왔습니다.
이러한 배경을 바탕으로, 저는 항상 고객이 원하는 가치를 실질적인 기술로 구현하는 방법을 고민하며 개발하고 있습니다.
</aside>
<aside>
저는 늘 스스로에게 ‘**왜?’**라는 질문을 던지며, 단순한 요구사항을 넘어 비즈니스적으로 더 나은 방향을 고민하고 제안하는 것을 목표로 합니다.
이러한 신념을 바탕으로, 현재 2개의 웹 · 앱 서비스를 직접 기획, 개발, 운영하며, 사용자의 실제 피드백을 반영해 빠르게 개선하는 경험을 하고 있습니다.
이 과정에서 고객 중심의 사고와 문제 해결 역량을 키워가고 있습니다.
</aside>
<aside>
서비스를 운영하며 수많은 문제를 마주했고, 이를 주도적으로 해결해 나가며 성장해 왔습니다. 사용자가 겪는 불편함을 깊이 이해하고 직접 해결하며 개발자로서의 역량을 키울 수 있었습니다.
이러한 과정에서 얻은 인사이트를 단순한 배움에서 끝내지 않고 정리하고 공유하는 습관을 갖추기 위해 개인 블로그를 운영하며 지금까지 약 200여 개의 글을 작성해왔습니다.
앞으로도 문제를 해결하고, 이를 기록하며 성장하는 개발자가 되고자 합니다.
</aside>
Phone | 010-5892-6693
Email | [email protected]
Github | ****https://github.com/bbbang105
Velog | ****https://velog.io/@hsh111366/posts
LinkedIn | https://www.linkedin.com/in/sangho105/
$$ \color{#FFFFFF}\rule{1000px}{1.5px} $$
<aside>
소개
대학생들에게는 각자의 일정이 많아 구성원 모두가 가능한 시간을 조율하는 것이 번거로운 문제입니다.
이러한 불편함을 개선하고 더 직관적이고 효율적인 일정 조율 경험을 제공하고자 런칭한 웹 서비스입니다.
‘우만당만’ 팀은 프론트엔드 1, 백엔드 1, 디자인 2, 마케터 1로 구성되어있습니다. 이 중 백엔드 파트(기여도 100)를 맡고 있습니다.
2024.08 ~ ing
</aside>
<aside>
성과
2025년 3월 7일 기준, 약 6,000명의 사용자가 사용한 서비스가 되었습니다. 개강 시즌에 맞추어 본격적인 홍보를 진행하며 MAU가 빠르게 상승하여 약 2,000의 수치를 보이고 있습니다.
팀원 모두 고객의 목소리에 귀 기울이며 UI·UX 개선 및 신규 기능 개발에 집중하고 있습니다.
</aside>
총 사용자 수
MAU
<aside>
시스템 아키텍처
Java, Spring Boot
: API 개발 및 웹 애플리케이션 서버 구축에 활용하였습니다.MySQL & AWS RDS
: DB 구축을 위한 RDBMS로 활용하였습니다.Redis
: Refresh Token 관리에 활용하였습니다.Nginx
: 웹 서버, 리버스 프록시 등의 기능으로 배포 시 라우팅에 활용하였습니다.Docker & Docker Compose
: 여러 컨테이너가 동일한 환경 & 네트워크에서 실행되도록 활용하였습니다.AWS S3
: 빌드 파일 & 이미지 등의 객체 저장을 위해 활용하였습니다.AWS Code Deploy & Github Actions
: CICD 작업을 수행하는데 활용하였습니다.Flask & Selenium
: 웹 크롤링 서버 구축에 활용하였습니다.
</aside><aside>
비용 절감
대학생들이 모여 진행중인 사이드 프로젝트이다 보니, 비용에 대한 고민이 존재했습니다. 이를 해소할 방법을 강구하던 중 AWS Activate 스타트업 프로그램을 알게 되어 직접 신청하였고, 24년 11월 AWS $1,000 크레딧 확보에 성공하면서 기존 GCP에서 AWS로 마이그레이션하였습니다.
해당 크레딧을 활용하여 현재까지 5개월이 넘게 서비스를 안정적으로 제공중이며, 추후 약 1년 간은 비용에 대한 부담 없이 운영할 수 있을 것으로 예상됩니다.
</aside>
<aside>
안정적인 서비스 제공
실사용자가 있는 서비스이기에**, 블루-그린 무중단 배포 파이프라인**을 구축하여 다운타임을 최소화하고 안정적으로 버전 업데이트를 진행하고 있습니다.
새로운 버전이 릴리즈되기 전 팀 내에서 자체 QA 과정을 거칩니다. 이를 위해 테스트 환경을 별도로 운영하고 있습니다.
develop 브랜치에 각 feature가 push 또는 merge되면 자동으로 테스트 서버에 배포됩니다. 검수가 완료되면 release 브랜치에 staging한 후, 최종적으로 main 브랜치에 merge하여 운영 서버에 배포하는 구조로 버전을 관리하고 있습니다.
QA 시트
</aside>
<aside>
에브리타임 시간표 추출 기능 구현
개인의 스케줄을 미리 등록해 두는 ‘내 스케줄’ 기능의 사용을 유저들이 어려워함을 알게 되었고, 접근성을 높여야 겠다는 판단이 들었습니다. 주요 타겟이 대학생이라는 점에서 착안하여, 유저의 대학교 시간표를 고정 스케줄로 추출하여 바로 등록할 수 있게 하는 기능을 구현하였습니다.
이를 통해 5명에 그치던 내 스케줄 사용자가 50명 이상으로 늘어나는 성과를 얻었습니다.
</aside>
<aside>
에브리타임에서 유저 시간표를 가져오는 크롤링 기능을 개발하였습니다. 하지만 예상보다 많은 사용자가 몰리면서 응답 지연과 서버 부하 문제가 발생하였습니다. 이를 해결하기 위해 부하 테스트를 진행하고 WebDriver 최적화를 수행하였습니다.
초기 wrk 테스트에서 응답 시간이 4~5초까지 증가하고, 크롬 프로세스가 정상적으로 종료되지 않아 좀비 프로세스가 쌓이는 문제가 발생하였습니다. 동시 요청이 많아질수록 크롬 프로세스가 과도하게 생성되었고, 일정 시간이 지나면 서버가 다운되는 현상이 나타났습니다.
이를 해결하기 위해 WebDriver 풀링을 적용하여 크롬 인스턴스를 재사용하도록 변경하였고, 좀비 프로세스를 제거하는 로직을 추가하였습니다. 그 결과, 응답 속도가 평균 4~5초에서 1초 이내로 단축되었으며, 동시 요청 50명 이상에서도 안정적으로 동작하도록 개선하였습니다.
부하 테스트를 통해 실 배포 전 성능 병목을 사전에 파악하고 개선하는 것이 중요함을 경험하였으며, 사용자 편의를 고려한 기능 최적화가 곧 서비스 안정성으로 이어진다는 점을 배울 수 있었습니다.
</aside>
<aside>
이벤트 수정 시 삭제된 범위가 반영되지 않음 (관련 PR)
<aside>
</aside>
<aside>
</aside>
</aside>
$$ \color{#FFFFFF}\rule{1000px}{1px} $$
$$ \color{#FFFFFF}\rule{1000px}{1px} $$