[์นดํ…Œ๊ณ ๋ฆฌ:] ๐Ÿ”– ์ง„ํ–‰์ค‘์ธํ”„๋กœ์ ํŠธ

  • ์›Œ๋“œํ”„๋ ˆ์Šค ์šฉ ๋งž์ถค๋ฒ• ๊ฒ€์‚ฌ๊ธฐ, ‘Korean Speller’ ๊ฐœ๋ฐœ

    ์›Œ๋“œํ”„๋ ˆ์Šค์—์„œ ๊ธ€์„ ์“ฐ๋Š” ์‚ฌ๋žŒ์ด๋ผ๋ฉด ๋ˆ„๊ตฌ๋‚˜ ํ•œ ๋ฒˆ์ฏค ๊ฒช์–ด๋ดค์„ ๋ฒ•ํ•œ ๋ถˆํŽธํ•จ์ด ์žˆ๋‹ค. ๋ฐ”๋กœ ๋งž์ถค๋ฒ• ๊ฒ€์‚ฌ๋‹ค.

    ํ‹€๋ฆฌ๊ธฐ ์‰ฌ์šด ๋งž์ถค๋ฒ•์œผ๋กœ ๋งŒ๋“  ๋ฌ๊ทธ๋ฆผ
    ๋ ๋ฌ ์ด ๊ทธ๋ ‡๊ฒŒ ์–ด๋ ต๋‚˜?

    ๊ทธ๋Ÿฐ๋ฐ ๋ณธ๋ฌธ ๋‚ด์šฉ์„ ๋ณต์‚ฌํ•ด ์™ธ๋ถ€ ๋งž์ถค๋ฒ• ๊ฒ€์‚ฌ๊ธฐ ์‚ฌ์ดํŠธ์— ๋ถ™์—ฌ ๋„ฃ๊ณ , ๊ต์ •๋œ ๊ฒฐ๊ณผ๋ฅผ ๋‹ค์‹œ ์›Œ๋“œํ”„๋ ˆ์Šค๋กœ ๊ฐ€์ ธ์˜ค๋Š” ๊ณผ์ •์—์„œ ์ •์„ฑ๊ป ์ž…ํžŒ ์„œ์‹๋“ค์ด ๋ฌด๋„ˆ์ง€๋Š” ํ˜„์ƒ์ด๋‹ค. ๊ธ€์ž ์ƒ‰์ƒ, ๊ตต๊ธฐ, ํ•˜์ดํผ๋งํฌ ๋“ฑ์ด ์‚ฌ๋ผ์ง€๊ฑฐ๋‚˜ ๋ธ”๋ก ๊ตฌ์กฐ๊ฐ€ ๊ผฌ์—ฌ๋ฒ„๋ฆฌ๋Š” ๋ฌธ์ œ๋Š” ๊ธ€์“ฐ๊ธฐ์˜ ๋งฅ์„ ๋Š๋Š” ์ฃผ๋ฒ”์ด์—ˆ๋‹ค.

    ๊ฐœ์ธ์ ์œผ๋กœ (๋‚˜๋„ ์™„๋ฒฝํ•˜์ง€๋Š” ์•Š์ง€๋งŒ) ๋งž์ถค๋ฒ•์ด ์ค‘์š”ํ•˜๋‹ค๊ณ  ์ƒ๊ฐํ•˜๊ณ , ๋‚จ์ด ํ‹€๋ฆฌ๋Š” ๊ฑธ ๋ณด๋Š” ๊ฒƒ๋„ ์ž˜ ์ฐธ์ง€ ๋ชปํ•˜๋Š” ํŽธ์ธ๋ฐ ์ด๋ ‡๊ฒŒ ๋ฐœํ–‰ํ•˜๋Š” ๊ฑธ ํ‹€๋ฆฌ๋Š” ๊ฑด ๋” ๋‘๋ ค์šด ์ค‘์—,

    ์ด๋Ÿฌํ•œ ๋‹จ์ˆœํ•˜๋ฉด์„œ๋„ ์น˜๋ช…์ ์ธ ๋ถˆํŽธํ•จ์„ ํ•ด๊ฒฐํ•˜๊ณ ์ž, ๊ตฌํ…๋ฒ ๋ฅดํฌ ์—๋””ํ„ฐ ์ „์šฉ ๋งž์ถค๋ฒ• ๊ต์ • ๋ณด์กฐ ๋„๊ตฌ์ธ ‘WP Korean Speller(Korean Speller)’๋ฅผ ๊ฐœ๋ฐœํ•˜๊ฒŒ ๋˜์—ˆ๋‹ค.

    1. ๊ฐœ๋ฐœ์˜ ์‹œ์ž‘: “์„œ์‹์€ ์ง€ํ‚ค๊ณ , ์˜คํƒˆ์ž๋งŒ ๋ฐ”๊ฟ€ ์ˆ˜๋Š” ์—†์„๊นŒ?”

    ๊ธฐ์กด์˜ ๋ฐฉ์‹๋Œ€๋กœ ๊ต์ •๋œ ํ…์ŠคํŠธ ์ „์ฒด๋ฅผ ์—๋””ํ„ฐ์— ๋ฎ์–ด์”Œ์šฐ๋ฉด HTML ํƒœ๊ทธ ์ •๋ณด๊ฐ€ ์œ ์‹ค๋˜๋Š” ๊ฒฝ์šฐ๊ฐ€ ๋งŽ์•˜๋‹ค. ์ด๋ฅผ ํ•ด๊ฒฐํ•˜๊ธฐ ์œ„ํ•ด ๋‹จ์ˆœํ•œ ํ…์ŠคํŠธ ์น˜ํ™˜์ด ์•„๋‹Œ, ์›Œ๋“œํ”„๋ ˆ์Šค ๊ณต์‹ Block API๋ฅผ ํ™œ์šฉํ•˜๋Š” ๋ฐฉ์‹์„ ํƒํ–ˆ๋‹ค.

    ์›Œ๋“œํ”„๋ ˆ์Šค์˜ ๊ตฌํ…๋ฒ ๋ฅดํฌ๋Š” ๋ชจ๋“  ์ฝ˜ํ…์ธ ๋ฅผ ๋ธ”๋ก(Block) ๋‹จ์œ„๋กœ ๊ด€๋ฆฌํ•œ๋‹ค. ๊ฐ ๋ธ”๋ก์—๋Š” ๊ณ ์œ ํ•œ ์†์„ฑ(Attributes)์ด ์žˆ๋Š”๋ฐ, ์ด ์†์„ฑ๊ฐ’ ์ค‘์—์„œ ํ…์ŠคํŠธ ๋ฐ์ดํ„ฐ๋งŒ ์ •๋ฐ€ํ•˜๊ฒŒ ์ถ”์ถœํ•˜์—ฌ ๊ต์ •๋œ ๋‚ด์šฉ์œผ๋กœ ์—…๋ฐ์ดํŠธํ•˜๊ณ , ๋‚˜๋จธ์ง€ ์Šคํƒ€์ผ ์†์„ฑ์€ ๊ทธ๋Œ€๋กœ ์œ ์ง€ํ•˜๋Š” ๋กœ์ง์„ ์„ค๊ณ„ํ–ˆ๋‹ค. ์ด๋ฅผ ํ†ตํ•ด updateBlockAttributes ํ•จ์ˆ˜๋ฅผ ๊ธฐ๋ฐ˜์œผ๋กœ ํ•œ ์•ˆ์ „ํ•œ ๋ฐ˜์˜ ์‹œ์Šคํ…œ์„ ๊ตฌ์ถ•ํ•  ์ˆ˜ ์žˆ์—ˆ๋‹ค.

    2. ์ฃผ์š” ๊ธฐ๋Šฅ๊ณผ ์„ค๊ณ„ ์ฒ ํ•™

    ํ”Œ๋Ÿฌ๊ทธ์ธ์„ ๊ธฐํšํ•˜๋ฉฐ ๊ฐ€์žฅ ์ค‘์ ์„ ๋‘” ๊ฒƒ์€ ‘ํ๋ฆ„์„ ๋ฐฉํ•ดํ•˜์ง€ ์•Š๋Š” ๊ฐ„๊ฒฐํ•จ’์ด์—ˆ๋‹ค.

    • ์™ธ๋ถ€ ๊ฒ€์‚ฌ๊ธฐ์™€์˜ ์œ ์—ฐํ•œ ์—ฐ๋™: ์ง์ ‘์ ์ธ API ์—ฐ๋™์€ ๋น„์šฉ์ด๋‚˜ ์„œ๋ฒ„ ์•ˆ์ •์„ฑ ๋ฌธ์ œ๊ฐ€ ๋ฐœ์ƒํ•  ์ˆ˜ ์žˆ๋‹ค. ๋Œ€์‹  ๋„ค์ด๋ฒ„ ๊ฒ€์‚ฌ๊ธฐ(๋‹จ๋ฌธ์šฉ)์™€ ๋ฐ”๋ฅธํ•œ๊ธ€ ๊ฒ€์‚ฌ๊ธฐ(๋Œ€์šฉ๋Ÿ‰์šฉ)๋ฅผ ์„ ํƒํ•˜์—ฌ ์—ด ์ˆ˜ ์žˆ๋„๋ก ์ธํ„ฐํŽ˜์ด์Šค๋ฅผ ๊ตฌ์„ฑํ–ˆ๋‹ค.
    • ์›ํด๋ฆญ ์ž๋™ ๋ณต์‚ฌ: ๊ฒ€์‚ฌ๊ธฐ ๋ฒ„ํŠผ์„ ๋ˆ„๋ฅด๋Š” ์ˆœ๊ฐ„ ํ˜„์žฌ ์ž‘์„ฑ ์ค‘์ธ ๋ณธ๋ฌธ ์ „์ฒด๊ฐ€ ํด๋ฆฝ๋ณด๋“œ์— ๋ณต์‚ฌ๋œ๋‹ค. ์‚ฌ์šฉ์ž๋Š” ๊ฒ€์‚ฌ๊ธฐ ์‚ฌ์ดํŠธ์—์„œ ๋ฐ”๋กœ Ctrl+V๋งŒ ๋ˆ„๋ฅด๋ฉด ๋œ๋‹ค.
    • ๋ณต์žกํ•œ ๊ตฌ์กฐ์˜ ์ถ”์ ๊ณผ ๋ณด์กด: ๋ฌธ๋‹จ๋ฟ๋งŒ ์•„๋‹ˆ๋ผ ์ค‘์ฒฉ๋œ ๋ฆฌ์ŠคํŠธ๋‚˜ ์ œ๋ชฉ ๋“ฑ ๋ณต์žกํ•˜๊ฒŒ ์–ฝํžŒ ๋ธ”๋ก ๊ตฌ์กฐ๋ฅผ ์žฌ๊ท€์ ์œผ๋กœ ํƒ์ƒ‰ํ•˜์—ฌ ๊ต์ • ๋‚ด์šฉ์„ ๋ฐ˜์˜ํ•˜๋„๋ก ๋งŒ๋“ค์—ˆ๋‹ค. ๋ฐ˜์˜ ํ›„ ๋ฐœ์ƒํ•  ์ˆ˜ ์žˆ๋Š” ‘๋ธ”๋ก ์˜ค๋ฅ˜’๋ฅผ ์ตœ์†Œํ™”ํ•˜๋Š” ๋ฐ ์‹ฌํ˜ˆ์„ ๊ธฐ์šธ์˜€๋‹ค.
    • ํ†ตํ•ฉ๋œ UI: ์—๋””ํ„ฐ ์šฐ์ธก ์ƒ๋‹จ์— ‘ABC ์ฒดํฌ’ ์•„์ด์ฝ˜์„ ๋ฐฐ์น˜ํ•˜์—ฌ, ์›Œ๋“œํ”„๋ ˆ์Šค ๊ธฐ๋ณธ ๋””์ž์ธ๊ณผ ์ด์งˆ๊ฐ ์—†์ด ์กฐํ™”๋ฅผ ์ด๋ฃจ๋„๋ก ํ–ˆ๋‹ค.

    3. ์‚ฌ์šฉ ๋ฐฉ๋ฒ•

    ์‚ฌ์šฉ๋ฒ•์€ ๋งค์šฐ ์ง๊ด€์ ์ด๋‹ค.

    ์‚ฌ์šฉ๋ฐฉ๋ฒ• ์บก์ณ
    ์—๋””ํ„ฐ์—์„œ ์‹คํ–‰ํ•˜๋ฉด ์ด๋ ‡๊ฒŒ ๋‚˜์˜ค๊ฒŒ ๋œ๋‹ค
    1. ๊ธ€ ํŽธ์ง‘ ํ™”๋ฉด ์šฐ์ธก ์ƒ๋‹จ์˜ ์•„์ด์ฝ˜์„ ํด๋ฆญํ•ด ์‚ฌ์ด๋“œ๋ฐ”๋ฅผ ์—ฐ๋‹ค.
    2. ๊ธ€ ๊ธธ์ด์— ๋งž์ถฐ ๊ฒ€์‚ฌ๊ธฐ๋ฅผ ์„ ํƒํ•œ๋‹ค. ์ด๋•Œ ๋ณธ๋ฌธ์€ ์ž๋™์œผ๋กœ ๋ณต์‚ฌ๋œ๋‹ค.
    3. ์—ด๋ฆฐ ์™ธ๋ถ€ ์‚ฌ์ดํŠธ์—์„œ ๊ต์ •์„ ์ง„ํ–‰ํ•˜๊ณ  ๊ฒฐ๊ณผ๋ฌผ์„ ๋ณต์‚ฌํ•œ๋‹ค.
    4. ์‚ฌ์ด๋“œ๋ฐ” ์ž…๋ ฅ์ฐฝ์— ๊ฒฐ๊ณผ๋ฌผ์„ ๋ถ™์—ฌ๋„ฃ๊ณ  [๋ณธ๋ฌธ์— ๋ฐ˜์˜ํ•˜๊ธฐ] ๋ฒ„ํŠผ์„ ๋ˆ„๋ฅธ๋‹ค.

    ์ด ๊ณผ์ •์„ ๊ฑฐ์น˜๋ฉด ์—๋””ํ„ฐ ์ƒ์˜ ์˜คํƒˆ์ž๋งŒ ์™์™ ๋ฐ”๋€Œ๊ณ , ๋งํฌ๋‚˜ ์„œ์‹์€ ๊ทธ๋Œ€๋กœ ๋ณด์กด๋˜๋Š” ๊ฒƒ์„ ํ™•์ธํ•  ์ˆ˜ ์žˆ๋‹ค.

    4. ๋งˆ์น˜๋ฉฐ

    ํ˜„์žฌ ์ด ํ”Œ๋Ÿฌ๊ทธ์ธ์€ ์›Œ๋“œํ”„๋ ˆ์Šค ๊ณต์‹ ํ”Œ๋Ÿฌ๊ทธ์ธ ๋””๋ ‰ํ† ๋ฆฌ์— ๋“ฑ๋ก๋˜๊ธฐ ์œ„ํ•ด ์‹ฌ์‚ฌ ๊ณผ์ •์„ ๊ฑฐ์น˜๊ณ  ์žˆ๋‹ค. ์ •์‹ ๋“ฑ๋ก์ด ์™„๋ฃŒ๋˜๋ฉด https://wordpress.org/plugins/korean-speller ์ฃผ์†Œ๋ฅผ ํ†ตํ•ด ๋ˆ„๊ตฌ๋‚˜ ๋ฌด๋ฃŒ๋กœ ์„ค์น˜ํ•˜์—ฌ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ์„ ์˜ˆ์ •์ด๋‹ค. (ํ˜„์žฌ ์‹ฌ์‚ฌ์ค‘)

    ๊ฐœ๋ฐœ ๊ณผ์ •์—์„œ ๊ฒช์€ ์ˆ˜๋งŽ์€ ์‹œํ–‰์ฐฉ์˜ค๊ฐ€ ๋ˆ„๊ตฐ๊ฐ€์˜ ๋ธ”๋กœ๊น… ์‹œ๊ฐ„์„ ๋‹จ 5๋ถ„์ด๋ผ๋„ ๋‹จ์ถ•ํ•ด ์ค„ ์ˆ˜ ์žˆ๋‹ค๋ฉด, ๊ฐœ๋ฐœ์ž๋กœ์„œ ๊ทธ๋ณด๋‹ค ๋” ํฐ ๋ณด๋žŒ์€ ์—†์„ ๊ฒƒ์ด๋‹ค. ์™„๋ฒฝํ•œ ๊ธ€๋ณด๋‹ค ‘์•ˆ์ „ํ•˜๊ฒŒ ๊ณ ์ณ์ง„ ๊ธ€’์ด ์ฃผ๋Š” ํŽธ์•ˆํ•จ์„ ๋” ๋งŽ์€ ์›Œ๋“œํ”„๋ ˆ์Šค ์œ ์ €๋“ค์ด ๊ฒฝํ—˜ํ•˜๊ธฐ๋ฅผ ๊ธฐ๋Œ€ํ•œ๋‹ค.

    ์ฒ˜์Œ ๊ธฐํš ๋‹จ๊ณ„์—์„œ์˜ ๋ชฉํ‘œ๋Š” ๊ฝค ์•ผ์‹ฌ ์ฐผ๋‹ค. ์‚ฌ์šฉ์ž๊ฐ€ ๋ฒ„ํŠผ ํ•˜๋‚˜๋งŒ ๋ˆ„๋ฅด๋ฉด, ๋ฐฑ์—”๋“œ์—์„œ ์™ธ๋ถ€ ์„œ๋ฒ„์˜ ๊ฒ€์‚ฌ ๊ฒฐ๊ณผ๋ฅผ ๋ชฐ๋ž˜ ๊ฐ€์ ธ์™€ ๋ณธ๋ฌธ์„ ์ฆ‰์‹œ ๋ฐ”๊ฟ”์ฃผ๋Š” ‘์™„์ „ ์ž๋™ํ™”’๋ฅผ ๊ฟˆ๊ฟจ๋‹ค. ์ด๋ฅผ ์œ„ํ•ด ์†Œ์œ„ ‘์‚ฝ์งˆ’์ด๋ผ ๋ถˆ๋ฆฌ๋Š” API ํƒ์ƒ‰ ์—ฌํ–‰์„ ์‹œ์ž‘ํ–ˆ๋‹ค.

    • ๋„ค์ด๋ฒ„/๋‹ค์Œ ๊ฒ€์‚ฌ๊ธฐ ํŒจํ‚ท ๋ถ„์„: ๋ธŒ๋ผ์šฐ์ € ๊ฐœ๋ฐœ์ž ๋„๊ตฌ์˜ ๋„คํŠธ์›Œํฌ ํƒญ์„ ํ†ตํ•ด ํŠน์ • ์ฃผ์†Œ๋กœ ํ…์ŠคํŠธ๋ฅผ ๋ณด๋‚ด๋ฉด JSON์œผ๋กœ ๋‹ต์„ ์ค€๋‹ค๋Š” ์‚ฌ์‹ค์„ ์•Œ์•„๋ƒˆ์„ ๋• ์œ ๋ ˆ์นด๋ฅผ ์™ธ์ณค๋‹ค. ํ•˜์ง€๋งŒ ๊ธฐ์จ์€ ์˜ค๋ž˜๊ฐ€์ง€ ์•Š์•˜๋‹ค. ์ด API๋“ค์€ ์„œ๋น„์Šค ๋‚ด๋ถ€์—์„œ๋งŒ ์ž‘๋™ํ•˜๋„๋ก ๋ณด์•ˆ ํ‚ค์™€ ์„ธ์…˜ ํ† ํฐ์œผ๋กœ ๋‹จ๋‹จํžˆ ๋ฌด์žฅํ•˜๊ณ  ์žˆ์—ˆ๋‹ค.
    • CORS๋ผ๋Š” ๊ฑฐ๋Œ€ํ•œ ๋ฒฝ: ์–ด๋–ป๊ฒŒ๋“  ์ฃผ์†Œ๋ฅผ ์•Œ์•„๋‚ด ์ž๋ฐ”์Šคํฌ๋ฆฝํŠธ๋กœ ์š”์ฒญ์„ ๋‚ ๋ ค๋ดค์ง€๋งŒ, ๋Œ์•„์˜ค๋Š” ๊ฒƒ์€ ๋นจ๊ฐ„์ƒ‰ ์—๋Ÿฌ ๋ฉ”์‹œ์ง€๋ฟ์ด์—ˆ๋‹ค. ๋‚จ์˜ ์ง‘(๋„ค์ด๋ฒ„) ๋Œ€๋ฌธ ์•ž์—์„œ “ํƒ๋ฐฐ ์™”์–ด์š”!”๋ผ๊ณ  ์™ธ์ณ๋ด์•ผ ๋ฌธ์„ ์—ด์–ด์ค„ ๋ฆฌ ์—†๋Š” CORS(Cross-Origin Resource Sharing) ์ •์ฑ… ๋•Œ๋ฌธ์ด์—ˆ๋‹ค.
    • ์„œ๋ฒ„ ์‚ฌ์ด๋“œ ํ”„๋ก์‹œ(Proxy) ์‹œ๋„: ์ง์ ‘ ์•ˆ ๋˜๋ฉด ๋‚ด ์„œ๋ฒ„๋ฅผ ๊ฑฐ์ณ ๊ฐ€์ž๋Š” ์ƒ๊ฐ์œผ๋กœ PHP ์šฐํšŒ๋กœ๋ฅผ ๋šซ์–ด๋ดค๋‹ค. ์ž ์‹œ ์ž‘๋™ํ•˜๋Š” ๋“ฏํ–ˆ์œผ๋‚˜ ๋‚œ๊ด€์€ ๊ณ„์†๋˜์—ˆ๋‹ค. ์™ธ๋ถ€ ๊ฒ€์‚ฌ๊ธฐ์˜ ์‘๋‹ต ํ˜•์‹์ด ์ˆ˜์‹œ๋กœ ๋ฐ”๋€Œ์—ˆ๊ณ , ๋Œ€๋Ÿ‰์˜ ์š”์ฒญ์ด ๋ชฐ๋ฆด ๊ฒฝ์šฐ ์„œ๋ฒ„ IP๊ฐ€ ์ฐจ๋‹จ๋  ์œ„ํ—˜์ด ์ปธ๋‹ค. ๋ฌด์—‡๋ณด๋‹ค ์‚ฌ์šฉ์ž์˜ ์†Œ์ค‘ํ•œ ๊ธ€ ๋ฐ์ดํ„ฐ๋ฅผ ์ œ3์˜ ์„œ๋ฒ„๋ฅผ ๊ฑฐ์ณ ๋ณด๋‚ด๋Š” ๊ฒƒ์ด ๋ณด์•ˆ์ƒ ์ฐœ์ฐœํ–ˆ๋‹ค.

    ๊ฒฐ๊ตญ ๋ฉฐ์น ๊ฐ„์˜ ์‚ฌํˆฌ ๋์— ๊นจ๋‹ฌ์•˜๋‹ค. “๊ฐ€์žฅ ๋‹จ์ˆœํ•œ ๊ฒƒ์ด ๊ฐ€์žฅ ๊ฐ•๋ ฅํ•˜๋‹ค”๋Š” ๊ฒƒ์„ ๋ง์ด๋‹ค. ์–ต์ง€๋กœ API๋ฅผ ๋”ฐ์™€์„œ ๋ถˆ์•ˆ์ •ํ•œ ์ž๋™ํ™”๋ฅผ ํ•˜๋А๋‹ˆ, ์ฐจ๋ผ๋ฆฌ ๊ฒ€์ฆ๋œ ๊ณต์‹ ์›น์‚ฌ์ดํŠธ๋ฅผ ํ™œ์šฉํ•˜๋Š” ๊ฒƒ์ด ๋‚ซ๋‹ค๋Š” ๊ฒฐ๋ก ์— ๋„๋‹ฌํ–ˆ๋‹ค. ์ „๋žต์„ ์ˆ˜์ •ํ–ˆ๋‹ค. “๊ฐ€์ ธ์˜ค๋Š” ๊ณผ์ •์€ ๊ณต์‹ ์‚ฌ์ดํŠธ์˜ ํž˜์„ ๋นŒ๋ฆฌ๋˜, ๊ฐ€์ ธ์˜จ ๊ฒฐ๊ณผ๋ฅผ ๋‚ด ๊ธ€์— ์ž…ํžˆ๋Š” ๊ณผ์ •๋งŒํผ์€ ๊ทธ ๋ˆ„๊ตฌ๋ณด๋‹ค ์™„๋ฒฝํ•˜๊ฒŒ ์ฒ˜๋ฆฌํ•˜์ž.” ์ด๊ฒƒ์ด ํ˜„์žฌ ์ด ํ”Œ๋Ÿฌ๊ทธ์ธ์˜ ํ•ต์‹ฌ ์ฒ ํ•™์ด ๋˜์—ˆ๋‹ค.

    ๊ธฐ์กด ๋ฐฉ์‹๋Œ€๋กœ ๊ต์ •๋œ ํ…์ŠคํŠธ ์ „์ฒด๋ฅผ ์—๋””ํ„ฐ์— ๋ฎ์–ด์”Œ์šฐ๋ฉด HTML ํƒœ๊ทธ ์ •๋ณด๊ฐ€ ์œ ์‹ค๋˜๋Š” ๊ฒฝ์šฐ๊ฐ€ ๋งŽ์•˜๋‹ค. ์ด๋ฅผ ํ•ด๊ฒฐํ•˜๊ธฐ ์œ„ํ•ด ๋‹จ์ˆœํ•œ ํ…์ŠคํŠธ ์น˜ํ™˜์ด ์•„๋‹Œ, ์›Œ๋“œํ”„๋ ˆ์Šค ๊ณต์‹ Block API๋ฅผ ํ™œ์šฉํ•˜๋Š” ์„ธ ๊ฐ€์ง€ ํ•ต์‹ฌ ๊ธฐ์ˆ ์„ ์ ์šฉํ–ˆ๋‹ค.

    1. ์žฌ๊ท€์  ๋ธ”๋ก ์ฒ˜๋ฆฌ (Recursive Block Handling): ์›Œ๋“œํ”„๋ ˆ์Šค ํฌ์ŠคํŠธ๋Š” ๋‹จ์ˆœ ๋ฌธ๋‹จ๋ฟ๋งŒ ์•„๋‹ˆ๋ผ ๋ฆฌ์ŠคํŠธ, ์ œ๋ชฉ, ์ธ์šฉ ๋ธ”๋ก ๋“ฑ์ด ๋ณต์žกํ•˜๊ฒŒ ์ค‘์ฒฉ๋œ ๊ตฌ์กฐ๋ฅผ ๊ฐ€์ง„๋‹ค. ์ด๋ฅผ ๋น ์ง์—†์ด ์ฒ˜๋ฆฌํ•˜๊ธฐ ์œ„ํ•ด ๋ชจ๋“  ๋ธ”๋ก์„ ์ˆœํšŒํ•˜๋ฉฐ ํ…์ŠคํŠธ ๋…ธ๋“œ๋งŒ์„ ์ฐพ์•„๋‚ด๋Š” ์žฌ๊ท€ ์•Œ๊ณ ๋ฆฌ์ฆ˜์„ ๊ตฌํ˜„ํ–ˆ๋‹ค. ๋•๋ถ„์— ์–ด๋– ํ•œ ๋ณต์žกํ•œ ๊ตฌ์กฐ์—์„œ๋„ ์˜คํƒˆ์ž๋งŒ ์ •ํ™•ํžˆ ์ฐพ์•„๋‚ผ ์ˆ˜ ์žˆ๊ฒŒ ๋˜์—ˆ๋‹ค.
    2. ์ธ๋ผ์ธ ์Šคํƒ€์ผ ๋ณด์กด (Preserving Inline Styles): ๊ธ€์ž ์ƒ‰์ƒ์ด๋‚˜ ๋ณผ๋“œ ์ฒ˜๋ฆฌ๋Š” <span>์ด๋‚˜ <strong> ํƒœ๊ทธ๋กœ ๊ฐ์‹ธ์ ธ ์žˆ๋‹ค. ๋งž์ถค๋ฒ• ๊ต์ • ๊ฒฐ๊ณผ์—์„œ ์ด๋Ÿฌํ•œ ํƒœ๊ทธ๋“ค์„ ๋ฌด์‹œํ•˜๊ณ  ์ˆœ์ˆ˜ ํ…์ŠคํŠธ๋งŒ ๋งค์นญํ•˜์—ฌ ๊ต์ฒดํ•˜๋Š” ๋กœ์ง์„ ์„ค๊ณ„ํ–ˆ๋‹ค. ์ด ๊ณผ์ •์„ ํ†ตํ•ด updateBlockAttributes ํ•จ์ˆ˜๋ฅผ ๊ธฐ๋ฐ˜์œผ๋กœ ๋””์ž์ธ ์œ ์‹ค ์—†๋Š” ์•ˆ์ „ํ•œ ๋ฐ˜์˜ ์‹œ์Šคํ…œ์„ ๊ตฌ์ถ•ํ–ˆ๋‹ค.
    3. ๊ณต์‹ ์ €์žฅ์†Œ ๊ฐ€์ด๋“œ๋ผ์ธ ์ค€์ˆ˜: ์›Œ๋“œํ”„๋ ˆ์Šค ๊ณต์‹ ์ €์žฅ์†Œ ๋“ฑ๋ก์„ ๋ชฉํ‘œ๋กœ ํ–ˆ๊ธฐ์— ๋ณด์•ˆ(Escaping), ๊ตญ์ œํ™”(I18n), ์ฝ”๋”ฉ ํ‘œ์ค€์„ ์ฒ ์ €ํžˆ ์ง€์ผฐ๋‹ค. ํŠนํžˆ ํ”Œ๋Ÿฌ๊ทธ์ธ ๋ช…์นญ ๊ทœ์ • ๋“ฑ ๊นŒ๋‹ค๋กœ์šด ๊ฐ€์ด๋“œ๋ผ์ธ์„ ์ค€์ˆ˜ํ•˜๊ธฐ ์œ„ํ•ด ์ˆ˜์ฐจ๋ก€์˜ ๋ฆฌํŒฉํ† ๋ง ๊ณผ์ •์„ ๊ฑฐ์น˜๋ฉฐ ์™„์„ฑ๋„๋ฅผ ๋†’์˜€๋‹ค.

    ๋‚จ์•„์ผ์–ธ์ค‘์ฒœ๊ธˆ์งค
    ์™ธ์•Š๋˜? ๋ฎ์ง‘ํšŒ์˜ ์•„๋งน์–ด์‚ฌ ๋ช…์˜ˆํšŒ์† ๊ณ ์ •๊ฐ„์—ผ..๋“ฑ๋“ฑ

    ๋‹ค์Œ๋ฒˆ์—” ssl ์ ์šฉ๊ธฐ๋ฅผ ์ ์–ด๋ณด๊ฒ ๋‹ค.

  • ์‚ผ์„ฑ์ „์ž 253,000์› ๋ŒํŒŒ! ๋‚ด๊ฐ€ ๋ฐ”๋กœ ์ฃผ์‹์˜ ์‹ ์ธ๊ฐ€?

    ๋‚จ๋“ค์ด 8๋งŒ ์ „์ž, 9๋งŒ ์ „์ž๋ฅผ ์™ธ์น˜๋ฉฐ ์ผํฌ์ผ๋น„ํ•  ๋•Œ ๋‚˜๋Š” ๋‚จ๋‹ค๋ฅธ ์•ˆ๋ชฉ์œผ๋กœ 235,000์›์— ๋‹น๋‹นํžˆ ์ž…์„ฑํ–ˆ๋‹ค. ๋‹น์‹œ ๋‚ด ํ‰๋‹จ๊ฐ€๋ฅผ ๋“ค์€ ์ง€์ธ๋“ค์€ “์ œ์ •์‹ ์ด๋ƒ” ํ˜น์€ “์šฐ์ฃผ ์ „์Ÿ์ด๋ผ๋„ ์ค€๋น„ํ•˜๋А๋ƒ”๋ฉฐ ๋น„์•„๋ƒฅ๊ฑฐ๋ ธ์ง€๋งŒ, ๋‚˜๋Š” ๊ทธ๋“ค์˜ ์•ˆ๋ชฉ์ด ์งง์Œ์„ ์†์œผ๋กœ ๋น„์›ƒ์—ˆ๋‹ค. ๊ทธ๋ฆฌ๊ณ  ๋งˆ์นจ๋‚ด ์˜ค๋Š˜, ๋ณด๋ž€ ๋“ฏ์ด ์ˆซ์ž๊ฐ€ ๋ฐ”๋€Œ์—ˆ๋‹ค. ์‚ผ์„ฑ์ „์ž๊ฐ€ 253,000์›์„ ์ฐ์—ˆ๋‹ค.

    ํ˜„์žฌ ์‚ผ์„ฑ์ „์ž ์‹ค์‹œ๊ฐ„ ์ฃผ๊ฐ€(Google Finance)์˜ ์ˆ˜์น˜ ๋”ฐ์œ„๋Š” ์ค‘์š”ํ•˜์ง€ ์•Š๋‹ค. ๋‚ด ๊ณ„์ขŒ์— ์ฐํžŒ ์ด ๊ฒฝ์ด๋กœ์šด ์ˆ˜์ต๋ฅ ๊ณผ ์ƒ์Šน ๊ธฐ๋ฅ˜๊ฐ€ ์ค‘์š”ํ•˜๋‹ค. ๋‚จ๋“ค์ด 63๋นŒ๋”ฉ ๋†’์ด์—์„œ ๋ฒŒ๋ฒŒ ๋–จ ๋•Œ ์—๋ฒ ๋ ˆ์ŠคํŠธ๋ฅผ ๋„˜์–ด ์„ฑ์ธต๊ถŒ์— ์ž๋ฆฌ๋ฅผ ์žก์•˜๋˜ ๋‚˜์˜ ์„ ํƒ์ด ์˜ณ์•˜์Œ์ด ์ฆ๋ช…๋œ ๊ฒƒ์ด๋‹ค. ์ด์ œ ์ธ๊ณต์œ„์„ฑ๋“ค๊ณผ ์ธ์‚ฌํ•˜๋Š” ๊ฒƒ์€ ์ผ์ƒ์ด ๋˜์—ˆ๊ณ , ์ € ๋ฉ€๋ฆฌ ๋‹ฌ์˜ ๋’คํŽธ์ด ๋ณด์ผ ์ •๋„๋กœ ๊ณต๊ธฐ๊ฐ€ ๋ง‘๊ณ  ์พŒ์ ํ•˜๋‹ค.

    ์ƒํ™ฉ์ด ์ด๋ ‡๊ฒŒ ๋˜๋‹ˆ ๋ฌด์„œ์šด ๊ณ ๋ฏผ์ด ์‹œ์ž‘๋˜์—ˆ๋‹ค. “์—ฌ๊ธฐ์„œ ๋” ์‚ฌ์•ผ ํ•˜๋Š” ๊ฒƒ ์•„๋‹Œ๊ฐ€?”๋ผ๋Š” ๊ฐ•๋ ฅํ•œ ํ™•์‹ , ์ผ๋ช… ๋ถˆํƒ€๊ธฐ์˜ ์œ ํ˜น์ด๋‹ค. ์ง€๊ธˆ ์ด ์ƒ์Šน์„ธ๋ผ๋ฉด 253,000์›์€ ์‹œ์ž‘์— ๋ถˆ๊ณผํ•˜๊ณ  300,000์›, ์•„๋‹ˆ ํ™”์„ฑ๊นŒ์ง€ ๊ฐˆ ์ˆ˜ ์žˆ์„ ๊ฒƒ๋งŒ ๊ฐ™๋‹ค. ์ดˆ์‹ฌ์ž ํŠน์œ ์˜ ๊ทผ๊ฑฐ ์—†๋Š” ์ž์‹ ๊ฐ์ด ์˜จ๋ชธ์„ ์ง€๋ฐฐํ•˜๊ณ  ์žˆ์œผ๋ฉฐ, ๋‚ด๊ฐ€ ๋งค์ˆ˜ ๋ฒ„ํŠผ์„ ๋ˆ„๋ฅผ ๋•Œ๋งˆ๋‹ค ์ฃผ๊ฐ€๊ฐ€ ์˜ค๋ฅด๋Š” ํ™˜์ƒ๋งˆ์ € ๋ณด์ธ๋‹ค.

    ํ•˜์ง€๋งŒ ํ•œํŽธ์œผ๋กœ๋Š” ์ด ์งœ๋ฆฟํ•œ ๋ณธ๋Šฅ์„ ํ˜„์‹ค์˜ ์ „ ์žฌ์‚ฐ์— ๋ฐ”๋กœ ํˆฌ์˜ํ•˜๊ธฐ์—๋Š” ๋‚ด ๊ฐ„์ด ์•„์ง ์กฐ๋ง‰๋งŒ ํ•˜๋‹ค๋Š” ์‚ฌ์‹ค์„ ๊นจ๋‹ฌ์•˜๋‹ค. ๊ทธ๋ž˜์„œ ๋‚˜์˜ ์ด ์ฒœ๋ถ€์ ์ธ ํˆฌ์ž ๊ฐ๊ฐ์„ ๋งˆ์Œ๊ป ๋ฐœํœ˜ํ•˜๊ณ  ๊ฒ€์ฆํ•ด ๋ณผ ์ˆ˜ ์žˆ๋Š” ์—ฐ์Šต์žฅ์„ ํ•˜๋‚˜ ๋งŒ๋“ค์—ˆ๋‹ค. ๋ฐ”๋กœ ํŒŒ์ด์–ด๋ฒ ์ด์Šค ํ˜ธ์ŠคํŒ…(Firebase Hosting)์œผ๋กœ ๋ฐฐํฌํ•œ ์ฃผ์‹ ํˆฌ์ž ์‹œ๋ฎฌ๋ ˆ์ด์…˜ ๊ฒŒ์ž„, stock.namoman.com ์ด๋‹ค.

    • ์ดˆ๊ธฐ ์ž์‚ฐ: ๋‹จ๋ˆ 1000๋งŒ ์›์œผ๋กœ ์‹œ์ž‘ํ•œ๋‹ค.
    • ์ฃผ๊ฐ€ ๋กœ์ง: ์‚ผ์„ฑ์ „์ž ์ฃผ๊ฐ€๊ฐ€ 2์ดˆ๋งˆ๋‹ค -5% ~ +5% ์‚ฌ์ด๋กœ ์š”๋™์นœ๋‹ค.
    • ๋ชฉํ‘œ: ์ด ๋ณ€๋™์„ฑ์„ ์ด๊ฒจ๋‚ด๊ณ  ์Šคํ…Œ์ด์ง€๋ณ„ ์ž์‚ฐ๋ชฉํ‘œ ๋‹ฌ์„ฑํ•˜์—ฌ ๋žญํ‚น ๋ณด๋“œ์— ์ด๋ฆ„์„ ์˜ฌ๋ฆฌ๋Š” ๊ฒƒ์ด๋‹ค.

    ํ˜„์‹ค์—์„œ 253,000์›์— ํ’€ ๋งค์ˆ˜๋ฅผ ๋•Œ๋ฆด์ง€ ๋ง์ง€ ๊ณ ๋ฏผํ•˜๋ฉฐ ๋ฐค์ž ์„ ์„ค์น˜๋Š” ๋Œ€์‹ , ์ด ๊ฒŒ์ž„ ์•ˆ์—์„œ ๊ฐ€์ƒ์˜ ์ฃผ์‹์„ ๋ฌดํ•œ๋Œ€๋กœ ์‚ฌ๊ณ ํŒ”๋ฉฐ ๋‚ด ์‹ค๋ ฅ์„ ํ…Œ์ŠคํŠธํ•˜๊ณ  ์žˆ๋‹ค. 2์ดˆ๋งˆ๋‹ค ๋ฐ”๋€Œ๋Š” ํŒŒ๋ž€์ƒ‰๊ณผ ๋นจ๊ฐ„์ƒ‰์˜ ํ–ฅ์—ฐ ์†์—์„œ ๋งค์ˆ˜์™€ ๋งค๋„์˜ ํƒ€์ด๋ฐ์„ ์žก๋‹ค ๋ณด๋ฉด, ๋‚ด๊ฐ€ ์ง„์งœ ์ฃผ์‹์˜ ์‹ ์ธ์ง€ ์•„๋‹ˆ๋ฉด ๊ทธ์ € ์šด ์ข‹์€ ๋ถˆ๋‚˜๋ฐฉ์ธ์ง€ ๊ณง ํŒ๊ฐ€๋ฆ„ ๋‚  ๊ฒƒ์ด๋‹ค.

    ๋‚˜์ฒ˜๋Ÿผ ๊ณ ์ ์—์„œ ์˜๊ธฐ์–‘์–‘ํ•˜๊ฒŒ ๋ถˆํƒ€๊ธฐ๋ฅผ ๊ณ ๋ฏผํ•˜๋Š” ์ดˆ์‹ฌ์ž ๋™์ง€๋“ค์ด์—ฌ, ํ˜น์€ ๋‚˜์˜ ์ด ๋ฌด์„œ์šด ์ƒ์Šน์„ธ๋ฅผ ๊ตฌ๊ฒฝํ•˜๊ณ  ์‹ถ์€ ๊ตฌ๊ฒฝ๊พผ๋“ค์ด์—ฌ. ์ง€๊ธˆ ๋ฐ”๋กœ ์ ‘์†ํ•ด์„œ ์‹ค๋ ฅ์„ ๊ฒจ๋ค„๋ณด์ž. ํ˜„์‹ค ๊ณ„์ขŒ๋Š” ์–ธ์ œ ํŒŒ๋ž€ ๋ฉ์ด ๋“ค์ง€ ๋ชจ๋ฅด์ง€๋งŒ, ์ด ๊ฐ€์ƒ ์„ธ๊ณ„์—์„œ๋งŒํผ์€ ๋ˆ„๊ตฌ๋‚˜ 10์–ต ์ž์‚ฐ๊ฐ€๊ฐ€ ๋˜์–ด ๋งˆ์Œ๊ป ๊ธฐ์„ธ๋ฅผ ๋–จ์น  ์ˆ˜ ์žˆ๋‹ค.

    ๋‚˜๋Š” ์˜ค๋Š˜๋„ 253,000์ธต์˜ ์พŒ์ ํ•œ ์‚ฐ์†Œ๋ฅผ ๋งˆ์‹œ๋ฉฐ stock.namoman.com ์˜ ๋žญํ‚น 1์œ„๋ฅผ ๋…ธ๋ฆฐ๋‹ค. 253,000์›, ์—ฌ๊ธฐ์„œ ๋” ๊ฐ€๋ฉด ์ •๋ง ์šฐ์ฃผ ์ •๊ฑฐ์žฅ์ด๋ผ๋„ ํ•˜๋‚˜ ์‚ฌ์•ผ ํ• ์ง€๋„ ๋ชจ๋ฅด๊ฒ ๋‹ค.

    ํ•˜๋‹ค ๋ณด๋‹ˆ ์นด์นด์˜ค๋‚˜ ๋„ค์ด๋ฒ„๋„ ์ถ”๊ฐ€ํ•ด์„œ ๊ฐ์ž ํฌํด์„ ๊ตฌ์„ฑํ•˜๋Š” ๊ธฐ๋Šฅ์„ ๋„ฃ์–ด๋„ ์žฌ๋ฐŒ์„ ๊ฑฐ ๊ฐ™๋‹ค๋Š” ์ƒ๊ฐ์ด ๋“ ๋‹ค.

    ๋„ค์ด๋ฒ„+์นด์นด์˜ค

  • ์›Œ๋“œํ”„๋ ˆ์Šค๋ผ๋‹ˆ..

    ๊ณ ๋”ฉ๋•Œ ์ƒ์ผ ์„ ๋ฌผ๋กœ ์นœ๊ตฌ์ธ seapy(๊ตฌ nakada)์™€ ์„ฑํ˜„์ด๊ฐ€ ๋ˆ์„ ํ•ฉ์ณ์„œ ์‚ฌ์ค€ ๋„๋ฉ”์ธ์œผ๋กœ ์‹œ์ž‘ํ•ด์„œ 20๋…„๋„˜๊ฒŒ ์œ ์ง€ํ•˜๋‹ค๊ฐ€

    html๊ธฐ๋ฐ˜ ํ™ˆํŽ˜์ด์ง€๋ถ€ํ„ฐ ๊ทธ๋ˆ„๋ณด๋“œ, tt๋ณด๋“œ, ํ…Œํฌ๋…ธํŠธ, ์ด์ง€๋ณด๋“œ, ์ œ๋กœ๋ณด๋“œ, xe, ๋“ฑ์„ ๊ฑฐ์ณ ์›Œ๋“œํ”„๋ ˆ์Šค๊นŒ์ง€ ํ˜๋Ÿฌ์™”์Šต๋‹ˆ๋‹ค.

    ๋””์ž์ธ๋„ ํ•ด๋ณด๊ณ  ์‹ถ์€ ์š•์‹ฌ์ด ์žˆ์ง€๋งŒ ์š”์ฆ˜์€ ์‹ฌํ”Œํ•œ๊ฒŒ ์ข‹์•„๋ณด์ด๋”๋ผ๊ตฌ์š”

    ssl์ด ์ง€์›์•ˆ๋˜๋Š” ์ ์€ ๋ฐฉ๋ฌธ์ž๋“ค์—๊ฒŒ ์ฐธ ๋ฏธ์•ˆํ•˜๊ฒŒ ์ƒ๊ฐํ•ฉ๋‹ˆ๋‹ค,

    (ํ˜ธ์ŠคํŒ…์—…์ฒด์—์„œ ๋ฌด๋ฃŒssl์„ ์ง€์›์•ˆํ•ด ์ค€๋‹ค๊ณ  ํ•˜๋„ค์š”)

    ํ‹ฐ์Šคํ† ๋ฆฌ๋‚˜ ๊ฐ์ข… ํ˜ธ์ŠคํŒ…์„œ๋น„์Šค๋ฅผ ๊ฑฐ์ณ์„œ ์—ฌ๋Ÿฌ๋ฒˆ ๋ณ€ํƒœํ•ด์™”๋Š”๋ฐ ์ด๋ฒˆ ๋ธ”๋กœ๊ทธ๋Š” ์˜ค๋ž˜๊ฐ€๊ธฐ๋ฅผ ๋นŒ์–ด๋ด…๋‹ˆ๋‹ค.

    ๋‹คํ–‰ํžˆ ์˜ˆ์ „ db ๋ฐฑ์—…๋ณธ์„ ์ฐพ์•„์„œ ๋ฎ์–ด์”Œ์šฐ๊ธด ํ–ˆ๋Š”๋ฐ ์ฐธ ์—ฌ๋Ÿฌ๊ฐ€์ง€ ์ƒ๊ฐ์ด ๋งŽ์ด ๋‚˜์„œ ์–ด์ œ๋Š” ์˜ค๋žœ๋งŒ์— ์ž ์„ ๊ผด๋”ฑ ์ƒˆ๋ฒ„๋ ธ๋„ค์š”

    ์จŒ๋“  ์ด๋ฒˆ์—” robots ํŒŒ์ผ๋„ ์˜ฌ๋ ค์„œ ๊ฒ€์ƒ‰๋„ ์ž˜ ๋˜๊ฒŒ ํ•˜๊ณ ,์—ด์‹ฌํžˆ ์šด์˜ํ•ด ๋ด์•ผ๊ฒ ์Šต๋‹ˆ๋‹ค.