| Channel
•
Email | garamflow@gmail.com
| Introduce
•
코드 품질을 최우선으로 하며, 효율적이고 꼼꼼한 개발자를 지향합니다.
◦
QA 엔지니어로 400여 건의 결함을 주도적으로 해결한 경험을 통해 디버그와 테스트의 필요성을 이해하고 있습니다.
•
협업을 통해 팀과 함께 비즈니스 성과를 높이는 것을 중요하게 생각합니다.
◦
관련 자료를 정리하고 공유해서 팀원들이 함께 성장할 수 있도록 지원합니다.
◦
노션 등 협업 도구를 활용해 소통을 유지하고, 팀원들과 프로젝트 목표 달성에 기여합니다.
| WORK EXPERIENCES
아이엔에쓰 | QA 엔지니어 (2022.12 ~ 2024.08)
•
프로젝트 테스트 및 결함 관리
◦
단위 및 통합 테스트를 진행하며 결함을 신속히 식별 및 해결
◦
결함 및 개선사항 400여 건 중 80% 이상 조치, 시스템 안정성 강화
•
개발팀 및 고객 소통 담당
◦
개발자와 고객 간 소통을 강화하여 요구사항을 신속히 반영하고, 테스트 결과 공유
◦
프로젝트 진척률 90% 달성 및 소통 강화로 전체적인 프로젝트 진행 속도 향상
•
테스트 프로세스 관리 및 문서화
◦
테스트 케이스를 체계적으로 문서화하고, 테스트 프로세스의 효율성을 높여 정보 공유 체계화
| PROJECT
Personal Projects
개인 블로그 프로젝트 (미완성) (예정)
GitHub
•
[ 프로젝트 목적 ]
◦
Java Spring을 활용한 풀스택 웹 애플리케이션 개발 능력 향상
◦
보안 기능 구현 및 CI/CD 파이프라인 구축 경험 축적
•
[ 사용 기술 ]
◦
Java, Spring Boot, Spring Security, JPA, MySQL, JWT, OAuth2, GitHub Actions, Thymeleaf
•
[ 담당 및 구현 사항 ]
◦
블로그 글 CRUD 기능
▪
RESTful API를 설계하고 구현해서 블로그 글 CRUD 기능 구현
◦
사용자 인증 및 보안
▪
Spring Security를 이용한 회원가입, 로그인, 로그아웃 기능 구현
▪
JWT를 활용한 토큰 기반 인증 시스템 구축으로 보안성 강화
▪
OAuth2를 이용한 소셜 로그인 기능 추가로 사용자 편의성 증대
◦
CI/CD 파이프라인 구축
▪
GitHub Actions를 활용한 자동 빌드 및 테스트 환경 구성
▪
자동 배포 시스템 구축으로 개발 생산성 향상 및 배포 프로세스 간소화
•
[ 트러블슈팅 ]
◦
JWT 토큰 관리 최적화
▪
문제 및 원인
•
JWT 토큰의 만료 시간 설정으로 인한 잦은 로그아웃 문제 발생
•
사용자 경험 저하 및 서버 부하 증가
▪
해결 방안
•
Refresh 토큰 도입을 통한 Access 토큰 자동 갱신 시스템 구현
•
토큰 저장소를 활용한 효율적인 토큰 관리 방식 도입
▪
결과
•
사용자의 불필요한 재로그인 횟수 감소 및 보안성 유지
◦
스프링 시큐리티 설정 문제 해결
▪
문제 및 원인
•
스프링 시큐리티 설정 과정에서 커스터마이징된 로그인 페이지와 시큐리티 필터 간 충돌 발생
•
커스터마이징된 페이지와 스프링 시큐리티의 기본 설정 간 일관성이 없어서 발생
▪
해결 방안
•
시큐리티 설정 파일에서 커스터마이징된 로그인 페이지 명시, 필요 권한 설정으로 기본 흐름과 연결되도록 함
▪
결과
•
로그인 페이지가 정상적으로 작동하고 보안 기능이 유지되며 사용자 경험이 개선됨
◦
JPA N+1 문제로 인한 쿼리 성능 저하 해결
▪
문제 및 원인
•
블로그 포스트 목록을 조회할 때, 각 포스트의 작성자 정보를 가져오는 과정에서 N+1 문제 발생
▪
해결 방안
•
@EntityGraph 어노테이션을 활용해 연관 엔티티를 한 번의 쿼리로 가져오도록 설정
▪
결과
•
데이터베이스 쿼리 호출 횟수 감소
•
블로그 포스트 목록 조회 시간 단축
Team Projects
호텔 예약 사이트 만들기
2022.08.01 ~ 2022.08.06
•
[ 프로젝트 목적 ]
◦
호텔 예약 페이지 구현 및 반응형 디자인, 협업을 통한 Git 활용과 코드 리뷰 학습
•
[ 사용 기술 ]
◦
React.js with TypeScript, React Router DOM, @tanstack/react-query, axios, json-server, Vercel with Heroku
•
[ 담당 및 구현 사항 ]
◦
프로젝트 팀장 역할 수행
▪
6명의 프론트엔드 팀을 이끌며 commit 메시지 규칙과 코드 리뷰 문화를 정착시킴
◦
API 구현
▪
TanStack Query와 axios를 사용하여 호텔 정보를 업데이트하고 가져오는 POST, GET API를 구현
▪
React Query의 기능을 활용하여 데이터 요청 및 상태 관리 담당
◦
무한 스크롤 구현
▪
React Query의 infinite queries 기능을 활용하여 무한 스크롤 요청 구현
▪
사용자가 호텔 리스트를 계속 스크롤할 수 있도록 API와 연동하여 데이터 처리
•
[ 트러블슈팅 ]
◦
setTimeout 딜레이 문제 해결
▪
문제 및 원인
•
데이터를 캐싱한 후 즉시 stale 상태로 전환되어 서버에 불필요한 데이터 요청이 반복되는 문제가 발생
▪
해결 방안
•
staleTime을 1분으로 설정하여, 일정 시간 동안 데이터를 다시 fetch하지 않도록 조정
▪
결과
•
불필요한 데이터 요청이 감소하고, 데이터 fetching이 더 효율적으로 관리되고 서버 자원 낭비를 줄임
| OTHER EXPERIENCES
원티드 진행 기업 실전 과제 및 동료 학습 훈련 코스 프론트엔드 5기
•
2022.07.04 ~ 2022.08.05 (5주)
[ 목적 ]
◦
동료들과의 팀 프로젝트를 통해 협업 능력 강화
◦
기업 실전 과제를 구현하여 실무에서 요구하는 개발자 역량 강화
[ 결과 및 성취 ]
◦
React와 TypeScript를 기반으로 한 프로젝트를 성공적으로 구현
◦
styled-components와 MUI 같은 다양한 UI 라이브러리의 사용법을 습득
◦
팀장으로서 개발 문화 정착에 기여
▪
Git commit 관리와 팀원들의 협업 능력 향상에 집중
▪
GitHub Issues와 PR 템플릿을 적극 활용해 프로젝트 진행 상황을 공유하고, 코드 리뷰 문화를 확립
▪
Notion을 통해 에러 해결 방법과 라이브러리 사용법을 공유하며 프로젝트 관리 효율성을 높임
▪
정기 회의를 통해 문제와 성공 사례를 리뷰하고, 개선 방안을 모색
| Education
•
방송통신대학교 | 대학교(학사) | 컴퓨터과학과
◦
2022.03 ~ 현재 (재학중)