GN⁺: Golang을 사용하여 나를 살아있게 하는 방법
(bytesizego.com)골랭(Golang)을 사용하여 나를 살아있게 하는 방법
- 골랭(Golang)을 활용하여 복잡한 의료 상태를 관리하는 방법에 대한 블로그 포스팅.
- 타입 1 당뇨병을 진단받은 저자가 인슐린 주입량을 계산하고 혈당을 모니터링하는 과정을 설명함.
- 혈당 모니터링 기기인 '리브레(Libre)'를 사용하고, 이를 통해 혈당 수치를 스마트폰으로 확인할 수 있음.
타입 1 당뇨병 간략 설명
- 타입 1 당뇨병은 자가면역 질환으로 췌장이 인슐린을 거의 또는 전혀 생산하지 못함.
- 인슐린은 탄수화물을 에너지로 전환하는 데 필수적인 호르몬으로, 인슐린 주사를 통해 보충해야 함.
- 타입 1 당뇨병은 생활 방식과 관련이 없으며, 현재까지 치료법이 없음.
사건 관리로의 잠깐의 여정
- 저자는 클라우드플레어(Cloudflare)에서 엔지니어링 매니저로 근무하며, 사건 관리 프로세스를 담당함.
- 프로메테우스(Prometheus), 그라파나(Grafana), 알럿매니저(Alertmanager), 페이저듀티(PagerDuty) 등의 도구를 사용하여 사건을 감지하고 관리함.
- 사건 관리자는 문제 해결을 위해 회사 내 다른 사람들을 적극적으로 동원할 수 있음.
타입 1 사건 관리
- 혈당 모니터링 기기가 닫힌 소스이며 API나 SDK를 제공하지 않아 데이터를 추출하는 데 어려움이 있음.
- '미아오미아오(Miao Miao)'라는 장치를 발견하여 '리브레' 기기 위에 장착하고, '토마토(Tomato)' 앱을 통해 혈당 데이터를 2분마다 전송함.
- 구글 캘린더를 통해 애플 워치에서 혈당 수치를 볼 수 있는 기능도 발견함.
엔지니어링 솔루션
- 골랭(Go)을 사용하여 간단한 에코 서버를 작성하고, 이를 통해 혈당 데이터를 받아 처리함.
- 혈당 데이터를 게이지 메트릭으로 설정하고, 그라파나 대시보드를 통해 실시간으로 혈당 수치를 모니터링함.
- 텔레그램 챗봇을 구축하여 혈당 그래프에 주석을 추가할 수 있게 함.
경고 설정
- 혈당 수치가 특정 수준 이하로 떨어질 경우 경고를 발생시키는 크론 작업을 작성함.
- 인시던트.io를 사용하여 경고 시스템을 구축하고, 필요한 경우 에스컬레이션 정책을 설정함.
다음 단계
- 자동으로 사건을 종결하는 기능, 데이터베이스에 저장된 혈당 데이터 분석, 추가 그래프 및 측정치 추가 등의 기능을 계획 중이거나 이미 구현함.
GN⁺의 의견
- 이 기사는 타입 1 당뇨병 환자가 자신의 상태를 관리하기 위해 기술을 활용하는 방법을 보여줌으로써, 기술이 어떻게 개인의 삶의 질을 향상시킬 수 있는지를 잘 보여줌.
- 저자는 자신의 의료 상태를 관리하기 위해 클라우드플레어에서 사용하는 사건 관리 기술을 개인적인 문제 해결에 적용함으로써, 기술적 해결책이 얼마나 창의적으로 사용될 수 있는지를 보여줌.
- 혈당 모니터링과 관련하여, 이미 시장에는 다양한 웨어러블 기기와 앱이 존재하지만, 저자가 개발한 시스템은 개인 맞춤형 솔루션으로서의 잠재력을 갖고 있음.
- 이 기술을 도입할 때는 개인의 의료 데이터 보안과 개인정보 보호가 중요한 고려 사항이 될 것임.
- 타입 1 당뇨병 환자들에게 이 기사는 자신의 상태를 관리하는 데 있어서 새로운 관점과 가능성을 제시함으로써 흥미를 끌 수 있음.
Hacker News 의견
- 댓글 작성자는 글쓴이의 글쓰기 스타일이 멋지고 읽는 것이 즐거웠음을 전하며, 자신이 침투 테스트(pentesting) 분야에서 일하고 있고, 동료 중에 1형 당뇨병을 앓고 있는 사람이 있어 글쓴이의 당뇨병에 대한 설명을 통해 동료가 매일 마주하는 도전을 이해하게 되었다고 함. 또한, 작성자는 6개월 전에 수면무호흡증(OSA) 진단을 받았고, 잠을 잘 때 기도 폐쇄를 방지하기 위해 일정 압력의 공기를 공급하는 기계(CPAP)를 사용해야 한다고 언급함. 이 기계는 1형 당뇨병만큼 중요하지는 않지만 예상보다 많은 데이터를 기록한다고 함. 작성자는 OSA를 위한 유사한 모니터링 장치나 더 심각한 경우를 위한 장치가 있는지 궁금해함.
- 또 다른 댓글 작성자는 자신도 1형 당뇨병 환자로서, 자신의 혈당 데이터를 터미널의 상태 아이콘으로 표시하는 tmux 플러그인을 만들었다고 함. Dexcom CGM을 사용하고 있으며, 다른 장치에도 적용할 수 있도록 확장하고 싶어함. 관심이 있다면 확인해보라고 제안함.
- 한 댓글 작성자는 GopherConSG에서 이야기를 나눈 Matt에 대해 언급하며, 데이터 소유권이 복잡한 문제라는 것을 깨달았다고 함. 데이터 제공업체(혈당 모니터링 회사)의 법적 책임이 많기 때문에 대기업들이 데이터를 공개하는 데 주저하는 것을 이해할 수 있다고 함. 반면 사용자가 자신의 데이터에 접근하지 못하는 것은 부당하다고 느낌.
- 다른 댓글에서는 글쓴이가 오픈 소스 소프트웨어(Nightscout, xDrip 등)를 탐구하지 않은 이유에 대해 질문함. 이러한 문제들은 새로운 것이 아니며, 많은 사람들이 이미 더 많은 기능을 갖춘 솔루션으로 해결했다고 언급함.
- 댓글 중 하나는 자신의 에코 서버를 작성하고 요청을 한 번에 하나씩 디버깅하는 대신 requestbin을 사용하는 것이 좋은 대안이라고 제안함. requestbin은 받은 모든 요청을 기록하고 선택한 응답을 반환할 수 있음.
- 한 댓글 작성자는 기술을 사용하여 건강 문제를 추적하는 것이 자신에게 힘이 되었다고 말하며, 인슐린 펌프에 대한 생각을 물음. 당뇨병이 없는 사람에게는 명확하지 않은 인슐린 펌프의 제한이나 단점이 있는지 궁금해함.
- 댓글 중 하나는 2023년 영국에서 열린 Open Data Camp에서 1형 당뇨병을 앓고 있는 참석자 두 명이 데이터 관점에서 많은 장치들이 얼마나 폐쇄적인지에 대해 이야기한 것에 대해 언급함. 특히 자신의 건강 데이터를 수집하는 장치들이라면 더욱 안타까움을 표함. CGM 장치들이 NHS에서 무료로 제공되며, 스마트폰 앱이 동반되어 있어 API를 역공학하여 원시 데이터에 접근할 수 있을 것으로 가정함. Dexcom은 API를 제공하지만 미국에 위치한 경우에만 작동함.
- Scott Hanselman이 여러 해 동안 1형 당뇨병과 관련된 다양한 기술 해킹에 대해 블로그와 유튜브에 게시했다는 내용의 댓글이 있음. 그는 혈당 수치를 터미널 프롬프트에 표시하도록 해킹한 적이 있음.
- 마지막 댓글에서는 글쓴이가 Dexcom과 같은 CGM(연속 혈당 모니터링) 장치에 대해 알아보라고 제안함. 작성자의 아내도 30년 동안 1형 당뇨병을 앓고 있으며, Dexcom CGM이 많은 문제를 개선해준다고 언급함.