범수

Backend Developer

안녕하세요!
     .

Java & Spring 기반의 백엔드 개발자로 C2C 렌탈 서비스에서 채팅방 목록 조회 성능을 1.3초에서 65ms로 95% 개선한 경험이 있으며, Redis 캐싱을 도입하여 권한 체크 응답시간을 30ms에서 1ms로 97% 단축했습니다.

현재 상황에 맞는 적절한 트레이드오프를 선택하는 것을 중요하게 생각하여, Kafka vs Redis Pub/Sub 기술 비교 분석을 통해 프로젝트 요구사항에 적합한 메시지 브로커를 선택했고, SimpleBroker를 제거하여 서버 스케일 아웃이 가능한 채팅 아키텍처를 설계했습니다.

GPU 서버 OOM 방어를 위해 Kafka 큐(1순위) + Semaphore(2순위) + 요청 크기 제한(3순위)의 3단계 방어 전략을 설계하여 프로젝트 운영 기간 동안 OOM 0회를 달성했습니다.

테스트 코드, 특히 엣지 케이스코너 케이스 테스트를 중요하게 생각하여 127개의 테스트 케이스를 작성하고 CI 파이프라인에 통합했으며, 코드 리뷰 문화를 통해 팀 전체의 코드 품질을 향상시켰습니다.

대학생활 때 AWS 모던 애플리케이션 교육에서 Two Pizza Team, 골든 이미지, IaC, 블루/그린 배포, 멀티 클라우드 등 클라우드 기초 개념을 학습했으며, 졸업 후 삼성 청년 SW 아카데미(SSAFY)에서 Spring 기반 백엔드 개발 교육을 이수했습니다.

저만의 서비스를 런칭해보고 싶은 생각에 현재 개인프로젝트 '타이미'를 개발 중이며, 앱스토어 및 구글 플레이스토어에 출시 예정입니다. 단기적인 목표로 MAU 1,000명, DAU 100명을 목표로 하고 있습니다.

Skills

능숙하게 활용
프로젝트 적용 경험
기본 개념 이해

Language

JavaJava,JavaScriptJavaScript
KotlinKotlin,TypeScriptTypeScript,PythonPython,GroovyGroovy
CC,C++C++

Backend

Spring BootSpring Boot,Spring MVCSpring MVC,Spring Data JPASpring Data JPA,JPAJPA,IntelliJIntelliJ
Spring SecuritySpring Security,HibernateHibernate,QueryDSLQueryDSL,MyBatisMyBatis,STOMP WebSocketSTOMP WebSocket,SwaggerSwagger,OAuth 2.0OAuth 2.0,JUnit5JUnit5,MockitoMockito,GradleGradle,MavenMaven,EclipseEclipse
FastAPIFastAPI,VS CodeVS Code

DevOps

MySQLMySQL,GitGit
MariaDBMariaDB,RedisRedis,MongoDBMongoDB,JenkinsJenkins,GitHub ActionsGitHub Actions,DockerDocker,AWS S3AWS S3,AWS EC2AWS EC2,NginxNginx,TomcatTomcat,RabbitMQRabbitMQ,Cloudflare R2Cloudflare R2,EventBridgeEventBridge,PrometheusPrometheus,GrafanaGrafana
KafkaKafka,LinuxLinux

Frontend

Vue.jsVue.js,React NativeReact Native,npmnpm
ReactReact,Next.jsNext.js

Who Am I ?

열정과 끈기

저가 생각하는 열정은 개발에 대한 흥미와 몰입을, 끈기는 어려움을 극복하고 포기하지 않는 의지라 생각합니다. 저는 열정과 끈기를 가지고 있으며 고객의 요구를 충족시키는 데 탁월합니다. 열정과 끈기를 바탕으로 회사의 발전에 기여할 수 있습니다.

열정과 끈기

성장하는 사람

개발자는 회사에 들어가서도 업무, 자기개발, 멘토링을 통해 계속해서 성장해야 합니다. 저는 이러한 성장을 통해 계속해서 변해가는 고객의 요구를 충족시킬 수 있고 충족시키고 싶습니다.

성장하는 사람

소통과 협업

저는 Stack & Git 을 통해 팀프로젝트를 한 적이 많으며 개발자의 역량 중 코딩능력도 중요하다고 생각하지만 팀 단위 프로젝트에서 팀원과의 의사소통이 중요하다고 생각합니다.

소통과 협업

핵심 개발 철학

Spring 기반의 안정적이고 확장 가능한 백엔드 시스템을 설계하며, 깔끔하고 유지보수 친화적인 서비스를 구현하는 것을 지향합니다.

핵심 개발 철학

아키텍처 설계

실무에서 요구되는 확장성과 안정성을 고려한 아키텍처 설계를 통해, 비즈니스 로직과 데이터 처리의 효율성을 극대화하는 것을 목표로 합니다.

아키텍처 설계

코드 품질 관리

클린 코드와 테스트 주도 개발(TDD)을 지향하여, 유지보수하기 쉽고 확장 가능한 코드베이스 구축에 집중하고 있습니다.

코드 품질 관리

Projects

실제로 구현한 프로젝트들을 소개합니다

빌려조잉팀 프로젝트

빌려조잉

물건을 서로 빌리고 빌려주는 C2C 공유 플랫폼

오락가락 플랫폼팀 프로젝트

오락가락 플랫폼

타이미개인 프로젝트

타이미

EduMeet팀 프로젝트

EduMeet

Troubleshooting

문제 해결 과정을 통해 성장합니다

빌려조잉

메시지 순서 뒤바뀜

빌려조잉

Kafka vs Redis Pub/Sub 선택

빌려조잉

Polyglot Persistence 설계

빌려조잉

채팅방 목록 N+1 문제 (1.3초 → 65ms)

빌려조잉

권한 체크 캐싱 (30ms → 1ms)

빌려조잉

Inbound Thread 블로킹 해결

빌려조잉

WebSocket 재연결 시 메시지 유실

빌려조잉

Coroutine + JPA Lazy Loading 충돌

빌려조잉

SimpleBroker 제거로 서버 확장 준비

빌려조잉

Java + Kotlin 연동 이슈 (Lombok)

빌려조잉

JWT 토큰을 Cookie에서 관리

빌려조잉

Redis CVSS 10.0 취약점 긴급 패치

오락가락 플랫폼

Prometheus 알림 폭풍

오락가락 플랫폼

Loki 스택트레이스 파싱 실패

오락가락 플랫폼

AI 서버 GPU OOM 방어 전략

오락가락 플랫폼

Kafka 파티션 불균형

EduMeet

N+1 쿼리 문제 (66.9% 성능 개선)

EduMeet

Lazy Loading No Session 오류

EduMeet

OneToMany 중간테이블 자동 생성

EduMeet

QueryDSL 파일 이동 오류

EduMeet

UUID vs Auto Increment PK 전략

EduMeet

단위테스트 MySQL → H2 전환