일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- getline
- 입/출력
- 알고리즘 공부방법
- 자료구조
- 엑셀
- c++
- 구조체와 클래스의 공통점 및 차이점
- double ended queue
- UI한글변경
- 연결요소
- string 함수
- scanf
- iOS14
- string 메소드
- 이분그래프
- correlation coefficient
- Django Nodejs 차이점
- 장고란
- vscode
- Django란
- 표준 입출력
- 시간복잡도
- 입출력 패턴
- 프레임워크와 라이브러리의 차이
- 백준
- 매크로
- k-eta
- 2557
- EOF
- Django의 편의성
- Today
- Total
Storage Gonie
Django (2) 프레임워크 장고 본문
Django 란?
# Django는 무엇인가
- Python으로 구현된 프레임워크
프레임워크와 라이브러리의 차이점
https://www.programcreek.com/2011/09/what-is-the-difference-between-a-java-library-and-a-framework/
# 라이브러리
- 개발자가 작성한 코드를 단순히 재사용할 수 있는 것을 의미한다.
- 클래스 및 메소드는 일반적으로 도메인의 특정 영역에서 특정 조작을 정의한다. (예 : 수학 라이브러리)
# 프레임워크
- 모든 제어 흐름이 정해져 있으며, 내가 채워넣어야 하는 미리 정의된 부분들이 존재한다.
- 나의 코드는 프레임워크에 의해 호출될 것이다.
- 일반적으로 라이브러리보다 복잡하다.
- 개발자가 디자인이 좋은지 아닌지에 대해 걱정할 필요가 없게 되며,
도메인에 대한 특정 함수를 구현하는 것에 집중할 수 있도록 해준다.
Django 를 선택한 이유
https://www.djangoproject.com/start/overview/
# Django의 장점
- 설정을 빨리 할 수 있고 User, Model, URL, 템플릿 등 갖고 있는 것이 많아서 2시간 안에 준비를 끝낼 수 있다.
- 일반적인 웹 개발 작업을 처리하는 데 사용할 수 있는 수십 개의 추가 기능이 미리 포함되어 있다.
(User Authentication, Content Administration, Site Maps, RSS feeds 등)
- 개발자가 보안적인 실수를 하지 않도록 방지해준다.
(SQL Injection, Cross-site scripting, Cross-site request forgery, Clickjaking 등)
- 트래픽 요구를 충족시키기 위한 캐싱 기능의 제공으로 신속하고 유연하게 확장할 수 있는 기능을 제공한다.
(어느 레벨에나 하드웨어를 추가할 수 있도록하는 shared-nothing 구조를 사용하여,
데이터베이스 서버, 캐싱 서버, 웹/어플리케이션 서버 레벨에서 각각 하드웨어를 추가할 수 있다.)
(캐시 프레임워크를 제공함 : https://docs.djangoproject.com/en/2.2/topics/cache/)
- 유명한 회사에서 사용중이므로 많은 개발자 그룹들이 지원을 하고 있다. (Instagram, Pinterest, Spotify, NASA 등)
- 계속 업그레이드 되고 있다.
- Django로 구축된 사이트들이 초당 5만개가 넘는 트래픽을 처리하였으므로 안정적이라고 할 수 있다.
# 편리성을 제공해주는 Django의 세부구성 요소
- ORM 이라는 것을 가지고 있어서 데이터베이스와 대화하기 편리하다.
- Admin Panel을 디폴트로 갖고 있어서 이를 따로 안만들어줘도 됨.
- User Authentication을 자동으로 해준다. 이는 비밀번호 암호화/복호화/체크하는 기능을 갖는 다는 뜻이다.
- URL Dispatcher 도 갖고 있다.
- Template Engine 이 있다.
- 이외에도 더 있음.
# Django와 Nodejs의 차이점
@ Django
- Django는 많은게 이미 포함되어 있으므로 필요없는 것은 버리고 필요한 부분만 남겨놓고 작업해야함.
- CRUD를 많이 하게되는 서비스를 하게되는 경우 사용
- ex) 블로그, 인스타그램, 유튜브
@ Nodejs
- Nodejs는 디폴트 기능이 하나도 없어서 처음부터 다 만들어야 한다.
- 리얼타임 서비스가 주를 이루는 경우 사용
- API를 사용해야 하는데 그게 자바스크립트 기반일 경우 사용
- ex) 우버, 넷플릭스
'웹개발 > 인스타 클론 (1) Django' 카테고리의 다른 글
Django (4*) pipenv를 이용한 가상환경 생성 및 컨트롤 (0) | 2019.06.11 |
---|---|
Django (3) 가상환경이란 무엇인가 (0) | 2019.04.17 |
Django (1) 백엔드가 어떻게 동작하는가 (0) | 2019.04.17 |
Introduction (5) PDF 강의자료 (0) | 2019.04.17 |
Introduction (4) 클론코딩 프로젝트 결과코드 (0) | 2019.04.17 |