일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- Service
- AZ-900
- event loop
- ebs
- dockerfile
- terraform
- POD
- elasticsearch
- WSGI
- K8S
- EC2
- 쿠버네티스
- ansible
- FastAPI
- AZURE
- EKS
- Django
- asgi
- 자바스크립트
- AWS
- Deployment
- leetcode
- intervals
- docker
- IAC
- Python
- DevOps
- Network
- asyncio
- Kubernetes
- Today
- Total
목록Back End (26)
궁금한게 많은 개발자 노트
모델이란 테이블을 정의하는 django의 핵심 클래스를 의미하며 models.py파일에 테이블과 관련된 사항들을 정의 ORM 방식에 기반하여 테이블을 클래스로 정의하고 있어, 클래스의 속성과 메소드를 가질 수 있습니다. 테이블의 column은 모델 클래스의 속성으로 정의하고, 테이블에는 메소드가 없지만 모델 클래스에서는 테이블과 관련된 메소드들을 정의할 수 있습니다. 이렇게 함으로써 테이블에 관련된 데이터와 행위를 모두 모델 클래스 한 곳에서 정의할 수 있는 장점을 가집니다. [ 모델 속성 ] 모델의 필드는 모델 클래스의 속성으로 정의되고, 모델 클래스의 속성들은 테이블의 필드로 1:1 매핑 모델 클래스에서 모델 필드는 가장 중요한 속성이며 필수 == 테이블에서 컬럼이 필수인 것과 같은 이치 모델 클래스..
장고의 MTV방식은 자바 웹 프로그맹의 MVC 방식과 거의 동일한 개념 웹 프로그래밍 영역을 3가지 개념으로 나눠서 개발하는 방식으로 테이블을 정의하는 Model, 사용자가 보게 될 화면의 모습을 정의하는 Template, 애플리케이션의 제어 흐름 및 처리 로직을 정의하는 View로 구분하여 개발 진행 이렇게 3가지로 나눠서 개발 진행 시 모델, 템플릿, 뷰 모듈간에 독립성을 유지하고, loose cooupling설계에도 부합 모델은 model.py에 템플릿은 template디렉토리 하위의 *.html파일로, 뷰는 view.py에 작성하도록 django에서 지원 화면 설계는 뷰와 템플릿 코딩으로 연결되고, 테이블 설계는 모델 코딩에 반영되므로 독립적으로 개발할 수 있는 모델을 먼저 작성하고, 뷰와 템플릿..
[ 토큰 기반 인증 시스템의 이점 ] 무상태성(Stateless) & 확장성(Scalability) 토큰은 클라이언트 측에 저장되기 때문에 서버는 완전히 Stateless하며, 클라이언트와 서버의 연결고리가 없기 때문에 확장하기에 매우 적합하다. 만약 사용자 정보가 서버 측 세션에 저장된 경우에 서버를 확장하여 분산처리 한다면, 해당 사용자는 처음 로그인 했었던 서버에만 요청을 받도록 설정을 해주어야 한다. 하지만 토큰을 사용한다면 어떠한 서버로 요청이 와도 상관이 없다. 보안성 클라이언트가 서버로 요청을 보낼 때 더 이상 쿠키를 전달하지 않으므로, 쿠키 사용에 의한 취약점이 사라지게 된다. 하지만 토큰 환경의 취약점이 존재할 수 있으므로 이에 대비해야 한다. 확장성(Extensibility) 시스템의 ..
인가(Authorization) 인가란? 인가는 유저가 해당 서비스를 사용할 수 있는 권한이 있는지 확인하는 절차이다. 예를 들어, 해당 유저는 고객 정보를 볼 수 있는 있지만 수정 할 수는 없다. 로그인하는 것이랑 어떤 서비스를 사용할 수 있는 것은 별개의 문제이다. 예를 들어 넷플릭스에 로그인을 했어도, 결제를 하지 않은 유저는 영상 재생을 할 수 있는 권한이 없다. 보통 로그인 인증, 인가? 어떻게 구분? (HTTP는 이전 요청과 응답을 기억 못 하는 stateless한 특성을 가지기 때문에, 로그인을 할 때 토큰을 생성한다. 이후 어떤 요청이 있을 때 토큰을 통해 해당 유저 정보을 얻고, 권한을 확인할 수 있다.) 어떤 과정으로 이루어질까? 인증 절차를 통해 access token을 생성한다. a..
평소에 aws의 LB(Load Banlancer) 중 ALB(Application Load Balancer)와 NLB(Network Load Balancer)의 차이점으로는 통신하는 네트워크 계층의 차이정 도로 밖에 설명을 못하는 것 같아 이에 대한 내용을 공부해보려고 ALB와 NLB의 차이점에 대해서 정리해보려고 합니다. 시작하기 전에 LB(Load Balancer)는 무슨 역할을 하는지에 대해서 다시 한번 정리하도록 하겠습니다. Load Balancer란 하나의 인터넷 서비스가 발생하는 트래픽이 많을 때 여러 대의 서버가 분산 처리하여 서버의 로드율 증가, 부하량, 속도 저하 등을 고려하여 적절히 분산 처리하여 해결해주는 서비스입니다. 위의 그림처럼 사용자가 많아져 트래픽이 하나의 서버로 몰리지 않도..