Skip to content

๐Ÿ“ FE Divers ์Šคํ„ฐ๋”” ๊ทธ๋ฃน-[๋ชจ๋˜ ์ž๋ฐ”์Šคํฌ๋ฆฝํŠธ Deep Dive] ์ฑ…์„ ์ฝ๊ณ , ํ•จ๊ป˜ ๋ฆฌ๋ทฐํ•˜๊ธฐ(2021.09.13~11.24)

Notifications You must be signed in to change notification settings

ritajeong/javascript-study

Folders and files

NameName
Last commit message
Last commit date

Latest commit

ย 

History

50 Commits
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 

Repository files navigation

๐Ÿ”Ž ์Šคํ„ฐ๋”” ์†Œ๊ฐœ

๋‚ด์šฉ ๋ณด๊ธฐ

๐Ÿ“Œ Introduction

ํ•œ์ค„์š”์•ฝ : ์ž๋ฐ”์Šคํฌ๋ฆฝํŠธ ๊ฐœ๋…์„ ๊นƒํ—ˆ๋ธŒ์— ์ •๋ฆฌํ•˜๊ณ  ์งˆ์˜์‘๋‹ตํ•˜๊ธฐ

'FE์žฌ๋‚จ'๋‹˜์ด ์ง„ํ–‰ํ•˜์‹œ๋Š” Javascript Deep Dive ์คŒ์Šคํ„ฐ๋””(์ดํ•˜ ์คŒ์Šคํ„ฐ๋””)์— ์†ํ•œ ๋ณต์Šต์Šคํ„ฐ๋””์ž…๋‹ˆ๋‹ค.

Deep Dive์ฑ…์„ ๋‹ค์‹œ ์‚ดํŽด๋ณด๋Š” ๋ชฉ์ ์„ ๊ฐ€์ง€๋ฉฐ,

์ข…์ข… ์คŒ์Šคํ„ฐ๋””์—์„œ ์–ธ๊ธ‰๋œ ๋‚ด์šฉ์— ๋Œ€ํ•ด ํ† ์˜ํ•˜๋Š” ์‹œ๊ฐ„์„ ๊ฐ€์งˆ ์˜ˆ์ •์ž…๋‹ˆ๋‹ค.

๐Ÿ“Œ When, Where

  • ๋งค์ฃผ ์›”์š”์ผ 7์‹œ~8์‹œ, Discord

    ์คŒ์Šคํ„ฐ๋””(์›” 8์‹œ๋ฐ˜)์‹œ์ž‘ ์ „์— ๋ฏธ๋ฆฌ ๋งŒ๋‚˜์„œ ํ•œ์ •์ ์ธ ์‹œ๊ฐ„ ์•ˆ์— ์งˆ์˜์‘๋‹ต์„ ํ•˜๋Š” ์ปจ์…‰์ž…๋‹ˆ๋‹ค.

  • ๊ธฐ๊ฐ„ : 9์›” 13์ผ ์›”์š”์ผ๋ถ€ํ„ฐ ๋‘ ๋‹ฌ๊ฐ„ ์˜ˆ์ •.

    (์ง„๋„์— ๋”ฐ๋ผ ๋ณ€๋™์ด ์ƒ๊ธธ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.)

๐Ÿ“Œ Why

Javascript์˜ ์ž‘๋™์›๋ฆฌ๋ฅผ ๊ทผ๋ณธ์ ์œผ๋กœ ์ดํ•ดํ•˜๊ณ , ์ฝ”๋“œ๋ฅผ ์ž‘์„ฑํ•  ๋•Œ ๋„์›€์ด ๋˜๊ธฐ ์œ„ํ•จ์ž…๋‹ˆ๋‹ค.

์คŒ์Šคํ„ฐ๋””์—์„œ ์ง„๋„๊ฐ€ ๋‚˜๊ฐ„ ๋ถ€๋ถ„์„ ๋‹ค์‹œ๊ธˆ ๋ณต์Šตํ•ฉ๋‹ˆ๋‹ค.

๊ตณ์ด ์Šคํ„ฐ๋””์˜ ์„ฑ๊ฒฉ์„ ์ •ํ•˜์ž๋ฉด ๋ฉด์ ‘์Šคํ„ฐ๋””์ž…๋‹ˆ๋‹ค.

๐Ÿ“Œ What

์ผ์ฃผ์ผ๊ฐ„ ๋Œ€์ฃผ์ œ ํ•˜๋‚˜๋ฅผ ๊ณต๋ถ€ํ•ฉ๋‹ˆ๋‹ค.

์†Œ์ฃผ์ œ๋ฅผ 1/n๋กœ ๋ถ„๋ฐฐํ•˜๊ณ , ๊ฐ์ž ๋งก์€ ํŒŒํŠธ๋ฅผ ์ •๋ฆฌํ•ฉ๋‹ˆ๋‹ค.

๋งก์€ ์†Œ์ฃผ์ œ์™€ ์—ฐ๊ด€๋œ ์งˆ๋ฌธ 2๊ฐ€์ง€๋ฅผ ์ •ํ•ฉ๋‹ˆ๋‹ค.

์˜ˆ์‹œ

๋Œ€์ฃผ์ œ : ์Šค์ฝ”ํ”„

์†Œ์ฃผ์ œ : ์Šค์ฝ”ํ”„์˜ ์ข…๋ฅ˜, ์Šค์ฝ”ํ”„ ์ฒด์ธ, ํ•จ์ˆ˜๋ ˆ๋ฒจ ์Šค์ฝ”ํ”„, ๋ ‰์‹œ์ปฌ ์Šค์ฝ”ํ”„

์งˆ๋ฌธ : ๋ณ€์ˆ˜๋ฅผ ์ฐธ์กฐํ•  ๋•Œ ์ž๋ฐ”์Šคํฌ๋ฆฝํŠธ ์—”์ง„์ด ์ž‘๋™ํ•˜๋Š” ๊ณผ์ •์€?

๐Ÿ“Œ How

  • Github Repository์— ๋งˆํฌ๋‹ค์šด์œผ๋กœ ์ž‘์„ฑํ•œ ๊ธ€์„ ์˜ฌ๋ฆฝ๋‹ˆ๋‹ค.

    ์˜ˆ์‹œ) https://github.com/baeharam/Must-Know-About-Frontend/blob/main/Notes/javascript/scope.md

    โ€œ์Šคํ„ฐ๋”” repository๋ฅผ fork๋– ์„œ ๋งก์œผ์‹  ํŒŒํŠธ ์ž‘์„ฑํ•˜์‹œ๊ณ  PR ๋‚ ๋ ค์ฃผ์„ธ์š”โ€

    PR ๋‚ ๋ฆฌ๊ธฐ~~

    https://wayhome25.github.io/git/2017/07/08/git-first-pull-request-story/

  • checklist ์งˆ๋ฌธ์„ ๊ฐ์ž 2๊ฐœ์”ฉ ๋งŒ๋“ญ๋‹ˆ๋‹ค.

    ์˜ˆ์‹œ)checklist ๋ถ€๋ถ„๋งŒ ์ฐธ๊ณ ํ•ด์ฃผ์„ธ์š”

    https://github.com/Knowre-Dev/WebDevCurriculum/tree/master/Quest03

  • Discord์—์„œ ์›”์š”์ผ 7์‹œ์— ๋งŒ๋‚˜ ์งˆ์˜์‘๋‹ต ์‹œ๊ฐ„์„ ๊ฐ€์ง‘๋‹ˆ๋‹ค.

    • ํ™”์ƒ์€ ์ผœ์ง€ ์•Š๊ณ  ์Œ์„ฑ์œผ๋กœ ์ง„ํ–‰ํ•˜๋ฉฐ, ํ•„์š”ํ•œ ๊ฒฝ์šฐ ํ™”๋ฉด๊ณต์œ ๋Š” ์ž์œ ๋กญ๊ฒŒ ํ•ฉ๋‹ˆ๋‹ค.

    • 4๋ช…*์งˆ๋ฌธ 2๊ฐœ = ์ด 8๊ฐœ์˜ ์งˆ๋ฌธ์œผ๋กœ ๊ตฌ์„ฑ๋œ ๋ฆฌ์ŠคํŠธ์—์„œ

    • ์‚ฌ๋‹ค๋ฆฌํƒ€๊ธฐ๋กœ ์งˆ๋ฌธ์— ๋Œ€๋‹ตํ•  ์‚ฌ๋žŒ์„ ์ •ํ•ฉ๋‹ˆ๋‹ค.

    • ์ฆ‰, 1์ธ๋‹น 2๊ฐœ์˜ ์งˆ๋ฌธ์— ๋‹ต๋ณ€ํ•˜๊ฒŒ ๋ฉ๋‹ˆ๋‹ค.

      (๋”ฐ๋ผ์„œ ์†Œ์ฃผ์ œ๋ฅผ ๋งก์•„์„œ ์ž‘์„ฑํ•˜๋”๋ผ๋„ ๋Œ€์ฃผ์ œ ์ „์ฒด๋ฅผ ๊ณต๋ถ€ํ•˜๊ฒŒ ๋ฉ๋‹ˆ๋‹ค.)

    • ๋‹ต๋ณ€์ด ๋๋‚˜๋ฉด ์•ฝ๊ฐ„์˜ ํ† ์˜์‹œ๊ฐ„์„ ๊ฐ€์ง‘๋‹ˆ๋‹ค.

๐Ÿ“– ์ง„ํ–‰ ๋ฐฉ์‹ ๋ฐ ์ปค๋ฐ‹ ์ปจ๋ฒค์…˜

๋‚ด์šฉ ๋ณด๊ธฐ

์ง„ํ–‰ ๋ฐฉ์‹

  • ๋งค์ฃผ ์›”์š”์ผ ์˜คํ›„ 7์‹œ์— ์Šคํ„ฐ๋””๋ฅผ ์ง„ํ–‰ํ•œ๋‹ค.
  • ๋งค์ฃผ ํ† ์š”์ผ๊นŒ์ง€ ๊ฐ์ž ๋งก์€ ํŒŒํŠธ๋ฅผ ์ •๋ฆฌํ•ด์„œ PR์„ ๋ณด๋‚ธ๋‹ค.
  • ์Šคํ„ฐ๋”” ์‹œ์ž‘ ์ „๊นŒ์ง€ ๋‹ค๋ฅธ ์‚ฌ๋žŒ์˜ PR์„ ์ฝ๊ณ  ์ฝ”๋ฉ˜ํŠธ๋ฅผ ๋‚จ๊ธด๋‹ค.
  • ์ž์‹ ์˜ PR์— ๋ชจ๋‘ ๋ฆฌ๋ทฐ๊ฐ€ ๋‹ฌ๋ฆฌ๋ฉด PR์„ ์Šค์Šค๋กœ ๋จธ์ง€ํ•œ๋‹ค.(Squash and Merge)
  • README.md ํŒŒ์ผ์— ๋งค ์ฃผ์ฐจ ์ง„ํ–‰์‚ฌํ•ญ์„ ์ •๋ฆฌํ•œ๋‹ค.
  • ๋งค์ฃผ ์ผ์š”์ผ๊นŒ์ง€ ์ž์‹ ์ด ๋งก์€ ํŒŒํŠธ์— ๋Œ€ํ•œ ์งˆ๋ฌธ 2๊ฐ€์ง€๋ฅผ issue์— ์˜ฌ๋ฆฐ๋‹ค.

์ปค๋ฐ‹ ์ปจ๋ฒค์…˜

  • ์ปค๋ฐ‹ ๋ฉ”์„ธ์ง€๋Š” ํ•œ๊ธ€๋กœ ์ž‘์„ฑํ•œ๋‹ค.
  • ์ปค๋ฐ‹์˜ ์˜๋„์— ๋”ฐ๋ผ ์•„๋ž˜ prefix๋ฅผ ๋ถ™์ธ๋‹ค.
    • create: ๊ธ€์„ ์ƒˆ๋กœ ์ถ”๊ฐ€ํ•˜๋Š” ๊ฒฝ์šฐ
    • update: ๊ธฐ์กด์— ์ž‘์„ฑํ•œ ๊ธ€์„ ์ˆ˜์ •ํ•˜๋Š” ๊ฒฝ์šฐ
    • delete: ๊ธฐ์กด์— ์ž‘์„ฑํ•œ ๊ธ€์„ ์‚ญ์ œํ•˜๋Š” ๊ฒฝ์šฐ
    • docs: README.md ํŒŒ์ผ์„ ์ˆ˜์ •ํ•˜๋Š” ๊ฒฝ์šฐ
    • chore: ๊ทธ ์™ธ์˜ ๊ฒฝ์šฐ

๐Ÿ“š ์ง„ํ–‰ ์ƒํ™ฉ

1์ฃผ์ฐจ ๋ณ€์ˆ˜

๋‚ด์šฉ ๋ณด๊ธฐ
  • ์ƒ๋ฏผ: 4์žฅ ๋ณ€์ˆ˜
  • ์ง„์ฃผ: 13์žฅ ์Šค์ฝ”ํ”„
  • ์œคํ˜ธ: 14์žฅ ์ „์—ญ๋ณ€์ˆ˜์˜ ๋ฌธ์ œ์ 
  • ํƒœ์€: 15์žฅ let, const ํ‚ค์›Œ๋“œ์™€ ๋ธ”๋ก ๋ ˆ๋ฒจ ์Šค์ฝ”ํ”„

2์ฃผ์ฐจ ํƒ€์ž…, ์‹คํ–‰ ์ปจํ…์ŠคํŠธ

๋‚ด์šฉ ๋ณด๊ธฐ
  • ์ง„์ฃผ: 6์žฅ ๋ฐ์ดํ„ฐ ํƒ€์ž…
  • ์œคํ˜ธ: 9์žฅ ํƒ€์ž… ๋ณ€ํ™˜๊ณผ ๋‹จ์ถ• ํ‰๊ฐ€
  • ์ƒ๋ฏผ: 11์žฅ ์›์‹œ ๊ฐ’๊ณผ ๊ฐ์ฒด์˜ ๋น„๊ต
  • ํƒœ์€: 23์žฅ ์‹คํ–‰ ์ปจํ…์ŠคํŠธ

3์ฃผ์ฐจ JavaScript ๊ธฐ์ดˆ ,ํ•จ์ˆ˜

๋‚ด์šฉ ๋ณด๊ธฐ
  • ์ง„์ฃผ: 5์žฅ ํ‘œํ˜„์‹๊ณผ ๋ฌธ + 16์žฅ ํ”„๋กœํผํ‹ฐ ์–ดํŠธ๋ฆฌ๋ทฐํŠธ
  • ์œคํ˜ธ: 7์žฅ ์—ฐ์‚ฐ์ž + 12์žฅ ํ•จ์ˆ˜
  • ํƒœ์€: 8์žฅ ์ œ์–ด๋ฌธ + 10์žฅ ๊ฐ์ฒด ๋ฆฌํ„ฐ๋Ÿด
  • ์ƒ๋ฏผ: 17์žฅ ์ƒ์„ฑ์ž ํ•จ์ˆ˜์— ์˜ํ•œ ๊ฐ์ฒด ์ƒ์„ฑ + 18์žฅ ํ•จ์ˆ˜์™€ ์ผ๊ธ‰ ๊ฐ์ฒด

4์ฃผ์ฐจ ๋นŒํŠธ์ธ ๊ฐ์ฒด, strict mode, ํ”„๋กœํ† ํƒ€์ž…, this

๋‚ด์šฉ ๋ณด๊ธฐ
  • ์œคํ˜ธ: 19์žฅ ํ”„๋กœํ† ํƒ€์ž… ์ „๋ฐ˜๋ถ€ ( ~ 19.7)
  • ์ง„์ฃผ: 19์žฅ ํ”„๋กœํ† ํƒ€์ž… ํ›„๋ฐ˜๋ถ€ (19.8 ~ )
  • ์ƒ๋ฏผ: 20์žฅ strict mode + 21์žฅ ๋นŒํŠธ์ธ ๊ฐ์ฒด
  • ํƒœ์€: 22์žฅ this

5์ฃผ์ฐจ ํด๋กœ์ €, ํด๋ž˜์Šค, ํ•จ์ˆ˜

๋‚ด์šฉ ๋ณด๊ธฐ
  • ์œคํ˜ธ: 24์žฅ ํด๋กœ์ €
  • ์ง„์ฃผ: 25์žฅ ํด๋ž˜์Šค(25.1 ~ 25.6)
  • ์ƒ๋ฏผ: 25์žฅ ํด๋ž˜์Šค(25.7 ~ 25.8)
  • ํƒœ์€: 26์žฅ ES6 ํ•จ์ˆ˜์˜ ์ถ”๊ฐ€ ๊ธฐ๋Šฅ

6์ฃผ์ฐจ Symbol, ์ดํ„ฐ๋Ÿฌ๋ธ”, ์Šคํ”„๋ ˆ๋“œ, ๋””์ŠคํŠธ๋Ÿญ์ฒ˜๋ง, Set, Map

๋‚ด์šฉ ๋ณด๊ธฐ
  • ํƒœ์€: 33์žฅ Symbol, 34์žฅ ์ดํ„ฐ๋Ÿฌ๋ธ”
  • ์œคํ˜ธ: 35์žฅ ์Šคํ”„๋ ˆ๋“œ ๋ฌธ๋ฒ•, 36์žฅ ๋””์ŠคํŠธ๋Ÿญ์ฒ˜๋ง ํ• ๋‹น
  • ์ง„์ฃผ: 37์žฅ Set๊ณผ Map

7์ฃผ์ฐจ ๋ธŒ๋ผ์šฐ์ €์˜ ๋ Œ๋”๋ง ๊ณผ์ •, DOM, ์ด๋ฒคํŠธ

๋‚ด์šฉ ๋ณด๊ธฐ
  • ์ง„์ฃผ: 38์žฅ ๋ธŒ๋ผ์šฐ์ €์˜ ๋ Œ๋”๋ง ๊ณผ์ •
  • ํƒœ์€: 39์žฅ DOM(39.1 ~ 39.4)
  • ์ƒ๋ฏผ: 39์žฅ DOM(39.5 ~ 39.9)
  • ์œคํ˜ธ: 40์žฅ ์ด๋ฒคํŠธ

8์ฃผ์ฐจ ๋น„๋™๊ธฐ ํ”„๋กœ๊ทธ๋ž˜๋ฐ

๋‚ด์šฉ ๋ณด๊ธฐ
  • ์œคํ˜ธ: 41์žฅ ํƒ€์ด๋จธ
  • ์ƒ๋ฏผ: 42์žฅ ๋น„๋™๊ธฐ ํ”„๋กœ๊ทธ๋ž˜๋ฐ
  • ํƒœ์€: 43์žฅ AJAX
  • ์ง„์ฃผ: 44์žฅ REST API

9์ฃผ์ฐจ ํ”„๋กœ๋ฏธ์Šค, ์ œ๋„ค๋ ˆ์ดํ„ฐ, async/await, ๋ชจ๋“ˆ

๋‚ด์šฉ ๋ณด๊ธฐ
  • ์œคํ˜ธ: 45์žฅ ํ”„๋กœ๋ฏธ์Šค
  • ์ง„์ฃผ: 46์žฅ ์ œ๋„ค๋ ˆ์ดํ„ฐ์™€ async/await
  • ์ƒ๋ฏผ: 47์žฅ ์—๋Ÿฌ ์ฒ˜๋ฆฌ
  • ํƒœ์€: 48์žฅ ๋ชจ๋“ˆ, 49์žฅ Babel๊ณผ Webpack์„ ์ด์šฉํ•œ ES6+/ES.NEXT ๊ฐœ๋ฐœ ํ™˜๊ฒฝ ๊ตฌ์ถ•

About

๐Ÿ“ FE Divers ์Šคํ„ฐ๋”” ๊ทธ๋ฃน-[๋ชจ๋˜ ์ž๋ฐ”์Šคํฌ๋ฆฝํŠธ Deep Dive] ์ฑ…์„ ์ฝ๊ณ , ํ•จ๊ป˜ ๋ฆฌ๋ทฐํ•˜๊ธฐ(2021.09.13~11.24)

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Contributors 4

  •  
  •  
  •  
  •