일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- docker
- Network
- AZURE
- dockerfile
- Service
- IAC
- POD
- elasticsearch
- ansible
- Python
- intervals
- leetcode
- Django
- event loop
- asgi
- terraform
- asyncio
- Deployment
- Kubernetes
- K8S
- AZ-900
- AWS
- DevOps
- EKS
- FastAPI
- EC2
- 쿠버네티스
- ebs
- 자바스크립트
- WSGI
- Today
- Total
목록Back End (26)
궁금한게 많은 개발자 노트
SQLalchemy를 알아보기 전에 ORM의 개념에 대해 먼저 알아보려합니다. ORM(Object Relational Manager)은 객체-관계 mapping을 의미합니다. 객체 지향 프로그래밍 언어를 사용하여 호환되지 않는 type 시스템 간에 데이터를 변환하기 위한 프로그래밍 기술입니다. - 메모리에서의 클래스(객체 지향 프로그래밍)와 관계형 데이터베이스의 테이블은 서로 일치하지 않으므로 ORM을 통해 불일치를 해결합니다. 간단하게 요약하면, 애플리케이션을 만드려면 데이터가 필요합니다. 데이터는 데이터베이스에서 관리하고 있으므로, 데이터베이스에서 쿼리로 원하는 데이터를 가져오려면 원래 SQL Tool 사용이 필요했지만, 지금은 애플리케이션 안에서 sql의 동작을 대신해주는 ORM기능이 있다고 생각하..
pydantic은 type annotation을 사용해서 데이터를 검증하고 설정들을 관리하는 library이다.runtime에서 type을 강제하고, type이 유효하지 않을 때 에러를 발생시킵니다. Fast API를 공부하다가, pydantic을 사용한다고 하여 함께 정리해보게 되었습니다. (type hint사용)Type hint는 parameter값이 어떤 자료형으로 들어와야 하는지 코드 상에서 명시하는 것입니다. [ parsing library ]pydantic은 vaildation library가 아닌 parsing 라이브러리입니다.유효성 검사는 제공된 유형 및 제약 조건을 준수하는 모델을 구축하는 목적을 달성하기 위한 수단입니다.즉, pydnatic은 입력 데이터가 아닌 출력모델의 유형과 제..
파이썬 제약 : 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타입은 관계를 맺고자 하는 모델 클래..