๐Ÿ‡จ๐Ÿ‡ณ DiscoTOC ์ž๋™ ์ฝ˜ํ…์ธ  ๋ชฉ์ฐจ

:information_source: ๊ฐœ์š” DiscoTOC๋Š” ํ…Œ๋งˆ์— ๋Œ€ํ•ด ๋ฒ„ํŠผ ํ•œ ๋ฒˆ์œผ๋กœ ๋ชฉ์ฐจ(TOC)๋ฅผ ์ƒ์„ฑํ•  ์ˆ˜ ์žˆ๋„๋ก ํ•ด์ค๋‹ˆ๋‹ค.
:eyeglasses: ๋ฏธ๋ฆฌ๋ณด๊ธฐ Beginner's guide to using Discourse Themes (๋งํฌ๋Š” ์ƒˆ ํƒญ์—์„œ ๋ฐฉ๋ฌธํ•ด์ฃผ์„ธ์š”)
:hammer_and_wrench: ์ €์žฅ์†Œ ๋งํฌ https://github.com/discourse/DiscoTOC
:open_book: Discourse ํ…Œ๋งˆ์— ๋Œ€ํ•ด ์ž˜ ๋ชจ๋ฅด์‹œ๋‚˜์š”? ๊ณต์‹ ์›น์‚ฌ์ดํŠธ์—์„œ Discourse ํ…Œ๋งˆ ์‚ฌ์šฉ ์ดˆ๋ณด ๊ฐ€์ด๋“œ๋ฅผ ์ฐธ๊ณ ํ•˜์„ธ์š”.

์˜ˆ์‹œ

๋ฐ์Šคํฌํ†ฑ


๋ชจ๋ฐ”์ผ

๊ธฐ๋Šฅ

toc = table of contents (๋ชฉ์ฐจ)

  • ๋ฉ”๋‰ด ์ƒ๋‹จ์˜ ์„ค์ • ๋ฒ„ํŠผ์„ ํ†ตํ•ด ํ˜„์žฌ ์ฝ˜ํ…์ธ  ์ƒํƒœ์— ๋งž์ถฐ ๋ฒ„ํŠผ ํ•œ ๋ฒˆ์œผ๋กœ TOC ๋ชฉ๋ก์„ ์ƒ์„ฑํ•ฉ๋‹ˆ๋‹ค.
  • TOC๋Š” ํŽ˜์ด์ง€์— ํ•ญ์ƒ ํ‘œ์‹œ๋ฉ๋‹ˆ๋‹ค. ์ฝ˜ํ…์ธ  ์Šคํฌ๋กค๊ณผ ํ† ํ”ฝ ๋‚ด ๋งํฌ๊ฐ€ ๋™๊ธฐํ™”๋ฉ๋‹ˆ๋‹ค.
  • ํ˜„์žฌ ํŽ˜์ด์ง€์˜ ์„น์…˜์„ ์Šคํฌ๋กคํ•  ๋•Œ, ํ•ด๋‹น ์„น์…˜์˜ TOC ํ•ญ๋ชฉ์ด ํ•˜์ด๋ผ์ดํŠธ(์ดˆ๋ก์ƒ‰)๋กœ ํ‘œ์‹œ๋ฉ๋‹ˆ๋‹ค.
  • ์ œ๋ชฉ์— ์†์„ฑ์„ ์ถ”๊ฐ€ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค(๋‹ค๋ฅธ ํ† ํ”ฝ/ํฌ์ŠคํŠธ์—์„œ ํŠน์ • ์ฝ˜ํ…์ธ ๋กœ ๋งํฌํ•  ์ˆ˜ ์žˆ์Œ).
  • TOC์˜ ์„น์…˜ ๋งํฌ๋ฅผ ํด๋ฆญํ•˜๋ฉด ๋ธŒ๋ผ์šฐ์ €๊ฐ€ ๋ณธ๋ฌธ ์ฝ˜ํ…์ธ ์˜ ํ•ด๋‹น ์œ„์น˜๋กœ ์ด๋™ํ•ฉ๋‹ˆ๋‹ค(์Šคํฌ๋กค ๋™๊ธฐํ™”).
  • ๊ฐ ์ œ๋ชฉ์— ๋ณต์‚ฌ ๊ฐ€๋Šฅํ•œ ๋งํฌ๋ฅผ ์ถ”๊ฐ€ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค(์›ํ•˜๋Š” ๊ฒฝ์šฐ์—๋งŒ).
  • RTL(์˜ค๋ฅธ์ชฝ์—์„œ ์™ผ์ชฝ์œผ๋กœ ์ฝ๋Š” ์–ธ์–ด) ์ง€์›
  • ํ˜„์žฌ ์‚ฌ์šฉ ์ค‘์ธ ์ƒ‰์ƒ ํ…Œ๋งˆ๋ฅผ ๊ธฐ๋ฐ˜์œผ๋กœ ํ•œ ์ƒ‰์ƒ ์Šคํ‚ด ์ ์šฉ

์ž‘๋™ ์›๋ฆฌ

๊ธฐ๋ณธ์ ์œผ๋กœ ํ˜„์žฌ ์ฝ˜ํ…์ธ ์˜ ์ œ๋ชฉ์€ TOC๋กœ ํ‘œ์‹œ๋ฉ๋‹ˆ๋‹ค(composer ๋ฒ„ํŠผ์œผ๋กœ ์ด ์ž‘์—…์„ ์ˆ˜ํ–‰ํ•ฉ๋‹ˆ๋‹ค). ๋˜ํ•œ ํ˜„์žฌ ํ† ํ”ฝ์ด ํ•ด๋‹น ํƒœ๊ทธ๋ฅผ ๊ฐ€์ง€๊ณ  ์žˆ๋‹ค๋ฉด, ์ด๋Š” ์ œ๋ชฉ์˜ ๊ณ„์ธต ๊ตฌ์กฐ์— ๋”ฐ๋ผ TOC๋กœ ๋ณ€ํ™˜๋ฉ๋‹ˆ๋‹ค. ๋ชจ๋“  ์ฝ˜ํ…์ธ  ์ œ๋ชฉ์€ TOC๋กœ ๋ณ€ํ™˜๋˜์–ด์•ผ ํ•˜๋ฏ€๋กœ MD ํŒŒ์ผ์˜ ์ œ๋ชฉ ์„ค์ •์ด ์ •ํ™•ํ•ด์•ผ ํ•˜๋ฉฐ, ์ œ๋ชฉ ๊ณ„์ธต ์„ค์ •์— ์˜ค๋ฅ˜๊ฐ€ ์žˆ์œผ๋ฉด ๋ณ€ํ™˜ ๊ฒฐ๊ณผ์—๋„ ์˜ค๋ฅ˜๊ฐ€ ๋ฐœ์ƒํ•ฉ๋‹ˆ๋‹ค.

# heading 1
## heading 2
### heading 3
#### heading 4
##### heading 5
###### heading 6

๊ณ„์ธต ๊ตฌ์กฐ๋Š” ์ž์œ ๋กญ๊ฒŒ ์กฐ์ •ํ•  ์ˆ˜ ์žˆ์ง€๋งŒ, ๊ณ„์ธต์˜ ์ •ํ™•์„ฑ์„ ๋ฐ˜๋“œ์‹œ ์œ ์ง€ํ•ด์•ผ ํ•ฉ๋‹ˆ๋‹ค.

# heading 2 
## heading 3
## heading 3
### heading 4
## heading 3
# heading 2

etc...

๋งํฌ๊ฐ€ ์ •์ƒ์ ์œผ๋กœ ์ž‘๋™ํ•˜๋ ค๋ฉด ๋ชจ๋“  ์ œ๋ชฉ์—๋Š” Id ์†์„ฑ์ด ํ•„์š”ํ•ฉ๋‹ˆ๋‹ค.

์ด ์ปดํฌ๋„ŒํŠธ๋Š” ์ œ๋ชฉ์˜ Id๋ฅผ ์ž๋™์œผ๋กœ ๊ฒ€์ฆํ•ฉ๋‹ˆ๋‹ค. Id๊ฐ€ ์กด์žฌํ•˜๋ฉด ์ปดํฌ๋„ŒํŠธ๊ฐ€ ๋” ํšจ์œจ์ ์œผ๋กœ ์‹คํ–‰๋ฉ๋‹ˆ๋‹ค. ๋˜ํ•œ Id๋Š” ์ˆ˜๋™์œผ๋กœ ํ† ํ”ฝ์„ ์ƒ์„ฑํ•  ๋•Œ์—๋„ ์œ ์šฉํ•ฉ๋‹ˆ๋‹ค.

์ œ๋ชฉ์— Id๊ฐ€ ์—†๋‹ค๋ฉด, ์ด ์ปดํฌ๋„ŒํŠธ๋Š” ์ œ๋ชฉ์˜ ๋‚ด์šฉ์„ ๊ธฐ๋ฐ˜์œผ๋กœ Id๋ฅผ ์ž๋™์œผ๋กœ ์ƒ์„ฑํ•ฉ๋‹ˆ๋‹ค(๋ถˆํ•„์š”ํ•œ ๋ฌธ์ž๋Š” ์ž๋™์œผ๋กœ ๋ฌด์‹œ๋ฉ๋‹ˆ๋‹ค).

์œ„์˜ ๋ชจ๋“  ์ž‘์—…์ด ์™„๋ฃŒ๋˜๋ฉด, TOC๋Š” ์ œ๋ชฉ์„ ๊ธฐ๋ฐ˜์œผ๋กœ ๋ณธ๋ฌธ์œผ๋กœ ์—ฐ๊ฒฐ๋˜๋Š” ๋งํฌ๋ฅผ ์ƒ์„ฑํ•ฉ๋‹ˆ๋‹ค. ์•„๋ž˜ ๊ทธ๋ฆผ๊ณผ ๊ฐ™์Šต๋‹ˆ๋‹ค:

์„ค์ •

์ด ์ปดํฌ๋„ŒํŠธ๋Š” TOC ์•„์ด์ฝ˜(์ด ์ด๋ฏธ์ง€๋Š” ํ›„์† ์„ค์ •์—์„œ ์‚ฌ์šฉ๋˜๋ฉฐ, ๊ณต์‹์ ์œผ๋กœ ์ด ์•„์ด์ฝ˜์„ ์ˆ˜์ •ํ•˜๋Š” ๊ฒƒ์€ ๊ถŒ์žฅ๋˜์ง€ ์•Š์Œ)์— ๋Œ€ํ•œ ์„ค์ •๋งŒ ํ•˜๋‚˜ ์žˆ์Šต๋‹ˆ๋‹ค.

๋ฒˆ์—ญ ๋ฐ ํ˜„์ง€ํ™”

์ด ์ปดํฌ๋„ŒํŠธ๋Š” ๋ฒˆ์—ญ์ด ํ•„์š”ํ•œ ๋‚ด์šฉ์ด ๋งค์šฐ ์ ์œผ๋ฉฐ, ์•„๋ž˜ 3๊ฐœ ํ•„๋“œ๋งŒ ๋ฒˆ์—ญํ•˜๋ฉด ๋ฉ๋‹ˆ๋‹ค.

table_of_contents: "table of contents (๋ชฉ์ฐจ)"

์ด๊ฒƒ์€ ๋ชจ๋ฐ”์ผ์—์„œ TOC๋ฅผ ์—ด ๋•Œ ํ‘œ์‹œ๋ฉ๋‹ˆ๋‹ค.

insert_table_of_contents: "Insert table of contents (๋ชฉ์ฐจ ์‚ฝ์ž…)"

์ด๊ฒƒ์€ ๋ชฉ์ฐจ๊ฐ€ ํ† ํ”ฝ ํŽ˜์ด์ง€์— ์‚ฝ์ž…๋  ๋•Œ ํ‘œ์‹œ๋ฉ๋‹ˆ๋‹ค.

topic_will_contain_a_table_of_contents: "This topic will contain a table of contents (์ด ํ† ํ”ฝ์—๋Š” ๋ชฉ์ฐจ๊ฐ€ ํฌํ•จ๋ฉ๋‹ˆ๋‹ค)"

์ด ๋‚ด์šฉ์€ ํ† ํ”ฝ ๋‚ด์šฉ์„ ํŽธ์ง‘ํ•  ๋•Œ, ์˜ค๋ฅธ์ชฝ์˜ ๋ฏธ๋ฆฌ๋ณด๊ธฐ ์˜์—ญ์— ํ‘œ์‹œ๋ฉ๋‹ˆ๋‹ค.

์ œ๋ชฉ ์ƒ์„ฑ ๋ฐฉ๋ฒ•

  1. ์ฝ˜ํ…์ธ ์˜ ์ œ๋ชฉ์„ ์ƒ์„ฑํ•  ๋•Œ ์˜ฌ๋ฐ”๋ฅธ ๊ตฌ๋ฌธ์„ ์‚ฌ์šฉํ•ด์•ผ ํ•ฉ๋‹ˆ๋‹ค.
  2. ํŽ˜์ด์ง€์˜ ๋ฉ”๋‰ด ์˜ต์…˜์„ ํด๋ฆญํ•ฉ๋‹ˆ๋‹ค(์ด ์˜ต์…˜์€ ์ผ๋ฐ˜ ํ† ํ”ฝ๊ณผ ํฌ์ŠคํŠธ์—์„œ๋งŒ ํ‘œ์‹œ๋˜๋ฉฐ, ๋‹ต๋ณ€์ด๋‚˜ ๊ฐœ์ธ ๋ฉ”์‹œ์ง€๋Š” ํ•ด๋‹น๋˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค).
  3. ํ† ํ”ฝ ํŽ˜์ด์ง€์— ์‚ฝ์ž…ํ•ฉ๋‹ˆ๋‹ค.

TOC ์‚ฌ์šฉ ์‹œ ์ฝ๊ธฐ ์ง„ํ–‰๋ฅ  ์œ„์ ฏ์€ ์–ด๋–ป๊ฒŒ ๋˜๋Š”๊ฐ€

ํŽ˜์ด์ง€์—์„œ ์ฝ๊ธฐ ์ง„ํ–‰๋ฅ ๊ณผ TOC๋ฅผ ๋™์‹œ์— ํ‘œ์‹œํ•  ์ˆ˜ ์—†๋‹ค๋Š” ๊ฒƒ์„ ์•„์‹ค ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

๊ณต์‹ ์†”๋ฃจ์…˜์€ ๋‹ค์Œ๊ณผ ๊ฐ™์Šต๋‹ˆ๋‹ค. ์ฒซ ๋ฒˆ์งธ ํฌ์ŠคํŠธ๋ฅผ ์ฝ๋Š” ๋™์•ˆ TOC๊ฐ€ ์กด์žฌํ•˜๋ฉด, ํŽ˜์ด์ง€์—๋Š” TOC๋งŒ ํ‘œ์‹œ๋˜๊ณ  ์ฝ๊ธฐ ์ง„ํ–‰๋ฅ  ์œ„์ ฏ์€ ํ‘œ์‹œ๋˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค.

์ฒซ ๋ฒˆ์งธ ํฌ์ŠคํŠธ๋ฅผ ๋„˜์–ด ์ฝ์„ ๋•Œ, TOC๋Š” ํ‘œ์‹œ๋˜์ง€ ์•Š๊ณ  ๋Œ€์‹  ์ „์ฒด ์ฝ˜ํ…์ธ ์˜ ์ฝ๊ธฐ ์ง„ํ–‰๋ฅ  ํ‘œ์‹œ์ค„์ด ํ‘œ์‹œ๋ฉ๋‹ˆ๋‹ค.

๊ฐ„๋‹จํžˆ ๋งํ•ด, TOC๋Š” ์ฒซ ๋ฒˆ์งธ ํฌ์ŠคํŠธ์—๋งŒ ์ ์šฉ๋˜๋ฉฐ, ์ดํ›„ ํฌ์ŠคํŠธ์—๋Š” ์ฝ๊ธฐ ์ง„ํ–‰๋ฅ  ํ‘œ์‹œ์ค„์ด ์‚ฌ์šฉ๋ฉ๋‹ˆ๋‹ค.

๋ชจ๋ฐ”์ผ๊ณผ ๋ฐ์Šคํฌํ†ฑ ์•ฑ์˜ ํ‘œ์‹œ ๋ฐฉ์‹์€ ๋™์ผํ•ฉ๋‹ˆ๋‹ค.

์ด ์ปดํฌ๋„ŒํŠธ ์‚ฌ์šฉ ์‹œ ๋ฐœ์ƒํ•  ์ˆ˜ ์žˆ๋Š” ๋ฌธ์ œ

์ž‘์„ฑ์ž ๋ฐ ๊ณต์‹ ๋ฐœํ‘œ์— ๋”ฐ๋ฅด๋ฉด, ์ด ์ปดํฌ๋„ŒํŠธ๋ฅผ ์‚ฌ์šฉํ•˜๋ฉด์„œ ํ˜„์žฌ๊นŒ์ง€ ๋ฌธ์ œ๊ฐ€ ๋ฐœ์ƒํ•˜์ง€ ์•Š์•˜์Šต๋‹ˆ๋‹ค.

๋ชจ๋“  ์ฝ˜ํ…์ธ  ํ‘œ์‹œ๋Š” ํด๋ผ์ด์–ธํŠธ ์ธก์—์„œ ์ˆ˜ํ–‰๋ฉ๋‹ˆ๋‹ค(์ „๋ฌธ ์šฉ์–ด๋กœ ํ‘œํ˜„ํ•˜๋ฉด ํ”„๋ก ํŠธ์—”๋“œ์—์„œ ์ฒ˜๋ฆฌ๋จ). ๋”ฐ๋ผ์„œ ๋ฐฑ์—”๋“œ ๋ฐ์ดํ„ฐ ์ œ๊ณต์—๋Š” ์•„๋ฌด๋Ÿฐ ์˜ํ–ฅ์ด ์—†์Šต๋‹ˆ๋‹ค.

์ด ์ปดํฌ๋„ŒํŠธ๋ฅผ ๋น„ํ™œ์„ฑํ™”ํ•˜๋ฉด ๋ชจ๋“  ์ฝ˜ํ…์ธ ๊ฐ€ ์›๋ž˜ ์ƒํƒœ๋กœ ๋ณต์›๋ฉ๋‹ˆ๋‹ค.

์‚ฌ์šฉ ์ œํ•œ

์ด ์ปดํฌ๋„ŒํŠธ๋Š” ํ‘œ์ค€ ํ…Œ๋งˆ ๋ ˆ์ด์•„์›ƒ์„ ์‚ฌ์šฉํ•ฉ๋‹ˆ๋‹ค.

์‚ฌ์šฉ ์ค‘์ธ ๋ ˆ์ด์•„์›ƒ์ด ์ œ๋ชฉ ์‚ฌ์šฉ๋ฒ•์„ ์ˆ˜์ •ํ•œ ๊ฒฝ์šฐ, ์ด TOC ์ปดํฌ๋„ŒํŠธ๋Š” ์ •์ƒ์ ์œผ๋กœ ์ž‘๋™ํ•˜์ง€ ์•Š์„ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

์˜ˆ๋ฅผ ๋“ค์–ด, Vincent ํ…Œ๋งˆ๋ฅผ ์‚ฌ์šฉํ•˜๋Š” ๊ฒฝ์šฐ ์ด ์ปดํฌ๋„ŒํŠธ๋Š” ์ •์ƒ์ ์œผ๋กœ ์ž‘๋™ํ•˜์ง€ ์•Š๋Š” ๊ฒƒ์œผ๋กœ ์•Œ๋ ค์ ธ ์žˆ์Šต๋‹ˆ๋‹ค.

์ธ๊ธฐ ์žˆ๋Š” ํ…Œ๋งˆ์— ๋Œ€ํ•œ ์ง€์›์€ ์ด ๊ณต์‹ ํ”Œ๋Ÿฌ๊ทธ์ธ์˜ ๋‹ค์Œ ๊ณ ๋ ค ์‚ฌํ•ญ์ž…๋‹ˆ๋‹ค.

๊ฐœ๋ฐœ์ž

๊ณต์‹ ์ž‘์„ฑ์ž๋Š” Greg Franko์˜ tocify.js ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ๋ฅผ ๊ธฐ๋ฐ˜์œผ๋กœ ๊ฐœ๋ฐœํ–ˆ์Šต๋‹ˆ๋‹ค.

ํ•˜์ง€๋งŒ ์•ˆํƒ€๊น๊ฒŒ๋„ ์ด ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ๋Š” ์˜ค๋žซ๋™์•ˆ ์—…๋ฐ์ดํŠธ๋˜์ง€ ์•Š์•„, ์ž‘์„ฑ์ž๋Š” ๋ถˆํ•„์š”ํ•œ ๋‚ด์šฉ๊ณผ ๊ธฐ๋Šฅ์ด ์—†๊ฑฐ๋‚˜ ์ฝ”๋“œ ์ค‘ ๋ถˆํ•„์š”ํ•œ ๋ถ€๋ถ„์„ ์ œ๊ฑฐํ•˜๊ณ  ๊ด€๋ จ ๊ธฐ๋Šฅ์„ Discourse์— ํ†ตํ•ฉํ–ˆ์Šต๋‹ˆ๋‹ค.

์ „์ฒด ์ปดํฌ๋„ŒํŠธ์˜ ํฌ๊ธฐ๋Š” ์•ฝ 4kb์ž…๋‹ˆ๋‹ค(gzip ์••์ถ• ๊ธฐ์ค€).

์ž‘์„ฑ์ž๋Š” @erlend_sh ๋‹˜์˜ ํ›Œ๋ฅญํ•œ ์กฐ์–ธ๊ณผ @david ๋‹˜์˜ ๋ฒˆ์—ญ ์ž‘์—…์— ๊ฐ์‚ฌ์˜ ๋œป์„ ์ „ํ•ฉ๋‹ˆ๋‹ค.

๊ฐœ์„  ์‚ฌํ•ญ(TODO)

  • ํŽธ์ง‘ ์‹œ TOC๋ฅผ ์‹ค์‹œ๊ฐ„์œผ๋กœ ๋น„๊ต ํ‘œ์‹œ(๋ฆฌ์†Œ์Šค ์†Œ๋ชจ๊ฐ€ ๋งค์šฐ ํด ์ˆ˜ ์žˆ์Œ)
  • ์ฃผ์š” ํ…Œ๋งˆ์—์„œ TOC ํ‘œ์‹œ ์ง€์›
  • ์ œ๋ชฉ์˜ ๋งํฌ ๋ฒ„ํŠผ์„ ํด๋ฆญํ•  ๋•Œ ์ž๋™์œผ๋กœ ํด๋ฆฝ๋ณด๋“œ์— ๋ณต์‚ฌ.

์ด ๋ฒ„์ „์˜ ๋ฆด๋ฆฌ์Šค์— ๋Œ€ํ•ด ์ž‘์„ฑ์ž๋Š” ๋‹ค์Œ๊ณผ ๊ฐ™์ด ๋ฐํ˜”์Šต๋‹ˆ๋‹ค: ์ด ๋ฆด๋ฆฌ์Šค๋Š” ์•„์ง ์ดˆ๊ธฐ ๋‹จ๊ณ„์ด๋ฉฐ, ์ด ์ปดํฌ๋„ŒํŠธ์— ๋Œ€ํ•œ ๋ฌธ์ œ์ ์ด๋‚˜ ์ œ์•ˆ, ๊ฐœ์„  ์‚ฌํ•ญ์ด ์žˆ๋‹ค๋ฉด ์›์ž‘์ž์—๊ฒŒ ์ง์ ‘ ์—ฐ๋ฝํ•ด ์ฃผ์‹œ๊ธฐ ๋ฐ”๋ž๋‹ˆ๋‹ค.

๊ณต์‹์ ์ธ ์ด ์ปดํฌ๋„ŒํŠธ ์„ค๋ช…, ๋งํฌ ๋ฐ ํ† ๋ก ์€ ๋‹ค์Œ ํŽ˜์ด์ง€๋ฅผ ์ฐธ๊ณ ํ•˜์„ธ์š”: DiscoTOC - automatic table of contents

๊ธฐ์ˆ  ์ง€์› (์ค‘๊ตญ์–ด)

๊ธฐํƒ€ ๋ฌธ์˜ ์‚ฌํ•ญ์ด๋‚˜ ๋„์›€์ด ํ•„์š”ํ•˜์‹  ๊ฒฝ์šฐ, ๋‹น์‚ฌ ์›น์‚ฌ์ดํŠธ(์ค‘๊ตญ์–ด)๋ฅผ ๋ฐฉ๋ฌธํ•˜์„ธ์š”: iSharkFly - ้ฃž้ฒจ

1๊ฐœ์˜ ์ข‹์•„์š”