๐Ÿ“ž diskuz Call โ€“ Discourse์—์„œ ์Œ์„ฑ ๋ฐ ํ™”์ƒ ํ†ตํ™” (P2P, ์™ธ๋ถ€ ์•ฑ ๋ถˆํ•„์š”)

:information_source: ์š”์•ฝ Discourse ๋‚ด์—์„œ P2P(ํ”ผ์–ด ํˆฌ ํ”ผ์–ด) ์Œ์„ฑ ๋ฐ ์˜์ƒ ํ†ตํ™”๋ฅผ ์ง€์›ํ•ฉ๋‹ˆ๋‹ค (WebRTC). ๋– ๋‹ค๋‹ˆ๋Š” ๋ฒ„ํŠผ ๋˜๋Š” 1:1 ์ฑ„ํŒ… ์ž‘์„ฑ์ฐฝ์—์„œ 1:1 ํ†ตํ™”๋ฅผ ์‹œ์ž‘ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ๋‚ด์žฅ ์œ„์ ฏ ๋ฐ ํ†ตํ™” UI๋ฅผ ์ œ๊ณตํ•ฉ๋‹ˆ๋‹ค. ์™ธ๋ถ€ ์•ฑ ๋ถˆํ•„์š”. Discourse ์„œ๋ฒ„๋Š” **์‹œ๊ทธ๋„๋ง(๋ฏธ๋””์–ด ์ „์†ก X)**๋งŒ ๋‹ด๋‹นํ•ฉ๋‹ˆ๋‹ค. ๊ฐ€๋Šฅํ•œ ๊ฒฝ์šฐ ์˜ค๋””์˜ค/๋น„๋””์˜ค๋Š” ๋‘ ๋ธŒ๋ผ์šฐ์ € ๊ฐ„์— ์ง์ ‘(P2P) ์ „์†ก๋ฉ๋‹ˆ๋‹ค. ๊ด€๋ฆฌ ์„ค์ •์—์„œ ์„ ํƒ์  TURN ์„œ๋ฒ„๋ฅผ ์ถ”๊ฐ€ํ•  ์ˆ˜ ์žˆ์œผ๋ฉฐ, ์ง์ ‘ P2P๊ฐ€ ์‹คํŒจํ•  ๊ฒฝ์šฐ(์˜ˆ: ์—„๊ฒฉํ•œ NAT/๋ฐฉํ™”๋ฒฝ) ๋ฏธ๋””์–ด๊ฐ€ TURN์„ ํ†ตํ•ด ์ค‘๊ณ„๋˜์–ด ํ†ตํ™”๊ฐ€ ๊ณ„์† ๊ฐ€๋Šฅํ•ฉ๋‹ˆ๋‹ค.
:hammer_and_wrench: ์ €์žฅ์†Œ ๋งํฌ GitHub - idiskuz/diskuz-call: Voice calls (WebRTC) for Discourse. P2P calls between users, built-in UI. Created for diskuz.com. ยท GitHub
:open_book: ์„ค์น˜ ๊ฐ€์ด๋“œ Discourse์— ํ”Œ๋Ÿฌ๊ทธ์ธ ์„ค์น˜ํ•˜๋Š” ๋ฐฉ๋ฒ•
:busts_in_silhouette: ์ปค๋ฎค๋‹ˆํ‹ฐ diskuz Call ์ด ์ƒˆ๋กœ์šด ํ”Œ๋Ÿฌ๊ทธ์ธ์— ๋Œ€ํ•œ ์ง€์› ์ปค๋ฎค๋‹ˆํ‹ฐ๋Š” diskuz.com์—์„œ ํ™•์ธํ•˜์„ธ์š”.

๊ธฐ๋Šฅ

  • P2P ์Œ์„ฑ ๋ฐ ์˜์ƒ (WebRTC) โ€” Discourse๋Š” ์‹œ๊ทธ๋„๋ง(offer/answer, ICE)๋งŒ ์ฒ˜๋ฆฌํ•˜๋ฉฐ, ์˜ค๋””์˜ค/๋น„๋””์˜ค๋ฅผ ์ˆ˜์‹ ํ•˜๊ฑฐ๋‚˜ ์ €์žฅํ•˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค. STUN(๊ธฐ๋ณธ๊ฐ’: Google)์€ ๋‘ ๋ธŒ๋ผ์šฐ์ €๊ฐ€ ์„œ๋กœ๋ฅผ ์ฐพ์„ ์ˆ˜ ์žˆ๋„๋ก ๋„์™€์ฃผ๋ฉฐ, ์ดํ›„ ๋ฏธ๋””์–ด๋Š” ์ง์ ‘ ์ „์†ก๋ฉ๋‹ˆ๋‹ค(์ง„์ •ํ•œ P2P). TURN(์„ ํƒ์ , ๊ด€๋ฆฌ โ†’ ICE ์„œ๋ฒ„์—์„œ ์„ค์ • ๊ฐ€๋Šฅ)์€ ์ค‘๊ณ„ ์„œ๋ฒ„ ์—ญํ• ์„ ํ•ฉ๋‹ˆ๋‹ค. ์ง์ ‘ P2P๊ฐ€ ์‹คํŒจํ•  ๊ฒฝ์šฐ(๋Œ€์นญ NAT, ๊ธฐ์—… ๋ฐฉํ™”๋ฒฝ ๋“ฑ) ๋ฏธ๋””์–ด๋Š” A โ†’ TURN ์„œ๋ฒ„ โ†’ B ๊ฒฝ๋กœ๋กœ ์ „์†ก๋˜์–ด ํ†ตํ™”๊ฐ€ ๊ณ„์† ๊ฐ€๋Šฅํ•ฉ๋‹ˆ๋‹ค. ์‚ฌ์šฉ์ž๊ฐ€ ํ†ตํ™” ์‹คํŒจ๋‚˜ ๋‹จ๋ฐฉํ–ฅ ์˜ค๋””์˜ค๋ฅผ ๋ณด๊ณ ํ•˜๋Š” ๊ฒฝ์šฐ TURN์„ ์ถ”๊ฐ€ํ•˜์„ธ์š”.
  • ๋– ๋‹ค๋‹ˆ๋Š” ๋ฒ„ํŠผ (์˜ค๋ฅธ์ชฝ ์•„๋ž˜) โ€” ์‚ฌ์šฉ์ž๋ช…์„ ์ž…๋ ฅํ•˜๊ณ  ํ†ตํ™”๋ฅผ ์‹œ์ž‘ํ•  ์ˆ˜ ์žˆ๋Š” ์œ„์ ฏ์„ ์—ฝ๋‹ˆ๋‹ค. ํ† ํ”ฝ ์ž‘์„ฑ์ฐฝ์ด๋‚˜ ์ฑ„ํŒ…์ด ์—ด๋ ค ์žˆ์„ ๋•Œ ์ˆจ๊ฒจ์ง‘๋‹ˆ๋‹ค. ๊ด€๋ฆฌ์ž๊ฐ€ ์‚ฌ์ดํŠธ ์ „์ฒด์—์„œ ๋น„ํ™œ์„ฑํ™”ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.
  • 1:1 ์ฑ„ํŒ… ๋‚ด ํ†ตํ™” ๋ฒ„ํŠผ โ€” ๋‹ค๋ฅธ ์‚ฌ์šฉ์ž์™€ ํ†ตํ™”๋ฅผ ์‹œ์ž‘ํ•˜๊ธฐ ์œ„ํ•œ ์ฑ„ํŒ… ์ž‘์„ฑ์ฐฝ ์•„์ด์ฝ˜์ž…๋‹ˆ๋‹ค. ๊ด€๋ฆฌ์ž๊ฐ€ ์‚ฌ์ดํŠธ ์ „์ฒด์—์„œ ๋น„ํ™œ์„ฑํ™”ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ํ™œ์„ฑํ™”๋œ ๊ฒฝ์šฐ ํ—ˆ์šฉ๋œ ๊ทธ๋ฃน์—๊ฒŒ๋งŒ ํ‘œ์‹œ๋ฉ๋‹ˆ๋‹ค.
  • ๊ทธ๋ฃน ๊ธฐ๋ฐ˜ ์ ‘๊ทผ ๊ถŒํ•œ โ€” ์„ค์ •๋œ ๊ทธ๋ฃน์˜ ์‚ฌ์šฉ์ž๋งŒ diskuz Call์„ ๋ณด๊ณ  ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ์„ ํƒ์  โ€œ์ˆ˜์‹ ์ž๊ฐ€ ๋ฐœ์‹ ์ž๋ฅผ ํŒ”๋กœ์šฐํ•ด์•ผ ํ•จโ€ ๊ธฐ๋Šฅ( Discourse Follow ํ•„์š”)๋ฅผ ์ง€์›ํ•ฉ๋‹ˆ๋‹ค.
  • ๋ณ„๋„์˜ โ€œ์˜์ƒ ํ—ˆ์šฉโ€ ๊ทธ๋ฃน โ€” ํ†ตํ™” ์ค‘ ์นด๋ฉ”๋ผ๋ฅผ ์ผค ์ˆ˜ ์žˆ๋Š” ์‚ฌ์šฉ์ž๋ฅผ ์ œ์–ดํ•ฉ๋‹ˆ๋‹ค.
  • ์„ค์ • ๊ฐ€๋Šฅํ•œ ๋ฒจ์†Œ๋ฆฌ โ€” ํ†ตํ™” ์ˆ˜์‹  ์‹œ ์†Œ๋ฆฌ: ์—†์Œ, ๊ธฐ๋ณธ, ๋”ฉ, ๋ฒจ, ์ฑ„ํŒ…, ์‚ฌ์šฉ์ž ์ง€์ •(์ตœ๋Œ€ 10๊ฐœ์˜ MP3 URL; ์‚ฌ์šฉ์ž๊ฐ€ ์œ„์ ฏ์—์„œ ํ•˜๋‚˜ ์„ ํƒ), ๋˜๋Š” ๋‚ด์žฅ ๋Œ€์ฒด ํ”„๋ฆฌ์…‹. ๋ณ„๋„๋กœ, Discourse ์•Œ๋ฆผ(๋ฒจ ์•„์ด์ฝ˜)์€ ์ˆ˜์‹  ์‹œ "ํ†ตํ™” ์ค‘"์„, ๋†“์นœ ํ†ตํ™”์˜ ๊ฒฝ์šฐ ์‹œ๊ฐ„๊ณผ ํ•จ๊ป˜ "๋†“์นœ ํ†ตํ™”"๋ฅผ ํ‘œ์‹œํ•ฉ๋‹ˆ๋‹ค.
  • ์œ„์ ฏ โ€” ๋‘ ๊ฐœ์˜ ํŽ˜์ด์ง€: โ€œ์นœ๊ตฌ์—๊ฒŒ ํ†ตํ™”โ€(ํ™ˆ) ๋ฐ ์•Œ๋ฆผ(์ˆ˜์‹ , ๋ฐœ์‹ , ์ตœ๊ทผ, ๋†“์นœ ํ†ตํ™”; ํƒญ๋‹น ์ตœ๋Œ€ 10๊ฐœ; ์‚ฌ์šฉ์ž๋ช… ํด๋ฆญ ์‹œ ๋‹ค์‹œ ํ†ตํ™” ๊ฐ€๋Šฅ). ๋ฐ์Šคํฌํ†ฑ: ์ƒ๋‹จ ๋ฐ”๋ฅผ ๋“œ๋ž˜๊ทธํ•˜์—ฌ ์ด๋™ ๊ฐ€๋Šฅ. ๋ชจ๋ฐ”์ผ: ์ „์ฒด ํ™”๋ฉด.
  • ํ†ตํ™” ์ค‘ โ€” ํ†ตํ™” ์‹œ๊ฐ„, ์Œ์†Œ๊ฑฐ, ์Šคํ”ผ์ปค, ์˜์ƒ ์ผœ๊ธฐ/๋„๊ธฐ, ํ๋ฆผ ํšจ๊ณผ(๋ฐ์Šคํฌํ†ฑ/Android), ๋ชจ๋ฐ”์ผ ์ด์–ด ๋ชจ๋“œ(์–ด๋‘์šด ์˜ค๋ฒ„๋ ˆ์ด; 3ํšŒ ํƒญํ•˜์—ฌ ์ž ๊ธˆ ํ•ด์ œ). ๋ธŒ๋ผ์šฐ์ € ๋‚ด ์‚ฌ์šฉ์ž ์ƒํƒœ(์˜จ๋ผ์ธ, ๋ฐ”์จ, ์˜คํ”„๋ผ์ธ); ๋ฐ”์จ/์˜คํ”„๋ผ์ธ ์ƒํƒœ์—์„œ๋Š” ์ˆ˜์‹  ํ†ตํ™”๋ฅผ ์ž๋™์œผ๋กœ ๊ฑฐ๋ถ€ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ์‚ฌ์šฉ์ž๊ฐ€ ๋‹ค๋ฅธ ํƒญ์œผ๋กœ ์ „ํ™˜ํ•˜๋ฉด 60์ดˆ ํƒ€์ด๋จธ๊ฐ€ ์‹œ์ž‘๋˜๋ฉฐ, ๋Œ์•„์˜ค์ง€ ์•Š์œผ๋ฉด ํ†ตํ™”๊ฐ€ ์ข…๋ฃŒ๋ฉ๋‹ˆ๋‹ค.
  • ๋กœ์ปฌ๋ผ์ด์ œ์ด์…˜ โ€” ์˜์–ด ๋ฐ ์ดํƒˆ๋ฆฌ์•„์–ด(ํด๋ผ์ด์–ธํŠธ ๋ฐ ์„œ๋ฒ„).

์ƒํƒœ: ๋ฒ ํƒ€. ํ†ตํ™” ์‹คํŒจ ๋˜๋Š” ๋‹จ๋ฐฉํ–ฅ ์˜ค๋””์˜ค์˜ ๊ฒฝ์šฐ, ๊ด€๋ฆฌ โ†’ ํ”Œ๋Ÿฌ๊ทธ์ธ โ†’ ICE ์„œ๋ฒ„์—์„œ TURN์„ ๊ตฌ์„ฑํ•˜์„ธ์š”.

์„ค์ •

  1. ์„ค์น˜ โ€” ํ”Œ๋Ÿฌ๊ทธ์ธ์„ ์ถ”๊ฐ€ํ•ฉ๋‹ˆ๋‹ค(์˜ˆ: app.yml ํ›… ๋˜๋Š” ํ”Œ๋Ÿฌ๊ทธ์ธ ๋””๋ ‰ํ„ฐ๋ฆฌ์— ์ˆ˜๋™์œผ๋กœ):
    • git clone https://github.com/idiskuz/diskuz-call.git
    • ์•ฑ์„ ๋‹ค์‹œ ๋นŒ๋“œํ•ฉ๋‹ˆ๋‹ค(์˜ˆ: ./launcher rebuild app).
  2. ํ™œ์„ฑํ™” โ€” ๊ด€๋ฆฌ โ†’ ํ”Œ๋Ÿฌ๊ทธ์ธ: diskuz Call ํ™œ์„ฑํ™”(๋ชฉ๋ก์— ์žˆ๋Š” ๊ฒฝ์šฐ). ๊ด€๋ฆฌ โ†’ ์„ค์ • โ†’ ํ”Œ๋Ÿฌ๊ทธ์ธ: diskuz Call ํ™œ์„ฑํ™” ์ฒดํฌ.
  3. ์ ‘๊ทผ ๊ถŒํ•œ โ€” diskuz Call์„ ๋ณด๊ณ  ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ๋Š” ๋Œ€์ƒ์„ ์›ํ•˜๋Š” ๊ทธ๋ฃน์œผ๋กœ ์„ค์ •ํ•ฉ๋‹ˆ๋‹ค(์˜ˆ: ๊ด€๋ฆฌ์ž, ๋ชจ๋”๋ ˆ์ดํ„ฐ, ์Šคํƒœํ”„์˜ ๊ฒฝ์šฐ 1|2|3).
  4. ์„ ํƒ ์‚ฌํ•ญ โ€” ํ•„์š” ์‹œ ๋– ๋‹ค๋‹ˆ๋Š” ๋ฒ„ํŠผ ํ‘œ์‹œ / ์ฑ„ํŒ… ๋ฒ„ํŠผ ํ‘œ์‹œ, ์ˆ˜์‹ ์ž๊ฐ€ ๋ฐœ์‹ ์ž๋ฅผ ํŒ”๋กœ์šฐํ•˜๋„๋ก ์š”๊ตฌ(Discourse Follow์™€ ํ•จ๊ป˜), ์ˆ˜์‹  ํ†ตํ™” ์†Œ๋ฆฌ, ์‚ฌ์šฉ์ž ์ง€์ • ๋ฒจ์†Œ๋ฆฌ ๋˜๋Š” ๋Œ€์ฒด ๋ฒจ์†Œ๋ฆฌ, ์˜์ƒ ํ™œ์„ฑํ™” ๊ฐ€๋Šฅ ๊ทธ๋ฃน, ์ฃผ์š” ์ƒ‰์ƒ, ICE ์„œ๋ฒ„(NAT/๋ฐฉํ™”๋ฒฝ์„ ์œ„ํ•œ TURN JSON)๋ฅผ ๊ตฌ์„ฑํ•ฉ๋‹ˆ๋‹ค.

์š”๊ตฌ ์‚ฌํ•ญ: Discourse(์‹œ๊ทธ๋„๋ง์„ ์œ„ํ•ด ๋‚ด์žฅ ์‹ค์‹œ๊ฐ„ ๋ฉ”์‹œ์ง• ์‚ฌ์šฉ). ์„ ํƒ ์‚ฌํ•ญ: Discourse Follow (โ€œ์ˆ˜์‹ ์ž๊ฐ€ ๋ฐœ์‹ ์ž๋ฅผ ํŒ”๋กœ์šฐํ•ด์•ผ ํ•จโ€ ๊ธฐ๋Šฅ์šฉ). WebRTC, ๋งˆ์ดํฌ(์˜์ƒ์˜ ๊ฒฝ์šฐ ์นด๋ฉ”๋ผ)๋ฅผ ์ง€์›ํ•˜๋Š” ๋ธŒ๋ผ์šฐ์ €.

์„ค์ • ํ•ญ๋ชฉ

์ด๋ฆ„ ์„ค๋ช…
diskuz Call ํ™œ์„ฑํ™” ํ”Œ๋Ÿฌ๊ทธ์ธ์˜ ๋งˆ์Šคํ„ฐ ์Šค์œ„์น˜.
diskuz Call์„ ๋ณด๊ณ  ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ๋Š” ๋Œ€์ƒ ๊ทธ๋ฃน ๋ชฉ๋ก(์˜ˆ: ID๋กœ ๊ด€๋ฆฌ์ž, ๋ชจ๋”๋ ˆ์ดํ„ฐ, ์Šคํƒœํ”„). ์ด ์‚ฌ์šฉ์ž๋งŒ ํ”Œ๋Ÿฌ๊ทธ์ธ์„ ๋ณด๊ณ  ํ†ตํ™”ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.
์ˆ˜์‹ ์ž๊ฐ€ ๋ฐœ์‹ ์ž๋ฅผ ํŒ”๋กœ์šฐํ•˜๋„๋ก ์š”๊ตฌ ํ™œ์„ฑํ™” ์‹œ(Discourse Follow์™€ ํ•จ๊ป˜), ์ˆ˜์‹ ์ž๋Š” ํ†ตํ™”๋ฅผ ๋ฐ›์œผ๋ ค๋ฉด ๋ฐœ์‹ ์ž๋ฅผ ํŒ”๋กœ์šฐํ•ด์•ผ ํ•ฉ๋‹ˆ๋‹ค.
๋– ๋‹ค๋‹ˆ๋Š” ๋ฒ„ํŠผ ํ‘œ์‹œ ON: ํ—ˆ์šฉ๋œ ๊ทธ๋ฃน์—๊ฒŒ๋งŒ ๋– ๋‹ค๋‹ˆ๋Š” ๋ฒ„ํŠผ ํ‘œ์‹œ. OFF: ๋ชจ๋“  ์‚ฌ๋žŒ์—๊ฒŒ ์ˆจ๊น€.
์ฑ„ํŒ… ๋ฒ„ํŠผ ํ‘œ์‹œ ON: 1:1 ์ฑ„ํŒ… ๋‚ด ํ†ตํ™” ๋ฒ„ํŠผ์ด ํ—ˆ์šฉ๋œ ๊ทธ๋ฃน์—๊ฒŒ๋งŒ ํ‘œ์‹œ. OFF: ๋ชจ๋“  ์‚ฌ๋žŒ์—๊ฒŒ ์ˆจ๊น€.
์˜์ƒ ํ™œ์„ฑํ™” ๊ฐ€๋Šฅ ๊ทธ๋ฃน ํ†ตํ™” ์ค‘ ์˜์ƒ ๋ฒ„ํŠผ์„ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ๋Š” ๊ทธ๋ฃน ๋ชฉ๋ก.
์ฃผ์š” ์ƒ‰์ƒ ๋ฒ„ํŠผ ๋ฐ ๊ฐ•์กฐ ์š”์†Œ์— ์‚ฌ์šฉํ•  16์ง„์ˆ˜ ์ƒ‰์ƒ(์˜ˆ: #13c98c).
์ˆ˜์‹  ํ†ตํ™” ์†Œ๋ฆฌ ์—†์Œ, ๊ธฐ๋ณธ, ๋”ฉ, ๋ฒจ, ์ฑ„ํŒ…, ์‚ฌ์šฉ์ž ์ง€์ •, ๋˜๋Š” ๋Œ€์ฒด.
์‚ฌ์šฉ์ž ์ง€์ • ๋ฒจ์†Œ๋ฆฌ 1โ€“10 MP3 URL. ์†Œ๋ฆฌ๊ฐ€ ์‚ฌ์šฉ์ž ์ง€์ •์ผ ๋•Œ ์‚ฌ์šฉ; ์‚ฌ์šฉ์ž๊ฐ€ ์œ„์ ฏ์—์„œ ํ•˜๋‚˜๋ฅผ ์„ ํƒํ•ฉ๋‹ˆ๋‹ค.
๋Œ€์ฒด ๋ฒจ์†Œ๋ฆฌ ์†Œ๋ฆฌ๊ฐ€ ๋Œ€์ฒด์ผ ๋•Œ ์‚ฌ์šฉํ•  ํ”„๋ฆฌ์…‹(์˜ˆ: soft, classic, modern, festivo, marimba, relax1โ€“5).
ICE ์„œ๋ฒ„ STUN/TURN์„ ์œ„ํ•œ ์„ ํƒ์  JSON ๋ฐฐ์—ด. ๋น„์–ด ์žˆ์Œ = Google STUN๋งŒ ์‚ฌ์šฉ.
๋””๋ฒ„๊ทธ ๋กœ๊ทธ ON์ผ ๋•Œ ๋ธŒ๋ผ์šฐ์ € ์ฝ˜์†”(F12)์— [diskuz-call] ๋ฉ”์‹œ์ง€ ์ถœ๋ ฅ. ์ง€์›์„ ์œ„ํ•ด ์‚ฌ์šฉ; ํ”„๋กœ๋•์…˜ ํ™˜๊ฒฝ์—์„œ๋Š” ๋น„ํ™œ์„ฑํ™”ํ•˜์„ธ์š”.

์ €์ž: diskuz.com, Cristian Deraco
ํฌ๋ ˆ๋”ง: ์ปจ์…‰, ๊ธฐ๋Šฅ ๋ฐ ๋””์ž์ธ์€ Cristian Deraco (diskuz.com). AI ์ง€์› ๊ฐœ๋ฐœ๋กœ ๊ตฌํ˜„.
๋ฒ„์ „: 0.4.0-beta

์ด๊ฒƒ์€ ๊ณต์‹ Discourse ํ”Œ๋Ÿฌ๊ทธ์ธ์ด ์•„๋‹™๋‹ˆ๋‹ค.

๊ท€ํ•˜์˜ ์‚ฌ์ดํŠธ์—์„œ ์œ„์ ฏ์ด ์–ด๋–ป๊ฒŒ ๋ณด์ด๋Š”์ง€ ๋ณด๊ณ  ์‹ถ์Šต๋‹ˆ๋‹ค. ํ”Œ๋Ÿฌ๊ทธ์ธ ์˜ต์…˜ ํŒจ๋„์—์„œ diskuz Call ์ฃผ์š” ์ƒ‰์ƒ์„ ์ง์ ‘ ์„ค์ •ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค :hugs:

๋ชจ๋‘์™€ ์ด ์†Œ์‹์„ ๊ณต์œ ํ•˜๊ฒŒ ๋˜์–ด ์ •๋ง ์„ค๋ ™๋‹ˆ๋‹ค โ€” diskuz Call์ด ๋งˆ์นจ๋‚ด ์ถœ์‹œ๋˜์—ˆ์Šต๋‹ˆ๋‹ค! ์—ฌ๋Ÿฌ๋ถ„์˜ ์˜๊ฒฌ์„ ๊ธฐ๋‹ค๋ฆฝ๋‹ˆ๋‹ค :star_struck:

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

์ •๋ง ๊ธฐ๋Œ€๊ฐ€ ๋ฉ๋‹ˆ๋‹ค! ์ง์ ‘ ์‚ฌ์šฉํ•ด๋ณด๋Š” ๊ฒƒ์ด ๊ธฐ๋Œ€๋ฉ๋‹ˆ๋‹ค. ๋Œ€ํ™”๊ฐ€ ํ•„์š”ํ•  ๋•Œ ํฌ๋Ÿผ ๋ฉค๋ฒ„๋“ค ๊ฐ„์˜ ์—ฐ๊ฒฐ์„ ์‰ฝ๊ฒŒ ๊ฐ€๋Šฅํ•˜๊ฒŒ ํ•˜๋Š” ํ›Œ๋ฅญํ•˜๊ณ (๊ทธ๋ฆฌ๊ณ  ์˜ค๋ฒ„ํ—ค๋“œ๊ฐ€ ์ ์€) ๋ฐฉ๋ฒ•์ธ ๊ฒƒ ๊ฐ™์Šต๋‹ˆ๋‹ค.

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

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