์›น ์ ‘๊ทผ์„ฑ ์ฃผ์˜ํ•ด์•ผ ํ•  ์ 
ยท
๐Ÿ‘ฉ๐Ÿป‍๐Ÿ’ปSTUDY/์›น์ ‘๊ทผ์„ฑ
์›น์ ‘๊ทผ์„ฑ ํ”„๋กœ์ ํŠธ๋ฅผ ํ•˜๋ฉด์„œ ์ƒˆ๋กญ๊ฒŒ ์•Œ์•˜๋˜ ์ , ์˜์™ธ์˜€๋˜ ์ ์ด ๋งŽ์•˜๋‹ค.์™œ ์ด๋ ‡๊ฒŒ ๊นŒ์ง€ ํ•ด์•ผ ํ• ๊นŒ ๋ผ๋Š” ์˜๊ตฌ์‹ฌ์ด ๋“ค์ˆ˜๋„ ์žˆ์ง€๋งŒ ์ง์ ‘ ๊ฒฝํ—˜ํ•ด๋ณด๋ฉด ์ดํ•ด์™€ ๋‚ฉ๋“์ด ๋˜๋Š” ์ ์ด ๋งŽ์•˜๋‹ค.์ ‘๊ทผ์„ฑ์€ ํ”„๋กœ์ ํŠธ๋งˆ๋‹ค ๊ฒ€์ˆ˜๋ฐฉ๋ฒ•์ด ์กฐ๊ธˆ์”ฉ ๋‹ค๋ฅด๋‹ค๊ณ  ํ•˜๋˜๋ฐ ์ด ๊ธ€์„ ์ฝ๊ณ  '์ด๋Ÿฐ๊ฒŒ ์žˆ๊ณ  ์œ ์˜ํ•ด์•ผ ๊ฒ ๋‹ค' ๋ผ๋Š” ์ƒ๊ฐ์œผ๋กœ ๋ณด์•˜์œผ๋ฉด ์ข‹๊ฒ ๋‹คโœ๏ธโœ๏ธ  (1) ํ—ค๋”ฉํƒœ๊ทธ`h1` : ๋กœ๊ณ ๋งํฌ ์˜์—ญ`h2~h3` : ์ปจํ…์ธ  ํƒ€์ดํ‹€์‹œ๊ฐ์žฅ์• ์ธ ์‚ฌ์šฉ์„ฑ์„ ๊ณ ๋ คํ–ˆ์„ ๋•Œ `h1`ํƒœ๊ทธ๋Š” ๋Œ€๋ถ€๋ถ„ "ํ™ˆ"์œผ๋กœ ์ธ์‹ํ•ด ๋กœ๊ณ ๋กœ ์‚ฌ์šฉํ•œ๋‹ค.๋‹จ, SEO ์œ„ํ•ด `h1`์„ ๋กœ๊ณ ๊ฐ€ ์•„๋‹Œ ๋ณธ๋ฌธ ํƒ€์ดํ‹€๋กœ ํ•˜๋Š” ๊ฒฝ์šฐ๋„ ์žˆ๋‹ค. (2) ์ด๋ฏธ์ง€ alt`` ์—์„œ ์ด๋ฏธ์ง€ ์„ค๋ช… ๋ถ€๋ถ„์ธ `alt`๋Š” 200์ž ๋„˜์–ด๊ฐ€๋ฉด ์Šคํฌ๋ฆฐ๋ฆฌ๋” ์‚ฌ์šฉ์ž๊ฐ€ ๋‚ด์šฉ์„ ์ธ์ง€ํ•˜๊ธฐ๊ฐ€ ์–ด๋ ต๋‹ค๊ณ  ํ•œ๋‹ค.์ด๋ฅผ ๋Œ€์ฒดํ…์ŠคํŠธ(blind) http..
[Gulp] ์‹œ์ž‘ํ•˜๊ธฐ
ยท
๐Ÿ‘ฉ๐Ÿป‍๐Ÿ’ปSTUDY/Gulp
gulp ๋นŒ๋“œ ๋„๊ตฌ๋ฅผ ์‚ฌ์šฉํ•ด ์ž‘์—…ํ•˜๋Š” ์ค‘์— ์Šค์Šค๋กœ ์„ธํŒ… ์ž‘์—…์„ ์‹œ์ž‘ํ•ด๋ณด๋Š”๊ฒŒ ์ข‹์„ ๊ฒƒ ๊ฐ™์•„ ์‹œ์ž‘ํ•˜๊ฒŒ ๋˜์—ˆ๋‹ค.์ƒ๊ฐ๋ณด๋‹ค ์„ธํŒ…ํ•˜๋Š”๋ฐ ์‹œ๊ฐ„์ด ์ข€ ๊ฑธ๋ ธ๋‹ค๐Ÿ˜‚ ๊ทธ๋ž˜๋„ gulp์— ๋Œ€ํ•ด์„œ ๊นŠ๊ฒŒ ์•Œ์•„๋ณด๋Š” ์‹œ๊ฐ„์ด ๋˜์—ˆ๋‹ค. Gulp ๋ž€nodejs์™€ npm ๊ธฐ๋ฐ˜์˜ ์›น ๊ฐœ๋ฐœ์„ ์œ„ํ•œ ํ”„๋กœ์„ธ์Šค ์ž๋™ํ™” ๋„๊ตฌ ์ค‘ ํ•˜๋‚˜์ด๋‹ค.์ฃผ๋กœ ํผ๋ธ”๋ฆฌ์‹ฑ ์ž‘์—…์— ์‚ฌ์šฉ๋˜๋ฉฐ HTML, CSS, JavaScript ํŒŒ์ผ์„ ์ž๋™์œผ๋กœ ์ปดํŒŒ์ผํ•˜๊ฑฐ๋‚˜ ์ตœ์ ํ™”ํ•˜๊ณ , ํŒŒ์ผ ๋ณ€๊ฒฝ์„ ๊ฐ์ง€ํ•˜์—ฌ ๋ธŒ๋ผ์šฐ์ €๋ฅผ ์ƒˆ๋กœ๊ณ ์นจํ•˜๊ฑฐ๋‚˜ ๋ผ์ด๋ธŒ ๋ฆฌ๋กœ๋“œ๋ฅผ ์ œ๊ณตํ•œ๋‹ค. gulp๋Š” *stream(์ŠคํŠธ๋ฆผ)๊ธฐ๋ฐ˜์˜ build system ์ด๋‹ค.๋˜ํ•œ node.js์™€ gulp์˜ ํŠน์ง•์ธ ์ด๋ฒคํŠธ ๋ฃจํ”„์™€ *๋น„๋™๊ธฐI/O๋ฅผ ๊ธฐ๋ฐ˜์œผ๋กœ gulp๊ฐ€ ์ž‘์—…(task)์„ ์ฒ˜๋ฆฌํ•œ๋‹ค. *stream์ด๋ž€?- ๋ฐ์ดํ„ฐ๋ฅผ '์กฐ๊ฐ๋‹จ์œ„' ๋กœ ์ฒ˜๋ฆฌ..
[React] ๋‹ค์‹œ ๊ณต๋ถ€ ์‹œ์ž‘!
ยท
๐Ÿ‘ฉ๐Ÿป‍๐Ÿ’ปSTUDY/React
๋งจ๋‚  ๊น”์ง๊น”์ง ๋Œ€๊ธฐ๋งŒ ํ•˜๋‹ค๊ฐ€ ๊ทธ๋‚˜๋งˆ ํ–ˆ๋˜ ๊ฒƒ๋„ ๋‹ค์‹œ ์žŠ์–ด๋ฒ„๋ฆด ๊ฑฐ ๊ฐ™์•„์„œ ์‹œ์ž‘ํ•ด๋ณด๋ ค๊ณ  ํ•œ๋‹ค...!๐Ÿ”ฅ๐Ÿ”ฅ๐Ÿ”ฅ๐Ÿ”ฅ ํ•œ์‹œ๊ฐ„๋งŒ์ด๋ผ๋„ ์•‰์•„์„œ ์ด๊ฒƒ์ €๊ฒƒ ์ฐพ์•„๋ณด๊ณ  ์ค€๋น„ํ•ด์•ผ์ง€ โญโญโญโญ๋ฆฌ์•กํŠธ ๋ฟ๋งŒ ์•„๋‹ˆ๋ผ ์ž๋ฐ”์Šคํฌ๋ฆฝํŠธ๋‚˜ ui๊ตฌํ˜„๋„ ํ•˜๋‚˜์”ฉ ํ•ด๋ณด์žโญโญโญโญ
[Git] ์ €์žฅ์†Œ์— ๋”ฐ๋ฅธ ๊ธ€๋กœ๋ฒŒ, ๋กœ์ปฌ ์œ ์ € ๋ณ€๊ฒฝํ•˜๊ธฐ
ยท
๐Ÿ‘ฉ๐Ÿป‍๐Ÿ’ปSTUDY/Git
์ „์ฒด(global)์™€ ํ•ด๋‹น ํ”„๋กœ์ ํŠธ(local)์— ๋งž๋Š” ์‚ฌ์šฉ์ž ์ด๋ฆ„, ์ด๋ฉ”์ผ์„ ์„ค์ •๊ณผ ์ˆ˜์ •, ์‚ญ์ œ๋ฅผ ์•Œ์•„๋ณด์ž. ๋จผ์ € ๋“ฑ๋ก๋œ ์ด๋ฆ„, ์ด๋ฉ”์ผ ํ™•์ธ ์ „์ฒดํ™•์ธ $git config --list ์ด๋ฆ„, ์ด๋ฉ”์ผ ํ™•์ธ $git config user.name $git config user.email git global (์ „์ฒด) ํ•ด๋‹น ํ„ฐ๋ฏธ๋„ ์ „์ฒด์ ์œผ๋กœ ์“ธ git account ์„ค์ • ๋ฐ ์ˆ˜์ • $git config --global user.name "์„ค์ •ํ• ์ด๋ฆ„" $git config --global user.email "์„ค์ •ํ• ์ด๋ฉ”์ผ" git local (ํ•ด๋‹น ํ”„๋กœ์ ํŠธ) ํ•ด๋‹น ํ”„๋กœ์ ํŠธ์—์„œ๋งŒ ์ ์šฉํ•  git account ์„ค์ •(๋‹ค๋ฅธ ๊ณ„์ •์˜ ์ €์žฅ์†Œ๋ฅผ ์จ์•ผ ํ•˜๋Š” ๊ฒฝ์šฐ) ๋ฐ ์ˆ˜์ • ์ง€์ •ํ•  ์ €์žฅ์†Œ๋กœ ์ด๋™ ํ›„ ํ„ฐ๋ฏธ๋„์— ์•„๋ž˜ ๋ช…๋ น์–ด ์ž…๋ ฅ $..
[JavaScript] ๋น„๊ตฌ์กฐํ™”(๊ตฌ์กฐ๋ถ„ํ•ด) ํ• ๋‹น
ยท
๐Ÿ‘ฉ๐Ÿป‍๐Ÿ’ปSTUDY/JavaScript
๋ณดํ˜ธ๋˜์–ด ์žˆ๋Š” ๊ธ€์ž…๋‹ˆ๋‹ค.
[HTML] <button> , <input type="button"> ์ฐจ์ด
ยท
๐Ÿ‘ฉ๐Ÿป‍๐Ÿ’ปSTUDY/HTML
button ํƒœ๊ทธ์˜ type ์†์„ฑsubmit :: ํผ์„ ์ œ์ถœํ•˜๋Š” ์ด๋ฒคํŠธ๋ฅผ ๋ฐœ์ƒ.reset :: ํผ์•ˆ์— ์ž‘์„ฑ๋œ ๋‚ด์šฉ์„ ์ดˆ๊ธฐํ™”.button :: ๊ทธ ์ž์ฒด๋กœ๋Š” ์•„๋ฌด๋Ÿฐ ์ด๋ฒคํŠธ๊ฐ€ ์—†๊ณ , click์ด๋ฒคํŠธ์™€ ์—ฐ๊ฒฐ์‹œ์ผœ์„œ ์ž๋ฐ”์Šคํฌ๋ฆฝํŠธ๋ฅผ ํ™œ์šฉํ•˜๋Š” ๋ฐฉ๋ฒ•์œผ๋กœ ๋งŽ์ด ์‚ฌ์šฉ.buttonํƒœ๊ทธ type์˜ ๊ธฐ๋ณธ๊ฐ’์€ submit์ด๋ผ button์ด๋ผ๊ณ  ๋ช…์‹œํ•ด์ฃผ๋Š” ๊ฒƒ์ด ์ข‹๋‹ค.buttonํƒœ๊ทธ๊ฐ€ ๋“ฑ์žฅํ•˜๊ธฐ ์ „์— ์„ ์‚ฌ์šฉํ•ด button๋™์ž‘์„ ๋Œ€์‹ ํ–ˆ๋‹ค๊ณ  ํ•œ๋‹ค.button vs inputbuttonํƒœ๊ทธ์™€ inputํƒœ๊ทธ์˜ ํฐ ์ฐจ์ด์ ์€ button์€ ์Šค์Šค๋กœ ๋‹ซ์ง€ ์•Š๋Š” ํƒœ๊ทธ์ด๊ณ , input์€ ์Šค์Šค๋กœ ๋‹ซ๋Š” ํƒœ๊ทธ.button์€ ํ•˜์œ„ ํƒœ๊ทธ๋“ค์„ ์ถ”๊ฐ€ํ•  ์ˆ˜ ์žˆ๋‹ค.(input์€ ์•ˆ๋จ) buttonํƒœ๊ทธ๋ฅผ ์‚ฌ์šฉํ•˜๋Š” ๊ฒฝ์šฐ button์˜ ์ž์‹์œผ๋กœ imgํƒœ๊ทธ ๋„ฃ์–ด ์ค„ ์ˆ˜ ์žˆ๋‹ค..
[JavaScript] e.target , e.currentTarget
ยท
๐Ÿ‘ฉ๐Ÿป‍๐Ÿ’ปSTUDY/JavaScript
e.target , e.curentTarget ์ฐจ์ด์  ๊ฒฐ๋ก ๋ถ€ํ„ฐ ๋งํ•˜์ž๋ฉด, e.target :: ์‹ค์ œ ์ด๋ฒคํŠธ๊ฐ€ ๋ฐœ์ƒํ•˜๋Š” ์š”์†Œ (๋‚˜๋งŒ ์ด๋ฒคํŠธ ๋ฐœ์ƒ) e.currentTarget :: ์ด๋ฒคํŠธ ๋ฆฌ์Šค๋„ˆ๊ฐ€ ๋‹ฌ๋ฆฐ ์š”์†Œ (์ž์‹ ํด๋ฆญํ•ด๋„ ๋ถ€๋ชจ๋„ ์ด๋ฒคํŠธ ์œ„์ž„) outer inner button const outer = document.getElementById('outer'); const inner = document.getElementById('inner'); const button = document.getElementById('button'); function printLog(e) { const { target, e.currentTarget } = e; console.log(`target: ${target.id}, ..
[HTML] table
ยท
๐Ÿ‘ฉ๐Ÿป‍๐Ÿ’ปSTUDY/HTML
https://brunch.co.kr/@snclab/31 ํ‘œ์˜ ๋‚ด์šฉ์„ ์ดํ•ดํ•˜๊ธฐ ์‰ฝ๊ฒŒ ์ œ๊ณตํ•˜๊ธฐ ์˜ค๋ฅ˜ ์œ ํ˜•์œผ๋กœ ์‚ดํŽด๋ณด๋Š” ์›น ์ ‘๊ทผ์„ฑ ์ง€์นจ | ํ‘œ๋Š” ์–ด๋–ค ๋‚ด์šฉ์„ ์ผ์ •ํ•œ ํ˜•์‹๊ณผ ์ˆœ์„œ์— ๋”ฐ๋ผ ์•Œ์•„ ๋ณด๊ธฐ ์‰ฝ๊ฒŒ ๋‚˜ํƒ€๋‚ธ ๊ฒƒ์ž…๋‹ˆ๋‹ค. ๊ทธ๋Ÿฌ๋ฏ€๋กœ ์šฐ๋ฆฌ๊ฐ€ ํ‘œ๋ฅผ ๋งŒ๋“ค ๋•Œ๋Š” ํ‘œ์˜ ์ผ์ •ํ•œ ํ˜•์‹๊ณผ ์ˆœ์„œ๋ฅผ ์•Œ ์ˆ˜ ์žˆ brunch.co.kr