[작성 배경]
현업에 있다보면 비개발 파트에 있는 동료들과 얘기할 일이 있는데 이따금 들리는 토로는 개발자들의 용어를 몰라 업무가 어렵게 느껴질 때가 있다는 것입니다. 마케팅 회사에서의 마케터(혹은 AE라 부른다.) 분들을 예로 들면 자사 개발자뿐만 아니라 외부 기술 지원 엔지니어와 마케팅 광고 집행 등으로 소통을 할 때가 꽤나 있는데 그 때 마다 개발적인 용어들이 나올 때 커뮤니케이션에 어려움을 느낀다고 토로하곤 합니다.
이에 조금이나마 비개발 파트 분들도 기본적인 IT 용어와 그 개념에 대해서 쉽게 이해할 수 있도록 포스팅을 작성하게 되었습니다. 기본적인 IT 용어들에 대해 쉽게 설명한 서적은 많이 있으므로, 이 글은 현업에 초점을 맞춰 실제적인 상황에서 많이 쓰일 수 있는 용어들을 주로 풀어 설명할 예정입니다.
- API :
이 개념을 설명하는 데 있어 레스토랑의 예를 사용하곤 합니다. 식당을 방문할 때 주방에 있는 요리사에게 직접 주문을 하지 않고 웨이터를 통해 우리의 요구 사항을 말하고 메시지를 셰프에게 전달하듯이 API의 작업은 레스토랑 웨이터와 유사한 역할을 합니다.
다시 말해 API는 Application Programming Interface의 약자로 서로 다른 두 대의 컴퓨터나 서비스를 연결할 수 있는 미들웨어라고 할 수 있습니다. 미들웨어란 이름에서 알 수 있듯이 양 쪽을 중간에서 연결하는 매개 소프트웨어입니다.
파싱(Parsing)
파싱은 언어학에서 본래 사용하던 언어입니다. 언어학에서의 ‘파싱’은 문장의 구성 성분을 분석하여 문장의 구조를 파악하는 것입니다. IT에서의 ‘파싱’은 데이터를 분석하고 원하는 데이터로 가공하여 추출하는 것입니다. ‘파서(Parser)’는 바로 이 파싱을 해주는 프로그램을 뜻합니다.
마스킹(Masking)
마스킹은 민감하거나 중요한 정보를 가리기 위해 사용합니다. 주로 개인정보 같은 데이터의 경우 보안을 위해 (ex. 김*신 님) 이와 같이 표현하는 것을 뜻합니다.
하드 코딩(Hard Coding)
하드코딩은 개발자분들과 소통하며 굉장히 많으 들어보셨을 텐데요,
하드 코딩은 데이터를 프로그램 코드 내부에 직접 넣는 것을 의미합니다. 하지만 개발에서 흔하게 쓰이는 방법은 아닌데요, 이유에 대해 예시와 함께 설명해 보겠습니다.
마케팅 데이터를 뽑으실 때 그때그때 원하는 날짜 기간을 선택 후 데이터를 뽑습니다. 이 때 이 기간은 매번 바뀌는 값이니 '고정'(하드)된 것이 아닙니다. 반면에 가령 5/1~5/5의 날짜로 '고정'되어 있다면 원하는 데이터를 뽑지 못 할 것입니다. 마찬가지로 하드코딩이라는 개념도 변하는 값이 아닌 고정된 값을 프로그램에 입력해 두는 것을 말합니다. 이렇게 데이터를 직접 입력해 두면 수정이 잦은 데이터의 경우 그때마다 프로그램을 수정해주는 번거로움이 따릅니다.
DB / SQL
DB는 데이터베이스(DataBase)의 준말로 데이터를 저장하는 장소를 뜻합니다. 앞서 하드 코딩의 개념과 연결하여 설명드리자면, 고정되지 않은 잦은 '변화'가 있는 데이터는 이 DB에 저장합니다. DB는 시스템을 통해 관리할 수 있으며 여러 경로로 변경이 용이합니다. 때문에 이곳에 저장할 시 데이터 하나를 수정한다고 프로그램 자체를 수정할 필요가 없이 간단히 원하는 데이터만 수정할 수 있는 것입니다. SQL은 DB에 데이터를 만들고 수정하는 등에 사용되는 프로그래밍 언어입니다.
웹 서버(Web Server)와 웹 호스팅(Web Hosting), 서버 호스팅(Server Hosting) 차이점
Host라는 단어의 뜻 부터 알아두면 좋은데요, 흔히 쇼 호스트를 떠올리면 게스트나 공연자들을 소개하고 전체적인 쇼를 관리하는 사람을 떠올립니다.
마찬가지로 IT에도 호스팅 업체가 있습니다.
웹 서버와 웹 호스팅은 둘 다 방문객인 클라이언트(마케팅 업계에서는 광고주가 되겠죠?)에게 웹 서비스를 제공하는 공통 분모가 있습니다만 웹 서버의 경우는 서비스 제공을 위해 직접 컴퓨터에 서버(Server)를 구축하게 되므로 웹 서버에 대한 지식이 있어야 하며, 전용선을 가지고 있어야 합니다.
하지만 웹 호스팅의 경우는 이미 서버가 구축된 호스팅 업체의 서버의 일정 부분을 임대해주는 서비스를 의미합니다. 호스팅 업체는 규모별로 다양한 상품을 제공합니다.
더 나아가 서버 호스팅의 개념이 있습니다. 웹호스팅이 서버 한 대의 공간을 나누어 사용하여 일일 트래픽 등에 제한이 있다면, 이 서버 호스팅은 원하는 서버의 사양을 통째로 임대하여 독차지 하기 때문에 돈을 지불한다면 원하는 만큼 이런 제약사항을 없앨 수 있습니다.
- 라이브러리란?
자동차 정비 시 언제든 필요한 부품을 정비소에서 구비해 뒀다가, 바퀴가 손상되면 새로운 바퀴로 갈아끼고, 헤드라이트가 망가졌다면 새로운 부품으로 갈아낍니다. 라이브러리도 이 예시와 마찬가지로 반복적으로 사용하는 코드를 언제든지 사용할 수 있도록 만들어 둔 코드 다발이라고 볼 수 있습니다.
To Be Updated