Giter VIP home page Giter VIP logo

vanilla-todo-15th's Introduction

https://vanilla-todolist-js.vercel.app/

๐Ÿ”ฅ ๊ฐœ์š”

์•ˆ๋…•ํ•˜์„ธ์š”. CEOS 15๊ธฐ ํ”„๋ก ํŠธ ์ตœ์–ด์ง„์ž…๋‹ˆ๋‹ค.
ํ”„๋ก ํŠธ ์Šคํ„ฐ๋”” ์ฒซ ๊ณผ์ œ๋Š” <Vanilla-Todo - ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ ๋„์›€ ์—†์ด HTML, CSS, Javascript๋กœ๋งŒ To-Do ๋ฆฌ์ŠคํŠธ ๋งŒ๋“ค์–ด ๋ณด๊ธฐ> ์˜€์Šต๋‹ˆ๋‹ค. ๋ฆฌ์•กํŠธ ๊ฐ™์€ JS ๊ธฐ๋ฐ˜ ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ๋ฅผ ์‚ฌ์šฉํ•  ๋•Œ๋งˆ๋‹ค ๋ชจ๋ฅด๋Š” ๋ถ€๋ถ„์€ ๋ฎ์–ด๋‘๊ณ  ํŽธ๋ฆฌํ•จ์—๋งŒ ์˜์กดํ•˜๋Š” ๊ฒƒ ๊ฐ™์•„ ์ฐœ์ฐœํ–ˆ์—ˆ๋Š”๋ฐ ๋งˆ์นจ ์ข‹์€ ๊ธฐํšŒ๋ผ๊ณ  ์ƒ๊ฐํ–ˆ์Šต๋‹ˆ๋‹ค.

โœจ ์ฝ˜์…‰ํŠธ

์ฒ˜์Œ์—๋Š” dribbble์— ์Šคํฌ๋žฉ ํ•ด ๋†จ๋˜ To-Do ๋ฆฌ์ŠคํŠธ ๋””์ž์ธ ์ค‘ ํ•˜๋‚˜๋ฅผ ๊ณจ๋ผ ๋ ˆ์ด์•„์›ƒ์„ ๊ตฌ์„ฑํ•ด ๋ณผ๊นŒ ์‹ถ์—ˆ๋Š”๋ฐ, ํ‰์†Œ์— ๊ฐ€์žฅ ๋งŽ์ด ์“ฐ๋Š” To-Do ๋ฆฌ์ŠคํŠธ๊ฐ€ ๋ญ˜๊นŒ ์ƒ๊ฐํ•˜๋‹ค๊ฐ€ IOS์˜ ๋ฉ”๋ชจ ์•ฑ์„ ๋ชจํ‹ฐ๋ธŒ๋กœ ํ•ด์„œ UI๋ฅผ ๊ตฌ์„ฑํ–ˆ์Šต๋‹ˆ๋‹ค.

๐Ÿงญ ๊ฐœ๋ฐœ ์ˆœ์„œ

์ด๋Ÿฌํ•œ ์ˆœ์„œ๋กœ ๊ฐœ๋ฐœ ์ˆœ์„œ๋ฅผ ๊ตฌ์„ฑํ–ˆ์Šต๋‹ˆ๋‹ค.

  1. ์ „์ฒด ํ™”๋ฉด์—์„œ To-Do ๋ฆฌ์ŠคํŠธ์™€ ์ด๋ฅผ ์ œ์™ธํ•œ ๋ถ€๋ถ„์˜ ๋ ˆ์ด์•„์›ƒ ๋‚˜๋ˆ„๊ธฐ
  2. ํ™”๋ฉด์„ ๊ตฌ์„ฑํ•˜๋Š” ์š”์†Œ๋“ค์„ Style Sheet๋กœ ๊พธ๋ฏธ๊ธฐ
  3. ์‹ฑ๊ธ€ To-Do ๋ฆฌ์ŠคํŠธ ์ถ”๊ฐ€ ๋ฐ ์‚ญ์ œ ๊ธฐ๋Šฅ ๊ตฌํ˜„ํ•˜๊ธฐ
  4. ๋ฆฌ์ŠคํŠธ์— ์†ํ•œ ์ผ์ • ๊ฐœ์ˆ˜ ์„ธ๊ธฐ
  5. ๋ฆฌ์ŠคํŠธ ๊ฐ„ ์š”์†Œ ํด๋ฆญ ์‹œ ์ƒํ˜ธ ์ž‘์šฉ์œผ๋กœ ๋„˜์–ด๊ฐˆ ์ˆ˜ ์žˆ๋„๋ก ๊ตฌํ˜„ํ•˜๊ธฐ
  6. localStorage๋ฅผ ์ด์šฉํ•œ ์ €์žฅ ๋ฐ ๋ถˆ๋Ÿฌ์˜ค๊ธฐ ๊ตฌํ˜„ํ•˜๊ธฐ

๐Ÿคฌ ์”ฝํ‚น ๋ชจ๋จผํŠธ

(1) Style Sheet๋ฅผ ํ†ตํ•ด ๊ทœ์น™์„ ์ž‘์„ฑํ•  ๋•Œ์˜ ์ฃผ์˜ํ•  ์ 

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

(2) Git Commit Message์— ๋Œ€ํ•œ Convention Rule

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

๐Ÿง KEY QUESTIONS

DOM์€ ๋ฌด์—‡์ธ๊ฐ€์š”?

DOM์„ ํ’€์–ด ์“ฐ๋ฉด Document Object Model์ž…๋‹ˆ๋‹ค.
๊ทธ ์ „๊นŒ์ง€๋Š” ๋‹จ์ˆœํžˆ HTML์˜ ํƒœ๊ทธ ๋ฐ ๋‚ด์šฉ ๊ตฌ์„ฑ์„ Javascript ๋“ฑ์—์„œ ์ ‘๊ทผํ•ด ๋ณ€๊ฒฝํ•˜๋Š” ๋ฐฉ๋ฒ•, ํ˜น์€ ๊ทธ ๊ณผ์ •์—์„œ์˜ ์–ด๋– ํ•œ ๊ตฌ์กฐ๋ฅผ ๋งํ•˜๋Š” ์šฉ์–ด๋กœ๋งŒ ๋ชจํ˜ธํ•˜๊ฒŒ ์ƒ๊ฐํ–ˆ์—ˆ๋Š”๋ฐ ์กฐ๊ธˆ์ด๋‚˜๋งˆ ๋” ์ •ํ™•ํ•œ ํ‘œํ˜„์€ HTML ๋ฌธ์„œ์— ๋Œ€ํ•œ ์ธํ„ฐํŽ˜์ด์Šค๋ผ๊ณ  ๋‚˜ํƒ€๋‚ผ ์ˆ˜ ์žˆ์ง€ ์•Š์„๊นŒ ์‹ถ์Šต๋‹ˆ๋‹ค.

HTML (tag) Element๋ฅผ JavaScript๋กœ ์ƒ์„ฑํ•˜๋Š” ๋ฐฉ๋ฒ•์€ ์–ด๋–ค ๊ฒƒ์ด ์žˆ๊ณ , ์–ด๋–ค ๋ฐฉ๋ฒ•์ด ๊ฐ€์žฅ ์ ํ•ฉํ• ๊นŒ์š”?

  1. createElement

createElement ํ•จ์ˆ˜๋ฅผ ํ†ตํ•ด ์ƒˆ๋กœ์šด Element ๊ฐ์ฒด๋ฅผ ์ƒ์„ฑํ•˜๋Š” ๊ฒฝ์šฐ๋Š” ๊ฐ€์žฅ ๊ฐ„๋‹จํ•˜๊ณ  ์‰ฝ๊ฒŒ ๊ฐ–๋‹ค ์“ธ ์ˆ˜ ์žˆ๊ฒŒ ์ƒ๊ฒผ์ง€๋งŒ ๋‚ด๋ถ€์ ์œผ๋กœ DOM ํŠธ๋ฆฌ๋ฅผ ํƒ์ƒ‰ํ•˜๋Š” ๋ฐ ์„ฑ๋Šฅ ์ €ํ•˜๊ฐ€ ๋ฐœ์ƒํ•œ๋‹ค๊ณ  ํ•ฉ๋‹ˆ๋‹ค.

  1. insertAdjacentHTML

์œ„์˜ createElement๊ฐ€ ํƒœ๊ทธ์™€ ๊ฐ’์„ ๋…ธ๋“œ ํ˜•ํƒœ๋กœ ์ „๋‹ฌํ•ด ํ˜ธ์ถœํ•œ๋‹ค๋ฉด, ํ…œํ”Œ๋ฆฟ ๋ฆฌํ„ฐ๋Ÿด์„ ์ด์šฉํ•ด ์ง์ ‘ ํƒœ๊ทธ ํ˜•ํƒœ ๊ทธ ์ž์ฒด๋กœ ์‚ฝ์ž…ํ•˜๋Š” ํ•จ์ˆ˜์ธ ๊ฒƒ ๊ฐ™์Šต๋‹ˆ๋‹ค.
๋ฐ˜๋ณต๋˜๋Š” ํƒœ๊ทธ๋“ค์„ ์ƒ์„ฑํ•  ๋•Œ์˜ ๊ฐ€๋…์„ฑ์ด ์ข‹์ง€๋งŒ, XSS ๊ณต๊ฒฉ์— ๋Œ€ํ•œ ๋ณด์•ˆ ์ด์Šˆ๊ฐ€ ์žˆ๋Š” ๋“ฏ ํ•ฉ๋‹ˆ๋‹ค.....

  1. Document Fragment

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

Semantic tag์—๋Š” ์–ด๋–ค ๊ฒƒ์ด ์žˆ์œผ๋ฉฐ, ์ด๋ฅผ ์‚ฌ์šฉํ•˜๋Š” ์ด์œ ๋Š” ๋ฌด์—‡์ผ๊นŒ์š”?

image

Semantic Tag๋Š” HTML5 ํ‘œ์ค€ ์ดํ›„๋กœ ์ง€์›๋˜๋Š” ํƒœ๊ทธ๋“ค๋กœ์จ ํƒœ๊ทธ ๊ทธ ์ž์ฒด๊ฐ€ ๋ช…ํ™•ํ•˜๊ฒŒ ๊ธฐ๋Šฅ์„ ๋‚˜ํƒ€๋‚ธ๋‹ค๋Š” ์ ์ด ํŠน์ง•์ž…๋‹ˆ๋‹ค.
์ด๋ฅผ ์‚ฌ์šฉํ•˜๋Š” ๊ฒฝ์šฐ, ์ฝ”๋“œ ์ „์ฒด์˜ ๊ฐ€๋…์„ฑ์ด ๋†’์•„์ง„๋‹ค๋Š” ์ ์ด ์ฃผ์š”ํ•œ ์žฅ์ ์ด๋ผ๊ณ  ํ•˜๋Š”๋ฐ ๋‹น์žฅ ์ด๋ฒˆ ๊ณผ์ œ๋ฅผ ์ˆ˜ํ–‰ํ•˜๋ฉด์„œ๋„ ํด๋ž˜์Šค ์†์„ฑ ๋„ค์ด๋ฐ ๊ทœ์น™์„ ๋‘˜๋Ÿฌ๋ณด๊ณ  ๋˜ ํ—ท๊ฐˆ๋ ธ๋˜ ๊ฒฝํ—˜์ด ์žˆ์–ด์„œ ์œ ์šฉํ•จ์ด ์™€ ๋‹ฟ๋Š” ๋Š๋‚Œ์ž…๋‹ˆ๋‹ค.

Flexbox Layout์€ ๋ฌด์—‡์ด๋ฉฐ, ์–ด๋–ป๊ฒŒ ์‚ฌ์šฉํ•˜๋‚˜์š”?

ํ™”๋ฉด์˜ ๋ ˆ์ด์•„์›ƒ์„ ๊ฐ ์š”์†Œ ๊ฐ„ ์ฐจ์ง€ํ•˜๋Š” ๋น„์œจ๋กœ ๊ตฌ์„ฑํ•˜๋Š” ๋ฐฉ๋ฒ•์ž…๋‹ˆ๋‹ค.
๋ถ€๋ชจ ์š”์†Œ์—์„œ display: flex;๋ฅผ ์ง€์ •ํ•œ ํ›„ ์ž์‹ ์š”์†Œ๋“ค์—์„œ flex: 1;, flex: 3; ๋“ฑ์˜ ๋น„์œจ๋กœ ๊ฐ ์š”์†Œ๊ฐ€ ์ฐจ์ง€ํ•˜๋Š” ์˜์—ญ์„ ์ •ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.
์ด ๋•Œ, flex-direction์ด๋‚˜ justify-content ๋“ฑ์˜ ์†์„ฑ์„ ์ ์šฉํ•˜๋ฉด ๋‹ค์–‘ํ•œ ๋ฐฉ์‹์˜ ๋ ˆ์ด์•„์›ƒ์„ ๊ตฌ์„ฑํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

๊ฐœ์ธ์ ์œผ๋กœ react native์—์„œ ๋ ˆ์ด์•„์›ƒ์„ ๊ตฌ์„ฑํ•  ๋•Œ ๊ฐ View๋งˆ๋‹ค backgroundColor ํ•˜๋‚˜์”ฉ ์ •ํ•ด ๋†“๊ณ  flex ๋น„์œจ ์กฐ์ •ํ•˜๋‹ค ๋ณด๋ฉด ๋จธ๋ฆฌ๋ฅผ ๊บผ๋‚ด๋†“๊ณ  ์ฝ”๋”ฉํ•  ์ˆ˜ ์žˆ์–ด์„œ ์ฆ๊ฒจ ์“ฐ๋˜ ๋ฐฉ๋ฒ•์ด์—ˆ๋Š”๋ฐ ์ด๋ฒˆ์— ๊ณผ์ œ ํ•˜๋ฉด์„œ CSS์—์„œ background์™€ background-color๊ฐ€ ์‚ด์ง ํ—ท๊ฐˆ๋ฆฌ๋Š” ๊ด€๊ณ„๋กœ ์ข€ ๋” ๊ฒ€์ƒ‰ํ•ด ๋ณด๋ ค๊ณ  ํ•ฉ๋‹ˆ๋‹ค.

JavaScript๊ฐ€ ๋‹ค๋ฅธ ์–ธ์–ด๋“ค์— ๋น„ํ•ด ์ฃผ๋ชฉํ•  ๋งŒํ•œ ์ ์—๋Š” ์–ด๋–ค ๊ฒƒ๋“ค์ด ์žˆ๋‚˜์š”?

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

์ฝ”๋“œ์—์„œ ์ฃผ์„์„ ๋‹ค๋Š” ๋ฐ”๋žŒ์งํ•œ ๋ฐฉ๋ฒ•์€ ๋ฌด์—‡์ผ๊นŒ์š”?

์‚ฌ์‹ค ์ฃผ์„์„ ๋‹ค๋Š” ์˜ฌ๋ฐ”๋ฅธ ๋ฐฉ๋ฒ•์— ๋Œ€ํ•ด์„œ๋Š” ์Šค์Šค๋กœ ๋งํ•  ์ˆ˜ ์žˆ๋Š” ๊ฒŒ ์ ๋‹ค ์‹ถ์–ด์„œ ๊ตฌ๊ธ€๋ง์„ ํ†ตํ•ด Clean Code์˜ ์ผ๋ถ€ ๋‚ด์šฉ์„ ์ฐพ์•„๋ดค๋”๋‹ˆ, ์ด๋Ÿฐ ๋‚ด์šฉ๋“ค์ด ์žˆ์—ˆ์Šต๋‹ˆ๋‹ค.

๋ฐ”๋žŒ์งํ•œ ์ฃผ์„ ์ž‘์„ฑ ์Šต๊ด€

  1. ๋„ค์ด๋ฐ์—์„œ ์˜๋ฏธ๋ฅผ ์œ ์ถ”ํ•  ์ˆ˜ ์žˆ๋Š” ์ƒํ™ฉ์—์„œ๋Š” ๊ตณ์ด ๋ฌด๋ฆฌํ•œ ์ฃผ์„์€ ๋‹ฌ์ง€ ์•Š๊ธฐ
  2. ์•ž์œผ๋กœ ์˜ˆ์ •๋œ ์ž‘์—…์„ TODO ์ฃผ์„์œผ๋กœ ์„ค๋ช…ํ•˜๊ธฐ
  3. ์ž์นซ ๋Œ€์ˆ˜๋กญ์ง€ ์•Š๊ฒŒ ๋„˜์–ด๊ฐˆ ์ˆ˜ ์žˆ๋Š” ๋ณ€์ˆ˜ ๋“ฑ์„ ์ฃผ์„์œผ๋กœ ํ•œ ๋ฒˆ ๊ฐ•์กฐํ•˜๊ธฐ

๋ฐ˜๋ฉด์—, ๋ฐ”๋žŒ์งํ•˜์ง€ ์•Š์€ ์ฃผ์„ ์ž‘์„ฑ ์Šต๊ด€๋„ ์žˆ์—ˆ์Šต๋‹ˆ๋‹ค.

ํŒ€์›์„ ํ™”๋‚˜๊ฒŒ ๋งŒ๋“ค๊ธฐ ์ข‹์€ ์ฃผ์„ ์ž‘์„ฑ ์Šต๊ด€

  1. ๊ฐ™์€ ๋‚ด์šฉ์„ ์—ฌ๋Ÿฌ ๋ฒˆ์”ฉ์ด๋‚˜ ๋ฐ˜๋ณตํ•ด์„œ ์ฃผ์„ ์ž‘์„ฑํ•˜๊ธฐ
  2. ์•„๋ฌด ๊ฐ€์น˜๋„ ์—†์ง€๋งŒ ์˜๋ฌด์ ์œผ๋กœ ํ•ด ์˜ค๋˜ ๋Œ€๋กœ ์˜๋ฏธ์—†๋Š” ์ฃผ์„ ๋‹ฌ๊ธฐ (ex. javadocs)
  3. ํž˜์ด ์ญ‰ ๋น ์งˆ ์ •๋„๋กœ ๋„ˆ๋ฌด๋‚˜๋„ ๋‹น์—ฐํ•œ ์‚ฌ์‹ค ์ฃผ์„์œผ๋กœ ์–ธ๊ธ‰ํ•˜๊ธฐ
  4. ์ฃผ์„์œผ๋กœ ๊ฐ์‹ผ ์ฝ”๋“œ

4์˜ ๊ฒฝ์šฐ๋Š” ์ด์œ ๋ฅผ ๋“ฃ๊ณ  ๋ณด๋‹ˆ ๋‚ฉ๋“ํ•  ์ˆ˜ ์žˆ์—ˆ๋Š”๋ฐ, ๋” ์ด์ƒ ๊ฐ€์น˜๊ฐ€ ์—†๋Š” ์ฝ”๋“œ์— ๋Œ€ํ•ด์„œ ํŒ€์›๋“ค์ด ์‚ญ์ œ์— ์ฃผ์ €ํ•  ์ˆ˜ ์žˆ๊ธฐ ๋•Œ๋ฌธ์ด๋ผ๊ณ  ํ•ฉ๋‹ˆ๋‹ค.

๐Ÿฅฒ ๋งˆ์น˜๋ฉฐ

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

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.