본문 바로가기
반응형

전체 글35

갑자기 터진 aiomysql ping() 에러: pymysql 업데이트가 깨운 SQLAlchemy 잠복 버그 상황: 코드를 바꾼 적도 없는데 dev 서버가 터졌다평범한 어느 날, dev 서버에서 갑자기 아래 에러가 쏟아지기 시작했다. + Exception Group Traceback (most recent call last): | File ".../site-packages/.../langhelpers.py", line 121, in __exit__ | raise exc_value.with_traceback(exc_tb) | File ".../site-packages/sqlalchemy/pool/base.py", line 1309, in _checkout | result = pool._dialect._do_ping_w_event( | File ".../site-packages/.. 2026. 8. 24.
Cursor Prettier 작동 안함 문제 해결 회사에서 일을 하는데 오늘(2026년 1월 20일) prettier가 cursor에서 적용되지 않는 문제를 발견했습니다. Cursor 내부 설정이 잘못되었나 싶어서 살펴봤지만 따로 설정상의 문제는 없어보였습니다. 그래서 cursor의 extension output을 확인해보니 아래와 같은 에러가 나고 있었습니다. 로그를 보니 prettier extension에서 vscode 패키지를 import 해오지 못하는 문제가 생기고 있었습니다.그래서 찾아보니 원인은 cursor가 esm extension을 지원하지 않기 때문이었습니다. 3일 전 prettier 버전이 12.0.x 버전으로 업데이트 되면서 esm extension을 사용하도록 수정되었고 그래서 prettier가 정상 동작하지 않는 이슈가 발생한겁니.. 2026. 1. 20.
빅엔디안과 리틀 엔디안 메모리에 데이터를 저장하는 방식에는 빅 엔디안(Big Endian)과 리틀 엔디안(Little Endian) 방식이 있습니다. 실제 메모리에 있는 hex 값을 보거나 메모리에 있는 값을 직접 조작해야 하는 경우 각 방식을 알고 있어야 원하는 동작을 할 수 있으므로 한 번 자세히 알아보도록 하겠습니다. hex value가 아래와 같은 4byte 데이터가 있다고 생각해 봅시다.0x12345678첫 번째 바이트: 12두 번째 바이트: 34세 번째 바이트: 56네 번째 바이트: 78이때 각 바이트를 어떤 순서로 메모리 상에 저장하는가에 따라 빅 엔디안과 리틀 엔디안 방식으로 나뉩니다.빅 엔디안과 리틀 엔디안에서 데이터를 저장하는 순서빅 엔디안 방식에서는 아래와 같이 자릿수가 더 높은 데이터를 더 낮은 메모리 주.. 2026. 1. 17.
[CRC] Cyclic Redundancy Check: 데이터 전송 오류 검출 코드 CRC(Cyclic Redundancy Check)이란 디지털 데이터의 무결성을 확인하고, 전송 또는 저장 과정에서 발생할 수 있는 우발적인(고의적이지 않은) 오류를 탐지하기 위해 사용되는 에러 탐지 코드입니다. 네트워크 통신 시 패킷의 무결성 확인, HDD나 SSD, RAM에서 데이터를 읽고 쓸 때의 무결성 확인 등에 사용됩니다.데이터를 전송하기 전 특정 규칙에 따라 주어진 데이터로 CRC 값을 계산해 데이터에 붙여서 전송합니다. 데이터를 전송받은 측은 받은 데이터로 CRC 값을 다시 계산해서 전송받은 CRC 값과 데이터로 다시 계산한 CRC값이 같다면 오류가 없다 판단을 하고 값이 다르다면 데이터 전송 과정에서 noise가 생겨 오류가 발생한 것으로 판단합니다.이러한 계산 과정이 이진법 기반의 하드웨.. 2025. 7. 21.
[Unix 시스템 콜] sendfile API sendfile API란 Linux 및 다른 Unix 운영체제에서 파일을 소켓으로 직접 전송하여 데이터 복사 및 시스템 호출 오버헤드를 줄이는 데 사용되는 효율적인 데이터 전송 API 입니다.sendfile API를 사용하지 않고 일반적인 방법으로 데이터를 전송하는 경우 아래의 과정을 거치게 됩니다.운영체제가 저장 매체상의 파일을 읽어 운영체제의 read buffer로 데이터를 읽어옵니다.Read buffer의 데이터를 애플리케이션 buffer로 복사합니다.애플리케이션 buffer를 다른 커널의 socket buffer로 복사합니다.운영체제는 socket buffer의 데이터를 NIC의 buffer에 복사해 데이터를 네트워크를 통해 전송합니다.이 과정을 보면 총 4번의 데이터 복사와 2번의 시스템 콜(이.. 2025. 7. 20.
AI 하드웨어 및 소프트웨어 추상화 마스터: 전산학부 졸업생을 위한 종합 로드맵 AI의 영향력이 갈수록 커지는 현재와 미래 사회에서, 그 기반이 되는 AI 하드웨어와 이를 효율적으로 활용할 수 있는 소프트웨어 추상화의 중요성은 더욱 증대될 것입니다. 저는 관련된 부분에 대해서 깊이있는 공부를 해야겠다는 생각을 했습니다. 하지만 어떤 식으로 공부를 시작해야 하고 어떤 로드맵을 따라서 공부를 시작해야할 지 막막한 상황이었습니다. 그래서 요즘 Gemini Deep Research의 성능이 굉장히 좋다는 소리를 듣고 AI에게 로드맵을 짜달라고 부탁했습니다. 그랬더니 굉장히 괜찮은 한 편의 보고서를 AI가 작성해 줬습니다. 해당 내용을 나 혼자만 볼 것이 아니라 다른 사람들도 보면 좋겠다는 생각이 들어 Deep Research가 써준 보고서를 공유합니다.중간중간 문장마다 숫자가 등장하는데 이.. 2025. 7. 15.
반응형