미리보기
기본 정보

“저는 함께 소통하며 문제를 해결하고, 지식을 나누며 성장하는 개발자입니다.” 사이드 프로젝트에서 진행한 뉴스 피드 시스템 개발을 주제로 미니 컨퍼런스에서 발표한 경험이 있습니다. 해당 발표를 통해 많은 사람들 앞에서 지식을 공유하는 즐거움을 느꼈고, 이를 통해 커뮤니케이션 능력과 발표 능력을 성장시킬 수 있었습니다. 인턴을 진행하면서 간헐적으로 잘못된 결제 데이터가 서버에 저장되는 버그를 경험했습니다. 해당 버그를 분석하고 이를 문서화하여 팀원들과 공유함으로써 동일한 형태의 버그가 재발하지 않도록 예방했습니다. 이 경험을 통해 팀 내 협업 능력의 중요성을 실감하며 발전시킬 수 있었습니다.
기술 스택
Java, Spring Boot, MySQL, rabbitmq, Redis, JPA, mybatis
프로젝트
프로스타그램(Prostargram)
토이프로젝트
2023.07. ~ 진행 중
Programmer + instargram을 합쳐 Prostargram으로 명명했습니다. 개발자를 위한 SNS프로젝트로 일반 게시물과
개발적인 토론을 진행할 수 있는 토론 게시물, 설문조사를 위한 통계게시물이 존재합니다.
F-lab 부트캠프를 통해 진행한 프로젝트로 SNS의 주요 기능인 피드(타임라인) 조회의 성능 최적화에 집중했습니다
[담당 업무]
피드 시스템 설계 및 구현
부트캠프에서 진행된 미니 컨퍼러스에서 피드 시스템 설계를 주제로 발표
[ 성능개선 경험]
SNS의 피드 조회 성능 개선(TPS 45 -> 849)
[원인] 팔로잉들의 최신 게시물을 IN절을 통해 가져와야 함. IN 절로 인해 다수의 인덱스 탐색이 발생하여 부하 발생
[해결] 게시물 작성 시점에 누구의 피드에 노출되어야 할지를 Redis에 캐싱
[해결] 게시물 작성 응답 속도를 위해 캐싱 로직을 RabbitMQ로 비동기 처리
댓글 조회 인덱스 최적화 및 쿼리 튜닝 (1s 118ms → 108ms)
[원인] 너무 넓은 범위의 INDEX RANGE SCAN으로 인한 병목 발생
[해결] 인덱스 순서 수정을 통해 post_id로 먼저 필터링 하여 필요한 데이터만 탐색할 수 있도록 수정
경력
샵체인
인턴 | 개발1팀
2024.01. ~ 2024.07. (7개월)
샵체인에서 6개월간 인턴으로 근무하며, 신규 프로젝트 CaddieAll에 투입되었습니다. Flutter 개발자로 일하면서 프런트엔드와 백엔드 간의 데이터 흐름을 깊이 이해할 수 있었으며, 더 나은 API 설계를 고민하는 경험을 쌓았습니다. CaddieAll은 예약 관리, 결제 등 캐디들이 업무에 필요한 기능들을 모은 앱입니다.
[담당 업무]
신규 프로젝트 CaddieAll에 투입되어 모바일 앱 개발 담당
Vue.js를 통해 관리자 페이지 개발
[트러블 슈팅]
결제에서 발생하는 간헐적 버그 현상 해결
[원인] 화면 전환 전 결제 버튼이 두 번 클릭 되면, 이전 결제 데이터를 가진 이벤트 리스너가 메모리에 남아 잘못된 결제 데이터를 서버에 전송하는 현상 발견
[해결] 디바운싱 적용을 통해 더블 클릭 현상을 방지. 리스너가 정상 종료될 수 있도록 코드를 수정하여 문제 해결
[해결] 버그 원인 분석과 방지책을 문서화하여 팀원들과 공유함으로써 버그 재발을 방지
포트폴리오
대외활동
교내 알고리즘 경진대회 장려상 수상
경북대학교
2024
교내 해커톤 우수상 수상
경북대학교
2023
IT연합 동아리 주최 해커톤 대상 수상
경북대학교
2022