TIL

[WIL] 7์ฃผ์ฐจ ํšŒ๊ณ 

lado 2021. 9. 20. 02:19

๐Ÿ“ ์ด๋ฒˆ ์ฃผ์— ํ•˜๊ณ ์ž ํ–ˆ๋˜ ๊ฒƒ

  • [๊ฐ•์˜] 7์ฃผ์ฐจ ๊ฐ•์˜ ์ œ๋•Œ ์ œ๋•Œ ์ดํ•ดํ•˜๊ธฐ
  • [๊ณผ์ œ] 6์ฃผ์ฐจ ๊ณผ์ œ ์ž˜ ์ œ์ถœํ•˜๊ธฐ
  • [๊ฐ•์˜ ๋ณต์Šต] 6์ฃผ์ฐจ ๊ฐ•์˜ ๋ณต์Šตํ•˜๋ฉด์„œ ์ž˜ ์ดํ•ดํ•˜๊ธฐ
  • [์ฝ”๋”ฉ ํ…Œ์ŠคํŠธ ์Šคํ„ฐ๋””] ๋ฌธ์ œ ์ œ๋•Œ ์ž˜ ํ’€๋ฉด์„œ DFS/BFS ๊ฐœ๋… ์ดํ•ดํ•˜๊ธฐ
  • [CS ์Šคํ„ฐ๋””] ๋ฐœํ‘œ ์ค€๋น„ํ•˜๊ธฐ
  • [์ฝ”๋“œ ๋ฆฌ๋ทฐ] Todo app ๊ณผ์ œ, ๋…ธ์…˜ ํด๋ก ์ฝ”๋”ฉ ๊ณผ์ œ ์ฝ”๋“œ, ๋ฏธ๋‹ˆ ํ”„๋กœ์ ํŠธ ์ฝ”๋“œ ๋ฆฌ๋ทฐํ•˜๊ธฐ
  • [TIL] ์กฐ๊ธˆ์ด๋ผ๋„ ์ƒˆ๋กœ ๋ฐฐ์šด ๋‚ด์šฉ์€ ๋งค์ผ ๋งค์ผ ์ •๋ฆฌํ•˜๊ธฐ
  • [Javascript] ๋ฏธ๋‹ˆ ํ”„๋กœ์ ํŠธ ์Šคํ„ฐ๋””

 


๐ŸŽฏ ์ด๋ฒˆ ์ฃผ์— ์™„๋ฃŒํ•œ ๊ฒƒ

  • ์นญ์ฐฌ์€ ๋ชจ๋ฅด๊ฒ ๊ณ  ์–ด์จŒ๋“  ํ•œ ๊ฒƒ
    • Vanilla JS ๊ณ ์–‘์ด ์‚ฌ์ง„์ฒฉ ๊ฐ•ํ™” ๊ณผ์ œ
    • SCSS ๊ฐ•์˜ ๋“ฃ๊ธฐ
    • CSS ํŠน๊ฐ•
    • ์ฝ”๋”ฉ ํ…Œ์ŠคํŠธ ์Šคํ„ฐ๋””์— ์ฐธ์—ฌํ•˜๊ธฐ ์œ„ํ•ด์„œ ๋ฐฑ์ค€ node.js ์ž…์ถœ๋ ฅ๊ณผ ์”จ๋ฆ„ํ•˜๊ธฐ
    • DFS, BFS ์ดํ•ดํ•˜๊ธฐ ์œ„ํ•ด ๊ฐ•์˜ ๋“ฃ๊ธฐ
    • CS ๊ธฐ์ดˆ ์Šคํ„ฐ๋””์—์„œ ๊ฐ์ฒด์ง€ํ–ฅ ํ”„๋กœ๊ทธ๋ž˜๋ฐ ๋ฐœํ‘œ
    • ๋ฉ˜ํ† ๋ง

 

  • ์•„์‰ฌ์› ๋˜ ๊ฒƒ
    • ์•„๋ฌด๋ž˜๋„ ๋„ˆ๋ฌด ํ…ŒํŠธ๋ฆฌ์Šค์— ๋ชฐ๋‘ํ•ด๋ฒ„๋ ธ๋‹ค...
    • ๊ฐ•์˜ ๋„ˆ๋ฌด ๋ฐ€๋ฆฐ ๊ฒƒ...
    • ์ฝ”๋“œ ๋ฆฌ๋ทฐ ๋˜ ์•ˆ ํ•œ ๊ฒƒ...
    • TIL ์•ˆ ์“ด ๊ฒƒ...
    • ์‚ฌ์‹ค ํ•œ ์ฃผ๊ฐ„ ๋ญํ•œ์ง€ ์ž˜ ๋ชจ๋ฅด๊ฒ ๋Š” ๊ฒƒ...
    • DFS, BFS๋ฅผ ๊ฒฐ๊ตญ ์ดํ•ด ๋ชปํ•ด์„œ ํ•œ ๋ฌธ์ œ๋„ ๋ชป ํ‘ผ ๊ฒƒ...

 

 


๐Ÿ“š ๋‹ค์Œ ์ฃผ์— ํ•  ๊ฒƒ

  • [๊ณผ์ œ] CSS ํด๋ก ์ฝ”๋”ฉ(์œ ํŠœ๋ธŒ, ์ž์œ  ์„ ํƒ) ๊ณผ์ œ
  • [Javascript] ๋ฏธ๋‹ˆ ํ”„๋กœ์ ํŠธ 7๋ฒˆ๊นŒ์ง€ ์™„์„ฑ ๋ฐ ๋ฏธ๋‹ˆ ํ”„๋กœ์ ํŠธ ๋ฐฐํฌ
  • [ํ”„๋กœ์ ํŠธ] ๋…ธ์…˜ ํด๋ก ์ฝ”๋”ฉ ํ”„๋กœ์ ํŠธ ๋ฆฌํŒฉํ† ๋ง ํ›„ ๋ฐฐํฌ
  • [์•Œ๊ณ ๋ฆฌ์ฆ˜] ๊ทธ๋ž˜ํ”„, DFS & BFS ๊ฐœ๋… ๊ฐ•์˜ ๋“ฃ๊ณ  ์ดํ•ดํ•˜๊ธฐ
  • [๊ฐ•์˜] Vue ๊ฐ•์˜ ๋“ฃ๊ธฐ
  • [๋ฒˆ์™ธ ๊ฐ•์˜] ํ”ผ๊ทธ๋งˆ ์ง€์‹๋‚˜๋ˆ” ๊ฐ•์˜ ๋“ฃ๊ธฐ
  • [๋ฒˆ์™ธ ๊ฐ•์˜] ๋„์ปค ๊ฐ•์˜ ๋“ฃ๊ธฐ
  • [๋ณต์Šต] ์ฝ”๋”ฉํ…Œ์ŠคํŠธ ์‹ค์Šต ๋ชปํ•œ ๊ฑฐ ํ•˜๊ธฐ
  • [๋ณต์Šต] ๊ทธ๋™์•ˆ ๋ชป ๋“ค์€ ๊ฐ•์˜ ๋“ฃ๊ธฐ
  • [๋ณต์Šต] ์ œ๋Œ€๋กœ ์ดํ•ด ๋ชปํ•œ ๊ฐ•์˜ ๋ณต์Šตํ•˜๊ธฐ
  • [JS ๊ฐœ๋…] ์‹คํ–‰ ์ปจํ…์ŠคํŠธ ์ดํ•ด
  • [์ฝ”๋“œ ๋ฆฌ๋ทฐ] ๋‹ค๋ฅธ ์ˆ˜๊ฐ•์ƒ PR๊ณผ ์ฝ”๋“œ ๋ฆฌ๋ทฐ ์ฝ๊ธฐ
  • [์ฝ”๋“œ ๋ฆฌ๋ทฐ] Todo app ๊ณผ์ œ, ๋…ธ์…˜ ํด๋ก ์ฝ”๋”ฉ ๊ณผ์ œ ์ฝ”๋“œ, ๋ฏธ๋‹ˆ ํ”„๋กœ์ ํŠธ ์ฝ”๋“œ ๋ฆฌ๋ทฐํ•˜๊ธฐ
  • [TIL] ์กฐ๊ธˆ์ด๋ผ๋„ ์ƒˆ๋กœ ๋ฐฐ์šด ๋‚ด์šฉ์€ ๋งค์ผ ๋งค์ผ ์ •๋ฆฌํ•˜๊ธฐ

 


๐ŸŽ‡ Reflection

  • ๊ณ ์–‘์ด ์‚ฌ์ง„์ฒฉ ๊ฐ•ํ™” ๊ณผ์ œ
    • ๋ฐ์ดํ„ฐ ์ •ํ•ฉ์„ฑ ์ฒดํฌ, ๋ Œ๋”๋ง ์ตœ์ ํ™”, ๋ฐฑ์ŠคํŽ˜์ด์Šค ํ‚ค๋กœ ๋’ค๋กœ ๊ฐ€๊ธฐ ๊ธฐ๋Šฅ ๊ตฌํ˜„, ์ด๋ ‡๊ฒŒ 3๊ฐ€์ง€๋ฅผ ๊ฐ•ํ™”ํ•˜๋Š” ๊ณผ์ œ์˜€๋‹ค. ๊ณผ์ œ๋ฅผ ์‚ฌ์‹ค ํ•˜๋ฃจ๋งŒ์— ํ–ˆ๋‹ค. ๊ฐ•์˜๋„ ๋‹น์ผ๋‚  ๋“ฃ๊ณ .. ๊ทธ๋ž˜์„œ ์ข€ ์ž˜ ์•Œ๊ณ  ํ•œ ๋А๋‚Œ์ด ์•„๋‹ˆ๋ผ ๊ธ‰ํ•˜๊ฒŒ ํ›„๋ฅด๋ฅตํ“นํ… ํ•˜๋Š” ๋А๋‚Œ์œผ๋กœ ์ฒ˜๋ฆฌํ•ด๋ฒ„๋ ค์„œ ์•„์‰ฌ์› ๋‹ค. ์ด๋ž˜๋„ ๋˜๋‚˜ ์‹ถ์—ˆ์ง€๋งŒ ๋ฐฐ์—ด, ์˜ค๋ธŒ์ ํŠธ, ๊ทธ๋ƒฅ JSON.stringify๋กœ ์ŠคํŠธ๋งํ™”ํ•ด์„œ ๋น„๊ตํ•˜๊ณ ;;;; ๊ทผ๋ฐ ๋‹ค๋ฅธ ๋ถ„๋“ค PR ์ฝ๊ณ  ํ•˜๋ฉด์„œ ๋А๋‚€ ๊ฒŒ ์ •ํ•ฉ์„ฑ ์ฒดํฌ๊ฐ€ ์ •๋ง ์ค‘์š”ํ•œ ๋ถ€๋ถ„์ด๋ผ๋Š” ๊ฒƒ์ด๋‹ค. ๋งŽ์ด ๋ถ€์กฑํ•œ ์ฝ”๋“œ์ธ๋ฐ ํŒ€์›๋ถ„๋“ค์ด ์ฝ”๋“œ ๋ฆฌ๋ทฐ๋ฅผ ๊ผผ๊ผผํžˆ ๋ด์ฃผ์…”์„œ ๋งŽ์€ ๊ฒƒ์„ ๋ฐฐ์› ๋‹ค. ์ •ํ•ฉ์„ฑ ์ฒดํฌ ๋ถ€๋ถ„์€ ๊ผญ ๋‹ค์‹œ ๋ฆฌํŒฉํ† ๋ง ํ•ด๋ด์•ผ ํ•  ๋“ฏ...
    • ๋‹ค๋ฅธ ๋ถ„๋“ค ์ฝ”๋“œ ๋ฆฌ๋ทฐ๋ฅผ ๋ณด๋ฉด์„œ ๋ฐฐ์šด ๊ฒƒ
      • ํ•œ ์ค„๋กœ ๋œ ์ฝ”๋“œ๋ผ๋„ ๊ด„ํ˜ธ ์—†์ด ์ ์ง€ ์•Š๊ธฐ(๋ฆฐํŒ… ๊ทœ์น™์—์„œ๋„ ์•ˆํ‹ฐ ํŒจํ„ด์œผ๋กœ ๋ณด๋Š” ๊ฒฝ์šฐ๊ฐ€ ๋งŽ์Œ)
      • ํ•จ์ˆ˜๋ช…์„ ๊ตฌ์ฒด์ ์œผ๋กœ
      • ์ƒˆ๋กœ๊ณ ์นจ ํ–ˆ์„ ๋•Œ ํ•ด๋‹น ํŽ˜์ด์ง€์˜ depth๋ฅผ ๊ทธ๋Œ€๋กœ ์œ ์ง€ํ•˜๊ณ  ๋’ค๋กœ ๊ฐ€๊ธฐ ๋ฒ„ํŠผ์„ ๋ˆŒ๋ €์„ ๋•Œ ์ƒˆ๋กœ๊ณ ์นจ ์ „์ฒ˜๋Ÿผ ์ด์ „ ํด๋”๋กœ ์ด๋™ํ•  ์ˆ˜ ์žˆ๋Š” ๊ธฐ๋Šฅ์€ ์–ด๋–ป๊ฒŒ ๊ตฌํ˜„ํ•  ์ˆ˜ ์žˆ์„์ง€ ๊ณ ๋ฏผํ•ด๋ณด๊ธฐ
      • ํƒ€์ž…๋ช… ๋“ฑ์„ ์ƒ์ˆ˜๋กœ ๋งŒ๋“ค์–ด์„œ ์žฌ์‚ฌ์šฉํ•˜๊ธฐ
      • HTML ๋ถ€๋ถ„์„ template ํŒŒ์ผ์„ ๋”ฐ๋กœ ๋งŒ๋“ค์–ด ๊ด€๋ฆฌํ•  ์ˆ˜ ์žˆ์Œ  ์˜ˆ์‹œ
      • URL ์ด http:// ๋˜๋Š” https:// ๋กœ ์‹œ์ž‘ํ•˜์ง€ ์•Š์œผ๋ฉด ์—๋Ÿฌ๋ฅผ ๋ฐœ์ƒ์‹œํ‚ด
      • ํ˜„์žฌ ๊ฒฝ๋กœ๋ฅผ ํด๋ฆญํ•œ ๊ฒฝ์šฐ์—๋Š” click event๊ฐ€ ๋ฐœ์ƒํ•˜์ง€ ์•Š๋„๋ก ์˜ˆ์™ธ์ฒ˜๋ฆฌํ•  ์ˆ˜ ์žˆ์Œ

 

  • CSS ์‹ฌํ™”, SCSS ๊ฐ•์˜
    • CSS ์‹ฌํ™”์™€ SCSS ๊ฐ•์˜ ๋“ฃ๋Š” ์ฃผ๊ฐ„์ด์—ˆ๋‹ค. CSS๋Š” ๊ทธ๋ž˜๋„ ์ˆ˜์›”ํ•˜์ง€ ์•Š์„๊นŒ ํ–ˆ๋Š”๋ฐ ๊ธฐ๋ณธ์ ์ธ ๊ฒƒ ๊ฑด๋„ˆ๋›ฐ๊ณ , ๊ทธ๋™์•ˆ '์•„, ์ด๊ฒƒ๊นŒ์ง€๋Š” ์•ˆ ํ•ด๋„ ๋˜์ง€ ์•Š์„๊นŒ?'ํ•˜๊ณ  ๋‚จ๊ฒจ๋’€๋˜ ์‹ฌํ™” ๋ถ€๋ถ„๋งŒ ๋‹ค๋ค„์„œ ์ด๋ฒˆ ๊ฐ•์˜๋„ ์‰ฝ์ง€ ์•Š์•˜๋‹ค. flex์™€ grid๊ฐœ๋…์„ ์ด๋ฒˆ ๊ธฐํšŒ์— ์ œ๋Œ€๋กœ ์žก์„ ์ˆ˜ ์žˆ์—ˆ๋‹ค. ๊ฐ•์‚ฌ๋‹˜ ๊ฐ•์˜๋ ฅ์ด ์ง„์งœ ๋Œ€๋‹จํ•˜์‹œ๋‹ค... ์ „์—๋„ SCSS ๊ฐ•์˜ ๋“ฃ๊ณ  ํ•˜๋ฉด์„œ SCSS๋ฅผ ์จ๋ณด๋ ค๊ณ  ๋…ธ๋ ฅํ–ˆ์ง€๋งŒ ์ž˜ ์•ˆ๋๋‹ค... ๋ง‰ ์ปดํŒŒ์ผ๋„ ํ•˜๊ณ  ์ด๋Ÿฐ ๊ฒŒ ์ข€ ์žฅ๋ฒฝ์ฒ˜๋Ÿผ ๋А๊ปด์กŒ๋‹ค. ์ด๋ฒˆ ๊ธฐํšŒ์— SCSS๋ฅผ ์žก๊ณ  ๊ฐˆ ์ˆ˜ ์žˆ์–ด์„œ ์ง„์งœ ์ข‹์€๋“ฏ!

 

  • ์ฝ”๋”ฉ ํ…Œ์ŠคํŠธ ์Šคํ„ฐ๋””
    • ๊ทธ๋ž˜ํ”„๋ฅผ ์ฃผ์ œ๋กœ ํ•˜๋ฃจ์— ํ•˜๋‚˜์”ฉ ํ’€๊ธฐ๋กœ ํ–ˆ๋Š”๋ฐ ์ˆ˜์š”์ผ์ด ์ถ”์„๋งž์ด ๊ฒŒ์ž„ ๋Œ€ํšŒ ์—ด๋ฆฌ๋Š” ๋‚ ์ด์—ˆ์–ด์„œ ํ™”์š”์ผ, ์ˆ˜์š”์ผ์€ ์•ˆํ•˜๊ณ  3์ผ๋งŒ ์ง„ํ–‰ํ–ˆ๋‹ค. ๊ทผ๋ฐ ์•„์ง BFS, DFS ๊ฐœ๋…์„ ์ œ๋Œ€๋กœ ์ดํ•ด ๋ชปํ•ด์„œ ํ•œ ๋ฌธ์ œ๋„ ์ œ๋Œ€๋กœ ๋ชป ํ’€์—ˆ๋‹ค. ์ผ๋‹จ ๋ฌธ์ œ๋ฅผ ๋ดค์„ ๋•Œ ์™œ ์ด๊ฑธ BFS, DFS๋กœ ํ’€์–ด์•ผ ํ•˜๋Š” ์ง€๋„ ์ž˜ ๋ชจ๋ฅด๊ฒ ๊ณ  ๊ทธ๋ƒฅ ์ดํ•ด ์•ˆํ•˜๊ณ  ๋ƒ…๋‹ค BFS ์ฝ”๋“œ๋ฅผ ๊ฐ–๋‹ค ๋ถ™์˜€๋Š”๋ฐ ๋ผ์„œ ๋ ์šฉ?? ํ•˜๋Š” ์ƒํƒœ๊ฐ€ ๋๋‹ค. ๋ฐฑ์ค€ ๊ธฐ๋ณธ ๋ฌธ์ œ๋ฅผ ํ’€์–ด๋ณด๋ ค๊ณ  ํ–ˆ๋Š”๋ฐ node.js ์ž…์ถœ๋ ฅํ•˜๋Š” ๋ฐฉ๋ฒ•๋ถ€ํ„ฐ ๋ญ๋ผ๋Š”์ง€ ์ž˜ ๋ชจ๋ฅด๊ฒ ์–ด์„œ ์‚ฝ์งˆ์„ ์˜ค๋ž˜ํ–ˆ๋‹ค.... ์ด๊ฑฐ ํ•˜๋А๋ผ ์‹œ๊ฐ„๋„ ์—„์ฒญ ๋งŽ์ด ์จ์„œ ํ˜„ํƒ€๊ฐ€ ์„ธ๊ฒŒ ์™”๋‹ค. ๋‹ค๋ฅธ ์Šคํ„ฐ๋””์›๋“ค ์–˜๊ธฐ ๋“ค์–ด๋ณด๋‹ˆ ์•Œ๊ณ ๋ฆฌ์ฆ˜ ๊ฐ•์˜๋ฅผ ๋“ค์œผ๋‹ˆ๊นŒ ๊ฐ์ด ์ข€ ์žกํžˆ์…จ๋‹ค๊ณ  ํ•˜์…”๊ฐ€์ง€๊ณ  ๊ฐ•์˜๋ฅผ ๋“ค์–ด๋ณด๋ ค๊ณ  ํ•œ๋‹ค. ๊ทธ๋ž˜๋„ ์Šคํ„ฐ๋””์› ๋ถ„๋“ค์ด ๋ฌธ์ œ ํ‘ผ ๊ฒƒ์„ ์—„์ฒญ ์—ด์ •์ ์œผ๋กœ ์„ค๋ช…ํ•ด์ฃผ์…”์„œ ์–ด๋–ค ๋ฌธ์ œ๋ฅผ BFS, DFS๋กœ ํ‘ธ๋Š” ๊ฑด์ง€, ์–ด๋–ค ์˜์‹์˜ ํ๋ฆ„์œผ๋กœ ํ’€์ด ๋ฐฉ๋ฒ•์„ ๊ตฌ์ƒํ•  ์ˆ˜ ์žˆ๋Š”์ง€ ๋ฐฐ์šธ ์ˆ˜ ์žˆ์—ˆ๋‹ค.

 

  • CSS ํŠน๊ฐ•
    • ์Šคํƒ€์ผ ์ดˆ๊ธฐ๊ฐ’์„ reset.css๋กœ ์ดˆ๊ธฐํ™” ํ•˜๋Š” ๊ฒƒ๊ณผ BEM์„ ํ˜„์—…์—์„œ ๋งŽ์ด ์‚ฌ์šฉํ•˜๋Š”์ง€ ๊ถ๊ธˆํ–ˆ๋Š”๋ฐ, reset.css์€ cdn์œผ๋กœ ์—ฐ๊ฒฐํ•˜๋ฉด ๋˜๊ณ  BEM์€ ํšŒ์‚ฌ๋งˆ๋‹ค ๋‹ค๋ฅด์ง€๋งŒ ์„ ํƒ์ž๋งŒ ๋ด๋„ element๋กœ ์–ด๋–ค ๊ตฌ์กฐ๋กœ ์„ค๊ณ„๋˜์–ด ์žˆ๋Š”์ง€ ํŒŒ์•…ํ•  ์ˆ˜ ์žˆ๊ณ  ์ƒํƒœ๋„ ์‰ฝ๊ฒŒ ํŒŒ์•…ํ•  ์ˆ˜ ์žˆ๊ธฐ ๋•Œ๋ฌธ์— ์‚ฌ์šฉํ•˜๋Š” ๊ฑธ ๊ถŒ์žฅํ•œ๋‹ค๊ณ  ๋‹ต๋ณ€ํ•ด์ฃผ์…จ๋‹ค. ๊ทธ๋ฆฌ๊ณ  ๋ฐ”๋ฒจ์„ ์“ฐ๋ฉด ํฌ๋กœ์Šค ๋ธŒ๋ผ์šฐ์ง•์„ ํ•ด๊ฒฐํ•  ์ˆ˜ ์žˆ๋‹ค๋Š” ๋ง์„ ๋“ค์–ด์„œ ๋ฐ”๋ฒจ ํ•˜๋‚˜๋ฉด ํฌ๋กœ์Šค ๋ธŒ๋ผ์šฐ์ง• ์‹ ๊ฒฝ ์•ˆ์จ๋„ ๋˜๋‚˜ ๊ถ๊ธˆํ–ˆ๋Š”๋ฐ, ๋ฐ”๋ฒจ์€ ์‚ฌ์‹ค ํฌ๋กœ์Šค ๋ธŒ๋ผ์šฐ์ง•๊ณผ ๊ด€๋ จ์ด ์—†๊ณ , ES8์„ ES5๋กœ ๋‚ฎ์ถ”๋Š” ๊ฒƒ๊ณผ ๊ฐ™์ด ํ•˜์œ„ ํ˜ธํ™˜์„ฑ์„ ๋งž์ถฐ์ฃผ๋Š” ๊ฒƒ๋ฟ์ด๋ผ๊ณ  ํ•œ๋‹ค. ๋ฐ”๋ฒจ์„ ์‚ฌ์šฉํ•ด์„œ ES5๋กœ ๋ฐ”๊พผ ๋‹ค์Œ ํ•„์š”ํ•œ ๊ฒƒ์€ polyfill์„ ๊ฒ€์ƒ‰ํ•ด์„œ ์“ฐ๋ฉด ๋œ๋‹ค๊ณ  ํ•œ๋‹ค. ํ˜ธํ™˜์„ฑ๊ณผ ๊ด€๋ จํ•ด์„œ๋Š” browserslist, PostCSS autoprefixer๊ณผ ๊ฐ™์€ ํŒจํ‚ค์ง€๋ฅผ ์ฐพ์•„๋ณด๋ผ๊ณ  ์ถ”์ฒœํ•ด์ฃผ์…จ๋‹ค. CSS์—์„œ ์ค‘์š”ํ•œ ๊ฒƒ์€ ์†์„ฑ์˜ ์—ญํ• , ๊ธฐ๋ณธ๊ฐ’, ์„ ํƒ์ž ์šฐ์„ ์ˆœ์œ„๋ผ๊ณ  ์งš์–ด์ฃผ์‹œ๋ฉด์„œ CSS ์„ฑ๋Šฅ ์ตœ์ ํ™”๋ฅผ ์œ„ํ•ด์„œ๋Š” ๊ธฐ๋ณธ๊ฐ’์„ ์™ธ์šฐ๋Š” ๊ฒŒ ์ค‘์š”ํ•˜๋‹ค๊ณ  ๊ฐ•์กฐํ•˜์…จ๋‹ค.

 

  • ๋ฉ˜ํ† ๋ง
    • ์ด๋ฒˆ ์ฃผ์— ํŒ€์ด ๋ฐ”๋€Œ์—ˆ๋‹ค. ์ƒˆ๋กœ์šด ๋ฉ˜ํ† ๋‹˜๊ณผ ํ•จ๊ป˜ ๋ฉ˜ํ† ๋ง์„ ์ง„ํ–‰ํ–ˆ๋Š”๋ฐ, ์ƒˆ ๋ฉ˜ํ† ๋‹˜์€ ์†Œํฌ๋ผํ…Œ์Šค ์‚ฐํŒŒ๋ฒ•์„ ์ฆ๊ฒจ ์“ฐ์‹œ๋Š” ๊ฒƒ ๊ฐ™๋‹ค. ์–ด์ฉŒ๋‹ค๋ณด๋‹ˆ ์งˆ๋ฌธ์— ๋‹ตํ•˜์ง€ ์•Š์œผ๋ฉด ๋‚˜๊ฐˆ ์ˆ˜ ์—†๋Š” ๋ฐฉ ๊ฐ™์ด ๋๋Š”๋ฐ... ์ปดํฌ๋„ŒํŠธ, ๋ชจ๋“ˆ, ๋„๋ฉ”์ธ๊ณผ ๊ฐ™์ด ์• ๋งคํ•˜๊ฒŒ ์•Œ๊ณ  ์žˆ๋Š” ๊ฒƒ๋“ค์˜ ๊ฐœ๋…์„ ๋‹ค์‹œ ์žก๊ณ  ๊ฐ€๋Š” ์‹œ๊ฐ„์ด ๋๋‹ค. 
    • ์ปดํฌ๋„ŒํŠธ๋Š” ์žฌ์‚ฌ์šฉํ•˜๊ธฐ ์œ„ํ•œ ๋‹จ์œ„์ด๊ณ , ๋ชจ๋“ˆ์€ ๊ตฌํ˜„ ๋‹จ์œ„์ด๋‹ค. ์˜ˆ๋ฅผ ๋“ค๋ฉด, ๊ธ€์“ฐ๊ธฐ ๊ธฐ๋Šฅ์ด๋ผ๋Š” 1๊ฐœ์˜ ๋ชจ๋“ˆ์„ ๊ตฌํ˜„ํ•˜๊ธฐ ์œ„ํ•ด Container, Editor, API, storage์™€ ๊ฐ™์€ ์—ฌ๋Ÿฌ ๊ฐœ์˜ ์ปดํฌ๋„ŒํŠธ๊ฐ€ ํ•„์š”ํ•˜๋‹ค๊ณ  ๋งํ•  ์ˆ˜ ์žˆ๋‹ค.
    • ์ปดํฌ๋„ŒํŠธ๋Š” ๋น„์Šทํ•œ ๊ธฐ๋Šฅ์„ ๊ฐ€์ง€๊ณ  ์žˆ๋Š” ๊ฒƒ๋“ค์€ ์‘์ง‘๋˜์–ด ์žˆ๋Š” ๊ฒŒ ์ข‹๊ณ , ์„œ๋กœ ๋‹ค๋ฅธ ์ปดํฌ๋„ŒํŠธ๋“ค์€ ์˜์กดํ•˜์ง€ ์•Š๋Š” ๊ฒƒ์ด ์ข‹๋‹ค๋Š” ํŠน์ง•์„ ๊ฐ€์ง„๋‹ค.
    • validation์˜ ๋ชฉ์ ์€ ์ด ๋ฐ์ดํ„ฐ๊ฐ€ ์˜ณ์€ ๋ฐ์ดํ„ฐ์ธ์ง€ ๊ฒ€์ฆํ•˜๋Š” ๊ฒƒ์ด๋‹ค. ๋ฐฑ์—”๋“œ์—์„œ ์˜ค๋Š” ๋ฐ์ดํ„ฐ๋Š” ์ผ๋‹จ ๋‚ด๋ถ€์˜ ๋ฐ์ดํ„ฐ์ด๊ธฐ ๋•Œ๋ฌธ์— ์‹ ๋ขฐํ•  ์ˆ˜ ์žˆ๋Š” ๋ฐ์ดํ„ฐ๋ผ๊ณ  ๋ฏฟ๊ณ , ๋ฐ˜๋ฉด ์‚ฌ์šฉ์žํ•œํ…Œ ๋“ค์–ด์˜ค๋Š” ๊ฐ’์€ ๋ฏฟ์œผ๋ฉด ์•ˆ ๋œ๋‹ค. validation์€ ์ •ํ™•ํ•˜๊ฒŒ ํ•˜๋ฉด ํ• ์ˆ˜๋ก ์ข‹์ง€๋งŒ ๊ฑฐ๊ธฐ์— ๋“œ๋Š” ๋น„์šฉ์„ ๊ณ ๋ คํ•ด ๋ฒ”์œ„, ์šฐ์„  ์ˆœ์œ„, ์ค‘์š”๋„๋ฅผ ์ •ํ•ด์•ผ ํ•œ๋‹ค. ์น˜๋ช…์ ์ธ ๊ฒƒ, ์น˜๋ช…์ ์ด์ง€๋Š” ์•Š๋”๋ผ๋„ ์‚ฌ์šฉ์ž ๊ฒฝํ—˜์— ํฐ ์˜ํ–ฅ์„ ์ฃผ๋Š” ๊ฒƒ์„ ๊ฐ€์žฅ ์šฐ์„  ์ˆœ์œ„์— ๋‘๊ณ  ์œ ํšจ์„ฑ์„ ์ฒดํฌํ•ด์•ผํ•  ๊ฒƒ. ์†Œํ”„ํŠธ์›จ์–ด๋ฅผ ํ…Œ์ŠคํŒ…ํ•  ๋•Œ, validation๊ณผ verification์„ ๊ณ ๋ คํ•˜๋Š”๋ฐ validation์€ ์šฐ๋ฆฌ๊ฐ€ ์›ํ•˜๋Š” ํ˜•ํƒœ๋กœ ์ œ๋Œ€๋กœ ๋œ ์ œํ’ˆ์„ ๋งŒ๋“ค๊ณ  ์žˆ๋ƒ๋Š” ๊ฒƒ์ด๊ณ , verification์€ ์ŠคํŽ™, ๋ช…์„ธ์„œ๋Œ€๋กœ ์ž˜ ๋งŒ๋“ค์—ˆ๋ƒ๋Š” ๊ฒƒ์ด๋‹ค.
    • ๋””๋ ‰ํ† ๋ฆฌ ๊ตฌ์กฐ์— ๋Œ€ํ•ด์„œ๋„ ๋ง์”€ํ•ด์ฃผ์…จ๋Š”๋ฐ, ๋””๋ ‰ํ† ๋ฆฌ ๊ตฌ์กฐ๋ฅผ ์–ด๋–ป๊ฒŒ ๊ตฌ์„ฑํ• ์ง€๋Š” ์ •ํ•ด์ง„ ๊ฒŒ ์—†๊ณ  ๊ฐœ๋ฐœ์ž ๋งˆ์Œ์ด์ง€๋งŒ ๋งŽ์ด ์“ฐ์ด๋Š” ๋””๋ ‰ํ† ๋ฆฌ์ธ componets, layouts, templates, pages, utils ๋“ฑ์€ ๋ณดํ†ต ์–ด๋–ค ๊ธฐ์ค€์œผ๋กœ ๊ตฌ๋ถ„๋˜์–ด ์žˆ๋Š” ๊ฒƒ์ธ์ง€ ์„ค๋ช…ํ•ด์ฃผ์…จ๋‹ค.
    • ๋„๋ฉ”์ธ์€ ์ƒ๋Œ€์ ์ธ ๊ฐœ๋…์ด๋ผ ์‚ฌ์šฉํ•˜๋Š” ๊ณณ๋งˆ๋‹ค ์˜๋ฏธ๊ฐ€ ์กฐ๊ธˆ์”ฉ ๋‹ค๋ฅผ ์ˆ˜ ์žˆ์ง€๋งŒ ์šฐ๋ฆฌ๊ฐ€ ๊ฐœ๋ฐœํ•ด์•ผ ํ•˜๋Š” ์˜์—ญ์ด๋ผ๊ณ  ๋งํ•  ์ˆ˜ ์žˆ๋‹ค. ๋ฐฐ๋‹ฌ์˜ ๋ฏผ์กฑ์œผ๋กœ ์˜ˆ๋ฅผ ๋“ค๋ฉด, ์ฃผ๋ฌธ, ํšŒ์› ์ธ์ฆ, ๋ฐฐ๋‹ฌ ๊ด€๋ฆฌ ๋“ฑ์„ ๋„๋ฉ”์ธ์ด๋ผ ํ•  ์ˆ˜ ์žˆ๋‹ค.

 

  • CS ๊ธฐ์ดˆ ์Šคํ„ฐ๋””
    • ๊ฐ์ฒด์ง€ํ–ฅ ํ”„๋กœ๊ทธ๋ž˜๋ฐ์— ๋Œ€ํ•ด ๋ฐœํ‘œํ–ˆ๋‹ค. ํ”„๋กœ๊ทธ๋ž˜๋ฐ ํŒจ๋Ÿฌ๋‹ค์ž„ ๊ฐœ๋…์„ ์ž˜ ์ดํ•ด ๋ชปํ•ด์„œ ๋ช…๋ นํ˜•๊ณผ ์ ˆ์ฐจ์  ํ”„๋กœ๊ทธ๋ž˜๋ฐ์€ ๋‹ค๋ฅธ ๊ฒƒ์ธ๊ฐ€? ๊ฐ์ฒด ์ง€ํ–ฅ๊ณผ ์ ˆ์ฐจ์  ํ”„๋กœ๊ทธ๋ž˜๋ฐ์€ ์ƒ์ถฉํ•˜๋Š” ๊ฒƒ์ธ๊ฐ€? ํ•จ์ˆ˜ํ˜•๊ณผ ์„ ์–ธํ˜•์€ ๋‹ค๋ฅธ ๊ฒƒ์ธ๊ฐ€? ํ•˜๊ณ  ํ˜ผ๋ž€์Šค๋Ÿฌ์›Œ ํ–ˆ๋Š”๋ฐ ์ด๋ฒˆ์— ์œ„ํ‚ค ๋ฐฑ๊ณผ๋ฅผ ๋ณด๋ฉด์„œ ๊ฐœ๋…์„ ์žก๊ณ  ๊ฐˆ ์ˆ˜ ์žˆ์—ˆ๋‹ค. javascript์œผ๋กœ ๊ฐœ๋ฐœ์„ ์ž…๋ฌธํ–ˆ๊ธฐ ๋•Œ๋ฌธ์— ๊ฐ์ฒด ์ง€ํ–ฅ ํ”„๋กœ๊ทธ๋ž˜๋ฐ์„ ๊ณต๋ถ€ํ•  ๊ธฐํšŒ๊ฐ€ ๋ณ„๋กœ ์—†์—ˆ๋Š”๋ฐ ๊ทธ๋ ™๋‹˜ ํŠน๊ฐ•์—์„œ ๊ฐœ๋ฐœ์ž๋ผ๋ฉด ๊ฐ์ฒด ์ง€ํ–ฅ ํ”„๋กœ๊ทธ๋ž˜๋ฐ์€ ๊ผญ ๊ณต๋ถ€ํ•ด์•ผํ•œ๋‹ค๋Š” ์–˜๊ธฐ๋ฅผ ๋“ฃ๊ณ  ๊ฐ์ฒด ์ง€ํ–ฅ์„ ๊ณต๋ถ€ํ•˜๊ธด ํ•ด์•ผ๊ฒ ๋‹ค๊ณ  ์ƒ๊ฐํ–ˆ๋‹ค. TypeScript๋ฅผ ๊ณต๋ถ€ํ•  ๋•Œ๋„ ๊ฐ์ฒด ์ง€ํ–ฅ์„ ๊ผญ ์ดํ•ดํ•ด์•ผํ•œ๋‹ค๊ณ  ํ•˜๊ณ , ์ด๋ฒˆ์— ๋ฐ์ดํ„ฐ ์ •ํ•ฉ์„ฑ ๊ณผ์ œ๋ฅผ ํ•˜๋ฉด์„œ TypeScript์˜ ํ•„์š”์„ฑ์„ ๋” ๋”์šฑ ํฌ๊ฒŒ ๋А๋ผ๊ฒŒ ๋ผ์„œ ์ด๋ฒˆ CS ๊ธฐ์ดˆ ์Šคํ„ฐ๋”” ๋ฐœํ‘œ ์ฃผ์ œ๋กœ ์ •ํ•˜๊ฒŒ ๋๋‹ค. ๊ฐ์ฒด ์ง€ํ–ฅ ํ”„๋กœ๊ทธ๋ž˜๋ฐ์˜ 4๊ฐ€์ง€ ํŠน์ง•์„ ์™ธ์šฐ๋Š” ๊ฒƒ์€ ํ•„์š”์—†๊ณ  ๊ทธ๊ฒƒ์„ ์–ด๋–ป๊ฒŒ ์ฝ”๋“œ๋กœ ๊ตฌํ˜„ํ•  ์ˆ˜ ์žˆ๋Š”์ง€๊ฐ€ ์ค‘์š”ํ•˜๋‹ค๊ณ  ํ•ด์„œ TypeScript์—์„œ ์–ด๋–ป๊ฒŒ ์บก์Аํ™”, ์ถ”์ƒํ™”, ์ƒ์†, ๋‹คํ˜•์„ฑ์— ๋งž๊ฒŒ ์ฝ”๋“œ๋ฅผ ๊ตฌํ˜„ํ•  ์ˆ˜ ์žˆ๋Š”์ง€์— ์ดˆ์ ์„ ๋‘๊ณ  ๋ฐœํ‘œ๋ฅผ ์ค€๋น„ํ–ˆ๋‹ค. ํ•˜์ง€๋งŒ ๋‚ด๊ฐ€ ๊ฐ•์˜๋ฅผ ์™„๋ฒฝํžˆ ์†Œํ™”ํ•œ ๊ฒŒ ์•„๋‹ˆ๋ผ ๊ฐ•์˜์— ๋‚˜์˜ค๋Š” ์ฝ”๋“œ๋ฅผ ์ •์ œํ•ด์„œ ๋ฐœํ‘œ์— ์ฒจ๋ถ€ํ–ˆ์–ด์•ผ ํ–ˆ๋Š”๋ฐ ๊ทธ๋ƒฅ ํ†ต์งธ๋กœ ๋ถ™์ด๊ฒŒ ๋ผ์„œ ์•„์‰ฌ์› ๋‹ค. ๊ทธ ๋ถ€๋ถ„์ด ์ค‘์š”ํ•œ ๊ฑด๋ฐ ์™„์ „ ์ดํ•ดํ•œ ๊ฒŒ ์•„๋‹ˆ๋ผ ์–ผ๋ฒ„๋ฌด๋ฆฌ๊ฒŒ ๋˜๊ณ  ใ… ใ…  ์—ฌ๋Ÿฌ๋ชจ๋กœ ๋ฐœํ‘œ ๋Šฅ๋ ฅ์ด ๋„ˆ๋ฌด ๋ถ€์กฑํ•˜๋‹ค๋Š” ๊ฒƒ์„ ๋ผˆ์ €๋ฆฌ๊ฒŒ ๋А๊ผˆ๋‹ค. ใ… ใ…  ์—ฐ์Šต ๋งŽ์ด ํ•ด์•ผ์ง€.
    • ์ด๋ฒˆ์— ์Šคํ„ฐ๋””์›๋ถ„๋“ค์ด 3/4 Way-Handshake์™€ MAC ์ฃผ์†Œ๋ฅผ ๋ฐœํ‘œํ•ด์ฃผ์…”์„œ ๋„คํŠธ์›Œํฌ์˜ ์ค‘์š”ํ•œ ๊ฐœ๋…๋“ค์— ๋Œ€ํ•ด ์งš๊ณ  ๋„˜์–ด๊ฐˆ ์ˆ˜ ์žˆ์—ˆ๋‹ค. ๋ฒ ์ŠคํŠธ ์Šคํ”ผ์ปค๋กœ ์„ ์ •๋œ ์ˆ˜๊ฐ•์ƒ๋ถ„์ด OSI 7 ๊ณ„์ธต์— ๋Œ€ํ•ด ์ •๋ง ์ž˜ ์ •๋ฆฌํ•ด์ฃผ์…”์„œ ๋ญ”๊ฐ€ ๋„คํŠธ์›Œํฌ ์ฐ๋จน ์ œ๋Œ€๋กœ ํ•œ ๋А๋‚Œ?! ๋ฌผ๋ก  ์ œ๊ฐ€ ๋” ๊ณต๋ถ€ํ•ด์•ผ์ฃ ... ๋ฌผ๋ก  ๊ทธ๋Ÿด ๊ฒƒ์ž…๋‹ˆ๋‹ค... ์•„๋ฌดํŠผ ๋‚˜ํ˜ผ์ž ๊ณต๋ถ€ํ•˜๋ฉด ๋„คํŠธ์›Œํฌ๋ฅผ ๊ณต๋ถ€ํ•  ์—„๋‘๋ฅผ ๋ชป ๋ƒˆ์„ ๊ฒƒ ๊ฐ™์€๋ฐ ์ด๋ ‡๊ฒŒ ๋„คํŠธ์›Œํฌ๋ฅผ ์ฒดํ—˜ํ•ด๋ณผ ์ˆ˜ ์žˆ์–ด์„œ ์ข‹์•˜๋‹ค.