[Front-end]마크업(Markup)와 마크다운(Markdown)의 차이점?

2022. 3. 5. 22:27·Programming
반응형

 

 

지난달부터 제로베이스(Zero-Base)에서 자바스크립트 완주반 강의를 듣고 있는데,

배운 내용을 정리할 겸 강의 들으면서 궁금했던 점도 보완해서 같이 정리해두려 한다.

 

본격적으로 HTML/CSS 를 알아보기 전 마크업(Markup) 언어란 무엇인지,

그리고 마크다운(Markdown)언어란 무엇인가에 대해서 간단하게 알아보았다.

 

 

1. 마크업(Markup) 언어란?

 

위키백과에서는 마크업 언어의 정의를 아래와 같이 설명하고 있다.

 

마크업 언어(markup 言語, markup language)는 태그 등을 이용하여 문서나 데이터의 구조를 명기하는 언어의 한 가지이다.
태그는 원래 텍스트와는 별도로 원고의 교정부호와 주석을 표현하기 위한 것이었으나 용도가 점차 확장되어 문서의 구조를 표현하는 역할을 하게 되었다.
이러한 태그 방법의 체계를 마크업 언어라 한다.

 

요컨대 마크업 언어는 무언가를 "기록"하거나 "설명"하기 위한 언어로,

컴퓨터 "시스템을 구동"하기 위한 "소프트웨어"를 만드는 프로그래밍 언어와는 다르다.

 

 

 

(그래서 이런 개발자 밈도 종종 찾아볼 수 있다)

 

마크업의 가장 대표적인 언어의 예로 HTML이 있는데, HTML은

 

(1) <header> <body> <footer>등의 태그를 사용해 웹 페이지의 "구조" 를 정의하며,
(2) HTML 단독으로는 프로그래밍 처럼 상호작용을 할 수 없다

 

라는 마크업 언어의 특징을 갖고 있다.

 

(참고로 우리가 일반적으로 접근하는 웹페이지들은 상호작용을 할 수 있는데,

이는 Javascript와 같은 프로그래밍 언어가 HTML과 함께 조합되어 있기 때문)

 

 

2. 마크다운(Markdown) 언어란?

 

위키백과에서 마크다운의 정의를 살펴보면 아래와 같다.

 

일반 텍스트 기반의 경량 마크업 언어다.
일반 텍스트로 서식이 있는 문서를 작성하는 데 사용되며, 일반 마크업 언어에 비해 문법이 쉽고 간단한 것이 특징이다.
HTML과 리치 텍스트(RTF) 등 서식 문서로 쉽게 변환되기 때문에
응용 소프트웨어와 함께 배포되는 README 파일이나 온라인 게시물 등에 많이 사용된다.

 

사실 나는 이름이 마크다운이길래 비슷한 이름의 마크업과 동등한 레벨의 개념인 줄 알았는데,

알고 보니 마크다운은 마크업 언어의 하위 개념이었다(머쓱).

 

개발자들은 깃허브(Github)의 README, Wiki 문서를 작성하는 용도로 종종 마크다운 문법을 사용해봤을 텐데,
비개발자일 경우에도 노션(Notion), 혹은 슬랙(Slack)을 써봤다면 꽤나 친숙한 언어일 것.

(노션, 슬랙 모두 둘 다 마크다운 문법을 지원하는 플랫폼)

 

.md라는 확장자를 사용하는 마크다운 언어는,

써보면 알겠지만 꺽쇠 <>로 감싸진 태그를 사용하는 HTML, 혹은 xml 등과 비교해 직관적으로 알아보기 쉬운 언어로,

서식이 있는 문서를 작성할 때 유용하다.

 

특히 문서에 ``(backtick)을 입력하는 것만으로도 코드 블록을 생성할 수 있어

개발자들이 문서를 작성하거나 코드를 공유해 소통할 때 매우 편리한 언어이다.

 

 

3. 마크업 언어의 구분

 

마크업 언어는 크게 세 가지로 구분할 수 있다.

 

1. 표현적 마크업 Presentational Markup

문서의 형태를 표현하기 위한 마크업이다. 대표적으로는 HTML의 style 태그가 있다.

 

2. 절차적 마크업 Procedural Markup

프로그램이 문서를 처리하는 방법을 서술하는 마크업이다.

 

3. 기술적 마크업 Descriptive Markup

가장 많이 사용되는 마크업 언어의 종류이며 (여기서 기술은 Technology가 아닌 기술(記述)이다)
문서가 표현하는 내용을 기술하는 데에 사용하는 마크업으로,

표현적 마크업과 절차적 마크업의 요소를 어느 정도 포함하고 있어 범용적 마크업이라고도 한다.

 

대표적인 예로는 HTML, XML, 마크다운이 있다.

 

 

4. 마크업 언어의 종류

 

위에서 설명한 HTML, 마크다운 외에도 마크업 언어의 종류는 여러 가지가 있다.

 

  • HTML
  • Markdown
  • XML
  • XHTML XML 기반의 HTML
  • JSON
  • YAML
  • GenCode
  • troff / nroff
  • TeX

 

이번 포스팅에서는 간단하게 마크업 언어와 마크다운의 정의와, 두 언어의 차이를 간단하게 알아보았다.

 

사실 깊게 파고들면 추가로 설명할 것들이 많지만,

자세한 내용은 앞으로 HTML이나 다른 마크업 언어를 다루면서 설명해보도록 하겠다.

저작자표시 비영리 동일조건 (새창열림)

'Programming' 카테고리의 다른 글

Node.js 프로젝트에서 환경변수 관리하기(파일로 분리)  (0) 2023.01.17
MacOS에서 MySQL Workbench 설치 및 데이터베이스 생성하기  (0) 2023.01.16
Node.js 프로젝트 pkg 모듈로 빌드하기  (0) 2023.01.15
구글 코랩(Google Colab/Colaboratory) 사용법  (0) 2023.01.12
Node.js Error: Cannot find module /usr/src/app/nodemon 에러 해결  (0) 2023.01.11
'Programming' 카테고리의 다른 글
  • MacOS에서 MySQL Workbench 설치 및 데이터베이스 생성하기
  • Node.js 프로젝트 pkg 모듈로 빌드하기
  • 구글 코랩(Google Colab/Colaboratory) 사용법
  • Node.js Error: Cannot find module /usr/src/app/nodemon 에러 해결
Canary_카나리아
Canary_카나리아
어쩌다 데브옵스 엔지니어가 된 문과생의 기록용 블로그
    반응형
  • Canary_카나리아
    release: canary
    Canary_카나리아
  • 전체
    오늘
    어제
    • 분류 전체보기 (120)
      • DevOps (67)
      • Programming (28)
      • Certifications (3)
      • ETC (20)
  • 블로그 메뉴

    • 홈
    • 태그
  • 링크

  • 공지사항

  • 인기 글

  • 태그

    프로메테우스예제
    클라우드자격증
    argocd
    제로베이스
    개발자
    NCPprofessional자격증
    Java
    kops란
    kops사용법
    한빛출판네트워크
    terraform
    spring
    데브옵스엔지니어
    네이버클라우드서비스
    그라파나
    백엔드
    java개념
    프로메테우스
    백엔드스쿨
    그라파나예제
    Prometheus
    백엔드공부
    클라우드엔지니어자격증
    NCPassociate자격증
    Grafana
    백엔드개발
    ncp서비스
    네이버클라우드자격증
    NCP자격증
    자바개념
  • 최근 댓글

  • 최근 글

  • hELLO· Designed By정상우.v4.10.2
Canary_카나리아
[Front-end]마크업(Markup)와 마크다운(Markdown)의 차이점?
상단으로

티스토리툴바