Bionic-Reading NPM module
๐Ÿ“„

Bionic-Reading NPM module

Created
May 30, 2022 06:10 AM
Tags
monorepo
ts
npm

Introduce

Bionic-Reading์ด๋ž€ ๊ฐ€๋…์„ฑ์„ ํ–ฅ์ƒ์‹œํ‚ค๋Š” ๊ธฐ๋ฒ• ์ค‘ ํ•˜๋‚˜๋กœ, Fixation Point์™€ Saccade ๋ผ๋Š” ๊ฒƒ์„ ์ด์šฉํ•ด ๋‹จ์–ด์˜ ์ผ๋ถ€๋ถ„์— Highlight ํ•˜๋Š” ๋ฐฉ์‹์ด๋‹ค.
ย 
notion image
ย 
์ฐจ์ด์ ์ด ๋Š๊ปด์ง€๋Š”๊ฐ€?
๋ฉฐ์น  ์ „ ๋‚˜๋Š” HN์—์„œ ์ด์— ๋Œ€ํ•œ ๊ฒŒ์‹œ๊ธ€์„ ๋ณด๊ณ  NPM ๋ชจ๋“ˆ๋กœ๋„ ์ œ๊ณต๋˜๋ฉด ์ข‹์„ ๊ฒƒ์ด๋ผ ์ƒ๊ฐํ–ˆ์—ˆ๊ณ , ๊ธฐ์กด์˜ ๋ช‡๋ช‡ ํŒจํ‚ค์ง€๋“ค์ด ์ด๋ฅผ ์ œ๋Œ€๋กœ ์ง€์›ํ•˜์ง€ ๋ชปํ•˜๊ณ  ์žˆ๋‹ค๋Š” ํŒ๋‹จ์ด ๋“ค์ž๋งˆ์ž ๋ฐ”๋กœ ์ž‘์—…์„ ์‹œ์ž‘ํ–ˆ๋‹ค.

Text-Vide

notion image
ย 
ย 
๊ทธ๊ฒƒ์ด ๋ฐ”๋กœ Text-Vide.
์ฐธ๊ณ ๋กœ ์ด๋ฆ„์€ ํŠนํ—ˆ ์ด์Šˆ๋กœ ์ธํ•ด Bionic-Reading์—์„œ Text-Vide ๋ผ๋Š” ์ด๋ฆ„์œผ๋กœ ํ•œ ์ฐจ๋ก€ ๋ณ€๊ฒฝ๋œ ๊ฒƒ์ด๋‹ค.
ย 
ํ™๋ณด๋Š” ๋ ˆ๋”ง๊ณผ ํ•ด์ปค๋‰ด์Šค๋ฅผ ์ด์šฉํ–ˆ๋‹ค.
ย 
notion image
notion image
ย 
ํ•ด์ปค๋‰ด์Šค์—์„œ๋Š” ๋”ฑํžˆ ์ข‹์€ ๋ฐ˜์‘์„ ์ด๋Œ์–ด๋‚ด์ง€ ๋ชปํ–ˆ์œผ๋‚˜โ€ฆ ๋ ˆ๋”ง์—์„œ๋Š” ์˜์™ธ๋กœ ๋ฐ˜์‘์ด ๋งŽ์•„์„œ ๋†€๋ž๋‹ค. ํ”ผ๋“œ๋ฐฑ๋„ ์ ์ž–์ด ๋“ค์–ด์™€์„œ ํ•œ๋™์•ˆ ๋ฒˆ์—ญ๊ธฐ์™€ ๊ทธ๋ž˜๋จธ๋ฆฌ์˜ ๋„์›€์ด ๋งŽ์ด ํ•„์š”ํ–ˆ์—ˆ๋‹ค.

๊ฐœ๋ฐœ ๊ด€๋ จ

์ด์ „์— ์ž ๊น ๋ฐฐ์›Œ๋’€๋˜ Turborepo๋ฅผ ์ด์šฉํ•ด ๋ชจ๋…ธ๋ฆฌํฌ(Monorepo)๋กœ ํ”„๋กœ์ ํŠธ๋ฅผ ๊ตฌ์„ฑํ•ด ์ง„ํ–‰ํ•ด๋ดค๋‹ค. Yarn2 Workspaces๋‚˜ Lerna ๋•Œ์™€๋Š” ๋‹ฌ๋ฆฌ ํ”„๋กœ์ ํŠธ ๊ตฌ์„ฑ์ด ๋งค์šฐ ๊ฐ„๊ฒฐํ•ด ์ข‹์•˜๋‹ค. ๋•๋ถ„์— ๋น ๋ฅด๊ฒŒ ํ”„๋กœ์ ํŠธ๋ฅผ ์‹œ์ž‘ํ•  ์ˆ˜ ์žˆ์—ˆ๋‹ค. (๋ชจ๋…ธ๋ฆฌํฌ๊ฐ€ ๋ฌด์—‡์ธ์ง€ ๊ถ๊ธˆํ•˜๋‹ค๋ฉด ์ด ๋งํฌ ์ฐธ๊ณ )
ย 
Standard-Version ํŒจํ‚ค์ง€๋ฅผ ์ด์šฉํ•ด ๋ฒ„์ „ ๋ฐ ๋ณ€๊ฒฝ ์‚ฌํ•ญ ๋ฌธ์„œ๋ฅผ ๊ด€๋ฆฌํ–ˆ๊ธฐ์— ์ด์ชฝ์— ํฌ๊ฒŒ ์‹ ๊ฒฝ์“ฐ์ง€ ์•Š์•„๋„ ๋์—ˆ๋‹ค. ์ •๋ง ํŽธํ–ˆ๋‹ค.

์ด์Šˆ

actions/cache@v3 Caching Issue

fix: fix actions/cache key
ย 
์›๋ž˜๋Š” ์•„๋ž˜์™€ ๊ฐ™์ด actions/cache Step์„ ๊ตฌ์„ฑํ–ˆ์—ˆ๋‹ค.
ย 
- uses: actions/cache@v3 id: pnpm-cache with: path: node_modules key: # ... restore-keys: # ...
ย 
๊ทธ๋Ÿฐ๋ฐ ์‹ค์ œ๋กœ action์„ ๋Œ๋ ค๋ณด๋‹ˆ failed๊ฐ€ ๋ฐœ์ƒ๋˜๋Š” ๊ฒƒ ์•„๋‹Œ๊ฐ€?
ย 
notion image
ย 
์ž ์‹œ ํ˜„์žฌ ํ”„๋กœ์ ํŠธ์˜ ๊ตฌ์กฐ๋ฅผ ๋ณด์ž๋ฉดโ€ฆ ์•„๋ž˜์™€ ๊ฐ™๋‹ค.
ย 
. โ””โ”€โ”€ node_modules/ โ””โ”€โ”€ packages/ โ”œโ”€โ”€ utils/ โ”‚ โ””โ”€โ”€ node_modules/ โ”œโ”€โ”€ tsconfig/ โ”‚ โ””โ”€โ”€ node_modules/ โ””โ”€โ”€ text-vide/ โ””โ”€โ”€ node_modules/
flowchart LR package/tsconfig --> TV[package/text-vide] package/utils --> TV TV --> NPM{{"Deploying package to NPM"}}
ย 
์—ฌ๊ธฐ์„œ package/tsconfig ํŒจํ‚ค์ง€๊ฐ€ ์„ค์น˜๋˜์–ด ์žˆ์ง€ ์•Š์•˜๋‹ค๋Š” ๋ง.
ย 
์ƒ๊ฐํ•ด๋ณด๋‹ˆ root์˜ node_modules ๋””๋ ‰ํ„ฐ๋ฆฌ๋งŒ path๋งŒ ํฌํ•จํ–ˆ์„ ๋ฟ, ํ•˜์œ„์˜ node_modules ๋Š” ์ „ํ˜€ ์ƒ๊ฐํ•˜์ง€ ๋ชปํ•˜๊ณ  ์žˆ์—ˆ๋‹ค. ๊ทธ๋ž˜์„œ ์•„๋ž˜์™€ ๊ฐ™์ด ์ˆ˜์ •ํ•ด์ฃผ์—ˆ๊ณ โ€ฆ ์ง€๊ธˆ์€ ์ž˜ ๋™์ž‘ํ•œ๋‹ค.
ย 
- uses: actions/cache@v3 id: pnpm-cache with: # path: node_modules <-- ์ด๊ฒŒ ๋ฌธ์ œ path: | **/node_modules key: # ... restore-keys: # ...
ย 
๋ชจ๋…ธ๋ฆฌํฌ ํ”„๋กœ์ ํŠธ๋ฅผ ์ฒ˜์Œ ์ง„ํ–‰ํ•ด๋ด์„œ ์ƒ๊ฒผ๋˜ ์ด์Šˆ๋ผ๊ณ  ์ƒ๊ฐ๋œ๋‹ค.

Bionic-Reading Legal Issue

Bionic Readingยฎ Legal Stuff
Updated Jun 4, 2022
chore: rename package bionic-reading to text-vide (#31)
ย 
Bionic-Reading ์ด๋ผ๋Š” ์ด๋ฆ„์€ ์‚ฌ์‹ค ํŠนํ—ˆ๊ฐ€ ์ด๋ฏธ ๋“ฑ๋ก๋˜์–ด ์žˆ์—ˆ๋‹ค. ๋ฌผ๋ก  ์ด๋ฅผ ์‚ฌ์ „์— ์ธ์ง€ํ•˜๊ณ ๋Š” ์žˆ์—ˆ์œผ๋‚˜โ€ฆ ๋„ˆ๋ฌด ์•ˆ์ดํ•˜๊ฒŒ ์žˆ์—ˆ๋˜ ๊ฒƒ ๊ฐ™์•˜๋‹ค.
ย 
์ €๋Ÿฐ ๋ฉ”์ผ์ด ํŠน์ • ์‚ฌ์šฉ์ž์—๊ฒŒ ์ „๋‹ฌ๋˜์—ˆ๋‹ค๋Š” ๊ฒƒ์„ ์ด์Šˆ๋ฅผ ํ†ตํ•ด ์ „๋‹ฌ๋ฐ›๊ฒŒ ๋˜์—ˆ๊ณ , ๋‚˜๋ฅผ ํฌํ•จํ•œ ๋Œ€๋ถ€๋ถ„์˜ ์˜คํ”ˆ์†Œ์Šค ํ”„๋กœ์ ํŠธ๋“ค์ด Bionic-Reading ์ด๋ผ๋Š” ์ด๋ฆ„์„ ์ž์‹ ์˜ ํ”„๋กœ์ ํŠธ์—์„œ ์ œ๊ฑฐํ–ˆ๋‹ค.
ย 
NPM ๋‹ค์šด๋กœ๋“œ ์ˆซ์ž๊ฐ€ ์•„์‰ฌ์› ์ง€๋งŒ ๋งŒ์— ํ•˜๋‚˜๋ผ๋„ ๋ฒ•์ ์ธ ๋ฌธ์ œ์— ํœ˜๋ง๋ฆฌ๊ณ  ์‹ถ์ง€๋Š” ์•Š์•„ ๋ฐ”๋กœ ์ด๋ฆ„์„ ๋ฐ”๊พธ์–ด์คฌ๋‹ค.

Inefficient Algorithms

Feature/26 (#30)
ย 
๊ธฐ์กด์—๋Š” Bionic-Reading API๋ฅผ ์™„๋ฒฝํ•˜๊ฒŒ ๊ตฌํ˜„ํ•˜๊ธฐ ์œ„ํ•ด ์กฐ๊ธˆ ๋งŽ์ด ๋น„ํšจ์œจ์ ์ธ ์•Œ๊ณ ๋ฆฌ์ฆ˜์„ ์ฑ„ํƒํ–ˆ์—ˆ๋‹ค.
ํ•œ ๋ฒˆ์— RegExp๋กœ ๋‚˜๋ˆ„์ง€ ์•Š๊ณ  ๋“ค์–ด์˜จ ํ…์ŠคํŠธ๋ฅผ ์ผ์ผ์ด ๋‹จ์–ด๋กœ ๋ถ„๋ฆฌํ•œ ๋‹ค์Œ, ๋ถ„๋ฆฌ๋œ ๋ชจ๋“  ๋‹จ์–ด์— ๋Œ€ํ•ด ์ผ์ผ์ด Regexing์„ ์ˆ˜ํ–‰ํ•˜๋Š”โ€ฆ ๋“ฃ๊ธฐ๋งŒ ํ•ด๋„ ์ •๋ง ๋น„ํšจ์œจ์ ์ธ ์•Œ๊ณ ๋ฆฌ์ฆ˜์ด์—ˆ๋‹ค.
ย 
์ดํ›„โ€ฆ ํ”ผ๋“œ๋ฐฑ์„ ๋ฐ›๋‹ค๋ณด๋‹ˆ ๊ตณ์ด ๊ทธ๋Ÿด ํ•„์š”๊ฐ€ ์—†์—ˆ๋‹ค๋Š” ์ƒ๊ฐ์ด ๋“ค์—ˆ๊ณ , ํ•œ ๋ฒˆ์— Regexing์„ ์ˆ˜ํ–‰ํ•˜๋„๋ก ๋กœ์ง์„ ์ข€ ๋ฐ”๊ฟจ๋‹ค. ๋•๋ถ„์— ์ž‘์„ฑํ•ด๋’€๋˜ โ€œHow was this madeโ€ ๋ฌธ์„œ๋ฅผ ์ข€ ์ˆ˜์ •ํ•ด์ค˜์•ผ ํ•˜๊ธด ํ–ˆ์ง€๋งŒ ๊ฒฐ๊ณผ์ ์œผ๋กœ ๋” ๋‚˜์€ ๋ฐฉ์‹์ด ๋œ ๊ฒƒ์ด๋ผ ์ƒ๊ฐํ•œ๋‹ค. ๋ฒˆ๋“ค ํฌ๊ธฐ๋„ ์ค„์–ด๋“ค์—ˆ๊ณ .

๊ทธ ์™ธ

์ฒซ ํ•ด์™ธ ํ™๋ณด

์˜คํ”ˆ์†Œ์Šค ํ”„๋กœ์ ํŠธ๋ฅผ ๋งŽ์ด ํ•œ ๊ฒƒ์€ ์•„๋‹ˆ์ง€๋งŒโ€ฆ ์˜์–ด๋ผ๋Š” ์žฅ๋ฒฝ์œผ๋กœ ์ธํ•ด์„œ์ผ๊นŒ? ์–ด์ฉŒ๋‹ค๋ณด๋‹ˆ ์ง€๊ธˆ๊นŒ์ง€๋Š” ๊ตญ๋‚ด๋งŒ์„ ํƒ€๊นƒ์œผ๋กœ ํ”„๋กœ์ ํŠธ๋ฅผ ์ง„ํ–‰ํ–ˆ์—ˆ๋‹ค. ํ™๋ณด๋„ ๊ตญ๋‚ด๋ฅผ ๋Œ€์ƒ์œผ๋กœ๋งŒ ์ˆ˜ํ–‰ํ–ˆ์—ˆ๊ณ .
ย 
๊ทธ๋ž˜์„œ ์ด๋ฒˆ์—” ํ•ด์™ธ๋ฅผ ํƒ€๊นƒ์œผ๋กœ ํ”„๋กœ์ ํŠธ์™€ ํ™๋ณด๋ฅผ ์ง„ํ–‰ํ•ด๋ดค๋‹ค. ์—ญ์‹œ ์‚ฌ๋žŒ์ด ๋” ๋งŽ์•„์„œ์ผ๊นŒ ๊ทธ๋งŒํผ ๋ฐ”์ด๋Ÿด์ด ๋” ์ผ์—ˆ๋˜ ๊ฒƒ ๊ฐ™๋‹ค. ํ”ผ๋“œ๋ฐฑ๋„ ๋งŽ์•˜๊ณ . ์˜์–ด๋Š” ๋ญโ€ฆ ๋ฒˆ์—ญ๊ธฐ์™€ ๊ทธ๋ž˜๋จธ๋ฆฌ๋กœ๋„ ์ถฉ๋ถ„ํžˆ ์ปค๋ฒ„๊ฐ€ ๊ฐ€๋Šฅํ•œ ๊ฒƒ ๊ฐ™๋‹ค. ๊ณ„์† ํ•ด์™ธ๋ฅผ ํƒ€๊นƒ์œผ๋กœ ํ™๋ณด๋ฅผ ํ•ด๋ด์•ผ๊ฒ ๋‹ค.

(์†Œ์ค‘ํ•œ) ๋ถ€์ •์  ํ”ผ๋“œ๋ฐฑ๋“ค

ํ”„๋กœ์ ํŠธ ๊ตฌ์กฐ๊ฐ€ ๋„ˆ๋ฌด ๋ณต์žกํ•˜๋‹ค๋Š” ํ”ผ๋“œ๋ฐฑ์ด ์žˆ์—ˆ๋‹ค. ์ถฉ๋ถ„ํžˆ ์‰ฝ๊ฒŒ ๊ตฌํ˜„ํ•  ์ˆ˜ ์žˆ๋Š”๋ฐ ๋ฉ€๋ฆฌ ๋Œ์•„๊ฐ€๊ธฐ์— ๋‹ค๋ฅธ ์‚ฌ๋žŒ์ด ํ”„๋กœ์ ํŠธ์— ๊ธฐ์—ฌํ•  ์ˆ˜ ์—†๋‹ค๋Š” ๋Œ“๊ธ€. ์•„๋งˆ ๋ชจ๋…ธ๋ฆฌํฌ ๊ตฌ์กฐ๋กœ ์ธํ•ด ๊ทธ๋Ÿด ๊ฒƒ์ด๋ผ ์ƒ๊ฐํ•œ๋‹ค. ์ด๋Š” ๋‹ค์Œ ํ™๋ณด ์ „ CONTRIBUTING ๋ฌธ์„œ๋ฅผ ํ•˜๋‚˜ ์ž‘์„ฑํ•ด์„œ๋ผ๋„ ํ•ด๊ฒฐํ•ด์•ผ ํ•  ๊ฒƒ ๊ฐ™๋‹ค.
ย 
Bionic-Reading์˜ ํšจ์šฉ์„ ๋Š๋ผ์ง€ ๋ชปํ•˜๊ฒ ๋‹ค๋Š” ๋Œ“๊ธ€๋„ ์žˆ์—ˆ๋‹ค. ๋ฌผ๋ก  ์ด๊ฑด ๋‚ด๊ฐ€ ๋งŒ๋“ ๊ฒŒ ์•„๋‹ˆ๋ผ์„œโ€ฆ ํ•œ๊ณ„๊ฐ€ ์žˆ๋‹ค๋Š” ๋‹ต๋ณ€์„ ํ•ด์ฃผ๊ธด ํ–ˆ๋Š”๋ฐ ์ด์— ๋Œ€ํ•œ ๋‹ต์„ ์ผ์ผ์ด ํ™๋ณด ์‹œ๋งˆ๋‹ค ํ•ด์ฃผ๊ธฐ๊ฐ€ ์–ด๋ ต๊ธฐ์— README ํ•œ ์ผ ์— ์ ์–ด๋‘ฌ์•ผ๊ฒ ๋‹ค๋Š” ์ƒ๊ฐ์ด ๋“ค์—ˆ๋‹ค.

Bionic-Reading๊ณผ ์œ ์‚ฌํ•œ ๊ธฐ๋ฒ•๋“ค

๋‚˜๋Š” ์ด๋ฒˆ์— Bionic-Reading๊ณผ ๊ฐ™์€ ๊ธฐ๋ฒ•์œผ๋กœ ๊ฐ€๋…์„ฑ์„ ํ–ฅ์ƒ์‹œํ‚ฌ ์ˆ˜ ์žˆ๋‹ค๋Š” ๊ฒƒ์„ ์ฒ˜์Œ ์•Œ์•˜๋‹ค. ๊ทธ ์ „ ๊นŒ์ง€๋Š” ๋‹จ์ˆœํžˆ ๋ฌธ์žฅ์˜ ๊ตฌ์กฐ๋‚˜ ๋ฌธ๋‹จ์„ ์–ธ์ œ ๋‚˜๋ˆ„๋Š”์ง€์™€ ๊ฐ™์€ ๋ฐฉ์‹์„ ์ด์šฉํ•ด์•ผ ํ•œ๋‹ค๊ณ ๋งŒ ์ƒ๊ฐํ–ˆ๋Š”๋ฐ, ์ „ํ˜€ ๋‹ค๋ฅธ ๊ธฐ๋ฒ•์ด ์žˆ์—ˆ๋˜ ๊ฒƒ์ด๋‹ค.
ย 
๋‹ค๋งŒ ์ด๋Ÿฐ๊ฒŒ Bionic-Reading์ด ์ฒซ ๋ฒˆ์งธ๋Š” ์•„๋‹ˆ๋ผ๊ณ  ํ•œ๋‹ค. ์•„๋ž˜ ๊ด€๋ จ ๋งํฌ๋ฅผ ๋‚จ๊ธด๋‹ค.
ย 
ํƒ€์ดํฌ๊ทธ๋ž˜ํ”ผโ€ฆ ๋””์ž์ธ์˜ ์„ธ๊ณ„๋Š” ์ •๋ง ์‹ ๊ธฐํ•œ ๊ฒƒ ๊ฐ™๋‹ค.
ย