Rust vs RSI: 내가 손가락으로 하루에 500kg을 들어올린다고 계산한 방법
Source: Dev.to
코딩의 보이지 않는 노동 시각화
나는 Rust와 Tauri v2를 사용해 데스크톱 위젯을 만들었다. 코딩할 때 손가락으로 들어올리는 “무게”를 보여주기 위해서다.
The math
- 표준 기계식 스위치 작동 힘: 80 g per keystroke
- 대략적인 일일 타이핑 횟수 → ~500 kg of force per day (about 1.7 grand pianos)
즉, 우리는 손가락만으로 매주 차 한 대를 들어올리는 셈이다—손목이 아프기 시작하는 것도 당연하다.
Technical Decision
나는 rdev 크레이트를 사용한 저수준 입력 훅을 고려했지만, 대신 polling strategy(키 상태를 50 ms마다 확인)로 진행했다.
Why polling?
- Stability – 훅이 제대로 동작하지 않으면 입력 체인이 깨질 수 있는데, 폴링은 격리된 환경에서 실행된다.
- Permission Hell – macOS에서는 훅을 사용하려면 침해적인 “Input Monitoring” 권한이 필요하다. 폴링은 이러한 마찰을 크게 회피한다.
- Privacy – 위젯은 “무게”를 계산하기 위해 키가 눌렸는지만 알면 되고, 어떤 키인지는 알 필요가 없다.
이러한 트레이드‑오프는 나노초 수준의 정밀도를 포기하고, 견고한 안정성을 얻는 것이다.
Implementation Highlights
- “Health Bar”가 타이핑할 때마다 감소하며, 코딩 에너지를 비디오 게임의 HP처럼 취급한다.
- 위젯은 로컬에서 실행되며, 클라우드로 데이터가 전송되지 않는다.
Try It Yourself
도구를 다운로드하고 실행해 보세요:
무료이며 완전히 로컬 머신에서만 동작합니다.
Discussion
코딩으로 인해 RSI를 겪어본 적이 있나요? 여러분의 생각과 경험을 듣고 싶습니다.