분류 전체보기 2

마땅히 알아야할 것들 : Python이 느리고, CPU bound 작업에서 멀티스레드가 무력화되는 이유

이번 사내 PDF 마스킹 작업을 통해 새벽까지 머리 깨지면서 버그 픽스와 리팩토링을 진행하였습니다.그러면서 피상적으로 알았던 어플리케이션과 쓰레드, 프로세스와의 관계, 또 힘들게 힘들게 공부했었던 컴퓨터구조와 같은 CS 지식이 실제적이고, 마땅히 개발자로서 알아야하는 것이라는 생각이 들었습니다. 요즘 누구나 AI를 통해 딸깍해서 개발하는 시대에역으로 가는 것 같지만 깊은 지식으로 개발자로서 차별성을 두기 위해 아래로 깊게 파는 공부를 진행해보려고 합니다.(물론 저에게는 조금 깊어졌지만 누군가에게는 무릎 밖에 안오는 높이일 수도 있습니다!) 또, 42서울에서 배웠던 이 밑단까지 까보는 이러한 재미가 보통 재밌는게 아닌 것도 같습니다. 물론 긴 고뇌의 시간과 시행착오들이 있겠지만 한번 진행해보려고 합니다...

CS 2026.03.30

Celery 태스크가 50% 확률로 사라지는 미스터리 (18시간의 삽질기)

"어씨? 뭐야? 왜 똑같이했는데 어떨 때는 되고, 어떨 때는 안되지?"이런 상황은 정말 개발자에게는 최악인 것 같습니다 ㅎㅎ확실히 실패하면 원인을 찾기라도 하는데, 50% 확률이면 모든 가설이 맞는 것 같기도 하고 틀린 것 같기도 합니다. 이번에 이러한 상황이 한번 발생하였고, 18시간이 걸리고, 8번의 시도가 있었습니다. 이에 대해 제 스스로도 공부하고, 공유하려고 작성합니다. (틀린 부분이나 발전하면 좋을 것들은 언제든지 댓글로 남겨주세요!)시스템 구조저희 팀에서 사내 Django 기반 백엔드를 운영 중입니다. 이 백엔드는 백그라운드 작업 처리에 Celery를 쓰고 있습니다.핵심 구조는 다음과 같습니다. 메인 Celery (Redis 기반)- 월간 리포트 생성, PDF 마스킹, 작업 초과 알림 등 모..

CS 2026.03.24