๐Ÿ’ปDEV-STUDY

"Hoisting"Hoisting ?๋ณธ๊ฒฉ์ ์ธ ํฌ์ŠคํŒ…์— ์•ž์„œ Hoisting(ํ˜ธ์ด์ŠคํŒ…)์ด๋ผ๋Š” ๊ฐœ๋…์„ ๋จผ์ € ์ดํ•ดํ•˜๋Š” ๊ฒƒ์ด ์ค‘์š”ํ•˜๋‹ค. ์–ด์›: Hoisting `๋ช…์‚ฌ` ๋Œ์–ด ์˜ฌ๋ฆฌ๊ธฐ, ๋“ค์–ด์˜ฌ๋ ค ๋‚˜๋ฅด๊ธฐ Hoisting(ํ˜ธ์ด์ŠคํŒ…)์€ ๋ณ€์ˆ˜ ์„ ์–ธ๊ณผ ํ•จ์ˆ˜ ์„ ์–ธ์ด ์ฝ”๋“œ ์‹คํ–‰ ์ „์— ์ž๋ฐ”์Šคํฌ๋ฆฝํŠธ ์—”์ง„์— ์˜ํ•ด ์ตœ์ƒ๋‹จ์œผ๋กœ ๋Œ์–ด ์˜ฌ๋ ค์ง€๋Š” ํ˜„์ƒ์„ ๋งํ•œ๋‹ค. ์ž๋ฐ”์Šคํฌ๋ฆฝํŠธ ์ฝ”๋“œ๊ฐ€ ์ž‘์„ฑ๋œ ์ˆœ์„œ๋Œ€๋กœ ์‹คํ–‰๋˜๋Š” ๊ฒƒ์ฒ˜๋Ÿผ ๋ณด์ด์ง€๋งŒ, ์‹ค์ œ๋กœ๋Š” ์„ ์–ธ๊ณผ ์ดˆ๊ธฐํ™”๊ฐ€ ๋ฏธ๋ฆฌ ์ฒ˜๋ฆฌ๋˜๊ธฐ ๋•Œ๋ฌธ์— ์˜ˆ์ƒ์น˜ ๋ชปํ•œ ๋™์ž‘์„ ๊ฒฝํ—˜ํ•  ์ˆ˜ ์žˆ๋‹ค. ์ฝ”๋“œ๊ฐ€ ์‹คํ–‰๋˜๊ธฐ ์ „์— ๋ณ€์ˆ˜ ์„ ์–ธ๊ณผ ํ•จ์ˆ˜ ์„ ์–ธ์ด ์ฝ”๋“œ์˜ ์ตœ์ƒ๋‹จ์œผ๋กœ ์ด๋™๋œ๋‹ค. ์ด๋Š” ์„ ์–ธ๋งŒ ์ด๋™๋˜๋ฉฐ, ๋ณ€์ˆ˜์˜ ๊ฐ’ ํ• ๋‹น์€ ํ˜ธ์ด์ŠคํŒ… ๋˜์ง€ ์•Š๋Š”๋‹ค.JavaScript ํ˜ธ์ด์ŠคํŒ…์€ ์ธํ„ฐํ”„๋ฆฌํ„ฐ๊ฐ€ ์ฝ”๋“œ๋ฅผ ์‹คํ–‰ํ•˜๊ธฐ ์ „์— ํ•จ์ˆ˜, ๋ณ€์ˆ˜, ํด๋ž˜์Šค ๋˜๋Š” ์ž„ํฌํŠธ(i..
What is Functional Programming?ํ•จ์ˆ˜ํ˜• ํ”„๋กœ๊ทธ๋ž˜๋ฐ ํŒจ๋Ÿฌ๋‹ค์ž„์ž๋ฐ”์Šคํฌ๋ฆฝํŠธ๋Š” ํ•จ์ˆ˜ํ˜• ํ”„๋กœ๊ทธ๋ž˜๋ฐ ํŒจ๋Ÿฌ๋‹ค์ž„์„ ์ถ”๊ตฌํ•˜๋ฉฐ ์ถ”๊ฐ€๋กœ ๊ฐ์ฒด์ง€ํ–ฅ ํ”„๋กœ๊ทธ๋ž˜๋ฐ ํŒจ๋Ÿฌ๋‹ค์ž„๋„ ์ง€์›ํ•œ๋‹ค.๊ฐ์ฒด์ง€ํ–ฅ ํ”„๋กœ๊ทธ๋ž˜๋ฐ ํŒจ๋Ÿฌ๋‹ค์ž„์˜ ์—ฌ๋Ÿฌ ํŒจํ„ด์„ ์ ์šฉํ•˜๋ ค๋ฉด ํด๋ž˜์Šค(์ƒ์†)์™€ ๊ฐ์ฒด๋ฅผ ํ™œ์šฉํ•  ์ˆ˜ ์žˆ๋‹ค.ํƒ€์ž…์Šคํฌ๋ฆฝํŠธ๋ฅผ ํ†ตํ•ด ์ธํ„ฐํŽ˜์ด์Šค(๋‹คํ˜•์„ฑ)๋ฅผ ๋„์ž…ํ•  ์ˆ˜ ์žˆ๋‹ค.๋”ฐ๋ผ์„œ ์ž๋ฐ” ๊ฐœ๋ฐœ์ž๊ฐ€ ๊ฐ์ฒด์ง€ํ–ฅ ํ”„๋กœ๊ทธ๋ž˜๋ฐ์„ ๋ชจ๋‘ ์ดํ•ดํ•˜๋Š” ๊ฒƒ๊ณผ ๊ฐ™์ด ์ž๋ฐ”์Šคํฌ๋ฆฝํŠธ ๊ฐœ๋ฐœ์ž๊ฐ€ ์ œ๋Œ€๋กœ ๊ฐœ๋ฐœํ•˜๊ธฐ ์œ„ํ•ด์„  ํ•จ์ˆ˜ํ˜• ํ”„๋กœ๊ทธ๋ž˜๋ฐ์— ๋Œ€ํ•œ ๋ชจ๋“  ์ดํ•ด๊ฐ€ ํ•„์š”ํ•˜๋‹ค.  ์ผ๊ธ‰ํ•จ์ˆ˜: ํ•จ์ˆ˜ ๋ณ€์ˆ˜ + ํ•จ์ˆ˜ ํŒŒ๋ผ๋ฏธํ„ฐ + ํ•จ์ˆ˜ ๋ฐ˜ํ™˜์ผ๊ธ‰ํ•จ์ˆ˜๋ž€, ์ผ๊ธ‰ ๊ฐ์ฒด๋กœ ์ทจ๊ธ‰๋˜๋Š” ๊ฐœ๋…์ด๋‹ค. ํ•จ์ˆ˜๊ฐ€ ๋งˆ์น˜ ์ˆซ์ž๋‚˜ ๋ฌธ์ž์—ด์ฒ˜๋Ÿผ ์ผ๋ฐ˜์ ์ธ ๊ฐ’์œผ๋กœ ๋‹ค๋ฃจ์–ด์งˆ ์ˆ˜ ์žˆ๋‹ค๋Š” ์˜๋ฏธ.์ผ๊ธ‰ ํ•จ์ˆ˜๋ฅผ ์ง€์›ํ•˜๋Š” ์–ธ์–ด๋Š” ํ•จ์ˆ˜๋ฅผ ๋ณ€์ˆ˜์— ์ €์žฅํ•˜๊ฑฐ๋‚˜..
git commit -m "Blog Posting #6๐Ÿซก"๊ฐœ๋ฐœ์žํ˜‘์—…์˜ ํ•„์ˆ˜ ๋„๊ตฌ์‹ค๋ฌด์—์„œ Git ๋ธŒ๋žœ์น˜ ์ „๋žต ๋ฐ Zone ๊ตฌ๋ณ„์‹ค์ œ ํ˜„์—…์—์„œ๋Š” ๊ฐœ๋ฐœ, ํ…Œ์ŠคํŠธ, ๋ฐฐํฌ๋ฅผ ์œ„ํ•œ Zone์„ ๊ตฌ๋ถ„ํ•˜์—ฌ ๊ด€๋ฆฌํ•œ๋‹ค๊ณ  ํ•œ๋‹ค. ์ด๋ฅผ ํšจ์œจ์ ์œผ๋กœ ์šด์˜ํ•˜๊ธฐ ์œ„ํ•ด ๋‹ค์–‘ํ•œ Git ๋ธŒ๋žœ์น˜ ์ „๋žต์„ ์‚ฌ์šฉํ•˜๋ฉฐ, ๋Œ€ํ‘œ์ ์ธ ์ „๋žต์ค‘ ํ•˜๋‚˜๊ฐ€ git-flow ์ด๋‹ค. ๊ฐœ๋ฐœ ๊ฒฐ๊ณผ๋ฌผ์„ ํ…Œ์ŠคํŠธํ•˜๊ธฐ ์œ„ํ•œ Develop Zone๊ณผ ์‹ค์ œ ์œ ์ €๋“ค์ด ์‚ฌ์šฉํ•˜๊ธฐ ์œ„ํ•ด ๋ฐฐํฌํ•˜๋Š” Production Zone ๊ทธ๋ฆฌ๊ณ  ์ด๋Ÿฌํ•œ Zone๊ณผ ์—ฐ๋™ํ•˜์—ฌ ๊ด€๋ฆฌํ•˜๋Š” Git ๋ธŒ๋žœ์น˜ ์ „๋žต์„ ์•Œ์•„๋ณด๋„๋ก ํ•˜๊ฒ ๋‹ค. (์ „๋žต์„ git-flow๋ผ๊ณ  ๋ช…ํ•จ)https://techblog.woowahan.com/2553/ ์šฐ๋ฆฐ Git-flow๋ฅผ ์‚ฌ์šฉํ•˜๊ณ  ์žˆ์–ด์š” | ์šฐ์•„ํ•œํ˜•์ œ๋“ค ๊ธฐ์ˆ ๋ธ”๋กœ๊ทธ์•ˆ๋…•ํ•˜์„ธ์š”. ์šฐ์•„ํ•œํ˜•..
git commit -m "Blog Posting #5๐Ÿซก"๊ฐœ๋ฐœ์žํ˜‘์—…์˜ ํ•„์ˆ˜ ๋„๊ตฌ Git ๊ตฌ์กฐ: ๋กœ์ปฌ Git์˜ ์˜์—ญ ํŒŒ์•…Git์—์„œ ์ฝ”๋“œ์˜ ๋ณ€๊ฒฝ ์‚ฌํ•ญ์€ ์—ฌ๋Ÿฌ๊ฐ€์ง€ ์˜์—ญ์„ ๊ฑฐ์นœ๋‹ค.Git์€ ์ฝ”๋“œ์˜ ์ƒํƒœ๋ฅผ ์—ฌ๋Ÿฌ ๋‹จ๊ณ„๋กœ ๋‚˜๋ˆ„์–ด ๊ด€๋ฆฌํ•œ๋‹ค. ์—ฌ๊ธฐ์„œ๋Š” 4๊ฐœ์˜ ์ฃผ์š” ์˜์—ญ์„ ์ค‘์‹ฌ์œผ๋กœ ์„ค๋ช…ํ•  ์˜ˆ์ •์ด๋‹ค. 1. Working Directory(์ž‘์—…๊ณต๊ฐ„):๋กœ์ปฌ์—์„œ ์‹ค์ œ๋กœ ์ž‘์—…์„ ์ˆ˜ํ–‰ํ•˜๋Š” ๊ณต๊ฐ„. ์ด๊ณณ์—์„œ ํŒŒ์ผ์„ ์ˆ˜์ •, ์‚ญ์ œ, ์ถ”๊ฐ€ํ•˜๋Š” ๋“ฑ์˜ ์ž‘์—…์ด ์ด๋ฃจ์–ด์ง„๋‹ค.๋กœ์ปฌ ์ž‘์—…๊ณต๊ฐ„์—์„œ ์ž‘์—…ํ•  ๋ธŒ๋žœ์น˜ ์„ ํƒ → `git checkout`Tracked: Git์ด ์ถ”์ ํ•˜๋Š” ํŒŒ์ผ → ์ด์ „์— Git์— ์ถ”๊ฐ€๋œ ํŒŒ์ผ๋“ค.Untracked: Git์ด ์•„์ง ์ถ”์ ํ•˜์ง€ ์•Š์€ ํŒŒ์ผ → ์ƒˆ๋กœ ์ƒ์„ฑ๋œ ํŒŒ์ผ ๋˜๋Š” ์ˆ˜์ •๋œ ํŒŒ์ผ๋“ค์˜ ์ง‘ํ•ฉ์ด ์ค‘์—์„œ Commit ํ•˜๊ณ ์žํ•˜๋Š” ๊ฒƒ์„์„..
git commit -m "Blog Posting #4๐Ÿซก"๊ฐœ๋ฐœ์žํ˜‘์—…์˜ ํ•„์ˆ˜ ๋„๊ตฌConflict ์ถฉ๋Œ ํ•ด๊ฒฐ: Rebase & Merge: 4๊ฐœ์˜ Merge ์ „๋žตGit์—์„œ ์›๊ฒฉ ๋ธŒ๋žœ์น˜์™€ ๋กœ์ปฌ ๋ธŒ๋žœ์น˜๋ฅผ ๋ณ‘ํ•ฉํ•  ๋•Œ, ์ƒํ™ฉ์— ๋”ฐ๋ผ ์ ์šฉํ•  ์ˆ˜ ์žˆ๋Š” 4๊ฐ€์ง€ Merge์ „๋žต์— ๋Œ€ํ•ด ์„ค๋ช…ํ•ด๋ณผ ์˜ˆ์ •์ด๋‹ค.Remote ์›๊ฒฉ์—์„œ ๊ฐ€์ ธ์˜จ FETCH_HEAD์™€ ๋กœ์ปฌ HEAD๋ฅผ Mergeํ•˜๋Š”๋ฐ์— 3๊ฐ€์ง€ ๋ฐฉ์‹์ด ์กด์žฌํ•œ๋‹ค.Fast-Forward: Local์— ์–ด๋– ํ•œ ๋‚ด ์ž‘์—…๋„ ์—†์„ ๋•Œ →  Remote์— ํƒ€์ธ์˜ ์ž‘์—… ๊ทธ๋Œ€๋กœ ๊ฐ€์ ธ์™€ ๋ถ™์ด๊ธฐ3-Way Merge: Remote์— ์žˆ๋Š” ํƒ€์ธ์˜ ์ž‘์—… ๊ทธ๋Œ€๋กœ, ๋‚ด ์ž‘์—…์„ ๊ทธ๋Œ€๋กœ ๋ณด์กดํ•˜๊ณ  → ์ƒˆ ๋จธ์ง€ ์ปค๋ฐ‹ ์ƒ์„ฑRebase: Remote์— ์žˆ๋Š” ํƒ€์ธ์˜ ์ž‘์—… ๊ทธ๋Œ€๋กœ, ๊ทธ ์œ„์— ๋‚ด ์ž‘์—…์„ ์ฒ˜์Œ๋ถ€ํ„ฐ ๋‹ค์‹œ ..
git commit -m "Blog Posting #3๐Ÿซก"๊ฐœ๋ฐœ์žํ˜‘์—…์˜ ํ•„์ˆ˜ ๋„๊ตฌ Pull = Fetch + Merge: ์›๊ฒฉ Github์—์„œ ์ตœ์‹  ๋ธŒ๋žœ์น˜ ๊ฐ€์ ธ์˜ค๊ธฐ๋กœ์ปฌ ๋ธŒ๋žœ์น˜๋ฅผ ์›๊ฒฉ ๋ธŒ๋žœ์น˜์™€ ๋™๊ธฐํ™”ํ•˜๊ธฐ ์œ„ํ•ด์„  `git pull`๋ช…๋ น์–ด๋ฅผ ์‚ฌ์šฉํ•œ๋‹ค. ์ด ๋ช…๋ น์–ด๋Š” ์‚ฌ์‹ค ๋‘ ๊ฐœ์˜ ์ž‘์—…์„ ๊ฒฐํ•ฉํ•œ ๊ฒƒ์œผ๋กœ `fetch`์™€ `merge`๊ฐ€ ํ•จ๊ป˜ ์‹คํ–‰๋œ๋‹ค.Fetch: ์›๊ฒฉ์ €์žฅ์†Œ์—์„œ ์ตœ์‹  ์ปค๋ฐ‹์ด๋‚˜ ๋ธŒ๋žœ์น˜๋ฅผ ๋กœ์ปฌ ์ €์žฅ์†Œ๋กœ ๊ฐ€์ ธ์˜ค๋Š” ์ž‘์—…. ์ด ๊ณผ์ •์—์„œ ์›๊ฒฉ ์ €์žฅ์†Œ์—์„œ ์ƒˆ๋กœ ์ƒ์„ฑ๋˜๊ฑฐ๋‚˜ ์‚ญ์ œ๋œ ๋ธŒ๋žœ์น˜ ๋ฐ ์ตœ์‹  ์ฝ”๋“œ๊ฐ€ ๋กœ์ปฌ๋กœ ๋‚ด๋ ค๋ฐ›์•„์ง„๋‹ค.git fetch -p `git fetch -p` → `p = prune`Merge: ๊ฐ€์ ธ์˜จ ์›๊ฒฉ๋ธŒ๋žœ์น˜์˜ ์ตœ์‹  ์ฝ”๋“œ๋ฅผ ๋กœ์ปฌ ๋ธŒ๋žœ์น˜์˜ ํ˜„์žฌ ์ฝ”๋“œ์™€ ๋ณ‘ํ•ฉํ•˜๋Š” ์ž‘์—…. ์ด ๊ณผ์ •์—์„œ ๋กœ์ปฌ ๋ธŒ๋žœ์น˜์— ์žˆ๋Š” ๋ณ€..
git commit -m "Blog Posting #2๐Ÿซก"๊ฐœ๋ฐœ์žํ˜‘์—…์˜ ํ•„์ˆ˜ ๋„๊ตฌ Git๊ณผ Github๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ ํ”„๋กœ์ ํŠธ๋ฅผ ๊ด€๋ฆฌํ•˜๋Š” ๋ฐฉ๋ฒ•์€ ๋กœ์ปฌ ์ €์žฅ์†Œ์—์„œ ์‹œ์ž‘ํ•˜๊ฑฐ๋‚˜, ์›๊ฒฉ ์ €์žฅ์†Œ์—์„œ ์‹œ์ž‘ํ•˜๋Š” ๊ฒƒ์ด๋‹ค. ์ด ๋‘ ๊ฐ€์ง€ ๋ฐฉ๋ฒ•์— ๋Œ€ํ•ด ์•Œ์•„๋ณด์ž. Local Repository์—์„œ ์‹œ์ž‘: ์ดˆ๊ธฐ ์‹œ์ž‘๋กœ์ปฌ์—์„œ ํ”„๋กœ์ ํŠธ๋ฅผ ์‹œ์ž‘ํ•œ ํ›„, ์ด๋ฅผ ์›๊ฒฉ ์ €์žฅ์†Œ(GitHub)์— ์—…๋กœ๋“œํ•˜๋Š” ๊ณผ์ •์ด๋‹ค. ๋กœ์ปฌ์—์„œ ์ง์ ‘ Git ์ €์žฅ์†Œ๋ฅผ ์ดˆ๊ธฐํ™”ํ•˜๊ณ , ์ดํ›„ ์›๊ฒฉ ์ €์žฅ์†Œ์™€ ์—ฐ๊ฒฐํ•˜์—ฌ ์ž‘์—…์„ ๊ด€๋ฆฌํ•  ์ˆ˜ ์žˆ๋‹ค. ์•„๋ž˜์™€ ๊ฐ™์ด ์ˆ˜ํ–‰ํ•œ๋‹ค. 1. ๋กœ์ปฌ์—์„œ Git ์ €์žฅ์†Œ ์ดˆ๊ธฐํ™”`git init`:ํ˜„์žฌ ๋‚ด ๋””๋ ‰ํ† ๋ฆฌ๋ฅผ Git์œผ๋กœ ๊ด€๋ฆฌํ•˜๊ฒ ๋‹ค๋Š” ์„ ์–ธ = `.git` ๋””๋ ‰ํ† ๋ฆฌ ์ƒ์„ฑgit init  2. ๊ธฐ๋ณธ ๋ธŒ๋žœ์น˜ ์ด๋ฆ„ ๋ณ€๊ฒฝ์ดˆ๊ธฐํ™”๋œ Git ์ €์žฅ์†Œ์—์„œ ๊ธฐ๋ณธ ๋ธŒ๋žœ์น˜์˜..
git commit -m "Blog Posting๐Ÿซก"๊ฐœ๋ฐœ์žํ˜‘์—…์˜ ํ•„์ˆ˜ ๋„๊ตฌ Git & GitHub๋ฅผ ํ™œ์šฉํ•œ ๋กœ์ปฌ ๋ฐ ์ค‘์•™ ์ฝ”๋“œ ๊ด€๋ฆฌ์†Œํ”„ํŠธ์›จ์–ด ๊ฐœ๋ฐœ์—์„œ ์ฝ”๋“œ ๊ด€๋ฆฌ๋Š” ํ•„์ˆ˜๋‹ค. ํŠนํžˆ, ํ˜‘์—… ํ”„๋กœ์ ํŠธ์—์„œ ๊ฐ ๊ฐœ๋ฐœ์ž‘์—…์„ ์ฒด๊ณ„์ ์œผ๋กœ ๊ด€๋ฆฌํ•˜๊ณ  ์ถฉ๋Œ์„ ํ”ผํ•˜๋Š” ๊ฒƒ์ด ๊ฐ€์žฅ ์ค‘์š”ํ•˜๋‹ค. ์ด๋ฅผ ์œ„ํ•ด Git๊ณผ Github๋Š” ๊ฐœ๋ฐœ์ž์—๊ฒŒ๋Š” ์—†์–ด์„  ์•ˆ๋  ํ•„์ˆ˜์ ์ธ ๋„๊ตฌ์ด๋‹ค.  Git & Github์˜ˆ๋ฅผ๋“ค์–ด ๊ณผ์ œ๋ฅผ ์ œ์ถœํ•  ๋•Œ ๋ง‰์ƒ ์ œ์ถœํ•˜๋ ค๊ณ ํ•˜๋ฉด ์ˆ˜์ • ์‚ฌํ•ญ๋“ค์ด ๋ณด์ด๊ณ , ์ˆ˜์ •ํ•˜๋‹ค ๋ง์น˜๋ฉด ์•ˆ๋˜๋‹ˆ ๋ฐฑ์—…์„ ๋งŒ๋“ค์–ด ๋†“๊ณ  ์ด๋Ÿฐ ์ƒํ™ฉ์„ ๋ฐ˜๋ณตํ•˜๋ฉด ์•„๋ž˜์ฒ˜๋Ÿผ ์ˆ˜๋งŽ์€ ํŒŒ์ผ์ด ๋งŒ๋“ค์–ด์ง„๋‹ค.์œ„ ์ด๋ฏธ์ง€์ฒ˜๋Ÿผ ํŒŒ์ผ์„ ์—ฌ๋Ÿฌ๊ฐœ๋งŒ๋“ค๋ฉด ํŒŒ์ผ์ด ๋งŽ์•„์ง€๊ณ  ์ง€์ €๋ถ„ํ•ด์ง€๋ฉฐ ๊ด€๋ฆฌํ•˜๊ธฐ๊ฐ€ ์–ด๋ ค์›Œ์ง„๋‹ค.๋งŒ์•ฝ ๊ฐœ๋ฐœ์˜์—ญ์—์„œ ์ด์ฒ˜๋Ÿผ ์ฝ”๋“œ์™€ ํŒŒ์ผ์„ ๊ด€๋ฆฌํ•˜๋ฉด ์šฉ๋Ÿ‰์€ ๋๋„์—†์ด ๋งŽ์•„์งˆ ๋ฟ๋”๋Ÿฌ ๋ฐฉ๋Œ€ํ•œ ์ฝ”๋“œ..
1000_sang
'๐Ÿ’ปDEV-STUDY' ์นดํ…Œ๊ณ ๋ฆฌ์˜ ๊ธ€ ๋ชฉ๋ก (7 Page)