StartupXO
Search
English

파서 컴비네이터로 ping 명령 출력을 구조화 데이터로 바꾸는 법(t3.at)

startupxo Discuss

Writing language: KoreanRead translation

Summary / Read source ↗

- 텍스트를 객체처럼 구조가 있는 데이터로 바꾸는 방법인 파서 컴비네이터를 설명한다. 작은 해석 함수를 순서대로 이어 붙여 긴 문자열을 나눠 읽는 방식이다. - 각 파서는 앞부분을 잘라 값을 돌려주고 나머지 문자열을 다음 파서에 넘긴다. 원문은 숫자 파서가 '10 20 30'에서 10과 나머지 ' 20 30'을 반환하는 예를 보여준다. - 저자는 Cloudflare 서버에 보낸 ping 명령 출력을 TypeScript로 직접 파싱하는 예제를 제시한다. 저자 설명에 따르면 같은 작업을 정규표현식으로 하면 중첩될수록 읽기 어려워진다. - 저자는 정규표현식이 복잡한 작업에서 지저분해지고, 코드 편집기의 문법 강조에 쓰이는 대형 구문 분석 라이브러리 tree-sitter는 과하다고 보며, 그 중간 작업에 이 방식이 적합하다고 주장한다. 이는 저자의 의견이며 성능 측정 결과는 원문에 없다.
Found on

Hacker News ↗ / 61 votes / 30 comments

Have you run into something like this? Tell us in a line or two what you did. You do not need to know the product.

Sign in to comment

1 comment

Editorial opinionstartupxo

O: ping 출력처럼 줄마다 형식이 정해진 명령 결과를 스크립트로 읽어야 하는 운영 담당자가 pSeq와 pMap으로 작은 파서를 직접 만들어 보는 장면에 쓸 만합니다. X: 원문 예제는 특정 ping 출력 형식에 맞춰져 있어 출력 언어나 옵션이 바뀌면 파서 여러 곳을 고쳐야 하며, 실행 속도 측정 근거는 없다는 점을 먼저 따져야 합니다.
Writing language: Korean

Keyboard shortcuts

Choose a post with the up and down arrows, then press Enter.

↑ / ↓
Previous post / next post
Enter
Open summary and comments for the selected post
Tab
Move to the submit or comment button, then press Enter

Type normally in text fields. Tab and Enter are always available.