본문 바로가기

Python

(18)
[Redis] - Tutorial with Python *목차 - Intro - 환경설정 - 예제코드(Redis 기능 제외) - Redis 없이 기능 Test - Redis 적용 - Redis 적용 후 기능 Test - Outro Intro안녕하세요, 이번에는 Redis를 Python에서 활용하는 방법에 대해서 알아 보겠습니다. Redis 자체는 Python만을 위한 것이 아닌 In-memory 방식의 DBMS입니다. 그래서 category도 DB에 넣을까 하다가 Python에서 사용하는 Redis에 대한 문법이 주로 소개될 것 같아 Python Library로 하여 소개 드립니다. Redis는 다음과 같은 특징을 가지고 있습니다.In-memory : Redis는 data를 기본적으로 disk가 아닌 memory에 저장합니다.저장 관점 : MySQL, Pos..
[Alembic] - Tutorial * 목차 - Intro - 환경 구성 - 예제 코드 작성   1. local_main.py   2. server_main.py - Init Alembic   1. First Migration   2. Table 추가, 변경 후 migration   3. Migration 이전 version으로 rollback - Outro IntroAlembic은 Python용 SQLAlchemy 데이터베이스 툴킷과 함께 사용하기 위한 경량 데이터베이스 마이그레이션 도구입니다. Django에서는 자체적으로 DB의 schema 구조 변경에 따라 Migration file을 생성해서 적용하거나 이전 기록을 추적해서 rollback하는 기능이 있습니다. 하지만 Django 없이 Flask나 Fastapi을 통해 Web bac..
Django REST framework tutorial3 - Class-based Views * 목차 - Intro - Class 기반 View로 API 재작성 - Mixin 사용 - Class기반 Generic view 사용 *이전글 Django REST framework tutorial2 - Requests and Responses * 목차 - Intro - Code 작성 - URL에 format suffix 추가하기 - Test *이전글 Django REST framework tutorial1 - Serialization * 목차 - intro - Set Environment - Serialization을 위한 Model 작성 - Serializer class 만들기 - Serializer 사용 tyoon9781.tistory.com Intro function 기반 view가 아닌 clas..
[Django] REST framework tutorial - Requests and Responses * 목차- Intro- Code 작성- URL에 format suffix 추가하기- Test *이전글 Django REST framework tutorial1 - Serialization* 목차 - intro - Set Environment - Serialization을 위한 Model 작성 - Serializer class 만들기 - Serializer 사용하기 - ModelSerializers 사용하기 - Serializer를 Django View에서 활용하기 - Web API test Intro 이번 시간에는 djangotyoon9781.tistory.com Intro이전글에서는 단순히 Serializer를 소개하는 수준이었다면 이번 Tutorial에서는 rest framework의 핵심을 본격적으..
[Django] REST framework tutorial - Serialization * 목차- intro- Set Environment- Serialization을 위한 Model 작성- Serializer class 만들기- Serializer 사용하기- ModelSerializers 사용하기- Serializer를 Django View에서 활용하기- Web API test Intro이번 시간에는 django Rest framework tutorial을 진행해보도록 하겠습니다. django를 주로 backend로 사용하고 있는 저로써는 web api를 구축할 때 django rest framework를 안쓸 수가 없습니다. Rest framework는 아래와 같은 기능들이 포함됩니다. - 웹 브라우징 가능한 API- OAuth1a, OAuth2를 포함한 인증 정책- ORM, non-O..
[Flask] - Quickstart *목차1. A Minimal Application2. Debug mode3. Route4. Static Files5. Rendering Templates6. Accessing Request Data7. Redirect and Errors8. About Response9. Sessions10.Message Flashing11. Logging12. Hooking in WSGI Middleware13. Using Flask Extensions14. Deploying to a Web Server    * 본 문서는 Flask 공식 튜토리얼을 참조하였습니다.* linux ubuntu 22.04 LTS server, vscode 환경에서 진행하였습니다. Flask의 QuickStart 내용을 예제와 함께 다뤄보았습..
[Flask] - Tutorial * 목차1. Python virtual environment 설정2. Flask 설치3. Flask 파일 작성4. Flask 실행  * 본 문서는 Flask 공식 튜토리얼을 참조하였습니다.* linux ubuntu 22.04 LTS server, vscode 환경에서 진행하였습니다.Flask는 정말로 간단하게 Server를 만들 수 있습니다. 바로 시작하겠습니다. 0. python 설치저는 EC2 ToyServer에서 진행합니다. python3.10이 깔려 있습니다. 1. Python virtual environment 설정특별한 일이 없다면 시스템 python version과 같은 가상환경을 최신으로 맞춰줍시다.python -m venv .venv 저는 python3으로 해야 시스템python이 실행됩..
TypeError: method() takes no keyword arguments *바쁘신 분들을 위한 빠른 해결법 ## test_dict.get("k1", default=0) ## default라는 설명을 적은것이 에러의 원인 test_dict.get("k1", 0) ## default라는 설명을 제거하면 된다. 해당 에러는 왜 발생하는가? no keyword argument 에러는 python의 함수에서 Keyword Argument를 사용할 수 없기 때문입니다. 이러한 함수는 주로 Built-in function에서 발생합니다. Python은 원래 Keyword Argument를 자유롭게 사용할 수 있습니다. 하지만 python에서 제공하는 Built-in function은 C-level API이기 때문에 Keyword Arguments가 제공되지 않습니다. built-in fu..
valueerror: exceeds the limit (4300 digits) for integer string conversion; use sys.set_int_max_str_digits() to increase the limit * 바쁘신 분들을 위한 빠른 해결법 import sys sys.set_int_max_str_digits(7000) ## 7000보다 더 높은 숫자 입력도 가능 Python의 int는 overflow되지 않는다? Python의 int는 보통의 상식선인 4bytes 크기가 아닌 28bytes나 소모하고 있습니다. 메모리 공간을 많이 차지하는 대신에 overflow에 걱정이 없다는 사실 알고 계셨나요?? * 자세한 글은 https://tyoon9781.tistory.com/entry/python-int-size-28bytes를 참조해 주세요 python의 int는 C/C++의 int와는 비교가 안될 정도로 큰 수를 다룰 수 있습니다. 그렇지만 혹시 의도적이지 않게 큰 숫자를 만들어 버리고 출력하면 시스템에 무..
Python - List Comprehension *바쁘신 분들을 위한 3줄 요약 1. List생성 code를 한 줄로 표현 가능한 문법입니다. 2. 어려워 보이지만 사실상 python의 문법을 거의 유지하고 있습니다. 3. 속도측면에서 유리할 때도 있지만 주의해서 사용해야 합니다. Introduce(소개) List Comprehension를 한국어로 직역하면 "목록 표현식"이라 할 수 있습니다. python에서는 List 객체를 한 줄로 표현할 수 있는 고유한 문법을 뜻합니다. 이 문법을 사용하면 List를 작성할 때 보다 간결하게 작성이 가능합니다. 예를 들어, 0~9까지의 수 중, 3의 배수가 아닌 것만 list에 담고 싶을 때, 기존 방식으로는 이렇게 작성합니다. a = [] for i in range(10): if i % 3 != 0: a.ap..