미리보기
기본 정보

안녕하세요! 꾸준함과 세심함을 무기로 삼는 개발자, 최혜림입니다! 끈기 있는 문제 해결 능력과 코드에 대한 세심한 주의력을 가지고 있어 프로젝트 진행 중 발생한 레디스 역직렬화 문제와 CI/CD 과정에서의 문제를 해결하기 위해 꾸준히 코드를 검토하고 개선했으며, 이를 통해 프로젝트에 긍정적인 영향을 미쳤습니다. 현재 자바와 코틀린/스프링에 대해 학습중입니다!
기술 스택
Kotlin, Spring, Spring Boot, Spring Security, JPA, PostgreSQL, Redis, AWS, Git, Java
프로젝트
EatsFinder
개인
2024.06. ~ 진행 중
유튜브와 인스타에서 맛집에 관한 정보를 보기 어려움을 겪어 직접 맛집들을 찾는 사이트를 만들어 보면 어떨까? 에 착안해서 시작하게 되었습니다!
UX/UI 디자이너 2명, 프론트 개발자 2명, 백엔드 개발자 2명
기술 스택
Kotlin, Spring, SpringBoot, Spring Security, JPA, MySQL, Docker, Amazon S3, Github Actions, Git
프로젝트 경험
이메일 인증 구현
카카오와 구글 소셜 로그인 구현
라벨에 따라 CI/CD 되는 경험
S3 이미지 업로드
작심백일
개인
2024.03. ~ 2024.04.
작심삼일이라는 사자성어와 습관을 만드는데 세 달이 걸린다는 속설에서 영감을 얻어 어떤 일이든 100일간 시도해 나의 일상으로 만드는 것을 목표로 하는 사이트입니다.
백엔드 개발자 3
기술 스택
Kotlin, Spring, SpringBoot, Spring Security, JPA, PostgreSQL, Redis, Amazon RDS, Amazon EC2, Amazon S3, Amazon CodeDeploy, Github Actions, Git
프로젝트 경험
Redis를 활용한 최근 검색어 기능 구현
- 구현: 최근 검색 기록의 효율적 관리를 위해 Redis를 도입하여 자동 정렬 및 오래된 기록의 삭제를 간소화
- 문제: Redis의 직렬화-역직렬화 이슈로 인해 검색어 조회 오류 발생 (블로그)
- 해결: ObjectMapper 설정을 서비스 단에서만 구현하여 문제 해결
CRUD 작성
- 구현: 각 유저에게 필요한 쪽지, 신고, 어드민, 카테고리의 CRUD 작성
- 문제: Pagination을 적용하는 과정에서 서로 맞물린 의존성 주입으로 인한 순환참조 문제 발생
- 해결: RepositoryImpl에 상속받은 또 다른 Repository를 JPARepository와 함께 해당 Repository에 상속하여 문제를 해결
CI/CD
- 경험: 배포 자동화 적용, 관련된 YML 파일 작성, CodeDeploy 사용을 위한 AWS IAM 생성 및 적용
- 구축: Nginx을 활용한 Blue/Green 무중단 배포 구축 (블로그)
- 문제: EC2 프리티어의 메모리가 부족으로 인한 CPU 급상승 문제 발생 (블로그)
- 상황: 배포는 되었으나 SSH 접근 하는 데에 장시간 소요
- 해결: Swap 메모리를 할당하고 Swap 영역을 설정한 후, Swap 파일을 추가하여 문제를 해결
AWS Certificate Manager 도입
- 도입: 웹 사이트를 공격자로부터 안전하게 보호하기 위해 보안 소켓 계층 도입
- 문제: 인증서 도입 후 HTTP와 HTTPS간의 URL이 달라 발생한 CORS 문제 발생 (블로그)
- 해결: SwaggerConfig에서 URL를 "/"로 변경하는 로직을 추가하여 해결
GIGABOX
개인
2024.02. ~ 2024.02.
영화 시사회를 이용하기 위한 예매 사이트입니다.
백엔드 개발자 4
기술 스택
Kotlin, Spring, SpringBoot, Spring Security,JPA, PostgreSQL(Supabase), Redis, Amazon S3, Git
프로젝트 경험
게시글의 CRUD
- 학습: MVC 패턴의 적용 방법과 계층 분리의 기준 이해
- 문제: 특정 삭제 로직을 일정 시간에 맞게 작동하기 위해 스케줄러 기능을 사용했으나 에러가 발생
- 해결: 트랙잭션 어노테이션이 제대로 설정되어있지 않은 상태로 엔티티를 삭제하려하니 발생한 에러로 파악하고 @Transactional를 추가하여 해결
속도 개선 1
- 설명: 검색기능을 Supabase에서 Redis로 전환한 결과, 읽기 속도에서 성능개선
- 결과: TPS 1.7 → 1459 / 85723% 성능 개선
속도 개선 2
- 설명: 쿠폰에 부하를 주어, Supabase에서 Redis로 전환한 결과, 쓰기 속도에서 성능 개선
- 결과: TPS 12.1 → 3567 / 29625 % 성능 개선
포트폴리오
교육
호서대학교
대학교(학사) | 법경찰학전공 (4.09/4.5)
2016.03. ~ 2020.02. | 졸업
대외활동
외국어
일본어
일상 회화 가능
자격증
리눅스 마스터
2급 | 한국정보통신진흥협회
2024.10.
정보처리기사
한국산업인력공단
2024.09.