FastComments.com

์‚ฌ์šฉ์ž ๊ธฐ๋ฐ˜์—๊ฒŒ ๋ณด๋‹ค ์ผ๊ด€๋œ ๊ฒฝํ—˜์„ ์ œ๊ณตํ•˜๊ธฐ ์œ„ํ•ด, FastComments๋Š” ์ด๋ฉ”์ผ ๋งž์ถคํ™” ์†”๋ฃจ์…˜์„ ์ œ๊ณตํ•˜์—ฌ FastComments์—์„œ ๊ณ ๊ฐ์—๊ฒŒ ๋ฐœ์†ก๋˜๋Š” ์ด๋ฉ”์ผ์ด ๊ท€์‚ฌ์˜ ๋ธŒ๋žœ๋”ฉ๊ณผ ์ผ์น˜ํ•˜๋„๋ก ํ•ฉ๋‹ˆ๋‹ค.

์ด ๋ฌธ์„œ์—์„œ๋Š” ์ด ์†”๋ฃจ์…˜์˜ ๊ธฐ๋Šฅ, ํ…œํ”Œ๋ฆฟ ์–ธ์–ด, ํ˜„์ง€ํ™” ๋ฐ ๊ทธ ์™ธ ์‚ฌํ•ญ๋“ค์„ ๋‹ค๋ฃน๋‹ˆ๋‹ค.


ํ…œํ”Œ๋ฆฟ ์–ธ์–ด Internal Link


FastComments ์ด๋ฉ”์ผ ํ…œํ”Œ๋ฆฟ์€ EJS ํ…œํ”Œ๋ฆฟ ์–ธ์–ด๋ฅผ ์‚ฌ์šฉํ•ฉ๋‹ˆ๋‹ค.

๋ณ€์ˆ˜๋ฅผ ์ถœ๋ ฅํ•˜๋Š” ์˜ˆ์‹œ ๋ฌธ๋ฒ•์€ <%= object.someValue %>์ด๋ฉฐ, ์กฐ๊ฑด๋ฌธ์€ ๋‹ค์Œ๊ณผ ๊ฐ™์ด ์ž‘์„ฑํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค:

<% if (some_condition) { %>
    <div>Some content.</div>
<% } else { %>
    <div>Some other content.</div>
<% } %>

๋Œ“๊ธ€ ๋‚ด์šฉ๊ณผ ๊ฐ™์€ ์›์‹œ HTML์„ ์ถœ๋ ฅํ•˜๋ ค๋ฉด ๋‹ค์Œ๊ณผ ๊ฐ™์ด ํ•ฉ๋‹ˆ๋‹ค: <%- comment.commentHTML %>. = ๋Œ€์‹  -๋ฅผ ์‚ฌ์šฉํ•œ๋‹ค๋Š” ์ ์— ์ฃผ์˜ํ•˜์„ธ์š”.

๊ตฌ๋ฌธ์— ๋Œ€ํ•œ ์ž์„ธํ•œ ๋ฌธ์„œ๋Š” ์œ„์˜ ๋งํฌ๋ฅผ ์ฐธ์กฐํ•˜์„ธ์š”.


ํ˜„์ง€ํ™” ๋ฐ ์‚ฌ์šฉ์ž ์ •์˜ ํ…์ŠคํŠธ Internal Link

FastComments๋Š” ๋กœ์ปฌ๋ผ์ด์ฆˆ๋œ ํ”Œ๋žซํผ์ž…๋‹ˆ๋‹ค. ๋‹น์‚ฌ์˜ ๋ชจ๋“  ์œ„์ ฏ, ์ด๋ฉ”์ผ ๋ฐ ์•Œ๋ฆผ์€ ๋กœ์ปฌ๋ผ์ด์ฆˆ๋˜์–ด ์žˆ์Šต๋‹ˆ๋‹ค.

๋กœ์ปฌ๋ผ์ด์ฆˆ๋œ๋‹ค๋Š” ๊ฒƒ์€ ์‚ฌ์šฉ์ž์˜ ์œ„์น˜์™€ ์„ ํ˜ธ ์–ธ์–ด์— ๋”ฐ๋ผ ๋‹ค๋ฅธ ์–ธ์–ด์™€ ํฌ๋งท์„ ํ‘œ์‹œํ•œ๋‹ค๋Š” ์˜๋ฏธ์ž…๋‹ˆ๋‹ค. ์ด๋Š” ์‚ฌ์šฉ์ž์˜ ๋ธŒ๋ผ์šฐ์ €๊ฐ€ ์ œ๊ณตํ•˜๋Š” ์ •๋ณด๋ฅผ ๊ธฐ๋ฐ˜์œผ๋กœ ํŒ๋‹จํ•ฉ๋‹ˆ๋‹ค.

์ด๋ฉ”์ผ์˜ ํ…์ŠคํŠธ๋Š” Translations ํƒญ์œผ๋กœ ์ด๋™ํ•˜์—ฌ Locale๋ฅผ ์„ ํƒํ•œ ๋‹ค์Œ ํ…์ŠคํŠธ๋ฅผ ํŽธ์ง‘ํ•˜์—ฌ ์‚ฌ์šฉ์žํ™”ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ๊ธฐ๋ณธ๊ฐ’์—์„œ ๋ณ€๊ฒฝ๋œ ํ…์ŠคํŠธ๋Š” UI์—์„œ ๊ฐ•์กฐ ํ‘œ์‹œ๋ฉ๋‹ˆ๋‹ค. ๋กœ์ผ€์ผ ๊ฐ„ ์ „ํ™˜์„ ํ•˜์—ฌ ๋งˆ์ง€๋ง‰์— ์ €์žฅํ•  ์ˆ˜ ์žˆ์œผ๋ฉฐ ๋ณ€๊ฒฝ ๋‚ด์šฉ์ด ์†์‹ค๋˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค.

๋กœ์ปฌ๋ผ์ด์ฆˆ๋œ ํ…์ŠคํŠธ๋Š” TEXT ๊ฐ์ฒด๋ฅผ ํ†ตํ•ด ์ ‘๊ทผํ•  ์ˆ˜ ์žˆ์œผ๋ฉฐ, ์˜ˆ: <%= TEXT.INTRO %>.

SSO ์ฐธ๊ณ 

SSO ํ†ตํ•ฉ์˜ ๊ฒฝ์šฐ locale์ด ์ง€์ •๋˜์ง€ ์•Š์œผ๋ฉด ์‚ฌ์šฉ์ž๊ฐ€ ๋‹ค๋ฅธ ๋กœ์ผ€์ผ๋กœ ๋Œ“๊ธ€ ์œ„์ ฏ์— ์ ‘๊ทผํ•  ๋•Œ๋งˆ๋‹ค ์—…๋ฐ์ดํŠธ๋ฉ๋‹ˆ๋‹ค. ์ด๋Š” ์‚ฌ์šฉ์ž์˜ ์–ธ์–ด ์„ ํ˜ธ๋„๊ฐ€ ์ž๋™์œผ๋กœ ์—…๋ฐ์ดํŠธ๋˜์–ด ํ–ฅํ›„ ์ด๋ฉ”์ผ์ด ํ•ด๋‹น ๋กœ์ผ€์ผ๋กœ ์ „์†ก๋จ์„ ์˜๋ฏธํ•ฉ๋‹ˆ๋‹ค.

์ด๋Š” SSO ํŽ˜์ด๋กœ๋“œ์— locale์„ ์ œ๊ณตํ•˜์—ฌ ์ˆ˜๋™์œผ๋กœ ์„ค์ •ํ•  ์ˆ˜๋„ ์žˆ์Šต๋‹ˆ๋‹ค.

๋„๋ฉ”์ธ๋ณ„ ํ…œํ”Œ๋ฆฟ Internal Link


ํ…œํ”Œ๋ฆฟ์€ ๊ธ€๋กœ๋ฒŒ๋กœ ์„ค์ •ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค - ํ•ด๋‹น ํ…œํ”Œ๋ฆฟ ์œ ํ˜•์— ๋Œ€ํ•ด ์ „์ฒด ํ…Œ๋„ŒํŠธ์— ๊ฑธ์ณ ์ ์šฉํ•˜๊ฑฐ๋‚˜ ๋„๋ฉ”์ธ๋ณ„๋กœ ์„ค์ •ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. Settings ํƒญ์—์„œ ์›ํ•˜๋Š” ๋„๋ฉ”์ธ์„ ์„ ํƒํ•˜์„ธ์š”.

๊ฐ™์€ ๋„๋ฉ”์ธ์— ๋Œ€ํ•ด ์—ฌ๋Ÿฌ ํ…œํ”Œ๋ฆฟ์„ ์„ค์ •ํ•˜๋ฉด ๋Ÿฐํƒ€์ž„์—๋Š” ์ฒซ ๋ฒˆ์งธ ํ…œํ”Œ๋ฆฟ๋งŒ ์„ ํƒ๋ฉ๋‹ˆ๋‹ค. ํ…œํ”Œ๋ฆฟ ๋ชฉ๋ก์ด ์ด๋Ÿฌํ•œ ์ƒํ™ฉ์ด ๋ฐœ์ƒํ•˜๋ฉด ๊ฒฝ๊ณ ๋ฅผ ํ‘œ์‹œํ•ฉ๋‹ˆ๋‹ค.


๋ฐ์ดํ„ฐ ๋ฐ ๋ณ€์ˆ˜ Internal Link

๊ฐ ํ…œํ”Œ๋ฆฟ์€ ์„œ๋กœ ๋‹ค๋ฅธ ์ปจํ…์ŠคํŠธ์—์„œ ์ž‘๋™ํ•˜๋ฏ€๋กœ ์‚ฌ์šฉ ๊ฐ€๋Šฅํ•œ ๋ฐ์ดํ„ฐ๊ฐ€ ๋‹ค๋ฆ…๋‹ˆ๋‹ค.

์‚ฌ์šฉ ๊ฐ€๋Šฅํ•œ ๋ฐ์ดํ„ฐ๋ฅผ ํ•œ๋ˆˆ์— ๋น ๋ฅด๊ฒŒ ํ™•์ธํ•˜๋ ค๋ฉด ํ…œํ”Œ๋ฆฟ์— ์ œ๊ณต๋œ ํ…Œ์ŠคํŠธ ๋ฐ์ดํ„ฐ๋ฅผ ํ™•์ธํ•˜์„ธ์š” ํ…œํ”Œ๋ฆฟ์„ ํŽธ์ง‘ํ•  ๋•Œ, Test Data ํƒญ์„ ํด๋ฆญํ•˜๋ฉด JSON ๊ตฌ์กฐ๋ฅผ ๋ณผ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

๋˜ํ•œ ์ด ์˜์—ญ์—์„œ ํ…Œ์ŠคํŠธ ๋ฐ์ดํ„ฐ๋ฅผ ์‚ฌ์šฉ์ž ์ง€์ •ํ•˜์—ฌ ํ…œํ”Œ๋ฆฟ์ด ์–ด๋–ป๊ฒŒ ๋ณด์ด๋Š”์ง€ ๋‹ค์–‘ํ•œ ์ƒํ™ฉ์—์„œ ํ™•์ธํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ํ…Œ์ŠคํŠธ ๋ฐ์ดํ„ฐ๋Š” Reset ๋ฒ„ํŠผ์œผ๋กœ ๊ธฐ๋ณธ๊ฐ’์œผ๋กœ ์žฌ์„ค์ •ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

๋ Œ๋”๋ง ์‹คํŒจ Internal Link

์ด๋ฉ”์ผ ํ…œํ”Œ๋ฆฟ์ด ๋ณ€์ˆ˜์™€ ๋กœ์ง์„ ์ง€์›ํ•˜๊ธฐ ๋•Œ๋ฌธ์—, ๋ Œ๋”๋ง์— ์‹คํŒจํ•˜๋Š” ํ…œํ”Œ๋ฆฟ์„ ๋งŒ๋“ค ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ๋˜๋Š” ๋•Œ๋•Œ๋กœ ๋ Œ๋”๋ง์— ์‹คํŒจํ•  ์ˆ˜๋„ ์žˆ์Šต๋‹ˆ๋‹ค.

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

์ด๋ฅผ ๋•๊ธฐ ์œ„ํ•ด, FastComments ์ด๋ฉ”์ผ ํ…œํ”Œ๋ฆฟ์—๋Š” ๋ช‡ ๊ฐ€์ง€ ๊ธฐ๋Šฅ์ด ์žˆ์Šต๋‹ˆ๋‹ค:

  1. ํ…œํ”Œ๋ฆฟ์ด ๋ฏธ๋ฆฌ๋ณด๊ธฐ์— ์‹คํŒจํ•˜๋ฉด ์ €์žฅํ•  ์ˆ˜ ์—†์Šต๋‹ˆ๋‹ค. ์˜ค๋ฅ˜ ๋ฉ”์‹œ์ง€๊ฐ€ ํ‘œ์‹œ๋ฉ๋‹ˆ๋‹ค.
  2. ํ…œํ”Œ๋ฆฟ ๋ Œ๋”๋ง ์‹คํŒจ๋Š” ๊ด€๋ฆฌ UI์—์„œ ์ถ”์ ๋˜๊ณ  ๋ณด๊ณ ๋ฉ๋‹ˆ๋‹ค.

๋‘ ๋ฒˆ์งธ ํ•ญ๋ชฉ์€ ํ”„๋กœ๋•์…˜์—์„œ ๋ฐœ์ƒํ•˜๋Š” ๋ Œ๋”๋ง ์‹คํŒจ๋ฅผ ์„ค๋ช…ํ•ฉ๋‹ˆ๋‹ค. ์˜ˆ๋ฅผ ๋“ค์–ด, ํ…œํ”Œ๋ฆฟ์„ ์ƒ์„ฑํ•  ๋•Œ๋Š” ๋ฏธ๋ฆฌ๋ณด๊ธฐ๊ฐ€ ์ž˜ ๋˜์ง€๋งŒ ๋‚˜์ค‘์— ์–ด๋–ค ์ด์œ ๋กœ ์‹คํŒจํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ์˜ˆ๋ฅผ ๋“ค์–ด ํ…œํ”Œ๋ฆฟ์— ๋‹ค์Œ๊ณผ ๊ฐ™์€ ๋‚ด์šฉ์ด ์žˆ๋‹ค๋ฉด:

<% if (comment.commenterEmail.includes('test') { %>

์ต๋ช… ๋Œ“๊ธ€ ๊ธฐ๋Šฅ์ด ํ™œ์„ฑํ™”๋œ ๊ฒฝ์šฐ ์ด๋ฉ”์ผ์ด ํ•ญ์ƒ ์ œ๊ณต๋˜์ง€ ์•Š๊ธฐ ๋•Œ๋ฌธ์— ๋•Œ๋•Œ๋กœ ์ด ์ฝ”๋“œ๋Š” ์‹คํŒจํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ๊ทธ๋ ‡๋‹ค๋ฉด ์šฐ๋ฆฌ๋Š” ์–ด๋–ป๊ฒŒ ์ด๋ฅผ ์•Œ์•„๋‚ด๋‚˜์š”?

๋‹ต์€ ์˜ค๋ฅ˜๊ฐ€ ๋‘ ๊ณณ์—์„œ ํ‘œ์‹œ๋œ๋‹ค๋Š” ๊ฒƒ์ž…๋‹ˆ๋‹ค. ๋จผ์ € ํ…œํ”Œ๋ฆฟ ๋ชฉ๋ก ์ž์ฒด๊ฐ€ ๊ฐ ํ…œํ”Œ๋ฆฟ๊ณผ ํ•จ๊ป˜ ๋ Œ๋” ์˜ค๋ฅ˜ ์ˆ˜๋ฅผ ๋ณด์—ฌ์ค๋‹ˆ๋‹ค.

๊ทธ๋Ÿฐ ๋‹ค์Œ ํ…œํ”Œ๋ฆฟ์„ ๋ณผ ๋•Œ, ๋ Œ๋”๋ง์— ์‹คํŒจํ•œ ํšŸ์ˆ˜๋ฅผ ์˜ค๋ฅ˜๋ณ„๋กœ ๋ณผ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

๊ฐ ์˜ค๋ฅ˜์™€ ๊ทธ ํšŸ์ˆ˜ ์˜†์—๋Š” ์žฌ์„ค์ • ๋ฒ„ํŠผ์ด ์žˆ์–ด ๋ฌธ์ œ๋ฅผ ํ•ด๊ฒฐํ•œ ํ›„ ์นด์šดํ„ฐ๋ฅผ ์žฌ์„ค์ •ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.


๋ณ€๊ฒฝ ์‚ฌํ•ญ ์ ์šฉ Internal Link

์ด๋ฉ”์ผ ํ…œํ”Œ๋ฆฟ์„ ์ƒ์„ฑํ•˜๊ณ  ํŽธ์ง‘ํ•˜๋Š” ์ž‘์—…์€ ์ฆ‰์‹œ ์ ์šฉ๋ฉ๋‹ˆ๋‹ค. ์ด๋Š” ์‚ฌ์šฉ์ž๊ฐ€ Save ๋ฒ„ํŠผ์„ ๋ˆ„๋ฅด๋Š” ์ˆœ๊ฐ„, ํ”Œ๋žซํผ์ด ํ•ด๋‹น ์ด๋ฉ”์ผ์˜ ์ตœ์‹  ๋ฒ„์ „์„ ์‚ฌ์šฉํ•˜๊ธฐ ์‹œ์ž‘ํ•ฉ๋‹ˆ๋‹ค.