미리보기
기본 정보

스스로 성장하는 개발자 심현보입니다.
자기소개
메타인지가 좋아 무엇이든 빠르게 배워 부트캠프에서도 주변 동료들을 가르쳐 주면서 커리큘럼을 소화하였습니다. 최근에는 기술이 해결하고자 하는 문제와 해결하면서 갖는 트레이드 오프를 이해하는 방향으로 학습하고 있습니다.
팀원들과 공통된 목표를 갖고 문제를 해결하는 것과 함께 나아가는 것에 큰 성취감을 느끼고, 끈기 있게 문제의 핵심을 파악하고, 팀원들과 협업하여 효과적인 솔루션을 구현합니다.
2023, 2024 AWS Seoul Summit에 참가하여 많은 기업들의 문제와 의사 결정을 배웠던 경험이 있습니다.
기술 스택
Java, Spring Boot, Spring Batch, Redis, MySQL, PostgreSQL, github-actions, Jenkins, AWS
프로젝트
stock-discussion-forum
기타
2024.04. ~ 2024.05.
깃허브
구현 기능
QueryDSL을 활용한 동적 쿼리 및 페이징 구현
Spring Batch를 활용한 데이터 마이그레이션 및 일 단위 데이터 정합성 Job 실행
OpenFeign을 활용한 MSA간 API 통신
Message Queue(Kafka)를 활용한 Event 발행으로 안정성 높은 MSA 아키텍처 구성
Kafka를 활용한 실시간 주식 지표 생성
성과/기술적 경험/트러블 슈팅
MSA 서버간 API 요청 최적화
중요한 정보가 아님에도 서비스 의존성이 높아 데이터 조회 API 요청이 많음
서비스 의존성에 따른 네트워크 트래픽 증가, 장애 전파 가능성 문제 인식
Message Broker를 활용하여 안정성 높은 MSA 아키텍처 구성
Bulk Insert로 배치 시간 단축
Hibernate Auto Increment 채번 원리도 Batch Insert 불가
JDBCTemplate을 활용한 Bulk Insert tlfgod(32m -> 3m, 88% 단축)
지표 생성 시 지표 생성 1s 이내 목표 달성
지표 생성 시 Kafka, Redis에 대한 3000*n 번의 I/O를 6*n 번으로 최적화
Resilience4J를 호라용한 Circuit Breaker 구현
회복 탄력성 향상으로 서버의 장애, 재난 상황 발생 대비
expense-manager
기타
2023.11. ~ 2023.12.
깃허브
구현 기능
디스코드 웹 훅 연동을 통한 알림 기능
매달 예산을 설정해 지출 관리 기능 구현
다른 사용자들과 비교해 다른 살마 대기 지출 통계 기능 구현
성과/기술적 경험/트러블 슈팅
@Async, @EvnetListener를 활용한 비동기 알림 구현
유저마다 하나의 작업으로 분리 가능하여 비동기 실행으로 구현
알림은 단방향적인 성격으로 응답이 필요없기 때문에 이벤트로 발행
예산 사용 현황 알림 조회 성능 개선 (2,191ms -> 164ms, 92.5% 단축)
알림 예정 시간보다 늦는 문제 발생
복합 인덱스를 사용하여 조회 성능 개선
다양한 테스트 작성 경험
테스트 커버리지 100% 달성
테스트 실행 시간 개선(빌드 시간 기준 29s -> 20s, 30% 단축)
@Transactional을 사용하면 실제 결과와 다를 수 있어 테스트 DB를 운영
라이브러리와 커스텀 어노테이션을 활용하여 상황에 맞는 테스트 코드 작성
시간, 돈 등의 고유 성격을 테스트를 통해 도메인 로직이 더 견고해 짐을 경험
GIS-Recs
기타
2023.11. ~ 2023.11.
깃허브
구현 기능
리뷰 평점 계산 기능 구현
성과/기술적 경험/트러블 슈팅
리뷰 작성 동시성 문제 해결 1
리뷰 작성 시 음식점 평점 데이터가 누락 (음식적-리뷰 1:N 관계)
비관적 락이 더 빨랐지만, 경합 상황이 거의 없을 것으로 예상하여 낙관적 락을 사용
리뷰 작성 동시성 문제 해결 2
낙관적 락 + 재시도 AOP 적용 후 리뷰 작성 시 데이터가 누락됨을 발견
평점 계산 시 동일한 평점일 때 더티체킹으로 쿼리 누락되어 강제 update로 문제 해결
nail-case
기타
2024.06. ~ 진행 중
깃허브
구현 기능
Github Actions를 활용한 CI/CD 구성
Docker-Compose를 활용한 FrontEnd 로컬 개발 환경 구성
샵의 시간별 예약, 일정 관리 API
성과/기술적 경험/트러블 슈팅
Redis bitmap을 활용한 조회수 구현
일단위 집계로 추후 주간, 일간 조회수 많은 게시물 등 확장성
bit단위로 저장하여 데이터 효율성 확보
교육
항해 99
사설 교육 | 취업 리부트 코스
2024.02. ~ 2024.05. | 졸업
원티드
사설 교육 | 인턴십
2023.10. ~ 2023.11. | 졸업
코드스테이츠
사설 교육 | 소프트웨어 엔지니어링 부트캠프 백엔드 양성자 과정
2022.10. ~ 2023.04. | 졸업
아주대학교
대학교(학사) | 건축학과
2008.03. ~ 2016.09. | 졸업