IT

🏠 SGML (Standard Generalized Markup Language): πŸ–₯ λͺ¨λ“  λ§ˆν¬μ—… μ–Έμ–΄μ˜ ‘쑰상’ ❌

2025λ…„ 11μ›” κΈ°μ€€μœΌλ‘œ SGML (Standard Generalized Markup Language)은 μ˜€λŠ˜λ‚  μš°λ¦¬κ°€ μ‚¬μš©ν•˜λŠ” HTML, XML λ“± μ›Ήμ˜ 핡심 κΈ°μˆ λ“€μ˜ 근본적인 기초λ₯Ό λ‹€μ§„ μ–Έμ–΄μž…λ‹ˆλ‹€. SGML μžμ²΄λŠ” 일반 μ‚¬μš©μžμ—κ²ŒλŠ” μƒμ†Œν•  수 μžˆμ§€λ§Œ, μ΄λŠ” β€œμ •λ³΄ ꡬ쑰λ₯Ό μ •μ˜ν•˜λŠ” ν‘œμ€€β€ κ·Έ μžμ²΄μ˜€κΈ° λ•Œλ¬Έμ— β€˜μ–Έμ–΄μ˜ 언어’라고도 λΆˆλ¦½λ‹ˆλ‹€.


1️⃣ SGMLμ΄λž€ λ¬΄μ—‡μΈκ°€μš”? (μ‰½κ²Œ μ΄ν•΄ν•˜κΈ°)

SGML은 1986년에 ꡭ제 ν‘œμ€€ν™” 기ꡬ(ISO)에 μ˜ν•΄ μ •λ¦½λœ ꡭ제 ν‘œμ€€ μ–Έμ–΄μž…λ‹ˆλ‹€. κ·Έ λͺ©μ μ€ λ¬Έμ„œμ˜ 논리적 ꡬ쑰와 λ‚΄μš©μ„ ν‘œν˜„ν•˜λŠ” 방법을 μ •μ˜ν•˜λŠ” κ²ƒμ΄μ—ˆμŠ΅λ‹ˆλ‹€.

  • λ§ˆν¬μ—… (Markup): λ¬Έμ„œμ˜ λ‚΄μš©(데이터)κ³Ό κ·Έ λ‚΄μš©μ„ μ„€λͺ…ν•˜λŠ” νƒœκ·Έ(Tag)λ₯Ό λΆ„λ¦¬ν•˜μ—¬ λ¬Έμ„œμ˜ ꡬ쑰λ₯Ό ν‘œμ‹œν•˜λŠ” λ°©μ‹μž…λ‹ˆλ‹€.
  • Generalized (μΌλ°˜ν™”λœ): SGML은 νŠΉμ • μš©λ„λ‚˜ νŠΉμ • 뢄야에 얽맀이지 μ•Šκ³ , μ‚¬μš©μžκ°€ μ›ν•˜λŠ” μ–΄λ–€ λ¬Έμ„œ ꡬ쑰라도 μ •μ˜ν•  수 μžˆλ„λ‘ μΌλ°˜ν™”λ˜μ–΄ μ„€κ³„λ˜μ—ˆμŠ΅λ‹ˆλ‹€.
  • 핡심 μ² ν•™: SGML은 β€œλ‚΄μš©β€κ³Ό β€œν˜•μ‹β€μ„ λΆ„λ¦¬ν•˜λŠ” 것을 λͺ©ν‘œλ‘œ ν–ˆμŠ΅λ‹ˆλ‹€.
    • λ‚΄μš©/ꡬ쑰: λ¬Έμ„œμ˜ 각 뢀뢄이 무엇인지 (예: β€˜μ œλͺ©β€™, β€˜λ‹¨λ½β€™, β€˜μ €μžβ€™). 이것은 SGML이 μ •μ˜ν•©λ‹ˆλ‹€.
    • ν˜•μ‹/ν‘œν˜„: λ¬Έμ„œμ˜ 각 뢀뢄을 μ–΄λ–»κ²Œ 보여쀄지 (예: β€˜μ œλͺ©μ„ ꡡ게, 20ptλ‘œβ€™). 이것은 SGML이 κ΄€μ—¬ν•˜μ§€ μ•ŠμŠ΅λ‹ˆλ‹€.

πŸ“ λΉ„μœ : SGML은 집을 지을 λ•Œ μ‚¬μš©ν•˜λŠ” β€˜μ„€κ³„ 도면을 κ·Έλ¦¬λŠ” κ·œμΉ™β€™ μžμ²΄μž…λ‹ˆλ‹€. 이 κ·œμΉ™μ— 따라 HTMLμ΄λΌλŠ” β€˜λ‹¨μΈ΅μ§‘ 도면’, XMLμ΄λΌλŠ” β€˜κ³ μΈ΅ λΉŒλ”© 도면’ λ“± λ‹€μ–‘ν•œ μœ ν˜•μ˜ 도면을 λ§Œλ“€ 수 μžˆμŠ΅λ‹ˆλ‹€.


2️⃣ πŸ’‘ SGML의 λ”₯ν•œ ꡬ성 μš”μ†Œ

SGML을 μ΄ν•΄ν•˜λ €λ©΄ λ‹€μŒ μ„Έ κ°€μ§€ 핡심 ꡬ성 μš”μ†Œλ₯Ό μ•Œμ•„μ•Ό ν•©λ‹ˆλ‹€.

1. λ¬Έμ„œ (Document)

μ‹€μ œ λ‚΄μš©κ³Ό λ§ˆν¬μ—…μ΄ ν¬ν•¨λœ νŒŒμΌμž…λ‹ˆλ‹€.

2. DTD (Document Type Definition)

이것이 SGML의 ν•΅μ‹¬μž…λ‹ˆλ‹€. DTDλŠ” νŠΉμ • λ¬Έμ„œ μœ ν˜•μ— λŒ€ν•΄ ν—ˆμš©λ˜λŠ” νƒœκ·Έμ˜ μ§‘ν•©, νƒœκ·Έ κ°„μ˜ 관계, νƒœκ·Έκ°€ μ‚¬μš©λ  수 μžˆλŠ” μˆœμ„œμ™€ κ·œμΉ™ 등을 μ •μ˜ν•œ μΌμ’…μ˜ β€˜λ¬Έλ²• κ·œμΉ™μ„œβ€™μž…λ‹ˆλ‹€.

  • 예λ₯Ό λ“€μ–΄, β€œμ΄ λ¬Έμ„œλŠ” λ°˜λ“œμ‹œ <제λͺ©>으둜 μ‹œμž‘ν•΄μ•Ό ν•˜λ©°, <λ³Έλ¬Έ>μ—λŠ” <단락> νƒœκ·Έλ§Œ 포함될 수 μžˆλ‹€β€λŠ” κ·œμΉ™μ„ DTD에 λͺ…μ‹œν•©λ‹ˆλ‹€.
  • κ²°κ³Ό: DTDλ₯Ό μ •μ˜ν•˜λ©΄, ν•΄λ‹Ή λ¬Έμ„œκ°€ κ·Έ κ·œμΉ™μ„ λ”°λ₯΄κ³  μžˆλŠ”μ§€ 검증(Validation)ν•  수 μžˆμŠ΅λ‹ˆλ‹€.

3. SGML μ„ μ–Έ (SGML Declaration)

SGML이 μ‚¬μš©ν•  문자 μ§‘ν•©, ꡬ뢄 기호 λ“± κ°€μž₯ 기본적인 μ–Έμ–΄ ν™˜κ²½μ„ μ •μ˜ν•©λ‹ˆλ‹€. (일반적으둜 κ°œλ°œμžκ°€ 직접 κ±΄λ“œλ¦΄ 일은 거의 μ—†μŠ΅λ‹ˆλ‹€.)


3️⃣ πŸ–₯ SGML의 μ€‘μš”μ„± 및 κ³„μŠΉ (HTMLκ³Ό XML)

SGML은 λ°©λŒ€ν•˜κ³  λ³΅μž‘ν•˜λ©°, λͺ¨λ“  κ·œμΉ™μ„ μ™„λ²½ν•˜κ²Œ κ΅¬ν˜„ν•˜κΈ° μœ„ν•΄μ„œλŠ” κ³ κ°€μ˜ μ „μš© μ†Œν”„νŠΈμ›¨μ–΄κ°€ ν•„μš”ν–ˆμŠ΅λ‹ˆλ‹€. 이 λ³΅μž‘μ„±μ΄ 일반적인 μ›Ή ν™˜κ²½μ—μ„œλŠ” λ‹¨μ μœΌλ‘œ μž‘μš©ν–ˆμŠ΅λ‹ˆλ‹€.

ν•˜μ§€λ§Œ SGML의 ν˜μ‹ μ μΈ μ•„μ΄λ””μ–΄λŠ” μ›Ήμ˜ λ°œμ „μ„ μ΄λŒμ—ˆμŠ΅λ‹ˆλ‹€.

μ–Έμ–΄κΈ°λ°˜νŠΉμ§• 및 μ—­ν• 
SGMLλͺ¨λ“  λ§ˆν¬μ—… μ–Έμ–΄μ˜ ν‘œμ€€λ¬Έλ²•μ„ μ •μ˜ν•˜λŠ” κ·œμΉ™. μ‚¬μš©μž μ •μ˜ νƒœκ·Έμ™€ ꡬ쑰λ₯Ό κ°€λŠ₯ν•˜κ²Œ 함.
HTML (HyperText Markup Language)SGML의 ν•œ κ°€μ§€ μ‘μš© ν”„λ‘œκ·Έλž¨λ―Έλ¦¬ μ •μ˜λœ κ³ μ •λœ DTD (μ›Ή νŽ˜μ΄μ§€μš© DTD)λ₯Ό κ°€μ§„ SGMLμž…λ‹ˆλ‹€. λ³΅μž‘ν•œ SGML κ·œμΉ™μ„ λ‹¨μˆœν™”ν•˜μ—¬ μ›Ή ν™˜κ²½μ— μ΅œμ ν™”λ˜μ—ˆμŠ΅λ‹ˆλ‹€.
XML (eXtensible Markup Language)SGML의 κ°„μ†Œν™”λœ ν›„κ³„μž1998년에 λ“±μž₯. SGML의 λ³΅μž‘μ„±μ„ μ œκ±°ν•˜κ³  데이터 κ΅ν™˜μ— 쀑점을 λ‘” λ²„μ „μž…λ‹ˆλ‹€. μ‚¬μš©μžκ°€ 직접 μƒˆλ‘œμš΄ νƒœκ·Έλ₯Ό μ •μ˜ν•  수 μžˆμ–΄ ν™•μž₯성이 λ›°μ–΄λ‚©λ‹ˆλ‹€.
  • ν˜„μž¬μ˜ μœ„μƒ: SGML μžμ²΄λŠ” ν˜„μž¬ μƒˆλ‘œμš΄ λ¬Έμ„œ μ‹œμŠ€ν…œμ„ κ΅¬μΆ•ν•˜λŠ” 데 거의 μ‚¬μš©λ˜μ§€ μ•Šμ§€λ§Œ, κ·Έ 자리λ₯Ό XML이 μ™„λ²½ν•˜κ²Œ λŒ€μ²΄ν•˜κ³  μžˆμŠ΅λ‹ˆλ‹€. HTML5λŠ” SGML의 DTDμ—μ„œ λ²—μ–΄λ‚˜ λ…μžμ μΈ ν‘œμ€€(WHATWG)을 λ”°λ₯΄κ³  μžˆμ§€λ§Œ, νƒœκ·Έλ₯Ό μ‚¬μš©ν•΄ λ¬Έμ„œ ꡬ쑰λ₯Ό μ •μ˜ν•˜λŠ” 근본적인 방식은 SGML의 μœ μ‚°μž…λ‹ˆλ‹€.

SGML은 λ¬Έμ„œ 관리, 좜판, 항곡 우주, κ΅­λ°© λ“± κ³ λ„μ˜ ꡬ쑰적 무결성이 μš”κ΅¬λ˜λŠ” λΆ„μ•Όμ—μ„œ 20μ„ΈκΈ° ν›„λ°˜κΉŒμ§€ κ΄‘λ²”μœ„ν•˜κ²Œ μ‚¬μš©λ˜μ—ˆμŠ΅λ‹ˆλ‹€.


ꢁ극적으둜 SGML은 β€œλ°μ΄ν„° ꡬ쑰λ₯Ό μ •μ˜ν•˜λŠ” ν‘œμ€€ν™”λœ 방법둠”을 μ œμ‹œν•˜μ—¬, ν˜„μž¬μ˜ λͺ¨λ“  λ””μ§€ν„Έ λ¬Έμ„œμ™€ μ›Ή 기술의 μ΄ˆμ„μ„ λ†“μ•˜λ‹€λŠ” μ μ—μ„œ μ—­μ‚¬μ μœΌλ‘œ 맀우 μ€‘μš”ν•©λ‹ˆλ‹€.

infodori1234

Recent Posts

πŸ–₯ NetBIOS over TCP IP NBT μ™„μ „ κ°€μ΄λ“œ

둜컬 λ„€νŠΈμ›Œν¬ ν™˜κ²½μ„ μ‘°κΈˆμ΄λΌλ„ 닀뀄본 μ‚¬λžŒμ΄λΌλ©΄ ν•œ λ²ˆμ―€μ€ λ§ˆμ£ΌμΉ˜λŠ” μ΅μˆ™ν•œ 단어가 μžˆμŠ΅λ‹ˆλ‹€. λ°”λ‘œ NetBIOS와 NBTμž…λ‹ˆλ‹€.…

2κ°œμ›” ago

🏠 JSON Schema: 데이터 μœ νš¨μ„± κ²€μ¦μ˜ ν‘œμ€€ 섀계도 πŸ–₯

μ•ˆλ…•ν•˜μ„Έμš”! ν˜„λŒ€ μ›Ή κ°œλ°œμ—μ„œ 데이터 κ΅ν™˜μ˜ 핡심인 JSON(JavaScript Object Notation)을 λ”μš± κ°•λ ₯ν•˜κ³  μ•ˆμ •μ μœΌλ‘œ λ§Œλ“€μ–΄μ£ΌλŠ” 도ꡬ,…

2κ°œμ›” ago

🏠 ECMAScript 3 ν˜Έν™˜μ„± μ™„μ „ 정리 κ°€μ΄λ“œ

❌ ECMAScript 3(E3)λž€ λ¬΄μ—‡μΌκΉŒ ECMAScript 3λŠ” 1999년에 κ³΅μ‹ν™”λœ μžλ°”μŠ€ν¬λ¦½νŠΈ ν‘œμ€€μ΄λ‹€. μ§€κΈˆ 보면 였래된 기술 κ°™μ§€λ§Œ,…

2κ°œμ›” ago

πŸ–₯ CoffeeScript μ™„μ „ κ°€μ΄λ“œ

CoffeeScriptλŠ” ν•œλ•Œ ν”„λ‘ νŠΈμ—”λ“œ 개발 μƒνƒœκ³„μ—μ„œ 맀우 인기 μžˆμ—ˆλ˜ μ–Έμ–΄μ˜€κ³ , μ§€κΈˆλ„ νŠΉμ • ν”„λ‘œμ νŠΈλ‚˜ λ ˆκ±°μ‹œ μ‹œμŠ€ν…œ, κ°„κ²°ν•œ…

2κ°œμ›” ago

🏠 λ©”λͺ¨λ¦¬ λˆ„μˆ˜(Memory Leak) μ‰½κ²Œ μ΄ν•΄ν•˜κΈ°: πŸ–₯ λ‚­λΉ„λ˜λŠ” μ»΄ν“¨ν„°μ˜ κΈ°μ–΅λ ₯ ❌

ν˜„λŒ€μ μΈ ν”„λ‘œκ·Έλž˜λ° ν™˜κ²½μ—μ„œ λ©”λͺ¨λ¦¬ λˆ„μˆ˜(Memory Leak)λŠ” μ—¬μ „νžˆ μ• ν”Œλ¦¬μΌ€μ΄μ…˜μ˜ μ„±λŠ₯ μ €ν•˜μ™€ μΆ©λŒμ„ μΌμœΌν‚€λŠ” μ£Όμš” 원인 쀑…

2κ°œμ›” ago

πŸ–₯️ λΈŒλΌμš°μ € λ Œλ”λ§ κ³Όμ • (CRP) : μ›ΉνŽ˜μ΄μ§€κ°€ λˆˆμ•žμ— λ‚˜νƒ€λ‚˜κΈ°κΉŒμ§€μ˜ λ§ˆλ²•

(Critical Rendering Path, 핡심 λ Œλ”λ§ 경둜 μ™„λ²½ 이해) μ›Ή λΈŒλΌμš°μ €μ— μ£Όμ†Œλ₯Ό μž…λ ₯ν•˜κ³  μ—”ν„°λ₯Ό λˆ„λ₯΄λŠ” μˆœκ°„,…

2κ°œμ›” ago