\
[JS] ๋ ‰์‹œ์ปฌ ์Šค์ฝ”ํ”„(Lexical Scope) ๋ž€??
ยท
๐Ÿ“š STUDY/JavaScript
์Šค์ฝ”ํ”„๋ž€?์Šค์ฝ”ํ”„(Scope)๋ž€, ์œ ํšจ๋ฒ”์œ„๋ž€ ๋œป์œผ๋กœ ์ž๋ฐ”์Šคํฌ๋ฆฝํŠธ๋ฅผ ํฌํ•จํ•œ ๋ชจ๋“  ํ”„๋กœ๊ทธ๋ž˜๋ฐ ์–ธ์–ด์—์„œ ์‚ฌ์šฉํ•˜๋Š” ์ค‘์š”ํ•œ ๊ฐœ๋…์ž…๋‹ˆ๋‹ค.  ์Šค์ฝ”ํ”„์˜ ๊ฐœ๋…์„ ์ž˜ ์•Œ์•„์•ผ ์ž๋ฐ”์Šคํฌ๋ฆฝํŠธ์˜ let, const์™€ var ์„ ์–ธ์ž์˜ ์ฐจ์ด ๋“ฑ์„ ์ดํ•ดํ•˜๋Š”๋ฐ ์–ด๋ ค์›€์„ ๋œ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.  [์ถ”๊ฐ€ ๊ธ€ ์ž‘์„ฑ ์˜ˆ์ •์ž…๋‹ˆ๋‹ค.] ์Šค์ฝ”ํ”„์˜ ์ข…๋ฅ˜์ฝ”๋“œ๋Š” ํฌ๊ฒŒ ๋‘ ๊ฐ€์ง€์˜ ์Šค์ฝ”ํ”„๋กœ ๊ตฌ๋ถ„ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ์ฝ”๋“œ์˜ ๊ฐ€์žฅ ๋ฐ”๊นฅ ์˜์—ญ, ์ „์—ญ ์Šค์ฝ”ํ”„ํ•จ์ˆ˜ ๋ชธ์ฒด ๋‚ด๋ถ€ ์˜์—ญ, ์ง€์—ญ ์Šค์ฝ”ํ”„ ๊ฐ„๋‹จํ•œ ์˜ˆ์ œ๋ฅผ ์‚ดํŽด๋ณด๋ฉด,  ์˜ˆ์ œ ์ฝ”๋“œ ๋‚ด๋ถ€์— ์œ„์™€ ๊ฐ™์€ ์Šค์ฝ”ํ”„๊ฐ€ ์žˆ๋Š” ๊ฒƒ์„ ๋ณผ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. [์ถ”๊ฐ€ ๊ธ€ ์ž‘์„ฑ ์˜ˆ์ •์ž…๋‹ˆ๋‹ค.] ๋ ‰์‹œ์ปฌ ์Šค์ฝ”ํ”„์•„๋ž˜ ์ฝ”๋“œ๋ฅผ ์˜ˆ์ธก ํ•ด๋ณด๋ ค๊ณ  ํ•ฉ๋‹ˆ๋‹ค. ์ž ์‹œ ์Šคํฌ๋กค์„ ๋ฉˆ์ถ”๊ณ  ์ƒ๊ฐํ•ด๋ณด๊ธธ ๊ถŒํ•ด๋“œ๋ฆฝ๋‹ˆ๋‹ค.var x = 1;function foo() { var x = 10; ..
[Git] Git Flow ๋ธŒ๋žœ์น˜ ์ „๋žต?
ยท
๐Ÿ“š STUDY/Git
Git์€ ํ˜•์ƒ๊ด€๋ฆฌ ๋„๊ตฌ ์ค‘ ํ•˜๋‚˜์ด๋ฉฐ, Branch๋ฅผ ํ™œ์šฉํ•˜์—ฌ ํŒŒ์ผ์˜ ๋ณ€๊ฒฝ์‚ฌํ•ญ์„ ๊ธฐ๋ก ๋ฐ ๊ด€๋ฆฌํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค ๊ทธ ์ค‘ ์˜ค๋Š˜์€ Git Flow ๋ธŒ๋žœ์น˜ ์ „๋žต์— ๋Œ€ํ•ด ํฌ์ŠคํŠธํ•˜๋ ค ํ•ฉ๋‹ˆ๋‹ค.  Git-FlowGit-flow์—๋Š” 5๊ฐ€์ง€ ์ข…๋ฅ˜์˜ ๋ธŒ๋žœ์น˜๊ฐ€ ์กด์žฌํ•ฉ๋‹ˆ๋‹ค. ํ•ญ์ƒ ์œ ์ง€๋˜๋Š” ๋ฉ”์ธ ๋ธŒ๋žœ์น˜๋“ค(master, develop)๊ณผ ์ผ์ • ๊ธฐ๊ฐ„ ๋™์•ˆ๋งŒ ์œ ์ง€๋˜๋Š” ๋ณด์กฐ ๋ธŒ๋žœ์น˜๋“ค(feature, release, hotfix)์ด ์žˆ์Šต๋‹ˆ๋‹ค. master : ์ œํ’ˆ์œผ๋กœ ์ถœ์‹œ๋  ์ˆ˜ ์žˆ๋Š” ๋ธŒ๋žœ์น˜develop : ๋‹ค์Œ ์ถœ์‹œ ๋ฒ„์ „์„ ๊ฐœ๋ฐœํ•˜๋Š” ๋ธŒ๋žœ์น˜feature : ๊ธฐ๋Šฅ์„ ๊ฐœ๋ฐœํ•˜๋Š” ๋ธŒ๋žœ์น˜release : ์ด๋ฒˆ ์ถœ์‹œ ๋ฒ„์ „์„ ์ค€๋น„ํ•˜๋Š” ๋ธŒ๋žœ์น˜hotfix : ์ถœ์‹œ ๋ฒ„์ „์—์„œ ๋ฐœ์ƒํ•œ ๋ฒ„๊ทธ๋ฅผ ์ˆ˜์ • ํ•˜๋Š” ๋ธŒ๋žœ์น˜ ์œ„ ๊ทธ๋ฆผ์˜ ํ๋ฆ„์„ ์‚ดํŽด๋ณด๋ฉด,์ฒ˜์Œ์—๋Š” master์™€ de..
[Git] ๋‹ค์–‘ํ•œ Branch ๋ณ‘ํ•ฉ ๋ฐฉ๋ฒ•(git merge, git rebase, git merge --squash)
ยท
๐Ÿ“š STUDY/Git
Git์ด๋ž€?Git์€ ํ˜•์ƒ๊ด€๋ฆฌ ํˆด ์ค‘ ํ•˜๋‚˜๋กœ, ํŒŒ์ผ์„ ์ž‘์„ฑํ•˜๋Š”๋ฐ ์žˆ์–ด, ๋ณ€ํ™”ํ•˜๋Š” ๊ณผ์ •์„ ๊ด€๋ฆฌํ•ด์ฃผ๋Š” ๋„๊ตฌ์ž…๋‹ˆ๋‹ค.GitHub๋Š” ํŒŒ์ผ ๊ด€๋ฆฌ์— ์žˆ์–ด ๋กœ์ปฌ์— ์žˆ๋Š” ํŒŒ์ผ์„ ๊ณต์œ ํ•  ์ˆ˜ ์žˆ๋„๋ก ์›๊ฒฉ(remote) ์ €์žฅ์†Œ(repository)๋ฅผ ์ œ๊ณตํ•˜๋Š” ์žฅ์†Œ์ด๋ฉฐ, Branch์™€ ์ปค๋ฐ‹์„ ํ†ตํ•ด ํŒŒ์ผ์˜ ๋ณ€ํ™” ๊ณผ์ •์„ ์ €์žฅํ•ด๋‘˜ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.Branch?๊ฐ€์ง€(branch)๋ผ๋Š” ๋œป์œผ๋กœ, ํ•˜๋‚˜์˜ ํŒŒ์ผ์„ ๊ด€๋ฆฌํ•  ๋•Œ ๋ณ€ํ™”ํ•˜๋Š” ๊ณผ์ •์—์„œ ์„œ๋กœ ๋‹ค๋ฅธ ๋ฐฉํ–ฅ์œผ๋กœ ๋‚˜์•„๊ฐ€๋ฉด ์ด๋ฅผ ๊ด€๋ฆฌํ•  ๋•Œ ๊ฐ๊ฐ์˜ Branch๋กœ ๊ด€๋ฆฌํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค์ž์„ธํ•œ ์‚ฌํ•ญ์€ ์—ฌ๊ธฐ๋ฅผ ํ†ตํ•ด ์•Œ์•„๋ณด๊ณ , ์šฐ๋ฆฌ๋Š” ์ด ๋ธŒ๋žœ์น˜์˜ ๋ณ‘ํ•ฉ ๋ฐฉ๋ฒ•์— ๋Œ€ํ•ด ์•Œ์•„๋ณด๊ฒ ์Šต๋‹ˆ๋‹ค. ์„œ๋กœ ๋‹ค๋ฅธ ํŒŒ์ผ์„ ํ•˜๋‚˜์˜ ํŒŒ์ผ๋กœ ๋งŒ๋“œ๋ ค๋ฉด ์–ด๋–ป๊ฒŒ ํ•˜์ง€?  Branch๋Š” ํŒŒ์ผ์˜ ๋ณ€๊ฒฝ์‚ฌํ•ญ(์ปค๋ฐ‹)์œผ๋กœ ์ด๋ฃจ์–ด์ง„ ํ•˜๋‚˜์˜ ๊ฐ€์ง€์ž…๋‹ˆ๋‹ค. ํ˜„์žฌ ๊ฐ€..
[๊ฐœ๋…] CSS - Position ์†์„ฑ
ยท
๐Ÿ“š STUDY/CSS
์ด ๊ธ€์€ MDN์˜ ๋‚ด์šฉ์„ ๊ณต๋ถ€ํ•˜์—ฌ ๊ฐœ์ธ์ ์ธ ํ•ด์„์„ ํ•œ ๋‚ด์šฉ์ž…๋‹ˆ๋‹ค.ํ‹€๋ฆฐ ๋ถ€๋ถ„์ด ์žˆ๋‹ค๋ฉด ๋Œ“๊ธ€๋กœ ๋‚จ๊ฒจ์ฃผ์„ธ์š” ๐Ÿ˜† CSS - Position Attribute๋ฌธ์„œ ์ƒ์— ์š”์†Œ๋ฅผ ๋ฐฐ์น˜ํ•˜๋Š” ๋ฐฉ๋ฒ•์— ๋Œ€ํ•œ ์ •์˜์ด๋ฉฐ, top, right, bottom, left ์†์„ฑ์ด ์š”์†Œ๋ฅผ ๋ฐฐ์น˜ํ•  ์ตœ์ข… ์œ„์น˜๋ฅผ ๊ฒฐ์ •ํ•ฉ๋‹ˆ๋‹ค.    Static - Default์š”์†Œ๋ฅผ ์ผ๋ฐ˜์ ์ธ ๋ฌธ์„œ ํ๋ฆ„์— ๋”ฐ๋ผ ๋ฐฐ์น˜ํ•˜๊ณ , ์ž๊ธฐ ์ž์‹ ์„ ๊ธฐ์ค€์œผ๋กœ top, right, bottom, left, z-index ์†์„ฑ์ด ์•„๋ฌด๋Ÿฐ ์˜ํ–ฅ๋„ ์ฃผ์ง€ ์•Š์Šต๋‹ˆ๋‹ค. Relative ์š”์†Œ๋ฅผ ์ผ๋ฐ˜์ ์ธ ๋ฌธ์„œ ํ๋ฆ„์— ๋”ฐ๋ผ ๋ฐฐ์น˜ํ•˜๋ฉฐ, ์ž๊ธฐ ์ž์‹  ๊ธฐ์ค€์œผ๋กœ top, right, bottom, left์˜ ๊ฐ’์— ๋”ฐ๋ผ ์œ„์น˜๋ฅผ ์ ์šฉํ•ฉ๋‹ˆ๋‹ค.๋‹ค๋ฅธ ์š”์†Œ์—๋Š” ์˜ํ–ฅ์„ ์ฃผ์ง€ ์•Š์œผ๋ฉฐ, ํŽ˜์ด์ง€ ๋ ˆ์ด์•„์›ƒ์—์„œ ์š”์†Œ๊ฐ€ ์ฐจ์ง€..
[๊ฐœ๋…] HTML - Semantic Element
ยท
๐Ÿ“š STUDY/HTML
์ด ๊ธ€์€ w3school๊ณผ MDN์˜ ๋‚ด์šฉ์„ ๊ณต๋ถ€ํ•˜์—ฌ ๊ฐœ์ธ์ ์ธ ํ•ด์„์„ ํ•œ ๋‚ด์šฉ์ž…๋‹ˆ๋‹ค.ํ‹€๋ฆฐ ๋ถ€๋ถ„์ด ์žˆ๋‹ค๋ฉด ๋Œ“๊ธ€๋กœ ๋‚จ๊ฒจ์ฃผ์„ธ์š” ๐Ÿ˜† ์‹œ๋งจํ‹ฑ ์š”์†Œ(Semantic Element)๋ž€?์‹œ๋งจํ‹ฑ(Semantic)์ด๋ผ๋Š” ๋‹จ์–ด์—์„œ ์•Œ ์ˆ˜ ์žˆ ๋“ฏ, ์˜๋ฏธ๋ฅผ ๋‹ด๊ณ  ์žˆ๋Š” ์š”์†Œ๋“ค์„ ๋งํ•ฉ๋‹ˆ๋‹ค. ์ด ๊ฐœ๋…์€ HTML ๋ฟ๋งŒ ์•„๋‹ˆ๋ผ CSS, JavaScript์—์„œ๋„ ์ ์šฉ๋˜๋Š” ๊ฐœ๋…์ด๋ฉฐ, ์ด๋ฒˆ ๊ธ€์€ HTML ์œ„์ฃผ๋กœ ๋‹ค๋ฃน๋‹ˆ๋‹ค.  W3School์—์„œ ์†Œ๊ฐœํ•˜๋Š” ์ •์˜๋Š”   "A semantic element clearly describes its meaning to both the browser and the developer."๋ธŒ๋ผ์šฐ์ €์—์„œ ๋ณด์—ฌ์ง€๋Š” ๋‹จ๊ณ„์™€ ๊ฐœ๋ฐœ ๋‹จ๊ณ„์—์„œ ๋ชจ๋‘ ์˜๋ฏธ๋ฅผ ๋ช…ํ™•ํžˆ ์•Œ ์ˆ˜ ์žˆ๋Š” ์š”์†Œ   ์‰ฝ๊ฒŒ ๋งํ•˜๋ฉด, ์‚ฌ์šฉ์ž๊ฐ€ ๋ณด๋Š” ํ™”๋ฉด๊ณผ ๊ฐœ๋ฐœ..
[๊ฐœ๋…] CSS - Cascading์ด๋ž€?
ยท
๐Ÿ“š STUDY/CSS
์ด ๋‚ด์šฉ์€ MDN์—์„œ ์†Œ๊ฐœํ•œ CSS Cascading์„ ํ•ด์„ํ•˜์—ฌ ์ œ ๋ฐฉ์‹๋Œ€๋กœ ์ดํ•ดํ•œ ๋‚ด์šฉ์„ ์ •๋ฆฌํ•œ ๊ฒƒ์ž…๋‹ˆ๋‹ค.ํ‹€๋ฆฐ ๋ถ€๋ถ„์ด ์žˆ๋‹ค๋ฉด ๋Œ“๊ธ€๋กœ ๋‚จ๊ฒจ์ฃผ์„ธ์š” ๐Ÿ˜†CSS?CSS๋Š” Cascading Style Sheets์˜ ์•ฝ์ž๋กœ ์›นํŽ˜์ด์ง€๋ฅผ ๊พธ๋ฏธ๋ ค๊ณ  ์ž‘์„ฑํ•˜๋Š” ์ฝ”๋“œ์ž…๋‹ˆ๋‹ค.์ด๋ฆ„์—์„œ๋„ ์•Œ ์ˆ˜ ์žˆ๋“ฏ, Cascading์€ CSS์˜ ๊ธฐ๋ณธ ๊ฐœ๋…์ž…๋‹ˆ๋‹ค. Cascading์ด๋ž€?Cascade์˜ ์‚ฌ์ „์  ์˜๋ฏธ : ์ข…์† ๊ณต์‹๋ฌธ์„œ์ธ MDN์—์„œ ์†Œ๊ฐœํ•˜๋Š” CSS์—์„œ์˜ Cascading ์€ ๋‹ค์Œ๊ณผ ๊ฐ™์Šต๋‹ˆ๋‹ค. "The cascade is an algorithm that defines how user agents combine property values originating from different sources.""์บ์Šค์ผ€์ด๋“œ๋Š” ์„œ๋กœ ๋‹ค๋ฅธ ์†Œ์Šค์—์„œ ..