일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- 장고
- 세션(Session)
- 자료구조
- Python
- 쿠키(cookie)
- nginx
- 파이썬
- NoSQL
- flask
- ERD
- Doker
- github
- 아티클 스터디
- 도커
- web
- Til
- 오블완
- 개발공부
- Wil
- viewsets
- CS
- docker
- 코딩테스트
- git
- SQL
- django
- 티스토리챌린지
- 연습
- redis
- JWT
- Today
- Total
목록전체 글 (132)
SteadyDrills

241129 NoSQLNoSQL(Not Only SQL)은 구조화된 스키마를 강제하지 않고 비관계형 데이터 저장소로 설계된 데이터베이스이다. 데이터 구조, 확장성, 속도, 유연성을 중요시하고, 다양한 데이터 모델(문서, 키-값, 그래프, 열 기반 등)을 지원한다. NoSQL의 장단점 장점확장성(Scalability)수평적 확장이 가능하며, 데이터가 증가할 때 서버 추가를 통해 현재의 성능을 유지할 수 있다.유연한 스키마(Flexible Schema)데이터 스키마를 미리 정의하지 않아도 되며, 다양한 형태의 데이터를 저장할 수 있다.JSON, BSON, 키-값, 그래프 등 다양한 데이터 모델을 지원한다.고성능(High Performance)대량의 읽기/쓰기 작업을 빠르게 처리하며, 특히 캐싱 시스템이나 분..
241128RDBMS (Relational Database Management System) RDBMS는 관계형 데이터베이스 모델을 기반으로 데이터를 관리하는 시스템이다. 데이터는 테이블(표)로 표현되며, 각 테이블은 행(인스턴트)과 열(속성)으로 구성되며, SQL(Structured Query Language)을 사용하여 데이터를 정의, 조작 등을 할 수 있다. 특징정형화된 데이터 구조데이터는 테이블 기반으로 저장되며, 스키마(schema)를 미리 정의해야 한다.데이터의 구조(열 이름, 데이터 타입 등)가 엄격하게 유지된다.SQL 사용데이터 정의, 조회, 수정, 삭제를 위한 표준 언어인 SQL을 사용한다.강력한 쿼리 기능(조인, 필터링, 집계 등)을 제공한다.ACID 속성 지원트랜잭션의 신뢰성을 보장하..
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..