일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 | 31 |
- EC2
- POD
- asyncio
- leetcode
- docker
- Deployment
- K8S
- Python
- EKS
- elasticsearch
- Django
- AWS
- terraform
- s3
- YAML
- intervals
- WSGI
- github
- asgi
- ebs
- 안드로이드
- event loop
- FastAPI
- dockerfile
- IAC
- Kubernetes
- 자바스크립트
- IAM
- ansible
- Service
- Today
- Total
목록Back End (24)
궁금한게 많은 개발자 노트
파이썬 제약 : GIL Python은 두 개 이상의 스레드가 동시에 실행될 때 두 개 이상의 스레드가 하나의 자원을 동시에 액세스할 때 발생할 수 있는 문제점을 방지하기 위해 GIL(Global interpreter lock)이라는 것을 도입했습니다. 즉, 스레드가 실행될 때, 프로그램 내의 리소스 전체에 락이 걸립니다. 결국 Python 구현에서는 동시에 몇 개의 스레드가 실행이 되던 간에 GIL에 의해서 한 번에 하나의 스레드만 실행됩니다. 멀티 스레드의 경우 문맥교환(Context Switch)에 필요한 리소스까지 고려하면 단일 스레드보다 성능이 떨어지게 되는 것을 확인할 수 있습니다. 기존에는 python에서 동시성 처리를 위해 threading과 multiprocessing을 사용했지만 3.2v..
Fast API란? FastAPI is a modern, fast (high-performance), web framework for building APIs with Python 3.6+ based on standard Python type hints. 타입 힌트를 제공하는 현대적이고, 빠른(고성능) 웹 프레임워크이다. python기반으로 flask와 같은 개발 편의성에 nodejs, go와 같은 성능과 안정성을 갖춘 web framework입니다. starlette framework를 기반으로한 비동기 API 서버 지원 pydantic을 사용한 data validation지원 api swagger, redoc 등을 사용한 api document 자동 생성 지원 python3.6+ type hintin..
테이블 간에는 관계를 맺을 수 있으며, django는 테이블 간의 관계를 3가지로 분류하여 제공 (1:N, N:N, 1:1) 첫째로, 관계라는 것은 양방향 개념으로 양쪽 모델에서 정의가 필요한게 원칙이지만, django에서는 한쪽 클래스에서만 관계를 정의하면 이를 바탕으로 상대편 정의는 자동으로 생성 두번째로, 한쪽 방향으로 관계를 생성하거나 변경하면, 반대 방향으로의 관계또 그에 다라 변한다는 것입니다. 따라서, 개발자는 한쪽 클래스에만 관계를 정의하거나 한쪽 방향으로의 관계 설정하는 것을 이해할 수 있어야 합니다. [ N:1 관계 ] 테이블 간에 N:1관계를 맺기 위해서는 모델의 필드를 정의할 때 ForeignKey 필드 타입을 사용하면 됩니다. ForeignKey타입은 관계를 맺고자 하는 모델 클래..
모델이란 테이블을 정의하는 django의 핵심 클래스를 의미하며 models.py파일에 테이블과 관련된 사항들을 정의 ORM 방식에 기반하여 테이블을 클래스로 정의하고 있어, 클래스의 속성과 메소드를 가질 수 있습니다. 테이블의 column은 모델 클래스의 속성으로 정의하고, 테이블에는 메소드가 없지만 모델 클래스에서는 테이블과 관련된 메소드들을 정의할 수 있습니다. 이렇게 함으로써 테이블에 관련된 데이터와 행위를 모두 모델 클래스 한 곳에서 정의할 수 있는 장점을 가집니다. [ 모델 속성 ] 모델의 필드는 모델 클래스의 속성으로 정의되고, 모델 클래스의 속성들은 테이블의 필드로 1:1 매핑 모델 클래스에서 모델 필드는 가장 중요한 속성이며 필수 == 테이블에서 컬럼이 필수인 것과 같은 이치 모델 클래스..
장고의 MTV방식은 자바 웹 프로그맹의 MVC 방식과 거의 동일한 개념 웹 프로그래밍 영역을 3가지 개념으로 나눠서 개발하는 방식으로 테이블을 정의하는 Model, 사용자가 보게 될 화면의 모습을 정의하는 Template, 애플리케이션의 제어 흐름 및 처리 로직을 정의하는 View로 구분하여 개발 진행 이렇게 3가지로 나눠서 개발 진행 시 모델, 템플릿, 뷰 모듈간에 독립성을 유지하고, loose cooupling설계에도 부합 모델은 model.py에 템플릿은 template디렉토리 하위의 *.html파일로, 뷰는 view.py에 작성하도록 django에서 지원 화면 설계는 뷰와 템플릿 코딩으로 연결되고, 테이블 설계는 모델 코딩에 반영되므로 독립적으로 개발할 수 있는 모델을 먼저 작성하고, 뷰와 템플릿..