🏁 최종 프로젝트 4~5주차에 가장 집중해주셔야 할 것은 “완성도 높이기”입니다. MVP에 추가 및 보완해야 할 기능과 우리의 서비스에 담긴, 인정 받을 수 있는 고민을 정리해주세요. 튜터님들과 함께 프로젝트를 높은 완성도로 마무리 할 수 있는 방향을 점검해 봅니다.
- 지금까지 완성한 코드의 개선을 위한 트러블 슈팅에 대해 고민하신 후, 가장 적합하다고 생각하는 트러블 슈팅을 팀원 별로 한 가지 작성해 주세요!
- 트러블 슈팅은 코드는 구현된 상태에서 ‘느린 것을 빠르게’ 와 같은 개선 시킨 경험을 말합니다.
- 아직 잘 모르겠다면, 고민 중인 내용을 작성하거나 고민이 필요한 키워드를 튜터님과 논의합니다.
- 팀원 개인별로 작성해주세요.
- 공민영:
- user 회원가입 이메일 인증 개선
- 설명
- 회원가입 시 이메일 인증하기 버튼을 누르면 약 10~30초간 화면에 아무런 반응이 없어 사용자가 불편함을 느낄 것이라고 생각됨
- 문제원인
- 이메일이 전송되는 동안 메시지 창 띄우기와 같은 다른 작업을 수행할 수 없어서 이메일이 실제로 보내질 때 까지 화면에는 아무런 반응이 없는 것
- 해결 과정
- 이메일이 전송되는 동안에도 다른 작업을 수행 할 수 있도록 이메일 전송을 비동기 처리 하기로 함
- 셀러리랑 threading 둘 중 내장 라이브러리인 threading를 선택 (이메일 발송 작업을 별도의 스레드에서 실행 할 수 있음)
- UserSerializer > create함수에 있던 이메일 전송 코드를 send_email함수를 추가해 따로 분리함
- User Serializers.py에 from threading import Thread 추가
- create함수에 send_email함수를 새로운 스레드에서 실행할 코드 작성
- email_thread = Thread(target=self.send_email, args=(user,)) email_thread.start()
- 설명
- user 회원가입 이메일 인증 개선
- 이준영
- AWS RDS PostgreSQL migrate 안됨
- 설명
- migrate가 안되는 상황
- 문제 원인
- django에 있는 migrations 파일과 rds postgresql의 public.django_migrations 목록과 일치하지 않으면 오류가 뜨면서 migrate가 안되는 경우가 있었다.
- 해결 과정
- postsql과 연결
- public 스키마와 관련된 것을 드랍
- DROP SCHEMA public CASCADE;
- public 스카마 생성
- CREATE SCHEMA public;
- migrate 진행
- python manage.py migrate
- 설명
- 로컬에서 가끔 미디어 경로를 찾지 못하는 문제
- 해결 과정
- 같은 rds postgreSQL을 쓰고 있는 동기에게 물어봄
- 로컬에서는 디버그 모드를 True로 해야 된다고 함.
- 바꾸니 바로 됨.
- 해결 과정
- SQLite > PostgreSQL 문제점
- 설명
- SQLite를 쓰다가 배포하려고 PostgreSQL로 바꾸니 바로 오류 뿜뿜
- 문제원인
- SQLite는 정수 필드가 모두 64비트로 처리
- PostgreSQL는 정수 필드 기본형이 32비트
- 해결 과정
- models.py에서 Integer를 모두 BigInteger로 변경
- 설명
- AWS RDS PostgreSQL migrate 안됨
- 공민영:
- 프로젝트에 새롭게 도입한 기술이 있다면 정리해 주세요! (도입 이유도 꼭 적어주세요!)
- 공민영
- 비동기 처리
- 사유
- 회원가입 시 이메일 인증하기 버튼을 누르면 약 10~30초간 화면에 아무런 반응이 없어 사용자가 불편함을 느낄 것이라고 생각됨
- 사유
- 비동기 처리
- 이준영
- SQLite > PostgreSQL
- 사유
- django에게 PostgreSQL이 좋다고 하여서 찾아보니
- MySQL은 스키마 변경 작업과 관련된 트랜잭션에 대한 지원이 부족
- PostgreSQL은 스키마 지원 측면에서 모든 데이터베이스 중에 가장 유능
- Django는 PostgreSQL에서만 작동하는 다양한 데이터 유형을 제공
- PostgreSQL 관련 유틸들은 Django에 built-in되어 있어 추가적인 설치 없이 바로 이용가능
- 사유
- SQLite > PostgreSQL
- 공민영
- 이번 주 한 일
- 팀 전체 (리더님께서 필두로 정리해 주세요.)
- 피드백 반영 및 미 구현 MVP 구현
- 팀원 개인별로 작성해 주세요.
- 마동휘
- 검색 기능 추가(AI자랑게시판의 글만 검색되었는데 방법공유 게시판의 글도 검색가능)
- 왕규원
- 게시글 좋아요 기능 구현 Front
- 김은수
- 댓글 좋아요 기능 구현 front
- 공민영
- 테스트 코드 작성
- 이메일 발송 비동기 처리
- 이준영
- 배포
- 백엔드
- RDS + PostgreSQL
- EC2
- Docker
- 프론트
- S3
- CloudFront
- 호스팅
- Route 53
- 디버그
- 로컬 > 배포 시 오류들 수정
- 백엔드
- header 재 디자인
- 배포
- 마동휘
- 팀 전체 (리더님께서 필두로 정리해 주세요.)
- 이외에도 기술적인 방향을 잡기 위한 질문을 정리해오시면 가장 좋습니다!→ “A와 B를 알아보았는데, 둘 중 A가 낫다고 판단했는데 맞을까요?”의 식의 고민의 흔적을 담아 질문해주세요.
- ai를 더 추가해도 될까요? 서버가 스트레스를 통과할 수 있을지 걱정입니다. 유저 테스트를 하고는 싶지만 기능들을 추가하고 싶어요. 방향성을 알려주시면 좋겠습니다! → ec2 swap 한번 보기
- → 단, “A는 어떻게 구현하나요”의 질문은 삼가주세요.
- 숙제: 멘토링 결과 다음 주까지 해올 일
- 팀 전체 (리더와 부리더님께서 필두로 정리해 주세요.)
- 팀원 개인별로 작성해 주세요.
댓글