우리 프로젝트는 유저의 취향을 공유하는 애플리케이션을 구현하는 것으로, 음식에 대한 취향을 공유할 때 사진을 업로드할 수 있어야 한다. 백엔드 팀원들끼리 회의를 하면서 이 기능에 대한 구현을 내가 맡기로 했다. 왜 S3 버킷을 사용했나요? 기능 구현을 맡고 어떻게 구현해야 하는지에 대해 감이 잘 잡히지 않았다. 그래서 멘토님에게 질문을 하여 다음과 같은 답변을 받았다. 1. 이미지를 base64로 인코딩하여 DB에 저장 2. 이미지 자체를 EC2 디렉토리에 저장 후 경로를 DB에 저장 3. 이미지 자체를 S3에 저장 후 경로를 DB에 저장 여기서 중요한 점은 업로드 방법보다는 이미지를 리사이징하여 용량을 줄이는 것이라 하셨다. 개인적으로 이미지를 인코딩하는 방법은 비효율적(용량측면에서)이라 생각해서 세 ..

프리프로젝트에서는 Github Actions를 사용할 수 있는 권한이 주어지지 않아 수동 배포를 했는데, 메인 프로젝트에서는 코드스테이츠에서 Github Actions를 사용할 수 있는 권한을 부여해줘서 Github Actions를 이용한 배포 자동화를 구현해보았다. 왜 Github Actions를 사용했나요? 배포 자동화 방법에는 여러가지가 있지만 1. 프로젝트에서 버전 관리를 Github으로 하고 있음 2. 부트캠스 코스에서 Github Actions에 대해 학습함 위 두 가지를 이유로 Github Actions를 사용하기로 했다. 또한, 최근 많은 기업들의 기술블로그에서 Github Actions를 어떻게 사용하고 있는지에 대한 내용을 확인할 수 있었다. 더보기 https://fe-developer..
JWT + Redis 왜 Redis를 사용해야 하는가 코드스테이츠 메인 프로젝트에서 로그인/로그아웃 기능 구현을 맡았다. 로그인/로그아웃을 기능을 구현하는 것에는 여러가지 방법이 있는데 그 중 JWT를 이용해서 기능 구현을 했다. 왜 JWT를 사용했는지에 대한 내용 따로 블로깅했다. https://eunaya.tistory.com/50 [Main-Project] JWT 이용하여 로그인 기능 구현 이번 프로젝트에서 로그인 기능 구현을 맡게 되어 JWT를 이용하여 기능을 구현해보았다. 왜 JWT를 사용해야 하는가? 로그인 파트를 맡아 처음 구현하려고 했을 때, 세션 방식과 토큰 방식 중 어떤 eunaya.tistory.com 로그인 기능을 구현하는 것에는 큰 어려움이 없었는데 로그아웃 기능을 구현하려고 하니..
이번 프로젝트에서 로그인 기능 구현을 맡게 되어 JWT를 이용하여 기능을 구현해보았다. 왜 JWT를 사용해야 하는가? 로그인 파트를 맡아 처음 구현하려고 했을 때, 세션 방식과 토큰 방식 중 어떤 방식을 사용해야 하는지 많이 고민했다. 둘 다 장단점이 있었지만 서버의 확장성 부분을 고려하여 토큰 기반 인증 방식을 사용하게 되었고, 그 중 가장 범용적으로 사용되는 JWT 를 사용했다. JWT를 간단하게 소개하자면 JSON 포맷의 토큰 정보를 인코딩 후, 인코딩된 토큰 정보를 secret key 로 서명한 메세지를 web token 으로 이용하는 방식이며 따로 블로깅했다. https://eunaya.tistory.com/51 JWT(JSON Web Token) eunaya.tistory.com 구현기 토큰 ..
Pre-Project 기간 : 2023.02.13 ~ 2023.03.02 팀 빌딩 코드스테이츠에서 랜덤으로 배정해주었다. 이 과정에서 팀원 이탈이 생겨 1명 적게 배정된 팀도 있었는데, 위기 대처 능력(?) 키우기의 일종으로 보충은 없었다. Git 사용 당연히 팀 repository를 사용했기 때문에 git 사용이 필수였다. 지금까지 백업의 형태로만 git을 사용했었기 때문에 프로젝트 초기 하루동안은 협업을 위한 git 사용을 익혔다. 잘못하면 팀원들이 작업한 내용이 날아갈 수 있다는 이야기를 들으니 너무 신경이 쓰였는데, 나뿐만이 아니었는지 오후 라이브세션 시간에 질문이 쏟아져 교육엔지니어님께서 1시간 가량 더 수업을 해주셨다. 프로젝트 초기에는 너무 무서워서 push하고 pr할 때마다 부팀장님께 질문..