[2024.08.29 TIL] 내일배움캠프 95일차 (이력서 작성, 프로젝트 파트 완성하기)

My_Code·2024년 8월 29일
0

TIL

목록 보기
108/113
post-thumbnail

본 내용은 내일배움캠프에서 활동한 내용을 기록한 글입니다.


💻 TIL(Today I Learned)

📌 Today I Done

✏️ 1. 프로젝트 파트 완성하기

  • 길게 쓰여진 문장 줄이기 (구문 다이어트)

  • 내가 쓴 문장에 핵심 키워드가 있는지 점점

  • 두괄식으로 제목을 정리



✏️ 2. Give me the ticket (최종 프로젝트)

  • 프로젝트 소개 : 공연 예매와 예매한 티켓의 중고 거래를 지원하는 서비스
  • 사용 스킬
    • Back-End : TypeScript, Node.js, Nest.js
    • Front-End : HTML, CSS, JavaScript, EJS
    • Database : MySQL, Redis, AWS S3
    • DevOps / Infra : GitHub Actions, AWS EC2, AWS ELB, AWS Route 53, AWS CloudFront
  • 담당 역할
    • 로컬 회원가입 및 로그인
      • 공연 예매 기능 때문에 해당 서비스에서 사용자를 구분해서 관리가 필요
      • AWS RDS를 이용한 MySQL를 통해 사용자가 입력한 정보를 저장
      • 인증된 사용자인지 검증하기 위해 토큰 별 Strategy를 구현
    • 카카오 소셜 로그인
      • 사용자에게 편리하고 안심되는 인증 방법 선택지를 주기 위해서 구현
      • 개인정보를 카카오와 같은 안전한 큰 기업에 맡기고, 해당 서비스에서는 토큰만 발급해주는 방법을 사용
      • 사용자가 카카오 계정을 통한 로그인이 가능함
    • 이미지 업로드
      • 해당 서비스에 사용자 프로필 이미지와 공연 이미지가 필요
      • 데이터베이스에서 이미지 데이터를 다루기에는 무거움
      • AWS S3 서비스를 통해 이미지 데이터를 저장
      • S3로부터 받은 이미지 URL를 클라이언트에게 반환
      • 데이터베이스 부하를 줄이며, 안정적으로 대량의 이미지를 효율적으로 처리 가능
  • 트러블 슈팅
    • CD workflow의 멈춤 현상을 해결하여 정상적인 배포 과정 확보
      • CD workflow 멈춤 현상으로 인해 배포 지연과 서비스 가용성이 떨어졌음
      • EC2 SSH 접속을 도와주는 appleboy/ssh-action을 다운로드 하는 과정에서 타임아웃이 발생
      • 그 과정에서 CPU 점유율이 100%로 치솟는 현상이 발생
      • 해당 action을 사용하지 않고 직접 SSH 명령어를 통해서 명령을 실행하는 방법을 사용
      • 멈춤 현상을 해결하고 정상적인 배포 과정이 이뤄짐
    • URL 노출 방지 및 토큰 전달 개선을 통한 소셜 로그인 보안 강화
      • 카카오 로그인 백엔드 API를 호출하면 생성한 토큰을 URL에 넣어서 프론트엔드로 전달했음
      • 이 방식은 토큰이 그대로 들어나기에 보안적인 취약함
      • 별도의 랜덤 코드를 만들어서 해당 코드를 키로 사용하는 사용자 ID를 레디스에 저장함
      • 토큰을 직접 노출된 형태가 아니라 Body에 담아서 전달 → 보안 측면에서 다소 향상
    • CDN 적용을 통한 이미지 요청 속도 70% 감소
      • 공연 이미지의 용량이 크면 매번 요청할 때마다 시간이 소요
      • AWS CloudFront를 사용해 이미지 데이터를 캐싱할 수 있는 여러 엣지 서버 적용
      • 이미지 요청에 대한 응답 속도를 서울 리전 기준으로 70% 감소시킬 수 있었음


📌 Tomorrow's Goal

✏️ 자기소개 작성하기

  • 내일은 자기소개서를 작성할 예정

  • 미리 내용을 간단히 봤지만, 기존에 작성했던 내용은 사용하지 못할 것 같음

  • 그렇기에 이번 캠프를 통해 얻은 경험을 바탕으로 완전히 새롭게 작성할 예정



📌 Today's Goal I Done

✔️ 프로젝트 파트 완성하기

  • 오늘 프로젝트에 대한 나의 역할과 트러블 슈팅을 작성함

  • 작성하고 보니 한 줄씩은 간결해 보이지만 개조식으로 이번에는 밑으로 내용이 길어짐

  • 내용이 길더라도 일단은 작성하고 이력서 인텔리픽에서 점검받을 때 따로 피드백을 받도록 하자!


profile
조금씩 정리하자!!!

0개의 댓글