FastComments.com

FastComments Image Chat๋Š” ์‚ฌ์šฉ์ž๊ฐ€ ์ด๋ฏธ์ง€์˜ ์•„๋ฌด ๊ณณ์ด๋‚˜ ํด๋ฆญํ•˜์—ฌ ํ† ๋ก  ์ง€์ ์„ ๋งŒ๋“ค ์ˆ˜ ์žˆ๋„๋ก ํ•˜์—ฌ ์ด๋ฏธ์ง€์— ๋Œ€ํ•œ ๋Œ€ํ™”ํ˜• ํ† ๋ก ์„ ๊ฐ€๋Šฅํ•˜๊ฒŒ ํ•ฉ๋‹ˆ๋‹ค. ์‚ฌ์šฉ์ž๋Š” ์ด๋ฏธ์ง€์˜ ํŠน์ • ๋ถ€๋ถ„์„ ํด๋ฆญํ•˜์—ฌ ํ•ด๋‹น ์˜์—ญ์— ๋Œ€ํ•œ ๋Œ€ํ™”๋ฅผ ์‹œ์ž‘ํ•  ์ˆ˜ ์žˆ์œผ๋ฉฐ, ํ† ๋ก ์ด ์œ„์น˜ํ•œ ๊ณณ์„ ๋ณด์—ฌ์ฃผ๋Š” ์‹œ๊ฐ์  ๋งˆ์ปค๋ฅผ ์ƒ์„ฑํ•ฉ๋‹ˆ๋‹ค.

์ด ๊ธฐ๋Šฅ์€ ๋””์ž์ธ ํ”ผ๋“œ๋ฐฑ, ์ œํ’ˆ ๋ฆฌ๋ทฐ, ๋‹ค์ด์–ด๊ทธ๋žจ์ด ํฌํ•จ๋œ ๊ต์œก ์ž๋ฃŒ, ์ฃผ์„์ด ๋‹ฌ๋ฆฐ ์‚ฌ์ง„ ๊ฐค๋Ÿฌ๋ฆฌ ๋ฐ ํŠน์ • ์ด๋ฏธ์ง€ ์œ„์น˜์— ๊ณ ์ •๋œ ๋งฅ๋ฝ์  ํ† ๋ก ์„ ์›ํ•˜๋Š” ๋ชจ๋“  ์‹œ๋‚˜๋ฆฌ์˜ค์— ์ ํ•ฉํ•ฉ๋‹ˆ๋‹ค.

๋ฐ˜์‘ํ˜• ๋””์ž์ธ Internal Link


๋ฐฑ๋ถ„์œจ ๊ธฐ๋ฐ˜ ์œ„์น˜ ์ง€์ •

Image Chat๋Š” ์ด๋ฏธ์ง€ ์œ„์˜ ์ฑ„ํŒ… ๋งˆ์ปค๋ฅผ ์œ„์น˜์‹œํ‚ค๊ธฐ ์œ„ํ•ด ํ”ฝ์…€ ์ขŒํ‘œ ๋Œ€์‹  ๋ฐฑ๋ถ„์œจ ๊ธฐ๋ฐ˜ ์ขŒํ‘œ๋ฅผ ์‚ฌ์šฉํ•ฉ๋‹ˆ๋‹ค. ์‚ฌ์šฉ์ž๊ฐ€ ์ด๋ฏธ์ง€์—์„œ ํด๋ฆญํ•˜๋ฉด ์œ„์ ฏ์€ ํด๋ฆญ์˜ ํ”ฝ์…€ ์ขŒํ‘œ๋ฅผ ์ด๋ฏธ์ง€ ๋„ˆ๋น„์™€ ๋†’์ด์˜ ๋ฐฑ๋ถ„์œจ๋กœ ๋ณ€ํ™˜ํ•ฉ๋‹ˆ๋‹ค. ์ด ๋ฐฉ์‹์€ ์ด๋ฏธ์ง€๊ฐ€ ์–ด๋–ป๊ฒŒ ํ‘œ์‹œ๋˜๋“  ๋งˆ์ปค๊ฐ€ ์˜ฌ๋ฐ”๋ฅธ ์œ„์น˜์— ์œ ์ง€๋˜๋„๋ก ๋ณด์žฅํ•ฉ๋‹ˆ๋‹ค.

์˜ˆ๋ฅผ ๋“ค์–ด, ์‚ฌ์šฉ์ž๊ฐ€ ๋„ˆ๋น„๊ฐ€ 1000px์ธ ์ด๋ฏธ์ง€์˜ ์™ผ์ชฝ ๊ฐ€์žฅ์ž๋ฆฌ์—์„œ 250ํ”ฝ์…€ ์ง€์ ์„ ํด๋ฆญํ•˜๋ฉด ์œ„์ ฏ์€ ์ด๋ฅผ ์™ผ์ชฝ์—์„œ 25%๋กœ ์ €์žฅํ•ฉ๋‹ˆ๋‹ค. ๋‹ค๋ฅธ ์‚ฌ์šฉ์ž๊ฐ€ ๋ชจ๋ฐ”์ผ ๊ธฐ๊ธฐ์—์„œ ๋™์ผํ•œ ์ด๋ฏธ์ง€๋ฅผ ๋„ˆ๋น„ 500px๋กœ ๋ณผ ๋•Œ, ๋งˆ์ปค๋Š” ์™ผ์ชฝ์—์„œ 125ํ”ฝ์…€ ์ง€์ ์— ๋‚˜ํƒ€๋‚˜๋ฉฐ, ์ด๋Š” ์—ฌ์ „ํžˆ ๋„ˆ๋น„์˜ 25%์ž…๋‹ˆ๋‹ค.

๋ฐ˜์‘ํ˜• ๋ ˆ์ด์•„์›ƒ์— ๋Œ€ํ•œ ์ด์ 

์ด ๋ฐฑ๋ถ„์œจ ์‹œ์Šคํ…œ์€ ๋ชจ๋“  ๊ธฐ๊ธฐ ํฌ๊ธฐ์™€ ๋ฐฉํ–ฅ์—์„œ Image Chat์ด ์›ํ™œํ•˜๊ฒŒ ์ž‘๋™ํ•˜๋„๋ก ํ•ฉ๋‹ˆ๋‹ค. ํ™”๋ฉด ๋„ˆ๋น„, CSS ๊ทœ์น™, ๋˜๋Š” ์ปจํ…Œ์ด๋„ˆ ์ œ์•ฝ์— ๋”ฐ๋ผ ์ด๋ฏธ์ง€๊ฐ€ ์„œ๋กœ ๋‹ค๋ฅธ ํฌ๊ธฐ๋กœ ํ‘œ์‹œ๋  ์ˆ˜ ์žˆ์ง€๋งŒ, ๋งˆ์ปค๋Š” ํ•ญ์ƒ ์˜๋„๋œ ์œ„์น˜์— ์ •ํ™•ํžˆ ์ •๋ ฌ๋ฉ๋‹ˆ๋‹ค.

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

์ด๋ฏธ์ง€ ์Šค์ผ€์ผ๋ง ๋ฐ ์ข…ํšก๋น„

์ด๋ฏธ์ง€๊ฐ€ ์Šค์ผ€์ผ๋  ๋•Œ ์ข…ํšก๋น„๋ฅผ ์œ ์ง€ํ•˜๋Š” ํ•œ(์ด๋Š” ๋ธŒ๋ผ์šฐ์ €์˜ ๊ธฐ๋ณธ ๋™์ž‘์ž…๋‹ˆ๋‹ค) ๋ฐฑ๋ถ„์œจ ๊ธฐ๋ฐ˜ ๋งˆ์ปค๋Š” ์™„๋ฒฝํ•˜๊ฒŒ ์ •๋ ฌ๋œ ์ƒํƒœ๋ฅผ ์œ ์ง€ํ•ฉ๋‹ˆ๋‹ค. ์œ„์ ฏ์€ ์ด๋ฏธ์ง€๊ฐ€ ๋น„๋ก€์ ์œผ๋กœ ์Šค์ผ€์ผ๋œ๋‹ค๊ณ  ๊ฐ€์ •ํ•˜๊ณ  ์ด ๊ฐ€์ •์— ๊ธฐ๋ฐ˜ํ•ด ์œ„์น˜๋ฅผ ๊ณ„์‚ฐํ•ฉ๋‹ˆ๋‹ค.

ํŠน์ • ์น˜์ˆ˜์™€ ํ•จ๊ป˜ object-fit: cover์™€ ๊ฐ™์ด ์ด๋ฏธ์ง€ ์ข…ํšก๋น„๋ฅผ ์™œ๊ณกํ•˜๋Š” CSS๋ฅผ ์ ์šฉํ•˜๋ฉด ๋งˆ์ปค ์œ„์น˜๊ฐ€ ์˜ฌ๋ฐ”๋ฅด๊ฒŒ ์ •๋ ฌ๋˜์ง€ ์•Š์„ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ์ตœ์ƒ์˜ ๊ฒฐ๊ณผ๋ฅผ ์œ„ํ•ด ์ด๋ฏธ์ง€๋ฅผ ์ž์—ฐ์Šค๋Ÿฝ๊ฒŒ ์Šค์ผ€์ผํ•˜๋„๋ก ํ—ˆ์šฉํ•˜๊ฑฐ๋‚˜ ์ข…ํšก๋น„๋ฅผ ์œ ์ง€ํ•˜๊ธฐ ์œ„ํ•ด object-fit: contain์„ ์‚ฌ์šฉํ•˜์‹ญ์‹œ์˜ค.

์ฑ„ํŒ… ์‚ฌ๊ฐํ˜• ํฌ๊ธฐ

์ฑ„ํŒ… ๋งˆ์ปค์˜ ์‹œ๊ฐ์  ํฌ๊ธฐ๋„ ๋ฐฑ๋ถ„์œจ ๊ธฐ๋ฐ˜์ž…๋‹ˆ๋‹ค. chatSquarePercentage ๊ตฌ์„ฑ ์˜ต์…˜์€ ๊ธฐ๋ณธ๊ฐ’์ด 5%์ด๋ฉฐ, ์ด๋Š” ๊ฐ ์‚ฌ๊ฐํ˜•์ด ์ด๋ฏธ์ง€ ๋„ˆ๋น„์˜ 5%์ž„์„ ์˜๋ฏธํ•ฉ๋‹ˆ๋‹ค. ์ด๋Š” ์„œ๋กœ ๋‹ค๋ฅธ ์ด๋ฏธ์ง€ ํฌ๊ธฐ์—์„œ๋„ ์‹œ๊ฐ์  ๋น„์ค‘์„ ์ผ๊ด€๋˜๊ฒŒ ์œ ์ง€ํ•ฉ๋‹ˆ๋‹ค.

๊ธฐ๋ณธ 5% ์„ค์ •์„ ์ ์šฉํ•œ ๋„ˆ๋น„ 1000px ์ด๋ฏธ์ง€์—์„œ๋Š” ๋งˆ์ปค๊ฐ€ 50px ์ •์‚ฌ๊ฐํ˜•์ž…๋‹ˆ๋‹ค. ๋„ˆ๋น„ 500px ์ด๋ฏธ์ง€์—์„œ๋Š” ๋™์ผํ•œ ๋งˆ์ปค๊ฐ€ 25px ์ •์‚ฌ๊ฐํ˜•์ด ๋ฉ๋‹ˆ๋‹ค. ๋งˆ์ปค๋Š” ์ด๋ฏธ์ง€ ํฌ๊ธฐ์— ๋น„๋ก€ํ•ฉ๋‹ˆ๋‹ค.

๋ชจ๋ฐ”์ผ ๋™์ž‘

๋„ˆ๋น„๊ฐ€ 768px ๋ฏธ๋งŒ์ธ ํ™”๋ฉด์—์„œ๋Š” Image Chat์ด ๋ชจ๋ฐ”์ผ ์ตœ์ ํ™” ๋ ˆ์ด์•„์›ƒ์œผ๋กœ ์ „ํ™˜๋ฉ๋‹ˆ๋‹ค. ์ฑ„ํŒ… ์ฐฝ์€ ๋งˆ์ปค ์˜†์— ๋–  ์žˆ๋Š” ๋Œ€์‹  ์ „์ฒด ํ™”๋ฉด์œผ๋กœ ์—ด๋ฆฝ๋‹ˆ๋‹ค. ์ด๋Š” ์ž‘์€ ํ™”๋ฉด์—์„œ ๋–  ์žˆ๋Š” ์ฐฝ์ด ์ด๋ฏธ์ง€์˜ ๋งŽ์€ ๋ถ€๋ถ„์„ ๊ฐ€๋ฆฌ๋Š” ๋ฌธ์ œ๋ฅผ ์ค„์—ฌ ๋” ๋‚˜์€ ์‚ฌ์šฉ์„ฑ์„ ์ œ๊ณตํ•ฉ๋‹ˆ๋‹ค.

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

๋™์  ์ด๋ฏธ์ง€ ๋กœ๋”ฉ

์ด๋ฏธ์ง€๊ฐ€ ๋น„๋™๊ธฐ์ ์œผ๋กœ ๋กœ๋“œ๋˜๊ฑฐ๋‚˜ ํŽ˜์ด์ง€ ๋กœ๋“œ ํ›„ ํฌ๊ธฐ๊ฐ€ ๋ณ€๊ฒฝ๋˜๋”๋ผ๋„ ๋ฐฑ๋ถ„์œจ ๊ธฐ๋ฐ˜ ์‹œ์Šคํ…œ์€ ์˜ฌ๋ฐ”๋ฅด๊ฒŒ ์ž‘๋™ํ•ฉ๋‹ˆ๋‹ค. ์œ„์ ฏ์€ ์ด๋ฏธ์ง€ ์š”์†Œ๋ฅผ ๊ฐ์‹œํ•˜๊ณ  ์ด๋ฏธ์ง€ ์น˜์ˆ˜๊ฐ€ ๋ณ€๊ฒฝ๋  ๋•Œ๋งˆ๋‹ค ๋งˆ์ปค ์œ„์น˜๋ฅผ ์žฌ๊ณ„์‚ฐํ•ฉ๋‹ˆ๋‹ค.

์ด๋ฏธ์ง€๋ฅผ ์ง€์—ฐ ๋กœ๋“œํ•˜๊ฑฐ๋‚˜ ์„œ๋กœ ๋‹ค๋ฅธ ๋ธŒ๋ ˆ์ดํฌํฌ์ธํŠธ์—์„œ ๋‹ค๋ฅธ ํฌ๊ธฐ์˜ ๋ฐ˜์‘ํ˜• ์ด๋ฏธ์ง€๋ฅผ ๊ตฌํ˜„ํ•˜๋Š” ๊ฒฝ์šฐ์—๋„ ์ด๋ฏธ์ง€ ํฌ๊ธฐ๊ฐ€ ๋ณ€๊ฒฝ๋˜๋ฉด ๋งˆ์ปค๊ฐ€ ์ž๋™์œผ๋กœ ์กฐ์ •๋ฉ๋‹ˆ๋‹ค.

๊ธฐ๊ธฐ ๊ฐ„ ์ผ๊ด€์„ฑ

์ขŒํ‘œ๊ฐ€ ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค์— ๋ฐฑ๋ถ„์œจ๋กœ ์ €์žฅ๋˜๋ฏ€๋กœ ๋ฐ์Šคํฌํ†ฑ์—์„œ ์ƒ์„ฑ๋œ ํ† ๋ก ์€ ํƒœ๋ธ”๋ฆฟ์ด๋‚˜ ํœด๋Œ€ํฐ์—์„œ ๋ณผ ๋•Œ๋„ ์ •ํ™•ํžˆ ๋™์ผํ•œ ์ƒ๋Œ€์  ์œ„์น˜์— ๋‚˜ํƒ€๋‚ฉ๋‹ˆ๋‹ค. ์‚ฌ์šฉ์ž๋Š” ์œ„์น˜ ๋ถˆ์ผ์น˜ ์—†์ด ์—ฌ๋Ÿฌ ๊ธฐ๊ธฐ์—์„œ ํ˜‘์—…ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

์ด ๋™์ž‘์€ ์–‘๋ฐฉํ–ฅ์œผ๋กœ ์ž‘๋™ํ•ฉ๋‹ˆ๋‹ค. ๋ชจ๋ฐ”์ผ ๊ธฐ๊ธฐ์—์„œ ํŠน์ • ์ง€์ ์„ ํƒญํ•˜์—ฌ ์ƒ์„ฑํ•œ ํ† ๋ก ์€ ๋Œ€ํ˜• ๋ฐ์Šคํฌํ†ฑ ๋ชจ๋‹ˆํ„ฐ์—์„œ ๋ณผ ๋•Œ๋„ ๋™์ผํ•œ ์ƒ๋Œ€์  ์œ„์น˜์— ๋‚˜ํƒ€๋‚ฉ๋‹ˆ๋‹ค.

๋ทฐํฌํŠธ ๊ณ ๋ ค์‚ฌํ•ญ

์œ„์ ฏ์€ ๋ทฐํฌํŠธ๊ฐ€ ์•„๋‹ˆ๋ผ ์ด๋ฏธ์ง€ ์š”์†Œ ์ž์ฒด๋ฅผ ๊ธฐ์ค€์œผ๋กœ ๋ฐฑ๋ถ„์œจ์„ ๊ณ„์‚ฐํ•ฉ๋‹ˆ๋‹ค. ์ด๋Š” ํŽ˜์ด์ง€๋ฅผ ์Šคํฌ๋กคํ•˜๊ฑฐ๋‚˜ ๋ธŒ๋ผ์šฐ์ € ์ฐฝ ํฌ๊ธฐ๋ฅผ ๋ณ€๊ฒฝํ•ด๋„ ๋งˆ์ปค ์œ„์น˜์— ์˜ํ–ฅ์„ ์ฃผ์ง€ ์•Š์Œ์„ ์˜๋ฏธํ•ฉ๋‹ˆ๋‹ค. ๋งˆ์ปค๋Š” ๋ทฐํฌํŠธ ๋ณ€๊ฒฝ๊ณผ ๋ฌด๊ด€ํ•˜๊ฒŒ ์ด๋ฏธ์ง€์ƒ์˜ ์œ„์น˜์— ๊ณ ์ •๋ฉ๋‹ˆ๋‹ค.

๋ฏธ๋ž˜ ๋Œ€๋น„ ์ฝ˜ํ…์ธ 

๋ฐฑ๋ถ„์œจ ๊ธฐ๋ฐ˜ ์ ‘๊ทผ ๋ฐฉ์‹์€ ๋ ˆ์ด์•„์›ƒ, ๋””์ž์ธ ๋˜๋Š” ๊ธฐ๊ธฐ ์ƒํƒœ๊ณ„์˜ ๋ณ€๊ฒฝ์— ๋Œ€ํ•ด ์ด๋ฏธ์ง€ ํ† ๋ก ์„ ํƒ„๋ ฅ์ ์œผ๋กœ ๋งŒ๋“ญ๋‹ˆ๋‹ค. ์ƒˆ๋กœ์šด ํ™”๋ฉด ํฌ๊ธฐ์™€ ๊ธฐ๊ธฐ๊ฐ€ ๋“ฑ์žฅํ•˜๋”๋ผ๋„ ๊ธฐ์กด ํ† ๋ก ์€ ์—…๋ฐ์ดํŠธ๋‚˜ ๋งˆ์ด๊ทธ๋ ˆ์ด์…˜ ์—†์ด๋„ ๊ณ„์† ์˜ฌ๋ฐ”๋ฅด๊ฒŒ ํ‘œ์‹œ๋ฉ๋‹ˆ๋‹ค.


๋งž์ถคํ™” Internal Link

๋‹คํฌ ๋ชจ๋“œ ์ง€์›

Image Chat์€ ๋‚ด์žฅ๋œ ๋‹คํฌ ๋ชจ๋“œ ์ง€์›์„ ํฌํ•จํ•ฉ๋‹ˆ๋‹ค. ๊ตฌ์„ฑ์—์„œ hasDarkBackground: true๋ฅผ ์„ค์ •ํ•˜๋ฉด ์ฑ„ํŒ… ์ฐฝ๊ณผ UI ์š”์†Œ๊ฐ€ ์ž๋™์œผ๋กœ ์–ด๋‘์šด ๋ฐฐ๊ฒฝ์— ์ž˜ ์–ด์šธ๋ฆฌ๋„๋ก ์กฐ์ •๋ฉ๋‹ˆ๋‹ค.

FastCommentsImageChat(imageElement, {
    tenantId: 'demo',
    hasDarkBackground: true
});

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

๋™์  ๋‹คํฌ ๋ชจ๋“œ

์‚ฌ์ดํŠธ์˜ ๋‹คํฌ ๋ชจ๋“œ๊ฐ€ body ์š”์†Œ์— .dark ํด๋ž˜์Šค๋ฅผ ์ถ”๊ฐ€ํ•˜์—ฌ ์ œ์–ด๋˜๋Š” ๊ฒฝ์šฐ, Image Chat UI๋Š” ์žฌ์ดˆ๊ธฐํ™” ์—†์ด๋„ ์ž๋™์œผ๋กœ ์ด๋ฅผ ๋ฐ˜์˜ํ•ฉ๋‹ˆ๋‹ค. ์œ„์ ฏ์˜ ์Šคํƒ€์ผ์€ ์ด ํด๋ž˜์Šค์˜ ์กด์žฌ์— ๋ฐ˜์‘ํ•˜๋„๋ก ์„ค๊ณ„๋˜์–ด ์žˆ์Šต๋‹ˆ๋‹ค.

/* ๋‹คํฌ ๋ชจ๋“œ CSS */
body.dark {
    background: #1a1a1a;
    color: #ffffff;
}

CSS๋กœ ์‚ฌ์šฉ์ž ์ง€์ • ์Šคํƒ€์ผ

๋งˆ์ปค, ์ฑ„ํŒ… ์ฐฝ ๋ฐ ๊ธฐํƒ€ ์š”์†Œ์˜ ์™ธํ˜•์„ CSS๋กœ ์‚ฌ์šฉ์ž ์ง€์ •ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ์œ„์ ฏ์€ ์Šคํƒ€์ผ์‹œํŠธ์—์„œ ํƒ€๊นƒ์œผ๋กœ ์‚ผ์„ ์ˆ˜ ์žˆ๋Š” ํŠน์ • ํด๋ž˜์Šค๋ฅผ ์ถ”๊ฐ€ํ•ฉ๋‹ˆ๋‹ค.

์ฑ„ํŒ… ์‚ฌ๊ฐํ˜•๊ณผ ์ฐฝ์€ FastComments์˜ ๋Œ“๊ธ€ ๋ฒ„๋ธ” ์Šคํƒ€์ผ ์‹œ์Šคํ…œ์„ ์‚ฌ์šฉํ•˜๋ฏ€๋กœ, ํ‘œ์ค€ ๋Œ“๊ธ€ ์œ„์ ฏ์— ์ ์šฉํ•œ ์‚ฌ์šฉ์ž ์ง€์ •์ด Image Chat์—๋„ ๋™์ผํ•˜๊ฒŒ ์˜ํ–ฅ์„ ๋ฏธ์นฉ๋‹ˆ๋‹ค.

์ฑ„ํŒ… ์‚ฌ๊ฐํ˜• ํฌ๊ธฐ

chatSquarePercentage ์˜ต์…˜์€ ํด๋ฆญ ๊ฐ€๋Šฅํ•œ ๋งˆ์ปค์˜ ํฌ๊ธฐ๋ฅผ ์ œ์–ดํ•ฉ๋‹ˆ๋‹ค. ๊ธฐ๋ณธ๊ฐ’์€ ์ด๋ฏธ์ง€ ๋„ˆ๋น„์˜ 5%์ž…๋‹ˆ๋‹ค:

FastCommentsImageChat(imageElement, {
    tenantId: 'demo',
    chatSquarePercentage: 7  // ๋” ํฌ๊ณ  ๋” ๋ˆˆ์— ๋„๋Š” ์‚ฌ๊ฐํ˜•๋“ค
});

๊ฐ’์ด ์ž‘์„์ˆ˜๋ก ์ด๋ฏธ์ง€์— ๋” ์€์€ํ•˜๊ฒŒ ๋…น์•„๋“œ๋Š” ๋งˆ์ปค๊ฐ€ ์ƒ์„ฑ๋ฉ๋‹ˆ๋‹ค. ๊ฐ’์ด ํด์ˆ˜๋ก ํŠนํžˆ ๋ชจ๋ฐ”์ผ ๊ธฐ๊ธฐ๋‚˜ ์ ‘๊ทผ์„ฑ ์ธก๋ฉด์—์„œ ๋งˆ์ปค๊ฐ€ ๋” ๋ˆˆ์— ๋„๊ณ  ํด๋ฆญํ•˜๊ธฐ ์‰ฌ์›Œ์ง‘๋‹ˆ๋‹ค.

๋ชจ๋ฐ”์ผ ๋™์ž‘

๊ฐ€๋กœ ํญ์ด 768px ๋ฏธ๋งŒ์ธ ํ™”๋ฉด์—์„œ๋Š” Image Chat์ด ์ž๋™์œผ๋กœ ๋ชจ๋ฐ”์ผ ์ตœ์ ํ™” ๋ ˆ์ด์•„์›ƒ์œผ๋กœ ์ „ํ™˜๋ฉ๋‹ˆ๋‹ค. ์ฑ„ํŒ… ์ฐฝ์€ ๋งˆ์ปค ์˜†์— ๋–  ์žˆ๋Š” ๋Œ€์‹  ์ „์ฒด ํ™”๋ฉด์œผ๋กœ ํ‘œ์‹œ๋˜์–ด ์ž‘์€ ํ™”๋ฉด์—์„œ ๋” ๋‚˜์€ ์‚ฌ์šฉ์„ฑ์„ ์ œ๊ณตํ•ฉ๋‹ˆ๋‹ค.

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

์ฑ„ํŒ… ์ฐฝ ๋ชจ์–‘

์ฑ„ํŒ… ์ฐฝ์€ ๋ฐ์Šคํฌํ†ฑ์—์„œ ๊ฐ€๋กœ 300px์ด๊ณ , ๋งˆ์ปค๋ฅผ ๊ฐ€๋ฆฌํ‚ค๋Š” 16px ํ™”์‚ดํ‘œ๊ฐ€ ์žˆ์Šต๋‹ˆ๋‹ค. ์ฐฝ์€ ์‚ฌ์šฉ ๊ฐ€๋Šฅํ•œ ๋ทฐํฌํŠธ ๊ณต๊ฐ„์— ๋”ฐ๋ผ to-right, to-left, to-top, to-bottom ๊ฐ™์€ ํฌ์ง€์…”๋‹ ํด๋ž˜์Šค๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ ์ž๋™์œผ๋กœ ์œ„์น˜๋ฅผ ์ •ํ•ฉ๋‹ˆ๋‹ค.

์ด ์ฐฝ๋“ค์˜ ์ƒ‰์ƒ, ๊ธ€๊ผด, ๊ฐ„๊ฒฉ ๋˜๋Š” ๊ธฐํƒ€ ์‹œ๊ฐ์  ์†์„ฑ์„ ์กฐ์ •ํ•˜๊ธฐ ์œ„ํ•ด ์‚ฌ์šฉ์ž ์ง€์ • CSS๋ฅผ ์ถ”๊ฐ€ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ์ฑ„ํŒ… ์ฐฝ์€ ํ‘œ์ค€ FastComments ์œ„์ ฏ๊ณผ ๋™์ผํ•œ ์ปดํฌ๋„ŒํŠธ ๊ตฌ์กฐ๋ฅผ ์‚ฌ์šฉํ•˜๋ฏ€๋กœ ์ „์—ญ์ ์œผ๋กœ ์ ์šฉํ•œ ์‚ฌ์šฉ์ž ์ง€์ •๋„ ์ƒ์†๋ฉ๋‹ˆ๋‹ค.

์ง€์—ฐ ์ดˆ๊ธฐํ™”

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

์ง€์—ฐ ์ดˆ๊ธฐํ™”๋Š” ํˆฌ๋ช…ํ•˜๊ฒŒ ๋ฐœ์ƒํ•ฉ๋‹ˆ๋‹ค. ์‚ฌ์šฉ์ž๋Š” ์ง€์—ฐ์„ ๋А๋ผ์ง€ ์•Š์ง€๋งŒ, ์ด๋ฏธ์ง€์— ๋งˆ์ปค๊ฐ€ ๋งŽ์€ ๊ฒฝ์šฐ ๋ธŒ๋ผ์šฐ์ €๊ฐ€ ์ˆ˜์‹ญ ๊ฐœ์˜ ์ˆจ๊ฒจ์ง„ ์ฑ„ํŒ… ์ฐฝ์„ ๋ Œ๋”๋งํ•  ํ•„์š”๊ฐ€ ์—†์Šต๋‹ˆ๋‹ค.

์ง€์—ญํ™”

Image Chat์€ ํ‘œ์ค€ FastComments ์œ„์ ฏ๊ณผ ๋™์ผํ•œ ๋ชจ๋“  ์ง€์—ญํ™” ์˜ต์…˜์„ ์ง€์›ํ•ฉ๋‹ˆ๋‹ค. UI ํ…์ŠคํŠธ๋ฅผ ๋‹ค๋ฅธ ์–ธ์–ด๋กœ ํ‘œ์‹œํ•˜๋ ค๋ฉด locale ์˜ต์…˜์„ ์„ค์ •ํ•˜์„ธ์š”:

FastCommentsImageChat(imageElement, {
    tenantId: 'demo',
    locale: 'fr'  // ํ”„๋ž‘์Šค์–ด
});

FastComments๋Š” ์ˆ˜์‹ญ ๊ฐœ์˜ ์–ธ์–ด๋ฅผ ์ง€์›ํ•ฉ๋‹ˆ๋‹ค. locale ์„ค์ •์€ ํ”„๋กฌํ”„ํŠธ, ๋ฒ„ํŠผ, ํ”Œ๋ ˆ์ด์Šคํ™€๋” ํ…์ŠคํŠธ๋ฅผ ํฌํ•จํ•œ ๋ชจ๋“  UI ํ…์ŠคํŠธ์— ์˜ํ–ฅ์„ ๋ฏธ์นฉ๋‹ˆ๋‹ค.

์ƒ์†๋œ ์‚ฌ์šฉ์ž ์ง€์ • ์˜ต์…˜

Image Chat์€ ํ‘œ์ค€ ๋Œ“๊ธ€ ์œ„์ ฏ์„ ํ™•์žฅํ•˜๋ฏ€๋กœ ๊ธฐ๋ณธ ์œ„์ ฏ์˜ ๋ชจ๋“  ์‚ฌ์šฉ์ž ์ง€์ • ์˜ต์…˜์„ ์ƒ์†ํ•ฉ๋‹ˆ๋‹ค. ์—ฌ๊ธฐ์—๋Š” ์‚ฌ์šฉ์ž ์ง€์ • CSS ํด๋ž˜์Šค, ์‚ฌ์šฉ์ž ์ง€์ • ๋ฒˆ์—ญ, ์•„๋ฐ”ํƒ€ ์ปค์Šคํ„ฐ๋งˆ์ด์ง•, ๋‚ ์งœ ํฌ๋งทํŒ… ๋“ฑ ๋งŽ์€ ํ•ญ๋ชฉ์ด ํฌํ•จ๋ฉ๋‹ˆ๋‹ค.

์‚ฌ์šฉ ๊ฐ€๋Šฅํ•œ ์ „์ฒด ์‚ฌ์šฉ์ž ์ง€์ • ์˜ต์…˜ ๋ชฉ๋ก์€ FastComments์˜ ๋ฉ”์ธ ์ปค์Šคํ„ฐ๋งˆ์ด์ œ์ด์…˜ ๋ฌธ์„œ๋ฅผ ์ฐธ์กฐํ•˜์„ธ์š”.

์‚ฌ์šฉ์ž ์ •์˜ ํฐํŠธ ์‚ฌ์šฉ

์‚ฌ์ดํŠธ์—์„œ ์‚ฌ์šฉ์ž ์ •์˜ ํฐํŠธ๋ฅผ ์‚ฌ์šฉํ•˜๋Š” ๊ฒฝ์šฐ, Image Chat UI๋Š” ํŽ˜์ด์ง€์˜ CSS์—์„œ ํ•ด๋‹น ํฐํŠธ๋ฅผ ์ƒ์†ํ•ฉ๋‹ˆ๋‹ค. ์ฑ„ํŒ… ์ฐฝ์€ ํŽ˜์ด์ง€์˜ DOM ์•ˆ์—์„œ ๋ Œ๋”๋ง๋˜๋ฉฐ ๊ธฐ์กด ํƒ€์ดํฌ๊ทธ๋ž˜ํ”ผ ์„ค์ •์„ ์ค€์ˆ˜ํ•ฉ๋‹ˆ๋‹ค.

์ตœ์ƒ์˜ ๊ฒฐ๊ณผ๋ฅผ ์œ„ํ•ด Image Chat์„ ์ดˆ๊ธฐํ™”ํ•˜๊ธฐ ์ „์— ์‚ฌ์šฉ์ž ์ •์˜ ํฐํŠธ๊ฐ€ ๋กœ๋“œ๋˜์—ˆ๋Š”์ง€ ํ™•์ธํ•˜๊ฑฐ๋‚˜, ํฐํŠธ ๋กœ๋“œ ๋™์•ˆ ์Šคํƒ€์ผ์ด ์ ์šฉ๋˜์ง€ ์•Š์€ ํ…์ŠคํŠธ๊ฐ€ ์ž ๊น ๋ณด์ผ ์ˆ˜ ์žˆ์Œ์„ ์ˆ˜์šฉํ•˜์„ธ์š”.

๋งˆ์ปค ์‹œ๊ฐ ๋””์ž์ธ

์‚ฌ๊ฐํ˜• ๋งˆ์ปค๋Š” ์ด๋ฏธ์ง€๋ฅผ ์••๋„ํ•˜์ง€ ์•Š์œผ๋ฉด์„œ ๋ˆˆ์— ๋„๋„๋ก ๋ฏธ๋ฌ˜ํ•œ ์‹œ๊ฐ ๋””์ž์ธ์„ ๊ฐ€์ง€๊ณ  ์žˆ์Šต๋‹ˆ๋‹ค. ์›ํ•˜๋Š” ๊ฒฝ์šฐ CSS๋กœ ๊ทธ๋“ค์˜ ์™ธ๊ด€์„ ์‚ฌ์šฉ์ž ์ง€์ •ํ•˜์—ฌ ๋‹ค๋ฅธ ์‹œ๊ฐ์  ์ฒ˜๋ฆฌ๋ฅผ ์ ์šฉํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

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

์‹ค์‹œ๊ฐ„ ๋™๊ธฐํ™” Internal Link

Real-Time Updates

Image Chat์€ ๋ชจ๋“  ์—ฐ๊ฒฐ๋œ ์‚ฌ์šฉ์ž ๊ฐ„์— ๋ชจ๋“  ๋Œ€ํ™”๋ฅผ ์‹ค์‹œ๊ฐ„์œผ๋กœ ๋™๊ธฐํ™”ํ•˜๊ธฐ ์œ„ํ•ด WebSocket ์—ฐ๊ฒฐ์„ ์‚ฌ์šฉํ•ฉ๋‹ˆ๋‹ค. ๋ˆ„๊ตฐ๊ฐ€ ์ƒˆ๋กœ์šด ๋งˆ์ปค๋ฅผ ์ƒ์„ฑํ•˜๊ฑฐ๋‚˜ ๋Œ“๊ธ€์„ ์ถ”๊ฐ€ํ•˜๊ฑฐ๋‚˜ ํ† ๋ก ์„ ์‚ญ์ œํ•˜๋ฉด ๋™์ผํ•œ ์ด๋ฏธ์ง€๋ฅผ ๋ณด๊ณ  ์žˆ๋Š” ๋‹ค๋ฅธ ๋ชจ๋“  ์‚ฌ์šฉ์ž๋Š” ์ƒˆ๋กœ ๊ณ ์นจ ์—†์ด ์ฆ‰์‹œ ์—…๋ฐ์ดํŠธ๋ฅผ ํ™•์ธํ•ฉ๋‹ˆ๋‹ค.

How WebSocket Sync Works

Image Chat์„ ์ดˆ๊ธฐํ™”ํ•˜๋ฉด ์œ„์ ฏ์ด FastComments ์„œ๋ฒ„์— WebSocket ์—ฐ๊ฒฐ์„ ์„ค์ •ํ•ฉ๋‹ˆ๋‹ค. ์ด ์—ฐ๊ฒฐ์€ ์‚ฌ์šฉ์ž์˜ ์„ธ์…˜ ๋™์•ˆ ์—ด๋ ค ์žˆ์œผ๋ฉฐ ํ˜„์žฌ ์ด๋ฏธ์ง€์™€ ๊ด€๋ จ๋œ ์—…๋ฐ์ดํŠธ๋ฅผ ์ˆ˜์‹  ๋Œ€๊ธฐํ•ฉ๋‹ˆ๋‹ค.

WebSocket ์‹œ์Šคํ…œ์€ Image Chat์„ ์œ„ํ•ด ์„ธ ๊ฐ€์ง€ ์œ ํ˜•์˜ ๋ธŒ๋กœ๋“œ์บ์ŠคํŠธ ๋ฉ”์‹œ์ง€๋ฅผ ์‚ฌ์šฉํ•ฉ๋‹ˆ๋‹ค. new-image-chat ์ด๋ฒคํŠธ๋Š” ๋ˆ„๊ตฐ๊ฐ€ ์ด๋ฏธ์ง€์— ์ƒˆ ๋งˆ์ปค๋ฅผ ์ƒ์„ฑํ•  ๋•Œ ๋ฐœ์ƒํ•ฉ๋‹ˆ๋‹ค. image-chat-updated ์ด๋ฒคํŠธ๋Š” ๋ˆ„๊ตฐ๊ฐ€ ๊ธฐ์กด ๋Œ€ํ™”๋ฅผ ์—…๋ฐ์ดํŠธํ•  ๋•Œ ๋ฐœ์ƒํ•ฉ๋‹ˆ๋‹ค. deleted-image-chat ์ด๋ฒคํŠธ๋Š” ๋ˆ„๊ตฐ๊ฐ€ ๋งˆ์ปค๋ฅผ ์‚ญ์ œํ•  ๋•Œ ๋ฐœ์ƒํ•ฉ๋‹ˆ๋‹ค.

Broadcast ID System

์‚ฌ์šฉ์ž๊ฐ€ ์ž์‹ ์˜ ์ž‘์—…์ด ๋‹ค์‹œ ์ž์‹ ์—๊ฒŒ ๋ธŒ๋กœ๋“œ์บ์ŠคํŠธ๋˜์–ด ์—์ฝ” ํšจ๊ณผ๊ฐ€ ๋ฐœ์ƒํ•˜๋Š” ๊ฒƒ์„ ๋ฐฉ์ง€ํ•˜๊ธฐ ์œ„ํ•ด ๊ฐ ์—…๋ฐ์ดํŠธ์—๋Š” ๊ณ ์œ ํ•œ broadcastId๊ฐ€ ํฌํ•จ๋ฉ๋‹ˆ๋‹ค. ์‚ฌ์šฉ์ž๊ฐ€ ๋งˆ์ปค๋ฅผ ์ƒ์„ฑํ•˜๊ฑฐ๋‚˜ ์—…๋ฐ์ดํŠธํ•  ๋•Œ ํด๋ผ์ด์–ธํŠธ๋Š” ํ•ด๋‹น ์ž‘์—…์— ๋Œ€ํ•ด UUID๋ฅผ ์ƒ์„ฑํ•ฉ๋‹ˆ๋‹ค. WebSocket์ด ์—…๋ฐ์ดํŠธ๋ฅผ ๋ชจ๋“  ํด๋ผ์ด์–ธํŠธ์— ๋‹ค์‹œ ๋ธŒ๋กœ๋“œ์บ์ŠคํŠธํ•  ๋•Œ, ์›๋ž˜ ์ž‘์—…์„ ์ˆ˜ํ–‰ํ•œ ํด๋ผ์ด์–ธํŠธ๋Š” ์ž์‹ ์˜ broadcastId์™€ ์ผ์น˜ํ•˜๋ฏ€๋กœ ํ•ด๋‹น ์—…๋ฐ์ดํŠธ๋ฅผ ๋ฌด์‹œํ•ฉ๋‹ˆ๋‹ค.

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

Connection Resilience

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

์žฌ์—ฐ๊ฒฐ์ด ์™„๋ฃŒ๋˜๋ฉด ์œ„์ ฏ์€ ๋ˆ„๋ฝ๋œ ์—…๋ฐ์ดํŠธ๊ฐ€ ์—†๋„๋ก ๋‹ค์‹œ ๋™๊ธฐํ™”ํ•ฉ๋‹ˆ๋‹ค. ์ด ์ž‘์—…์€ ์‚ฌ์šฉ์ž์˜ ๊ฐœ์ž… ์—†์ด ํˆฌ๋ช…ํ•˜๊ฒŒ ๋ฐœ์ƒํ•ฉ๋‹ˆ๋‹ค.

Bandwidth Considerations

WebSocket ๋ฉ”์‹œ์ง€๋Š” ๊ฒฝ๋Ÿ‰์ด๋ฉฐ ์ƒํƒœ ๋™๊ธฐํ™”์— ํ•„์š”ํ•œ ํ•ต์‹ฌ ์ •๋ณด๋งŒ ํฌํ•จํ•ฉ๋‹ˆ๋‹ค. ์ƒˆ ๋งˆ์ปค๋ฅผ ์ƒ์„ฑํ•˜๋Š” ๋ฐ ์ผ๋ฐ˜์ ์œผ๋กœ 1KB ๋ฏธ๋งŒ์˜ ๋Œ€์—ญํญ์ด ์‚ฌ์šฉ๋ฉ๋‹ˆ๋‹ค. ์‹œ์Šคํ…œ์€ ๋˜ํ•œ ํ™œ๋™์ด ๋งŽ์€ ๊ธฐ๊ฐ„ ๋™์•ˆ ๋ฉ”์‹œ์ง€ ๋นˆ๋„๋ฅผ ์ค„์ด๊ธฐ ์œ„ํ•ด ์ง€๋Šฅํ˜• ๋ฐฐ์นญ์„ ํฌํ•จํ•ฉ๋‹ˆ๋‹ค.

FastComments ๋Œ€์‹œ๋ณด๋“œ์˜ ์‚ฌ์šฉ๋Ÿ‰ ์ง€ํ‘œ๋Š” pubSubMessageCount ๋ฐ pubSubBandwidth๋ฅผ ์ถ”์ ํ•˜๋ฏ€๋กœ ์‚ฌ์ดํŠธ ์ „๋ฐ˜์˜ ์‹ค์‹œ๊ฐ„ ๋™๊ธฐํ™” ํ™œ๋™์„ ๋ชจ๋‹ˆํ„ฐ๋งํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

Cross-Tab Synchronization

์‚ฌ์šฉ์ž๊ฐ€ ๋™์ผํ•œ ํŽ˜์ด์ง€๋ฅผ ์—ฌ๋Ÿฌ ๋ธŒ๋ผ์šฐ์ € ํƒญ์—์„œ ์—ฐ ๊ฒฝ์šฐ ํ•œ ํƒญ์˜ ์—…๋ฐ์ดํŠธ๊ฐ€ ๋‹ค๋ฅธ ํƒญ์— ์ฆ‰์‹œ ํ‘œ์‹œ๋ฉ๋‹ˆ๋‹ค. ์ด๋Š” ๋™์ผํ•œ WebSocket ๋™๊ธฐํ™” ๋ฉ”์ปค๋‹ˆ์ฆ˜์„ ํ†ตํ•ด ์ž‘๋™ํ•˜๋ฉฐ ์ถ”๊ฐ€ ๊ตฌ์„ฑ์ด ํ•„์š”ํ•˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค.

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

Security

WebSocket ๋ฉ”์‹œ์ง€๋Š” ๋ณด์•ˆ ์—ฐ๊ฒฐ(WSS)์„ ํ†ตํ•ด ์ „์†ก๋˜๋ฉฐ, ์‚ฌ์šฉ์ž๊ฐ€ ๊ถŒํ•œ์ด ์žˆ๋Š” ๋Œ€ํ™”์— ๋Œ€ํ•ด์„œ๋งŒ ์—…๋ฐ์ดํŠธ๋ฅผ ๋ฐ›๋„๋ก ํ…Œ๋„ŒํŠธ ๊ฒ€์ฆ์ด ํฌํ•จ๋ฉ๋‹ˆ๋‹ค. ์„œ๋ฒ„๋Š” ๋ธŒ๋กœ๋“œ์บ์ŠคํŠธํ•˜๊ธฐ ์ „์— ๋ชจ๋“  ์ž‘์—…์„ ๊ฒ€์ฆํ•˜์—ฌ ๋ฌด๋‹จ ์•ก์„ธ์Šค๋‚˜ ์กฐ์ž‘์„ ๋ฐฉ์ง€ํ•ฉ๋‹ˆ๋‹ค.

Offline Behavior

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

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

Performance Impact

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

์ˆ˜๋ฐฑ ๋ช…์ด ๋™์‹œ์— ์ ‘์†ํ•˜๊ณ  ๋งˆ์ปค ์ƒ์„ฑ ํ™œ๋™์ด ๋งŽ์€ ํŽ˜์ด์ง€์˜ ๊ฒฝ์šฐ ์‹œ์Šคํ…œ์€ ๊ฐœ๋ณ„ ํด๋ผ์ด์–ธํŠธ ์—ฐ๊ฒฐ์— ์˜ํ–ฅ์„ ์ฃผ์ง€ ์•Š์œผ๋ฉด์„œ ์„ฑ๋Šฅ์„ ์œ ์ง€ํ•˜๋„๋ก ์ˆ˜ํ‰์ ์œผ๋กœ ํ™•์žฅ๋ฉ๋‹ˆ๋‹ค.

Collaborative Use Cases

์‹ค์‹œ๊ฐ„ ๋™๊ธฐํ™”๋Š” Image Chat์„ ๊ณต๋™ ์ž‘์—… ์›Œํฌํ”Œ๋กœ์— ํŠนํžˆ ๊ฐ•๋ ฅํ•˜๊ฒŒ ๋งŒ๋“ญ๋‹ˆ๋‹ค. ๋””์ž์ธ ํŒ€์€ ๋ชจ๋‘๊ฐ€ ๋งˆ์ปค ๋ฐฐ์น˜๋ฅผ ์‹ค์‹œ๊ฐ„์œผ๋กœ ๋ณด๋ฉด์„œ ๋ชฉ์—…์„ ํ•จ๊ป˜ ๊ฒ€ํ† ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ๊ณ ๊ฐ ์ง€์› ํŒ€์€ ๋ฌธ์ œ๋ฅผ ์‹๋ณ„ํ•˜๊ธฐ ์œ„ํ•ด ์Šคํฌ๋ฆฐ์ƒท์— ๊ณต๋™์œผ๋กœ ์ฃผ์„์„ ๋‹ฌ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ๊ต์œก ๊ทธ๋ฃน์€ ๋ชจ๋“  ์ฐธ๊ฐ€์ž๊ฐ€ ์ƒ์„ฑ๋˜๋Š” ๊ฐ์ž์˜ ๋งˆ์ปค๋ฅผ ๋ณด๋ฉด์„œ ๋‹ค์ด์–ด๊ทธ๋žจ์„ ํ† ๋ก ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

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


๊ถ๊ธˆํ•œ ์ ์ด ์žˆ์œผ์‹ ๊ฐ€์š”?

FastComments Image Chat์— ๋Œ€ํ•œ ์„ค๋ช…์€ ์—ฌ๊ธฐ๊นŒ์ง€์ž…๋‹ˆ๋‹ค! ์งˆ๋ฌธ์ด ์žˆ๊ฑฐ๋‚˜ ๊ตฌํ˜„์— ๋„์›€์ด ํ•„์š”ํ•˜๊ฑฐ๋‚˜ ๊ธฐ๋Šฅ ์ œ์•ˆ์ด ์žˆ์œผ์‹œ๋ฉด ์•„๋ž˜์— ์•Œ๋ ค์ฃผ์‹œ๊ฑฐ๋‚˜ ์ง€์›ํŒ€์— ๋ฌธ์˜ํ•ด ์ฃผ์„ธ์š”.

์‹ค์ œ ๋™์ž‘ํ•˜๋Š” Image Chat์„ ๋ณด๋ ค๋ฉด ๋ฐ๋ชจ ํŽ˜์ด์ง€์˜ ๋ผ์ด๋ธŒ ๋ฐ๋ชจ๋ฅผ ํ™•์ธํ•˜์„ธ์š”.