XML은 거의 항상 μ˜€μš©λ©λ‹ˆλ‹€.

XML은 거의 항상 μ˜€μš©λ©λ‹ˆλ‹€.
XML μ–Έμ–΄λŠ” 1996년에 발λͺ…λ˜μ—ˆμŠ΅λ‹ˆλ‹€. 그것이 λ‚˜νƒ€λ‚˜μžλ§ˆμž κ·Έ 적용 κ°€λŠ₯성이 이미 μ˜€ν•΄λ˜κΈ° μ‹œμž‘ν–ˆκ³ , 그듀이 그것을 μ μš©ν•˜λ €λŠ” λͺ©μ μ— λΉ„μΆ”μ–΄ λ³Ό λ•Œ 그것은 μ΅œμ„ μ˜ 선택이 μ•„λ‹ˆμ—ˆμŠ΅λ‹ˆλ‹€.

λ‚΄κ°€ λ³Έ λŒ€λ‹€μˆ˜μ˜ XML μŠ€ν‚€λ§ˆλŠ” XML을 λΆ€μ μ ˆν•˜κ±°λ‚˜ μ˜¬λ°”λ₯΄μ§€ μ•Šκ²Œ μ‚¬μš©ν–ˆλ‹€κ³  해도 과언이 μ•„λ‹™λ‹ˆλ‹€. λ”μš±μ΄ μ΄λŸ¬ν•œ XML μ‚¬μš©μ€ XML이 무엇인지에 λŒ€ν•œ 근본적인 μ˜€ν•΄λ₯Ό λ³΄μ—¬μ£Όμ—ˆμŠ΅λ‹ˆλ‹€.

XML은 λ§ˆν¬μ—… μ–Έμ–΄μž…λ‹ˆλ‹€. 이것은 데이터 ν˜•μ‹μ΄ μ•„λ‹™λ‹ˆλ‹€.. λŒ€λΆ€λΆ„μ˜ XML μŠ€ν‚€λ§ˆλŠ” μ΄λŸ¬ν•œ ꡬ별을 λͺ…μ‹œμ μœΌλ‘œ κ°„κ³Όν•˜μ—¬ XML을 데이터 ν˜•μ‹κ³Ό ν˜Όλ™ν•˜μ—¬ μ‹€μ œλ‘œ ν•„μš”ν•œ 데이터 ν˜•μ‹μ΄κΈ° λ•Œλ¬Έμ— XML을 μ„ νƒν•˜λŠ” μ‹€μˆ˜λ₯Ό μ΄ˆλž˜ν–ˆμŠ΅λ‹ˆλ‹€.

λ„ˆλ¬΄ μžμ„Ένžˆ μ„€λͺ…ν•˜μ§€ μ•Šκ³ λ„ XML은 ꡬ쑰와 λ©”νƒ€λ°μ΄ν„°λ‘œ ν…μŠ€νŠΈ 블둝에 주석을 μΆ”κ°€ν•˜λŠ” 데 κ°€μž₯ μ ν•©ν•©λ‹ˆλ‹€. μ£Όμš” λͺ©ν‘œκ°€ ν…μŠ€νŠΈ λΈ”λ‘μœΌλ‘œ μž‘μ—…ν•˜λŠ” 것이 μ•„λ‹ˆλΌλ©΄ XML을 μ„ νƒν•˜λŠ” 것이 νƒ€λ‹Ήν•˜μ§€ μ•Šμ„ κ²ƒμž…λ‹ˆλ‹€.

이런 κ΄€μ μ—μ„œ XML μŠ€ν‚€λ§ˆκ°€ μ–Όλ§ˆλ‚˜ 잘 λ§Œλ“€μ–΄μ‘ŒλŠ”μ§€ 확인할 수 μžˆλŠ” κ°„λ‹¨ν•œ 방법이 μžˆλ‹€. μ˜λ„ν•œ μŠ€ν‚€λ§ˆμ˜ λ¬Έμ„œλ₯Ό 예둜 λ“€μ–΄ λͺ¨λ“  νƒœκ·Έμ™€ 속성을 μ œκ±°ν•΄ λ³΄κ² μŠ΅λ‹ˆλ‹€. 남은 λ‚΄μš©μ΄ μ˜λ―Έκ°€ μ—†λŠ” 경우(λ˜λŠ” 빈 쀄이 남아 μžˆλŠ” 경우) μŠ€ν‚€λ§ˆκ°€ μ˜¬λ°”λ₯΄κ²Œ κ΅¬μΆ•λ˜μ§€ μ•Šμ•˜κ±°λ‚˜ λ‹¨μˆœνžˆ XML을 μ‚¬μš©ν•˜μ§€ λ§μ•˜μ–΄μ•Ό ν–ˆλ˜ κ²ƒμž…λ‹ˆλ‹€.

μ•„λž˜μ—μ„œλŠ” 잘λͺ» κ΅¬μ„±λœ 회둜의 κ°€μž₯ 일반적인 예λ₯Ό λͺ‡ κ°€μ§€ μ œμ‹œν•˜κ² μŠ΅λ‹ˆλ‹€.

<roΠΎt>
  <item name="name" value="John" />
  <item name="city" value="London" />
</roΠΎt>

μ—¬κΈ°μ—μ„œλŠ” XML둜 κ°„λ‹¨ν•œ ν‚€-κ°’ 사전을 ν‘œν˜„ν•˜λ €λŠ” κ·Όκ±°κ°€ μ—†κ³  μ΄μƒν•œ(맀우 일반적인) μ‹œλ„μ˜ 예λ₯Ό λ³Ό 수 μžˆμŠ΅λ‹ˆλ‹€. λͺ¨λ“  νƒœκ·Έμ™€ 속성을 μ œκ±°ν•˜λ©΄ 빈 행이 λ‚¨κ²Œ λ©λ‹ˆλ‹€. 본질적으둜 이 λ¬Έμ„œλŠ” 아무리 ν„°λ¬΄λ‹ˆμ—†μ΄ 듀리더라도 빈 쀄에 λŒ€ν•œ 의미둠적 μ£Όμ„μž…λ‹ˆλ‹€.

<root name="John" city="London" />

μ„€μƒκ°€μƒμœΌλ‘œ, 사전을 ν‘œν˜„ν•˜λŠ” μ‚¬μΉ˜μŠ€λŸ¬μš΄ λ°©λ²•μœΌλ‘œ 여기에 빈 λ¬Έμžμ—΄μ˜ 의미 주석이 μžˆλŠ” 것이 μ•„λ‹™λ‹ˆλ‹€. μ΄λ²ˆμ—λŠ” "사전"이 루트 μš”μ†Œμ˜ μ†μ„±μœΌλ‘œ 직접 μΈμ½”λ”©λ©λ‹ˆλ‹€. μ΄λŠ” μš”μ†Œμ˜ μ§€μ •λœ 속성 이름 μ„ΈνŠΈλ₯Ό μ •μ˜λ˜μ§€ μ•Šκ³  λ™μ μœΌλ‘œ λ§Œλ“­λ‹ˆλ‹€. λ˜ν•œ μ €μžκ°€ μ‹€μ œλ‘œ ν‘œν˜„ν•˜κ³  μ‹Άμ—ˆλ˜ 것은 λ‹¨μˆœν•œ ν‚€-κ°’ κ΅¬λ¬Έμ΄μ—ˆμ§€λ§Œ κ·Έ λŒ€μ‹  XML을 μ μš©ν•˜κΈ°λ‘œ ν•œ μ™„μ „νžˆ κΈ°κ΄΄ν•œ 결정을 λ‚΄λ € 속성 ꡬ문을 μ‚¬μš©ν•˜κΈ° μœ„ν•œ μ ‘λ‘μ‚¬λ‘œ 단일 빈 μš”μ†Œλ₯Ό μ‚¬μš©ν•˜λ„λ‘ κ°•μš”ν–ˆμŠ΅λ‹ˆλ‹€. 그리고 μ €λŠ” κ·ΈλŸ¬ν•œ κ³„νšμ„ 자주 μ ‘ν•©λ‹ˆλ‹€.

<roΠΎt>
  <item key="name">John</item>
  <item key="city">London</item>
</roΠΎt>

이것은 더 λ‚˜μ€ κ²ƒμ΄μ§€λ§Œ 이제 μ–΄λ–€ 이유둜 ν‚€λŠ” 메타데이터이고 값은 κ·Έλ ‡μ§€ μ•ŠμŠ΅λ‹ˆλ‹€. 사전을 보면 맀우 μ΄μƒν•©λ‹ˆλ‹€. λͺ¨λ“  νƒœκ·Έμ™€ 속성을 μ œκ±°ν•˜λ©΄ μ •λ³΄μ˜ 절반이 μ†μ‹€λ©λ‹ˆλ‹€.

XML의 μ˜¬λ°”λ₯Έ 사전 ν‘œν˜„μ‹μ€ λ‹€μŒκ³Ό κ°™μŠ΅λ‹ˆλ‹€.

<roΠΎt>
  <item>
    <key>Name</key>
    <value>John</value>
  </item>
  <item>
    <key>City</key>
    <value>London</value>
  </item>
</roΠΎt>

κ·ΈλŸ¬λ‚˜ μ‚¬λžŒλ“€μ΄ XML을 데이터 ν˜•μ‹μœΌλ‘œ μ‚¬μš©ν•˜κ³  이λ₯Ό μ–΄νœ˜ ꡬ성에 μ‚¬μš©ν•˜κΈ°λ‘œ μ΄μƒν•œ 결정을 λ‚΄λ Έλ‹€λ©΄ μžμ‹ μ΄ ν•˜κ³  μžˆλŠ” μž‘μ—…μ΄ λΆ€μ μ ˆν•˜κ³  νŽΈλ¦¬ν•˜μ§€ μ•Šλ‹€λŠ” 것을 이해해야 ν•©λ‹ˆλ‹€. λ˜ν•œ λ””μžμ΄λ„ˆκ°€ μ‘μš© ν”„λ‘œκ·Έλž¨μ„ λ§Œλ“€ λ•Œ μ‹€μˆ˜λ‘œ XML을 μ„ νƒν•˜λŠ” κ²½μš°λ„ λ§ŽμŠ΅λ‹ˆλ‹€. κ·ΈλŸ¬λ‚˜ 훨씬 더 자주 그듀은 XML이 λ‹¨μˆœνžˆ 여기에 μ ν•©ν•˜μ§€ μ•Šλ‹€λŠ” 사싀을 λ¬΄μ‹œν•˜κ³  μœ„μ— μ„€λͺ…λœ ν˜•μ‹ 쀑 ν•˜λ‚˜λ‘œ XML을 λ¬΄μ˜λ―Έν•˜κ²Œ μ‚¬μš©ν•¨μœΌλ‘œμ¨ 상황을 λ”μš± μ•…ν™”μ‹œν‚΅λ‹ˆλ‹€.

μ΅œμ•…μ˜ XML μŠ€ν‚€λ§ˆ? 그건 κ·Έλ ‡κ³ , μƒκΈˆμ€ λ‚΄κ°€ λ³Έ μ΅œμ•…μ˜ XML μŠ€ν‚€λ§ˆ, Polycom IP μ „ν™” ν†΅μ‹ μš© μžλ™ ν”„λ‘œλΉ„μ €λ‹ ꡬ성 파일 ν˜•μ‹μ„ κ°€μ Έμ˜΅λ‹ˆλ‹€. μ΄λŸ¬ν•œ νŒŒμΌμ—λŠ” TFTPλ₯Ό 톡해 XML μš”μ²­ νŒŒμΌμ„ λ‹€μš΄λ‘œλ“œν•΄μ•Ό ν•©λ‹ˆλ‹€. 일반적으둜 λ‹€μŒμ€ ν•΄λ‹Ή 파일 쀑 ν•˜λ‚˜μ—μ„œ λ°œμ·Œν•œ κ²ƒμž…λ‹ˆλ‹€.

<softkey
        softkey.feature.directories="0"
        softkey.feature.buddies="0"
        softkey.feature.forward="0"
        softkey.feature.meetnow="0"
        softkey.feature.redial="1"
        softkey.feature.search="1"

        softkey.1.enable="1"
        softkey.1.use.idle="1"
        softkey.1.label="Foo"
        softkey.1.insert="1"
        softkey.1.action="..."

        softkey.2.enable="1"
        softkey.2.use.idle="1"
        softkey.2.label="Bar"
        softkey.2.insert="2"
        softkey.2.action="..." />

이것은 λˆ„κ΅°κ°€μ˜ λ‚˜μœ 농담이 μ•„λ‹™λ‹ˆλ‹€. 그리고 이것은 λ‚΄ 발λͺ…ν’ˆμ΄ μ•„λ‹™λ‹ˆλ‹€.

  • μš”μ†ŒλŠ” λ‹¨μˆœνžˆ 속성을 μ²¨λΆ€ν•˜κΈ° μœ„ν•œ μ ‘λ‘μ‚¬λ‘œ μ‚¬μš©λ˜λ©°, 속성 μžμ²΄μ—λŠ” 계측적 이름이 μžˆμŠ΅λ‹ˆλ‹€.
  • νŠΉμ • λ ˆμ½”λ“œ μœ ν˜•μ˜ μ—¬λŸ¬ μΈμŠ€ν„΄μŠ€μ— 값을 ν• λ‹Ήν•˜λ €λ©΄ 속성 이름을 μ‚¬μš©ν•΄μ•Ό ν•©λ‹ˆλ‹€. μΈλ±μŠ€κ°€ μžˆλŠ” 것.
  • λ˜ν•œ λ‹€μŒμœΌλ‘œ μ‹œμž‘ν•˜λŠ” 속성은 softkey., μš”μ†Œμ— λ°°μΉ˜ν•΄μ•Ό ν•©λ‹ˆλ‹€. <softkey/>, λ‹€μŒμœΌλ‘œ μ‹œμž‘ν•˜λŠ” 속성 feature., μš”μ†Œμ— λ°°μΉ˜ν•΄μ•Ό ν•©λ‹ˆλ‹€. <feature/> λ“±, μ™„μ „νžˆ λΆˆν•„μš”ν•˜κ³  μ–Έλœ»λ³΄κΈ°μ—λŠ” μ˜λ―Έκ°€ μ—†μ–΄ λ³΄μ΄μ§€λ§Œ.
  • 그리고 λ§ˆμ§€λ§‰μœΌλ‘œ 속성 μ΄λ¦„μ˜ 첫 번째 ꡬ성 μš”μ†Œκ°€ 항상 μš”μ†Œ 이름과 λ™μΌν•˜κΈ°λ₯Ό λ°”λžλ‹€λ©΄ 그런 것은 μ—†μŠ΅λ‹ˆλ‹€! 예λ₯Ό λ“€μ–΄ 속성 up. 에 첨뢀해야 ν•©λ‹ˆλ‹€. <userpreferences/>. μš”μ†Œμ— 속성 이름을 μ²¨λΆ€ν•˜λŠ” μˆœμ„œλŠ” μž„μ˜μ μ΄λ©° 거의 μ™„λ²½ν•©λ‹ˆλ‹€.

λ¬Έμ„œ λ˜λŠ” 데이터. λ•Œλ•Œλ‘œ λˆ„κ΅°κ°€ XMLκ³Ό JSON을 λΉ„κ΅ν•˜μ—¬ μ™„μ „νžˆ μ΄μƒν•œ 일을 ν•˜μ—¬ λ‘˜ 쀑 ν•˜λ‚˜λ„ μ΄ν•΄ν•˜μ§€ λͺ»ν•œλ‹€λŠ” 것을 λ³΄μ—¬μ€λ‹ˆλ‹€. XML은 λ¬Έμ„œ λ§ˆν¬μ—… μ–Έμ–΄μž…λ‹ˆλ‹€. JSON은 κ΅¬μ‘°ν™”λœ 데이터 ν˜•μ‹μ΄λ―€λ‘œ μ„œλ‘œ λΉ„κ΅ν•˜λŠ” 것은 λ”°λœ»ν•œ 것과 λΆ€λ“œλŸ¬μš΄ 것을 λΉ„κ΅ν•˜λ €λŠ” 것과 κ°™μŠ΅λ‹ˆλ‹€.

차이점의 κ°œλ… λ¬Έμ„œμ™€ 데이터. XMLκ³Ό μœ μ‚¬ν•˜κ²Œ 기계가 읽을 수 μžˆλŠ” λ¬Έμ„œλ₯Ό μ‘°κ±΄λΆ€λ‘œ κ°€μ Έμ˜¬ 수 μžˆμŠ΅λ‹ˆλ‹€. 기계가 읽을 수 μžˆλ„λ‘ μ˜λ„λ˜μ—ˆμ§€λ§Œ μ€μœ μ μœΌλ‘œλŠ” λ¬Έμ„œλ₯Ό μ˜λ―Έν•˜λ©° μ΄λŸ¬ν•œ κ΄€μ μ—μ„œ λ³Ό λ•Œ μ‹€μ œλ‘œ 기계가 읽을 수 μ—†λŠ” κ²½μš°κ°€ κ°€μž₯ λ§Žμ€ PDF λ¬Έμ„œμ™€ μœ μ‚¬ν•©λ‹ˆλ‹€.

예λ₯Ό λ“€μ–΄ XMLμ—μ„œλŠ” μš”μ†Œμ˜ μˆœμ„œκ°€ μ€‘μš”ν•©λ‹ˆλ‹€. κ·ΈλŸ¬λ‚˜ JSONμ—μ„œλŠ” 객체 λ‚΄ ν‚€-κ°’ 쌍의 μˆœμ„œκ°€ μ˜λ―Έκ°€ μ—†κ³  μ •μ˜λ˜μ§€ μ•ŠμŠ΅λ‹ˆλ‹€. ν‚€-κ°’ 쌍의 μˆœμ„œκ°€ μ§€μ •λ˜μ§€ μ•Šμ€ 사전을 μ–»μœΌλ €λŠ” 경우 ν•΄λ‹Ή νŒŒμΌμ— μš”μ†Œκ°€ λ‚˜νƒ€λ‚˜λŠ” μ‹€μ œ μˆœμ„œλŠ” μ€‘μš”ν•˜μ§€ μ•ŠμŠ΅λ‹ˆλ‹€. ν•˜μ§€λ§Œ 이 λ°μ΄ν„°λ‘œλΆ€ν„° λ‹€μ–‘ν•œ μœ ν˜•μ˜ 데이터λ₯Ό ν˜•μ„±ν•  수 μžˆμŠ΅λ‹ˆλ‹€. μ„œλ₯˜, λ¬Έμ„œμ—λŠ” νŠΉμ • μˆœμ„œκ°€ 있기 λ•Œλ¬Έμž…λ‹ˆλ‹€. μΈμ‡„λ¬Όμ΄λ‚˜ PDF 파일과 달리 물리적 ν¬κΈ°λŠ” μ—†μ§€λ§Œ μ€μœ μ μœΌλ‘œ 쒅이에 적힌 λ¬Έμ„œμ™€ μœ μ‚¬ν•©λ‹ˆλ‹€.

μ μ ˆν•œ XML 사전 ν‘œν˜„μ˜ μ˜ˆλŠ” JSON ν‘œν˜„κ³Ό λ°˜λŒ€λ‘œ μ‚¬μ „μ˜ μš”μ†Œ μˆœμ„œλ₯Ό λ³΄μ—¬μ€λ‹ˆλ‹€. λ‚˜λŠ” 이 μˆœμ„œλ₯Ό λ¬΄μ‹œν•  수 μ—†μŠ΅λ‹ˆλ‹€. 이 μ„ ν˜•μ„±μ€ λ¬Έμ„œ λͺ¨λΈκ³Ό XML ν˜•μ‹μ— λ‚΄μž¬λ˜μ–΄ μžˆμŠ΅λ‹ˆλ‹€. μ–΄λ–€ μ‚¬λžŒλ“€μ€ 이 XML λ¬Έμ„œλ₯Ό 해석할 λ•Œ μˆœμ„œλ₯Ό λ¬΄μ‹œν•˜κΈ°λ‘œ 선택할 μˆ˜λ„ μžˆμ§€λ§Œ, 이 λ¬Έμ œλŠ” ν˜•μ‹ μžμ²΄μ— λŒ€ν•œ λ…Όμ˜ λ²”μœ„λ₯Ό λ²—μ–΄λ‚˜λ―€λ‘œ 이에 λŒ€ν•΄ λ…ΌμŸν•  ν•„μš”λŠ” μ—†μŠ΅λ‹ˆλ‹€. λ”μš±μ΄, CSS μŠ€νƒ€μΌ μ‹œνŠΈλ₯Ό λ¬Έμ„œμ— μ²¨λΆ€ν•˜μ—¬ λΈŒλΌμš°μ €μ—μ„œ λ¬Έμ„œλ₯Ό λ³Ό 수 μžˆλ„λ‘ ν•˜λ©΄ 사전 μš”μ†Œκ°€ νŠΉμ • μˆœμ„œλ‘œλ§Œ λ‚˜νƒ€λ‚˜λŠ” 것을 λ³Ό 수 μžˆμŠ΅λ‹ˆλ‹€.

즉, 사전(κ΅¬μ‘°ν™”λœ 데이터 쑰각)은 λ‹€μŒκ³Ό 같이 λ³€ν™˜λ  수 μžˆμŠ΅λ‹ˆλ‹€. n λ‹€μ–‘ν•œ κ°€λŠ₯ν•œ λ¬Έμ„œ(XML, PDF, 쒅이 λ“±) n - 사전에 μžˆλŠ” μš”μ†Œμ˜ κ°€λŠ₯ν•œ μ‘°ν•© 수이며 λ‹€λ₯Έ κ°€λŠ₯ν•œ λ³€μˆ˜λŠ” 아직 κ³ λ €ν•˜μ§€ μ•Šμ•˜μŠ΅λ‹ˆλ‹€.

κ·ΈλŸ¬λ‚˜ λ°μ΄ν„°λ§Œ μ „μ†‘ν•˜λ €λŠ” 경우 기계 νŒλ… κ°€λŠ₯ν•œ λ¬Έμ„œλ₯Ό μ‚¬μš©ν•˜λŠ” 것은 νš¨κ³Όμ μ΄μ§€ μ•ŠμŠ΅λ‹ˆλ‹€. 이 경우 λΆˆν•„μš”ν•œ λͺ¨λΈμ„ μ‚¬μš©ν•˜λ―€λ‘œ λ°©ν•΄κ°€ 될 λΏμž…λ‹ˆλ‹€. λ˜ν•œ 원본 데이터λ₯Ό μΆ”μΆœν•˜λ €λ©΄ ν”„λ‘œκ·Έλž¨μ„ μž‘μ„±ν•΄μ•Ό ν•©λ‹ˆλ‹€. μ–΄λŠ μ‹œμ μ—μ„œ λ¬Έμ„œ ν˜•μ‹μ΄ μ§€μ •λ˜μ§€ μ•ŠλŠ” ν•­λͺ©(예: CSSλ‚˜ XSLT λ˜λŠ” λ‘˜ λ‹€ μ‚¬μš©)에 λŒ€ν•΄ XML을 μ‚¬μš©ν•˜λŠ” 것은 거의 μ˜λ―Έκ°€ μ—†μŠ΅λ‹ˆλ‹€. μ™œλƒν•˜λ©΄ 그것이 μœ μΌν•œ μ΄μœ λŠ” μ•„λ‹ˆμ§€λ§Œ 주된 이유이기 λ•Œλ¬Έμž…λ‹ˆλ‹€. λ¬Έμ„œ λͺ¨λΈμ—.

λ”μš±μ΄ XMLμ—λŠ” 숫자(λ˜λŠ” λΆ€μšΈ ν‘œν˜„μ‹ λ˜λŠ” 기타 데이터 μœ ν˜•) κ°œλ…μ΄ μ—†μœΌλ―€λ‘œ 이 ν˜•μ‹μœΌλ‘œ ν‘œν˜„λœ λͺ¨λ“  μˆ«μžλŠ” 단지 μΆ”κ°€ ν…μŠ€νŠΈλ‘œ κ°„μ£Όλ©λ‹ˆλ‹€. 데이터λ₯Ό μΆ”μΆœν•˜λ €λ©΄ μŠ€ν‚€λ§ˆμ™€ ν‘œν˜„λ˜λŠ” ν•΄λ‹Ή λ°μ΄ν„°μ™€μ˜ 관계λ₯Ό μ•Œμ•„μ•Ό ν•©λ‹ˆλ‹€. λ˜ν•œ 상황에 따라 νŠΉμ • ν…μŠ€νŠΈ μš”μ†Œκ°€ 숫자λ₯Ό λ‚˜νƒ€λ‚΄κ³  숫자둜 λ³€ν™˜λ˜μ–΄μ•Ό ν•˜λŠ” κ²½μš°λ„ μ•Œμ•„μ•Ό ν•©λ‹ˆλ‹€.

λ”°λΌμ„œ XML λ¬Έμ„œμ—μ„œ 데이터λ₯Ό μΆ”μΆœν•˜λŠ” 과정은 예λ₯Ό λ“€μ–΄ λ§Žμ€ νŽ˜μ΄μ§€μ˜ 숫자 데이터λ₯Ό κ΅¬μ„±ν•˜λŠ” ν…Œμ΄λΈ”μ„ ν¬ν•¨ν•˜λŠ” μŠ€μΊ”λœ λ¬Έμ„œλ₯Ό μΈμ‹ν•˜λŠ” κ³Όμ •κ³Ό 크게 λ‹€λ₯΄μ§€ μ•ŠμŠ΅λ‹ˆλ‹€. 예, μ›μΉ™μ μœΌλ‘œλŠ” κ°€λŠ₯ν•˜μ§€λ§Œ λ‹€λ₯Έ μ˜΅μ…˜μ΄ μ „ν˜€ μ—†λŠ” μ΅œν›„μ˜ μˆ˜λ‹¨μ„ μ œμ™Έν•˜κ³ λŠ” 이것이 κ°€μž₯ 졜적의 방법은 μ•„λ‹™λ‹ˆλ‹€. 합리적인 해결책은 데이터λ₯Ό νŠΉμ • ν…μŠ€νŠΈ ν‘œν˜„κ³Ό κ²°ν•©ν•˜λŠ” λ¬Έμ„œ λͺ¨λΈμ— ν¬ν•¨λ˜μ§€ μ•Šμ€ 원본 λ°μ΄ν„°μ˜ λ””μ§€ν„Έ 볡사본을 μ°ΎλŠ” κ²ƒμž…λ‹ˆλ‹€.

즉, XML이 λΉ„μ¦ˆλ‹ˆμŠ€μ—μ„œ 널리 μ‚¬μš©λœλ‹€λŠ” 사싀은 μ „ν˜€ λ†€λžμ§€ μ•ŠμŠ΅λ‹ˆλ‹€. κ·Έ μ΄μœ λŠ” λ°”λ‘œ λ¬Έμ„œ ν˜•μ‹(쒅이)이 λΉ„μ¦ˆλ‹ˆμŠ€μ— μ΄ν•΄ν•˜κΈ° 쉽고 μΉœμˆ™ν•˜λ©°, μΉœμˆ™ν•˜κ³  μ΄ν•΄ν•˜κΈ° μ‰¬μš΄ λͺ¨λΈμ„ 계속 μ‚¬μš©ν•˜κΈ°λ₯Ό μ›ν•˜κΈ° λ•Œλ¬Έμž…λ‹ˆλ‹€. 같은 이유둜 κΈ°μ—…μ—μ„œλŠ” 기계가 읽을 수 μžˆλŠ” ν˜•μ‹ λŒ€μ‹  PDF λ¬Έμ„œλ₯Ό μ‚¬μš©ν•˜λŠ” κ²½μš°κ°€ λ„ˆλ¬΄ λ§ŽμŠ΅λ‹ˆλ‹€. μ΄λŠ” μ—¬μ „νžˆ νŠΉμ • 물리적 크기의 μΈμ‡„λœ νŽ˜μ΄μ§€ κ°œλ…μ— λ¬Άμ—¬ 있기 λ•Œλ¬Έμž…λ‹ˆλ‹€. μ΄λŠ” 인쇄될 κ°€λŠ₯성이 거의 μ—†λŠ” λ¬Έμ„œ(예: λ ˆμ§€μŠ€νŠΈλ¦¬ λ¬Έμ„œμ˜ 8000νŽ˜μ΄μ§€ PDF)에도 μ μš©λ©λ‹ˆλ‹€. μ΄λŸ¬ν•œ κ΄€μ μ—μ„œ λ³Ό λ•Œ λΉ„μ¦ˆλ‹ˆμŠ€μ—μ„œ XML을 μ‚¬μš©ν•˜λŠ” 것은 본질적으둜 μŠ€νμ–΄λͺ¨ν”Όμ¦˜μ˜ ν‘œν˜„μž…λ‹ˆλ‹€. μ‚¬λžŒλ“€μ€ μ œν•œλœ 크기의 μΈμ‡„λœ νŽ˜μ΄μ§€μ— λŒ€ν•œ μ€μœ μ  아이디어λ₯Ό μ΄ν•΄ν•˜κ³ , μΈμ‡„λœ λ¬Έμ„œλ₯Ό 기반으둜 λΉ„μ¦ˆλ‹ˆμŠ€ ν”„λ‘œμ„ΈμŠ€λ₯Ό μƒμ„±ν•˜λŠ” 방법을 μ΄ν•΄ν•©λ‹ˆλ‹€. 그것이 μ—¬λŸ¬λΆ„μ˜ κ°€μ΄λ“œλΌλ©΄ 기계가 읽을 수 μžˆλŠ” 물리적 크기 μ œν•œμ΄ μ—†λŠ” λ¬Έμ„œ(XML λ¬Έμ„œ)λŠ” μ΅μˆ™ν•˜κ³  νŽΈμ•ˆν•œ λ¬Έμ„œ μ‚¬λ³Έμ΄λ©΄μ„œ ν˜μ‹ μ„ λ‚˜νƒ€λƒ…λ‹ˆλ‹€. μ΄λŠ” 데이터λ₯Ό ν‘œμ‹œν•˜λŠ” λΆ€μ •ν™•ν•˜κ³  μ§€λ‚˜μΉ˜κ²Œ μŠ€νμ–΄λͺ¨ν”½μ μΈ λ°©μ‹μœΌλ‘œ 남아 μžˆλŠ” 것을 λ°©μ§€ν•˜μ§€ λͺ»ν•©λ‹ˆλ‹€.

ν˜„μž¬κΉŒμ§€ λ‚΄κ°€ μ•Œκ³  μžˆλŠ” ν˜•μ‹μ˜ μœ νš¨ν•œ μ‚¬μš©μ΄λΌκ³  ν•  수 μžˆλŠ” μœ μΌν•œ XML μŠ€ν‚€λ§ˆλŠ” XHTMLκ³Ό DocBookμž…λ‹ˆλ‹€.

좜처 : habr.com

DDoS 보호, VPS VDS μ„œλ²„κ°€ μžˆλŠ” μ‚¬μ΄νŠΈλ₯Ό μœ„ν•œ μ•ˆμ •μ μΈ ν˜ΈμŠ€νŒ… κ΅¬μž… πŸ”₯ DDoS 곡격 λ°©μ§€ κΈ°λŠ₯이 νƒ‘μž¬λœ μ•ˆμ •μ μΈ μ›Ήμ‚¬μ΄νŠΈ ν˜ΈμŠ€νŒ…, VPS 및 VDS μ„œλ²„λ₯Ό κ΅¬λ§€ν•˜μ„Έμš” | ProHoster