QA 및 테스터 경험을 살린 웹개발자 이가람입니다.

| 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 ~ 현재 (재학중)