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.
macstories.net에서 추천 글을 보고 구입했던 Goodlinks app. 구입까지 하면서 까지 기대했던 기능은 그간 pocket을 이용하던 read-it-later 용도였는데 아쉽게도 추천글에 비해 부족한 점이 많았다. 무엇보다 이건 앱을 설치하자 마자 부푼 기대감에 그간 pocket에 모아둔 2만개가 넘는 글들을 모두 한번에 옮겨서 그런 듯 하다. 무려 2014년부터 모았던 글들인데 그 덕분인지 여러가지 예상하지 못했던 문제점이 눈에 띄었다.
가장 큰 문제는 앱에서 글을 다운로드 하는데 너무 데이터를 많이 사용한다는 점. 앱 특성상 저장된 글의 내용 자체를 다운로드 해서 보여주는데 어떤 문제가 있는 지 불과 몇 시간 만에 1GB의 데이터를 사용해 버렸다.
Python을 이용해서 손 쉽게 CPU 사용량 정보를 알아낼 수 있는 방법. Physical core 별, logical core 별(Hyper-threading을 켠 경우), 각 core 별 사용량 정보 등을 쉽게 알아낼 수 있다. 이거 C로 짜려면 은근 귀찮은데. 어떻게 해당 정보들을 알아내는 지 궁금하네. 코드를 한번 봐야겠군.
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.
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 *.
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.
iPhone 이나 iPad에서 사진을 골라 사진과 markdown 파일을 만들어 Working Copy를 통해 git repo에 업로드하는 Shortcut을 마련했다.
Shortcut의 원본은 이 블로그(Posting to Hugo from iOS에서 얻었다.
Front formatter만 일부 수정하면 그대로 사용할 수 있을 정도로 내가 기대하는 workflow가 구현이 되어 있었다. 실은 문법도 잘 모르면서 괜히 손을 댔다 제대로 동작 안하게 했다 다시 고치느라 시간만 보냈다는.
이 Shortcut이 하는 일은 위 블로그에도 자세하게 설명되어 있지만(친절한 분…)
넘겨 받은 사진을 가로 1280 픽셀 크기로 조정 블로그 타이틀 입력 사진명을 오늘 날짜-블로그 타이틀로 만든 slug.