django / db용어 정리(db용어는 거의 공통)
RDBMS(RDB) : Relational DataBase Management system
관계형 데이터베이스를 지칭한다 (MySql, OracleDB)
NoSql :Not Only Sql의 약자로 관계형 데이터베이스가 아닌 다른 형태
mongoDB등
Sql : Structured Query Language
데이터베이스의 CRUD를 위해 사용되는 언어
(장고에서는 ORM을 사용해서 Sql을 대체한다.)
ex).
# sql
select from user ...
# django
from user.models import User
User.objects.filter or User.objects.get
Table : DB는 기본적으로 테이블로 이루어져 있으며, 필드와 레코드가 존재한다.
# models.py
# User 테이블
class User(models.Model):
# username 필드
username = models.CharField("사용자 계정", max_length=50, primary_key=True)
# password 필드
password = models.CharField("비밀번호", max_length=200, unique=True)
# User라는 테이블에 username, password라는 필드가 존재함
# 사용자가 회원가입을 할 때마다 레코드가 하나씩 추가됨.
# 레코드는 row 혹은 튜플 이라고도 불리며 django에서는 object, instance라고도 불린다.
# 즉, 레코드란 데이터베이스에 저장 되는 값들을 지칭하는 것
ORM의 attribute, 필드 = DB에서 컬럼
DB에서 레코드 = row = 튜플, 장고에서 obejct = instance
튜플은 파이썬의 튜플과는 다르다..
FK : OnetoMany에서 다른 테이블을 참조할 때 사용된다.
UK : 중복값을 허용하지 않는다. (ex. email, nickname)
PK : 테이블에서는 반드시 한개의 PK가 존재해야 한다.
PK는 두개 이상 존재 할 수 없고, UK와 마찬가지로 중복 값을 허용하지 않는다.
Foreign Key를 사용할 경우 참조 할 테이블의 PK를 바라본다.
id라는 필드는 장고에서 기본적으로 생성해준다(내가 PrimaryKey)로 직접 지정할 수도 있다.
팀프로젝트
과제 요구사항
- 로그인, 회원 가입
- 회원가입 기능 [O]
- 로그인 기능 [O]
- 로그아웃 기능 [O] - 게시글 CRUD
- 피드 페이지 [O]
- 최신 게시글의 제목 or 썸네일 보기 [O]
- 로그인 안해도 다 볼 수 있게 [O]
- 게시글 작성 페이지
- 로그인한 사용자만 들어올수 있게! [O]
- 상세 게시글 페이지
- 게시글의 세부내용 보기 [O]
- 글 작성자만! 수정/삭제 가능하다. [O]
- 마이 페이지
- 내 게시물 보기 → 모든 유저 [O]
- 프로필 수정 기능 → 나만 [O] - Git을 최대한 활용해보기!
- Pull Request 활용하기! [O]
- Merge는 Pull Request를 활용하여 진행한다. [O]
- Branch 만들어 작업하기 [O]
- 코드 리뷰 해보기! [△] - 추가 구현 기능
- 댓글 기능 [O]
- 좋아요, 북마크 기능 > 대신 별점 기능 [△]
- 팔로우, 팔로워 기능 [O]
- 팔로우한 상대 게시물 확인 기능 [O]
- 프로필에 사진 업로드 기능 [O]
- 많아지는 게시글을 나눠보기 위한 페이지 기능(pagination) [O]
- 회원가입시 이메일 인증 기능 추가
- 비밀 번호 찾기 기능
- AWS EC2에 배포(어려움!)
좋은 팀원분들은 만나서 프로젝트가 순식간에 진행되었고, 덕분에 나름 많이 구현했다고 생각했는데 후반부에 컨디션 난조로 열심히 참여하지 못한 부분이 아쉽다.
추가 요구사항 중 이메일 인증, 비밀번호 찾기 등은 충분히 할 수 있었을 것 같다. 물론 비밀번호 찾기 기능은 튜터님이
있어서는 안되는 기능이라고 하셨으니, 비밀번호 재설정 기능으로 만들어야 하겠지만 다음에 기회가 있다면 반드시 구현해보는것이 목표. 또한 Try except를 좀 더 의도적으로 사용하려고 노력해보는 것이 좋겠다.
'WIL&TIL > TIL' 카테고리의 다른 글
20230418 TIL DRF 시작 전 준비운동하기 - HTTP, 웹 (0) | 2023.04.18 |
---|---|
20230417 TIL __contains, :=, HTTP_REFERER (0) | 2023.04.17 |
20230413 TIL - migrations gitignore하기, 코드 포맷터 (3) | 2023.04.14 |
20230412 TIL - 깃 커밋 컨벤션, pull request에 관해 (0) | 2023.04.13 |
20230411 TIL - save()와 create(), GIT- permission denied (0) | 2023.04.12 |
댓글