You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
✔️ 모든 서비스는 회원가입에서 시작됩니다. 사용자를 우리 서비스의 회원으로 등록하는 과정에 대해 진행하겠습니다.
✔️ 구현하셔야 하는 내용 이후에는, 해당 코드를 효율적으로 작성하기 위한 정보들이 나열되어 있습니다.
✔️ 코드리뷰시 중점적으로 다루는 내용이니 꼭 숙지하시기 바랍니다.
01. user app을 생성해주세요.
앱 이름에서 그 용도를 유추할 수 있어야 합니다. 사용자와 관련된 기능을 구현할 앱이므로, user 또는 account등의 이름으로 앱을 생성해주세요.
아래 규칙들을 지켜 생성해주세요. 관련 PR & Review를 참고하시면 더 좋은 코드를 만드실 수 있습니다.
✅ 클래스 및 함수, 변수 이름 설정
클래스 이름, 함수 이름을 포함하여 모든 변수 이름을 짓는데에는 규칙이 있습니다. 위 파이썬 코딩 컨벤션을 따라주세요.
📍 관련 PR & Review
모든 변수의 이름은 명확하게
table 이름은 class 이름과 동일하게, 복수형으로
✅ 코드 간격 정렬
코드는 크게 =, :, import 를 기준으로 같은 간격으로 정렬해줍니다. 복잡한 코드를 좀 더 읽기 쉽게 해줍니다.
📍 관련 PR & Review
import 기준으로 코드 정렬
'=' 또는 ':' 기준으로 코드 정렬
03. 회원가입 뷰를 작성해주세요.
생성한 사용자 클래스를 불러옵니다. 한 번에 모든 클래스를 import 해서는 안됩니다. 내가 사용할 클래스를 정확히 지칭해주세요
인스타그램에 회원가입 할 때에는 사용자 계정(이메일)을 필수로 필요합니다.
인스타그램에 회원가입 할 때에는 비밀번호도 필수로 필요합니다.
이메일이나 패스워드 키가 전달되지 않았을 시, {"message": "KEY_ERROR"}, status code 400 을 반환합니다.
회원가입시 이메일을 사용할 경우, 이메일에는 @와 .이 필수로 포함되어야 합니다. 해당 조건이 만족되지 않을 시 적절한 에러를 반환해주세요. 이 과정을 email validation이라고 합니다.
회원가입시 비밀번호는 8자리 이상이어야만 합니다. 해당 조건이 만족되지 않을 시, 적절한 에러를 반환해주세요. 이 과정을 password validation이라고 합니다.
회원가입시 서로 다른 사람이 같은 전화번호나 사용자 이름, 이메일을 사용하지 않으므로 기존에 존재하는 자료와 중복되어서는 안됩니다. 적절한 에러를 반환해주세요.
회원가입이 성공하면 {"message": "SUCCESS"}, status code 200을 반환합니다.
[추가 구현 사항] -> email validation 또는 password validation 과정에서 정규식을 사용해보세요.
✅ 모듈을 import 하는 순서 및 규칙
모듈을 import 하는 데에도 순서가 있습니다.
python 모듈,
django 모듈,
내가 만든 클래스
순서로 import 해주시고, 각 1,2,3번 사이에는 빈 줄을 삽입해주세요.
📍 관련 PR & Review
import 순서와 간격이 맞지 않은 경우
부적절한 import *
✅ Pythonic Coding
파이썬은 말하듯이 코딩하는 스타일을 지향하고 있습니다. 아직 파이썬에 익숙하지 않기 때문에, 몇가지 스타일만 예시로 체험하도록 하겠습니다.
📍 관련 PR & Review
Truthy / Falsy 한 값은 그 자체로 평가함
🛎 Truthy / Falsy 에 대해 공부해보세요
불필요한 else는 사용하지 않음
✅ Error Handling
언제나 정상적으로 작동하는 코드만 있다면 얼마나 행복할까요? 하지만 정상적인 코드는 언제나 엄격한 에러 핸들링에서 나온답니다. 일어날 수 있는 버그를 최대한 많이 핸들링하는 습관을 들이셔야 합니다.
📍 관련 PR & Review
에러 메세지도 통일해주기
코드는 어제나 통일감과 가독성이 중요합니다. 에러메세지 또한 그 양식을 통일하여, 코드를 읽는 이로 하여금 이해가 쉽도록 작성하여야 합니다.
Error catching의 좋은 예 - 에러 핸들링은 자세하게
적절한 에러 핸들링은 어떤 오류가 발생하였는지 상세히 알려주기 때문에 디버깅을 쉽게 만들어줍니다. 따라서 발생할 수 있는 여러 상황에 대해 에러 핸들리을 해주는 것이 좋습니다. 회원가입시 발생할 수 있는 오류 사항에는 다음과 같은 경우가 있습니다.
이메일이나 비밀번호라는 데이터가 들어오지 않았을 때
계정(이메일, 아이디)의 형식이 맞지 않을 때
비밀번호의 형식이 맞지 않을 때
이미 가입한 유저가 회원가입을 시도할 때
Error catching의 안좋은 예 - 모든 에러를 한 번에 잡기
04. 회원가입 뷰를 호출할 url을 작성해주세요
✅ 적절한 url 작성
view를 잘 작성하셨다면, 이에 걸맞는 좋은 url을 붙여주는 것 까지가 좋은 엔드포인트를 생성하는 과정입니다. 작성한 함수에 적절하며, 그 의미에 맞는 url을 생성하셔야 합니다.
📍 관련 PR & Review
url이 명확하지 않은 경우
슬래시(/)를 알맞게 붙이지 않은 경우
🛎 REST_API 에 대해 공부해보세요
회원가입 과정을 확인해주세요
httpie를 이용하여 서로 다른 10개의 계정을 회원가입 시켜주세요.
The text was updated successfully, but these errors were encountered:
01. user app을 생성해주세요.
앱 이름에서 그 용도를 유추할 수 있어야 합니다. 사용자와 관련된 기능을 구현할 앱이므로,
user
또는account
등의 이름으로 앱을 생성해주세요.02. 사용자 테이블을 생성해주세요.
models.py
에 사용자를 관리할 클래스를 생성합니다.✅ 클래스 및 함수, 변수 이름 설정
📍 관련 PR & Review
모든 변수의 이름은 명확하게
table 이름은 class 이름과 동일하게, 복수형으로
✅ 코드 간격 정렬
📍 관련 PR & Review
import 기준으로 코드 정렬
'=' 또는 ':' 기준으로 코드 정렬
03. 회원가입 뷰를 작성해주세요.
@
와.
이 필수로 포함되어야 합니다. 해당 조건이 만족되지 않을 시 적절한 에러를 반환해주세요. 이 과정을 email validation이라고 합니다.✅ 모듈을 import 하는 순서 및 규칙
📍 관련 PR & Review
import 순서와 간격이 맞지 않은 경우
부적절한 import *
✅ Pythonic Coding
📍 관련 PR & Review
Truthy / Falsy 한 값은 그 자체로 평가함
🛎
Truthy / Falsy
에 대해 공부해보세요불필요한 else는 사용하지 않음
✅ Error Handling
📍 관련 PR & Review
에러 메세지도 통일해주기
코드는 어제나 통일감과 가독성이 중요합니다. 에러메세지 또한 그 양식을 통일하여, 코드를 읽는 이로 하여금 이해가 쉽도록 작성하여야 합니다.Error catching의 좋은 예 - 에러 핸들링은 자세하게
적절한 에러 핸들링은 어떤 오류가 발생하였는지 상세히 알려주기 때문에 디버깅을 쉽게 만들어줍니다. 따라서 발생할 수 있는 여러 상황에 대해 에러 핸들리을 해주는 것이 좋습니다. 회원가입시 발생할 수 있는 오류 사항에는 다음과 같은 경우가 있습니다.Error catching의 안좋은 예 - 모든 에러를 한 번에 잡기
04. 회원가입 뷰를 호출할 url을 작성해주세요
✅ 적절한
url
작성📍 관련 PR & Review
url이 명확하지 않은 경우
슬래시(/)를 알맞게 붙이지 않은 경우
🛎
REST_API
에 대해 공부해보세요회원가입 과정을 확인해주세요
The text was updated successfully, but these errors were encountered: