오늘은 파싱(Parsing)에 대해 기록하고자 한다!
파싱을 알아보기 전에 잠깐 상식적인 부분을 몇자 적어보자면,
과거의 웹 개발자들은 프런트 + 백엔드를 모두 개발하는 경우가 많았지만, Apple 사의 아이폰이 메가히트를 기록하면서 스마트폰이 전세계로 보급이 되었다.
그러면서 자연스레 PC의 웹 브라우저를 통해 데이터를 습득하기보다는 스마트폰 자체에서 작동하는 App 들의 개발로 인해, 이미 웹 서비스를 개발하던 회사들의 고충이 시작이 된다.
다시 말해 본인들이 평소에 잘 제공하던 웹 서비스를 App을 통해 동일하게 사용자에게 제공을 해야하는 상황이 발생했기 때문이다.
그래도 웹 서비스에서는 사용자들이 원하는 HTML 문서를 제공하면 별 문제는 없었지만, App을 통하여 데이터를 제공할 때는 고유의 스마트폰마다 존재하는 UI를 통해 서비스를 제공해야 했으므로, 골머리가 터지기 직전까지 갔었다.
이때부터 웹 서비스를 제공하는 회사들은 동일한 서비스를 두가지 환경으로 제공해야하는 상황이 발생했고, 회사 입장에서는 아주 비효율적인 사태를 맞이하게 된다.(서비스 기능중 한가지라도 변경하게 된다면, 웹 페이지와 App 데이터 두가지를 각각 수정해주었어야 했기 때문에 백엔드 개발자가 죽어났다.. 데이터를 하나 제공할 때마다 똑같은 기능의 코드를 두개씩 항상 만들어야 했기 때문이다)
옛날 이야기는 여기까지만 하고, 본론으로 넘어가서 HTML의 데이터에서 사용자마다 살짝식 다른 데이터들을 수집하기 위하여 스마트폰 App UI가 필요한 데이터만 뽑아내기 위해 필요한 로직이 존재하는데, 이를 파싱(Parsing)이라고 한다.
먼저 긴글을 못읽는 사람들을 위해 요약을 하자면,
"어떠한 특정한 문자열이 있을 때(예시로 HTML),그 문자열 안에서 내가 사용하고 싶은 유의미한 데이터를 뽑아내는 작업"
더 자세히 나아가 파싱의 기본형인 파스의 의미는 아래와 같다.
parse는 주어진 데이터를 해석하고 분석하여 원하는 형식 또는 구조로 변환하는 작업이며, 데이터 처리 과정에서 일어나는 변환 작업을 지칭하는 범용적인 용어이다.
그렇다면 슬슬 감이 올텐데, ~ing 를 붙인 파싱의 해석은 자연스레 아래와 같이 될 것이다.
주어진 데이터를 구문 분석하여 의미있는 구조로 변환하는 과정.
예를 들어 JSON 문자열을 파싱하여 JavaScript 객체로 변환하는 것은 JSON 파싱
parseInt() 함수를 사용하여 문자열을 정수로 변환하는 것은 문자열 파싱
이라고 할 수 있겠다!
오늘의 결론
파싱은 일반적으로 언어의 문법이나 형식에 따라 수행되며, 이를 위해 파서(Parser)라는 도구가 사용됨. 이를 통해 프로그램은 데이터를 분석하고 이해할 수 있게 됨.
그럼 오늘도 20000!
'Computer Science > Software Engineering' 카테고리의 다른 글
[S/E] 좋은 객체 지향 설계의 5가지 원칙 : SOLID 원칙 (0) | 2025.05.08 |
---|---|
[S/E] 디자인 패턴 (Design Pattern) (0) | 2024.06.07 |