Notice
Recent Posts
Recent Comments
Link
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
Tags
- Gunicorn
- AWS
- combinations
- Python
- utils
- ORM
- stack&que
- Unit Testing
- permutations
- Programmers
- pytest
- algorithm
- Bruteforce
- was
- stateless
- Git
- postreSQL
- Stack
- greedy
- Q objects
- 백준
- HTTP 완벽 가이드
- stateful
- Query
- dictionary
- TDD
- SQL
- Django
- codecov
- ws
Archives
- Today
- Total
해피 코딩!
Django를 사용하게 된 이유 본문
python 언어 기반이다.
- 다양한 파이썬의 라이브러리를 사용할 수 있다.
스스로를 배터리팩이라 칭하는 프레임워크이다.
- build fast, full stack framework라고도 불린다.
인증, 관리와 같이 거의 대부분의 사이트에서 사용하는 기능이 기본 모듈로 제공된다.(로그인, 회원가입, 인증, CORS 등)
데이터베이스 테이블을 models.py에 클래스로 작성하여 작업량을 줄인다.
- 한 번 작업하면 테이블까지 생성되어 매핑되기 때문에 편하게 작업이 가능하다.
python은 강제된 indent가 코드 완성도에 일조한다.
- 강제된 indent 요약: if, for, def 문 끝에는 콜론을 사용하고 내부 코딩 블럭은 동일한 들여쓰기를 사용한다.
ORM (Object Relational Mapping)이 프로젝트의 객체들을 데이터베이스 테이블과 매핑을 도와주어 복잡한 데이터 기반 웹 사이트 개발이 쉬워질 수 있다.
- ORM: 객체 관계 매핑으로 데이터베이스와 객체 지향 프로그래밍 언어간의 호환되지 않는 데이터를 변환하는 프로그래밍 기법이며 객체 지향 언어에서 사용할 수 있는 가상 객체 데이터베이스를 구축
관리자 페이지 지원
쉽고 편한 개발 - 디버깅 환경
- Django Debug Toolbar
Django의 단점
- 성능 문제에서 자유롭지 못하다.
- 비동기 지원 - 최근의 웹 프레임워크들이 백그라운드 작업을 위한 도구를 미리 제공하는 것에 비하여 django는 celery같은 별도의 프로그램을 구성해 처리해야 한다.
- polling의 딜레마 : channels라는 실시간 기능을 지원하는 API가 있지만, 편의성이 떨어진다.
- 자연스럽게 접하게 되는 ORM이 실무에서 설계를 하게 된다면 ORM 코드에 짜기 쉽도록 구성이 되어 SQL에 대한 공부가 필요하다.
출처
'Django' 카테고리의 다른 글
Django form 정리 (0) | 2021.01.14 |
---|---|
Django의 쿼리와 데이터베이스 레이어 (4) | 2020.12.18 |
pytest를 사용하는 이유 (0) | 2020.11.23 |
Django 구성에 대한 이해 (0) | 2020.11.23 |
WS, WAS - Nginx, uWSGI (0) | 2020.11.23 |
Comments