채용공고 올리기

권세영님을 응원해보세요!

지금 만족하고 있어요
성실함
책임감
효율적
커뮤니케이션
적응력

미리보기

기본 정보

이름
권세영
직업
‘함께’의 가치를 아는 권세영 입니다.
간단 소개

저는 "함께"의 가치를 중요하게 생각하는 개발자입니다. 프로젝트를 진행하며 팀원들과 협업하는 과정에서 더 좋은 결과를 얻을 수 있다는 것을 깨달았습니다. 의견을 조율하고 아이디어를 공유하는 과정에서 더 효율적이고 품질 높은 코드를 만들 수 있었습니다. 또한 여러 번 리더 역할을 맡아본 경험을 통해, 팀을 이끄는 것뿐만 아니라 팀원과 함께 나아가며 때론 뒤에서 지원하는 리더의 중요성을 깨달았습니다. 팀원들이 성장할 수 있도록 돕고, 함께 도전하고 성공하는 개발자가 되고 싶습니다.

자기소개

자기소개

효율적인 것을 중요하게 생각합니다.

  • 제가 작성한 코드일지라도 같이 작업하는 동료가 쉽게 이해하고 활용할 수 있어야 한다고 생각하기 때문에 코드의 가독성과 확장성을 항상 최우선으로 두려고 노력합니다. 예를 들어, 최근 '출발했어?!' 프로젝트에서는 사용자들의 예약을 관리하는 API를 작성하면서 코드의 유지보수성과 확장성을 고려하여 리팩토링을 진행했습니다. 특히, 여러 사용자들의 동시 체크인 시 발생할 수 있는 동시성 문제를 해결하기 위해 비관적 락을 적용하며 코드의 효율성을 높였습니다. 이런 과정을 통해 팀원들이 쉽게 이해하고 개선할 수 있는 구조를 유지하려 노력했습니다.

  • 코드를 지속적으로 개선하고 리팩토링하는 과정이 즐겁습니다. 팀 프로젝트에서는 체크인 API의 리팩토링을 진행하면서, 코드 중복을 제거하고 예외 처리를 간소화하는 방법을 모색했습니다. 각 기능을 메서드로 분리하고, DTO를 활용하여 코드의 읽기 쉬운 구조를 만들어 팀원들과 소통할 때도 더욱 효율적으로 설명할 수 있었습니다. 이런 작업은 제게 큰 만족감을 주었고, 더 효율적이고 깔끔한 코드로 프로젝트를 진행할 수 있었습니다.

소통은 명확하고 빠르게 해야한다고 생각합니다.

  • 국비교육 과정에서 팀장 역할을 수행하며 팀원들의 고충과 불만사항 등을 해소하기 위해 노력했습니다. 또한, ‘출발했어?!’ 프로젝트 당시, 프로젝트가 진행될수록 기능 개선 사항이 계속 발생했기 때문에, 백엔드와 프론트엔드 팀 간의 끊임없는 소통을 위해 Google Meet을 활용하여 정기적으로 회의를 진행했습니다. 그로 인해 각자 진행사항을 빠르게 공유하고, 문제 해결을 위해 즉각적인 피드백을 주고받을 수 있었습니다.

  • 같은 팀의 일원이라도 서로 다른 분야의 일을 하기 때문에 명확한 소통이 이루어져야 합니다. 초반 10일 프로젝트를 진행하는 동안 Slack으로 단순 텍스트와 구두로 소통하던 것을 Jira의 이슈 템플릿을 만들어서 이전보다 명확하고 직관적으로 각자 진행사항 등을 소통하고자 노력했습니다. 이를 통해 팀원들이 각자의 할 일을 정확히 이해하고, 프로젝트가 원활하게 진행될 수 있었습니다.

저는 이처럼 개발자로서의 경험을 통해 효율적인 업무 수행과 원활한 소통을 중요하게 생각하며, 항상 더 나은 방법을 고민하고 실행하는 개발자가 되기 위해 노력하고 있습니다. 앞으로도 저의 능력을 계속 확장하고, 팀과 함께 성장해 나가고 싶습니다.

기술 스택

기술 스택

Java, Spring, Spring Boot, JPA, Spring Security, MySQL, Redis, Docker, JavaScript

프로젝트

프로젝트명

출발했어?! - 즐거운 약속 문화를 위한 프로젝트

소속/기관명

포텐데이

프로젝트 기간

2024.05. ~ 2024.10.

프로젝트 내용

프로젝트 설명

JPA와 Spring Boot 기반으로, Redis를 통한 캐싱과 Naver Cloud, Docker, GitHub Actions 등을 활용해 높은 트래픽에도 견딜 수 있는 확장성과 성능을 갖춘 약속 관리 애플리케이션입니다.


Skills

Java, Spring Boot, JPA, Spring Security, JWT, OAuth2.0, MySQL, Redis, Naver Cloud, Docker, GitHub Actions


Links

Website : https://www.rnts.o-r.kr

GitHub : https://github.com/rnts-dev/rnts_BE


담당 역할

회원 관리

  • 회원가입

    • 이메일 인증을 위해 Redis를 활용하여 회원가입 시 이메일 인증 처리

    • 사용자가 이메일 인증을 받기 전까지는 회원가입이 완료되지 않도록 제한

    • Redis를 활용해 인증 토큰을 임시 저장하고, 유효 기간을 설정하여 보안을 강화

  • 로그인

    • 일반 로그인:

      • JWT와 Spring Security 필터를 사용하여 사용자 인증 구현

      • 로그인 성공 시 JWT를 발급하고, 이를 통해 사용자가 인증된 상태로 서비스에 접근할 수 있도록 처리

    • 소셜 로그인:

      • OAuth 2.0을 활용하여 카카오 로그인 구현

      • 카카오 API를 사용해 카카오 계정으로 로그인을 처리하고, 사용자 정보를 받아와서 시스템에 저장

약속 관리

  • 약속 생성, 수정, 삭제

    • 약속을 생성, 수정, 삭제하는 API 구현

    • 사용자에게 약속에 대한 CRUD 기능 제공

  • 위도와 경도를 포함한 약속 장소 저장

    • 약속 장소를 저장할 때 위도와 경도 정보를 함께 저장하여, 약속의 위치를 정확하게 기록

  • 약속 조회

    • 남은 약속: 현재 시각을 기준으로 예정된 약속을 조회하는 API 구현

    • 지난 약속: 지난 약속을 조회하는 API 구현, 사용자가 지난 약속을 확인할 수 있도록 처리

  • 약속 초대, 거절

    • 링크를 통해 타인을 초대하고, 초대를 수락하면 약속 스페이스에 추가하는 기능 구현

    • 초대 링크를 통한 참여를 유도하고, 초대된 사용자가 참여 여부를 선택할 수 있도록 처리

  • 사용자 정의 약속 유형 생성, 조회, 삭제

    • 기본 약속 유형 외에도 사용자가 커스텀한 약속 유형을 생성할 수 있는 API 구현

    • 사용자 정의 약속 유형을 조회하고, 삭제하는 기능 제공

체크인 및 패널티 기능

  • 체크인

    • 약속의 체크인 기능을 약속 컨트롤러와 서비스 계층에서 처리

    • 사용자가 약속에 체크인할 수 있도록 하며, 체크인한 시간 및 상태를 관리

  • 패널티

    • 첫 번째로 도착한 사용자가 지각자에게 부여할 패널티를 설정하는 기능 구현


트러블 슈팅 및 기타 성과

  • RESTful API 설계에 대한 이해 및 적용

    • 프로젝트 전반에 걸쳐 RESTful API 설계를 준수하여 시스템 간의 통신이 일관되도록 설계

    • URI 설계 및 HTTP 메서드를 적절히 활용하여 API를 효율적으로 구현

  • 동시성 제어

    • 여러 사용자가 동시에 같은 약속에 체크인할 때 발생할 수 있는 동시성 문제를 해결

    • 비관적 락(Pessimistic Lock)을 적용하여 데이터의 일관성을 유지

    • 여러 사용자가 동시에 데이터를 수정하거나 조회할 때 발생하는 충돌을 방지

  • N+1 문제

    • AppointmentMember의 다대다 관계로 인해 발생한 N+1 쿼리 문제를 해결

    • JOIN FETCH를 사용하여 쿼리 최적화, 불필요한 추가 쿼리 실행을 줄여 성능 개선

  • Redis를 활용한 캐싱

    • RedisSpring@Cacheable을 이용해 사용자 정의 약속 유형 정보를 캐싱

    • 반복적으로 요청되는 데이터를 Redis에 캐시하여 성능을 최적화하고, DB 부하를 줄임

    • 캐시 적용 후 응답 속도가 약 49배 감소한 성과를 기록

  • 팀워크 및 협업: Git을 활용한 버전 관리와 협업을 통해 프로젝트 진행

  • 테스트 코드: 서비스 계층의 핵심 로직에 대해 JUnit을 사용하여 테스트 코드 작성

트러블 슈팅 정리 링크

포트폴리오

URL

link

포트폴리오

노션
link

GitHub

깃허브
link

Velog

URL 링크

교육

소속/기관명

홍익대학교 세종캠퍼스

종류 | 전공

대학교(학사) | 소프트웨어융합학과

재학 기간 | 재학 상태

2015.03. ~ 2020.02. | 중퇴

소속/기관명

한양대학교

종류 | 전공

대학교(학사) | 건축공학부

재학 기간 | 재학 상태

2020.03. ~ 2023.08. | 졸업

소속/기관명

에이콘아카데미 강남

종류 | 전공

사설 교육 | Java Fullstack

재학 기간 | 재학 상태

2023.05. ~ 2023.11. | 졸업

댓글