Til

Add extra data to python log message

TL;DR QueueHandler를 사용해서 process-safe logger를 만들고 LoggerAdapter를 활용해서 매 로그 메시지마다 특정 정보가 자동으로 출력. main.py #!/usr/bin/env python3 import logging import logging.handlers import multiprocessing from worker import worker_process from my_logger import logger_process if __name__ == "__main__": # Configure logging logging.basicConfig(level=logging.DEBUG) # Create a queue for logging log_queue = multiprocessing.Queue() # Create worker processes num_workers = 2 processes = [] for i in range(num_workers): p = multiprocessing.Process(target=worker_process, args=(i, log_queue)) processes.append(p) p.start() # Create a logger process for process-safe loggging p = multiprocessing.

goodlinks supports export finally

macstories.net에서 추천 글을 보고 구입했던 Goodlinks app. 구입까지 하면서 까지 기대했던 기능은 그간 pocket을 이용하던 read-it-later 용도였는데 아쉽게도 추천글에 비해 부족한 점이 많았다. 무엇보다 이건 앱을 설치하자 마자 부푼 기대감에 그간 pocket에 모아둔 2만개가 넘는 글들을 모두 한번에 옮겨서 그런 듯 하다. 무려 2014년부터 모았던 글들인데 그 덕분인지 여러가지 예상하지 못했던 문제점이 눈에 띄었다. 가장 큰 문제는 앱에서 글을 다운로드 하는데 너무 데이터를 많이 사용한다는 점. 앱 특성상 저장된 글의 내용 자체를 다운로드 해서 보여주는데 어떤 문제가 있는 지 불과 몇 시간 만에 1GB의 데이터를 사용해 버렸다.

How to get CPU utilization data with python

Python을 이용해서 손 쉽게 CPU 사용량 정보를 알아낼 수 있는 방법. Physical core 별, logical core 별(Hyper-threading을 켠 경우), 각 core 별 사용량 정보 등을 쉽게 알아낼 수 있다. 이거 C로 짜려면 은근 귀찮은데. 어떻게 해당 정보들을 알아내는 지 궁금하네. 코드를 한번 봐야겠군.

Remove docker images referenced in multiple repos

docker image를 GHCR(GitHub Container Registry)에 업로드한 다음 같은 image ID를 갖는 여러 항목이 나타났다. 그동안 local machine에 있던 docker image를 GHCR에 업로드 했으니 더 이상 local host에 이미지가 없어도 되지 않을까 하는 생각에 원래 있던 image를 삭제하려고 하는데 이 경우 에러가 발생한다. cychong@mini1:~/work/slackbot$ docker images |grep slackbot my-slackbot latest 16cdaacd672e 5 days ago 133MB ghcr.io/cychong47/my-slackbot 0.1 16cdaacd672e 5 days ago 133MB ghcr.io/cychong47/slackbot 0.1 16cdaacd672e 5 days ago 133MB cychong@mini1:~/work/slackbot$ docker images |grep pocket pocket-retagger latest 942ef4cc7a60 2 days ago 285MB ghcr.

Add new Helm Chart

helm chart 추가하기 charts 디렉토리 아래에 추가할 helm chart 만들기 이번에는 기존에 만들어 사용하던 ghost chart를 등록해 본다. 일단 ghost chart를 아래와 같이 charts/ghost 디렉토리에 복사하고 lint 검사. cychong@mini1:~/work/helm/my-helm-chart$ helm lint charts/ghost/ ==> Linting charts/ghost/ [INFO] Chart.yaml: icon is recommended 1 chart(s) linted, 0 chart(s) failed Helm chart 패키징 cychong@mini1:~/work/helm/my-helm-chart$ helm package charts/* Successfully packaged chart and saved it to: /home/cychong/work/helm/my-helm-chart/my-ghost-0.1.0.tgz Successfully packaged chart and saved it to: /home/cychong/work/helm/my-helm-chart/nginx-0.2.0.tgz cychong@mini1:~/work/helm/my-helm-chart$ ls *.

Automate Blog Posting with GitHub Action

https://ruddra.com/hugo-deploy-static-page-using-github-actions/ 에 있는 내용대로 git repository의 .github/workflows 아래 main.yml 몇 가지만 수정했더니 잘 동작하는 듯. 이미 Hugo용 github repo를 가지고 있으므로 내가 추가로 해야 할일은 GitHub 계정에서 Access Token 만들어서 Git repository에 Secret로 추가 GitHub Action 파일 작성 - .github/workflows/main.yml 일단 이거면 끝. .github/workflows/main.yml name: CI on: push jobs: deploy: runs-on: ubuntu-latest steps: - name: Git checkout uses: actions/checkout@v2 - name: Update theme # (Optional)If you have the theme added as submodule, you can pull it and use the most updated version run: git submodule update --init --recursive - name: Setup hugo uses: peaceiris/actions-hugo@v2 with: hugo-version: "0.

Publish hugo post from iPad

iPhone 이나 iPad에서 사진을 골라 사진과 markdown 파일을 만들어 Working Copy를 통해 git repo에 업로드하는 Shortcut을 마련했다. Shortcut의 원본은 이 블로그(Posting to Hugo from iOS에서 얻었다. Front formatter만 일부 수정하면 그대로 사용할 수 있을 정도로 내가 기대하는 workflow가 구현이 되어 있었다. 실은 문법도 잘 모르면서 괜히 손을 댔다 제대로 동작 안하게 했다 다시 고치느라 시간만 보냈다는. 이 Shortcut이 하는 일은 위 블로그에도 자세하게 설명되어 있지만(친절한 분…) 넘겨 받은 사진을 가로 1280 픽셀 크기로 조정 블로그 타이틀 입력 사진명을 오늘 날짜-블로그 타이틀로 만든 slug.