미리보기
기본 정보
안녕하세요, 신입 백엔드 개발자 최혜원입니다. 저는 Nest.js와 TypeScript를 사용해 RESTful API를 구축하는 데 능숙하며, AWS와 GCP를 이용한 클라우드 경험이 있습니다. 또한 CI/CD 파이프라인 구축, Redis 캐싱을 통한 성능 최적화, MySQL 데이터베이스 관리에 대한 경험도 가지고 있습니다. 새로운 기술과 도전에 대한 호기심이 많아, 구현 과정에서 큰 즐거움을 느낍니다. 과거에는 대학병원 간호사로서 환자들의 생명을 지키기 위해 헌신적으로 일했습니다. 이제는 더 많은 사람들의 삶에 긍정적인 영향을 미치는 개발자가 되고자 합니다. 개발을 통해 실현할 수 있는 창의적이고 혁신적인 방법으로 사람들을 돕고, 더 나아가 개발 문화를 긍정적으로 이끄는 IT 전문가로 성장하고 싶습니다. 프로젝트 사항은 포트폴리오에 더 자세히 작성되어 있습니다. 꼭 참고 부탁드립니다.
기술 스택
Node.js, JavaScript, TypeScript, NestJS, TypeORM, Prisma, Jest, MySQL, AWS, Google Cloud Platform, Git, Docker, DBMS/RDBMS, Redis, HTML/CSS
경력
부산백병원
간호사 | 병동
2021.09. ~ 2023.10. (2년 2개월)
다양한 직업군과의 협업 경험이 있어 의사소통과 협업에 능숙합니다. 일의 우선순위를 정하고, 정해진 기한 내에 업무를 완료하는 데 자신이 있습니다.
프로젝트
Chillinker 칠린커
개인
2024.03. ~ 2024.04.
[프로젝트 설명]
다양한 웹툰과 웹소설 정보와 반응을 한 곳에서 확인 할 수 있는 서비스입니다. 좋아하는 작품을 나만의 컬렉션으로 만들어 아카이빙 할 수 있습니다. 왓챠피디아를 모티브로 기획했습니다. 백엔드 개발자 4명이 작업했습니다.
[사용 기술]
- Framework : Nest.js
- DB : MySQL(Cloud SQL), Redis
- Library: TypeORM
- Deploy : Docker & Cloud Build & Cloud Run
- Crawling : Axios, Cheerio, Puppeteer
- Frontend : ejs, jquery, CSS
[기여한 부분 및 결과]
- Puppeteer, Axios를 사용한 리디북스 플랫폼 스크래핑
- 로그인 관련 사용자 편의 개선
- 리뷰 API
- TypeORM의 Query Builder로 최근 3일 동안 ‘좋아요’를 받은 적 있는 리뷰를 가져와 메인 페이지 상단에 표시
- 작품, 컬렉션 조회수 구현
- Docker, Google Cloud Run을 이용해 CI/CD 파이프라인 구축
- Locust를 활용한 부하 테스트
- Jest를 활용한 유닛 테스트 코드
- 작품 상세 페이지, 검색 페이지, 인기 리뷰 상세 페이지 프론트
- 최종프로젝트 우수상 수상
[기술적 의사 결정]
- Cloud: AWS vs GCP
AWS는 기존에 사용해 본 적이 있어 다양한 클라우드 경험을 쌓고자 GCP로 결정했습니다.
기본 가이드라인이 잘 제시되어 있었고, 무료로 $300 크레딧을 제공하는 것 또한 매력적으로 다가왔습니다.
- Database: MySQL vs NoSQL
처음에는 많은 작품 데이터를 빠르게 넣고 찾아보기 위해 NoSQL을 고려해 firebase로 실제 세팅까지 해보았으나, 프로젝트 성격상 데이터 간의 정형화된 관계가 존재하고 중요하다고 생각했습니다.
MySQL을 선택함으로써 데이터 관리와 관계 구성에 있어 효율성과 안정성을 얻을 수 있었습니다.
[성능 개선]
- Redis 캐싱을 이용해 메인페이지 호출 속도 1545ms 654ms 개선
Locust를 통해 부하 테스트를 진행했습니다.
캐싱 전: 유저 200명부터 백분위 95% 응답값이 20000ms 까지 밀렸습니다.
캐싱 후: 유저 500명까지 평균 3000ms 이하로 보낸 요청에 에러 없이 안정적인 응답을 받았습니다.
- 스크래핑 1분에 10개 데이터 1분에 100개 데이터를 가져오도록 하여, 약 900% 개선
Puppeteer만을 사용하여 데이터를 크롤링하던 방식에서 Axios를 통한 내부 API 호출 방식으로 전환하여 스크래핑 시간을 단축하였습니다.
To-DuBu 투두부
개인
2024.03. ~ 2024.03.
[프로젝트 설명]
칸반 보드 기반 프로젝트 협업 도구 만들기 프로젝트입니다.
[사용 기술]
- Framework : Nest.js
- DB : MySQL
- Library: TypeORM
- Storage: AWS S3
- Deploy : AWS EC2
[기여한 부분 및 알게된 것]
- TypeORM의 Query Runner로 트랜잭션 구현 및 계층형 구조의 REST API 작성
- NestJS의 IoC와 DI, Request lifecycle에 대한 이해
- AWS EC2, pm2를 이용해 배포
- 생성한 카드에 S3 이미지 업로드
- 소수점을 이용한 카드 순서 정렬
포트폴리오
교육
부산과학기술대학교
대학교(학사) | 간호학과
2017.02. ~ 2021.02. | 졸업