From 8afb4841f5507cd7acc885b348541d24883532d6 Mon Sep 17 00:00:00 2001 From: datalater Date: Sun, 26 May 2024 18:08:48 +0900 Subject: [PATCH] text-revision: typo-fix --- pages/posts/typo-fix.md | 11 +++++++++-- 1 file changed, 9 insertions(+), 2 deletions(-) diff --git a/pages/posts/typo-fix.md b/pages/posts/typo-fix.md index 8063b3c..62ed76a 100644 --- a/pages/posts/typo-fix.md +++ b/pages/posts/typo-fix.md @@ -27,6 +27,8 @@ tag: chrome-extension, control-characters ## 데모 +> [datalater/typo-fix](https://github.com/datalater/typo-fix) + 데모 영상과 같이 잘 해결된 것을 확인할 수 있습니다. 더 이상 이상한 특수문자를 일일이 삭제할 일도 없고, 신경 쓰지 않아도 됩니다. @@ -45,6 +47,11 @@ TypoFix 덕분에 원래 하던 일에 집중할 수 있게 되었습니다. 그런데 자료를 찾아보니 이와 같은 현상은 macOS에서 발생하는 문제이고 뚜렷한 해결책을 찾기 어려웠습니다. [^1] +그래도 자료 조사를 통해 알 수 있었던 단서가 몇 가지 있었습니다: + +- 주로 맥에서 한글을 사용하는 경우에 발생하며 텍스트를 입력하다가 언어를 바꿔서 입력하거나 커서를 이동할 때 발생한다. +- 이상한 특수문자의 정체는 [제어 문자(control character)](https://ko.wikipedia.org/wiki/%EC%A0%9C%EC%96%B4_%EB%AC%B8%EC%9E%90) 또는 비인쇄 문자(non-printing character)이다. + ### 두번째 희망 > 적어도 GitHub PR 작성할 때 발생하지 않았으면 좋겠다. @@ -67,14 +74,14 @@ GitHub PR에서 특수문자가 나타나면 일일이 수동으로 지우면 ## 병목과 돌파구 -> 내가 타이핑할 때마다 특수문자가 생기면, 자동으로 삭제하면 좋을 것 같은데? input 이벤트를 쓰자! +> 타이핑하다가 특수문자가 생길 때마다 자동으로 삭제하면 좋을 것 같은데? input 이벤트를 쓰자! `addEventListener('input', handler)`를 사용해서 타이핑할 때마다 특수문자를 삭제했더니 텍스트 삭제는 잘 되지만 커서가 맨 뒤로 이동하는 문제가 발생했습니다. 사용자가 원래 작성하고 있던 커서 위치가 변경되니 사용자 경험이 나빠졌습니다. 물론 커서 이동은 range나 selection API 등을 쓰면 해결할 수 있겠지만, 문제 해결 방식이 복잡해져서 좀 더 경제적이고 효과적인 방법을 찾아보기로 했습니다. -> 타이핑할 때 특수문자가 생기더라도 어쨌든 간에 내가 submit 버튼을 누르면 그때 알아서 삭제해서 깨끗하게 등록하게 하면 어떨까? +> 타이핑할 때 특수문자가 생기더라도 어쨌든 간에 submit 버튼을 누르면 그때 알아서 삭제하게 하면 어떨까? 텍스트를 작성하는 시점이 아니라 다른 시점을 생각해보니, 텍스트 작성과 submit 버튼을 클릭하는 사이의 타이밍에 특수문자를 삭제하면 될 것 같았습니다. 그 타이밍을 기술적으로 바꾸면 무엇일까요?