미리보기
기본 정보

- 안녕하세요! 3년차 개발자 류찬입니다. - 카카오에서 브런치 백엔드 개발자로 근무하고 있습니다. - 백엔드, 프론트엔드, 기획자 모두와 협업하여 gray zone이 적고, 유지보수가 쉬운 개발을 하기 위해 노력하고 있습니다. - 완벽한 코드는 없습니다. 이를 인지하고 테스트 코드 작성 및 검증, 코드리뷰에 최선을 다하고 있습니다. - 배우는 것을 넘어 내가 아는 것을 다른 사람에게 설명할 수 있는 사람이 되고자 합니다. 새로운 것을 배운 후에 블로그와 git에 정리하며 더욱 깊은 내용을 파악하기 위해 공부하고, 정리하고 있습니다.
기술 스택
Java, Spring, Spring Boot, MySQL, Redis
경력
주식회사 카카오
사원 | 브런치개발파트 | 재직 중
2023.03. ~ 재직 중 (2년)
카카오 브런치 서버의 백엔드 서버 개발
브런치 메인 화면 유저별 추천 데이터 출력 API 개발
연재형 브런치북 작품 노출을 위한 데이터 모델링 / 마이그레이션 / API 개발
브런치 메인화면 노출을 위한 캐싱 및 갱신 로직 작성 등
대규모 트래픽을 고려한 집계데이터 설계 및 페이징 로직 작성 등
추상화를 통한 유저 알림 로직 다각화 및 알림 서비스 튜닝
사용자 경험과 사용성 개선을 위한 비즈니스 로직 구현
현대자동차
연구원 | 카클라우드 인프라 개발팀
2022.07. ~ 2023.03. (9개월)
on-premise 인프라에 필요한 솔루션 개발 담당
AWS IAM과 비슷한 역할을 하는 RBAC / ABAC 구현 솔루션 제작
infra health check를 위한 솔루션 개발 진행
MySQL, RabbitMQ clustering & mirroring
프로젝트
응원하기 개인화 슬롯
카카오
브런치 메인 화면에서 유저별 추천 데이터 출력 API 개발
API 구현
유저 트래픽이 많은 메인 화면에 개인별 추천 데이터를 적용해야 해서 성능을 고려한 개발 진행.
RDB 기반, 옵티마이저 성능 하락 원인을 분석하여 상황에 따른 힌트 사용을 통한 최적화.
어뷰징 방지와 사용성 향상을 위한 캐싱 적용.
내가 응원한 작가의 새로운 글
,내가 구독한 작가의 새로운 글
,내가 구독한 작가가 응원한 글
등 여러 상황과 이슈에 맞춘 쿼리 작성.성능 향상을 위한 백엔드 / 프론트엔드 / DBA / 기획 변경사항 도출 및 합의.
Junit5 마이그레이션
카카오
2024.04. ~ 2024.06.
기존 Junit4 기반으로 되어있던 테스트 코드를 Junit5 기반으로 마이그레이션
Test Environment, Rule, Retry Logic 등 junit4 기반의 모든 레거시 코드를 분석하고, junit5 에서 제공하는 방식으로 고도화.
Jenkins 기반 자동 테스트 로직 전체 적용
응원하기 전체 확대
카카오
2023.10. ~ 2024.02.
기존 우수 창작자에서 전체 유저 대상으로 서비스 확대. 매거진의 타입을 연재형 브런치북으로 선택 시 응원 받을 수 있는 연재형 브런치북 생성 가능 서비스로 변경.
API 구현
연재형 브런치북 프로젝트
카카오
2023.08. ~ 2023.10.
기존 우수 창작자 중 특정 인원만 선정하여 진행하던 연재형 매거진에서 우수 창작자 전체가 직접 연재하는 연재형 브런치북으로 서비스 확대 (백엔드 개발자로 참여)
API 구현
다양한 테이블에 있는 정보를 취합하여 여러 기준에 따라 출력되도록 인피니트 스크롤 호출 API 튜닝.
응원 댓글 갯수를 통한 응원순 정렬 추가.
Driving Table 변경으로 인한 처리속도 개선을 위해 복합 Index 설계.
브런치 메인화면에 노출되는 캐싱 및 출력 API 튜닝.
기존 7일치 글 랜덤 출력 로직을 7일치 최신 / 응원순 순서 데이터가 출력되도록 변경.
캐시 갱신 시 각각이 따로 갱신되어 동기화 및 캐시 속도 최적화.
출력 시 외부 Redis 에 3-handshake 로 인한 속도 하락 이슈 해결을 위한 추가 캐시 객체 생성.
응원하기, 연재형 매거진 프로젝트
카카오
2023.03. ~ 2023.08.
우수 창작자 중 일부 대상으로 응원댓글을 통한 도네이션 가능 연재형 매거진을 만드는 서비스에 백엔드 개발자로 참여.
DB Table 설계
응원 가능 매거진 설정 테이블 생성. 이후 기존 매거진 테이블에 데이터 마이그레이션을 고려하여 설계.
선택 데이터 저장 및 출력, 보류를 위한 메타데이터 테이블 생성.
API 구현
다양한 테이블에 있는 정보를 취합하여 최신 순서로 출력되는 인피니트 스크롤 호출 API 구현.
다양한 조건의 활용을 위한 Index 생성 및 활용
응원 가능 매거진 설정 테이블에 반정규화 정용을 통한 쿼리 속도 향상.
다수 트래픽을 고려하여 랜덤 데이터를 캐싱 및 출력하는 API 구현.
유저, 글 제재 및 복구 등 다양한 상황에 자동으로 캐시를 갱신할 수 있도록 적용.
기획자가 선택한 글이 메인화면 최상단에 보여질 수 있도록 데이터를 저장 캐싱하고 출력하는 API 구현.
데이터 저장용 메타데이터 테이블에서 정보를 가공하고, 상황에 따라 캐싱 및 갱신하여 출력하도록 적용.
기존 응원댓글 작성시 알림 기능 용도 다각화.
응원댓글 작성, 답글 작성, 익명 응원댓글 작성 등 조건에 따른 알림 다각화 적용.
Abstract class를 활용하도록 기존 코드를 변경하여 중복 코드 최소화.
AWS IAM 솔루션 PoC
현대자동차
2022.07. ~ 2022.11.
on-premise server 내 vault 를 활용한 Authorization기능 부여
Terraform 의 aws provider를 통해 만들어진 JWT Token을 이용한 Authentication
Vault 의 기능을 활용한 동적 권한 할당
- Terraform을 사용한 인프라 구축에의 IAM기능 적용
- Vault를 사용한 RBAC/ABAC기능 모사
- Vault k-v를 활용한 동적 policy부여를 통한 Authentication
- Target ServerJWT Token내 claims를 사용한 Authorization 진행
- SSO Auth Server JWT Token의 signature, claims를 활용한 Authentication 진행
- go기반 AWS SDK활용 AWS4-HMAC-SHA256 인증 확인
포트폴리오
교육
한국산업기술대학교
대학교(학사) | 전자공학과
2015.03. ~ 2021.02. | 졸업
군포고등학교
고등학교 | 인문계
2012.03. ~ 2015.02. | 졸업
대외활동
자격증
COS Pro java
1급 | YBM IT
2020.11.
외국어
영어
비즈니스 회화 가능