본문 바로가기

파이썬21

Docker, FastAPI FROM python:3.12.2WORKDIR /srcCOPY ./requirements.txt /src/requirements.txtRUN pip install --no-cache-dir --upgrade -r /src/requirements.txtCOPY ./app /src/appCOPY ./logs /src/logsCOPY ./test /src/testCOPY ./application.json /src/application.jsonEXPOSE 8000CMD ["python", "app/main.py"] 도커는 컨테이너 환경에서 도커 이미지에 빌드된 코드를 실행합니다.컨테이너 안을 하나의 서버 (클라우드 서비스에서 새로 구성한 서버라 가정) 라고 가정하고 예제 코드를 설명하겠습니다. FROM새롭게 구.. 2024. 3. 24.
235, Lowest Common Ancestor of a Binary Search Tree # Definition for a binary tree node. # class TreeNode: # def __init__(self, x): # self.val = x # self.left = None # self.right = None class Solution: def lowestCommonAncestor(self, root: 'TreeNode', p: 'TreeNode', q: 'TreeNode') -> 'TreeNode': """가장 작은 부모 찾기 경우의 수: * P, Q가 부모 노드 왼쪽에만 존재하는 경우 * P, Q가 부모 노드 오른쪽에만 존재하는 경우 * P는 부모 노드 왼쪽, Q는 부모 노드 오른쪽에 존재하는 경우 * P 또는 Q 중 하나가 루트 노드에 존재하는 경우 LCA, Lowes.. 2024. 2. 25.
Python logging 파이썬에서도 날짜 별로, 특정 주기마다 로그 파일을 자동으로 생성할 수 있다.(trace Id도 설정하면 좋으련만...)구글링을 하면서 정리한 내용을 아래에 작성해보겠다..json, .yaml, .conf, .py 파일에서 로그 파일 설정을 할 수 있다.여기선 .conf를 사용하겠다.app/config/logger.conf[loggers]keys = root[handlers]keys = stream_handler, file_handler[formatters]keys = stream_formatter, file_formatter[logger_root]level = NOTSEThandlers = stream_handler, file_handlerqualname = propagate = 0# handler[h.. 2024. 2. 19.
2.0 요약 정리 session.query() 방식에서 session.execute() execute()의 리턴 타입은 Result object. Result object Named tuple과 유사한 인터페이스를 가진 Row object를 반환하는 Iterable function. Result object에 대해서 Iterating 없이 결과를 얻을 수 있는 방법 all() to return a list with a row object for each result row. 예) [row(값1, 값2, ...), row(값1, 값2, ...) , ...] SQL 또는 ORM에서 프로젝션을 하는 경우, 용이하다. for loop를 돌면서 select하는 컬럼의 별칭이나, 객체의 속성을 매핑하여 값을 확인할 수 있다. fir.. 2024. 2. 19.