Simon의 AI 시대에 살아남는 법

트러블슈팅

트러블슈팅 총 12개의 포스트
IT 시리즈 — 파이썬 __main__ 순환참조 문제 해결기
개발 일지

파이썬 모듈을 여러 파일로 쪼갤 때 만난 __main__ 순환참조 문제

지난 글에서 카카오톡 봇 Iris를 관리자·랭킹·경제·경마·미니게임·경매·AI 등 9개 파일로 나눴다는 이야기를 했습니다. 이번 글은 그 과정에서 실제로 부딪힌, 파이썬을 오래 써도 은근히 잘 모르고 지나가는 함정 하나를 기록합니다. 증상: 봇이 두 번 뜬다 메인 파일 irispy.py를 python3 irispy.py로 직접 실행해서 봇을 띄웠습니다. 문제는 서브 모듈(예: 랭킹 기능 파일)에서 메인의 봇 인스턴스나 DB 헬퍼 함수를 쓰려고 import irispy를 했을 때 발생했습니다. 봇이 두 개가 뜬 것처럼 동작하거나, 초기화 로직이 중복 실행되는 이상한 증상이 나타났습니다.

2026.09.25 07:00 조회수: – 댓글: –
IT 시리즈 — PIL 한글 폰트 문제 해결기
개발 일지

이미지에 한글 텍스트 그릴 때 겪은 폰트 문제와 해결 과정

이 블로그의 글마다 붙어 있는 썸네일 이미지들은 전부 Python의 Pillow(PIL) 라이브러리로 직접 그린 것입니다. 그런데 이 기능을 처음 만들 때, 정작 가장 중요한 한글 텍스트가 화면에 텅 빈 네모 박스로만 나오는 문제를 겪었습니다. 이번 글은 그 원인과 해결 과정입니다. 증상: 글자가 전부 빈 네모로 나온다 썸네일 생성 스크립트를 처음 실행했을 때, 제목이나 카테고리 배지에 들어가야 할 한글 텍스트가 화면에 아예 보이지 않거나 깨진 네모(이른바 “tofu”)로만 표시됐습니다. 처음엔 좌표 계산이 잘못됐나 의심했지만, 텍스트의 bbox(경계 상자)를 찍어보니 높이가 0으로 나오는 경우까지 있어 좌표 문제가 아니라는 걸 알게 됐습니다.

2026.09.20 20:20 조회수: – 댓글: –
IT 시리즈 — apt-get 멈춤 문제를 dpkg 직접 설치로 우회하기
개발 일지

apt-get이 자꾸 멈출 때: GitHub Releases .deb 직접 설치로 우회하기

이 서버를 세팅하면서 가장 자주 반복된 문제 하나를 꼽으라면 단연 apt-get입니다. Hugo, Caddy, 한글 폰트 패키지까지 — 덩치가 좀 있는 패키지를 설치하려 할 때마다 모바일 네트워크 환경에서 다운로드가 멈춘 채로 응답이 없는 상황을 여러 번 겪었습니다. 이번 글은 그 문제를 어떻게 우회했는지 기록입니다. 증상: 멈췄는지 느린 건지 구분이 안 된다 apt-get install -y <패키지>를 실행하면 진행률 표시 없이 그냥 멈춘 것처럼 보이는 경우가 많았습니다. timeout 60으로 감싸서 실행해도 60초 안에 끝나지 않고 그대로 종료(exit code 143)되는 일이 반복됐는데, 재시도해도 같은 패턴이 이어졌습니다. 원인은 명확히 특정하지는 못했지만, 모바일 데이터/와이파이 전환 구간에서 저장소 미러 서버와의 연결이 불안정했던 것으로 추정합니다.

2026.09.20 18:00 조회수: – 댓글: –