목록~2022 작성 글/Code States 회고 (18)
상권's
코드스테이츠 4인 / 4주 파이널프로젝트 북담 : 사용자 독서 경험에 초점을 맞춘 SNS 서비스 참여자 : 김상권(팀장), 안승호, 서한석, 신형경 역할 : 백엔드, 배포(클라이언트 & 서버) 게시글 CRUD 북담 프로젝트에서 가장 핵심이 되는 게시글 관련 API 시연 영상입니다. 도서 검색 기능은 알라딘 Open API를 이용해서 이미지, 제목, 작가, 출판사 정보를 제공하고 있습니다. 유저 검색 및 팔로우 다른 사용자를 팔로우해서 해당 사용자의 게시글을 피드에서 확인할 수 있습니다. 유저 검색 기능은 Id와 닉네임 모두로 검색 가능하도록 구현했습니다.
문제점 1. SR단계에서 혼자 백엔드를 맡았다는 부담감에 프로젝트의 볼륨을 작게 잡았던 점 2. SR단계에서 api에서 반복되는 코드(jwt 유효성 검사)를 별로도 구현하지 못한 점. 3. AWS 배포 시 에러에 대해서 정확하게 파악하고 해결하지 못한 점. 4. 유저의 이미지를 s3에 저장하는 방법에 대해서 제대로 학습하지 못해 구현에 실패한 점. 5. DB에 유저 jwt를 담아서 유저를 검증하는 방안을 마련하지 못한 점. 6. Access 토큰만 활용하고 Refresh 토큰은 도입하지 못한 점. 7. Bcrypt의 비동기적인 방법이 권고되는 이유에 대해서 직접 검증해보지 못한 점. 8. 학습했던 TDD를 반영하지 못한 점. 9. RESTFul한 api를 구현하지 못한 점. 10. 예외처리를 미숙하게 한..
이번 주는 AWS를 이용해서 https 배포, Route53, RDS 등록을 진행했습니다. 아웃바운드 설정 오류로 인한 에러. 프로젝트 초기에 서버와 클라이언트에서 Hello World가 출력되는 것을 확인하고 도메인 연결, https 배포 설정 후 깃헙 머지 했을 때 배포 자동화에서 발생했던 에러입니다. 아웃바운드 설정이 아무거도 안되어 있어서 오류가 발생한 것으로 확인되었습니다. 아마 도메인 연결, https 설정할 때 아웃바운드 설정을 왜 삭제했는 지 기억이 잘 나질 않아 가장 아쉽습니다. 코드 파이프라인이 성공적으로 작동되었는데 도메인상에서는 변경 안되는 에러. 인트로 페이지를 다 구현한 뒤 코드파이프라인까지 확인한 후에도 도메인에서는 예전 인트로 페이지가 출력되는 문제가 있었습니다. EC2, S..
어느새 파이널 프로젝트 3주차가 끝이 났습니다. 초기에 작성했던 api가 나름 작동을 잘해서 다행이라고 생각하지만, 아쉬운 점도 많았습니다. api document를 초기에 구상할 때, sequelize include 메소드를 사용할 때 리턴되는 값을 예상하지 못했던 것입니다. 퍼스트 프로젝트에서 연관관계를 설정했을 때 출력을 확인하지 못했었고, 파이널 프로젝트에서 확인했을 때, 예상치 않게 테이블명이 닷 노테이션으로 출력되면서 팀원분들에게 혼란을 드렸습니다. 퍼스트 프로젝트 때 controller 구현을 맡았다는 이유로 학습을 깊게 하지 않았던 것이 혼란을 야기한 것 같아 아쉬웠습니다. 이번 주는 클라이언트와 통신하며 작성했던 api를 수정하는 작업이 많았습니다. 네이버 도서 검색 api를 활용했었는데..
이번 주부터 본격적으로 서버를 구현했습니다. 구현을 하면서 다음과 같은 것들에 신경 썼습니다. 1. api 에러 처리를 확실히 한다. 2. 유저임을 확인할 수 있는 방법(보안)을 구상한다. 3. 클라이언트가 편리한 데이터형태로 응답할 수 있도록 한다. 4. 리차드슨 REST 성숙도 모델 2단계 API를 구현할 수 있도록 한다. 1번은 TDD 학습을 통해 어느정도는 구현할 수 있었습니다. 테스트를 구현하진 못해 너무 아쉽지만, 에러처리에서 학습 내용을 활용할 수 있었습니다. 2번은 JWT를 쿠키에 저장해 서버 요청이 들어오면 쿠키 존재여부에 따른 에러처리를 구현했습니다. 남은 기간동안 보안에 더 나은 방법이 없을 지 고민하고 반영해볼 예정입니다. 3번은 유저가 follow하고 있는 유저들의 article을..
월 ~ 목요일 월요일에 팀 프로젝트 설문 조사를 하고 팀원들이 확정되었습니다. 저희 팀은 그 전날 팀원들과 회의를 통해서 팀원들 동일하게 파이널 프로젝트를 진행하기로 했습니다. 팀원들이 확정되고 난 뒤, 목요일까지 SR 단계를 진행했습니다. 앞선 퍼스트 프로젝트 후기에서도 남겼지만, 논점에서 벗어난 아이디어가 나왔을 때 중단시켜야하는 점과 회의 내용을 간단하게 정리해서 공유하는 것을 많이 어려워했습니다. 파이널 프로젝트 때는 SR 단계 전에 팀원들에게 해당 부분이 쉽지 않다고 말씀을 드렸고 팀원들께서 이해해주셔서 중간에 끊더라도 이해해주시고 팀원들께서 적극적으로 분담해주시는 것으로 이야길 나눴습니다. 퍼스트 프로젝트가 계획했던 대로 진행되지 않은 아쉬움이 있었고, 팀장으로써 팀원들에게 좋은 결과물과 경험..
기획 To do list를 작성하고 달성하는 데에 도움을 드릴 수 있는 웹 앱을 계획했습니다. 매달 To do list 달성에 따른 뱃지를 부여하는 것과 목표한 날짜에 미달성한 To do list가 있을 경우 알림과 동기부여를 할 수 있는 명언을 함께 제공함으로써 이용자를 격려할 수 있습니다. 추가적으로 친구들과 자신의 To do list를 공유함으로써 주위에 알려 To do list를 더 잘 달성할 수 있도록 환경을 조성해줍니다. 팀프로젝트 후기 2주간의 퍼스트 프로젝트가 벌써 끝났습니다. 짧게 소감을 밝히자면, "초기의 기능 구현 욕심과 SR단계에서의 미숙함으로 결과물을 만들지 못해 아쉽다"입니다. SR 단계가 처음이기도 했고, 2주라는 기간이 짧게 느껴 모든 단계에서 상세하지 못했고 성급했습니다. ..
드디어 코드스테이츠 34기의 모든 섹션이 끝이 났습니다. 섹션 1, 2는 프론트엔드 심화와 백엔드 기초에 대해서 학습했다면, 섹션 3는 백엔드 심화를 집중 학습했습니다. 섹션 3에서는 리눅스 심화, 코딩테스트 준비(알고리즘, 시간복잡도, 자료구조 등), 데이터베이스, 인증/보안, 컴퓨터공학, 네트워크 심화, AWS, Docker, 배포자동화 등을 학습했습니다. 리눅스, 컴퓨터 공학, 네트워크 학습을 통해서 앞 선 섹션 1, 2에서 이해하지 못했던 부분들이 머릿 속에서 퍼즐이 맞춰지는 경험을 했습니다. 알고리즘은 섹션 2부터 스터디를 하며 알고리즘에 집중하는 시간을 가진 덕분인지 어렵지 않게 알고리즘 문제들을 해결할 수 있었습니다. 나머지 배포에 관한 부분들은 백엔드를 목표하는 만큼 관심을 갖고 진행을 했..