놀랍도록 빠른 문자열 내 모음 감지 방법

2025-06-13
놀랍도록 빠른 문자열 내 모음 감지 방법

이 글에서는 단순한 루프부터 정규 표현식, 소수를 이용한 접근 방식에 이르기까지 문자열 내 모음 감지를 위한 11가지의 서로 다른 방법을 벤치마킹합니다. 놀랍게도 정규 표현식은 다양한 문자열 길이에서 단순한 루프와 같은 다른 방법들을 일관되게 능가했습니다. Python 바이트 코드와 CPython 정규 표현식 엔진에 대한 심층 분석을 통해 정규 표현식의 속도 이유가 밝혀졌습니다. 저자는 정규 표현식이 대부분의 경우 가장 빠르지만 수백만 개의 문자열을 처리하는 경우를 제외하고는 더 간단한 방법으로 충분하다고 결론짓습니다.

더 보기
개발

비싼 지오코딩 API와 작별: 가벼운 JavaScript 라이브러리를 통한 주/도시 검색

2025-06-04
비싼 지오코딩 API와 작별: 가벼운 JavaScript 라이브러리를 통한 주/도시 검색

한 스타트업이 사용자의 주를 파악하기 위해 Google Maps API의 역지오코딩에 매년 수천 달러를 지출했습니다. 저자는 이를 낭비라고 생각하고, 위도/경도 좌표에서 미국 주를 직접 식별하는 경량 JavaScript 라이브러리 `coord2state`를 개발했습니다. 미국 인구조사국 경계 데이터와 Douglas-Peucker 알고리즘을 사용하여 간소화함으로써, 0.01°의 허용 오차에서 99.9%의 정확도를 달성했으며 크기는 260KB에 불과합니다. 이 라이브러리는 GitHub와 NPM에서 오픈소스로 제공되며, 개발자에게 비용 효율적인 대안을 제공합니다.

더 보기

25년간의 AI/ML 모험: 게임부터 프로그램 합성까지

2025-01-02
25년간의 AI/ML 모험: 게임부터 프로그램 합성까지

이 글은 AI/ML 분야에서 25년간의 여정을 이야기합니다. VB6로 간단한 게임을 만드는 것부터 시작하여, 상태 머신과 고차 함수를 사용하여 게임 역학을 개선했습니다. 대학원 과정에서는 1차 논리, 서포트 벡터 머신, 뉴럴 네트워크를 배우고, 저대역폭 비디오 채팅 및 코드 에디터 로그 데이터 분석 등에 적용했습니다. 교수로서 지능형 개발 도구에 초점을 맞추고, 예측 모델을 사용하여 프로그래머의 오해를 파악하고 수정하는 연구를 수행했습니다. 마이크로소프트의 프로그램 합성 팀에서는 LLM을 사용한 코드 지원 도구 개선에 참여했습니다. 저자는 AI 적용에는 신중함이 중요하며, 사용자의 문제를 명확히 하고 LLM에 대한 과도한 의존을 피해야 한다고 강조합니다.

더 보기
AI