목록Python (14)
개발부터 자유까지
uv 설치방법linux 환경# Linux/macOS curl 명령어curl -LsSf https://astral.sh/uv/install.sh | sh# Linux/macOS uv 특정 버전 설치curl -LsSf https://astral.sh/uv/0.8.22/install.sh | sh# Linux/macOS wget 명령어wget -qO- https://astral.sh/uv/install.sh | sh windows 환경# Windows uv 최신 버전 설치powershell -ExecutionPolicy ByPass -c "irm https://astral.sh/uv/install.ps1 | iex"# Windows uv 특정 버전 설치powershell -ExecutionPolicy ByPa..
Redis는 dictionary 기반의 인메모리 오픈소스 데이터베이스다. 이 글에서 주로 설명하는 것은 파이썬 기반의 redis-py client 모듈을 설치해서 redis 사용방법을 알아볼 것이다. 먼저 아래 링크에서 Redis 서버를 설치가 전제되어 있어야 한다. Redis 데이터베이스 서버 설치각 운영 환경마다 설치하는 명령어는 아래 링크를 참고하면 된다. 1. 도커에 설치https://redis.io/docs/latest/operate/oss_and_stack/install/install-stack/docker/ 2. 리눅스 OShttps://redis.io/docs/latest/operate/oss_and_stack/install/install-stack/apt/ 3. 맥 OShttps://r..
목차: 파이썬으로 이해하는 I/O 모델 (Sync, Async, Blocking, Non-blocking) 1. 시작하며: 개발자에게 I/O 모델이 왜 중요한가1-1. 문제의 발견: 느린 I/O 작업1-2. 핵심 비유: "유능한 셰프(CPU)와 게으른 웨이터(I/O)"2. 관점의 분리: I/O를 이해하는 두 가지 축2-1. 결과 처리의 관점: Sync vs Async2-2. 제어권의 관점: Blocking vs Non-blocking 1. 시작하며: 개발자에게 I/O 모델이 왜 중요한가? 1-1. 문제의 발견: 느린 I/O 작업잘못된 예- 웹 요청, DB 조회, 파일 읽기 등 I/O 작업이 프로그램 전체를 멈추게 하는 현상- Python 코드로 보는 문제 상황: requests와 for문을 이용한 순차적..
목차유니코드와 문자열ord 함수chr 함수중제목3 유니코드와 문자열유니코드가 나오기 전에 아스키 코드가 있었다. 아스키 코드는 영문자를 대상으로 문자를 숫자로 맵핑하기 위한 체계이다.총 128개의 문자를 7bit로 표현하고 1bit는 통신 에러 검출을 위해 사용하기 때문에 총 8bit로 표현한다. 아스키 코드 (ASCII) - American Standard Code for Information Interchange 범위: 아스키 코드는 7비트로 표현되어 총 128개의 문자를 담을 수 있습니다 (0~127까지의 정수값).지원문자: 아스키 코드는 주로 영문 알파벳, 숫자, 일부 특수 문자 및 제어 문자를 포함합니다.사용: 초기 컴퓨터 시스템에서 널리 사용되었으며, 영어를 사용하는 텍스트를 처리하는 데 적합..
파이썬 3.X 에서 알고리즘 문제를 풀다보면 input 으로 입력을 받을때가 있고, sys.stdin.readline 을 사용해서 입력을 받을 때가 있다. 이 두 방법의 차이점을 모르고 사용하기보다 알고 사용하는게 좋기 때문에 정리해본다.사소해보일지라도 생각보다 차이점이 많고, 의미가 있어보인다. input()input() 함수는 내장함수다.parameter로 prompt message 를 받을 수 있다. 그래서 입력받기 전 prompt message를 출력해야 하기 때문에 느려진다.input() 내장함수는 입력받은 값의 개행 문자를 삭제시켜서 리턴한다.더 이상 입력이 없는데도 수행될 경우 EOFError를 발생시킨다.a = input("입력하세요: ")> 입력하세요: helloprint(len(a))>..
json(javascript objection notation) 은 데이터를 저장하는 독립적인 언어 양식입니다.파이썬에서 json 내장 모듈에 있는 dumps, dump 함수를 사용하는데 json 형식의 데이터로 만들 때,문자열로 만들지 파일로 만들지 구분하기 위해 사용합니다. 자주 사용하는데 헷갈리는 이유로 차이점을 기록해둡니다. json.dumps(dict, indent)json.dumps 공식문서json.dumps() 메소드는 python 객체를 json 문자열로 변환할 수 있습니다.# Convert Python dic object to JSON string object import json # Data to be written dictionary = { "id": "04", "na..
목차 os.listdir 와 os.walk 차이점 알아보기 os.listdir os.walk os.listdir 와 os.walk 차이점 알아보기 Python 안에는 os 모듈이 있는데 운영체제(operating system) 의 준말이다. 운영체제에서 제공해주는 여러 함수들을 사용할 수 있게 해준다. 파일을 열고 닫는 기능, 디렉토리나 파일의 목록을 구하는 기능 등을 제공한다. 그 중에서도 디렉토리와 파일을 탐색하는 os.listdir 함수와 os.walk 함수의 역할을 비교해보고 차이점을 알아보자. 아레 os_test 디렉토리 구조는 아래와 같고 이를 기반으로 것들로 테스트해본다. PS D:\toy_project\os_test> tree /f . D:\TOY_PROJECT\OS_TEST │ file3..
더보기 목차 websockets 모듈 웹소켓 설치 웹소켓 구현 웹소켓 더 알아보기 websockets 모듈 파이썬에서 websockets 모듈을 통해 웹서버와 클라이언트간 통신을 할 수 있다. 웹소켓은 HTTP와 다르다. 두 프로토콜 모두 OSI 모델의 Transport protocol을 기반으로 동작한다. 웹소켓은 HTTP 포트 80과 443 위에 동작하도록 설계되어 있으며 HTTP 프로토콜과 호환 된다. 웹소켓이 나오기 전에는 클라이언트에서 서버로 요청을 하지 않으면 서버로부터 응답을 받을 수 없는 구조였다. 웹소켓은 이 문제를 해결하기 위해 서버와 클라이언트간 양방향 소통을 지원한다. 사용자는 웹사이트에서 새로고침을 하지 않아도 최신 데이터가 적용된 화면을 볼 수 있다. 실시간 주식차트나 채팅, 게..