사용자 편의성을 최우선으로 생각하는 개발자
👤 기본정보
윤영선 (YeongSeon Yun)
📱 연락처: 010-3224-8732
📧 이메일: [email protected]
🌐 Github: @yys7517
📋 기술 블로그: velog.io/@yys7517

💡 소개 (About Me)
- 항상 사용자 입장에서의 사용성과 편의성을 최우선으로 생각하며 개발하려고 노력합니다. 인턴십 과제를 통해 스토리지 최적화 등 앱의 사용성 개선을 위한 경험을 쌓았습니다.
- 협업을 고려한 명확한 네이밍에 관심이 많습니다. 개발 과정에서 변수나 함수의 이름을 팀원들과 함께 논의하며 정리하는 것을 좋아합니다.
- 새로운 기술이나 방법론은 이론으로만 익히기보다, 직접 프로젝트에 적용해보며 도전과 성장하는 과정에서 재미를 느끼는 편입니다.
- 프로젝트 중 해결되지 않는 부분이나 UI/UX와 관련된 모호한 문제는 팀과의 소통을 통해 해결하는 방식을 선호합니다.
- 어려운 일이더라도 **“하면 된다”**는 마음가짐으로 적극적으로 임하며, 모르는 부분은 빠르게 배우고 해결하려고 합니다.
🛠️ 기술
Backend
- Java와 Spring Boot 기반으로 REST API를 설계하고, Spring Data JPA와 PostgreSQL을 활용해 사용자 조회·생성·수정·정지 및 검색·페이지네이션 기능을 구현한 경험이 있습니다.
- Spring Security와 Keycloak을 활용해 OAuth2 인가 코드 방식의 로그인과 JWT 기반 인증·인가 체계를 구축한 경험이 있습니다.
- Spring Cloud Gateway의 Token Relay와 Redis 기반 Spring Session을 구성하여, 브라우저에는 세션 쿠키를 전달하고 Access Token은 Gateway에서 관리하도록 인증/인가 구조를 설계한 경험이 있습니다.
- Outbox 패턴과 RabbitMQ를 통해 이벤트의 유실을 방지하고, 발행하며, EDA 아키텍처로 프로젝트를 진행한 경험이 있습니다. 이벤트 예외 발생 시, 재시도와 예외 격리는 DLQ를 통해 처리하도록 구성했습니다.
- Keycloak과 로컬 사용자 DB를 하나의 트랜잭션으로 묶을 수 없는 문제에 대응하여, 사용자 생성 실패 시 Keycloak 계정을 삭제하고 수정 트랜잭션 롤백 시 기존 정보로 복구하는 보상 처리를 구현한 경험이 있습니다.
- 게시글과 작성자 조회 과정의 N+1 문제를 Fetch Join으로 줄이고, 매 요청마다 생성하던 AWS S3 이미지 임시 URL을 Redis에 캐싱하여 성능을 개선한 경험이 있습니다. 동일 조건에서 목록 조회는 279ms에서 41ms, 상세 조회는 250ms에서 65ms로 단축되는 것을 AOP 로그로 확인할 수 있었습니다.
Android