해설과 다른점 & 문제점
Code의 차이
- Basic
제출
해설
- Advenced
제출
해설
강의에서 나온 추가 내용
- App은 프로젝트에서 정리할 수 있다
시스템의 목표를 잡고 규모에 따라서 작업을 한다
(사용하지 않는 것은 없애고 목적에 맞는 앱들끼리 같이 묶고 하는 등의 작업)
Mission에서의 Point
- (기능적) Model에서 Choice 사용
Choice 사용 목적
: 정해진 데이터를 출력하기 위해
Choice 안에 max_length가 있는 이유
: 유효성 검사를 위해서 등
Choice의 선택 대상 형태 (숫자, 문자) 이유
: 컴퓨터에서의 처리 속도&데이터 양 ( 2진법 > 숫자 > 문자 )이 좋아진다
효율적인 코드 진행 = 이점
(Tip) choice의 활용도를 높이는 방법
: (숫자, 문자) 에서 숫자에 변수를 집어 넣으면 숫자를 수정하지 않고도 대상에 대해서 지정을 바꿀 수 있다.
지정하지 않고 변수 값이 변하면 자동으로 바뀌기 때문에 활용도가 높다 = 좋은 코드
- (인식) 함수 기능
지금까지 만들어진 것을 계속 사용했지만 기능으로 없다면 만들어야 할 수도 있다는 것을 인식
효율적으로 만들어진 것이 있을 뿐 없다면 직접 알고있는, 구성되어 있는 것들로 만들어야 한다.
- (개념) 사용하는 함수의 목적성
요구사항을 만족한다면 Code가 효율적이면 좋은 코드라는 것이지 틀린것이 아니다.
목적에 맞는 적합한 함수&code가 있는 것이지 다른사람과 다르다고 틀린 것은 아니다.
- (Tip) 필드는 되도록 안바꾸는 것이 좋다.
불가피하게 바꾸는 것은 어쩔 수 없지만 기존에 있던 데이터들이 있다면 더더욱 바꾸는것을 고려해야한다.
필드가 바뀌게 되면 migration할때 수정할 수도 있지만, 바꿔서 다른 부분에 영향이 있을 수 있다.
몰랐던 부분
- (기능적) Foreignkey에서 related_name 사용
게시판에서는 user(글쓴이 or 수정)가 게시판에서는 큰의미가 없을 수 있지만 답변에서는 의미가 있다.
같은 필드 안에서 외래키로 같은 부분(user)을 쓸 때에 related_name으로 분리해서 쓸 수 있다
- (인식) 보이지 않는 데이터라도 관리는 필요하다
작성/수정 시간과 작성/수정한 사람은 사용자 입장에서는 필요없는 데이터일 수 있지만
관리를 해야하는 데이터다. 이러한 부분을 인식을하고 모델링을 해야한다.
팀원들의 feed back
개인 성찰
'학습 > [The-Origin][SW][Backend] Main Pag' 카테고리의 다른 글
[The Origin][VSCODE][Django][Form] 사용해보면서 기능 알기 (0) | 2022.05.16 |
---|---|
[The Origin][백엔드] 6주차 (0) | 2022.05.16 |
[The Origin][VSCODE][Django][CRUD] Delete (0) | 2022.04.22 |
[The Origin][VSCODE][Django][CRUD] Update (0) | 2022.04.22 |
[The Origin][VSCODE][Django][CRUD] Read (2) (0) | 2022.04.22 |