근시, 외사시, 그리고 코드: 근시 전문인을 위한 시력 훈련 도구 개발

발행: (2026년 3월 3일 오후 11:41 GMT+9)
8 분 소요
원문: Dev.to

Source: Dev.to

Target audience: 주로 근거리 작업(개발자 등)을 하는 사람들, 근시 또는 기타 눈 초점 관련 문제를 가진 사람들, 혹은 근거리 작업 스트레스와 관계없이 시력을 날카롭게 유지하고자 하는 사람들.

Disclaimer: 다음 텍스트는 어떠한 의료적 주장도 하지 않으며, 눈 근육 운동을 통한 시력 개선 가능성을 전제로 할 뿐입니다.

Introduction

저는 근시(‑4.5 d)입니다. 2023년에 잠들기 전 5–10 분 정도 간단한 눈 운동을 시작했습니다. 그 이후로 시력이 어느 정도 개선되었고, 이를 공유할 가치가 있다고 생각해 러시아어로 된 유튜브 채널을 만들어 경험을 기록했습니다.

그때쯤 정기적인 운동을 통해 눈 근육 감각이 꽤 좋아졌습니다: 눈 근육이 수축하고 이완되는 느낌을 알 수 있었고, 안구 외부 근육 해부학을 자세히 배웠습니다. 이를 바탕으로 근시의 원인에 대한 나만의 정확한 관점을 발전시킬 수 있었습니다. 이는 베이츠 방법의 논리적 연장선입니다.

주류 의견에서는 베이츠 방법이 거짓이라고 하지만, “거친 초점 맞추기는 안구 외부 근육이, 미세 초점 맞추기는 눈 렌즈가 담당한다”는 핵심 아이디어는 저와 경험을 공유한 많은 사람들에게 근시와 기타 초점 문제를 극복하는 데 도움을 주었습니다. 2018년에 안과 학술지에 실린 기사에서 베이츠 이론이 완전히 무가치하지는 않으며, 이에 대한 추가 연구가 필요하다고 주장한 바 있습니다(안타깝게도 현재는 찾을 수 없습니다).

제 경험에 따르면 근시는 눈의 직근 특히 안쪽(코 쪽) 직근이 짧아져서 가까운 물체에 초점을 맞추기 위해 눈이 모아지는 현상으로 발생합니다.

2025년 7월에 저는 스테레오 독서—두 개의 열을 병렬로 보며 텍스트를 읽는 방법—를 시작했으며, 이때 눈은 외사시 상태가 될 정도로 벌어집니다. 외사시는 눈이 평행 정렬을 넘어 서로 멀어지는 상태를 말합니다. 또한 근시인 사람들은 눈을 벌려 의미 있는 외사시를 이루는 능력이 매우 떨어진 반면, 근시가 없는 사람들은 강한 외사시 능력을 가지고 있음을 발견했습니다. 그 이후로 외사시와 스테레오 독서는 제 눈을 훈련시키는 주요 도구가 되었습니다. 독서만으로도 베이츠를 포함한 많은 시력 개선 시스템에서 활용됩니다.

Progress

  • June 2025 – I could read (non‑stereo mode, regular text) 2 mm lowercase letters from a 33 cm distance.
  • December 31 2025 – I could read 7 mm lowercase letters from a 3 m distance.

That is a 2.6× improvement in angular letter size, which also corresponded to a significant improvement in my everyday vision. Since then I have been convinced that eye‑muscle exercises can be a working tool to mitigate eye‑focusing problems such as myopia.

Stereo Reader 웹 앱

2025년 6월에 Stereo Reader web app 를 스테레오 독서를 위한 도구로 시작했습니다. 구현에는 Vue / TypeScript / PWA 를 선택했습니다. 쉬워 보였던 프로젝트가 곧 도전 과제로 변했습니다.

스크린샷

홈 화면

읽기 모드

앱을 눈 훈련 청중에게 공유한 뒤, 많은 전자책 포맷을 지원해야 함이 명확해졌습니다. 특히 텍스트 양이 많은 포맷도 포함됩니다. 또한 글꼴 크기, 텍스트 열 사이 간격, 읽기 영역의 폭 등 읽기 설정을 조정할 때 현재 화면에 보이는 텍스트가 사라지지 않아야 합니다.

레이아웃 엔진

나는 모든 텍스트‑문서 포맷을 단락(간단히 청크 라고 부름) 으로 나누고, 각 청크마다 자체 글꼴 스타일을 지정하는 간단한 의미 체계를 개발했습니다. 줄은 텍스트‑열 너비에 따라 문자 단위로 동적으로 계산됩니다.

JavaScript 벤치마킹불필요한 문자열/배열 할당 방지에 많은 시간을 투자했기 때문에(내 벤치마크 포스트할당 방지 시리즈 참고), 레이아웃 계산이 꽤 빠릅니다. 그러나 Asimov의 Forward the Foundation (≈ 140 k 단어) 같은 거대한 소설을 처리하는 데는 중급 모바일 기기(Snapdragon 720G 기준)에서 300–400 ms가 소요됩니다. 문제는 열 너비에 영향을 주는 설정이 바뀔 때마다 레이아웃을 다시 계산한다는 점입니다. 어쨌든 사용자 경험은 허용 가능한 수준입니다.

가상 스크롤링

레이아웃이 준비되면 가상 스크롤링을 구현하면서 전체 텍스트 컨테이너의 실제 높이를 유지했습니다. 이렇게 하면 텍스트가 하나의 DOM 요소에 로드된 것처럼 네이티브 스크롤링이 작동합니다. 추가 개선 사항으로는 다음을 고려할 수 있습니다:

  • 사용자가 부분 스크롤링과 상호 작용하는 방식을 재고하기.
  • Web Workers를 사용해 텍스트를 병렬 처리하기.

추가 기능

  • 스테레오 이미지 보기.
  • 미니 게임(예: 움직이는 공을 이용해 외사시를 훈련).

여정에 참여하세요

이 프로젝트는 저의 지속적인 평생 여정이 되었으며, 누구든지 참여하길 환영합니다.

  • Website: (문서 포함).
  • Try the app: .
  • YouTube channel: .
  • Telegram channel: .

궁금한 점이 있으면 언제든 질문하고, 경험을 공유하거나, 프로젝트에 기여해 주세요!

질문은 커뮤니티 또는 Telegram 혹은 이메일로 해 주세요.

0 조회
Back to Blog

관련 글

더 보기 »