GithubHelp home page GithubHelp logo

bbzzkk / livemd Goto Github PK

View Code? Open in Web Editor NEW
6.0 2.0 3.0 74.29 MB

๐Ÿ˜ŽAwesome Realtime Markdown Editor๐Ÿ’–

HTML 0.91% JavaScript 84.22% CSS 1.69% Dockerfile 1.26% Java 10.51% Shell 1.41%
nodejs express react spring-boot jpa mongoose mobx-state-tree react-google-login react-toastify craco gradle swagger express-validator yjs

livemd's Introduction

LiveMD

Document GitHub top language GitHub repo size

๐Ÿ“š์œ„ํ‚ค์—์„  ๋” ๋‹ค์–‘ํ•œ ์ •๋ณด์™€ ๊ฐœ๋ฐœ ๊ณผ์ •์„,
LiveMD์˜ ๋‹ค์–‘ํ•œ ๋ชจ์Šต์„ ์‚ดํŽด๋ณด์„ธ์š”!


๋ชฉ์ฐจ

  1. ํ”„๋กœ์ ํŠธ ์†Œ๊ฐœ
    1-1. ํ”„๋กœ์ ํŠธ ๋ชฉํ‘œ
    1-2. ํ”„๋กœ์ ํŠธ ์†Œ๊ฐœ ๋ฐ ์‹œ์—ฐ ์˜์ƒ
    1-3. ๊ธฐ์ˆ  ์Šคํƒ
    1-4. ์•„ํ‚คํ…์ฒ˜ ๋ฐ ๋ฐฐํฌ ๊ตฌ์กฐ
  2. ์‹คํ–‰ ๋ฐฉ๋ฒ•
  3. ๊ฐœ๋ฐœ ์œ ์˜์‚ฌํ•ญ
  4. ํŒ€์› ์†Œ๊ฐœ

ํ”„๋กœ์ ํŠธ ์†Œ๊ฐœ

๐Ÿ“Œํ”„๋กœ์ ํŠธ ๋ชฉํ‘œ

LiveMD๋Š” ์˜จ๋ผ์ธ ํšŒ์˜๋ฅผ ํ•˜๋Š” ์‚ฌ๋žŒ๋“ค์„ ์œ„ํ•œ ์‹ค์‹œ๊ฐ„ ์†Œํ†ต ํ˜‘์—… ์—๋””ํ„ฐ์ž…๋‹ˆ๋‹ค.
LiveMD๋Š” ์˜จ๋ผ์ธ ํšŒ์˜์— ํ•„์š”ํ•œ ์‹ค์‹œ๊ฐ„ ์˜์‚ฌ์†Œํ†ต ๊ธฐ๋Šฅ, ์—๋””ํ„ฐ ๊ธฐ๋Šฅ, ๋ฌธ์„œ ๊ณต๋™ ํŽธ์ง‘ ๊ธฐ๋Šฅ์„ ํ•ฉ์ณ ํ•˜๋‚˜์˜ ์„œ๋น„์Šค๋กœ ์ œ๊ณตํ•˜๋Š” ๊ฒƒ์„ ๋ชฉํ‘œ๋กœ ํ•ฉ๋‹ˆ๋‹ค.

๐Ÿ“ฝ ํ”„๋กœ์ ํŠธ ์†Œ๊ฐœ ๋ฐ ์‹œ์—ฐ ์˜์ƒ

์‚ฌ์ง„์„ ํด๋ฆญํ•˜๋ฉด ์œ ํŠœ๋ธŒ ํŽ˜์ด์ง€๋กœ ์ด๋™ํ•ฉ๋‹ˆ๋‹ค

โš™ ๊ธฐ์ˆ  ์Šคํƒ

๐Ÿ”ƒ ์•„ํ‚คํ…์ฒ˜ ๋ฐ ๋ฐฐํฌ ๊ตฌ์กฐ


๐Ÿ‘จโ€๐Ÿ’ป์‹คํ–‰ ๋ฐฉ๋ฒ•

  1. Node.js ๊ฐœ๋ฐœ ํ™˜๊ฒฝ
  • client
  • express-auth
  • express-team
  • express-chat
  • express-vide
  • express-yjs

โ€ป ์‹คํ–‰ ์ „ .env or configuration๋ฅผ ์„ค์ •ํ•˜๊ณ  ์„œ๋ฒ„๋ฅผ ์‹œ์ž‘ํ•ด์•ผ ์ •์ƒ์ ์œผ๋กœ ๋™์ž‘ํ•ฉ๋‹ˆ๋‹ค.

์„ค์น˜

yarn install

์‹คํ–‰

yarn start
  1. Spring boot ๊ฐœ๋ฐœ ํ™˜๊ฒฝ
  • spring-document
./gradlew build --exclude-task test
java -jar build/libs/document-1.0-SNAPSHOT.jar

โ• ๊ฐœ๋ฐœ ์œ ์˜์‚ฌํ•ญ โ—

git clone ์ดํ›„, git hooks ์ ์šฉ์„ ์œ„ํ•ด ๋ฐ˜๋“œ์‹œ ์•„๋ž˜ ๋ช…๋ น์–ด๋ฅผ ์‹คํ–‰ํ•ด์•ผ ํ•ฉ๋‹ˆ๋‹ค.

git clone https://github.com/bbzzkk/LiveMD.git
# ๋˜๋Š” 
git clone https://github.com/bbzzkk/LiveMD.git

./setup_hooks.sh

github wiki์— ๊ฒŒ์‹œํ•œ commit style , branch style์„ ์ค€์ˆ˜ํ•ฉ๋‹ˆ๋‹ค.


๐Ÿ‘จโ€๐Ÿ‘จโ€๐Ÿ‘งํŒ€์› ์†Œ๊ฐœ

์ž์นญ ์šฐ์•„ํ•œ ํ–‰๋ณตํ•œ ๊ทผ์—„ํ•œ ๊นœ์ฐํ•œ ํ™œ๋ ฅ์†Œ
kwak-bs
๊ณฝ๋ณ‘์„ 

Joylish
์ด์—ฐ์ฃผ

jswwW
์กฐ์„ฑ์›

soyoung-Jung
์ •์†Œ์˜

hataerin
ํ•˜ํƒœ๋ฆฐ

๐Ÿง LiveMD ๊ฐœ๋ฐœ์ž์˜ ์ปจ๋””์…˜

์ €ํฌ๋Š” ๋ฐ์ผ๋ฆฌ ์Šคํฌ๋Ÿผ๋งˆ๋‹ค, ๊ทธ๋‚ ์˜ ์ปจ๋””์…˜์„ ๊ธฐ๋กํ•˜๊ณ  ์„œ๋กœ ํ™•์ธํ–ˆ์–ด์š”!
LiveMD ๊ฐœ๋ฐœ์ž๋“ค์˜ ๊ฐ€์žฅ ๋†’์•˜๋˜ ์ปจ๋””์…˜ ์ ์ˆ˜๋Š” ๋ช‡ ์ ์ด์—ˆ์„๊นŒ์š”?

๋ฐ์ผ๋ฆฌ ์Šคํฌ๋Ÿผ ๋ณด๋Ÿฌ๊ฐ€๊ธฐ

์Šคํ”„๋ฆฐํŠธ ๋ณด๋Ÿฌ๊ฐ€๊ธฐ


์‘์›ํ•˜๊ธฐ

์ด ํ”„๋กœ์ ํŠธ๊ฐ€ ๋งˆ์Œ์— ๋“œ์…จ๋‹ค๋ฉด โญ๏ธ์„ ๋ˆŒ๋Ÿฌ์ฃผ์„ธ์š”!

livemd's People

Contributors

hataerin avatar joylish avatar jswww avatar kwak-bs avatar soyoung-jung avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar

livemd's Issues

์ˆ˜์ •์ด๋ ฅ ์—ด๋žŒ ํ”Œ๋กœ์šฐ ์ฐจํŠธ

์ˆ˜์ •์ด๋ ฅ ์—ด๋žŒ ํ”Œ๋กœ์šฐ ์ฐจํŠธ

์ด์Šˆ โ—๏ธ

์ˆ˜์ •์ด๋ ฅ ์—ด๋žŒ ๊ณผ์ •์„ ํ”Œ๋กœ์šฐ ์ฐจํŠธ๋กœ ๋‚˜ํƒ€๋‚ด ๋ณด์•˜์Šต๋‹ˆ๋‹ค.

image

๋‚˜์˜ ์˜๊ฒฌ ๐Ÿ˜Ž

  • ์ˆ˜์ •์ด๋ ฅ์€ ๋‹ค์Œ๊ณผ ๊ฐ™์ด ์ˆ˜์ •๋‚ ์งœ/์ˆ˜์ •์‹œ๊ฐ„/์ˆ˜์ •ํ•œ ์‚ฌ๋žŒ์„ ํ†ตํ•ด ๊ตฌ๋ถ„ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

    image

  • ์ˆ˜์ •๋œ ์ด๋ ฅ์„ ์ €์žฅํ•˜๋Š” ๋ฐฉ๋ฒ•์„ ์ •ํ•ด์•ผ ํ•œ๋‹ค๊ณ  ์ƒ๊ฐํ•ฉ๋‹ˆ๋‹ค.

    • ์ž๋™ ์ €์žฅ

    • save๋ฒ„ํŠผ ํ˜น์€ ctrl+s๋ฅผ ๋ˆ„๋ฅผ ๊ฒฝ์šฐ

๊ด€๋ จ๋œ ์ด์Šˆ ๐Ÿ“Ž

๊ด€๋ จ ์ด์Šˆ ์—†์Œ

๋ ˆํผ๋Ÿฐ์Šค ๐Ÿ“š

flowchart editor

๊ธฐํš ๊ณผ์ • ์ฐธ๊ณ  ๋ธ”๋กœ๊ทธ

์„œ๋น„์Šค ์ด๋ฆ„๊ณผ ์ฐจ๋ณ„์ ์„ ์œ„ํ•œ ์•„์ด๋””์–ด ์ œ์•ˆ

๐Ÿค—์„œ๋น„์Šค ์ด๋ฆ„๊ณผ ์ฐจ๋ณ„์ ์„ ๋…ผ์˜ํ•ด๋ณด์•„์š”๐Ÿค—

  • ์šฐ๋ฆฌ ์„œ๋น„์Šค์˜ ์•„์ด๋ดํ‹ฐํ‹ฐ๋ฅผ ์œ„ํ•ด ์ง๊ด€์ ์ธ ์ด๋ฆ„์„ ์ง€์–ด๋ด…์‹œ๋‹ค
  • ๋‹ค๋ฅธ ์„œ๋น„์Šค์™€์˜ ์ฐจ๋ณ„์ ์„ ์ƒ๊ฐํ•ด ๋ด…์‹œ๋‹ค

์ด์Šˆ โ—๏ธ

์œ ์‚ฌ ์„œ๋น„์Šค ์ข…๋ฅ˜!

  • Slack
    • ์‚ฌ์ „์  ์˜๋ฏธ๋กœ๋Š” '๋Š˜์–ด์ง„', '๋Š์Šจํ•œ'
    • ๋ฐ”์œ ์ง์žฅ์ธ๋“ค์ด ์Šฌ๋ž™์„ ์‚ฌ์šฉํ•จ์œผ๋กœ์จ ์—ฌ์œ ๋ฅผ ๊ฐ€์งˆ ์ˆ˜ ์žˆ๋‹ค๋Š” ์˜๋ฏธ๋ฅผ ๋‹ด๊ณ ์žˆ์Œ
  • ํ–‰์•„์›ƒ / ๊ตฌ๊ธ€ ๋ฏธํŠธ
  • Hack MD
  • ZOOM
  • Typora
    • ๋ชฌ๊ฐ€ ํƒ€์ดํ•‘ ์–ด์ฉŒ๊ณ ์˜ ๋Š๋‚Œ์Šค,,,

๋‚˜์˜ ์˜๊ฒฌ ๐Ÿ˜Ž

๊ธฐ์กด ์„œ๋น„์Šค์™€์˜ ์ฐจ๋ณ„์  ์ œ์•ˆ

  • ๊ตฌ๊ธ€๋ฏธํŠธ + HackMD = ์šฐ๋ฆฌ ์„œ๋น„์Šคโ™ฅ
    • ์‹ค์‹œ๊ฐ„ ์Œ์„ฑ, ์ฑ„ํŒ… ๊ณต์œ ๊ธฐ๋Šฅ

์ด๋ฆ„ํ›„๋ณด

  • Mr.D
    • ๋งˆํฌ๋‹ค์šด์˜ MD์ŠคํŽ ๋ง์„ ์ด์šฉํ•ด ์ง€์–ด๋ด„
  • McDonald's
    • ๋งˆํฌ๋‹ค์šด์˜ MD์ŠคํŽ ๋ง์„ ์ด์šฉํ•ด ์ง€์–ด๋ด„ใ…‹ใ…Ž
  • Periodt.
    • ๋ฏธ์ฟก ํ•ต์ธ์‹ธ๋“ค์˜ 2020 ์œ ํ–‰์–ด/์‹ ์กฐ์–ด ๋ผ๊ณ  ํ•ฉ๋””๋‹ค
    • ๋…ผ์Ÿํ•  ๊ฒƒ๋„ ์—†๊ณ  ๋” ๋งํ•  ๊ฒƒ๋„ ์—†๋‹ค, ๊ทธ๋งŒํผ ๋‚ด ๋ง์ด ๋งž๋‹ค, ๋” ์ด์ƒ ์˜๊ฒฌ์€ ํ•„์š” ์—†๋‹ค ๋ผ๋Š” ๋œป
    • ์šฐ๋ฆฌ ์„œ๋น„์Šค ๋ง๊ณ  ๋ญ˜ ๋” ์‚ฌ์šฉํ•ด? ๋งํ• ๊ฒƒ๋„ ์Ž๋‹ค^^ ์ด๋Ÿฐ ๋Š๋‚Œ์œผ๋Ÿฌ ์ง€์–ด๋ด„ใ…Žใ…Ž
  • ํ—ค์ดํšŒ์˜
    • ๋ฐœ์Œ์„ ์ด์šฉํ•œ ์–ธ์–ด์œ ํฌ....ใ…Ž

๋‚˜์˜ ๋‡Œ์—์„œ๋Š” ์ด๊ฒŒ ํ•œ๊ณ„์—ฌ์œ ,,,,๐Ÿคฏ

์—ฌ๋Ÿฌ๋ถ„๋“ค์˜ ์‹ ๋ฐ•ํ•œ ์•„์ด๋””์–ด ๋Œ“๊ธ€๋กœ ๋ถ€ํƒ๋“œ๋ ค์—ฌใƒพ(โ‰งโ–ฝโ‰ฆ*)o

๊ด€๋ จ๋œ ์ด์Šˆ ๐Ÿ“Ž

๊ด€๋ จ ์ด์Šˆ ์—†์Œ

๋ ˆํผ๋Ÿฐ์Šค ๐Ÿ“š

๋ ˆํผ๋Ÿฐ์Šค ์—†์Œ

2020.09.28 ์˜คํ›„ MEETING

2020.09.28 ์˜คํ›„ MEETING

MEETING ๋ชฉ์  ๐Ÿšฉ

  • ์„œ๋น„์Šค/ํ™ˆํŽ˜์ด์ง€ ์ด๋ฆ„ ์ •ํ•˜๊ธฐ
  • ๊ธฐ์ˆ  ์Šคํƒ ์•Œ์•„๋ณด๊ธฐ
  • ๊ธฐํš์„œ ์ดˆ์•ˆ ์ž‘์„ฑํ•˜๊ธฐ

MEETING ๋‚ด์šฉ โœ๏ธ

์„œ๋น„์Šค๋ช… : LiveMD (์งž์งž์งž!)

๊ธฐํš์„œ ๋ชฉ์ฐจ (1์ฐจ ๊ธฐํš์•ˆ)

  • ์„œ๋น„์Šค ๊ฐœ์š”

    • ๊ธฐํš ๋ฐฐ๊ฒฝ
    • ๊ธฐํš ๋ชฉ์ 
    • ๊ธฐํš ํšจ๊ณผ
    • ์ฃผ์š” ๊ธฐ๋Šฅ( ์ฐจ๋ณ„ํ™”๋œ ๊ธฐ๋Šฅ + ๋ฒค์น˜๋งˆํ‚น!)
  • ํ”Œ๋กœ์šฐ ์ฐจํŠธ

    • ์œ ์ € ํ”Œ๋กœ์šฐ (๋กœ๊ทธ์ธ / ๋น„๋กœ๊ทธ์ธ)
    • ๋กœ๊ทธ์ธ ํ”„๋กœ์„ธ์Šค
  • ํ™”๋ฉด ์„ค๊ณ„

    • ๋ฉ”์ธํ™”๋ฉด
    • ๋กœ๊ทธ์ธ
    • ์„œ๋น„์Šค ํŽ˜์ด์ง€
  • ๊ณ„ํš ์ˆ˜๋ฆฝ

    • ์ถ”์ง„ ์ผ์ • (์—ญํ•  ๋ถ„๋‹ด)

MEETING ๊ฒฐ๊ณผ ๋ฐ ๊ณผ์ œ ๐Ÿ“Œ

9/30(์ˆ˜) 22:00์‹œ ๊นŒ์ง€ ์•ˆํ•˜๋ฉด ๋ฒŒ๊ธˆ ๋งŒ ์›

ํ”Œ๋กœ์šฐ์ฐจํŠธ ๊ทธ๋ ค์˜ค๊ธฐ

  • ๋ณ‘์„  : ์‹ค์‹œ๊ฐ„ ์†Œํ†ต(์Œ์„ฑ, ์ฑ„ํŒ…, ์˜์ƒ)
  • ์„ฑ์› : ํšŒ์›๊ฐ€์ž… ๋ฐ ๋กœ๊ทธ์ธ
  • ์—ฐ์ฃผ : ์‹ค์‹œ๊ฐ„ ๋ฌธ์„œ ์ž‘์„ฑ ๋ฐ ํ”„๋ฆฌ๋ทฐ
  • ํƒœ๋ฆฐ : ํŒ€์›์ดˆ๋Œ€ํ•˜๊ธฐ
  • ์†Œ์˜ : ๋งˆํฌ๋‹ค์šด ๋ฌธ์„œ ์ˆ˜์ • ์ด๋ ฅ ์—ด๋žŒํ•˜๊ธฐ

๊ณผ์ œ

  • ์‹ค์‹œ๊ฐ„ ์—๋””ํ„ฐ ๊ธฐ์ˆ ์Šคํƒ ์กฐ์‚ฌํ•ด์„œ ์ด์Šˆ๋กœ ์˜ฌ๋ฆฌ๊ธฐ

์‹ค์‹œ๊ฐ„ ์†Œํ†ต ํ”Œ๋กœ์šฐ ์ฐจํŠธ (์ฑ„ํŒ…)

์‹ค์‹œ๊ฐ„ ์†Œํ†ต ํ”Œ๋กœ์šฐ ์ฐจํŠธ(chat)

์ด์Šˆ โ—๏ธ

์‹ค์‹œ๊ฐ„ ์†Œํ†ต(chat) ๊ณผ์ •์„ ํ”Œ๋กœ์šฐ ์ฐจํŠธ๋กœ ๋‚˜ํƒ€๋‚ด ๋ณด์•˜์Šต๋‹ˆ๋‹ค.

char flowchart

๋‚˜์˜ ์˜๊ฒฌ ๐Ÿ˜Ž

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

๊ด€๋ จ๋œ ์ด์Šˆ ๐Ÿ“Ž

๊ด€๋ จ ์ด์Šˆ ์—†์Œ

๋ ˆํผ๋Ÿฐ์Šค ๐Ÿ“š

flowchart editor

์ˆœ์„œ๋„ ์ž‘์„ฑ ๋ฐฉ๋ฒ•

2020.09.22 ์˜คํ›„ MEETING

2020.09.22 ์˜คํ›„ MEETING

MEETING ๋ชฉ์  ๐Ÿšฉ

  • ๊ตฌ๋‚จ์นœ๊ณผ ์•ˆ์ „์ด๋ณ„
  • ์ƒˆ ํ”„๋กœ์ ํŠธ ์ฃผ์ œ์„ ์ •

MEETING ๋‚ด์šฉ โœ๏ธ

๊ตฌ๋‚จ์นœ ๋ฒ„๋ฆฌ๊ณ  ์ƒˆ๋‚จ์นœ์œผ๋กœ ๊ฐˆ์•„ํƒ€๊ฒŒ ๋˜์—ˆ์Šต๋‹ˆ๋‹ค^0^

์šฐ๋ฆฌ์˜ ์ƒˆ๋กœ์šด ํ”„๋กœ์ ํŠธ๋Š” MD file ํ˜‘์—…ํˆด!!

MEETING ๊ฒฐ๊ณผ ๐Ÿ“Œ

  • ์ด๋ฆ„ ํ›„๋ณด ์ƒ๊ฐํ•ด์˜ค๊ธฐ

  • ์ ์šฉํ•  ๊ธฐ์ˆ  ์กฐ์‚ฌ

    • ๋งˆํฌ๋‹ค์šดAPI ์ฐพ์•„์˜ค๊ธฐ : front
    • ๋™์‹œ์ฒ˜๋ฆฌ ๊ตฌํ˜„ ์กฐ์‚ฌํ•ด์˜ค๊ธฐ : both
    • ๋น„์Šทํ•œ ํ”Œ์  ๋ ˆํผ๋Ÿฐ์Šค ์กฐ์‚ฌํ•˜๊ธฐ :both

2020.10.09 ๋ฉ˜ํ† ๋ง ํ”ผ๋“œ๋ฐฑ

2020.10.09 ๋ฉ˜ํ† ๋ง ํ”ผ๋“œ๋ฐฑ

  • ๊ฐ•ํ›ˆ๊ธฐ ๋ฉ˜ํ† ๋‹˜

    • ๋งˆํฌ๋‹ค์šด ์—๋””ํ„ฐ๋กœ ํ•œ์ •ํ•˜๋Š” ๊ฒƒ์ด ์•„๋‹ˆ๋ผ ์—๋””ํ„ฐ๋ฅผ ์ฒด์ธ์ง€ํ•˜์—ฌ ํŽ˜์–ด ํ”„๋กœ๊ทธ๋ž˜๋ฐ ์ชฝ์ด๋ผ๋˜์ง€ ํ™•์žฅ ๊ฐ€๋Šฅํ•  ๊ฒƒ์ด๋‹ค.

  • ๋ฐ•์šฉํฌ ๋ฉ˜ํ† ๋‹˜

    • ๊ธฐ๊ฐ„ ์•ˆ์— ์„œ๋น„์Šค๋“ค์ด ์ž˜ ๊ตฌํ˜„๋ ๊นŒ?
    • ๊ฐœ๋ฐœ ํ™˜๊ฒฝ์ด ์ด๊ธฐ์ข… ํ”„๋กœํ† ์ฝœ๋“ค์ด ์š”๊ตฌ๋  ์ˆ˜๋„ ์žˆ๊ณ  ๊ฐœ๋ฐœ ํ™˜๊ฒฝ์„ ๋ฏธ๋ฆฌ ๊ณ ๋ คํ•˜๊ณ  ๊ฒ€์ฆํ•ด๋ด์•ผ ํ•œ๋‹ค.
    • ๋‚˜์ค‘์— ์‹œ์—ฐํ•  ๋•Œ ์„œ๋น„์Šค๋ฅผ ์ž˜ ํ‘œํ˜„ํ•  ์ˆ˜ ์žˆ์–ด์•ผ ํ•œ๋‹ค.

  • ํ•œ์ •ํ—Œ ๋ฉ˜ํ† ๋‹˜

    • ๊ฐœ๋ฐœ ๋ฒ”์œ„๊ฐ€ ๋‹จ๊ธฐ๊ฐ„์— ํ•˜๊ธฐ์—๋Š” ํด ๊ฒƒ์ด๋‹ค.
    • ํŒ€ ์ƒ์„ฑ์ด๋ผ๋˜์ง€ ์ด๋Ÿฌํ•œ ๋ถ€๊ฐ€์ ์ธ ๊ธฐ๋Šฅ๋“ค๋„ ์ƒ๊ฐ๋ณด๋‹ค ์˜ค๋ž˜ ๊ฑธ๋ฆด ๊ฒƒ์ด๋‹ค.
    • ๊ธฐํš์„œ์—์„œ ํ”Œ๋กœ์šฐ ์ฐจํŠธ๋Š” ์ •๋ง ์˜›๋‚  ๋ฐฉ์‹์ด๋‹ค. ๋ณด๋Š” ์‚ฌ๋žŒ ์ž…์žฅ์—์„œ ์ž˜ ์•ˆ ์™€๋‹ฟ๊ณ  ํšŒ์‚ฌ์—์„œ๋„ ์ˆœ์„œ๋„๋Š” ์ž˜ ์•ˆ ์“ด๋‹ค.
    • ๊ฐœ๋ฐœ ์ผ์ •์€ ์›Œํ„ฐํด ๋ฐฉ์‹์œผ๋กœ ์žก์•„ ๋†“๊ณ  ํ”„๋กœ์ ํŠธ ์ง„ํ–‰์€ ์• ์ž์ผ ์Šคํฌ๋Ÿผ์œผ๋กœ ํ•œ๋‹ค๋Š” ๊ฒƒ์—์„œ ์˜๋ฏธ๊ฐ€ ๋งž์ง€ ์•Š๋‹ค.
    • ์Šคํ”„๋ฆฐํŠธ๋ผ๋Š” ๊ฐœ๋… ์ž์ฒด๊ฐ€ ํ”Œ๋žซํ•˜๊ฒŒ ๊ณ„ํš์„ ์žก๋Š” ๊ฒƒ์ด ์•„๋‹ˆ๋‹ค. ์Šคํ”„๋ฆฐํŠธ๋ฅผ ์ฃผ ์ฐจ๋กœ ๋‚˜๋ˆ„๊ณ  ์ œ์ผ ํ•ต์‹ฌ ๊ธฐ๋Šฅ(์ œ์ผ ๊ธฐ์ˆ ์ ์œผ๋กœ ๊ฒ€์ฆํ•ด์•ผํ•  ๊ธฐ๋Šฅ)์„ ํŒŒ์ผ๋Ÿฟ ๋ฐ ํ”„๋กœํ†  ํƒ€์ž…์„ ๊ฐ€์ ธ ์Šคํ”„๋ฆฐํŠธ ๋‹จ์œ„๋กœ ์‹œ์—ฐ ๋ฐ ํšŒ๊ณ ๋ฅผ ์ง„ํ–‰ํ•˜๋Š” ๊ฒƒ์ด ์ข‹๋‹ค.
    • ๊ณ„ํš์„ ์‹คํ˜„ ๊ฐ€๋Šฅํ•˜๊ฒŒ ... ์ œ์ผ ๋จผ์ € ๊ตฌํ˜„ํ•ด์•ผ ํ•  ๊ธฐ๋Šฅ ๊ตฌํ˜„ํ•˜๊ณ  ๋ฏธ๋ค„์•ผํ•  ๊ฒƒ์€ ๋ฏธ๋ค„์•ผ ํ•œ๋‹ค.
    • ํ”„๋กœ์ ํŠธ๊ฐ€ ์šฉ๋‘์‚ฌ๋ฏธ๊ฐ€ ๋  ์ˆ˜ ์žˆ๋‹ค. ์•ฝ 2์ฃผ ๋‹จ์œ„๋กœ ์Šคํ”„๋ฆฐํŠธ๋ฅผ ์ง„ํ–‰ํ•˜๋Š” ๊ฒƒ์„ ์ถ”์ฒœ!
    • ๊ธฐ์กด์— ๋งˆํฌ๋‹ค์šด์œผ๋กœ ์šด์˜๋˜๊ณ  ์žˆ๋Š” ํŽ˜์ด์ง€๋“ค(github wiki or ๊ฐœ๋ฐœ ๋ธ”๋กœ๊ทธ)์— ํผ๋ธ”๋ฆฌ์‹ฑ ํ•  ์ˆ˜ ์žˆ์œผ๋ฉด ๋” ํŒŒ๊ธ‰๋ ฅ ์žˆ์„ ๊ฒƒ์ด๋‹ค.

  • ์ตœ๋ณ‘์šฑ ๋ฉ˜ํ† ๋‹˜

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

ํ”„๋กœ์ ํŠธ ์ง„ํ–‰ ์‹œ ๊ณ ๋ คํ•ด์•ผ ํ•  ๊ฒƒ

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

2020.10.16 ๊นŒ์ง€ ๋ฉ˜ํ† ๋‹˜์ด ์š”๊ตฌํ•œ ๊ฒƒ

  • ํ”„๋กœ์ ํŠธ์˜ ๋ฉ”์ธ ๊ธฐ๋Šฅํ™”๋ฉด์„ ๋ณด์—ฌ์ค„ ์ˆ˜ ์žˆ๋„๋ก! (๋ฉ”์ธํ™”๋ฉด, ๋กœ๊ทธ์ธ ๊ฐ™์€ ๊ธฐ๋Šฅ์€ ๋‹ค ๊ตฌํ˜„ํ•ด๋‚ด์ง€ ๋ชปํ–ˆ๋”๋ผ๋„)

๋‚ด์ผ ํšŒ์˜ ๋•Œ TODO

  • Jira ์จ๋ณด๊ธฐ

  • 1์ฐจ ์Šคํ”„๋ฆฐํŠธ ํšŒ์˜(2020-10-10 ์˜คํ›„ 9์‹œ)

    • ํญํฌ์ˆ˜ -> ์• ์ž์ผ ๊ณ„ํš ์ˆ˜์ •ํ•˜๊ธฐ
      • ํ•ต์‹ฌ๊ธฐ๋Šฅ ๋จผ์ €
        • ํŒŒ์ผ๋Ÿฟ: ๊ธฐ์ˆ ๊ฒ€์ฆ ๋จผ์ € ํ•˜๊ธฐ (์Šคํ”„๋ฆฐํŠธ1)
        • -> ์‹œ์—ฐ ๋ฐ ํšŒ๊ณ  ์ง„ํ–‰ (๋ฐ˜๋ณต)
        • ์Šคํ”„๋ฆฐํŠธ2 ์ง„ํ–‰
  • ๋ชจ๋“ˆ ํ”„๋กœ์ ํŠธ

    • ๋กœ๊ทธ์ธ์€ ์šฐ์„  ๊ตฌ๊ธ€ ๋กœ๊ทธ์ธ์œผ๋กœ๋งŒ ๊ตฌํ˜„
  • ํ™”๋ฉด ์„ค๊ณ„ ๊ธฐํš

  • ์š”๊ตฌ์‚ฌํ•ญ ์ •์˜์„œ ๊ธฐํš

์‹ค์‹œ๊ฐ„ ํ˜‘์—… ์—๋””ํ„ฐ ๊ตฌํ˜„ ๊ด€๋ จ ๋ ˆํผ๋Ÿฐ์Šค

์‹ค์‹œ๊ฐ„ ๋ฌธ์„œ ํ˜‘์—…์€ ์–ด๋–ป๊ฒŒ ๋™์ž‘ํ• ๊นŒ
ShareJS : ์—ฌ๋Ÿฌ๋ช…์˜ ์‚ฌ์šฉ์ž๊ฐ€ ์›น๋ธŒ๋ผ์šฐ์ €์—์„œ ํ•˜๋‚˜์˜ ๋ฌธ์„œ๋ฅผ ์‹ค์‹œ๊ฐ„์œผ๋กœ ๋™์‹œ์— ํŽธ์ง‘ ํ•  ์ˆ˜ ์žˆ๋Š” ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜์„ ์‰ฝ๊ฒŒ ๊ตฌ์ถ•ํ•  ์ˆ˜ ์žˆ๋„๋ก ๋•๋Š” ๋…ธ๋“œ ๋ชจ๋“ˆ (EtherPad)

๋” ์ฐพ์œผ๋ฉด ์ถ”๊ฐ€ํ• ๊ฒŒ์šฉ!

[feature/LMD-73-be-teams] ํŒ€๊ด€๋ฆฌ ์ •๋ณด์œ ์ถœ ์ฒ˜๋ฆฌ

members.js์— ๊ตฌ๊ธ€ ๊ณ„์ • ๋น„๋ฐ€๋ฒˆํ˜ธ๋ฅผ ์ ๊ณ  feature/LMD-73-be-teams์— pushํ–ˆ์—ˆ์Šต๋‹ˆ๋‹ค.
git filter-branch --force --index-filter 'git rm --cached --ignore-unmatch server/express-team/routes/member.js' --prune-empty --tag-name-filter cat -- --all
ํ•ด๋‹น ๋ช…๋ น์–ด๋กœ ๋ชจ๋“  ์ปค๋ฐ‹์— ์žˆ๋Š” member.js๋ฅผ ์‚ญ์ œํ•˜์˜€์Šต๋‹ˆ๋‹ค.
์กฐ๊ธˆ ๋” ์กฐ์‹ฌํ•˜๋„๋ก ํ•˜๊ฒ ์Šต๋‹ˆ๋‹ค.๐Ÿ˜ฅ๐Ÿ˜ฅ

2021.10.15 LiveMD ํšŒ๊ณ 

LiveMD๋ฅผ ๋Œ€์šฉ๋Ÿ‰ ํŠธ๋ž˜ํ”ฝ ์ด์Šˆ์—์„œ ๋” ์•ˆ์ •์ ์ธ ์„œ๋น„์Šค๋กœ ๋งŒ๋“œ๋Š” ๋ฐฉ๋ฒ•

MSA ์„œ๋น„์Šค ์•ˆ์—์„œ ์„œ๋ฒ„ ์ด์ค‘ํ™”

์šฐ๋ฆฌ LiveMD์—์„œ๋Š” MSA๋ฅผ ๊ธฐ๋ฐ˜์œผ๋กœ ๊ตฌํ˜„๋œ ํ”„๋กœ์ ํŠธ์ด๋‹ค. MSA์—์„œ๋Š” API Gateway๋ฅผ ํ™œ์šฉํ•˜์—ฌ ๊ฐ๊ฐ์˜ ์„œ๋ฒ„๋กœ ์‚ฌ์šฉ์ž์˜ ์š”์ฒญ์„ ํ•˜๋‚˜์˜ EndPoint๋กœ ๋ฐ›์•„ ๋ถ„์‚ฐ์‹œ์ผœ์ฃผ๋Š” ๊ฒƒ์ด ํ•„์ˆ˜์ ์ด๋‹ค. LiveMD์—์„œ๋Š” NginX ์›น ์„œ๋ฒ„๊ฐ€ Reverse Proxy๋ฅผ ํ†ตํ•ด API Gateway ์—ญํ• ์„ ํ•˜๊ณ  ์žˆ๋‹ค. ๊ทธ๋Ÿฌ๋ฉด ์ด๋ฅผ ํ†ตํ•ด API ์„œ๋ฒ„ ๋ณ„ Scale out(๋ถ€ํ•˜ ๋ถ„์‚ฐ)์€ ํ•  ์ˆ˜ ์žˆ๋‹ค. ํ•˜์ง€๋งŒ ๋Œ€์šฉ๋Ÿ‰ ํŠธ๋ž˜ํ”ฝ์ด ๋ฐœ์ƒํ–ˆ์„ ๊ฒฝ์šฐ, ํŠน์ • ์„œ๋ฒ„์—๋งŒ ์ง‘์ค‘์ ์ธ ์š”์ฒญ์ด ์žˆ๋‹ค๋ฉด ์ด ๋˜ํ•œ, Scale out(๋ถ€ํ•˜ ๋ถ„์‚ฐ)์ด ํ•„์š”ํ•˜๋‹ค. (์˜ˆ๋ฅผ ๋“ค์–ด, ์ฑ„ํŒ… ์„œ๋ฒ„์—๋งŒ ์ง‘์ค‘์ ์œผ๋กœ ์š”์ฒญ์ด ๊ฐ€๋Š” ๊ฒฝ์šฐ) ์ด๊ฒƒ์€ ์–ด๋–ป๊ฒŒ ํ•ด๊ฒฐํ• ๊นŒ?

ํ•ต์‹ฌ์€ ์„œ๋ฒ„ ์ด์ค‘ํ™”์ด๋‹ค. ๊ทธ๋ ‡๋‹ค๋ฉด ์„œ๋ฒ„ ์ด์ค‘ํ™”๋Š” ์–ด๋–ป๊ฒŒ ๊ตฌํ˜„ํ• ๊นŒ? MSA ๋ฅผ ์ž์„ธํžˆ ์ƒ๊ฐํ•ด๋ณด๋ฉด ํ•˜๋‚˜์˜ ์„œ๋น„์Šค๋ฅผ ์—ฌ๋Ÿฌ ๊ฐœ์˜ ์„œ๋น„์Šค๋กœ ์ž˜๊ฐœ ์ชผ๊ฐ  ๋ชจ์–‘์ด๋‹ค. ์ž˜๊ฐœ ์ชผ๊ฐœ์ง„ ์„œ๋น„์Šค๋Š” ๊ณง ํ•˜๋‚˜์˜ ์†Œ๊ทœ๋ชจ ํŒ€์ด ๋งก์•„ ๊ฐœ๋ฐœ ๋ฐ ์œ ์ง€ ๋ณด์ˆ˜๋ฅผ ํ•˜๊ฒŒ ๋œ๋‹ค. ๊ทธ๋ ‡๋‹ค๋ฉด ๋‚˜๋ˆ ์ง„ ์„œ๋น„์Šค๋Š” ํ•˜๋‚˜์˜ ์„œ๋ฒ„๋ฅผ ๊ฐ–๊ฒŒ๋˜๋Š” ๊ฒƒ์ด๊ณ  ์†Œ๊ทœ๋ชจ ํŒ€์€ ๊ทธ ์„œ๋ฒ„๋ฅผ ๋‹ด๋‹นํ•˜๋Š” ๊ฒƒ์ด๋‹ค. ์ฆ‰, ๊ทธ ์„œ๋ฒ„๋ฅผ AMI๋ฅผ ํ†ตํ•ด ์„œ๋ฒ„๋ฅผ ๋ณต์‚ฌํ•˜๊ณ  ELB๋ฅผ ํ†ตํ•ด ์„œ๋ฒ„ ์ด์ค‘ํ™”๋ฅผ ํ•ด์ฃผ๋ฉด ๋œ๋‹ค.

์ด๋Ÿฌํ•œ ๋ฐฉ์‹์ด ๊ณง MSA ์•ˆ์—์„œ ์ˆ˜ํ–‰ํ•  ์ˆ˜ ์žˆ๋Š” ์„œ๋ฒ„ ์ด์ค‘ํ™”์ด๋‹ค.

๋‹ค๋ฅธ ์˜๊ฒฌ์ด ์žˆ์œผ๋ฉด ํ”ผ๋“œ๋ฐฑ ๋ถ€ํƒ๋“œ๋ฆฌ๊ฒ ์Šต๋‹ˆ๋‹ค.

๋ชจ๋“ˆ ํ”„๋กœ์ ํŠธ ๋ฒ„๊ทธ ์ˆ˜์ • history

1์ฐจ ๋ชจ๋“ˆ ํ”„๋กœ์ ํŠธ๋™์•ˆ ๊ฐœ๋ฐœํ•˜์‹œ๋ฉด์„œ ๊ฒช์—ˆ๋˜ ๋ฒ„๊ทธ ์ˆ˜์ • ์ด๋ ฅ ๊นŒ๋จน๊ธฐ ์ „์— ๊ฐ„๋‹จํžˆ ์ฝ”๋ฉ˜ํŠธ๋กœ ๋‚จ๊ธฐ๋ฉด ์ข‹์„ ๊ฑฐ ๊ฐ™์•„์š”!

2020.10.11 ํšŒ์˜

๋‚ด์ผ ๋จธํ•˜์ง€? (10.11, ์›”)

  • JIRA ๊ธฐ๋Šฅ๋ช…์„ธ
  • ๊ธฐ๋Šฅ ์—ญํ• ๋ถ„๋‹ด
  • ์Šคํ”„๋ฆฐํŠธ ํšŒ์˜
  • ์š”๊ตฌ์‚ฌํ•ญ ์ •์˜์„œ

ํšŒ์›๊ฐ€์ž… ๋ฐ ๋กœ๊ทธ์ธ ํ”Œ๋กœ์šฐ ์ฐจํŠธ ๋ฐ ๊ธฐ์ˆ ์…‹ ์กฐ์‚ฌ

ํšŒ์›๊ฐ€์ž… ๋ฐ ๋กœ๊ทธ์ธ ํ”Œ๋กœ์šฐ ์ฐจํŠธ ๋ฐ ๊ธฐ์ˆ ์…‹ ์กฐ์‚ฌ

์ด์Šˆ โ—๏ธ

ํšŒ์›๊ฐ€์ž… ๋ฐ ๋กœ๊ทธ์ธ ํ”Œ๋กœ์šฐ ์ฐจํŠธ๋ฅผ ๊ทธ๋ ค๋ณด์•˜์Šต๋‹ˆ๋‹ค!

ํ”Œ๋กœ์šฐ

๋‹ค์Œ์€ ๊ธฐ์ˆ ์…‹ ์ •๋ฆฌ ๋งํฌ์ž…๋‹ˆ๋‹ค

TIL - Optimistic Replication(๋‚™๊ด€์  ๋ณต์ œ)

๋‚˜์˜ ์˜๊ฒฌ ๐Ÿ˜Ž

์œ„์˜ ํ”Œ๋กœ์šฐ ์ฐจํŠธ๋Š” ํšŒ์›๊ฐ€์ž… ๋ฐ ๋กœ๊ทธ์ธ ํ•  ๋•Œ์˜ ํฐ ํ‹€์ด๊ณ  ๊ฐ ์ฒ˜๋ฆฌ์—์„œ user story๋ฅผ ์ƒ๊ฐํ•ด๋ณด๋ฉด ๋  ๊ฒƒ ๊ฐ™์Šต๋‹ˆ๋‹ค!

๊ด€๋ จ๋œ ์ด์Šˆ ๐Ÿ“Ž

#4

๋ ˆํผ๋Ÿฐ์Šค ๐Ÿ“š

๊ด€๋ จ ๋ ˆํผ๋Ÿฐ์Šค ์—†์Œ

2020.09.24 ์˜คํ›„ MEETING

2020.09.24 ์˜คํ›„ MEETING

MEETING ๋ชฉ์  ๐Ÿšฉ

  • ์—ฐํœด ๊ณ„ํš ์„ธ์šฐ๊ธฐ
  • ๊ฐœ๋ฐœ ์กฐ์–ธ ๊ตฌํ•˜๊ธฐ

MEETING ๋‚ด์šฉ โœ๏ธ

๊ฐ•์‚ฌ๋‹˜ ์กฐ์–ธ

์œ ์‚ฌ ์„œ๋น„์Šค, ๊ธฐ์ˆ ์…‹ ์กฐ์‚ฌํ•˜๊ธฐ

[๋„๋ฉ”์ธ+์ปค๋ฉ˜๋“œ] + ์ œ์•ฝ์‚ฌํ•ญ + ํ™”๋ฉด ์œผ๋กœ ๋‚˜๋ˆ ์„œ ๊ตฌ์„ฑํ•ด๋ณด๊ธฐ

์ถ”์ฒœ ์ฐจ๋ณ„์ : ์—๋””ํ„ฐ๋Š” ํŽธ๋ฆฌํ•จ์ด ํ•ต์‹ฌ! ํ‚ค๋ณด๋“œ ์ด๋ฒคํŠธ ์ถ”๊ฐ€ํ•˜๊ธฐ

Mybatis vs JPAใ„ป

  • mybatis
    • ์ฟผ๋ฆฌ ๋ฐ˜๋ณต์ ์œผ๋กœ ์ž…๋ ฅํ•ด์•ผํ•จ
    • ๋””๋ฒ„๊น… ํŽธํ•จ
  • JPA
    • CRUD๋‹ค ๋งŒ๋“ค์–ด์คŒ
    • ์ž‘์„ฑ ๋ฐ ๋””๋ฒ„๊น… ์–ด๋ ค์›€ -> ๊ธฐํ•œ๋‚ด์— ๋งŒ๋“ค ์ˆ˜ ์žˆ์„์ง€?
    • ์ฟผ๋ฆฌ ์ปค์Šคํ…€ ๊ฐ€๋Šฅํ•˜๊ธด ํ•จ

MEETING ๊ฒฐ๊ณผ ๐Ÿ“Œ

  • ์ถ”์„ ์—ฐํœด ์ „์— ํ•  ์ผ

    [9/24(๋ชฉ) ~ 9/27(์ผ)]

    • TIL 2๊ฐœ ์—…๋กœ๋“œ

    • ์œ ์‚ฌ์„œ๋น„์Šค ์กฐ์‚ฌ

      • ๊ธฐ์ˆ ์…‹ ์กฐ์‚ฌํ•˜๊ธฐ
    • ๊ธฐํš์„œ ์ž‘์„ฑ (์ผ์šœ ์ €๋… ํšŒ์˜์‹œ๊ฐ„)

    [9/28(์›”) ~ 10/4(์ผ)]

    • ๊ณตํ†ต

      • ์Šคํ† ๋ฆฌ๋ณด๋“œ ์ž‘์„ฑ
      • ์œ ์ € ์—ํ”ฝ ์ž‘์„ฑ
      • ๊ธฐ์ˆ ์…‹ ๊ฐœ๋… ๊ณต๋ถ€ํ•ด์˜ค๊ธฐ
      • ์œ„ํ‚ค ํŽ˜์ด์ง€ ์ž‘์„ฑ
      • ์ด์Šˆ ํผ ์ž‘์„ฑ
      • ์ด๋ฆ„ ์ •ํ•˜๊ธฐ
    • Front

      • ๋ฆฌ์•กํŠธ ๊ณต๋ถ€ํ•˜๊ธฐ
    • Back

      • Spring boot์ฑ… : 1~5์žฅ ๊ณต๋ถ€ํ•˜๊ธฐ
      • MSA ๊ตฌ์„ฑ ์ƒ๊ฐํ•˜๊ธฐ

์‹ค์‹œ๊ฐ„ ๋ฌธ์„œ ์ž‘์„ฑ ๋ฐ ํ”„๋ฆฌ๋ทฐ ๊ธฐ์ˆ  ์กฐ์‚ฌ

์‹ค์‹œ๊ฐ„ ๋ฌธ์„œ ์ž‘์„ฑ ๋ฐ ํ”„๋ฆฌ๋ทฐ ๊ธฐ์ˆ  ์กฐ์‚ฌ

์ด์Šˆ โ—๏ธ
์‹ค์‹œ๊ฐ„ ๋ฌธ์„œ ์ž‘์„ฑ ๋ฐ ํ”„๋ฆฌ๋ทฐ์— ํ•„์š”ํ•œ ๊ธฐ์ˆ ๋กœ ์กฐ์‚ฌํ•ด ๋ณด์•˜์Šต๋‹ˆ๋‹ค.

๋‚˜์˜ ์˜๊ฒฌ ๐Ÿ˜Ž

1. lucy-xss-filter: xss attack ๋Œ€๋น„ํ•˜๊ธฐ

(client์—์„œ markdown api๋ฅผ ์‚ฌ์šฉํ•œ๋‹ค๊ณ  ๊ฐ€์ •ํ–ˆ์Šต๋‹ˆ๋‹ค.)
client์—์„œ ๋งˆํฌ๋‹ค์šด ๋ฌธ๋ฒ•์œผ๋กœ ์ž‘์„ฑ๋œ ๊ธ€์„ html๋กœ ๋ณ€ํ™˜ํ•ด์„œ server์— ๋„˜๊ฒจ์ค๋‹ˆ๋‹ค. server์—์„œ htmlํ˜• ๋ฐ์ดํ„ฐ๋ฅผ html entity๋กœ ๋ณ€ํ™˜ํ•˜์—ฌ db์— ์ €์žฅํ•ฉ๋‹ˆ๋‹ค.
client์—์„œ ํ•ด๋‹น ๋ฐ์ดํ„ฐ๋ฅผ ์š”์ฒญํ•˜๋ฉด, ์„œ๋ฒ„์—์„œ db์—์„œ ํ•ด๋‹น html entity ๋ฐ์ดํ„ฐ๋ฅผ ๋ถˆ๋Ÿฌ htmlํ˜•์‹์œผ๋กœ ๋ณ€ํ™˜ํ•˜์—ฌ client์— ๋„˜๊ฒจ์ค๋‹ˆ๋‹ค.

2. documentDB/nosql

๋ฌธ์„œ ์ „์šฉ ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค๋กœ AWS์—์„œ ์„œ๋น„์Šค๋˜๊ณ  ์žˆ์Šต๋‹ˆ๋‹ค. XML, JSON๊ณผ ๊ฐ™์€ DOCUMENT๋ฅผ ์ด์šฉํ•ด ๋ ˆ์ฝ”๋“œ๋ฅผ ์ €์žฅํ•ฉ๋‹ˆ๋‹ค. ํ…Œ์ด๋ธ”์˜ ์Šคํ‚ค๋งˆ๊ฐ€ ์œ ๋™์ ์œผ๋กœ ๋ ˆ์ฝ”๋“œ๋งˆ๋‹ค ๊ฐ๊ฐ ๋‹ค๋ฅธ ์Šคํ‚ค๋งˆ๋ฅผ ๊ฐ€์งˆ ์ˆ˜ ์žˆ์–ด ํŠธ๋ฆฌํ˜• ๊ตฌ์กฐ๋กœ ๋ ˆ์ฝ”๋“œ๋ฅผ ์ €์žฅํ•˜๊ฑฐ๋‚˜ ๊ฒ€์ƒ‰ํ•˜๋Š” ๋ฐ ์šฉ์ดํ•ฉ๋‹ˆ๋‹ค.

3. ํ™”์ƒ์ฑ„ํŒ…

WebRTC API + Socket.io

๊ด€๋ จ๋œ ์ด์Šˆ ๐Ÿ“Ž

#4

๋ ˆํผ๋Ÿฐ์Šค ๐Ÿ“š

xss๊ณต๊ฒฉ
lucy-xss-filter
document DB
๋ฌด์ค‘๋‹จ๋ฐฐํฌ
etherpad docker ์ด๋ฏธ์ง€
์›น๋ธŒ๋ผ์šฐ์ € ํ™”์ƒ์ฑ„ํŒ…
WebRTC ํ™”์ƒ์ฑ„ํŒ…

2020.10.02 ์˜คํ›„ MEETING

2020.10.02 ์˜คํ›„ MEETING

MEETING ๋ชฉ์  ๐Ÿšฉ

  • ๊ธฐ์ˆ  ์Šคํƒ ์กฐ์‚ฌ, flowchart ๋งŒ๋“ค์–ด ์˜จ ๊ฒƒ์— ๋Œ€ํ•ด ํšŒ์˜ ๋ฐ ํ† ๋ก 
  • ๊ธฐํš์„œ ๋ชฉ์ฐจ ์ดˆ์•ˆ ์ž‘์„ฑ ๋ฐ ์—ญํ•  ๋ถ„๋‹ด

MEETING ๋‚ด์šฉ โœ๏ธ

์—ฐ์ฃผ :

  • ํ”„๋ก ํŠธ์—”๋“œ์—์„œ editor ๊ตฌํ˜„ํ•˜๊ธฐ ์œ„ํ•ด์„œ ์‚ฌ์šฉํ•  api ์ •ํ•ด์ฃผ์„ธ์š”.
  • ๊นƒํ—ˆ๋ธŒ์— meeting, discussion ๋“ฑ์— ์ด์Šˆ๋ฅผ ์˜ฌ๋ฆด ๋•Œ ์“ฐ๋Š” ํ…œํ”Œ๋ฆฟ์„ LiveMD ์‚ฌ์šฉ์ž๋„ ์ž๊ธฐ๊ฐ€ ์ €์žฅํ•œ ํ…œํ”Œ๋ฆฟ์„ ๋ถˆ๋Ÿฌ์™€์„œ ์“ธ ์ˆ˜ ์žˆ๋‹ค๋ฉด ์ข‹์ง€ ์•Š์„๊นŒ ์ƒ๊ฐ์„ ํ–ˆ์Šต๋‹ˆ๋‹ค.

์„ฑ์› :

  • CRDT์— ๋Œ€ํ•ด ๊ฐ์ž ์•Œ์•„์˜ค๊ธฐ.

๋ณ‘์„  :

  • ์ฑ„ํŒ…์ฐฝ์€ ํ”Œ๋กœํŒ… ํ˜•์‹์œผ๋กœ ๋งŒ๋“ค๋ฉด ์ข‹์„ ๋“ฏ ํ•ฉ๋‹ˆ๋‹ค.

MEETING ๊ฒฐ๊ณผ ๐Ÿ“Œ

๊ธฐํš์„œ ์ž‘์„ฑํ•˜๊ธฐ (1์ฐจ ๊ธฐํš์•ˆ)

๋ชฉ์ฐจ

  • ์„œ๋น„์Šค ๊ฐœ์š” (๋น„์ฆˆ๋‹ˆ์Šค ํฌ์ปค์Šค) - ์†Œ์˜, ๋ณ‘์„ 

    • ๊ธฐํš ๋ฐฐ๊ฒฝ : ํšŒ์˜ํ•˜๋‹ค๋ณด๋‹ˆ ํ˜‘์—… ์—๋””ํ„ฐ์™€ ํ™”์ƒํšŒ์˜ ์™”๋‹ค ๊ฐ”๋‹ค ๋„ˆ๋ฌด ๋ถˆํŽธ
    • ๊ธฐํš ๋ชฉ์  : ์‹ค์‹œ๊ฐ„ ํ˜‘์—… ์—๋””ํ„ฐ์™€ ํ™”์ƒ ํšŒ์˜ ํ•ฉ์ณ ๋ณด์ž
    • ๊ธฐํš ํšจ๊ณผ : ๋‹ค์–‘ํ•œ ์ฑ„๋„์„ ์‚ฌ์šฉํ•  ํ•„์š” X
    • ์‹œ์žฅ ์กฐ์‚ฌ : ํ˜„์žฌ ์กด์žฌํ•˜๋Š” ์„œ๋น„์Šค ๋ถ„์„
      • HackMD
      • Typora
      • Google Meet
    • ๋ฌธ์ œ์ (๋ฌธ์ œ ์ƒํ™ฉ), ํƒ€๊ฒŸ ์ •์˜
    • ๋ฌธ์ œ์  ํ•ด๊ฒฐ : ์šฐ๋ฆฌ๋Š” ๋ฌด์—‡(์–ด๋–ค ๋‹ˆ์ฆˆ)์„ ํ•ด๊ฒฐํ•  ์ˆ˜ ์žˆ๋‹ค
    • ์šฐ๋ฆฌ ์„œ๋น„์Šค์™€์˜ ๋น„๊ต ํ‘œ
  • ์ฃผ์š” ์„œ๋น„์Šค (๊ธฐ์ˆ  && ๊ธฐ๋Šฅ ํฌ์ปค์Šค) - ์—ฐ์ฃผ, ์„ฑ์›

    • ๋ฉ”์ธํ™”๋ฉด ์„ค๊ณ„
    • ์‹ค์‹œ๊ฐ„ ํ˜‘์—… ๋ฌธ์„œ ์ž‘์—… ์„œ๋น„์Šค
      • CRDT ๊ธฐ์ˆ  ์ ์šฉ(์ ์šฉ ๊ธฐ์ˆ )
    • ์‹ค์‹œ๊ฐ„ ํ™”์ƒ ์ฑ„ํŒ… ์„œ๋น„์Šค
      • Web RTC
  • ์„œ๋น„์Šค ๊ตฌ์ฒดํ™” - ํƒœ๋ฆฐ

    • ํ”Œ๋กœ์šฐ ์ฐจํŠธ ํ†ตํ•ฉ๋ณธ
    • ๊ฐœ๋ฐœ์กฐ์ง๊ตฌ์„ฑ ๋ฐ ๊ฐœ๋ฐœ ์ถ”์ง„ ์ผ์ •
    • ์ด๋ฒˆ ํ”„๋กœ์ ํŠธ๋กœ ์ ์šฉํ•˜๊ณ  ์‹ถ์€ ๊ธฐ์ˆ 

์‹ค์‹œ๊ฐ„ ๋ฌธ์„œ ์ž‘์„ฑ ๋ฐ ํ”„๋ฆฌ๋ทฐ

์‹ค์‹œ๊ฐ„ ๋ฌธ์„œ ์ž‘์„ฑ ๋ฐ ํ”„๋ฆฌ๋ทฐ ํ”Œ๋กœ์šฐ ์ฐจํŠธ(chat)

์ด์Šˆ โ—๏ธ
์‹ค์‹œ๊ฐ„ ๋ฌธ์„œ ์ž‘์„ฑ ๋ฐ ํ”„๋ฆฌ๋ทฐ ๊ณผ์ •์„ ํ”Œ๋กœ์šฐ ์ฐจํŠธ๋กœ ๋‚˜ํƒ€๋‚ด ๋ณด์•˜์Šต๋‹ˆ๋‹ค.
์‹ค์‹œ๊ฐ„ ๋ฌธ์„œ ์ž‘์„ฑ ๋ฐ ํ”„๋ฆฌ๋ทฐ

๋‚˜์˜ ์˜๊ฒฌ ๐Ÿ˜Ž

  1. ๊นƒํ—ˆ๋ธŒ์— meeting, discussion ๋“ฑ์— ์ด์Šˆ๋ฅผ ์˜ฌ๋ฆด ๋•Œ ์“ฐ๋Š” ํ…œํ”Œ๋ฆฟ์„ LiveMD ์‚ฌ์šฉ์ž๋„ ์ž๊ธฐ๊ฐ€ ์ €์žฅํ•œ ํ…œํ”Œ๋ฆฟ์„ ๋ถˆ๋Ÿฌ์™€์„œ ์“ธ ์ˆ˜ ์ž‡๋‹ค๋ฉด ์ข‹์ง€ ์•Š์„๊นŒ ์ƒ๊ฐ์„ ํ–ˆ์Šต๋‹ˆ๋‹ค.

๊ด€๋ จ๋œ ์ด์Šˆ ๐Ÿ“Ž

#4

๋ ˆํผ๋Ÿฐ์Šค ๐Ÿ“š

ํ”Œ๋กœ์šฐ ์ฐจํŠธ ๊ทธ๋ฆฌ๋Š” ๋ฐฉ๋ฒ•
collab-me

LiveMD๋ฅผ ์œ„ํ•œ ๊ธฐ์ˆ  ์กฐ์‚ฌ

LiveMD๋ฅผ ์œ„ํ•œ ๊ธฐ์ˆ  ์กฐ์‚ฌ

Websocket API

์„œ๋ฒ„์™€ ํด๋ผ์ด์–ธํŠธ ๊ฐ„์— Socket Connection์„ ์œ ์ง€ํ•ด์„œ ์–ธ์ œ๋“  ์–‘๋ฐฉํ–ฅ ํ†ต์‹  ๋˜๋Š” ๋ฐ์ดํ„ฐ ์ „์†ก์ด ๊ฐ€๋Šฅํ•˜๋„๋ก ํ•˜๋Š” ๊ธฐ์ˆ . ์ฆ‰, ์‹ค์‹œ๊ฐ„ ๊ธฐ๋Šฅ ๊ตฌํ˜„์„ ์œ„ํ•œ ๊ธฐ์ˆ .

  • ์ฐธ์กฐ

Springboot์™€ websocket์„ ์ด์šฉํ•˜์—ฌ ์ฑ„ํŒ… ์•ฑ ๊ตฌํ˜„ํ•˜๊ธฐ


์ผ๊ด€์„ฑ ๊ด€๋ฆฌ ๋ฐ ๋™์‹œ์„ฑ ์ œ์–ด๋ฅผ ์œ„ํ•œ ๊ธฐ์ˆ 

์—ฌ๋Ÿฌ ํด๋ผ์ด์–ธํŠธ์—์„œ ๋ณด๋‚ธ ๋ฉ”์„ธ์ง€์˜ ๋ณ€๊ฒฝ์‚ฌํ•ญ์„ ๋จธ์ง€ํ•˜๋Š” ๋‘๊ฐ€์ง€ ์•Œ๊ณ ๋ฆฌ์ฆ˜.

1. Operational Transform

operations๋ฅผ ๋ฐ”๊ฟˆ์œผ๋กœ์จ ์ผ๊ด€์„ฑ ๊ด€๋ฆฌ๋ฅผ ํ•œ๋‹ค.

๋‹ค์ˆ˜์˜ ํด๋ผ์ด์–ธํŠธ(๋ฌธ์„œ๋ฅผ ์ˆ˜์ •ํ•˜๋Š” ์—ญํ• ) + ํ•˜๋‚˜์˜ ์„œ๋ฒ„(์ˆ˜์ •ํ•œ ๋‚ด์šฉ์„ ๋™๊ธฐํ™”)

  • ์ฐธ์กฐ

http://www.secmem.org/blog/2019/01/09/operational-transform/

2. CRDTs

state๋ฅผ ๋ฐ”๊ฟˆ์œผ๋กœ์จ ์ผ๊ด€์„ฑ ๊ด€๋ฆฌ๋ฅผ ํ•œ๋‹ค. OT๋ณด๋‹ค ๋” ์‰ฝ๋‹ค.(?)

ํŒ€ํŽ˜์ด์ง€ ํ”Œ๋กœ์šฐ ์ฐจํŠธ

ํŒ€ํŽ˜์ด์ง€ ํ”Œ๋กœ์šฐ ์ฐจํŠธ

์ด์Šˆ โ—๏ธ

ํŒ€ํŽ˜์ด์ง€ ๊ฐœ์„ค ๋ฐ ํŒ€์› ์ดˆ๋Œ€ ๊ณผ์ •์„ ํ”Œ๋กœ์šฐ ์ฐจํŠธ๋กœ ๋‚˜ํƒ€๋‚ด ๋ณด์•˜์Šต๋‹ˆ๋‹ค
image

๋‚˜์˜ ์˜๊ฒฌ ๐Ÿ˜Ž

image

  • ํŒ€ํŽ˜์ด์ง€์˜ ์ฃผ์†Œ url์„ ์ง์ ‘ ์„ค์ •ํ•  ์ˆ˜ ์žˆ๊ฒŒ ํ•˜๋Š”๊ฒƒ๋„ ์ข‹์€๊ฒƒ ๊ฐ™์Šต๋‹ˆ๋‹ค
  • ํŒ€์› ์ดˆ๋Œ€์‹œ ์ƒ๋Œ€๋ฐฉ์˜ ์ดˆ๋Œ€ ์ˆ˜๋ฝ ์—ฌ๋ถ€๋ฅผ ํ™•์ธํ•  ์ˆ˜ ์žˆ์œผ๋ฉด ์ข‹์„๊ฒƒ ๊ฐ™์Šต๋‹ˆ๋‹ค
  • ํŒ€์› ์ดˆ๋Œ€์‹œ ํšŒ์›/๋น„ํšŒ์› ์ƒ๊ด€์—†์ด ์ดˆ๋Œ€ํ•  ์ˆ˜ ์žˆ๋Š”์ง€ ๋…ผ์˜ํ•ด๋ณด๊ธฐ!
  • ๊ฐœ์ธ๋ ˆํฌ์—๋„ ๋‹ค๋ฅธ์‚ฌ๋žŒ ์ดˆ๋Œ€ํ•  ์ˆ˜ ์žˆ์„์ง€ ๋…ผ์˜ํ•ด๋ณด๊ธฐ!

๊ด€๋ จ๋œ ์ด์Šˆ ๐Ÿ“Ž

#4

๋ ˆํผ๋Ÿฐ์Šค ๐Ÿ“š

๊ธฐ๋Šฅ ๊ตฌํ˜„ ๊ด€๋ จ ๋ ˆํผ๋Ÿฐ์Šค์ž…๋‹ˆ๋‹ค.!!!

๊ด€๋ จ ๋ ˆํผ๋Ÿฐ์Šค

collab-me-detail
collab-me-detail2

2020.10.05 ์˜คํ›„ MEETING

๐Ÿ’ 2020.10.05 LiveMD ํšŒ์˜ ๐Ÿ’

tags: ์•„์ด๋””์–ด ํšŒ์˜, ๊ธฐํš์•ˆ ๋งŒ๋“ค๊ธฐ

๐Ÿ“ ์˜ค๋Š˜ TODO

1. ์ˆ˜์š”์ผ ์‹œ๊ฐ„ ์ •ํ•˜๊ธฐ

10์‹œ ~ 18์‹œ (๋Šฆ์œผ๋ฉด ์†Œ์ฃผ 1์ž” ๋” ๋งˆ์‹œ๊ธฐ ^^^^)

2. ์ˆ˜์š”์ผ์— ๋งŒ๋‚˜์„œ ๋ญํ•˜์ง€?

๊ณตํ†ต

  • ํ”Œ๋กœ์šฐ ์ฐจํŠธ ์ˆ˜์ •ํ•˜๊ธฐ
  • github wiki๋กœ ํšŒ์˜ ๊ธฐ๋ก ์•Œ์•„๋‚ด๊ธฐ!

Server

  • ๋งˆ์ดํฌ๋กœ์„œ๋น„์Šค ๋‚˜๋ˆ„๊ธฐ
  • ๊ฐ ์„œ๋น„์Šค api ๋ฌธ์„œ ์ž‘์„ฑ
  • api ๋ฌธ์„œ์— ๋”ฐ๋ผ ๊ฐœ๋ฐœ
๊ฐœ์ธ๋ณ„ ํ•  ์ผ
  • ํƒœ๋ฆฐ: ์‹ค์‹œ๊ฐ„ ์ปค๋ฎค๋‹ˆ์ผ€์ด์…˜ webRTC + express
  • ์—ฐ์ฃผ: ์‹ค์‹œ๊ฐ„ ํ˜‘์—… yjs + express
  • ์†Œ์˜: ํšŒ์›๊ฐ€์ž… ๋ฐ ๋กœ๊ทธ์ธ spring boot

Client

  • ์„ฑ์›: ๋งˆํฌ๋‹ค์šด ์—๋””ํ„ฐ ์˜คํ”ˆ์†Œ์Šค ๊ธฐ๋Šฅ๋“ค ํŒŒ์•…ํ•ด๋ณด๊ธฐ

    • toast ui
    • codemirror
    • react md-editor
  • ๋ณ‘์„ 

    • ์›” : ๋กœ๊ทธ์ธ/ํšŒ์›๊ฐ€์ž… ๊ธฐ๋Šฅ, ๋””์ž์ธ ๊ณต๋ถ€, ๊ธฐํš์„œ ์™„์„ฑ~~
    • ํ™” : ๋ฉ”์ธํ™”๋ฉด ๊ธฐ๋Šฅ, ๋””์ž์ธ ๊ณต๋ถ€ (hackMD + Apple)
    • ์ˆ˜ : ๋งˆํฌ๋‹ค์šด ์—๋””ํ„ฐ ๊ตฌ์ƒ ๊ณต๋ถ€...?

2. ๊ธฐํš ๋งˆ๋ฌด๋ฆฌ

1) ๊ธฐํš ์ œ์ถœ ๋ฐ ๋ฐœํ‘œ ์ผ์ • ํ™•์ธ

  • ๊ธฐํš์„œ ppt ์ œ์ถœ: 10์›” 7์ผ, ์ˆ˜์š”์ผ
  • ํŒ€ ๊ณตํ†ต ๋ชจ๋“ˆ ๊ตฌํ˜„: 10์›” 8์ผ, ๋ชฉ์š”์ผ

๊ณตํ†ต ๋ชจ๋“ˆ ํ›„๋ณด
- ํŒ€ ๋ ˆํฌ์ง€ํ† ๋ฆฌ
- ๋ฌธ์„œ ๊ด€๋ฆฌ
- ํšŒ์›๊ฐ€์ž…

  • ๊ธฐํš์„œ ppt ๋ฐœํ‘œ: 10์›” 9์ผ, ๊ธˆ์š”์ผ

2) ๊ธฐํš ppt ํ”ผ๋“œ๋ฐฑ

  • ๋ชฉ์ฐจ ์™„์„ฑํ•˜๊ธฐ
  • Live MD ์„ค๋ช… ์™„์„ฑํ•˜๊ธฐ
  • ์‹œ์žฅ ์กฐ์‚ฌ ์™„์„ฑํ•˜๊ธฐ

๋‹ค๋“ค ๊ณ ์ƒ ๋งŽ์œผ์…จ์Šต๋‹ˆ๋‹ค! 2) ๊ธฐํš ppt ํ”ผ๋“œ๋ฐฑ์€ ํ™”์š”์ผ, 10์›” 6์ผ ์˜ค์ „ 10์‹œ์— ๋งŒ๋‚˜์„œ 10๋ถ„์—ฌ๊ฐ„ ์ง„ํ–‰ํ•  ์˜ˆ์ •์ž…๋‹ˆ๋‹ค

Jira Issue Tracking์„ ์œ„ํ•œ ์ œ์•ˆ

  1. ์†Œ์Šค์ฝ”๋“œ add
  2. commit ๋ฉ”์‹œ์ง€์— Jira์— ๋“ฑ๋กํ–ˆ๋˜ issue ๋ฒˆํ˜ธ ์ ๊ธฐ
  3. push
  4. Jira์—์„œ ๋“ฑ๋กํ•œ Issue์— commit ๋ถ€๋ถ„ ํ™•์ธ

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.