미리보기
- 직업
- 백엔드 개발자(spring)
- 이름
- 김나영
- 간단소개
- 사용자 경험 개선을 위한 서비스를 만들고 싶습니다!
기술 스택
- 기술 스택
- Java
- Spring
- MySQL
- Git
- GitHub
- Notion
- Figma
- JavaScript
- HTML/CSS
- spring-jpa
경력
- 회사명
- 주식회사 제이씨지
- 직책 • 부서
- 인턴 • 백엔드 개발팀
- 근무 기간 (근무 형태)
- 2024.12. - 2025.01.
- (2개월 | 인턴)
- 담당 업무
- 근무기간 : 2024.12.23 ( 월 ) ~ 2025.01.17 ( 금 ) ( 1개월 )
- Python, FastAPI, BS4(BeautifulSoup4), Uvicorn, HTTPX 등을 사용하여 뉴스 기사를 크롤링하고 파싱한 후, 정제된 데이터를 MySQL 기반 데이터베이스에 저장하는 작업을 진행했습니다.
- Uvicorn을 활용해 애플리케이션 서버를 실행하고, Swagger UI를 통해 파싱 및 정제된 데이터의 JSON 반환값을 확인하며 데이터를 더욱 깔끔하게 정제할 수 있도록 리팩터링했습니다.
- async-await 구문을 사용하여 비동기식 실행 로직을 구현, 다수의 기사 URL 파싱 요청 시에도 처리 속도를 개선하고 성능을 최적화했습니다.
- 업무 메일 작성법과 업무 진행도 피드백을 위한 노션 기록 등 비즈니스 커뮤니케이션 방법을 명확히 배우고, 업무의 중요도와 우선순위를 파악하여 효율적으로 업무를 배분할 수 있었습니다.
프로젝트
- 프로젝트명
- :: 최종 프로젝트 : project 509 ::
- 소속/기관명
- 스파르타 내일배움캠프
- 프로젝트 기간
- 2024.10. - 2024.11.
- (2개월)
- 프로젝트 설명
< 오프라인 공동 구매 플랫폼 서비스 서버 구축을 위한 프로젝트 >
인원 : BE 5명 / 기간 : 10.21 ~ 11.21
* Redis 도입으로 데이터 캐싱 후 응답 속도 개선 / Batch 모듈화로 서버 부하 감소 / 알림 목록 저장, 채팅 기능 구현으로 사용자 경험 개선
- [ 사용 스킬 ]
- Springboot, Spring Security, Spring Batch / MySQL, Redis
- EC2, ELB, Github Actions, Docker, RDS / RabbitMQ, Redis pub/sub
- [ 구현 기능 ]
- 유저 관리
- 회원가입, 로그인, 회원탈퇴, 유저 정보 변경
- 페널티 부여
- 파티 미참석 사용자에게 페널티 요청
- [ 트러블 슈팅 & 성능 개선 ]
- 특정 사용자에게 페널티 요청 시 트러블 슈팅
- 둘 이상의 리더가 동시에 한 사용자에게 페널티를 보낼 때 동시성 문제
- 페널티 요청과 사용자 조회(페널티 집계값 조회)가 동시에 요청될 때 동시성 문제
- Redis 분산 락을 설정하여 다수의 요청이 발생하더라도 한 건만 처리될 수 있도록 제어
- 특정 사용자의 정보 조회 요청 시 성능 개선
- 해당 사용자가 받은 페널티 수의 집계값을 Redis에 캐싱하고 조회
- 평균 응답 시간이 2% 감소, 최대 응답 시간이 52% 감소, 표준 편차가 22% 감소되어 성능이 개선
- 프로젝트명
- :: 클론 프로젝트 : Trello project ::
- 소속/기관명
- 스파르타 내일배움캠프
- 프로젝트 기간
- 2024.10. - 2024.10.
- (1개월)
- 프로젝트 설명
< 프로젝트 관리를 위한 칸반 보드 기반 협업 툴인 Trello의 클론 프로젝트 >
인원 : BE 5명 / 기간 : 10.14 ~ 10.17
* 카드 조회수 캐싱으로 서버 부하 감소 / 인덱싱 적용으로 응답 속도 개선
- [ 사용 스킬 ]
- Springboot, QueryDSL, Spring Security, MySQL, Redis
- 담당 구현 내용
- 유저 관리
- 회원가입, 로그인, 회원탈퇴, 유저 정보 변경
- Trello List 관리
- 워크스페이스 보드의 리스트 추가 / 조회 / 변경 / 삭제
- Trello Member 관리
- 워크스페이스 전용 멤버 추가 / 역할 변경
- [ 트러블 슈팅 & 성능 개선 ]
- 카드 조회수 캐싱으로 카드 조회 시 성능 개선
- 카드의 조회수 카운팅을 효과적으로 관리하기 위해 캐싱 활용
- 캐시를 적용함으로써 카드 조회 속도의 성능이 향상되었고 시스템 부하를 감소
포트폴리오
교육
- 소속/기관
- 대구과학대학교
- 종류 | 전공명/전공계열
- 대학교(전문학사) | 반도체전자 전공
- 재학 기간 (재학 상태)
- 2019.02. - 2021.02. (졸업)
대외활동
- 활동명
- 부트캠프 : 내일배움캠프 Spring 트랙 6기
- 소속/기관
- 스파르타 내일배움캠프
- 활동 연도
- 2024
- 활동 상세 설명
기간 : 2024.07 ~ 2024.11
활동 : Java를 사용한 Spring framework를 사용하여 서버에서 클라이언트의 요청을 처리
기술 스택 : Java, Spring 등
- 팀 프로젝트를 매주 진행하며 실무 환경과 유사한 협업 경험을 쌓았습니다.
- 간단한 클론 프로젝트와 최종 프로젝트를 통해 객체지향 프로그래밍을 익히고, 이를 실제 코드에 적용해 보았습니다.
- 재사용성이 높고 캡슐화가 잘 이루어진 코드로 사용자 경험을 개선하기 위해 프로젝트를 리팩토링했습니다.
- 활동명
- 부트캠프 : 이노베이션캠프 동북 React 트랙 2기
- 소속/기관
- 스파르타 이노베이션캠프
- 활동 연도
- 2023
- 활동 상세 설명
기간 : 2023.05 ~ 2023.09
활동 : JavaScript, React, 서버와의 비동기 통신
기술 스택 : JS, React, Redux, Styled-components 등
- only 팀 프로젝트로, 효과적인 협업 기술을 익혔습니다.
- JS, React 프레임워크 등의 기술을 익히며 객체 지향 언어와 프레임워크 기술을 사용하도록 했습니다.
- 간단한 토이 프로젝트, 클론 프로젝트나 최종 실전 프로젝트 등으로 실무에서 사용하는 기술을 익혔습니다.
- 캠프 정규 시간 이후에는 바닐라 JS 스터디 활동(JS 문서 요약 후 발표 등)을 진행하면서 JS 기초를 다지도록 노력했습니다.
- 수료식에서 '잘 들어줬어 넌 항상' 을 수상하며 의견 조율 시에는 활발한 소통, 또 협업 시에는 의지가 되는 수료생임을 인정받았습니다.
외국어
자기소개
- 자기소개
저는 유연한 소통과 효율적인 기록을 통해 팀 목표 달성에 기여하는 개발자입니다. 프로젝트 기획이 변경될 때 팀원들의 의견을 조율하고, 이를 바탕으로 일정을 단축하여 성공적으로 프로젝트를 완료한 경험이 있습니다. 개발 중 발생한 문제와 기술적 결정을 노션에 기록하고 이를 팀 내에서 공유하여 협업 환경을 개선해 왔습니다. 또한, 지속적인 학습과 회고를 통해 문제 해결 능력을 향상시키고, 명확한 커뮤니케이션으로 팀워크를 강화하는 데 기여했습니다. 이를 바탕으로 빠르게 변화하는 기술에 적응하며 성장하고자 합니다.