티스토리 뷰

Python/Django

[Django]Django 튜토리얼

Vagabund.Gni 2023. 4. 7. 18:55
728x90
반응형

좋아해서 몇 번이고 돌려본 영화와 이름이 같아, 별 다른 이유는 없지만 친해지고 싶었던 프레임워크.

 

굳이 발음기호대로 읽자면 '쟁고'정도가 된다지만 누구도 그렇게 쓰지 않을 것만 같은 프레임워크.

 

장고는 21세기 초반 미국에서 태어난, 파이썬으로 만들어진 백엔드 프레임워크이다.

 

분류하기에 따라 풀스택 프레임워크라고 불리기도 한다지만, 내가 거기까지 갈 일은 없으니 내겐 백엔드 프레임워크.

 

추가로 파이썬을 기반으로 한 웹 프레임워크 중엔 사용자가 가장 많은 듯해서 레퍼런스 얻기도 쉬울 것 같아 선택했다.

 

지금 내 수준은 이제 막 장고를 이용해 서버를 올리는 것을 체험해 본 정도라, 이번 글은 여기저기서 긁어온,

 

장고의 특징과 장단점에 대해 정리.

 

Feature

 

장고의 특징은 대략 아래와 같다.

 

  • MVT 디자인 패턴
    장고는 파이썬으로 작성된 파일을 이용한 전통적인 MVC(Model-View-Controller)패턴을 따른다.
    하지만 이중 Controller 기능을 프레임워크 자체에서 처리하기 때문에 위에서 조금 변형된
    MVT(Model-View-Template)디자인 패턴을 따른다고 보기도 한다.
    여기서 템플릿이란 보통 HTML에 기반한, 실제로 보이는 웹 페이지나 문서를 가리킨다.
    추가로 객체 지향 구조와 그에 따른 간편한 유지보수라는 장점을 당연히 가지고 있다.
  • ORM(Object-Relational Mapping)
    장고는 ORM을 제공하여 디비와 객체를 쉽게 매핑할 수 있다. JPA와 마찬가지로 직접 쿼리를 작성하지 않아도 된다.
  • Admin 기능
    관리자 페이지를 기본으로 제공한다. 데이터의 삽입, 수정, 삭제가 손쉽게 이루어진다.
  • 다양한 라이브러리
    사용자가 많은 만큼 다양한 라이브러리와 모듈을 제공한다. 이는 사용자 인증부터 view에 이르며
    개발자의 편의성에 큰 이점이 된다.

 

Pros and Cons

 

먼저 장점은 아래와 같다.

 

  • 다양한 라이브러리 덕분에 개발자가 작성해야 하는 코드가 짧고 빠른 개발이 가능하다.
  • 예외처리와 보안 등을 위한 다양한 기능을 제송하기 때문에 안정적인 개발이 가능하다.
  • 확장성이 뛰어나다. 대규모 웹 앱으로의 확장도 유연하게 대처할 수 있다.
  • SQL뿐 아니라 적절한 패키지를 통한 NoSQL 디비도 사용할 수 있다.

이어서 단점은 아래와 같다고 한다.

 

  • 러닝커브가 가파르다. 다양한 라이브러리를 익히기 어렵다.
  • 대량의 데이터를 처리할 때 성능 저하가 일어난다. 대규모 웹 앱에서는 대안을 고려해야 한다.
  • 메모리 점유율이 높다. 자체 캐싱과 템플릿 엔진을 사용하기 때문이라고 한다.
  • 위와 같은 이유를 종합했을 때 높은 서버 성능을 요구한다.

튜토리얼을 적으며 심적으로 가까워졌으니, 나머지는 하면서 배우자.

반응형
댓글
공지사항
최근에 올라온 글
최근에 달린 댓글
Total
Today
Yesterday
링크
«   2024/11   »
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
글 보관함