Zulip 3.0 ๋ฐ Mattermost 5.25 ๋ฉ”์‹œ์ง• ํ”Œ๋žซํผ ์‚ฌ์šฉ ๊ฐ€๋Šฅ

๋„์ž… ์„๋ฐฉํ•˜๋‹ค ์ค„๋ฆฝ 3.0, ์ง์›๊ณผ ๊ฐœ๋ฐœํŒ€ ๊ฐ„์˜ ์ปค๋ฎค๋‹ˆ์ผ€์ด์…˜์„ ๊ตฌ์„ฑํ•˜๋Š” ๋ฐ ์ ํ•ฉํ•œ ๊ธฐ์—… ์ธ์Šคํ„ดํŠธ ๋ฉ”์‹ ์ €๋ฅผ ๋ฐฐํฌํ•˜๊ธฐ ์œ„ํ•œ ์„œ๋ฒ„ ํ”Œ๋žซํผ์ž…๋‹ˆ๋‹ค. ์ด ํ”„๋กœ์ ํŠธ๋Š” ์›๋ž˜ Zulip์ด ๊ฐœ๋ฐœํ–ˆ์œผ๋ฉฐ Dropbox๊ฐ€ Apache 2.0 ๋ผ์ด์„ ์Šค์— ๋”ฐ๋ผ ์ธ์ˆ˜ํ•œ ํ›„ ๊ณต๊ฐœ๋˜์—ˆ์Šต๋‹ˆ๋‹ค. ์„œ๋ฒ„ ์ฝ”๋“œ ์ž‘์„ฑ์ž : Python์—์„œ๋Š” Django ํ”„๋ ˆ์ž„์›Œํฌ๋ฅผ ์‚ฌ์šฉํ•ฉ๋‹ˆ๋‹ค. ํด๋ผ์ด์–ธํŠธ ์†Œํ”„ํŠธ์›จ์–ด ์‚ฌ์šฉ ๊ฐ€๋Šฅ ๋ฆฌ๋ˆ…์Šค, ์œˆ๋„์šฐ, ๋งฅOS์šฉ, Android ะธ iOS, ๋‚ด์žฅ ์›น ์ธํ„ฐํŽ˜์ด์Šค๋„ ์ œ๊ณต๋ฉ๋‹ˆ๋‹ค.

์ด ์‹œ์Šคํ…œ์€ ๋‘ ์‚ฌ๋žŒ ๊ฐ„์˜ ์ง์ ‘ ๋ฉ”์‹œ์ง•๊ณผ ๊ทธ๋ฃน ํ† ๋ก ์„ ๋ชจ๋‘ ์ง€์›ํ•ฉ๋‹ˆ๋‹ค. Zulip์€ ์„œ๋น„์Šค์— ๋น„์œ ๋  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ๋Š์Šจํ•˜๊ฒŒ ๋Œ€๊ทœ๋ชจ ์ง์› ๊ทธ๋ฃน์˜ ์—…๋ฌด ๋ฌธ์ œ์— ๋Œ€ํ•œ ์˜์‚ฌ์†Œํ†ต ๋ฐ ํ† ๋ก ์— ์‚ฌ์šฉ๋˜๋Š” Twitter์˜ ๋‚ด๋ถ€ ๊ธฐ์—… ์•„๋‚ ๋กœ๊ทธ๋กœ ๊ฐ„์ฃผ๋ฉ๋‹ˆ๋‹ค. Slack ๋ฃธ์— ์—ฐ๊ฒฐ๋œ ๊ฒƒ๊ณผ Twitter์˜ ๋‹จ์ผ ๊ณต์šฉ ๊ณต๊ฐ„ ๊ฐ„์˜ ์ตœ์ ์˜ ์ ˆ์ถฉ์•ˆ์ธ ์Šค๋ ˆ๋“œ ๋ฉ”์‹œ์ง€ ํ‘œ์‹œ ๋ชจ๋ธ์„ ์‚ฌ์šฉํ•˜์—ฌ ์ƒํƒœ๋ฅผ ์ถ”์ ํ•˜๊ณ  ๋™์‹œ์— ์—ฌ๋Ÿฌ ๋Œ€ํ™”์— ์ฐธ์—ฌํ•  ์ˆ˜ ์žˆ๋Š” ๋„๊ตฌ๋ฅผ ์ œ๊ณตํ•ฉ๋‹ˆ๋‹ค. ๋ชจ๋“  ํ† ๋ก ์„ ์Šค๋ ˆ๋“œ์— ํ•œ ๋ฒˆ์— ํ‘œ์‹œํ•˜๋ฉด ๊ทธ๋ฃน ๊ฐ„์˜ ๋…ผ๋ฆฌ์  ๊ตฌ๋ถ„์„ ์œ ์ง€ํ•˜๋ฉด์„œ ๋ชจ๋“  ๊ทธ๋ฃน์„ ํ•œ ๊ณณ์—์„œ ์บก์ฒ˜ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

Zulip์˜ ๊ธฐ๋Šฅ์—๋Š” ์˜คํ”„๋ผ์ธ ๋ชจ๋“œ์—์„œ ์‚ฌ์šฉ์ž์—๊ฒŒ ๋ฉ”์‹œ์ง€ ์ „์†ก ์ง€์›(๋ฉ”์‹œ์ง€๋Š” ์˜จ๋ผ์ธ์— ํ‘œ์‹œ๋œ ํ›„ ์ „๋‹ฌ๋จ), ์„œ๋ฒ„์— ๋Œ€ํ•œ ์ „์ฒด ํ† ๋ก  ๊ธฐ๋ก ์ €์žฅ ๋ฐ ์•„์นด์ด๋ธŒ ๊ฒ€์ƒ‰ ๋„๊ตฌ, ๋“œ๋ž˜๊ทธ ์•ค ๋“œ๋กญ ๋ชจ๋“œ, ๋ฉ”์‹œ์ง€๋กœ ์ „์†ก๋œ ์ฝ”๋“œ ๋ธ”๋ก์— ๋Œ€ํ•œ ์ž๋™ ๊ฐ•์กฐ ๊ตฌ๋ฌธ, ๋ชฉ๋ก ๋ฐ ํ…์ŠคํŠธ ํ˜•์‹์„ ๋น ๋ฅด๊ฒŒ ์ƒ์„ฑํ•˜๊ธฐ ์œ„ํ•œ ๋‚ด์žฅ ๋งˆํฌ์—… ์–ธ์–ด, ๊ทธ๋ฃน ์•Œ๋ฆผ ์ „์†ก ๋„๊ตฌ, ํ์‡„ ๊ทธ๋ฃน ์ƒ์„ฑ ๊ธฐ๋Šฅ, Trac, Nagios, Github, Jenkins, Git๊ณผ์˜ ํ†ตํ•ฉ , Subversion, JIRA, Puppet, RSS, Twitter ๋ฐ ๊ธฐํƒ€ ์„œ๋น„์Šค, ๋ฉ”์‹œ์ง€์— ์‹œ๊ฐ์  ํƒœ๊ทธ๋ฅผ ์ฒจ๋ถ€ํ•˜๋Š” ๋„๊ตฌ์ž…๋‹ˆ๋‹ค.

์ฃผ์š” ํ˜์‹ :

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

    Zulip 3.0 ๋ฐ Mattermost 5.25 ๋ฉ”์‹œ์ง• ํ”Œ๋žซํผ ์‚ฌ์šฉ ๊ฐ€๋Šฅ

  • ๋ชจ๋“  ์œ„์ ฏ์ด ์ „๋ฐ˜์ ์œผ๋กœ ๊ฐœ์„ ๋˜์—ˆ์Šต๋‹ˆ๋‹ค.
  • ๋ฉ”์‹œ์ง€์˜ ๊ฒฝ์šฐ ๋“œ๋กญ๋‹ค์šด ๋ธ”๋ก(์Šคํด๋Ÿฌ)์„ ์ •์˜ํ•˜๊ธฐ ์œ„ํ•œ ๋งˆํฌ์—…์ด ์ถ”๊ฐ€๋˜์—ˆ์Šต๋‹ˆ๋‹ค. ์ธ์šฉ๋ฌธ์œผ๋กœ ๋‹ต๊ธ€์„ ๋‹ฌ ๋•Œ ์›๋ณธ ๋ฉ”์‹œ์ง€์— ๋Œ€ํ•œ ๋งํฌ๊ฐ€ ์ œ๊ณต๋ฉ๋‹ˆ๋‹ค. ์ด๋ฒคํŠธ ์‹œ๊ฐ„ ํ• ๋‹น์ด ๋‹จ์ˆœํ™”๋˜์—ˆ์Šต๋‹ˆ๋‹ค(์ด์ œ ๊ฐ ์ˆ˜์‹ ์ž์˜ ์‹œ๊ฐ„๋Œ€๋ฅผ ๊ณ ๋ คํ•˜์—ฌ ์‹œ๊ฐ„์ด ํ‘œ์‹œ๋ฉ๋‹ˆ๋‹ค).
  • Ubuntu 20.04์— ๋Œ€ํ•œ ์ง€์›์ด ์ถ”๊ฐ€๋˜๊ณ  Ubuntu 16.04 ๋ฐ Debian 9์— ๋Œ€ํ•œ ์ง€์›์ด ์ค‘๋‹จ๋˜์—ˆ์Šต๋‹ˆ๋‹ค.
  • ๊ธฐ๋ณธ์ ์œผ๋กœ ์‹ ๊ทœ ์„ค์น˜์—๋Š” PostgreSQL 12๊ฐ€ ๊ถŒ์žฅ๋˜๋ฉฐ PostgreSQL 10 ๋ฐ 11์— ๋Œ€ํ•œ ์ง€์›์€ ์œ ์ง€๋ฉ๋‹ˆ๋‹ค.
  • ๋ช‡ ๊ฐ€์ง€ ์ค‘์š”ํ•œ ์„ฑ๋Šฅ ์ตœ์ ํ™”๊ฐ€ ์ด๋ฃจ์–ด์กŒ์Šต๋‹ˆ๋‹ค. ํ‘ธ์‹œ ์•Œ๋ฆผ ์‹œ์Šคํ…œ์˜ ์„ฑ๋Šฅ์ด 4๋ฐฐ ํ–ฅ์ƒ๋˜์—ˆ๊ณ , ์ผ๋ถ€ ์œ ํ˜•์˜ ์š”์ฒญ์ด ๊ฐ€์†ํ™”๋˜์—ˆ์œผ๋ฉฐ, ์‚ฌ์šฉ์ž๊ฐ€ 10๋ช… ์ด์ƒ์ธ ๋Œ€๊ทœ๋ชจ ๋ฐฐํฌ์˜ ์„ฑ๋Šฅ์ด ํฌ๊ฒŒ ํ–ฅ์ƒ๋˜์—ˆ์Šต๋‹ˆ๋‹ค.
  • Django 1.11.x์—์„œ 2.2.x ๋ถ„๊ธฐ๋กœ์˜ ์ „ํ™˜์ด ์ˆ˜ํ–‰๋˜์—ˆ์Šต๋‹ˆ๋‹ค.
  • GitLab ๋ฐ Apple ๊ณ„์ •์„ ํ†ตํ•œ ์ƒˆ๋กœ์šด ์™ธ๋ถ€ ์ธ์ฆ ๋ฐฉ๋ฒ•์ด ์ถ”๊ฐ€๋˜์—ˆ์Šต๋‹ˆ๋‹ค. ์ด์ œ ๋ฐ์Šคํฌํ†ฑ ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜์—๋Š” ์™ธ๋ถ€ ๋ธŒ๋ผ์šฐ์ €๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ Google, GitHub ๋ฐ ์†Œ์…œ ๋„คํŠธ์›Œํฌ๋ฅผ ํ†ตํ•ด ์ธ์ฆํ•  ์ˆ˜ ์žˆ๋Š” ๊ธฐ๋Šฅ์ด ์žˆ์Šต๋‹ˆ๋‹ค.
  • Slack ์›นํ›… API์™€ ์œ ์‚ฌํ•˜๊ฒŒ ์ˆ˜์‹  ๋ฉ”์‹œ์ง€๋ฅผ ๊ฐ€๋กœ์ฑ„๊ธฐ ์œ„ํ•œ ์ƒˆ๋กœ์šด ์›นํ›… API๊ฐ€ ์ถ”๊ฐ€๋˜์—ˆ์Šต๋‹ˆ๋‹ค.
  • ์ด์Šˆ ๋ฒˆํ˜ธ ์ฒด๊ณ„๊ฐ€ ๋ณ€๊ฒฝ๋˜์—ˆ์Šต๋‹ˆ๋‹ค. ๋ฒ„์ „์˜ ๋‘ ๋ฒˆ์งธ ์ˆซ์ž๋Š” ์ด์ œ ์ˆ˜์ • ์—…๋ฐ์ดํŠธ๋ฅผ ๋‚˜ํƒ€๋ƒ…๋‹ˆ๋‹ค.

์ถ”๊ฐ€์ ์œผ๋กœ ์ฃผ๋ชฉํ•  ์ˆ˜ ์žˆ๋Š” ๊ฒƒ์€ ๋ฌธ์ œ ๋ฉ”์‹œ์ง• ์‹œ์Šคํ…œ ์ค‘์š”ํ•œ 5.25, ๋˜ํ•œ ๊ฐœ๋ฐœ์ž์™€ ๊ธฐ์—… ์ง์› ๊ฐ„์˜ ์ปค๋ฎค๋‹ˆ์ผ€์ด์…˜์„ ๋ณด์žฅํ•˜๋Š” ๋ฐ ์ค‘์ ์„ ๋‘์—ˆ์Šต๋‹ˆ๋‹ค. ํ”„๋กœ์ ํŠธ์˜ ์„œ๋ฒ„ ์ธก ์ฝ”๋“œ๋Š” Go๋กœ ์ž‘์„ฑ๋˜์—ˆ์œผ๋ฉฐ ๋ฐฐํฌ์ž MIT ๋ผ์ด์„ผ์Šค์— ๋”ฐ๋ผ. ์›น ์ธํ„ฐํŽ˜์ด์Šค ะธ ๋ชจ๋ฐ”์ผ ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜ React๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ JavaScript๋กœ ์ž‘์„ฑ๋˜์—ˆ์œผ๋ฉฐ, ๋ฐ์Šคํฌํ†ฑ ํด๋ผ์ด์–ธํŠธ Electron ํ”Œ๋žซํผ์„ ๊ธฐ๋ฐ˜์œผ๋กœ ๊ตฌ์ถ•๋œ Linux, Windows ๋ฐ macOS์šฉ. MySQL, PostgreSQL์„ DBMS๋กœ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

Mattermost๋Š” ์ปค๋ฎค๋‹ˆ์ผ€์ด์…˜ ์กฐ์ง ์‹œ์Šคํ…œ์— ๋Œ€ํ•œ ๊ฐœ๋ฐฉํ˜• ๋Œ€์•ˆ์œผ๋กœ ์ž๋ฆฌ์žก๊ณ  ์žˆ์Šต๋‹ˆ๋‹ค. ๋Š์Šจํ•˜๊ฒŒ ์Šค๋งˆํŠธํฐ์ด๋‚˜ PC์—์„œ ๋ฉ”์‹œ์ง€, ํŒŒ์ผ, ์ด๋ฏธ์ง€๋ฅผ ์ฃผ๊ณ ๋ฐ›๊ณ , ๋Œ€ํ™” ๊ธฐ๋ก์„ ์ถ”์ ํ•˜๊ณ , ์•Œ๋ฆผ์„ ๋ฐ›์„ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ์ง€์›๋จ Slack์šฉ์œผ๋กœ ์ค€๋น„๋œ ํ†ตํ•ฉ ๋ชจ๋“ˆ๊ณผ Jira, GitHub, IRC, XMPP, Hubot, Giphy, Jenkins, GitLab, Trac, BitBucket, Twitter, Redmine, SVN ๋ฐ RSS/Atom๊ณผ์˜ ํ†ตํ•ฉ์„ ์œ„ํ•œ ๋Œ€๊ทœ๋ชจ ์‚ฌ์šฉ์ž ์ •์˜ ๋ชจ๋“ˆ ์ปฌ๋ ‰์…˜์ด ์žˆ์Šต๋‹ˆ๋‹ค.

์ƒˆ ๋ฆด๋ฆฌ์Šค์˜ ๊ฐœ์„  ์‚ฌํ•ญ ์ค‘์—๋Š” ๊ฐœ๋ฐฉํ˜• ํ”Œ๋žซํผ๊ณผ์˜ ํ†ตํ•ฉ ๋„์ž…์ด ์–ธ๊ธ‰๋ฉ๋‹ˆ๋‹ค. ์ง€์น˜ ํ™”์ƒ ํšŒ์˜ ๋ฐ ํ™”๋ฉด ์ฝ˜ํ…์ธ  ๊ณต์œ ์šฉ. ์ƒˆ๋กœ์šด ํ™”์ƒ ํšŒ์˜๋ฅผ ์‹œ์ž‘ํ•˜๊ธฐ ์œ„ํ•ด ์ธํ„ฐํŽ˜์ด์Šค์— "/jitsi" ๋ช…๋ น๊ณผ ํŠน์ˆ˜ ๋ฒ„ํŠผ์ด ๊ตฌํ˜„๋˜์—ˆ์Šต๋‹ˆ๋‹ค. ํ™”์ƒ ํšŒ์˜๋Š” ํ”Œ๋กœํŒ… ์ฐฝ ํ˜•ํƒœ๋กœ Mattermost ์ฑ„ํŒ…์— ํฌํ•จ๋  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ๊ธฐ๋ณธ์ ์œผ๋กœ Meet.jit.si ์„œ๋ฒ„๋Š” ํšŒ์˜์— ์‚ฌ์šฉ๋˜์ง€๋งŒ ์ž์ฒด Jitsi ์„œ๋ฒ„์— ์—ฐ๊ฒฐํ•˜๊ณ  JWT(JSON Web Token) ์ธ์ฆ ์‚ฌ์šฉ์„ ๊ตฌ์„ฑํ•  ์ˆ˜๋„ ์žˆ์Šต๋‹ˆ๋‹ค.

Zulip 3.0 ๋ฐ Mattermost 5.25 ๋ฉ”์‹œ์ง• ํ”Œ๋žซํผ ์‚ฌ์šฉ ๊ฐ€๋Šฅ

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

Zulip 3.0 ๋ฐ Mattermost 5.25 ๋ฉ”์‹œ์ง• ํ”Œ๋žซํผ ์‚ฌ์šฉ ๊ฐ€๋Šฅ

์ถœ์ฒ˜ : opennet.ru

์ฝ”๋ฉ˜ํŠธ๋ฅผ ์ถ”๊ฐ€