
🚀 들어가며... AWS를 사용해보고, Jenkins를 이용하여 직접 배포도 진행해보면서 Django의 서버 실행 과정이 궁금하게 되었고, 간단하게 제가 이해한 바로 그 과정들을 분석해 정리하여 보았습니다. 📑 내용 Django파일에서 서버가 실행됨에 있어서 가장 중요한 파일은 wsgi.py 파일입니다. application = get_wsgi_application() gunicorn에서 이 명령어를 실행함으로써 장고서버가 실행되게 됩니다. (제가 저번글에서 잠깐 설명드렸던 handler/wsgi.py 파일까지 최종적으로 타고 들어갑니다. handler/wsgi.py 파일을 개인적으로 분석해 보시는것을 추천드립니다.) 처음에 저는 로컬에서 실행할때 manage.py를 설정하게 되어있어서 manage.py..
🚀 들어가며... 미들웨어를 공부하다가 장고에서 미들웨어는 request는 순서대로 들어오나 response는 역순으로 리턴되는 부분에서 왜 이렇게 설계를 했을까 하는 궁금증이 들어서 간단히 site-packages/django/core/handlers/base.py에 있는 소스를 분석해 보았습니다. 📑 내용 우선 저의 궁금증을 해결해줄 소스를 먼저 보여드리겠습니다. def load_middleware(self): """ Populate middleware lists from settings.MIDDLEWARE_CLASSES. Must be called after the environment is fixed (see __call__ in subclasses). """ self._view_middlewar..
🚀 들어가며... 금일 포스팅에서는 장고에서의 Cross site scripting / Cross site request forgery protection 을 알아보도록 하겠습니다. 📑 내용 Cross site scripting (XSS) protection 웹 어플리케이션에서 웹사이트 관리자가 아닌 이가 웹 페이지에 악성 스크립트를 삽입할 수 있는 취약점입니다. 주로 게시판이나 방명록 등 여러 사용자가 보게 되는 곳에 악성 스크립트가 담긴 글을 올리는 형태로 이루어집니다. 이 취약점은 웹 어플리케이션이 사용자로부터 입력받은 값을 제대로 검사하지 않고 사용할 경우 나타납니다. (ex) Hello! I am a hacker. 장고의 템플릿은 특별히 위험한 문자인 , ', '', & 등을 그들만이 알아볼 수..

🚀 들어가며... 저번 포스팅에서 장고에서의 static files를 다루는 방법에 대해 알아보았습니다. 이번 포스팅에서는 실제로 파일 업로드를 nginx와 uswgi를 이용하여 실행해보고 기록해보았습니다. 📑 내용 Django 에서 파일(이미지)를 업로드하기 위해서는 FileField 또는 ImageField 를 사용하면 됩니다. 실제 rest_framework 를 사용하여 테스트했보았습니다. Django Test Project 만들기 테스트를 위해 간단한 프로젝트를 만듭니다. (Pycharm 을 사용한다면 더 쉽게 프로젝트를 만들 수 있습니다.) $ django-admin.py startproject firstsite 주로 Django project 에서는 startapp 명령어를 통해 app 을 만..
🚀 들어가며... 웹서버가 하는일 중에서는 정적인 요청들을 처리해주는 일이 있습니다. 프론트서버가 따로 있다고 가정해봅시다. react로 프론트 로직을 만들고, node.js로 만들어진 프론트서버를 이용한다고 하면, Client가 정적인 요청을 하면 Nginx가 node.js로 라우팅처리를 하여 프론트서버에서 처리하게끔 처리가 가능합니다. 프론트서버가 따로 없고, Nginx 와 WSGI와 Django로 이루어져 있는 백서버로만 이루어져 있다면, 즉 장고에서는 정적인 파일의 요청이 들어오면 어떻게 처리하는지 막연히 궁금하여 정리해보았습니다. (물론 저는 이러한 처리들을 다 프론트 서버 즉 react로 구현해왔기 때문에 실제 사용한 적은 잘 없었습니다.) 📑 내용 # static 파일이란 Static파일이란..

🚀 들어가며... 금일 포스팅에서는 장고의 로깅(logging)에 대해 알아보겠습니다. 📑 내용 장고의 로깅은 기본적으로 파이썬의 로깅 체계를 그대로 따르면서 일부만 추가되었습니다. (파이썬의 로깅 모듈 : 로거, 핸들러, 필터, 포맷터 ) 또한, 장고의 runserver나 웹 서버에 의해 장고가 실행될 때 장고는 settings.py 파일에 정의된 LOGGING_CONFIG, LOGGING 항목을 참고하여 로깅에 관련된 설정을 처리합니다. settings.py 파일에 관련 항목이 없더라도 디폴트 로깅 설정으로 처리됩니다. 따라서 장고의 로깅은 실행되는 시점부터 준비되어 있으므로, 항상 로그를 기록하는 것이 가능한 상태입니다. # 로거 로거(Logger): 로깅 시스템의 시작점으로, 로그 메시지를 처리하..
- Total
- Today
- Yesterday
- PostgreSQL
- uSWGI
- list
- docker
- SQL
- MVT
- container
- Python
- django
- union-find
- django ORM
- ORM
- Greedy Algorithm
- react
- Master & Slave
- lv1
- static files
- This
- programmers
- lv2
- generator expression
- Linux
- Default export
- JS
- JavaScript
- db
- Algorithm
- Named export
- 탐욕법
- data formatting
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |