이 문제가 해결되어 정말 좋습니다!
저희는 국제 포럼을 운영 중이며, 영어가 주요 언어이지만 다른 언어를 위한 전용 카테고리도 있습니다. 이 문제는 오랫동안 불편함을 주었었죠.
skipped_locale가 이제 seems_unpretentious에만 사용된다는 점을 고려할 때, 현대 한국어는 띄어쓰기를 사용하므로 'ko’를 건너뛸 수 있지 않을까요? 저는 한국어를 하지 않으니, 이 부분에 대해 다시 한번 확인해 주시면 좋겠습니다.
기회를 주셨으니, TextSentinel에 대해 또 하나 제가 쉽게 개선할 수 있다고 생각하지만 감히 손대지 못했던 부분이 있습니다(다시 한번 말하지만, 저는 Ruby 개발자가 아닙니다). 잠시만 시간이 나시면, 꽤 간단한 것 같고 무료 성능 향상을 얻을 수 있을 것 같습니다.
제 이해로는, 이 코드는 텍스트를 단어로 나눈 후 각 단어의 길이를 계산하고, 모든 길이를 스캔하여 가장 긴 값을 찾은 후에야 그 값을 한도와 비교하는 것 같습니다.
혹시 /\p{Alnum}{#{max_word_length + 1},}/와 같은 패턴으로 텍스트를 직접 매칭시켜서 이 과정을 생략할 수는 없을까요? (구문은 아마 틀렸을 것이지만, 제 의도를 이해해 주셨으면 합니다.)
Ruby의 내부 작동 방식을 정확히 알지는 못하지만, 이렇게 하면 매칭이 되는 즉시 검사를 중단할 가능성이 더 높고, 너무 긴 단어가 없는 경우(가장 흔한 경우)에는 텍스트를 한 번만 스캔하면 되어 단어 분리, 개별 단어 길이 확인 등의 과정을 건너뛸 수 있을 것입니다.
여기서 주제를 탈선시키고 있다면 죄송합니다. 새로운 PR이 이미 병합되었기 때문에, 이 정도는 새 주제를 만들 만큼 크지 않은 것 같아 어디에 게시하는 것이 최선인지 확신이 서지 않았습니다. 하지만 쉬운 개선 사항이라고 생각합니다. 자유롭게 진행해 주십시오.