Xterm.js: λ¬΄ν•œ 슀크둀백?

에 λ§Œλ“  2019λ…„ 05μ›” 10일  Β·  3μ½”λ©˜νŠΈ  Β·  좜처: xtermjs/xterm.js

μš°λ¦¬λŠ” 이미 λ¬΄ν•œ μŠ€ν¬λ‘€λ°±μ— λŒ€ν•œ μ—¬λŸ¬ μš”μ²­μ„ λ°›μ•˜κ³  vteλŠ” μ΅œμ‹  λ²„μ „μ—μ„œλ„ 이λ₯Ό μ§€μ›ν•˜λ―€λ‘œ 이것이 λͺ©ν‘œμ—¬μ•Ό ν•˜λŠ”μ§€ λ…Όμ˜ν•˜κ³  μ‹ΆμŠ΅λ‹ˆλ‹€.

기술적으둜 λΈŒλΌμš°μ €μ˜ localStorage λ₯Ό ν™œμš©ν•˜μ—¬ 이λ₯Ό λ‹¬μ„±ν•˜λŠ” 것이 κ°€λŠ₯ν•©λ‹ˆλ‹€. λΈŒλΌμš°μ €λŠ” λ©”λͺ¨λ¦¬ μ†ŒλΉ„μ™€ 파일 μ‹œμŠ€ν…œμ— λŒ€ν•œ νŽ˜μ΄μ§•μ„ μ²˜λ¦¬ν•©λ‹ˆλ‹€. μš°λ¦¬λŠ” μ—¬μ „νžˆ 이 μŠ€ν† λ¦¬μ§€ λ°±μ—”λ“œμ— μ½˜ν…μΈ λ₯Ό CRUDν•˜κ³  그에 따라 λ Œλ”λ§ 데이터λ₯Ό κ°€μ Έμ˜€κ±°λ‚˜ μ—…λ°μ΄νŠΈν•  수 μžˆλŠ” 자체 κ²½λŸ‰ νŽ˜μ΄μ§• κ²Œμ΄νŠΈμ›¨μ΄λ₯Ό κ΅¬ν˜„ν•΄μ•Ό ν•©λ‹ˆλ‹€.

λ‚΄ 생각에 μš°λ¦¬λŠ” 이것이 ν•„μš”ν•˜μ§€ μ•Šλ‹€κ³  μƒκ°ν•©λ‹ˆλ‹€. 파일 μ‹œμŠ€ν…œμ˜ 높은 ν’‹ν”„λ¦°νŠΈ 및 μŠ€ν¬λ‘€λ°”μ˜ μ‚¬μš©μ„± λ¬Έμ œμ™€ 같은 λͺ‡ 가지 μ§ˆλ¬Έλ„ μ œκΈ°ν•©λ‹ˆλ‹€(맀우 κΈ΄ 터미널 μ„Έμ…˜μ˜ μž‘μ€ μ›€μ§μž„μ— 미친 듯이 λ›°μ–΄μ˜€λ₯Ό κ²ƒμž…λ‹ˆλ‹€).
μ—¬μ „νžˆ κ·€ν•˜μ˜ 생각을 λ“£κ³  μ‹ΆμŠ΅λ‹ˆλ‹€. @egmontkob 이 더 λ§Žμ€ λ²ˆκ±°λ‘œμ›€/해결책에 λŒ€ν•œ μΆ”κ°€ 톡찰λ ₯을 μ œκ³΅ν•  μˆ˜λ„ μžˆμŠ΅λ‹ˆλ‹€.

@티리아λ₯΄ , @mofux

areaccessibility typproposal

κ°€μž₯ μœ μš©ν•œ λŒ“κΈ€

우리의 (VTE) 슀크둀백 ν˜•μ‹μ€ 맀우 λ³΅μž‘ν•©λ‹ˆλ‹€. μ‹€μ œλ‘œ _finite_ μŠ€ν¬λ‘€λ°±μ„ μ§€μ›ν•˜λ©΄ 훨씬 더 λ³΅μž‘ν•΄μ§€κ³  λ¬΄ν•œλŒ€λ§Œ μ§€μ›ν•˜λŠ” 것은 더 간단할 κ²ƒμž…λ‹ˆλ‹€. 이 κΈ°λŠ₯을 λ‹€μ‹œ κ³ λ €ν•œλ‹€λ©΄ μ €μ—κ²Œ Ping을 λ³΄λ‚΄μ£Όμ‹œλ©΄ μ„ΈλΆ€ 사항을 기꺼이 μ„€λͺ…ν•˜κ² μŠ΅λ‹ˆλ‹€. ν•˜μ§€λ§Œ κ΅¬ν˜„μ„ μœ„ν•œ 참쑰둜 λ°›μ•„λ“€μ΄μ§€λŠ” μ•Šμ„ κ²ƒμž…λ‹ˆλ‹€.

이것은 μš°λ¦¬μ—κ²Œλ„ 자주 μš”μ²­λ˜λŠ” κΈ°λŠ₯μ΄μ§€λ§Œ 이에 λŒ€ν•œ 개인적인 κ²½ν—˜μ€ μ—†μŠ΅λ‹ˆλ‹€. ν”„λ‘œμ νŠΈμ— μ°Έμ—¬ν•˜κΈ° 전에 κ΅¬ν˜„ν–ˆμŠ΅λ‹ˆλ‹€. λ‚˜λŠ” μœ ν•œν•œ 50,000개의 라인을 슀슀둜 μ‚¬μš©ν•˜κ³  그것이 κ³Όμž‰μ΄λΌκ³  μƒκ°ν•©λ‹ˆλ‹€.

μŠ€ν¬λ‘€λ°”μ˜ μœ μš©μ„±μ΄ 문제라고 μƒκ°ν•˜μ§€ μ•ŠμŠ΅λ‹ˆλ‹€. λ˜λŠ” κ·Έλ ‡λ‹€λ©΄ 이미 수천 쀄에 μžˆμŠ΅λ‹ˆλ‹€. 슀크둀 λ§‰λŒ€λ₯Ό λ“œλž˜κ·Έν•˜λ©΄ 개인적으둜 거의 μ‚¬μš©ν•˜μ§€ μ•ŠλŠ” λŒ€λž΅μ μΈ μœ„μΉ˜ μ§€μ •λ§Œ μˆ˜ν–‰ν•  수 μžˆμŠ΅λ‹ˆλ‹€. μ„Έλ°€ν•œ μž‘μ—…μ„ μœ„ν•΄ λž©ν†±μ˜ ν„°μΉ˜νŒ¨λ“œλ₯Ό μ‚¬μš©ν•˜μ—¬ 터미널 μ˜μ—­μ„ 두 μ†κ°€λ½μœΌλ‘œ μŠ€ν¬λ‘€ν•˜λŠ” 것을 μ„ ν˜Έν•©λ‹ˆλ‹€.

λͺ¨λ“  3 λŒ“κΈ€

둜컬 μŠ€ν† λ¦¬μ§€λ„ 5MB둜 μ œν•œλ˜λ©° ν•΄λ‹Ή ν•œλ„μ— λ„λ‹¬ν•˜λ©΄ 데이터λ₯Ό μ œκ±°ν•˜κΈ° μ‹œμž‘ν•˜λ―€λ‘œ μ‹€μ œλ‘œ μ€‘μš”ν•œ ν•­λͺ©μ„ μ œκ±°ν•  수 μžˆμŠ΅λ‹ˆλ‹€ πŸ˜›. μ΄λŸ¬ν•œ νŽ˜μ΄μ§•μ„ μ§€μ›ν•˜κΈ° μœ„ν•΄ κ΅¬ν˜„μ„ μ•½κ°„ λ³΅μž‘ν•˜κ²Œ λ§Œλ“€κ³  μŠ€ν¬λ‘€λ°±μ„ μœ„λ‘œ 올렀 근본적으둜 ν•΄κ²°ν•  수 μžˆλ‹€λŠ” 점을 κ³ λ €ν•  λ•Œ 이것이 특히 μ€‘μš”ν•˜λ‹€κ³  μƒκ°ν•˜μ§€ μ•ŠμŠ΅λ‹ˆλ‹€. μš°λ¦¬κ°€ 이 imo에 λŒ€ν•΄ μƒκ°ν•˜κΈ° 전에 λ¨Όμ € ν•΄κ²°ν•΄μ•Ό ν•  훨씬 더 큰 λ¬Έμ œκ°€ μžˆμŠ΅λ‹ˆλ‹€.

μœ„μ—μ„œ μ–ΈκΈ‰ν•œ 이유둜 μ§€κΈˆμ€ λ²”μœ„λ₯Ό λ²—μ–΄λ‚©λ‹ˆλ‹€. λ˜ν•œ 과거에 이에 λŒ€ν•œ λ¬Έμ œκ°€ μžˆμ—ˆκ³  ν•΄κ²° λ°©λ²•μœΌλ‘œ 훨씬 더 큰 슀크둀백 츑면을 ν—ˆμš©ν–ˆμŠ΅λ‹ˆλ‹€. https://github.com/xtermjs/xterm.js/issues/948

우리의 (VTE) 슀크둀백 ν˜•μ‹μ€ 맀우 λ³΅μž‘ν•©λ‹ˆλ‹€. μ‹€μ œλ‘œ _finite_ μŠ€ν¬λ‘€λ°±μ„ μ§€μ›ν•˜λ©΄ 훨씬 더 λ³΅μž‘ν•΄μ§€κ³  λ¬΄ν•œλŒ€λ§Œ μ§€μ›ν•˜λŠ” 것은 더 간단할 κ²ƒμž…λ‹ˆλ‹€. 이 κΈ°λŠ₯을 λ‹€μ‹œ κ³ λ €ν•œλ‹€λ©΄ μ €μ—κ²Œ Ping을 λ³΄λ‚΄μ£Όμ‹œλ©΄ μ„ΈλΆ€ 사항을 기꺼이 μ„€λͺ…ν•˜κ² μŠ΅λ‹ˆλ‹€. ν•˜μ§€λ§Œ κ΅¬ν˜„μ„ μœ„ν•œ 참쑰둜 λ°›μ•„λ“€μ΄μ§€λŠ” μ•Šμ„ κ²ƒμž…λ‹ˆλ‹€.

이것은 μš°λ¦¬μ—κ²Œλ„ 자주 μš”μ²­λ˜λŠ” κΈ°λŠ₯μ΄μ§€λ§Œ 이에 λŒ€ν•œ 개인적인 κ²½ν—˜μ€ μ—†μŠ΅λ‹ˆλ‹€. ν”„λ‘œμ νŠΈμ— μ°Έμ—¬ν•˜κΈ° 전에 κ΅¬ν˜„ν–ˆμŠ΅λ‹ˆλ‹€. λ‚˜λŠ” μœ ν•œν•œ 50,000개의 라인을 슀슀둜 μ‚¬μš©ν•˜κ³  그것이 κ³Όμž‰μ΄λΌκ³  μƒκ°ν•©λ‹ˆλ‹€.

μŠ€ν¬λ‘€λ°”μ˜ μœ μš©μ„±μ΄ 문제라고 μƒκ°ν•˜μ§€ μ•ŠμŠ΅λ‹ˆλ‹€. λ˜λŠ” κ·Έλ ‡λ‹€λ©΄ 이미 수천 쀄에 μžˆμŠ΅λ‹ˆλ‹€. 슀크둀 λ§‰λŒ€λ₯Ό λ“œλž˜κ·Έν•˜λ©΄ 개인적으둜 거의 μ‚¬μš©ν•˜μ§€ μ•ŠλŠ” λŒ€λž΅μ μΈ μœ„μΉ˜ μ§€μ •λ§Œ μˆ˜ν–‰ν•  수 μžˆμŠ΅λ‹ˆλ‹€. μ„Έλ°€ν•œ μž‘μ—…μ„ μœ„ν•΄ λž©ν†±μ˜ ν„°μΉ˜νŒ¨λ“œλ₯Ό μ‚¬μš©ν•˜μ—¬ 터미널 μ˜μ—­μ„ 두 μ†κ°€λ½μœΌλ‘œ μŠ€ν¬λ‘€ν•˜λŠ” 것을 μ„ ν˜Έν•©λ‹ˆλ‹€.

이 νŽ˜μ΄μ§€κ°€ 도움이 λ˜μ—ˆλ‚˜μš”?
0 / 5 - 0 λ“±κΈ‰