일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- 파이썬
- Wil
- NoSQL
- viewsets
- CS
- github
- 개발공부
- django
- 장고
- 아티클 스터디
- git
- web
- JWT
- Doker
- Python
- 티스토리챌린지
- docker
- redis
- nginx
- 오블완
- flask
- 자료구조
- 쿠키(cookie)
- 코딩테스트
- 도커
- Til
- 연습
- SQL
- ERD
- 세션(Session)
- Today
- Total
목록전체 글 (132)
SteadyDrills
250128 WSGI (Web Server Gateway Interface)Python 웹 애플리케이션과 웹 서버 간의 표준 인터페이스로 HTTP 요청을 처리하기 위해 동기적으로 작동를 기반으로 하는 프로토콜이다. Python의 모든 웹 프레임워크가 WSGI를 사용하여 서버와 연결된다. 특징동기식(Synchronous) 처리 방식단순하고 이해하기 쉬운 인터페이스요청당 하나의 함수 호출 패턴HTTP/1.1 프로토콜에 최적화활용 사례Django (버전 3.0 이전)FlaskPyramiduWSGI 서버GunicornASGI (Asynchronous Server Gateway Interface)ASGI는 WSGI의 한계를 극복하기 위해 개발된 차세대 웹 서버 인터페이스 규격입니다. 비동기 처리를 지원하며, 현대..

250124크롤링(crawling)현대 데이터 수집 기술의 핵심 메커니즘으로, 인터넷의 방대한 정보를 체계적으로 수집하고 분석하는 프로세스이다. 웹 페이지를 자동으로 탐색하고 정보를 추출하는 웹 크롤러 또는 스파이더라고 불리는 자동화된 프로그램을 사용하며, 검색 엔진, 데이터 분석, 시장 조사 등 다양한 분야에서 활용된다. 크롤링의 기본 원리와 작동 메커니즘 시드(seed) URL 선택: 특정 웹사이트나 페이지에서 시작.페이지 요청: HTTP 요청을 통해 웹 서버에 페이지를 요청.페이지 파싱: 요청한 페이지의 HTML 내용을 분석하여 필요한 정보를 추출.링크 추출: 페이지 내의 하이퍼링크를 찾아내어 다음에 방문할 URL 목록에 추가.반복: 위의 과정을 반복하여 새로운 페이지를 탐색하고 데이터를 수집. ..
250122 미들웨어 (Middleware) 란?소프트웨어 아키텍처에서 클라이언트와 서버 간의 요청(request)과 응답(response)을 중개하는 역할을 하는 컴포넌트이다. 주로 웹과 앱에 사용되며, 장고의 미들웨어는 요청(request)과 응답(response) 처리 과정 특정 지점에서 호출되어 다양한 기능(예: 인증, 세션 관리, 로깅, 보안 등)을 수행하는 훅(hook) 프레임워크이다. 미들웨어는 process_request와 process_response와 같은 메서드를 통해 요청과 응답을 처리한다. 미들웨어 (Middleware) 의 필요성애플리케이션 전반에 걸쳐 공통적으로 적용해야 하는 기능들을 효율적으로 구현. 공통 기능을 한 곳에서 관리. → 코드의 재사용성과 유지보수성이 향상. 요..
250121Swagger란? Swagger(OpenAPI Specification)는 RESTful API를 설계, 문서화, 테스트하기 위한 오픈소스 프레임워크이다. API의 엔드포인트, 요청/응답 형식, 인증 방식 등을 표준화된 방식으로 정의할 수 있게 해 주며, 개발자들이 쉽게 API를 이해하고 사용할 수 있도록 도와주는 역할을 한다. Swagger의 장점1. 자동화된 문서화API 명세가 코드와 함께 자동으로 업데이트되어 항상 최신 상태를 유지.개발자가 별도로 문서를 작성하고 관리할 필요가 없어 시간과 노력이 절약.문서화 누락이나 불일치 문제를 방지할 수 있음.2. 상호작용 가능한 문서Swagger UI를 통해 API를 직접 테스트해 볼 수 있음.실제 요청과 응답을 확인할 수 있어 각 API에 대한 ..

250120 pytest란?Python에서 가장 널리 사용되는 테스트 프레임워크로 단위 테스트, 기능 테스트, 통합 테스트 등을 쉽게 작성하고 실행할 수 있다. 기본적인 assert 문을 사용하여 테스트를 작성하며 초보자도 쉽게 시작할 수 있다. pytest의 장점간결한 문법: assert를 사용하여 직관적인 테스트 작성 가능자동화된 테스트 검색: 파일을 수동으로 지정할 필요 없이, 특정 패턴(test_*. py, *_test.py )을 따르는 테스트를 자동으로 감지my_project/├── my_module.py└── tests/ ├── test_my_module.py └── __init__.py유연한 테스트 실행: 특정 테스트만 실행하거나 실패한 테스트를 다시 실행하는 기능 제공pytest..
250116 APIViewGeneric ViewViewSet개념DRF에서 제공하는 가장 기본적인 클래스 기반 뷰APIView를 상속받아 특정 기능을 구현한 클래스하나의 클래스로 API 엔드포인트들을 그룹화하는 클래스상속 관계DRF의 기본 클래스APIView 상속ViewSetMixin와 APIView상속기능HTTP 메서드(GET, POST, PUT, DELETE 등)를 직접 구현하여 API를 처리하며,데코 레이터를 이용해서 FBV처럼 작성도 가능함.특정 기능(리스트, 디테일, 생성, 수정, 삭제 등)을 미리 구현하여 재사용성을 높임다양한 기능을 하나의 클래스로 처리하며, action을 사용하여 각 엔드포인트에 매핑되는 기능을 정의하고, Router를 사용하여 간단하게 URL을 설정 가능복잡도가장 높음 ..
250114 'object' classobject 클래스는 모든 클래스의 기본 클래스이자 최상위 클래스로, 모든 클래스는 암묵적으로 object 클래스를 상속받는다. 이는 객체 지향 설계의 통일성과 관계되며 파이썬의 "모든 것은 객체다"라는 핵심 철학을 실현한다. 또한 object 클래스는 파이썬에서 코드의 재사용과 확장성 측면에서 유연하고 강력하게 만들어주는 역할을 한다. class NewClass: # 암시적 object 상속 passclass NewClass(object): # 명시적 object 상속 pass# 모든 것이 객체이다.print(isinstance(42, object)) # True (숫자도 객체)print(isinstance("Hello", object)) # ..
250113로컬 스토리지(LocalStorage)로컬 스토리지는 웹 브라우저가 제공하는 저장 공간으로, 웹 사이트가 사용자의 컴퓨터에 데이터를 저장할 수 있도록 한다. 쿠키와 유사한 부분이 많지만, 용량이 더 크고(약 5MB), 데이터가 영구적으로 저장된다는 차이점이 있다. 특징키-값 쌍으로 데이터 저장 - 데이터를 문자열 형태로 키(key)와 값(value) 쌍으로 저장한다.데이터 유효 기간 없음 - 사용자가 명시적으로 삭제하거나 브라우저 데이터를 지우지 않는 한, 저장된 데이터는 브라우저를 종료하거나 컴퓨터를 재부팅해도 유지된다.브라우저별 데이터 저장 - 로컬 스토리지에 저장된 데이터는 동일한 기기라도 다른 브라우저에서는 접근할 수 없다.도메인 단위로 격리 - 같은 브라우저 내에서도 서로 다른 도..