TIL_221107 ๐Ÿ€โœ…Javascript_Basic

์ •์œค์ˆ™ยท2022๋…„ 11์›” 7์ผ
0

TIL

๋ชฉ๋ก ๋ณด๊ธฐ
8/192

๋‚ด์ผ๋ฐฐ์›€์บ ํ”„ 4๊ธฐ ์ŠคํŒŒ๋ฅดํƒ€์ฝ”๋”ฉ React B๋ฐ˜


๐Ÿ€

  • ํŠœํ„ฐ๋‹˜ ์ƒ๋‹ด
    • ์ •๋ง ๋ฐ”์˜๊ฒŒ ๋ณด๋‚ด๋ฉฐ ํ”„๋กœ์ ํŠธ๋ฅผ ํ–ˆ๋Š”๋ฐ ๋‚จ์€ ๊ฒŒ ์—†๋Š” ๊ฒƒ ๊ฐ™๋‹ค๊ณ  ํ–ˆ๋”๋‹ˆ ๋‚ด๊ฐ€ ๋งก์€ DB์—ฐ๊ฒฐ ์ž‘์—…์„ ํ•ด๋ƒˆ๋‹ค๋Š” ๊ฒƒ์— ๋งŒ์กฑํ•ด๋„ ๋œ๋‹ค๊ณ  ํ•˜์…จ๋‹ค. ์ฝ”๋“œ ํ•˜๋‚˜ ํ•˜๋‚˜๋ฅผ ์ดํ•ดํ•˜์ง€ ๋ชป ํ–ˆ๋‹ค๊ณ  ํ•˜๋”๋ผ๋„ ๋‚ด๊ฐ€ append ํ•จ์ˆ˜์— ๋Œ€ํ•ด ๊ณ ๋ฏผํ•˜๊ณ  ๋ฌธ์ œ๋ฅผ ํ•ด๊ฒฐํ•˜๋Š” ๊ณผ์ •์—์„œ ์ด ํ•จ์ˆ˜์— ๋Œ€ํ•œ ์ดํ•ด๋„๋„ ์˜ฌ๋ผ๊ฐ”์„ ๊ฒƒ์ด๊ณ  ๊ฒฐ๊ตญ ๋ฌธ์ œ๋ฅผ ํ•ด๊ฒฐํ–ˆ์„ ๋•Œ์˜ ์„ฑ์ทจ๊ฐ์„ ๋Š๋ผ๋Š” ๊ฒƒ๋„ ์•„์ฃผ ์ค‘์š”ํ•œ ๊ฑฐ๋ผ๊ณ  ํ•˜์…จ๋‹ค. ๋‚ด๊ฐ€ ๋ฐค์ƒˆ ๊ณ ๋ฏผํ•˜๊ณ  ์–ด?! ์ด๊ฑฐ ์ด๋ ‡๊ฒŒ ํ’€ ์ˆ˜ ์žˆ์„ ๊ฒƒ ๊ฐ™์€๋ฐ? ํ•˜๋ฉด์„œ ๊ฒฐ๊ตญ ํ•ด๊ฒฐํ•˜๋Š” ๊ณผ์ •์ด ๊ฐœ๋ฐœ์ž์˜ ์‚ถ์ด๋ž‘ ๋น„์Šทํ•˜๋‹ค๊ณ  ํ•˜์…จ๋‹ค.
    • ๊ณต๋ถ€ ๋ฐฉํ–ฅ : ์–ด๋–ค ์ปค๋ฆฌํ˜๋Ÿผ์œผ๋กœ ํ•ด์•ผ ๋” ์ž˜ ํ•  ์ˆ˜ ์žˆ์„ ์ง€ ๊ณ ๋ฏผํ–ˆ๋Š”๋ฐ ํ”„๋กœ์ ํŠธ ๋๋‚˜๊ณ  ์˜ค๋Š˜๋ถ€ํ„ฐ ์‹œ์ž‘ํ•˜๋Š” ๊ฐ•์˜๋ฅผ ์ž˜ ๋“ฃ๊ณ  ์ปค๋ฆฌํ˜๋Ÿผ์„ ๋”ฐ๋ผ์˜ค๋Š” ๊ฒƒ๋งŒ์œผ๋กœ๋„ ์ถฉ๋ถ„ํ•˜๊ณ  ๋ฒ…์ฐฐ ๊ฑฐ๋ผ๊ณ  ํ•˜์…จ๋‹ค.
      ์ด๋ฒˆ ๊ธฐํšŒ๋ฅผ ํ†ตํ•ด Javascript ๋ฌธ๋ฒ•์„ ๋งˆ์Šคํ„ฐ ํ•˜๊ฒ ๋‹ค๋Š” ๋ชฉํ‘œ๋“ค์„ ์„ธ์šฐ๊ณ  ๊ผญ ์ด๋ฃจ์ž!!!!
    • ์™ธ๊ตญ๊ณ„, ํ•ด์™ธ ์ทจ์—… : K-move๋ฅผ ํ†ตํ•ด ํ•ด์™ธ 1๋…„ ์ธํ„ด ๊ฒฝํ—˜์„ ํ•  ์ˆ˜ ์žˆ๋‹ค๊ณ  ์•Œ๋ ค์ฃผ์…จ๋‹ค. ์•„๋ฌด๋ž˜๋„ ์ง๋ฌด ๊ฒฝ๋ ฅ์ด ์žˆ์–ด์•ผ ํ•  ๊ฒƒ ๊ฐ™์•„์„œ ์ผ๋‹จ ์ทจ์—… ๋ฐฉํ–ฅ์€ ๊ตญ๋‚ด ๊ธฐ์—…์œผ๋กœ ์žก๊ณ  ์ดํ›„์— K-move๋‚˜ 'ํ•˜์ดํผ ์ปค๋„ฅํŠธ' ์ทจ์—…์„ ๋ชฉํ‘œ๋กœ ํ•ด์•ผ๊ฒ ๋‹ค.

๐Ÿ“’

์˜ค๋Š˜์˜ ๊ณต๋ถ€

1. Javascript ๋ฌธ๋ฒ• ๊ธฐ์ดˆ

  • node.js ์„ค์น˜ - js ํŒŒ์ผ ์ƒ์„ฑ - terminal์—์„œ
    node hello.js(ํŒŒ์ผ์ด๋ฆ„)์œผ๋กœ console๊ฐ’ ์ถœ๋ ฅ

  • ๋ณ€์ˆ˜

    • ๋ณ€์ˆ˜ ์„ ์› ํ‚ค์›Œ๋“œ : let / const
      let ๋ณ€์ˆ˜์ด๋ฆ„ = ๊ฐ’ : ์žฌํ• ๋‹น ๊ฐ€๋Šฅ
      const ๋ณ€์ˆ˜์ด๋ฆ„ = ๊ฐ’ : ์žฌํ• ๋‹น ๋ถˆ๊ฐ€
  • ์—ฐ์‚ฐ์ž

    • ๋ฌธ์ž์—ด๊ณผ ์ˆซ์ž๋ฅผ ์ด์–ด๋ถ™์ด๋ฉด ์ˆซ์ž๊ฐ€ ๋ฌธ์ž๋กœ ์ธ์‹ ๋จ
    • console.log(`์ด ์‹ ๋ฐœ์˜ ๊ฐ€๊ฒฉ์€ ${shoesPrice}์›์ž…๋‹ˆ๋‹ค.`)
      ๋ฐฑํ‹ฑ์„ ์‚ฌ์šฉํ•˜์—ฌ ๋ฌธ์ž์—ด ๋ฐ์ดํ„ฐ ๊ฐ„๊ฒฐํ•˜๊ฒŒ ํ‘œํ˜„
    • ์ฆ๊ฐ ์—ฐ์‚ฐ์ž์˜ ์œ„์น˜(์•ž, ๋’ค)์— ๋”ฐ๋ผ ๋‚ด์šฉ์ด ๋‹ฌ๋ผ์ง
      let count = 1
      const preIncrement = ++count
      -> ์ž๊ธฐ ์ž์‹ ์—๊ฒŒ 1์„ ๋”ํ•ด ์žฌํ• ๋‹น ํ•œ ํ›„ pre~์— ํ• ๋‹น
      const postIncrement = count++
      -> ์ž๊ธฐ ์ž์‹ ์„ pre~์— ํ• ๋‹น ํ›„ 1์„ ๋” ํ•ด์„œ ์žฌํ• ๋‹น
  • ์กฐ๊ฑด๋ฌธ

    • 2km ์ด์ƒ 5km ๋ฏธ๋งŒ์„ ํ‘œ์‹œํ•  ๋•Œ
      -> distance >= 2 && distance < 5
      -> ์ด๋ ‡๊ฒŒ ๋ฐฐ์šด ์—ฐ์‚ฐ์ž ์จ๋ณด๊ธฐ!
  • ๋ฐ˜๋ณต๋ฌธ

    • while
    • for
      -> let ๊นŒ๋จน์ง€ ์•Š๊ธฐ!
      (๊ทผ๋ฐ for๋ฌธ ์•ˆ์— let ์—†์ด ์จ๋„ ๊ฒฐ๊ณผ๋Š” ๋˜‘๊ฐ™๊ธด ํ–ˆ์Œ)
  • ํ•จ์ˆ˜

    • const ๋ณ€์ˆ˜๋ช… = ์„ ์–ธํ•œ ํ•จ์ˆ˜๋ช…(๋งค๊ฐœ๋ณ€์ˆ˜๋“ค...)
      -> ํ•จ์ˆ˜ ์„ ์–ธํ•˜๊ณ  ํ˜ธ์ถœํ•˜๊ธฐ!
  • ํด๋ž˜์Šค์™€ ๊ฐ์ฒด

    • class๋ฅผ ๋ฏธ๋ฆฌ ์ •์˜ ํ•ด ๋†“์œผ๋ฉด new ํ‚ค์›Œ๋“œ๋กœ ๊ฐ™์€ ์†์„ฑ๊ณผ ๋งค์†Œ๋“œ๋ฅผ ๊ฐ–๊ณ  ์žˆ๋Š” ๊ฐ์ฒด๋ฅผ ๋น ๋ฅด๊ฒŒ ๋งŒ๋“ค ์ˆ˜ ์žˆ์Œ(์žฌ์‚ฌ์šฉ์„ฑ)
    • ํŠน์ • ์ฝ”๋“œ๋ฅผ ์‹คํ–‰ํ•  ์ˆ˜ ์žˆ๋Š” method ์ •์˜ -> ๊ฐ์ฒด ์ƒ์„ฑ -> ๊ฐ์ฒด์˜ method ํ˜ธ์ถœ
    • object literal์„ ์ด์šฉํ•ด ํด๋ž˜์Šค ์—†์ด ๊ฐ์ฒด๋ฅผ ๋งŒ๋“ค ์ˆ˜ ์žˆ์Œ
  • ๋ฐฐ์—ด

    • ๋ฐฐ์—ด์˜ ๋งˆ์ง€๋ง‰ ์š”์†Œ = length -1
    • ๊ฐ„๋‹จํ•œ for๋ฌธ
      for (const color of rainbowColors) { console.log(color)}
      -> rainbowColors๋ฐฐ์—ด์˜ ์š”์†Œ๋“ค์„ color๋ผ๋Š” ๋ณ€์ˆ˜์— ํ• ๋‹น

๊ฐ•์˜ ์ž๋ฃŒ ๋ณด๋ฉด์„œ ๋ณต์Šต๊นŒ์ง€ ์™„๋ฃŒ!


2. CSS egg game

  • level 12
    • ํŠน์ • element ๋’ค์— ๋ฐ”๋กœ ๋”ฐ๋ผ์˜ค๋Š” siblings๋“ค์„ ์„ ํƒํ•  ์ˆ˜ ์žˆ๋Š” selector: +
      -> ++ ํ•˜๋‹ˆ ๋‘ ๊ฐœ๊ฐ€ ๋™์‹œ์— ์„ ํƒ ๋จ
  • level 14
    • child element ์„ ํƒ: >

โœ…

๋ฌธ์ œ ํ•ด๊ฒฐ

  • ์–ด์ œ pull, push ์—ฐ์Šตํ•  ๋•Œ ๋‚ด๊ฐ€ ๋‹ค๋ฅธ ๋ถ„ repo์—์„œ clone ํ•ด ์˜ฌ๋•Œ ํด๋”๋ฅผ ์ง€์ •ํ•˜์ง€ ์•Š๊ณ  ์ƒˆ๋กœ์šด ํด๋”๋„ ์•ˆ ๋งŒ๋“ค๊ณ  ๋ฐ”๋กœ ์‚ฌ์šฉ์ž ํด๋”์— clone์„ ํ•œ ๋‹ค์Œ code . ๋กœ vscode๋ฅผ ์—ด์–ด ์ƒ๊ฐ ์—†์ด ํŒŒ์ผ์„ git add . ํ–ˆ๋”๋‹ˆ ๋‚ด ์ปดํ“จํ„ฐ์˜ ๋ชจ๋“  ํŒŒ์ผ์ด ์˜ฌ๋ผ๊ฐ”๋‹ค.. 10๋งŒ๊ฐœ..?ใ…Ž
    discard all changes ๋ˆ„๋ฅด๋‹ˆ ๋ญ๊ฐ€ ์‚ญ์ œ ๋œ ๊ฑด์ง€ ๋ชจ๋ฅด๊ฒ ์ง€๋งŒ ๋ช‡ ๊ฐœ๊ฐ€ ์‚ญ์ œ๋˜๊ณ  ๋‚˜์„œ ์•„์ง branch์— ์—ฐ๊ฒฐ๋˜์–ด ์žˆ๋‹ค๋ฉฐ ์‚ญ์ œ๊ฐ€ ์•ˆ ๋๋‹ค.( โญํ•จ๋ถ€๋กœ discard ๋ˆ„๋ฅด์ง€ ๋ง์ž)
    ๋งค๋‹ˆ์ €๋‹˜ ๋„์›€์„ ๋ฐ›์•„ ์ˆจ๊ฒจ์ง„ ํŒŒ์ผ๋ณด๊ธฐ๋กœ .git ํด๋”๋ฅผ ๋‚˜ํƒ€๋‚˜๊ฒŒ ํ•ด์„œ ์‚ญ์ œํ–ˆ๋”๋‹ˆ git์ด๋ž‘ ์—ฐ๊ฒฐ์ด ๋Š์–ด์ ธ์„œ 10๋งŒ๊ฐœ ํŒŒ์ผ์ด ๋” ์ด์ƒ ๋ณด์ด์ง€ ์•Š์•˜๋‹ค.. ํœด..
    ์‚ญ์ œ๋œ ๊ฑด vscode์—์„œ pip ๋“ฑ์˜ extension ํŒŒ์ผ๋“ค์ด๋ผ ๋‹ค์‹œ ์„ค์น˜ํ–ˆ๋‹ค.

.git ํด๋”๋Š” repo๋ž‘ ์—ฐ๊ฒฐ ๋˜๋ฉด ์ƒ๊ธฐ๋Š” ํŒŒ์ผ๋กœ ์ด๊ฑธ ์ง€์šฐ๋ฉด repo์™€ ์—ฐ๊ฒฐ์€ ๋Š์–ด์ง„๋‹ค!

gitignore์„ ๋งŒ๋“ค๋ฉด ๊ทธ ์•ˆ์— ๋“ค์–ด๊ฐ„ ํŒŒ์ผ์€ git์— ์˜ฌ๋ผ๊ฐ€์ง€ ์•Š๋Š”๋‹ค.

https://wooncloud.tistory.com/80
๋ธ”๋กœ๊ทธ ์ฐธ๊ณ ํ•ด์„œ
https://www.toptal.com/developers/gitignore
ignore ํŒŒ์ผ ๋งŒ๋“ค๊ธฐ

๋‚ด๊ฐ€ ๊นจ๋‹ฌ์€ ๊ฒƒ๋“ค์„ ๋ฏธ๋‹ˆํ”„๋กœ์ ํŠธ ํŒ€์›๋“ค์—๊ฒŒ ๊ณต์œ ํ•ด์ฃผ์—ˆ๋‹ค. ์˜ค๋ฅ˜๊ฐ€ ์ƒ๊ธด ์›์ธ๊ณผ ์ฃผ์˜ํ•ด์•ผ ํ•  ์ ๋“ค์„ ๋‹ค์‹œ ํ•œ ๋ฒˆ ์งš๊ณ  ๋‚˜๋‹ˆ ๋‚ด ๋จธ๋ฆฟ์†์—์„œ๋„ ๋” ์ •๋ฆฌ๊ฐ€ ์ž˜ ๋œ ๊ฒƒ ๊ฐ™๋‹ค!


profile
ํ”„๋ก ํŠธ์—”๋“œ ๊ฐœ๋ฐœ์ž

0๊ฐœ์˜ ๋Œ“๊ธ€