Programming/장고(django) - API

장고(django)

esoog Polaris 2023. 6. 1. 23:08
반응형

# 파이썬 장고(Django)
웹 개발을 위한 파이썬 기반의 무료 오픈 소스 웹 프레임워크.
Django는 빠르고 안정적인 개발을 가능하게 해주며,
다양한 기능과 도구를 제공하여 개발자들이 쉽게
웹 애플리케이션을 구축할 수 있음.
파이썬 장고는 다양한 분야에서 활용이 가능.
예를 들어, 기업 웹 사이트, e-커머스, 게시판, 블로그,
컨텐츠 관리 시스템(CMS), 소셜 네트워크 등
다양한 웹 애플리케이션을 구축할 수 있음.
또한, Django는 RESTful API를 구축하는 데에도 유용하게 사용될 수 있음.


# 빠른 개발 속도:
Django는 코드를 최소화하여 개발 시간을 단축시키는
다양한 도구와 기능을 제공. 또한, Django는 반복적인 작업을
최소화하여 개발자가 더욱 집중할 수 있도록.


# 안정성과 보안:
Django는 웹 애플리케이션의 보안성과 안정성을 위해
다양한 기능을 제공. 예를 들어, CSRF(Cross-Site Request Forgery) 및
XSS(Cross-Site Scripting)와 같은 공격을 방지하기 위한
내장 보안 기능.
# CSRF 방지 기능:
장고에서는 CSRF 공격을 방지하기 위해,
모든 POST 요청에 대해 CSRF 토큰을 자동으로 생성하고,
이를 요청에 함께 보내는 기능을 제공.
이를 위해서, 장고에서는 데코레이터 형태의
@csrf_protect와 @csrf_exempt를 제공하며,
미들웨어 형태의 CsrfViewMiddleware를 통해
CSRF 토큰 생성과 유효성 검사를 수행.
# XSS 방지 기능:
장고에서는 XSS 공격을 방지하기 위해,
입력값 검증과 이스케이핑(escape) 기능을 제공.
이를 위해, 장고에서는 자체적으로 HTML 이스케이핑 함수인
escape()와 URL 이스케이핑 함수인 urlencode()를 제공하며,
입력값 검증을 위해 Form, ModelForm, Validator
등의 클래스를 제공. 또한, 장고에서는
쿠키에 대한 보안을 강화하기 위해,
쿠키를 HttpOnly로 설정하여 스크립트를 이용한
쿠키 탈취를 막는 기능을 제공.


# 유연성:
Django는 모델-뷰-컨트롤러(Model-View-Controller, MVC) 패턴을 따르며,
여러 개발 스타일과 방법론에 적용. 또한, Django는 다양한
데이터베이스를 지원하므로,
개발자가 사용하고자 하는 데이터베이스를 선택.

장고(Django)에서는 다양한 데이터베이스를 지원.
기본적으로는 SQLite, PostgreSQL, MySQL을 지원하며,
Oracle, Microsoft SQL Server, MariaDB 등의
데이터베이스도 지원. 이를 위해, 장고에서는
다양한 데이터베이스 백엔드(Database Backend)를 제공.
# SQLite:
SQLite는 임베디드 데이터베이스로,
파일 형태로 데이터를 저장하며, 가볍고 속도가 빠르며,
설치가 필요하지 않아서 사용이 간편.
장고에서는 SQLite3를 지원합니다.
# PostgreSQL:
PostgreSQL은 오픈소스 관계형 데이터베이스 시스템으로,
안정성과 확장성이 뛰어나며,
ACID(원자성, 일관성, 격리성, 지속성)를 보장.
# MySQL
MySQL은 오픈소스 관계형 데이터베이스 시스템으로,
사용이 간편하고, 속도가 빠르며, 대용량 데이터를 처리할 수.
# Oracle
Oracle은 상용 관계형 데이터베이스 시스템으로,
대규모 데이터베이스에 적합하며, 높은 안정성과 보안성을 제공.
# Microsoft SQL Server
Microsoft SQL Server는 상용 관계형 데이터베이스
시스템으로, Windows 운영체제에서 사용할 수 있으며,
.NET 프레임워크와의 연동성이 뛰어남.
# MariaDB
MariaDB는 MySQL에서 파생된 오픈소스 관계형 데이터베이스
시스템으로, MySQL과 호환성이 높으며, 사용이 간편.


# 커뮤니티 지원:
Django는 무료 오픈 소스 프로젝트이기 때문에,
전 세계적으로 다양한 개발자들이 이를 활발하게 사용하고, 지원.
이에 따라, Django 개발자들은 커뮤니티의 도움을 받을 수 있으며,
이를 통해 개발 속도와 품질을 높일 수 있음.

 

 

# 결론

시간은 짧고 하고 싶은 건 많다.

안 쓸 이유는 없다.

 

728x90

'Programming > 장고(django) - API' 카테고리의 다른 글

장고(django)/ 템플릿(T)  (0) 2023.06.02
장고(django)/ 앱 생성  (0) 2023.06.02
장고(django)/ 기본설정  (0) 2023.06.02
장고(django)/ MVT  (0) 2023.06.01
장고(django)/ 설치 및 생성  (0) 2023.06.01