- docx(๋ง์ดํฌ๋ก์ํํธ ์๋ ํ์);
- pdf(Adobe ํ์);
- mobi(Amazon Kindle ์ฅ์น์์ ์ผ๋ฐ์ ์ผ๋ก ์ฌ์ฉ๋จ)
- ๊ทธ๋ฆฌ๊ณ ํจ์ฌ ๋ (ePub, djvu, fb2 ๋ฑ).
JSON
์๋ฐ์คํฌ๋ฆฝํธ ๊ฐ์ฒด ํ๊ธฐ๋ฒ. ๋น์ ์ ์ด๋ฏธ ์ด ํ์์ ๋ํด ์กฐ๊ธ ์๊ณ ์์ต๋๋ค! ์ฐ๋ฆฌ๋ ์ด ์์ ์์ ๊ทธ๊ฒ์ ๋ํด ์ด์ผ๊ธฐํ๊ณ ๋ฐ๋ก ์ฌ๊ธฐ์์ JSON์ผ๋ก์ ์ง๋ ฌํ๋ฅผ ๋ค๋ฃจ์์ต๋๋ค . ์ด์ ๋๋ฌธ์ ์ด๋ฆ์ ์ป์์ต๋๋ค. JSON์ผ๋ก ๋ณํ๋ Java ๊ฐ์ฒด๋ ์ค์ ๋ก JavaScript์ ๊ฐ์ฒด์ ๋๊ฐ์ด ๋ณด์ ๋๋ค. ๊ฐ์ฒด๋ฅผ ์ดํดํ๊ธฐ ์ํด JavaScript๋ฅผ ์ ํ์๋ ์์ต๋๋ค.{
"title": "War and Peace",
"author": "Lev Tolstoy",
"year": 1869
}
์ฐ๋ฆฌ๋ ๋จ์ผ ๊ฐ์ฒด๋ฅผ ๋ณด๋ด๋ ๊ฒ์ ๊ตญํ๋์ง ์์ต๋๋ค. JSON ํ์์ ๊ฐ์ฒด ๋ฐฐ์ด์ ๋ํ๋ผ ์๋ ์์ต๋๋ค.
[
{
"title": "War and Peace",
"author": "Lev Tolstoy",
"year": 1869
},
{
"title": "Demons",
"author": "Fyodor Dostoyevsky",
"year": 1872
},
{
"title": "The Seagull",
"author": "Anton Chekhov",
"year": 1896
}
]
JSON์ JavaScript ๊ฐ์ฒด๋ฅผ ๋ํ๋ด๋ฏ๋ก ๋ค์ JavaScript ๋ฐ์ดํฐ ํ์์ ์ง์ํฉ๋๋ค.
- ๋ฌธ์์ด;
- ์ซ์;
- ์ฌ๋ฌผ;
- ๋ฐฐ์ด;
- ๋ถ์ธ(์ฐธ ๋ฐ ๊ฑฐ์ง);
- ์๋.
-
์ฌ๋์ด ์ฝ์ ์ ์๋ ํ์. ์ต์ข ์ฌ์ฉ์๊ฐ ์ธ๊ฐ์ธ ๊ฒฝ์ฐ ์ด๋ ๋ช ๋ฐฑํ ์ด์ ์ ๋๋ค. ์๋ฅผ ๋ค์ด ์๋ฒ์ ๋นํ ์ผ์ ์ด ์๋ ๋ฐ์ดํฐ๋ฒ ์ด์ค๊ฐ ์๋ค๊ณ ๊ฐ์ ํฉ๋๋ค. ์ง์์ ์์ ์ ์ปดํจํฐ์ ์์ ์๋ ์ธ๊ฐ ๊ณ ๊ฐ์ ์น ์ ํ๋ฆฌ์ผ์ด์ ์ ์ฌ์ฉํ์ฌ ์ด ๋ฐ์ดํฐ๋ฒ ์ด์ค์์ ๋ฐ์ดํฐ๋ฅผ ์์ฒญํฉ๋๋ค. ๊ทธ๊ฐ ์ดํดํ ์ ์๋ ํ์์ผ๋ก ๋ฐ์ดํฐ๋ฅผ ์ ๊ณตํด์ผ ํ๊ธฐ ๋๋ฌธ์ JSON์ ํ๋ฅญํ ์๋ฃจ์ ์ ๋๋ค.
-
๊ฐ๋จ. ๋งค์ฐ ๊ฐ๋จํฉ๋๋ค :) ์์์ ์ฐ๋ฆฌ๋ ๋ ๊ฐ์ JSON ํ์ผ์ ์๋ฅผ ๋ค์์ต๋๋ค. ๊ทธ๋ฆฌ๊ณ JavaScript(JavaScript ๊ฐ์ฒด๋ ๋งํ ๊ฒ๋ ์๊ณ )์ ๋ํด ๋ค์ด๋ณธ ์ ์ด ์๋๋ผ๋ ๊ฑฐ๊ธฐ์ ์ค๋ช ๋ ๊ฐ์ฒด ์ข ๋ฅ๋ฅผ ์ฝ๊ฒ ์ดํดํ ์ ์์ต๋๋ค.
์ ์ฒด JSON ๋ฌธ์๋ ๋ช ์ฅ์ ์ฌ์ง์ด ์๋ ์น ํ์ด์ง ๋ก ๊ตฌ์ฑ๋ฉ๋๋ค. -
๋๋ฆฌ ์ฌ์ฉ๋ฉ๋๋ค. JavaScript๋ ์ง๋ฐฐ์ ์ธ ํ๋ฐํธ ์๋ ์ธ์ด์ด๋ฉฐ ์์ฒด ์๊ตฌ ์ฌํญ์ด ์์ต๋๋ค. JSON์ ์ฌ์ฉํ๋ ๊ฒ์ ํ์์ ๋๋ค. ๋ฐ๋ผ์ ์๋ง์ ์น ์๋น์ค์์ JSON์ ๋ฐ์ดํฐ ๊ตํ ํ์์ผ๋ก ์ฌ์ฉํฉ๋๋ค. ๋ชจ๋ ์ต์ IDE๋ JSON ํ์(IntelliJ IDEA ํฌํจ)์ ์ง์ํฉ๋๋ค. JSON์ผ๋ก ์์ ํ ์ ์๋๋ก ๋ชจ๋ ์ข ๋ฅ์ ํ๋ก๊ทธ๋๋ฐ ์ธ์ด์ ๋ํด ๋ง์ ๋ผ์ด๋ธ๋ฌ๋ฆฌ๊ฐ ์์ฑ๋์์ต๋๋ค.
YAML
์ฒ์์ YAML์ "Yet Another Markup Language"์ ์ฝ์์์ต๋๋ค. ์์ ๋น์์๋ XML์ ๊ฒฝ์์๋ก ์๋ฆฌ ์ก์์ต๋๋ค. ์ด์ ์๊ฐ์ด ์ง๋จ์ ๋ฐ๋ผ YAML์ "YAML์ ๋งํฌ์ ์ธ์ด๊ฐ ์๋๋๋ค"๋ฅผ ์๋ฏธํ๊ฒ ๋์์ต๋๋ค. ์ ํํ ๋ฌด์์ ๋๊น? ์ปดํจํฐ ๊ฒ์์์ ์บ๋ฆญํฐ๋ฅผ ๋ํ๋ด๊ธฐ ์ํด Warrior, Mage, Thief๋ผ๋ 3๊ฐ์ ํด๋์ค๋ฅผ ๋ง๋ค์ด์ผ ํ๋ค๊ณ ์์ํด ๋ด ์๋ค. ๊ทธ๋ค์ ํ, ๋ฏผ์ฒฉ์ฑ, ์ง๊ตฌ๋ ฅ, ๋ฌด๊ธฐ ์ธํธ์ ๊ฐ์ ํน์ฑ์ ๊ฐ์ต๋๋ค. ํด๋์ค๋ฅผ ์ค๋ช ํ๋ YAML ํ์ผ์ ๋ค์๊ณผ ๊ฐ์ต๋๋ค.classes:
class-1:
title: Warrior
power: 8
agility: 4
stamina: 7
weapons:
- sword
- spear
class-2:
title: Mage
power: 5
agility: 7
stamina: 5
weapons:
- magic staff
class-3:
title: Thief
power: 6
agility: 6
stamina: 5
weapons:
- dagger
- poison
YAML ํ์ผ์๋ ํธ๋ฆฌ ๊ตฌ์กฐ๊ฐ ์์ต๋๋ค. ์ผ๋ถ ์์๋ ๋ค๋ฅธ ์์์ ์ค์ฒฉ๋ฉ๋๋ค. ๊ฐ ๋ ๋ฒจ์ ๋ํ๋ด๋ ๋ฐ ์ฌ์ฉํ๋ ํน์ ์์ ๊ณต๋ฐฑ์ ์ฌ์ฉํ์ฌ ์ค์ฒฉ์ ์ ์ดํ ์ ์์ต๋๋ค. YAML ํ์์ ์ฅ์ ์ ๋ฌด์์
๋๊น?
-
์ฌ๋์ด ์ฝ์ ์ ์์ต๋๋ค. ๋ค์ ๋งํ์ง๋ง ์ค๋ช ์์ด YAML ํ์ผ์ ๋ณด๋๋ผ๋ ์ค๋ช ํ๋ ๊ฐ์ฒด๋ฅผ ์ฝ๊ฒ ์ดํดํ ์ ์์ต๋๋ค. YAML์ ์ฌ๋์ด ์ฝ์ ์ ์์ด์ yaml.org ์น์ฌ์ดํธ๋ ์ผ๋ฐ YAML ํ์ผ์ ๋๋ค :)
-
์ปดํฉํธํจ. ํ์ผ ๊ตฌ์กฐ๋ ๊ณต๋ฐฑ์ ์ฌ์ฉํ์ฌ ์์ฑ๋ฉ๋๋ค. ๋๊ดํธ๋ ์ธ์ฉ ๋ถํธ๋ฅผ ์ฌ์ฉํ ํ์๊ฐ ์์ต๋๋ค.
-
ํ๋ก๊ทธ๋๋ฐ ์ธ์ด์ ๋ํ ๊ธฐ๋ณธ ๋ฐ์ดํฐ ๊ตฌ์กฐ๋ฅผ ์ง์ํฉ๋๋ค. JSON ๋ฐ ๊ธฐํ ์ฌ๋ฌ ํ์์ ๋นํด YAML์ ํฐ ์ฅ์ ์ ๋ค์ํ ๋ฐ์ดํฐ ๊ตฌ์กฐ๋ฅผ ์ง์ํ๋ค๋ ๊ฒ์ ๋๋ค. ์ฌ๊ธฐ์๋ ๋ค์์ด ํฌํจ๋ฉ๋๋ค.
-
!!map
์ค๋ณต์ ๊ฐ์ง ์ ์๋ ์ ๋ ฌ๋์ง ์์ ํค-๊ฐ ์ ์ธํธ์ ๋๋ค. -
!!omap
์ค๋ณต๋ ์ ์๋ ํค-๊ฐ ์์ ์ ๋ ฌ๋ ์ํ์ค์ ๋๋ค. -
!!pairs:
์ค๋ณต์ ๊ฐ์ง ์ ์๋ ํค-๊ฐ ์์ ์ ๋ ฌ๋ ์ํ์ค์ ๋๋ค. - !!set
์๋ก ๊ฐ์ง ์์ ๊ฐ์ ์ ๋ ฌ๋์ง ์์ ์ํ์ค์ ๋๋ค. - !!seq
์์ ๊ฐ์ ์ํ์ค.
Java์์ ์ด๋ฌํ ๊ตฌ์กฐ ์ค ์ผ๋ถ๋ฅผ ์ธ์ํ๊ฒ ๋ ๊ฒ์ ๋๋ค! :) ์ด๋ ํ๋ก๊ทธ๋๋ฐ ์ธ์ด์ ๋ค์ํ ๋ฐ์ดํฐ ๊ตฌ์กฐ๋ฅผ YAML๋ก ์ง๋ ฌํํ ์ ์์์ ์๋ฏธํฉ๋๋ค.
-
-
์ต์ปค ๋ฐ ๋ณ์นญ ์ฌ์ฉ ๊ธฐ๋ฅ
์ด๋ฌํ ๋ง์ปค๋ฅผ ์ฌ์ฉํ๋ฉด YAML ํ์ผ์์ ์ผ๋ถ ์์๋ฅผ ์๋ณํ ๋ค์ ๋ฐ๋ณต์ ์ผ๋ก ๋ฐ์ํ๋ ๊ฒฝ์ฐ ํ์ผ์ ๋๋จธ์ง ๋ถ๋ถ์์ ์ฐธ์กฐํ ์ ์์ต๋๋ค. & ๊ธฐํธ๋ฅผ ์ฌ์ฉํ์ฌ ์ต์ปค๋ฅผ ๋ง๋ค๊ณ *๋ฅผ ์ฌ์ฉํ์ฌ ๋ณ์นญ์ ๋ง๋ญ๋๋ค .
Leo Tolstoy์ ์ฑ ์ ์ค๋ช ํ๋ ํ์ผ์ด ์๋ค๊ณ ๊ฐ์ ํฉ๋๋ค. ๊ฐ ์ฑ ์ ์ ์ ์ด๋ฆ์ ์์ฑํ์ง ์์ผ๋ ค๋ฉด ๊ฐ๋จํ๊ฒ leo ์ต์ปค๋ฅผ ๋ง๋ค๊ณ ํ์ํ ๋ ๋ณ์นญ์ ์ฌ์ฉํ์ฌ ์ฐธ์กฐํฉ๋๋ค.
books: book-1: title: War and Peace author: &leo Leo Tolstoy year: 1869 book-2: title: Anna Karenina author: *leo year: 1873 book-3: title: Family Happiness author: *leo year: 1859
์ด ํ์ผ์ด ๊ตฌ๋ฌธ ๋ถ์๋ ๋ "Leo Tolstoy" ๊ฐ์ด ๋ณ์นญ์ด ์๋ ์ฌ๋ฐ๋ฅธ ์์น์์ ๋์ฒด๋ฉ๋๋ค.
- YAML์ ๋ฐ์ดํฐ๋ฅผ ๋ค๋ฅธ ํ์์ผ๋ก ํฌํจํ ์ ์์ต๋๋ค. ์๋ฅผ ๋ค์ด JSON:
books: [ { "title": "War and Peace", "author": "Leo Tolstoy", "year": 1869 }, { "title": "Anna Karenina", "author": "Leo Tolstoy", "year": 1873 }, { "title": "Family Happiness", "author": "Leo Tolstoy", "year": 1859 } ]
๊ธฐํ ์ง๋ ฌํ ํ์
XML
์ด ํ์์ ํ๊ทธ ํธ๋ฆฌ๋ฅผ ๊ธฐ๋ฐ์ผ๋ก ํฉ๋๋ค.<book>
<title>Harry Potter and the Philosopherโs Stone</title>
<author>J. K. Rowling</author>
<year>1997</year>
</book>
๊ฐ ์์๋ ์ฌ๋ ํ๊ทธ์ ๋ซ๋ ํ๊ทธ(<> ๋ฐ </>)๋ก ๊ตฌ์ฑ๋ฉ๋๋ค. ๊ฐ ์์๋ ์ค์ฒฉ๋ ์์๋ฅผ ๊ฐ์ง ์ ์์ต๋๋ค. XML์ JSON ๋ฐ YAML๋งํผ ์ข์ ๊ณตํต ํ์์
๋๋ค(์ค์ ํ๋ก์ ํธ์ ๋ํด ์ด์ผ๊ธฐํ๋ ๊ฒฝ์ฐ). XML์ ๋ํ ๋ณ๋์ ๊ฐ์๊ฐ ์์ต๋๋ค .
BSON(์ด์ง JSON)
์ด๋ฆ์์ ์ ์ ์๋ฏ์ด BSON์ JSON๊ณผ ๋งค์ฐ ์ ์ฌํ์ง๋ง ์ฌ๋์ด ์ฝ์ ์ ์์ผ๋ฉฐ ์ด์ง ๋ฐ์ดํฐ๋ฅผ ์ฌ์ฉํฉ๋๋ค. ๊ฒฐ๊ณผ์ ์ผ๋ก ์ด๋ฏธ์ง ๋ฐ ๊ธฐํ ์ฒจ๋ถ ํ์ผ์ ์ ์ฅํ๊ณ ์ ์กํ๋ ๋ฐ ๋งค์ฐ ์ข์ต๋๋ค. ๋ํ BSON์ JSON์์ ์ฌ์ฉํ ์ ์๋ ์ผ๋ถ ๋ฐ์ดํฐ ์ ํ์ ์ง์ํฉ๋๋ค. ์๋ฅผ ๋ค์ด BSON ํ์ผ์๋ ๋ ์ง(๋ฐ๋ฆฌ์ด ํ์) ๋๋ JavaScript ์ฝ๋ ์กฐ๊ฐ์ด ํฌํจ๋ ์ ์์ต๋๋ค. ๋์ค์ ์ธ MongoDB NoSQL ๋ฐ์ดํฐ๋ฒ ์ด์ค๋ ์ ๋ณด๋ฅผ BSON ํ์์ผ๋ก ์ ์ฅํฉ๋๋ค.์์น ๊ธฐ๋ฐ ํ๋กํ ์ฝ
๊ฒฝ์ฐ์ ๋ฐ๋ผ ์ ์ก๋๋ ๋ฐ์ดํฐ์ ์์ ๋ํญ ์ค์ฌ์ผ ํฉ๋๋ค(์: ๋ฐ์ดํฐ๊ฐ ๋ง๊ณ ๋ก๋๋ฅผ ์ค์ฌ์ผ ํ๋ ๊ฒฝ์ฐ). ์ด ์ํฉ์์ ์์น ๊ธฐ๋ฐ ํ๋กํ ์ฝ์ ์ฌ์ฉํ ์ ์์ต๋๋ค. ์ฆ, ๋งค๊ฐ๋ณ์ ์์ฒด์ ์ด๋ฆ ์์ด ๋งค๊ฐ๋ณ์ ๊ฐ์ ๋ณด๋ผ ์ ์์ต๋๋ค."Leo Tolstoy" | "Anna Karenina" | 1873
์ด ํ์์ ๋ฐ์ดํฐ๋ ์ ์ฒด JSON ํ์ผ๋ณด๋ค ๋ช ๋ฐฐ ์ ์ ๊ณต๊ฐ์ ์ฐจ์งํฉ๋๋ค. ๋ฌผ๋ก ๋ค๋ฅธ ์ง๋ ฌํ ํ์๋ ์์ง๋ง ์ง๊ธ ๋น์ฅ ๋ค ์ ํ์๋ ์์ต๋๋ค :) ์์ฉ ํ๋ก๊ทธ๋จ์ ๊ฐ๋ฐํ ๋ ํ์ฌ ์ฐ์
ํ์ค ํ์์ ์ต์ํ๊ณ ๊ทธ ์ฅ์ ๊ณผ ์ฐจ์ด์ ์ ๊ธฐ์ตํ๋ ๊ฒ์ด ์ข์ต๋๋ค. ๋ ๋ค๋ฅธ. ์ด๊ฒ์ผ๋ก ์์
์ด ๋๋ฉ๋๋ค :) ์ค๋ ๋ช ๊ฐ์ง ๊ณผ์ ๋ฅผ ํด๊ฒฐํ๋ ๊ฒ์ ์์ง ๋ง์ธ์! ๋ค์ ์๊ฐ๊น์ง! :)