본문 바로가기

전체 글28

[FastAPI] Server Send Event(SSE) 구현 개요 기존 프로젝트의 소스코드를 수정을 해야하는 날이 있었다.SSH 로 연결하여 tail -f 명령어로 실시간으로 로그데이터를 가져오는 기능이였는데 보안 정책으로 인해 원격서버가 주기적으로 비밀번호가 변경되어, SSH 연결정보를 수동으로 바꿔줘야하는 상황이 생겨버렸다. 수동적인 변경이 어려워 이를 해결할 방법으로 API서버를 구현하여 이를 수행하게 만드는 것이였다.이를 구현하는 방법 중 하나로 SSE(Server Sent Event)를 선택하게 되었고, FastAPI를 사용하여 구현하였다. SSE 로 구현한 이유 Server Sent Event( SSE )란, 서버가 실시간으로 발생시키는 이벤트나 데이터를 클라이언트 에 단방향으로 전달하기 위해 설계된 웹 표준 방식 중 하나이다. 단방향 실시간 통신에 적.. 2025. 2. 10.
[Python] Python Portable( 무설치 파이썬 ) 설치 방법 1. Python 소스 다운로드Python 공식 웹사이트에서 원하는 버전의 소스를 다운로드합니다.wget https://www.python.org/ftp/python//Python-.tgz# 예: Python 3.9.9wget https://www.python.org/ftp/python/3.9.9/Python-3.9.9.tgz 압축해제tar -xvzf Python-3.9.9.tgzcd Python-3.9.9 2. Portable 설치를 위한 빌드Python을 독립 실행 가능한 형태로 빌드합니다../configure --prefix=/path/to/python-portable --enable-shared --with-ensurepip=install LDFLAGS="-Wl,-rpath=\$$ORIGIN/.... 2025. 1. 14.
[docker] 시스템 재부팅 시 docker 자동시작 설정 방법 및 확인 docker 자동 시작 설정1. docker 자동 시작 설정 확인sudo systemctl is-enabled dockerenabled: Docker가 시스템 부팅 시 자동으로 시작하도록 설정되어 있음.disabled: Docker가 부팅 시 자동으로 시작하지 않음.static: 수동으로 시작하거나 다른 서비스에 의존할 때만 시작됨. 2. docker 자동 시작 설정sudo systemctl enable docker 명령 실행 결과:/etc/systemd/system/multi-user.target.wants/docker.service와 같은 심볼릭 링크가 생성됩니다.3. docker 자동 시작 테스트3.1 docker 상태 확인sudo systemctl status docker 3.2 시스템 재부팅su.. 2024. 12. 31.
[docker] daemon.json 정리 { "data-root": "/data/docker", # docker 디렉토리 변경 "bip": "192.168.100.1/24", # docker network ip 변경 "default-address-pools": [ # docker 컨테이너 ip 변경 { "base": "192.168.100.1/24", "size": 24 } ], "insecure-registries": ["10.20.100.6:5000","10.20.100.6:5001"], # https 무시 "registry-mirros": ["http://10.20.100.6:5001"], # registry 바라보는 ip:port "log-driver": "json-file", # 로그 정책 "log-opts": { # 로그 옵션 "ma.. 2023. 12. 18.
plot 한글 깨지는 현상 해결 ( Python, Pandas, matplotlib ) plot 한글 깨짐 현상 해결방법. ( ubuntu 기준 ) 1. 폰트 설치 및 시스템 캐시 업데이트 하기 sudo apt-get install -y fonts-nanum # 폰트 설치 sudo fc-cache -fv # 시스템 캐시 업데이트 sudo rm -rf ~/.cache/matplotlib # 폰트캐시제거 2. 설치된 폰트 목록 확인 import matplotlib.font_manager as fm fm.fontManager.ttflist 3. 폰트 지정 (나눔고딕 기준) import matplotlib.pyplot as plt plt.rc('font', family='NanumGothic') 순서대로 하면은 한글이 정상적으로 표시되는걸 확인할 수 있다. 2023. 11. 24.
redhet 계열 OS 오프라인환경 패키지 설치 (의존성 같이 설치) 오프라인에서 작업하는 경우가 많아, 서버 초기 패키지 설치가 안되어 있을때가 자주 있었다. 그럴때 패키지 설치하기 위해 온라인 되는 환경에서 해당 패키지를 rpm으로 다운받은 후 파일을 옮겨 설치하는 경우가 많은데, 의존성 패키지에 의해 설치가 안되는 경우가 있다. 그럴때 하나하나 다운받아 옮겨서 설치하는거보다 한번에 의존성 패키지까지 다운받아 한번에 옮겨 설치가 훨씬 편할 것이다. 해당 글은 오프라인환경에서 패키지 설치하는 방법을 다루었다. yumdownloader 1. yumdownloader를 사용하기 위해선 먼저 yum-utils 를 설치해야한다. sudo yum install yum-utils 2. 온라인 환경에서 패키지 rpm 다운로드 yumdownloader --downloadonly --r.. 2023. 8. 28.