미리보기
기본 정보
상황에 몰입하여 적극적으로 소통하고 주변 동료와 함께 이루어나가는 것을 좋아합니다. 실패보다 머물러 있는 것을 두려워해 지속적으로 성장해 나가는 것을 지향합니다. 학습과 개선을 통해 좋은 영향을 주는 개발자를 목표로 하고 있습니다.
기술 스택
Java, Spring Boot, MySQL, Spring Data JPA, Docker Compose, Git, GitHub
프로젝트
TodoList
개인 프로젝트
2024.08. ~ 2024.11.
사용자 인증 및 할 일(Todo) 관리 기능을 제공하는 REST API 기반 애플리케이션
ㅤ
REST API 개발
Todo CRUD 기능 개발 (테스트 커버리지 80% 달성)
Spring Data JPA, QueryDSL을 사용하여 동적 쿼리를 통해 검색 및 페이지네이션 구현
Redis를 Session Storage로 활용한 사용자 인증, 인가 구현
인증, 인가의 반복되는 로직에 대해 CustomAnnotation을 사용하여 Interceptor, ArgumentResolver를 이용한 로직 구현
Docker Compose를 사용하여 MySQL, Redis 기반 로컬 개발 환경 구성
ㅤ
배포 인프라 구축
[AWS]
EC2를 활용하여 스프링 부트 배포
RDS를 활용하여 MySQL 서버 구축
ElastiCache를 활용하여 Redis 서버 구축
보안그룹 설정을 통해 인스턴스 간 연결 구성
S3와 CodeDeploy를 활용한 배포 자동화 환경 구축
IAM 설정을 통해 AWS 리소스에 대한 권한 제어 및 보안 설정
ㅤ
CI/CD 파이프라인 설계
[CI]
main 브랜치 푸시 또는 main, issue/** 브랜치 대상 PR생성 트리거 설정
GitHub Actions 인스턴스 내에서 Docker Compose를 활용해 일관된 로컬 테스트 환경 구성
구성된 Docker Compose 환경에서 테스트 코드 실행 설정
[CD]
CI workflow 통과 시 트리거 설정
GitHub Actions Secrets에 저장된 값을 prod 환경변수에 주입하여 JAR 파일 빌드
AWS 자격 증명을 설정하여 S3 버킷에 zip 파일 업로드
AWS CodeDeploy를 활용해 EC2 인스턴스에 배포
ㅤ
기술 스택
[백엔드]
Java, Spring Boot, JUnit5, MySQL, Redis, Spring Data JPA, QueryDSL, Docker Compose, GitHub Actions
[배포환경]
AWS (EC2, RDS, ElastiCache, S3, CodeDeploy)
WarriorDining
4인 팀프로젝트
2024.10. ~ 2024.11.
바쁜 현대인들을 위한 효율적인 음식점 예약 서비스
ㅤ
백엔드 기능 개발
[담당 역할]
GlobalExceptionHandler를 사용하여 전역 예외 처리 구현
ERD를 참조하여 JPA 설계
Spring Security, JWT 기반 인증
OAuth2.0 기반 소셜 로그인 (카카오, 네이버)
회원가입, 비밀번호 찾기, 내정보 조회, 회원탈퇴 API
ㅤ
프론트엔드 기능 개발
[담당 역할]
회원가입, 로그인, 비밀번호 찾기, 내정보 조회, 회원탈퇴 페이지 및 기능 구현
로그인 액세스 토큰, 리프레쉬 토큰 발급에 대한 Context 전역 처리
회원 열람 페이지에서 Axios 요청 시 토큰 검증을 전역 처리
ㅤ
기술 스택
[백엔드]
Java, SpringBoot, Spring Data JPA, MariaDB, Docker Compose
ㅤ
[프론트엔드]
React.js (javascript)
자기소개
저는 웹 서버 개발의 전체 사이클을 스스로 학습하고 구현한 경험이 있습니다.
ERD 설계 및 API 구현부터 AWS EC2, RDS(MySQL) ElastiCache(Redis)를 활용한 인프라 구축, GitHub Actions CI/CD, AWS S3, CodeDeploy를 활용한 자동화 배포 까지 전 과정을 직접 구성하였습니다.
ㅤ
저는 문제를 성장의 기회로 삼아 더 나은 결과를 만들어내는 데에 몰입합니다.
기술적 한계나 문제에 직면했을 때 그것을 기회삼아 학습하여 해결 방안을 찾고, 팀원과 공유하여 다수의 피드백을 얻어 함께 기술적 문제를 해결하고 성장하는 것에 큰 성취감을 얻습니다. 문제 해결 시간 단축을 위해 작업을 작은 단위의 Task로 분리하고, 코드 리뷰를 통해 협업을 고려한 코드 작성과 유지보수성을 높이는 방식을 고민했습니다.
이 과정에서 테스트 코드를 작성하며 코드의 신뢰성을 높이는 습관을 자연스럽게 익혔고, 스스로 학습한 지식을 정리하 여 팀원에게 공유해 더 나은 결과를 만들어내는 데에 몰입하며 성장해왔습니다.
ㅤ
마지막으로, 저는 경험을 공유하여 함께 성장하는 것에 큰 가치를 느낍니다.
누군가에게 설명할 수 있을 때 비로소 저의 지식이 되고, 그것이 곧 저의 성장이 된다고 생각합니다.
학습한 내용과 경험을 공유하고 피드백을 얻는 것에 큰 보람을 느껴 꾸준히 블로그에 기록하고 있습니다.
지속적인 학습과 개선을 통해 좋은 영향을 주어 함께 성장하는 개발자가 되고자 합니다.
ㅤ
감사합니다.
포트폴리오
교육
하이미디어 아카데미
사설 교육 | React.js와 Springboot 활용 자바(JAVA) 풀스택(프론트엔드&백엔드)개발자
2024.05. ~ 2024.10. | 졸업