일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- nginx
- git
- Til
- flask
- ERD
- github
- docker
- 장고
- 코딩테스트
- SQL
- 도커
- 연습
- Python
- Doker
- 오블완
- CS
- 자료구조
- NoSQL
- django
- Wil
- JWT
- viewsets
- web
- 파이썬
- 쿠키(cookie)
- 개발공부
- 세션(Session)
- 아티클 스터디
- 티스토리챌린지
- redis
- Today
- Total
목록오블완 (14)
SteadyDrills
241127 Python에서 입력받는 함수 input 기본적으로 표준 입력으로부터 한 줄을 읽어 입력한다.➡️한 줄의 기준은 엔터(개행)이다. input의 특징자동 문자열 변환사용자가 입력한 내용을 자동으로 문자열로 변환하여 반환하기 때문에 추가적인 형 변환이 필요 없다.개행 문자 제거입력이 끝나면 자동으로 개행 문자가 제거되어 반환된다. 사용 편리성간단하고 직관적인 방법으로 별도의 모듈을 임포트 할 필요가 없다.효율성사용하기 간편하지만, 내부적으로 문자열을 처리하는 데 추가적인 오버헤드가 있다.입력 속도상대적으로 느린 편이다. 특히 많은 양의 입력을 처리할 때는 성능 저하가 발생할 수 있다. "오버헤드(Overhead)" - 컴퓨터 과학 및 프로그래밍에서 특정 작업이나 프로세스를 수행하는 데 필요한..

241126 클라이언트(Client)네트워크에서 서버와 상호작용하는 소프트웨어나 장치를 의미한다. 클라이언트는 서버에 요청을 보내고, 서버는 이러한 요청에 대한 응답을 반환하여 데이터를 제공하거나 서비스를 수행한다. 클라이언트(Client)의 특징요청-응답 모델: 클라이언트는 서버에 특정 작업을 요청하고, 서버는 그 요청에 대한 결과를 반환한다.사용자 인터페이스: 클라이언트는 사용자가 상호작용할 수 있는 인터페이스를 제공하며, 이를 통해 사용자는 데이터를 입력하거나 결과를 볼 수 있다.상태 관리: 클라이언트는 세션이나 쿠키와 같은 정보를 통해 사용자 상태를 관리할 수 있다.다양한 형태: 클라이언트는 웹 브라우저, 모바일 애플리케이션, 데스크톱 애플리케이션, IoT 장치 등 여러 형태로 존재할 수 있다..

241124 세션 인증서버 기반: 세션 인증은 서버에서 세션 정보를 관리(저장)한다. 사용자가 로그인하면 서버는 세션을 생성하고, 이를 클라이언트에 세션 ID로 전달한다.➡️ 서버에 저장되는 데이터가 많아 부하상태 유지: 서버는 세션 정보를 유지하므로 상태를 관리할 수 있다. 사용자가 로그아웃하면 서버에서 세션을 삭제한다. ➡️ 클라이언트에서 세션 ID가 탈취될 경우 서버에서 즉각적인 대처 가능보안: 세션 ID는 쿠키를 통해 클라이언트에 저장되며, HTTPS를 통해 전송되는 것이 일반적이다. CSRF 공격에 취약할 수 있다. ➡️ CSRF토큰을 이용해 변조, 탈취 등에 대한 보안적 대처 가능JWT 인증클라이언트 기반: JWT는 클라이언트 측에 토큰을 저장한다. 사용자가 로그인하면 서버는 JWT를 생성하여..

241122 CSRF 토큰 사이트 간 요청 위조(Cross-Site Request Forgery)를 방지하기 위해서 만들어진 것이다. 또한, CSRF 토큰은 서버가 클라이언트에게 발급하는 고유한 문자열으로 사용자가 웹 애플리케이션에서 특정 요청을 보낼 때 포함되어야 하며, 서버는 이 토큰을 검증하여 요청의 진위를 확인한다. CSRF 토큰의 특징고유성: 각 사용자 세션에 대해 고유한 토큰이 생성되며, 동일한 토큰이 다른 사용자에게 사용되지 않도록 보장한다.일회성: 일반적으로 CSRF 토큰은 매 요청마다 다르게 생성되며, 이것을 이용해 재사용 공격을 방지할 수 있습니다.서버 측 저장: 서버는 발급한 토큰을 기억하고 있어야 하며, 요청 시 클라이언트가 보낸 토큰과 비교하여 검증한다. CSRF 토큰과 세션 기..
241121 힙(Heap)힙은 완전 이진트리 구조를 가지는 비선형 자료구조로, 특정한 정렬 조건(최대 힙 또는 최소 힙)을 만족한다.이러한 힙이 사용되는 곳은 그래프 알고리즘을 구현해 네트워크 경로 최적화, 지도의 최단 경로 계산 등에 사용되기도 하고, 데이터 스트림 처리를 구현해 주식, 실시간 센서 데이터 분석에도 사용된다. 힙(Heap)의 특징완전 이진트리: 모든 레벨이 완전히 채워져 있으며, 마지막 레벨은 왼쪽부터 채워짐.정렬 조건:최대 힙: 부모 노드가 자식 노드보다 크거나 같음.최소 힙: 부모 노드가 자식 노드보다 작거나 같음.효율적인 연산: 삽입과 삭제 연산은 O(log n) 시간 복잡도를 가짐. 힙(Heap)의 장단점 장점우선순위 큐 구현에 적합하다.최대/최솟값을 빠르게 찾을 수 있다.동적 ..
2401120FBV (Function-Based View) FBV는 뷰를 함수로 정의하여 요청을 처리하는 방식이다. 간단하고 직관적인 방법으로, 소규모 애플리케이션에 적합하다. 장점단순성: 간단한 로직을 구현할 때 직관적이며 이해하기 쉽다.명시성: 요청 처리 과정이 단계별로 명확하다.빠른 프로토타이핑: 빠르게 뷰를 작성할 수 있어 초기 개발에 유리하다. 단점재사용성 부족: 복잡한 로직이 필요한 경우 코드 중복이 발생할 수 있다.확장성 제한: 기능이 증가할수록 관리가 어려워질 수 있다.코드 예시from rest_framework.decorators import api_viewfrom rest_framework.response import Responsefrom rest_framework import st..

241118JWT(JSON Web Token)JWT(JSON Web Token)는 사용자 인증 및 정보 교환을 위해 사용되는 개방형 표준이다. JWT는 주로 웹 애플리케이션에서 클라이언트와 서버 간의 인증 정보를 안전하게 전달하는 데 사용한다.JWT의 사용자 인증을 보다 간편하고 안전하게 처리하기 위해 만들어졌으며, 특히 마이크로서비스 아키텍처와 같은 분산 시스템에서의 인증 문제를 해결하고, 클라이언트와 서버 간의 정보 교환을 표준화하기 위해 도입되었다. JWT의 구조헤더(header): 토큰의 유형과 서명 알고리즘을 정의.페이로드(payload): 사용자 정보 및 클레임(claims) - (전반적인 토큰 관련 정보, 속성)을 포함.서명(signature): 헤더와 페이로드를 기반으로 비밀키로 생성..

241117 RESTful 아키텍처 웹 기반 시스템을 설계하기 위한 소프트웨어 아키텍처 스타일로, "Representational State Transfer"의 약자이다.REST는 HTTP 프로토콜을 기반으로 하며, 클라이언트와 서버 간의 통신을 효율적으로 수행하는 데 중점으로 만들어졌다. 자원 기반자원은 URI(Uniform Resource Identifier)를 통해 식별된다. JSON, XML, HTML 등 다양한 형식으로 표현될 수 있으며, 클라이언트는 자원의 표현을 요청하고, 서버는 해당 표현을 반환한다.무상태성(Stateless)서버의 부하를 줄이고, 확장성을 높이기 위해, 요청은 각각 독립적으로 처리되며, 서버는 클라이언트의 상태를 기억하지 않는다. 이때 클라이언트는 필요한 모든 정보(인증,..