Skip to content

Commit

Permalink
text-revision: typo-fix
Browse files Browse the repository at this point in the history
  • Loading branch information
datalater committed May 27, 2024
1 parent fcdaec3 commit 8afb484
Showing 1 changed file with 9 additions and 2 deletions.
11 changes: 9 additions & 2 deletions pages/posts/typo-fix.md
Original file line number Diff line number Diff line change
Expand Up @@ -27,6 +27,8 @@ tag: chrome-extension, control-characters

## 데모

> [datalater/typo-fix](https://github.com/datalater/typo-fix)
<video src="https://github.com/datalater/typo-fix/assets/8105528/c5fb3cbf-a14b-40aa-b88c-b07c56170383" controls autoplay></video>

데모 영상과 같이 잘 해결된 것을 확인할 수 있습니다. 더 이상 이상한 특수문자를 일일이 삭제할 일도 없고, 신경 쓰지 않아도 됩니다.
Expand All @@ -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 작성할 때 발생하지 않았으면 좋겠다.
Expand All @@ -67,14 +74,14 @@ GitHub PR에서 특수문자가 나타나면 일일이 수동으로 지우면

## 병목과 돌파구

> 내가 타이핑할 때마다 특수문자가 생기면, 자동으로 삭제하면 좋을 것 같은데? input 이벤트를 쓰자!
> 타이핑하다가 특수문자가 생길 때마다 자동으로 삭제하면 좋을 것 같은데? input 이벤트를 쓰자!
`addEventListener('input', handler)`를 사용해서 타이핑할 때마다 특수문자를 삭제했더니 텍스트 삭제는 잘 되지만 커서가 맨 뒤로 이동하는 문제가 발생했습니다.
사용자가 원래 작성하고 있던 커서 위치가 변경되니 사용자 경험이 나빠졌습니다.

물론 커서 이동은 range나 selection API 등을 쓰면 해결할 수 있겠지만, 문제 해결 방식이 복잡해져서 좀 더 경제적이고 효과적인 방법을 찾아보기로 했습니다.

> 타이핑할 때 특수문자가 생기더라도 어쨌든 간에 내가 submit 버튼을 누르면 그때 알아서 삭제해서 깨끗하게 등록하게 하면 어떨까?
> 타이핑할 때 특수문자가 생기더라도 어쨌든 간에 submit 버튼을 누르면 그때 알아서 삭제하게 하면 어떨까?
텍스트를 작성하는 시점이 아니라 다른 시점을 생각해보니, 텍스트 작성과 submit 버튼을 클릭하는 사이의 타이밍에 특수문자를 삭제하면 될 것 같았습니다.
그 타이밍을 기술적으로 바꾸면 무엇일까요?
Expand Down

0 comments on commit 8afb484

Please sign in to comment.