일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | 6 | 7 |
8 | 9 | 10 | 11 | 12 | 13 | 14 |
15 | 16 | 17 | 18 | 19 | 20 | 21 |
22 | 23 | 24 | 25 | 26 | 27 | 28 |
29 | 30 | 31 |
- 단축어
- 충북
- nocookie
- 링크
- 추천 영상
- 장고
- venv
- gpu 병렬처리
- DB
- 바로학교
- python
- List
- 그리디 알고리즘
- 탐욕 알고리즘
- Google Drive
- 파이썬
- 아이폰
- 구글 드라이브
- selenium
- 알고리즘
- flask
- 유튜브
- 깃허브
- MongoDB
- docker-compose
- 코딩
- pymongo
- Django
- 리스트
- G-Suite
- Today
- Total
목록DB (2)
SSAMKO의 개발 이야기
회원가입 시 하나의 폼 작성으로 school과 adminuser 그리고 Comroom 테이블에 동시에 데이터를 생성해야 했다. form_valid단계에서 각 field의 정보들로 세 개의 Model에 대한 인스턴스를 생성해서 저장하면 되는 그리 어렵지 않은 문제였지만, 만일 하나의 테이블에는 정상적으로 생성이 되고, 다른 테이블에서는 실패한다면 다시 회원가입을 시도하려고 할 때 문제가 발생할 수 있다. 이런 문제를 해결하기 위해 데이터베이스 트랜젝션Database transaction을 이용해야 한다. 데이터베이스 트랜젝션이란, 두 개 이상의 Query를 처리할 때 하나라도 실패하면 전체를 되돌리도록 query를 단일화 하는 작업으로, ACID라는 특성을 갖는다. Atomic(원자성), Consisten..
현재(2020.3.25.) 컴룸닷넷의 데이터베이스 구조(관계)이다. ERD Tool로 깔끔하게 그릴수도 있겠지만, 아직까진 손으로 작업하는 게 편하고, 적당한 ERD Tool을 못 찾아서 일단 아이패드로 그려봤다. 적당한 ERD Tool을 발견하면 다시 깔끔하게 작성해봐야겠다. notice는 메인 화면에 공지사항을 띄우기 위해 만들었고, 조만간 게시판 앱으로 분리할 계획이다. (로그인 없이도 글을 남길 수 있게 하려고 비속어 및 광고 필터링 모듈을 개발 중) schoolAdmin은 각 학교 관리자 테이블이다. 메일 인증을 통해 is_active가 True가 되면 사이트 이용이 가능하다. auth_key는 메일 인증, 비밀번호 재설정을 위한 인증키이다. comroom은 모든 학교의 컴퓨터실을 담고 있는 테..