Tips

· Tips
파이썬 실행 환경 구성하기1. 파이썬 가상환경 모듈 설치pip3 install virtualenv 2. 파이썬 버전 지정하여 가상환경 생성cd path/to/install/vitualenvvitualenv py_venv --python=python3.11// 리눅스 커널cd vitualenvpython3.11 -m venv .// 윈도우 cmdcd vitualenvpy -3.11 -m venv . 2-1. ensurepip 오류가 있는 경우 - pip 제외하고 가상환경 설치 후 pip 수동 설치/opt/homebrew/bin/python3.11 -m venv py_venv --without-pip// 가상환경 활성화source py_venv/bin/activate# Windows는 py_venv\\Scr..
· Tips
우선 개조식으로 작성했고, 추후 업데이트하도록 하겠음.서버 만들면서 제일!! 많이 공부가된?? 공부를한?! 부분인데 메모장에만 있다가 모아서 정리함. 들어가며…C/Java 같은 언어 → 변수 = 값을 담는 상자 개념 → b = a 값이 복사된다고 이해하는 게 자연스러움 파이썬 → 변수는 상자가 아니라 객체에 붙는 이름표(label)Q1) a = 1; b = a; a = 2 에서 왜 b는 그대로일까?Q2) 리스트/딕셔너리를 복사했는데 왜 같이 바뀔까? → 불변 vs 가변 객체 차이를 알아보자. 1. 불변 객체 (Immutable)예: int, float, str, tuple특징: 새로운 값을 할당하면 새 객체 생성, 기존 참조와 끊김, 값이 복사된 것처럼 동작a = 1b = aa = 2print(a) ..
· Tips
MySQL의 GENERATED 칼럼은 다른 칼럼 값을 기반으로 자동 계산되는 칼럼으로, 가상 컬럼(Virtual) 또는 저장된 컬럼(Stored) 형태로 사용된다. 왜 이걸 찾아보았는가... 1. JSON 내부 필드 인덱스 문제10개 이상의 필드를 가진 JSON 타입을 저장해야 했다.근데 MySQL은 JSON 타입 내부의 특정 필드에 직접 인덱스를 걸 수 없다.WHERE JSON_EXTRACT(data, '$.field') = '값' 형태의 조건은 풀 테이블 스캔이 발생했다. 2. 해결 방법 → Generated Column을 써볼까.GENERATED COLUMN으로 JSON 내부 필드를 추출한 별도 칼럼을 정의해보자.추출된 칼럼을 STORED 형태로 저장한 뒤 인덱스를 걸어 조회하는 테스트를 했다. ..
· Tips
uvicorn path.to.main:app --reload --host 0.0.0.0 --port 8000API 문서 접속 경로기본 접근 URL http://localhost:8000문서 타입 URLSwagger UI (기본): http://localhost:8000/docsReDoc (간결 스타일): http://localhost:8000/redocOpenAPI JSON (스펙 파일): http://localhost:8000/openapi.json
· Tips
window 에서 rabbitmq 실행 시 아래와 같은 에러 발생할 경우 2024-12-12 12:05:42.435000+09:00 [warning] Using RABBITMQ_ADVANCED_CONFIG_FILE: path/to/AppData/Roaming/RabbitMQ/advanced.config2024-12-12 12:05:43.607000+09:00 [error] 2024-12-12 12:05:43.607000+09:00 [error] BOOT FAILED2024-12-12 12:05:43.607000+09:00 [error] ===========2024-12-12 12:05:43.607000+09:00 [error] ERROR: could not bind to distribution p..
· Tips
script : main.pycwd : 작업 위치interpreter : 실행하고자 하는 python을 interpreter로 지정cwd가 interpreter 경로에 영향을 미칠 수 있으니 주의venv 안의 /bin/python 경로로 사용{ "apps": [ { "name": "name", "script": "main.py", "cwd": "/path/to/cwd", "interpreter": "path/to/python/env/bin/python", } ]}
· Tips
logging.StreamHandler가 기본적으로 stderr를 사용하기 때문에 pm2에서 error.log에 기록됨StreamHandler의 stream을 명시적으로 sys.stdout으로 설정해야함. logging.handlers — Logging handlers
JJangRock
'Tips' 카테고리의 글 목록