http://books.agiliq.com/en/latest/ Books by Agiliq — Books by Agiliq documentation Building Multi Tenant Applications with Django Building multi tenant applications with Django teaches how to build multi tenant apps and the various approaches to multi tenancy. In this book, you will rebuild the same app using the various methods to achie books.agiliq.com https://github.com/encode Encode Collabor..
TIME_ZONE Default: 'America/Chicago' (나는 왜 'UTC'지?) USE_TZ이 False로 되어있으면, Django는 TIME_ZONE에 지정된 시간대로 시간을 저장. Windows 환경에서는 시스템 시간대와 맟쳐줘야 함. USE_TZ Defatul: False True로 설정되면 Django는 timezone-aware datetime을 사용 False이면 naive datetime을 사용 예) USE_TZ이 True이고 TIME_ZONE이 'UTC'이면 datetime이 UTC 시간대에 맞게 표현되고, 'Asia/Seoul'이면 한국 시간대에 맞게 표현됨. USE_TZ이 False이면 datetime이 TIME_ZONE에 설정된 시간대로 저장됨.
datetime을 사용할 때 timezone 정보를 주어 명확하게 사용 KST = datetime.timezone(datetime.timedelta(hours=9)) korea = datetime.datetime(2019, 1, 1, 0, 0, 0, tzinfo=KST) naive datetime naive datetime 객체는 그 자체만으로 시간대를 찾을 수 있는 충분한 정보를 포함하시 않음 datetime.datetime(2019, 2, 15, 4, 58, 4, 114979) aware datetime(timezone-aware) 시간대를 포함. datetime.datetime(2019, 2, 15, 4, 58, 4, 114979, tzinfo=) aware datetime 객체는 자신의 시각 정보..
Django 구동 시 원하는 코드를 실행하고 싶을 때 # apps.py from django.apps import AppConfig class LotteryConfig(AppConfig): name = 'lottery' def ready(self): # your code 위의 ready() 메소드에 구동 시 실행되기 원하는 코드를 작성하면 됨. 문제점 코드에 queryset이 들어 있고 현재 DB에 아직 해당 queryset에 해당하는 Table이 생성되어 있지 않으면 에러 발생 예) manage.py migrate 같은 초기화 작업 시 현재 Table이 생성되어 있지 않은 상태이므로 에러가 발생(먼저 app이 register되고 다음에 DB 생성하는 순서로 진행되는거 같음) 어떻게 해결하지??? htt..
https://stoplight.io/ API Design Management for Teams and Enterprises | Stoplight Using Stoplight you can create OpenAPI descriptions, documentation, mock servers much faster than other API tools, with no specialized knowledge required in one centralized platform. stoplight.io https://www.getpostman.com/ Postman | API Development Environment Postman is the only complete API development environme..
Django Rest Framework는 serialize를 위해 2단계 과정을 사용 serializer는 모델 인스턴스와 파이썬 primitive 사이의 중개자다. parser와 renderer는 파이썬 primitive와 HTTP 요청과 응답 사이의 중개자로 처리한다. rest_framework.serializers.Serializer 클래스의 서브 클래스를 생성해 직렬화와 역직렬화를 관리하기 위한 필드와 필요 메서드를 선언함으로써 모델 인스턴스와 파이썬 primitive 사이의 중개자를 구성할 것이다.
django.utils.timezone utc tzinfo instance that represents UTC make_aware(value, timezone=None, is_dst=None) Returns an aware datetime that represents the same point in time as value in timezone, value being a naive datetime. If timezone is set to None, it defaults to the current time zone. get_current_timezone() Returns a tzinfo instance that represents the current time zone. https://docs.django..
프로젝트의 테스트, 문서화 및 코딩은 연달아 발생해야 한다. 단위 테스트: 격리된 환경에서 클래스나 함수가 예상대로 동작하는지 확인 기능 테스트: 마이크로서비스가 고객의 관점에서 기대한 대로 동작하는지 살피고, 잘못된 요청에 대해서도 정확히 응답하는지 검증 통합 테스트: 마이크로서비스가 다른 서비스와 제대로 연동되는지 확인 부하 테스트: 마이크로서비스의 성능을 측정 엔드 투 엔드 테스트: 전체 시스템이 제대로 동작하는지 확인 단위 테스트 모방하기(mocking)를 통해 격리된 환경에서 해당 호출을 흉내 낼 수 있다. 다음의 3가지 경우로 제한하는 것이 좋다 I/O 연산: 코드가 서드파티 서비스를 호출하거나 소켓, 파일 등의 리소스를 사용하고 있는데, 테스트에서는 이 작업을 수행할 수 없을 때 CPU를 많..
Flask는 WSGI 프로토콜을 통해 HTTP 요청을 처리하는 Werkzeug WSGI 툴킷과 기타 라우팅 시스템 같은 다양한 도구들을 기반으로 2010년부터 배포되기 시작 https://werkzeug.palletsprojects.com/en/0.15.x/ Werkzeug — Werkzeug Documentation (0.15.x) werkzeug.palletsprojects.com https://pythonpaste.readthedocs.io/en/latest/ Python Paste — Paste 3.0.0 documentation © Copyright 2008, Ian Bicking Revision 970b5d24. pythonpaste.readthedocs.io https://pylonsproj..
서로 통신할 수 있는 독립적인 컴포넌트로 애플리케이션을 개발한다. 모놀리식 접근 방식 모놀리식 애플리케이션이란 거대한 단일 구조의 애플리케이션을 뜻 장점 단일 코드 기반(Single code base)이므로, 개발 초기에는 모든 것이 단순 테스트 coverage를 높이기 쉽다. 코드는 깨끗이 구조화된 형태로 유지됨 하나의 데이터베이스에 모든 데이터를 저장함으로써 데이터 모델과 쿼리 역시 쉽게 변경할 수 있기 때문에 애플리케이션 개발이 단순 모놀리식으로 프로젝트를 시작하는 것은 쉽다 중앙 집중화된 데이터베이스는 데이터 설계와 구성이 단순 단일 애플리케이션 배포는 간단 단점 어떤 기능에 대한 코드 수정이, 관련되지 않은 다른 기능에도 영향을 미친다. 해당 기능에 문제가 생기면 전체 애플리케이션이 잘못될 수도..