Back-end & Server (52) 썸네일형 리스트형 [Django] 미들웨어(Middleware) Middleware란? Django의 요청/응답 처리를 위한 프레임워크임 Django의 입출력을 전역으로 변경하기 위한 가볍고, 낮은 수준의 플러그인 시스템 각 구성 요소는 특정 기능을 담당함.(ex. 사용자가 세션을 사용해 요청과 연결하는 AuthenticationMiddleware) Django는 기본적으로 제공되는 미들웨어가 포함되어 있고 즉시 사용할 수 있음 미들웨어 활성화 미들웨어를 활성화 하려면 Django 설정의 MIDDLEWARE_CLASSES 목록에 미들웨어를 추가하면됨 각 미들웨어 구성 요소는 문자열로 표현 Hook 및 응용 프로그램 주문 Django는 요청 단계에서 뷰를 호출하기 전에 MIDDLEWARE_CLASSES에 정의된 순서로 미들웨어를 적용 요청 단계에서 사용할 수 있는 HO.. [Django] 캐시 프레임워크 웹 서버는 사용자가 웹 페이지를 요청할 때마다 데이터베이스 쿼리부터 비즈니스 로직, 템플릿 렌더링, 비즈니스 로직에 이르기까지 모든 종류의 계산을 수행해 웹 사이트 방문자가 볼 수 있는 웹 페이지를 만듦 만약 중간 규모 이상의 트래픽이 많은 웹 사이트의 경우, 가능한 많은 오버헤드를 줄이는 것이 필수임 이러한 문제를 해결하는 방법 중 하나로 캐시(Cache)를 사용할 수 있음 동적으로 생성된 웹 페이지에서 캐시가 작동하는 의사코드 given a URL, try finding that page in the cache if the page is in the cache: return the cached page else : generate the page save the generated page in the.. [Django] 비 HTML 콘텐츠와 세션 Django에는 HTML이 아닌 일반적인 콘텐츠(CSV, PDF, RSS/Atom 신디케이션 피드, Sitemap)를 생성하는 내장 도구가 있음 뷰와 MIME 유형 MIME(Multipurpose Internet Mail Extensions) 과거 메일을 보낼 때 ASCII 코드로된 문자만 보낼 수 있던 문제를 해결하여 메일에 ASCII 코드로된 문자 뿐만 아니라 바이너리 파일도 첨부하여 보낼 수 있게한 인코딩 방식 비 ASCII --인코더--> ASCII --메일 전송 --> ASCII --디코더--> 비 ASCII Django에서 비 HTML 콘텐츠를 반환하는 방법은 바로 HttpResponse 클래스임 HttpResponse 클래스로 인스턴스를 만들 때 content_type 인수를 원하는 타입으로.. [Django] 배포 지금까지 Django 실습을 할 때 항상 다음과 같은 명령어로 Django를 실행해 실습을 진행했음 python manage.py runserver 이 방법은 웹 서버 설정에 대해 걱정할 필요가 없지만 공용 웹에 노출되지 않고 로컬 컴퓨터에서의 개발용으로만 사용됨 공용 웹에 Django 응용 프로그램을 배포하려면 아파치 같은 웹 서버에 연결해야함 배포 체크리스트 Django 응용 프로그램을 배포하기전 보안, 성능 및 작업을 염두에 두고 설정을 검토해야함 Django에는 많은 보안 기능(일부는 내장돼 있으며 항상 활성화 상태임)이 포함돼 있음, 이외의 기능들은 항상 적절하지 않거나 개발에 불편하기 때문에 선택사항임(ex. HTTPS는 모든 웹 사이트에 적절하지 않을 수 있음) 체크리스트에 포함된 설정들 D.. [Django] 테스팅 Django는 인빌트(inbuilt) 단위의 테스트 기능을 제공 단위 테스트 개별적인 방법을 테스트해 올바른 값을 반환하는지 여부와 무효한 데이터를 처리하는 방법, 사용자 입력 시퀀스가 원하는 결과를 얻을 수 있도록 모든 방법을 테스트하는 등 다양한 수준에서 수행할 수 있음 네 가지 기본 개념을 기반으로 함 테스트 픽스처(Test Fixture) 테스트를 수행하는 데 필요한 설정 DB, 샘플 데이터 세트, 서버 설정 등 테스트 수행 후 필요한 모든 정리 작업이 포함될 수 있음 테스트 케이스(Test Case) 테스트의 기본 단위 주어진 입력 세트가 예상 결과 세트가 되는지 여부를 확인 테스트 스위트(Test Suite) 그룹으로 실행되는 여러 테스트 케이스 또는 다른 테스트 스위트 테스트 러너(Test .. 이전 1 ··· 6 7 8 9 10 11 다음