728x90
반응형
SMALL

■ Django(장고)에 대한 설명

1. Python(파이썬)을 기반으로 한 웹 프레임워크이다.

2. Model(모델), Template(템플릿), View(뷰)로 구성된 MTV 패턴을 사용하고 있다. (MVC 패턴과 유사)

3. SQL을 사용하지 않고 Database에서 사용하는 테이블(RDBMS)을 자동으로 대응해 주는 ORM(Object-Relational Mapping)을 통하여 코드를 작성할 수 있다.

4. 많은 보안 기능을 내장하고 있어, 보안성이 우수하다.

5. 다양한 타사 패키지 및 플러그인을 지원한다.

6. 2023년 Laravel, Ruby on Rails에 이어 3위를 차지할 정도로 인기가 많은 프레임워크이다.

7. 대표적인 사이트의 예로 Instagram, JetBrains 등이 있다.


■ 장점

1. 설치가 간편하다.

2. 포럼, 블로그, 소셜 미디어 등 수많은 개발자 커뮤니티를 가지고 있어 검색 가능할만한 자료가 많다.

3. 다른 프레임워크보다 강력하고 많은 라이브러리를 사용할 수 있다. 그렇기 때문에, 많은 코딩 없이 프로그램을 완성시킬 수 있다. 초보자들도 다가가기 편한 프레임워크다.

4. IDE(통합 개발 환경)가 훌륭하다. (PyCharm, Visual Studio Code 등)

5. 프로젝트를 만들면 별도의 개발 없이 자동으로 관리자 화면을 제공한다.

6. App 단위로 구성이 되어 있어, 독립적으로 작업할 때 매우 쉽다.

7. ORM을 제공하기 때문에 쿼리 없이 데이터를 관리할 수 있다.

8. 많은 보안기능을 제공하고 있으며, 설정에도 매우 간편하다.

9. 웹 서버를 포함하고 있어서 개발과정에 별도로 웹서버가 없어도 된다.

10. 개발과정에서는 소스가 수정되면, 서버를 다시 시작하지 않아도 바로 적용이 된다.

11. Python을 기본으로 개발한다면, Python에서 제공하는 모든 기능을 활용할 수 있다. (Docker 구성 및 API 연계 등)


■ 단점

1. 자료는 많지만, 아직 한글 문서가 많은 편은 아니다.

2. 소형 프로젝트에는 사용하기 무겁고 기능이 많아 부적합하다.

3. 장점에도 소개되었지만, 내부에 구현된 기능이 많다는 것은 곧, 자유롭게 코딩할 수 있는데 한계가 있으므로, 코딩하는데 어려움을 겪을 수 도 있다. 또한 Django에서 문제가 생겼을 때, Python코딩으로 문제를 해결하는 경우가 발생할 수 있다.

4. ORM을 사용한다고 했을 때, 복잡한 데이터 구조(Join이 많은 경우)나 Procedure(프로시져)를 많이 사용한 곳에는 적합하지 않을 수 있다.

5. Python의 단점을 그대로 가져온다. (Python은 타입을 선언하지 않아도 실행되기에, 타입을 검사하려면 시간이 걸릴 수밖에 없다. 또한, 인터프리터 언어(한 줄씩 읽어 내려가며 실행하는 언어)이기 때문에 상대적으로 컴파일하는 프로그램보다 편하지만 빠르지는 않다.)


■ Django(장고)를 선택한 이유

1. Python에서 제공하는 모든 기능을 활용할 수 있다.

2. Django는 Python을 기반으로 만들어진 프레임워크이기 때문에, AI(인공지능) 개발에 유용하다.


728x90
반응형
LIST

+ Recent posts