2021-01-22(Fri)

ํ•ญ๋ชฉ

๋‚ด์šฉ

ํ•™์Šต ๋‚ ์งœ

2021-01-22(๊ธˆ)

ํ•™์Šต ์‹œ๊ฐ„

11:00~24:00

ํ•™์Šต ๋ฒ”์œ„ ๋ฐ ์ฃผ์ œ

ํ˜‘์—…๊ทœ์น™

ํ•™์Šต ๋ชฉํ‘œ

ํ˜‘์—…์— ํ•„์š”ํ•œ ๊ทœ์น™๋“ค์„ ๋…ผ์˜ํ•œ๋‹ค.

๋™๋ฃŒ ํ•™์Šต ๋ฐฉ๋ฒ•

-

์ƒ์„ธ ํ•™์Šต ๋‚ด์šฉ

๋‹Œ์ž ํ”„๋กœ์ ํŠธ๋ฅผ ๋งˆ์น˜๋ฉฐ, ์ œ 13์ฐจ ๋ฏธํŒ…์„ ์ง„ํ–‰ํ–ˆ๋‹ค.

๋‹Œ์ž ํ”„๋กœ์ ํŠธ๋ฅผ ํ•˜๋ฉด์„œ ๋Š๊ผˆ๋˜ ์ด์Šˆ์™€ ๊ทธ์— ๋”ฐ๋ฅธ ๋…ผ์˜๋ฅผ ํ•˜๋‹ค๋ณด๋‹ˆ ์žฅ์‹œ๊ฐ„ ๋ฏธํŒ…์„ ์ง„ํ–‰ํ–ˆ๋‹ค. ์ดํ›„ ESlint์™€ prettier๋ฅผ airbnb ์Šคํƒ€์ผ๋กœ ์ ์šฉํ•˜๋Š” ๊ฒƒ์„ ์‹œํ—˜ํ•˜์˜€๋‹ค.

์•„๋ž˜๋Š” ํšŒ์˜๋ก.

๋‹Œ์ž ํ”„๋กœ์ ํŠธ ์—ฐ์žฅ์—ฌ๋ถ€

โ€”> ๋“ค์–ด๋ณด๋‹ˆ, ๋‹Œ์ž ํ”„๋กœ์ ํŠธ๋ฅผ ์—ฐ์žฅํ•˜๊ณ  ์‹ถ๋‹ค๊ธฐ๋ณด๋‹จ, ๋ณธ ํ”„๋กœ์ ํŠธ ์‹œ์ž‘์ผ์„ ๋Šฆ์ถ”๊ณ  ์‹ถ๋‹ค.

  • sanam: ๋‹ค์Œ ์ฃผ ํ™”์š”์ผ์— ์‹œ์ž‘ํ•˜๊ณ  ์‹ถ๋‹ค.

  • jujeong: ๋‹ค์Œ ์ฃผ ํ™”์š”์ผ๋ถ€ํ„ฐ ์‹œ์ž‘์„ ํ•˜๊ณ  ์‹ถ๋‹ค.

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

  • eunhkim: ์š”ํ•œ๋‹˜ ์˜๊ฒฌ์— ๋™์˜ํ•ฉ๋‹ˆ๋‹ค.

  • iwoo: ์„ค๊ณ„, ํ˜‘์—… ๋ฐฉ๋ฒ• ๋“ฑ์„ ์ •ํ•˜๋ ค๋ฉด ๋น ๋ฅด๊ฒŒ ๋…ผ์˜๋ฅผ ์‹œ์ž‘ํ•ด์•ผํ•  ๊ฒƒ ๊ฐ™๋‹ค.

  • sanam: ์‚ฌ์‹ค ์ฃผ๋ง์— ๊ณต๋ถ€๋ฅผ ํ•  ํ™˜๊ฒฝ์ด ์•ˆ ๋˜์–ด์„œ ์›”์š”์ผ์„ ํ•™์Šต์— ์“ฐ๊ณ  ์‹ถ๋‹ค.

  • jujeong: ์ฃผ๋ง์— ์•ฝ์†์ด ์žˆ์–ด์„œ ์›”์š”์ผ์„ ํ•™์Šต์— ์“ฐ๊ณ  ์‹ถ๋‹ค.

sanam: ์›”์š”์ผ์— ๋‹ค ๊ฐ™์ด ๋งŒ๋‚˜์ž.

  • ๋‹ค๋“ค ๋™์˜

์ฃฝ์ „์—ญ์—์„œ ๋งŒ๋‚˜์ž 12์‹œ!

๐Ÿ‰ โ† ์ฃผ๋ง๊ฐ„ ํ•™์Šต, ์ƒ๊ฐ์ •๋ฆฌ๋ฅผ ํ•ด์„œ ์›”์š”์ผ์— ๊ฒฐ์ •ํ•ด์•ผํ•  ์ด์Šˆ

๐ŸŒ โ† ์˜ค๋Š˜ ์–˜๊ธฐ๋ฅผ ๋๋‚ด์•ผํ•  ์ด์Šˆ

๋‹Œ์ž ํ”„๋กœ์ ํŠธํ•˜๋ฉด์„œ ๋Š๊ผˆ๋˜ ์ด์Šˆ

  • index.html ์˜ ๋ ˆ์ด์•„์›ƒ์„ ์ œ๋Œ€๋กœ ์žก๊ณ  ์‹œ์ž‘ํ•˜๋ฉด ์ข‹๊ฒ ๋‹ค.

    • nav view, main view, side bar ๊ฐ„์˜ ๊ด€๊ณ„๊ฐ€ semantic ui์— ๋”ฐ๋ผ์„œ col, row๊ฐ€ ์ œ๋Œ€๋กœ ๋‚˜๋ˆ ์ง€๋ฉด ์ข‹๊ฒ ๋‹ค.

    • index.html ๋ ˆ์ด์•„์›ƒ์„ semantic-ui๋กœ ์žก๋Š” ๊ฒƒ์ด ์ตœ์ ์ธ์ง€์— ๋Œ€ํ•œ ์˜๋ฌธ, CSS๋กœ ๊ฐ€๋Šฅ

  • ์šฉ์–ด๋ฅผ ๋ช…ํ™•ํžˆํ•˜์ž. ๐Ÿ‰

    • guest๊ฐ€ ์ฒ˜์Œ์—๋Š” user์˜ ํƒ€์ž… ์ค‘ ํ•˜๋‚˜์˜€๋Š”๋ฐ, ์‚ฌ์ด๋“œ๋ฐ” ๋งŒ๋“ค๋ฉด์„œ ์—†์•ด์Œ.

    • model๋„ ๋ฐฑ๋ณธ ๋ชจ๋ธ์ด ์žˆ๊ณ , Rails ๋ชจ๋ธ์ด ์žˆ๊ณ ..

    • ์šฉ์–ด ์‚ฌ์ „? ํ˜‘์—…๋ฌธ์„œ์— ์šฉ์–ด ์‚ฌ์ „์ด ๋ช…ํ™•ํžˆ ์ ํ˜€์ ธ์žˆ์œผ๋ฉด ์ข‹๊ฒ ๋‹ค.

  • ํ˜‘์—… ๊ทœ์น™ ๐Ÿ‰

    • ์šฉ์–ด๋ฅผ ์–˜๊ธฐํ•  ๋•Œ๋Š” DB์— ์ •์˜๋œ ์ด๋ฆ„์„ ์“ฐ๋„๋ก ํ•˜์ž.๋Š” ์‹์œผ๋กœ ํ˜‘์—…๊ทœ์น™์ด ๋‹ด๊ธด ํ˜‘์—…๋ฌธ์„œ ์ž‘์„ฑ ํ•„์š”.

  • ์ฑ…์ž„ ๊ธฐ๋ฐ˜ ์„ค๊ณ„๋ฅผ ํ•˜์ž.

    • ์œ ์Šค์ผ€์ด์Šค ์ ์ž.

  • DB ์„ค๊ณ„๊นŒ์ง€ ํ™•์‹คํ•˜๊ฒŒ ์ •ํ•˜๊ณ  ๊ฐ€์•ผํ•  ๊ฒƒ ๊ฐ™๋‹ค.

    • ๋ ˆ์ผ์ฆˆ ํ…Œ์ด๋ธ” ์Šคํ‚ค๋งˆ์™€ ๋ฐฑ๋ณธ ๋ชจ๋ธModel์˜ ์†์„ฑ์„ ๊ฐ€๋Šฅํ•œ ์ผ์น˜์‹œํ‚ค๋Š” ๊ฒƒ์ด ํ•„์š”ํ•˜๊ณ , ๋‹ค๋ฅผ ๋•Œ์—๋Š” ๋ฐฑ๋ณธ์— ๋Œ€ํ•œ ์ถฉ๋ถ„ํ•œ ์ดํ•ด์™€ ํ…Œ์ŠคํŠธ ์ผ€์ด์Šค๊ฐ€ ํ•„์š”ํ•˜๋‹ค.

      • ๋ถˆ์ผ์น˜ํ•  ๊ฒฝ์šฐ ๋ ˆ์ผ์ฆˆ์—์„œ ๋ฐฑ๋ณธ์œผ๋กœ ๊ฐ€์ ธ์˜ค๋Š” ๊ฒƒ์€ ๋ฌธ์ œ๊ฐ€ ์—†๋Š”๋ฐ, ๋ฐ์ดํ„ฐ๋ฅผ ์ €์žฅํ•  ๋•Œ ๋ฌธ์ œ๋‹ค.

        ex) Backbone: A=a, B=b โ€”> Rails: A=a, B=b, C=default, D=default

    • ๋ ˆ์ผ์ฆˆ DB์˜ ๋ชจ๋ธ, ๋ชจ๋ธ์— ์ €์žฅ๋˜์–ด์•ผํ•  ์š”์†Œ.

    • DB ์„ค๊ณ„๋ฅผ ํ™•์‹คํ•˜๊ฒŒ ํ•˜๋ ค๊ณ ํ•ด๋„ ์•„๋งˆ๋„ ๋ถˆ์™„์ „ํ•  ๊ฑฐ๋‹ค.

      • ์ฑ…์ž„์ด ์žˆ๊ณ , ์—ญํ• ์ด โ† ๊ตฌํ˜„ํ•˜๊ธฐ ์œ„ํ•ด์„œ ์ฝ”๋”ฉํ•˜๋ฉด์„œ ์„ค๊ณ„๊ฐ€ ๊ฐ™์ด ์ด๋ค„์ง€๊ณ , class๊ฐ€ ์ˆ˜ํ–‰ํ•ด์•ผํ•  ๋ฉ”์„œ๋“œ๊ฐ€ ์ •์˜๋˜๊ณ , ์ด ๋•Œ ํ•„์š”ํ•œ ํด๋ž˜์Šค ์•ˆ์— ๋“ค์–ด์žˆ๋Š” ํ”„๋กœํผํ‹ฐ ๊ฐ™์€๊ฒŒ ๊ฒฐ์ •๋œ๋‹ค.

      • ์ฝ”๋”ฉ ๋‹จ๊ณ„๋กœ ์•ˆ ๋“ค์–ด๊ฐ€๋„ ์ฑ…์ž„์ด ๋ช…ํ™•ํ•˜๋ฉด DB field ์„ค๊ณ„๊นŒ์ง€ ์ž˜ ๋  ๊ฒƒ์ด๋‹ค.

    • ๋งˆ์ด๊ทธ๋ ˆ์ด์…˜ ๋ช…๋ช… ๊ทœ์น™, ๊ด€๋ฆฌ ๊ทœ์น™ ๋“ฑ์ด ํ•„์š”ํ•˜๋‹ค.

    • ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค ๋งˆ์ด๊ทธ๋ ˆ์ด์…˜ ๊ด€๋ฆฌ์ž ์ง€์ •์ด ํ•„์š”ํ•˜๋‹ค. ๐Ÿ‰

  • ๋กœ๊ทธ์ธ ํ•œ ์œ ์ €๊ฐ€ ํƒญ์„ ๋ˆ ๊ฒฝ์šฐ or ๋กœ๊ทธ์•„์›ƒ ํ•œ ๊ฒฝ์šฐ ์ฒ˜๋ฆฌ ๋ฐฉ์‹ ์„ค์ • ๐Ÿ‰

    • ์ƒˆ๋กœ๊ณ ์นจ

    • ๋™์ผํ•œ ํƒญ ๋‚ด์—์„œ ๋‹ค๋ฅธ ์„œ๋น„์Šค๋กœ ์ด๋™ํ•˜๋Š” ๊ฒฝ์šฐ

    • ๋กœ๊ทธ์•„์›ƒ ๋ฒ„ํŠผ ํด๋ฆญ

    • ํƒญ ๋‹ซ๊ธฐ

    • ๋กœ๊ทธ์•„์›ƒ์ด๋ž€ ๋ฌด์—‡์ธ๊ฐ€. ๋กœ๊ทธ์•„์›ƒ์— ์ˆ˜๋ฐ˜๋˜์–ด์•ผํ•  ์•ก์…˜๋“ค์€?

      • ์ฐธ๊ณ ๋กœ window ๊ฐ์ฒด๊ฐ€ ์‚ฌ๋ผ์ง€๋ฉด ์ผ€์ด๋ธ”์€ ๋Š๊ธด๋‹ค.(์ƒˆ๋กœ๊ณ ์นจ๊ฐ™์€๊ฑฐ)

    • ๋กœ๊ทธ์•„์›ƒ ๋˜๋Š” ๊ฒฝ๋กœ๋“ค์€?

    • ๋กœ๊ทธ์•„์›ƒ์˜ ๊ธฐ์ค€์„ ํŽ˜์ด์ง€ ๋‹จ์œ„๋กœ ํ•  ๊ฒƒ์ธ์ง€, ์„ธ์…˜ ๋‹จ์œ„๋กœ ํ•  ๊ฒƒ์ธ์ง€ ์ •์˜๊ฐ€ ํ•„์š”

    • ์ •์˜ํ•œ ๊ธฐ์ค€์— ๋”ฐ๋ผ์„œ ์„œ๋ฒ„ ๋ฐ ํ”„๋ก ํŠธ๊ฐ€ ๋กœ๊ทธ์•„์›ƒ์‹œ ํ•„์š”ํ•œ ํ–‰์œ„๋“ค์„ ์ •ํ™•ํ•˜๊ฒŒ ์ˆ˜ํ–‰ํ•˜๋„๋ก ๊ตฌํ˜„

    • ๋กœ๊ทธ์ธ ๋˜์–ด ์žˆ๋‹ค๋Š” ๊ฒƒ์„ ์–ด๋–ป๊ฒŒ ์ €์žฅํ•  ๊ฒƒ ์ธ๊ฐ€?(์„ธ์…˜ or ์ฟ ํ‚ค)

    • devise gem ์‚ฌ์šฉ ์—ฌ๋ถ€ ๐Ÿ‰

      • eunhkim: ๋ฐ˜๋Œ€, ์„œ๋ธŒ์ ํŠธ ์š”๊ตฌ์‚ฌํ•ญ์„ ๋งŒ์กฑ์‹œํ‚ฌ์ง€ ๋ฏธ์ง€์ˆ˜๋‹ค.

      • iwoo: wpark๋‹˜๋„ค๋Š” devise ์ผ๋˜๋ฐ? ๊ทธ๋Ÿผ ์„œ๋ธŒ์ ํŠธ ์š”๊ตฌ์‚ฌํ•ญ์„ ๋งŒ์กฑ์‹œํ‚ฌ ์ˆ˜ ์žˆ๋Š” ๋ฐฉ๋ฒ•์ด ์žˆ์ง€ ์•Š์„๊นŒ? ์‹ถ๊ธดํ•œ๋ฐ, ๋กœ๊ทธ์ธ/๋กœ๊ทธ์•„์›ƒ ๊ด€๋ จํ•ด์„œ ์šฐ๋ฆฌ๊ฐ€ ๊ตฌํ˜„ํ–ˆ์„ ๋•Œ ์–ป์„ ์ˆ˜ ์žˆ๋Š” ํ•™์Šต์„ ์ƒ๊ฐํ•˜๋ฉด devise ์•ˆ ์จ๋„ ๋ญ.. ์ข‹์„ ๊ฒƒ ๊ฐ™๋‹ค.

      • sanam: ๊ธฐ์ˆ ์ ์œผ๋กœ ๋ชจ๋“  ๊ฒƒ์„ ๋‹ค ์ปจํŠธ๋กคํ•˜๋Š”๊ฑด ์ข‹๋‹ค๊ณ  ์ƒ๊ฐํ•œ๋‹ค. ๊ทผ๋ฐ ๋””๋ฐ”์ด์Šค์žผ ์ž์ฒด๋„ ์†”์งํžˆ ๋ฃจ๋น„๋ ˆ์ผ์ฆˆ์—์„œ ๋งŽ์ด์“ฐ์ด๋Š” ๊ฒƒ์ด๋‹ˆ๊นŒ ์•„๋Š” ๊ฒƒ๋„ ์ข‹๋‹ค๊ณ  ์ƒ๊ฐํ•œ๋‹ค. ๊ฒฐ๋ก ์€, ๋กœ๊ทธ์ธ ๊ด€๋ จํ•ด์„œ ๋””๋ฐ”์ด์Šค์žผ ์‚ฌ์šฉํ•˜์ง€ ์•Š๊ณ ๋„ ๋ชจ๋“  ๊ฒƒ์„ ์ผ€์–ดํ•  ์ˆ˜์žˆ์œผ๋ฉด ์‚ฌ์šฉํ•˜์ง€ ์•Š๋Š” ๊ฒƒ์ด ์ข‹๋‹ค๊ณ  ์ƒ๊ฐํ•œ๋‹ค. ๋ ˆ์ผ์ฆˆ ๊ฐœ๋ฐœ์ž๋กœ๋งŒ ์‚ด ๊ฒƒ์ด ์•„๋‹ˆ๋‹ˆ๊นŒ, devise์žผ์— ์˜์กด์ ์ด์ง€ ์•Š์€ ๋ฐฉ๋ฒ•์œผ๋กœ ๋กœ๊ทธ์ธ ๊ธฐ๋Šฅ์„ ๊ตฌํ˜„ํ•  ์ˆ˜ ์žˆ์œผ๋ฉด ๋‹ค๋ฅธ๋ฐ์„œ๋„ ์จ๋จน์„ ์ˆ˜ ์žˆ์ง€ ์•Š๊ฒ ๋‚˜.

      • jujeong: ์ฒจ์—๋Š” devise ์žผ ์จ๋ณด๊ณ  ์‹ถ์—ˆ๋Š”๋ฐ, ์€ํœผ๋‹˜์ด ๊ฐ์ด ์•ˆ ์„ ๋‹ค๊ณ  ํ•˜์…จ์œผ๋‹ˆ, ๋กœ๊ทธ์ธ ๋‹จ๊ณ„์—์„œ ์„œ๋น„์Šค ์š”๊ตฌ์‚ฌํ•ญ๋“ค์„ ๋ช…ํ™•ํ•˜๊ฒŒ ์ •ํ•œ ๋‹ค์Œ์— devise ์žผ์œผ๋กœ ๊ตฌํ˜„ํ•ด๋ณด๋Š” ๊ฒƒ์ด ์ข‹์ง€ ์•Š์„๊นŒ ์ƒ๊ฐํ•œ๋‹ค.

      โ†’ iwoo: ๊ฐ€์ž…/๋กœ๊ทธ์ธ/๋กœ๊ทธ์•„์›ƒ ์š”๊ตฌ์‚ฌํ•ญ์„ ์˜ค๋Š˜ ์ •ํ•ด๋ณด๋Š”๊ฒŒ ์ข‹์„๋“ฏ

      • ์„ธ์…˜์ด ์•„๋‹ˆ๋ผ ์œˆ๋„์šฐ๋ฅผ ๊ธฐ์ค€์œผ๋กœ, ์–ด๋–ค ์•ก์…˜์œผ๋กœ๋“  ์œˆ๋„์šฐ๊ฐ€ unload๋  ๋•Œ ๋กœ๊ทธ์•„์›ƒ์— ํ•„์š”ํ•œ ๋ชจ๋“  ์•ก์…˜(๋ธŒ๋ผ์šฐ์ €/์„œ๋ฒ„ ์ฟ ํ‚ค ๋ฐ ์„ธ์…˜ ๋ฐ์ดํ„ฐ ์ฒ˜๋ฆฌ ํฌํ•จ)๋“ค์ด ์ˆ˜ํ–‰๋˜๋Š” ๊ฒƒ์œผ๋กœ ํ†ต์ผํ•  ํ•„์š”๊ฐ€ ์žˆ๋‹ค. ์•ก์…˜ ์ผ€์ด๋ธ” ์—ญ์‹œ ์œˆ๋„์šฐ ๋‹จ์œ„๋กœ ์—ฐ๊ฒฐ์ด ์œ ์ง€๋œ๋‹ค. ์ฃผ์†Œ์ฐฝ์— ๋‹ค๋ฅธ ์ฃผ์†Œ๋ฅผ ์ž…๋ ฅํ•˜๊ฑฐ๋‚˜, ์ƒˆ๋กœ๊ณ ์นจ ๋ฒ„ํŠผ์„ ๋ˆ„๋ฅด๋ฉด ์ผ€์ด๋ธ” ์—ฐ๊ฒฐ์€ ํ•ด์ œ๋œ๋‹ค. ์„œ๋ฒ„ ์ž…์žฅ์—์„œ๋Š” ๋กœ๊ทธ์•„์›ƒ ๋ฒ„ํŠผ์„ ํ†ตํ•œ HTTP ์š”์ฒญ์— ๋Œ€ํ•ด ๋กœ๊ทธ์•„์›ƒ์„ ์ง„ํ–‰ํ•˜๊ณ , ์ด์™ธ์˜ ๋ฐฉ๋ฒ•์œผ๋กœ ์œ ์ €๊ฐ€ ์œˆ๋„์šฐ๋ฅผ unloadํ•˜๋Š” ์•ก์…˜์— ๋Œ€ํ•ด์„œ๋„ ์‚ฌ์ด๋“œ๋ฐ” ์ฑ„๋„์˜ unsubsribed ๊ฐ์ง€๋ฅผ ํ†ตํ•ด ๋กœ๊ทธ์•„์›ƒ์„ ์ฒ˜๋ฆฌํ•ด์•ผ ํ•œ๋‹ค.

        ex) ํด๋ผ์ด์–ธํŠธ User A๊ฐ€ ๊ฐ‘์ž๊ธฐ ์—ฐ๊ฒฐ์„ ๋Š์–ด์„œ, 
        Rails๊ฐ€ ์ด๋ฅผ ๊ฐ์ง€ํ•ด์„œ DB์— ์žˆ๋Š” User A์˜ status ํ•„๋“œ๋ฅผ offline์œผ๋กœ ์—…๋ฐ์ดํŠธํ•œ๋‹ค.
      • ์‹ฑ๊ธ€ ํŽ˜์ด์ง€๋ฅผ ํ†ตํ•ด ํšŒ์›๊ฐ€์ž…, ๋กœ๊ทธ์ธ, ๋กœ๊ทธ์ธ ์—๋Ÿฌ, ๋กœ๊ทธ์•„์›ƒ ๋“ฑ์„ ์ •์ƒ์ ์œผ๋กœ ์ˆ˜ํ–‰ํ•  ์ˆ˜ ์žˆ๋‹ค.

      • ์œ ์ €๊ฐ€ ์ •์ƒ์ ์œผ๋กœ ๋กœ๊ทธ์•„์›ƒ์„ ํ•˜์ง€ ์•Š๊ณ  ํŽ˜์ด์ง€๋ฅผ ์ดํƒˆํ•˜๋Š” ๊ฒฝ์šฐ์— ๋Œ€ํ•ด์„œ๋„ ๊ฐ์ง€ํ•  ์ˆ˜ ์žˆ๋‹ค.

      • ํ•„์š”์— ๋”ฐ๋ผ ์œ ์ € ๋ชจ๋ธ์„ ๋ฐฑ๋ณธ์— ๊ตฌํ˜„ํ•˜์—ฌ RESTFULํ•˜๊ฒŒ CRUD๋ฅผ ์ง„ํ–‰ํ•˜๋Š” ๊ฒƒ์—๋„ ๋ฌธ์ œ๊ฐ€ ์—†๋‹ค.

  • View์˜ ๊ฐฑ์‹ ์‹œ์ 

    • yohai: ๊ธธ๋“œ ๋žญํ‚น์ด ๋ฐ”๋€Œ๊ฑฐ๋‚˜ ๊ธธ๋“œ๊ฐ€ ์ถ”๊ฐ€/์‚ญ์ œ ๋˜๊ฑฐ๋‚˜ ํ•  ๋•Œ ๊ฐฑ์‹ ์‹œ์ ์ด ์–ด๋–ป๊ฒŒ ๋˜์–ด์•ผํ• ์ง€ ๋…ผ์˜๊ฐ€ ๋˜์–ด์•ผํ•  ๊ฒƒ ๊ฐ™๋‹ค. ๊ฒŒ์ž„์ด ๋๋‚  ๋•Œ๋งˆ๋‹ค ๊ฐฑ์‹ ํ• ์ง€, ๋™๊ธฐํ™” ๋ฒ„ํŠผ์„ ๋ˆ„๋ฅผ ๋•Œ๋งŒ ๊ฐฑ์‹ ์ด ๋˜๊ฒŒ๋”ํ•  ๊ฒƒ์ธ์ง€.

      • iwoo: ๋™๊ธฐํ™” ๋ฒ„ํŠผ์„ ๋ˆ„๋ฅผ ๋•Œ๋งŒ ๊ฐฑ์‹ ์ด ๋˜๊ฒŒ๋”ํ•  ๊ฒƒ์ธ์ง€ โ† ์ €๋Š” ์—ฌ๊ธฐ์— ๋™์˜.

        ์ฑ„ํŒ…, ์œ ์ €์ƒํƒœ ํ™•์ธ(์‚ฌ์ด๋“œ๋ฐ”), ๊ฒŒ์ž„, DM โ† ๊ทน๋‹จ์ ์œผ๋กœ ๋™๊ธฐํ™”๋Š” ์•ก์…˜์ผ€์ด๋ธ”๋กœ.

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

        • ์˜คํžˆ๋ ค ์ถ”๊ฐ€ํ•  ๊ฑฐ๋ฉด ๋žญํ‚น ํ•„ํ„ฐ๋ง(๋‹ค์Šน๊ธฐ์ค€, ๋“์ ๊ธฐ์ค€ ๋“ฑ) ๊ธฐ๋Šฅ์ด ์žˆ๋Š”๊ฒŒ ๋‚˜์„๋“ฏ

      โ€”> ์š”์†Œ๋ณ„ ๋™๊ธฐํ™” ์ˆ˜์ค€์„ ์ •ํ•ด์•ผ๊ฒ ๋„ค!๐Ÿ‰

      • ์™„์ „ํžˆ ๋™์‹œ์— ๊ฐฑ์‹ ๋˜์–ด์•ผํ•˜๋Š” ๊ฒƒ: ์ฑ„ํŒ…, ์œ ์ €์ƒํƒœ ํ™•์ธ(์‚ฌ์ด๋“œ๋ฐ”), ๊ฒŒ์ž„, DM

      • ๋‚˜๋จธ์ง€๋Š” ํŽ˜์ด์ง€์— ์ ‘๊ทผํ•  ๋•Œ์˜ ์‹œ์ ์„ ๊ธฐ์ค€์œผ๋กœ ๋ Œ๋”๋งํ•˜๋ฉด ๋˜์ง€ ์•Š์„๊นŒ

        • ๋žญํ‚น๋ณด๊ธฐ๋ฅผ ๋ˆ„๋ฅด๋ฉด ๊ทธ ๋•Œ ๊ฐฑ์‹ ์ด ๋˜๊ฒŒ๋”ํ•˜๋ฉด ๋˜๋Š” ๊ฒƒ ์•„๋‹Œ๊ฐ€?

    • ์ „์—ญ ๋ณ€์ˆ˜ ๊ด€๋ฆฌ

      • view ๋ฅผ ํ•œ๋ฒˆ ๋งŒ๋“ค์–ด ๋‘๊ณ  ์ˆ˜์ •ํ•˜๋ฉด์„œ ์‚ฌ์šฉ?

      • var app = app || { } ์„ ์‹œ๋„ํ•ด๋ดค๋Š”๋ฐ ๋ ˆ์ผ์ฆˆ ํ™˜๊ฒฝ์—์„œ ์ž˜ ์ž‘๋™ํ•˜์ง€ ์•Š์•˜์Œ

      • var app = window.app || {} ์œผ๋กœ ์„ ์–ธํ•˜๊ณ , ํŒŒ์ผ ๋งˆ์ง€๋ง‰์— window.app = app์œผ๋กœ ์ •๋ฆฌํ•˜๋ฉด ์ž˜ ์ž‘๋™ํ•˜๊ณ  'app'์ด๋ผ๋Š” ์งง์€ ํ‚ค์›Œ๋“œ๋กœ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ๋‹ค๋Š” ์žฅ์ ์ด ์žˆ์Œ. window ๊ฐ์ฒด๋ฅผ ํ†ตํ•ด ๋ณด์—ฌ์ง„๋‹ค๋Š” ์ ์€ ๋‹จ์ ์ž„.

      • intertnal.js๋‚ด์— ์„ ์–ธ๋œ app ๋ณ€์ˆ˜๋ฅผ ์ด์šฉํ•ด์„œ export/importํ•˜๋Š” ๋ฐฉ์‹

        **import { app } from './internal'**
        โ€‹
        **export let app = {}**
      • eunhkim: view ๊ฐ์ฒด๋ฅผ ์‚ด๋ฆฌ๋Š” ๊ฒƒ์€ ์ข‹์€ ๊ฒƒ ๊ฐ™๊ณ , ๊ทธ view ๊ฐ์ฒด๋ฅผ renderํ•ด์„œ ์‚ฝ์ž…๋œ DOM ์š”์†Œ๋“ค์€ hide ์†์„ฑ์œผ๋กœ ์ˆจ๊ธฐ๋Š” ๊ฒƒ์ด ์•„๋‹ˆ๋ผ, ๋‹ค๋ฅธ ํŽ˜์ด์ง€๋กœ ๋„˜์–ด๊ฐˆ ๋•Œ ์‚ญ์ œํ•ด์ค˜์•ผํ•  ๊ฒƒ์ด๋‹ค.

      • yohai: DOM ์š”์†Œ๊นŒ์ง€ ์ „๋ถ€๋‹ค ๋“ค๊ณ  ์žˆ์–ด์•ผํ•  ๊ฒƒ ๊ฐ™๋‹ค.

      • sanam: ๋ชจ๋ธ๊ณผ ์ปฌ๋ ‰์…˜์€ ๋“ค๊ณ  ์žˆ์–ด์•ผํ•  ๊ฒƒ ๊ฐ™๋‹ค. DOM ์š”์†Œ๋Š” ๋™์ ์œผ๋กœ ๋งŒ๋“ค๊ณ  ์ œ๊ฑฐํ•ด์•ผํ•  ๊ฒƒ ๊ฐ™๋‹ค.

      • eunhkim: sanam ์˜๊ฒฌ + sub ๋ทฐ๋Š” ์‚ญ์ œํ•ด์•ผํ•  ๊ฒƒ ๊ฐ™๋‹ค. sub ๋ทฐ๋ฅผ ์ œ๊ฑฐํ•˜์ง€ ์•Š์œผ๋ฉด sub ๋ทฐ์— ๊ฑธ๋ ค์žˆ๋Š” ์ด๋ฒคํŠธ๊ฐ€ ๋‹ค ์‚ด์•„์žˆ์„ํ…๋ฐ, ์ด๋Ÿฐ ์ด๋ฒคํŠธ๊ฐ€ ์ค‘๋ณต๋  ๊ฒƒ์ด ๊ฑฑ์ •๋œ๋‹ค.

  • ๋กœ๊ทธ์ธํ•˜์ง€ ์•Š์€ ์œ ์ €์—๊ฒŒ ๊ฒŒ์ž„์„ ์ค‘๊ณ„ํ•  ๋•Œ, ๋กœ๊ทธ์ธํ•˜์ง€ ์•Š์€ ์œ ์ €๊ฐ€ connection ์ธ์ฆ ๋‹จ๊ณ„์—์„œ reject๋˜๊ณ  ์žˆ์Œ. ์ด ์ธ์ฆ ๋‹จ๊ณ„๋ฅผ ํ•ด์ œํ•˜๋ฉด current_user๋ฅผ ํ™œ์šฉํ•˜์—ฌ ๊ฒŒ์ž„ ์ง„ํ–‰ ๋ฐ ์ฑ„ํŒ… ๋“ฑ ๋™๊ธฐํ™” ์ž‘์—…์„ ์ •์ƒ์ ์œผ๋กœ ์ˆ˜ํ–‰ํ•˜๊ธฐ๊ฐ€ ์–ด๋ ค์›€. ๊ทธ๋Ÿฌ๋ฉด ์„ ํƒ์ ์œผ๋กœ ์ปค๋„ฅ์…˜ ์ธ์ฆ์„ ์ง„ํ–‰ํ•˜์—ฌ ํ”„๋ผ์ด๋น—/ํผ๋ธ”๋ฆญ ์ฑ„๋„์„ ์ƒ์„ฑํ•  ์ˆ˜ ์žˆ์–ด์•ผ ํ•˜๋Š”๋ฐ, ๊ทธ ๊ณผ์ •์„ ์–ด๋–ป๊ฒŒ ํ•ด์•ผ ํ• ์ง€ ๋ชจ๋ฅด๊ฒ ์Œ.

  • ํŠน์ • ๊ฒŒ์ž„์˜ ์ง„ํ–‰ ์ฑ„๋„๊ณผ ์ค‘๊ณ„ ์ฑ„๋„์„ ๋ถ„๋ฆฌํ•  ๊ฒƒ์ธ์ง€ ์•„๋‹Œ์ง€์— ๋Œ€ํ•œ ๊ฒฐ์ • ํ•„์š”

  • ์‚ฌ์ด๋“œ๋ฐ”๋ฅผ ๋„ค๋น„๊ฒŒ์ด์…˜ ๋ฐ‘์œผ๋กœ ๋„ฃ์–ด์•ผ ํ•˜๊ณ , ์šฐ์ธก์— ๊ณ ์ •ํ•˜๋ฉด ์ข‹๊ฒ ์Œ

  • ๋ ˆ์ผ์ฆˆ ์„œ๋ฒ„์™€ ๋ฐฑ๋ณธ ํ”„๋ก ํŠธ ํ†ต์‹  API์˜ ๋ช…ํ™•ํ•œ ํ™•๋ฆฝ ํ•„์š” ๐Ÿ‰

    routes.rb์—์„œ
    api ๋„ค์ž„์ŠคํŽ˜์ด์Šค์™€ resources ๋ฉ”์„œ๋“œ๋ฅผ ํ™œ์šฉํ•˜๋ฉด ์ข‹์ง€ ์•Š์„๊นŒ! RESTfulํ•˜๊ฒŒ ๋ผ์šฐํŠธ๊ด€๋ฆฌ๋ฅผ ํ•˜๊ฒŒ๋œ๋‹ค..!

    ์˜ˆ๋ฅผ ๋“ค์–ด, ํšŒ์›๊ฐ€์ž…์€ User๋ชจ๋ธ์— ๋Œ€ํ•œ RESTful API์š”์ฒญ์œผ๋กœ, POST ์š”์ฒญ์„ ๋ณด๋‚ด๊ฒŒ ๋  ๊ฒƒ์ด๋‹ค. ๊ทธ๋Ÿฐ๋ฐ ๋กœ๊ทธ์ธํ•  ๋•Œ๋Š” RESTfulํ•˜์ง€ ์•Š์€ ๋ผ์šฐํŠธ๋ฅผ ์ด์šฉํ•˜๊ฒŒ ๋  ๊ฒƒ์ด๋‹ค. ๊ฒŒ์ž„์ด ๋๋‚  ๊ฒฝ์šฐ ์—…๋ฐ์ดํŠธํ•ด์•ผํ•  ์š”์†Œ๋“ค์„ ํ•œ๋ฒˆ์— ์—…๋ฐ์ดํŠธํ•˜๊ธฐ ์œ„ํ•ด ๊ฐ ์š”์†Œ ๋ณ„๋กœ RESTful ํ•˜๊ฒŒ ์š”์ฒญ์„ ๋ณด๋‚ด๋Š” ๊ฒƒ์ด ์•„๋‹ˆ๋ผ, ๊ฐ ์š”์†Œ๋ณ„๋กœ ์—…๋ฐ์ดํŠธํ•  ๋‚ด์šฉ์„ ํ•œ๋ฒˆ์— POST๋กœ ๋ณด๋‚ด๊ฒŒ ๋œ๋‹ค. ๋น„ RESTful ์š”์ฒญ์˜ ํ™•๋ฆฝ์ด ํ•„์š”ํ•˜๋‹ค.

    ์–ด๋–ค ๋ผ์šฐํŠธ๋กœ ๋ฐ›์•„์„œ ์–ด๋–ค ๊ฒƒ์„ ๋ฆฌํ„ดํ•œ๋‹ค. <-- ์ด๊ฑฐ ์ •ํ•˜๊ณ ,
    ์ด๊ฑธ ์–ด๋–ค ์ปจํŠธ๋กค๋Ÿฌ์—์„œ ์ฒ˜๋ฆฌํ•ด์ค„์ง€๊นŒ์ง€ ์ •ํ•ด์•ผํ•œ๋‹ค.
  • ๋ผ์šฐํŠธ(๋ฐฑ๋ณธ/๋ ˆ์ผ์ฆˆ), ๋ชจ๋ธ(๋ฐฑ๋ณธ/๋ ˆ์ผ์ฆˆ), ์ปฌ๋ ‰์…˜, ๋ทฐ, ์ฑ„๋„, ์ปจํŠธ๋กค๋Ÿฌ ๋ฐ ์•ก์…˜, HTML ํ…œํ”Œ๋ฆฟ ๋ชจ๋‘์— ๋Œ€ํ•œ ์„ค๊ณ„๊ฐ€ ํ•„์š”ํ•˜๋‹ค. ๐Ÿ‰

  • ์—ญํ• ์„ ์–ด๋–ป๊ฒŒ ๋‚˜๋ˆŒ ๊ฒƒ์ธ์ง€, ํ”„๋ก ํŠธ/๋ฐฑ์˜ ์—ญํ• ์„ ์ „์ฒด์  ํ˜น์€ ๊ธฐ๋Šฅ ๋‹จ์œ„๋กœ ๊ตฌ๋ถ„ํ•  ๊ฒƒ์ธ์ง€, ๋ ˆ์ผ์ฆˆ ์•ˆ์—์„œ ๋ชจ๋ธ๊ณผ ๋งˆ์ด๊ทธ๋ ˆ์ด์…˜, ๊ทธ๋ฆฌ๊ณ  ํ”„๋ก ํŠธ ํผ๋ธ”๋ฆฌ์‹ฑ(HTML/CSS) ๋“ฑ ํŠน์ˆ˜ํ•œ ์˜์—ญ์— ๋Œ€ํ•ด ๋‹ด๋‹น์ž๋ฅผ ๋”ฐ๋กœ ์ง€์ •ํ•  ๊ฒƒ์ธ์ง€ ๐Ÿ‰

    ๊ฒฝ์šฐ์˜ ์ˆ˜!

    1. ํ”„๋ก ํŠธ/๋ฐฑ์„ ์ „์ฒด๋กœ ๊ตฌ๋ถ„

    2. ํ”„๋ก ํŠธ/๋ฐฑ์„ ๋ชจ๋“ˆ ๋‹จ์œ„๋กœ ๊ตฌ๋ถ„

      • Guild ํŽ˜์ด์ง€๋ฅผ ๋งŒ๋“ ๋‹ค!

        • Guild ํŽ˜์ด์ง€ ํ”„๋ก ํŠธ task์นด๋“œ - yohai

        • Guild ํŽ˜์ด์ง€์˜ ๋ฐฑ task ์นด๋“œ - iwoo

      • Chat ํŽ˜์ด์ง€๋ฅผ ๋งŒ๋“ ๋‹ค!

        • ํ”„๋ก ํŠธ - sanam

        • ๋ฐฑ - sanam

    3. ํ”„๋ก ํŠธ/๋ฐฑ ๊ตฌ๋ถ„ ์—†์ด ๋ชจ๋“ˆ ๋‹จ์œ„๋กœ ๊ตฌ๋ถ„

    iwoo: ์ „์ฒด ๋งˆ์ด๊ทธ๋ ˆ์ด์…˜ ๋‹ด๋‹น์ž์ฒ˜๋Ÿผ ์ „์ฒด HTML, CSS ๋‹ด๋‹น์ž๊ฐ€ ์žˆ์–ด์•ผํ•  ๊ฒƒ ๊ฐ™๋‹ค. ๋Œ€์‹  ์ „์ฒด ๋ฐฑ์ด๋‚˜ ์ „์ฒด ํ”„๋ก ํŠธ๋ฅผ ๊ณ„์† ๋‹ด๋‹นํ•˜๊ฒŒ๋” ํ•˜๋Š”๊ฑด ํ•™์Šต๊ธฐํšŒ๊ฐ€ ๋ฐ•ํƒˆ๋œ๋‹ค๋Š” ๋ฉด์—์„œ ์ข‹์ง€ ์•Š๋‹ค๊ณ  ์ƒ๊ฐํ•œ๋‹ค.

    ๋ฐฑ ํ”„๋ก ํŠธ๋Š” API๊ฐ€ ๋ช…ํ™•ํ•˜๊ฒŒ ์ •ํ•ด์žˆ๋Š” ์ƒํƒœ์—์„œ task๊ฐ€ ๋‚˜๋ˆ ์ง€๊ณ , ์ด๊ฑธ ์ž์œ ๋กญ๊ฒŒ ํŒ€์›๋“ค์ด ์žก๊ณ  ๊ตฌํ˜„์— ๋“ค์–ด๊ฐˆ ์ˆ˜ ์žˆ๋„๋ก ํ•˜๋ฉด ๋ ๋“ฏ. ๊ทธ๋ฆฌ๊ณ  ์ „์ฒด ํ†ต์ผ์„ฑ์„ ๋‹ด๋‹นํ•˜๋Š” ๋‹ด๋‹น์ž๋Š” ํŒ€์›์—๊ฒŒ ํ•˜๋‚˜์”ฉ ๋ถ€์—ฌ๋˜์–ด์•ผํ•  ๋“ฏ.

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

    ๊ฒฝ์šฐ์˜ ์ˆ˜!

    1. ๋‹ค๋ฅธ ๋ชจ๋“ˆ์— ์˜ํ–ฅ์ด ๊ฐ€๋Š” ๊ฒƒ '๋ฌด์—‡์„'์— ๊ด€๊ณ„๋œ ๋™์ž‘๋“ค๊ณผ ๋‹ค๋ฅธ ์ฝ”๋“œ๊ฐ€ ๊ตฌํ˜„๋˜๋Š” ๊ธฐ๋ณธ๊ตฌ์กฐ๋“ค-DB ๊ตฌ์กฐ, HTML ๊ตฌ์กฐ

    2. ๋‹ค๋ฅธ ๋ชจ๋“ˆ์— ์˜ํ–ฅ์ด ๊ฐ€์ง€ ์•Š๋Š” ๊ฒƒ '์–ด๋–ป๊ฒŒ'์— ๊ด€๊ณ„๋œ ๋™์ž‘๋“ค

๋งŒ์•ฝ ํ”„๋กœ์ ํŠธ ๋งค๋‹ˆ์ €๋ฅผ ๋‘”๋‹ค๋ฉด? ์ด ์‚ฌ๋žŒ์ด ํ•˜๋Š” ์—ญํ• ์€?

  • task ์šฐ์„ ์ˆœ์œ„ ์ •ํ•ด์„œ ๋ถ„๋ฐฐ ์—ญํ• ?

    • yohai: ์ด๊ฑด ๊ฒฝํ—˜๊ณผ ์‹ค๋ ฅ์ด ์žˆ๋Š” ์‚ฌ๋žŒ์ด์–ด์•ผ ์˜๋ฏธ์žˆ๊ฒŒ ํ•  ์ˆ˜ ์žˆ์„ ๊ฒƒ ๊ฐ™๋‹ค. ์•„๋ž˜ ๋‘ ์—ญํ• ์„ ํ•˜๋Š” ์‚ฌ๋žŒ์ด ํ”„๋กœ์ ํŠธ ๋งค๋‹ˆ์ €๊ฐ€ ์•„๋‹๊นŒ.

      • ์ตœ์ข… ๊ฒ€ํ† ์ž ์—ญํ• 

      • ์–ด๋–ค ๋ชจ๋“ˆ์„ ์ถ”๊ฐ€ํ•ด์•ผํ•  ๋•Œ ์ถ”๊ฐ€ํ•ด๋„ ๋  ๊ฒƒ ๊ฐ™๋‹ค๋Š” ์˜์‚ฌ๊ฒฐ์ •์˜ ์—ญํ• 

    • eunhkim: ์—ญํ•  ๋ถ„๋ฐฐ๋Š” 42์Šค๋Ÿฝ์ง€ ์•Š์€ ๊ฒƒ ๊ฐ™๋‹ค. ํ•˜๊ณ  ์‹ถ์€ ํŒŒํŠธ๋ฅผ ๊ฐœ๋ฐœํ•˜๋„๋ก ํ•˜๋Š” ๊ฒƒ์ด 42 ์Šค๋Ÿฌ์›€์˜ ์ตœ์ข… ๋ชจ๋“ˆ๋กœ ๋ณด์ธ๋‹ค.

  • ๊ฒฐ์ •๊ถŒ์„ ๊ฐ€์ง„๋‹ค?

    • ์˜๊ฒฌ์ถฉ๋Œ ๋‚  ๋ฒ•ํ•œ ๊ฒƒ๋“ค์„ ๊ทธ๋ƒฅ ๊ฒฐ์ •ํ•ด๋ฒ„๋ฆด ์ˆ˜ ์žˆ๋‹ค.

    • ๋ญ”๊ฐ€ ๋‹ค๋ฅธ ๋ชจ๋“ˆ๊ณผ ํ˜‘์˜๋ฅผ ํ•ด์•ผํ•˜๋Š”๊ฒŒ ์žˆ์œผ๋ฉด PM์—๊ฒŒ ๋ฌผ์–ด๋ณธ๋‹ค.

  1. ๊ธฐ์กด์˜ ํšŒ์˜๋ฅผ ํ†ตํ•ด ์˜์‚ฌ๊ฒฐ์ •ํ•˜๋Š” ๋ฐฉ์‹-๋ฌธ์ œ ์ƒ๊ฒผ์„ ๋•Œ, ๊ฑฑ์ •๋˜๋Š” ๊ฒƒ ์ƒ๊ธฐ๋ฉด ํšŒ์˜์‹œ๊ฐ„ ๊ธฐ๋‹ค๋ ค์„œ ๋‹ค์ˆ˜๊ฒฐ๋กœ ์ •ํ•ด์„œ ๊ฐœ๋ฐœํ•˜๋Š” ๋ฐฉ์‹-์„ ์œ ์ง€ํ•ด๋„ ๋ฌธ์ œ๊ฐ€ ์—†๋‹ค๊ณ  ์ƒ๊ฐํ•˜๋Š”์ง€ ์ผ๋‹จ ๊ถ๊ธˆํ•˜๋‹ค.

    • yohai: ๋Šฆ์–ด์ง€๋Š” ๊ฒƒ์€ ์‚ฌ์‹ค ์ƒ๊ด€์—†๋‹ค. ํ”„๋กœ์ ํŠธ๋ฅผ ๋งŽ์ด ์•ˆํ•ด๋ด์„œ ๋ญ๋ฅผ ๋” ์„ ํ˜ธํ•˜๊ณ  ์ด๋Ÿฐ ๊ฒƒ์€ ์ •ํ•ด์ ธ์žˆ์ง€๋Š” ์•Š๋‹ค. ๊ทธ๋Ÿฐ๋ฐ ์ง€๊ธˆ ์€ํœผ๋‹˜์ด ๋ง์”€ํ•˜์‹  ๊ฒƒ์ฒ˜๋Ÿผ ์ด์ œ ํ•˜๋ฃจ์— ๊ฐ€์žฅ ๋งŽ์€ ์‹œ๊ฐ„์„ ์“ฐ๋Š” ์ผ์ด๊ธฐ ๋•Œ๋ฌธ์— ํŒ€์›๋ถ„๋“ค์˜ ๊ฐ์ •์„ ์ถฉ์กฑ์‹œํ‚ค๋Š”๊ฒŒ ์šฐ์„ ์ด๋ผ๊ณ  ์ƒ๊ฐ์„ํ•ด์„œ ๋‹ค๋ฅธ ๋ถ„๋“ค์ด ์›ํ•˜์‹œ๋Š” ๋ฐฉ๋ฒ•์ด ์žˆ์œผ๋ฉด ์ถฉ๋ถ„ํžˆ ๋”ฐ๋ฅผ ์ˆ˜ ์žˆ๋‹ค. (์„ ํ˜ธ) + ์˜คํ”„๋ผ์ธ์œผ๋กœ ํ•˜๊ณ  ์‹ถ๋‹ค..

    • sanam: 1~3์ผ๋งˆ๋‹ค ํšŒ์˜๋ฅผ ํ•˜๋Š” ๊ฒƒ์€ ๋งž๋‹ค๊ณ  ์ƒ๊ฐํ•˜์ง€๋งŒ ํšŒ์˜๊ฐ€ ๋„ˆ๋ฌด ๊ธธ์–ด์ง€๋ฉด ์•ˆ๋œ๋‹ค๊ณ  ์ƒ๊ฐํ•œ๋‹ค. ํšŒ์˜๊ฐ€ 10๋ถ„, 20๋ถ„ ๋‚ด๋กœ ๋๋‚˜์•ผํ•œ๋‹ค๊ณ  ์ƒ๊ฐํ•œ๋‹ค. ๊ทธ๋ฆฌ๊ณ  PM์˜ ์—ญํ• ์— ๋Œ€ํ•ด์„œ ์–˜๊ธฐ๋ฅผ ๋‚˜๋ˆด๋Š”๋ฐ, PM์˜ ์—ญํ• ์„ ์ƒ๊ฐ์„ ํ•ด๋ณด๋ฉด, DB, HTML/CSS ๊ฐ™์€ ๊ฒƒ๋“ค์— ๋Œ€ํ•œ ๊ด€๋ฆฌ๋ฅผ PM์ด ํ•˜๋ฉด ๋˜์ง€ ์•Š์„๊นŒ ์‹ถ๋‹ค. ๊ฒฐ๋ก ์ ์œผ๋กœ ํšŒ์˜๋กœ ๋ชจ๋“  ์•ˆ๊ฑด์„ ์ •ํ•˜๋Š” ๊ฒƒ์€ ์•„๋‹ˆ๋ผ๊ณ  ์ƒ๊ฐํ•œ๋‹ค. PM์ด ์กฐ์œจ์„ ํ•ด์•ผํ•œ๋‹ค๊ณ  ์ƒ๊ฐํ•œ๋‹ค. (๋ฐ˜๋Œ€)

    • jujeong: ์ฐฌ์„ฑ(์„ ํ˜ธ)์ด๋‹ค. PM์ด ํ•„์š”ํ•œ ์ด์œ ๋Š” ์„ค๊ณ„์™€ ๊ตฌ์„ฑ์ด ๋‹ค๋ฅธ ๋ฌธ์ œ๊ฐ€ ์ƒ๊ฒผ์„ ๋•Œ PM์ด ์˜์‚ฌ๊ฒฐ์ •์„ ํ•ด์ค„ ์ˆ˜ ์žˆ์„ ๊ฒƒ์ด๋‹ค. ๊ทธ๋Ÿฐ๋ฐ ๋ฌธ์ œ๊ฐ€ ๋ฐœ์ƒํ•˜๋ฉด ๋ฌธ์ œ๋ฅผ ๋ฐœ์ƒ์‹œํ‚จ ๊ตฌ์„ฑ์›๊ณผ ๊ด€๋ จ๋œ ๋ชจ๋“ˆ์˜ ๊ตฌ์„ฑ์›๊ณผ ์–ด์ฐจํ”ผ ํšŒ์˜๋ฅผ ํ•ด์•ผํ•˜์ง€ ์•Š๋‚˜. PM์ด ๋งˆ์Œ๋Œ€๋กœ ์ •ํ•  ์ˆ˜ ์—†๋Š” ๊ฒƒ ์•„๋‹Œ๊ฐ€. ๊ฐœ๋ฐœํ•˜๋‹ค๊ฐ€ ๋ฌธ์ œ๊ฐ€ ์ƒ๊ธฐ๋ฉด ์—ฐ๊ด€๋œ ๋ชจ๋“ˆ์˜ ๊ฐœ๋ฐœ์ž์™€ ๋Œ€ํ™”๋ฅผ ๋‚˜๋ˆ ์„œ ํ•ด๊ฒฐํ•ด๋ณด๊ณ , ํšŒ์˜์‹œ๊ฐ„ ๋•Œ ์ƒ๊ฒผ๋˜ ์ด์Šˆ์™€ ํ•ด๊ฒฐ ๋“ฑ์„ ๊ณต์œ ํ•ด์•ผํ•  ๊ฒƒ ๊ฐ™๋‹ค.

    • eunhkim: ๋ฐ˜๋Œ€. PM์„ ๋‘ฌ์•ผํ•œ๋‹ค. ํšŒ์˜๋ฅผ ๋ฌด์กฐ๊ฑด ๊ฑฐ์นœ๋‹ค๋ฉด ์ปค๋ฎค๋‹ˆ์ผ€์ด์…˜ ๋น„์šฉ์ด ๋„ˆ๋ฌด ๋งŽ์•„์งˆ ๊ฒƒ ๊ฐ™๋‹ค. jujeong๋‹˜ ์–˜๊ธฐํ•˜์‹  ๊ฒƒ์— ์ด์–ด์„œ ์–˜๊ธฐํ•œ๋‹ค๋ฉด, ์—ฐ๊ด€๋œ ๋ชจ๋“ˆ๋งŒ์˜ ๋ฌธ์ œ๊ฐ€ ์žˆ์„ ์ˆ˜ ์žˆ๊ธฐ ๋•Œ๋ฌธ์ด๋‹ค. ํŠน์ • ๋ชจ๋“ˆ๊ณผ ๋ถ€๋”›์น˜์ง€ ์•Š๋Š” ๋ฌธ์ œ์— ๋Œ€ํ•œ ์˜์‚ฌ๊ฒฐ์ •์„ ๋น ๋ฅด๊ฒŒ ํ•ด์•ผํ•  ํ•„์š”๊ฐ€ ์žˆ๋‹ค. ํšŒ์˜ํ•  ๋•Œ ์–˜๊ธฐํ•ด์•ผํ•  ๊ฒƒ์ด ๋งŽ์€ ๊ฒƒ์ด ๋ณด์ด๋Š”๋ฐ, ๋„ˆ๋ฌด ํ˜ผ์ž์„œ ์–˜๊ธฐ๋ฅผ ํ•˜๋Š” ๊ฒƒ์ด ์ข‹๋‹ค๊ณ  ์ƒ๊ฐํ•˜์ง€ ์•Š๋Š”๋‹ค. ๋‚˜๋Š” ๋‚ด ์ž…์žฅ์—์„œ๋Š” ์šฐ๋ฆฌ ํ”„๋กœ์ ํŠธํ•˜๋Š”๋ฐ ์ด์Šˆ๊ฐ€ ์žˆ์–ด์„œ ์–˜๊ธฐ๋ฅผ ํ•˜๋Š”๊ฑด๋ฐ ๋ณธ์˜์•„๋‹ˆ๊ฒŒ ๋น…๋งˆ์šฐ์Šค๊ฐ€ ๋˜๋Š” ๊ฒƒ์ด ์ŠคํŠธ๋ ˆ์Šค๋ฅผ ๋ฐ›๋Š”๋‹ค. ๊ฒฐ๊ณผ์ ์œผ๋กœ ๋‚ด ์˜๊ฒฌ์ด ์ฑ„ํƒ๋˜๋ฉด ์˜ํ–ฅ๋ ฅ์„ ๊ณผ๋„ํ•˜๊ฒŒ ๋ผ์น˜๊ฒŒ ๋˜๋Š” ๊ฒƒ ๊ฐ™์•„์„œ ๋ถ€๋‹ด์Šค๋Ÿฝ๋‹ค.

    • iwoo: ๋น„์„ ํ˜ธ. ์ด๋Œ€๋งค๋Š” ์‚ฌ๋žŒ ์—†๋Š” ํšŒ์˜๋Š” ๋ชฉ์ ์—†๋Š” ํšŒ์˜๋กœ ๋ณ€์งˆ๋˜๊ธฐ ์‹ถ๋‹ค. PM์„ ๋‘์ž. ์ด๋Œ€๋ฅผ ๋งค๋Š” ์‚ฌ๋žŒ์ด ์žˆ์–ด์•ผํ•œ๋‹ค๋Š” ๊ฒƒ์€ ๋™์˜ํ•œ๋‹ค. ๋Œ€์‹  PM์ด ๋‹ค๋ฅธ ๊ตฌ์„ฑ์›๋“ค์„ ์„ค๋“์‹œํ‚ค๋ ค๋Š” ๋…ธ๋ ฅ์ด ์žˆ์œผ๋ฉด ๊ดœ์ฐฎ์„ ๊ฒƒ ๊ฐ™๋‹ค. ๊ทธ๋ ‡์ง€ ์•Š์œผ๋ฉด ๊ฐ์ •์ ์œผ๋กœ ๋ฌธ์ œ๊ฐ€ ์ƒ๊ธธ ๊ฒƒ ๊ฐ™๊ณ , ๋น ๋ฅด๊ฒŒ ๊ฐœ๋–ก๊ฐ™์€ ํŒ๋‹จ์„ ๋‚ด๋ฆฌ๋Š” ๋ฌธ์ œ๊ฐ€ ์ƒ๊ธธ ์ˆ˜ ์žˆ์„ ๊ฒƒ ๊ฐ™๋‹ค. ๋ณ„๊ฐœ๋กœ ์ •๊ธฐ์ ์œผ๋กœ ๋ธŒ๋ฆฌํ•‘์„ ํ•˜๋Š” ์‹์œผ๋กœ ์ด์Šˆ๊ฐ€ ๊ณต์œ ๋˜๋Š” ์ž๋ฆฌ๊ฐ€ ์žˆ์œผ๋ฉด ์ข‹๊ฒ ๋‹ค.

    • eunhkim: ๊ทธ๋Ÿฌ๋ ค๋ฉด ์„ค๋“์— ๋Œ€ํ•ด์„œ ๋ชจ๋‘๊ฐ€ ๋™์˜ํ•˜๋Š” ๊ฐ€์น˜๊ฐ€ ์žˆ์–ด์•ผํ•  ๊ฒƒ์ด๋‹ค.

  2. ๊ธฐ์กด์˜ ํšŒ์˜๋ฅผ ๋น„์„ ํ˜ธ ํ•˜๋Š” ์‚ฌ๋žŒ์ด ๋‹ค์ˆ˜๊ฒฐ์ด๋‹ค. ๊ทธ๋Ÿผ ์–ด๋–ป๊ฒŒ ํ•ด๊ฒฐํ• ๊นŒ?

    • ํšŒ์˜๋Š” ์ •๊ธฐ์ ์œผ๋กœ๋Š” ์žˆ์–ด์•ผํ•œ๋‹ค.

    • PM์„ ๋‘์ž.

    • ๋ชจ๋‘๊ฐ€ ๋™์˜ํ•˜๋Š” ๊ฐ€์น˜๋ฅผ ์ •ํ•ด๋†“๊ณ  ์‹œ์ž‘ํ•˜์ž.

    • ์„ธ๋ถ€ ์‚ฌํ•ญ ๐Ÿ‰

      • ๋ชจ๋‘๊ฐ€ ๋™์˜ํ•˜๋Š” ๊ฐ€์น˜(์„œ๋ธŒ์ ํŠธ, ์‹ ์†์„ฑ, ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ vs ์ง์ ‘ ๊ตฌํ˜„, ๋‹จ์ˆœ์„ฑ, ์ผ๊ด€์„ฑ, ํ…Œ์ŠคํŠธ ์ž‘์„ฑ๊ณผ ์˜ˆ์™ธ์ฒ˜๋ฆฌ, ํ†ต์ œ๊ฐ€๋Šฅ์„ฑ ...)

        • ์„œ๋ธŒ์ ํŠธ(Restful ํฌํ•จ)

        • ์‹ ์†์„ฑ

        • ์•ˆ์ •์„ฑ(์˜ˆ์™ธ ์ฒ˜๋ฆฌ)

        • ๊ฐ€๋…์„ฑs

        • ๊ตฌ์„ฑ์›์˜ ๋งŒ์กฑ

        • ๋‹จ์ˆœ์„ฑ

        • ์ผ๊ด€์„ฑ

        • ์ทจ์—…์— ์ ์šฉ๊ฐ€๋Šฅ์„ฑ

        • ํ•™์Šต ๊ฐ€๋Šฅ์„ฑ

        • ํ†ต์ œ ๊ฐ€๋Šฅ์„ฑ

        • ๊ฐ์ฒด์ง€ํ–ฅ์„ฑ

      • PM์˜ ์—ญํ• 

        • DB ๋งˆ์ด๊ทธ๋ ˆ์ด์…˜ ๊ด€๋ฆฌ์ž, HTML/CSS ๊ด€๋ฆฌ์ž ๋“ฑ๋“ฑ

      • PM์€ ๋ˆ„๊ฐ€ ํ•  ๊ฒƒ์ธ๊ฐ€

      • ํšŒ์˜ ์‹œ๊ฐ„

      ใ…‡ใ…‹ใ…‡ใ…‹๋‹ค๋“ค ํŒŒ์ดํŒ…~!! ๐Ÿ‘ ๐Ÿ™‹๐Ÿปโ€โ™‚๏ธ ๐Ÿ˜บ

      • iwoo: ๋ฐฑ๋ณธ ์ถ”๊ฐ€ ํ•™์Šต๊ณผ ๋”๋ถˆ์–ด wpark๋‹˜ ์ฝ”๋“œ๋ฅผ ๋ณด๊ณ  ๊ตฌ์กฐ๋ฅผ ์ƒ๊ฐํ•ด๋ณด๊ฒ ๋‹ค.

      • sanam: semantic UI ํ•™์Šตํ•  ๊ฒƒ์ด๋‹ค.

      • eunhkim: activeAdmin ๊ณต๋ถ€ํ•  ๊ฒƒ์ด๋‹ค. ์žฅ๊ณ  ์–ด๋“œ๋ฏผ์ฒ˜๋Ÿผ ๊ด€๋ฆฌ์žํŽ˜์ด์ง€๋ฅผ ๋ฐ”๋กœ ๋งŒ๋“œ๋Š” ๊ฒƒ์„ ํ•™์Šตํ•ด๋ณผ ๊ฒƒ์ด๋‹ค. ์ฝ˜์†” ์•ˆ๋“ค์–ด๊ฐ€๊ณ  ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค ๋‚ด์šฉ์„ ๋ฐ”๋กœ GUI๋กœ ๋ณด๊ณ  ์ฒ˜๋ฆฌํ•  ์ˆ˜ ์žˆ๋‹ค.

        ๋‚˜๋จธ์ง€๋Š” gem list๋ฅผ ๋ณด๋ฉด์„œ ์ ์šฉํ•  ์ˆ˜ ์žˆ๋Š” gem์ด ์žˆ๋Š”์ง€ ํ™•์ธํ•ด๋ณด๊ฒ ๋‹ค.

      • yohan: SPA ์ฑ…์„ ๋นŒ๋ ค์™€์„œ ์ฝ์–ด๋ณผ ์ƒ๊ฐ์ด๋‹ค.

      • jujeong: ๋ฐฑ๋ณธ๊ณผ ์ž๋ฐ”์Šคํฌ๋ฆฝํŠธ๋ฅผ ๋‹ค์‹œ ํ•œ๋ฒˆ ๋ด์•ผํ•  ๊ฒƒ ๊ฐ™๋‹ค. ์ง์ ‘ํ•ด๋ณด๋‹ˆ๊นŒ ์ž˜ ์ƒ๊ฐ๋„ ์•ˆ๋‚˜๊ณ  ํ•ด์„œ ๋ณต์Šต์ด ํ•„์š”ํ•  ๊ฒƒ ๊ฐ™๋‹ค.

ํ•™์Šต ๋‚ด์šฉ์— ๋Œ€ํ•œ ๊ฐœ์ธ์ ์ธ ์ดํ‰

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

๋ถˆํ•„์š”ํ•œ ์˜์‚ฌ๊ฒฐ์ • ์ง€์—ฐ์„ ์ค„์ด๊ณ  ๋ฐฉํ–ฅ์„ ์ œ๋Œ€๋กœ ์œ ์ง€ํ•˜๊ธฐ ์œ„ํ•ด 1) ๋ชจ๋‘๊ฐ€ ๋™์˜ํ•˜๋Š” ๊ฐ€์น˜๋ฅผ ์ •ํ•˜๊ณ  2) PM ์—ญํ• ์„ ํ•˜๋Š” ์‚ฌ๋žŒ์„ ์ •ํ•˜๊ธฐ๋กœ ํ–ˆ๋‹ค. ๋ชจ๋‘๊ฐ€ ๋™์˜ํ•˜๋Š” ๊ฐ€์น˜๊ฐ€ ๋ช…ํ™•ํžˆ ์ •ํ•ด์ง€๋ฉด PM ์—ญํ• ์ด ๋ถˆํ•„์š”ํ•˜๋‹ค๊ณ  ์ƒ๊ฐํ•  ์ˆ˜๋„ ์žˆ๊ฒ ์ง€๋งŒ, ๊ทธ๋Ÿผ์—๋„ PM์€ ์žˆ์–ด์•ผํ•œ๋‹ค๊ณ  ์ƒ๊ฐํ•œ๋‹ค. ๋ฌด์Šจ ์ผ์ด๋“  '์ฑ…์ž„ ์ง€๋Š” ํ•œ ์‚ฌ๋žŒ'์ด ์žˆ์–ด์•ผ ์ œ๋Œ€๋กœ ๋Œ์•„๊ฐ„๋‹ค๊ณ  ๋ฏฟ๋Š”๋‹ค. ๊ทธ๋ž˜์•ผ '์ฑ…์ž„ ์ง€๋Š” ํ•œ ์‚ฌ๋žŒ'์ด ์ผ์ด ๋˜๊ฒŒ ๋งŒ๋“ค๊ธฐ ๋งˆ๋ จ์ด๊ธฐ ๋•Œ๋ฌธ์ด๋‹ค.

๋‹ค์Œ ํ•™์Šต ๊ณ„ํš

  • Backbone์˜ sub-view ๊ด€๋ฆฌ ๋ฐฉ๋ฒ• ํ™•์ธ

  • ํ˜‘์—… ๊ทœ์น™ ๋“ฑ ๊ด€๋ฆฌํ•˜๋Š”๋ฐ ํ•„์š”ํ•œ ํˆด ์ •ํ•ด๋ณด๊ธฐ

Last updated