๊ด€๋ฆฌ ๋ฉ”๋‰ด

๋ชฉ๋ก์ „์ฒด ๊ธ€ (311)

Daehyunii's Dev-blog

[๋ฐ๋ธŒ์ฝ”์Šค] TIL-123 Vue, Slots, ๋™์ ์ปดํฌ๋„ŒํŠธ, Ref, ํ”Œ๋Ÿฌ๊ทธ์ธ, ๋ฏน์Šค์ธ

์ปดํฌ๋„ŒํŠธ Slots slot์ด๋ผ๋Š” ํƒœ๊ทธ๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ ์ƒ์œ„ ์ปดํฌ๋„ŒํŠธ์— ์ž‘์„ฑํ•œ ํ•˜์œ„ ์ปดํฌ๋„ŒํŠธ๊ฐ€ slot ๋ถ€๋ถ„์— ๋“ค์–ด๊ฐ€์„œ ํ™”๋ฉด์ด ๊ทธ๋ ค์ง„๋‹ค. slot ํƒœ๊ทธ์— name์„ ์ง€์ •ํ•  ์ˆ˜ ์žˆ๊ณ , ์ด๋ฅผ v-slot์œผ๋กœ ๋ฐ›์„ ์ˆ˜ ์žˆ๋‹ค. v-slot ๋””๋ ‰ํ‹ฐ๋ธŒ๋Š” #์ด๋ผ๋Š” ์•ฝ์–ด๋กœ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ๋‹ค. ์ƒ์œ„ ์ปดํฌ๋„ŒํŠธ abc ํ•˜์œ„ ์ปดํฌ๋„ŒํŠธ Hello Hi ๋™์  ์ปดํฌ๋„ŒํŠธ ๋™์ ์œผ๋กœ ์ปดํฌ๋„ŒํŠธ๋ฅผ ๋ฐ”๊ฟ”์ค„ ์ˆ˜ ์žˆ๋Š” ๊ธฐ๋Šฅ์ด๋‹ค. component ํƒœ๊ทธ์— is๋ผ๋Š” ์†์„ฑ์„ ์‚ฌ์šฉํ•˜์—ฌ ๋™์ ์œผ๋กœ ๋ฐ”๋€” ์ปดํฌ๋„ŒํŠธ ์ด๋ฆ„์„ ์ž‘์„ฑํ•ด์ค€๋‹ค. ์—ฌ๊ธฐ์„œ ์ปดํฌ๋„ŒํŠธ ์ด๋ฆ„์€ ์Šคํฌ๋ฆฝํŠธ ์•ˆ์— ์ง€์ •๋œ ์ด๋ฆ„์ด๋‚˜ ์ „์—ญ ์ปดํฌ๋„ŒํŠธ ์ด๋ฆ„๋งŒ ์‚ฌ์šฉ ๊ฐ€๋Šฅํ•˜๋‹ค. ์œ„์™€ ๊ฐ™์€ ๋ฐฉ์‹์œผ๋กœ currentComponent์˜ ๊ฐ’์„ ๋ณ€๊ฒฝ ์‹œ์ผœ์ฃผ์–ด ๋™์ ์œผ๋กœ ์ปดํฌ๋„ŒํŠธ๋ฅผ ๋ฐ”๊พธ๋ฉด ์ปดํฌ๋„ŒํŠธ๊ฐ€ unmounted ๋˜๊ณ  ๋‹ค์‹œ cre..

classํ˜• ์ปดํฌ๋„ŒํŠธ - shouldComponentUpdate( )

shouldComponentUpdate ๋ผ์ดํ”„ ์‚ฌ์ดํด ๋ฉ”์„œ๋“œ ๋ Œ๋”๋ง์‹œ state, props์˜ ๋ณ€๊ฒฝ์ด ์žˆ๋Š” ๊ฒฝ์šฐ์—๋งŒ ๋ Œ๋”๋ง ๋  ์ˆ˜ ์žˆ๋„๋กํ•˜๋Š” ์ตœ์ ํ™”์— ์œ ์šฉํ•œ ๋ฉ”์„œ๋“œ์ด๋‹ค. ์•„๋ž˜์˜ ์ฝ”๋“œ๋ฅผ ๋ณด๋ฉด click๋ฒ„ํŠผ์ด ์žˆ๋Š” ํ•˜๋‚˜์˜ ํ…Œ์ŠคํŠธ์šฉ ์ปดํฌ๋„ŒํŠธ์ด๋‹ค. click ์ด๋ฒคํŠธ๋ฅผ ๋„ฃ์–ด์คฌ์ง€๋งŒ click์„ ์—ฌ๋Ÿฌ๋ฒˆ ๋ˆ„๋ฅด๋”๋ผ๋„ ๊ณ„์†ํ•ด์„œ ๋™์ผํ•˜๊ฒŒ ๋นˆ ๊ฐ์ฒด๋กœ setStateํ•˜๊ธฐ ๋•Œ๋ฌธ์— state๋Š” ๋ณ€๊ฒฝ๋˜์ง€ ์•Š๋Š”๋‹ค. ์ฆ‰ ์—ฌ๋Ÿฌ๋ฒˆ์˜ click์—๋„ state๋Š” ๋ฐ”๋€Œ๋Š” ๊ฒƒ์ด ์—†๋‹ค. ๋ฆฌ์•กํŠธ์˜ ํ•ต์‹ฌ์€ '์ƒํƒœ๊ฐ€ ๋ณ€ํ™”ํ•˜๋ฉด ์ƒˆ๋กญ๊ฒŒ ๊ทธ๋ฆฐ๋‹ค!' ๋ผ๊ณ  ๋ณผ ์ˆ˜ ์žˆ๋‹ค. ๋ฆฌ์•กํŠธ์—์„œ ๋ฆฌ๋ Œ๋”๋ง์ด ๋ฐœ์ƒํ•˜๋Š” ์ด์œ ๋Š” ํฌ๊ฒŒ 3๊ฐ€์ง€ ์ด๋‹ค. state๊ฐ€ ๋ณ€ํ•˜๊ฑฐ๋‚˜, props๊ฐ€ ๋ณ€ํ•˜๊ฑฐ๋‚˜, ๋ถ€๋ชจ ์ปดํฌ๋„ŒํŠธ๊ฐ€ ๋ฆฌ๋ Œ๋”๋ง๋˜๋ฉด ์ž์‹ ์ปดํฌ๋„ŒํŠธ๋„ ๊ฐ™์ด ๋ฆฌ๋ Œ๋”๋ง๋˜๋Š” ๊ฒฝ์šฐ 3๊ฐ€์ง€ ์ด๋‹ค. ๊ทธ๋ ‡๋‹ค๋ฉด..

[๋ฐ๋ธŒ์ฝ”์Šค] TIL-122 Vue, Node.js, Parcel, Webpack, ์ปดํฌ๋„ŒํŠธ

Node.js์™€ NPM 1. node.js ์ž๋ฐ”์Šคํฌ๋ฆฝํŠธ ๋Ÿฐํƒ€์ž„์ด๋‹ค. ๋ธŒ๋ผ์šฐ์ €์—์„œ ์ž๋ฐ”์Šคํฌ๋ฆฝํŠธ๊ฐ€ ๋™์ž‘ํ•  ์ˆ˜ ์žˆ๋Š” ํ™˜๊ฒฝ์„ ๋งŒ๋“ค์–ด์ฃผ๋Š” ๊ฒƒ์ด๋‹ค. ๋” ์•ˆ์ •์ ์ธ LTS ๋ฒ„์ „์„ ์‚ฌ์šฉํ•˜์ž. npm node.js ํŒจํ‚ค์ง€ ๋งค๋‹ˆ์ €์ด๋‹ค. ์—ฌ๋Ÿฌ ํŒจํ‚ค์ง€๋ฅผ ์„ค์น˜ํ•˜์—ฌ ์šฐ๋ฆฌ๊ฐ€ ๊ฐœ๋ฐœํ•˜๊ธฐ ์šฉ์ดํ•˜๊ฒŒ ํ•ด์ค€๋‹ค. nvm node.js ๋ฒ„์ „์„ ๋ฐ”๊พธ๋ฉด์„œ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ๋„๋ก ๋„์™€์ฃผ๋Š” ํŒจํ‚ค์ง€์ด๋‹ค. ์ด ๋•Œ, node.js๊ฐ€ ์„ค์น˜๋˜๊ธฐ ์ „์— ์„ค์น˜๋ฅผ ํ•ด์•ผ ํ•œ๋‹ค. nvm-setup ๋˜๋Š” ๋ช…๋ น์–ด๋กœ ์„ค์น˜ํ•  ์ˆ˜ ์žˆ๋‹ค. n ์ด๋ฏธ node.js๊ฐ€ ์„ค์น˜๋˜์–ด ์žˆ๋Š” ์ƒํƒœ์ด๊ณ  ์‚ญ์ œํ•˜๊ธฐ ์–ด๋ ต๋‹ค๋ฉด nvm ๋Œ€์‹  n ํŒจํ‚ค์ง€๋ฅผ ์„ค์น˜ํ•˜๋ฉด ์ข‹๋‹ค. npm์œผ๋กœ ์„ค์น˜ํ•  ์ˆ˜ ์žˆ๊ณ , ์›ํ•˜๋Š” node.js ๋ฒ„์ „์„ ์„ค์น˜ํ•  ์ˆ˜ ์žˆ๊ฒŒ ๋„์™€์ฃผ๋Š” ํŒจํ‚ค์ง€์ด๋‹ค. ํ”„๋กœ์ ํŠธ๋ฅผ npm์œผ๋กœ ๊ด€๋ฆฌํ•˜๊ณ  ์‹ถ์œผ๋ฉด ์•„๋ž˜ ๋ช…๋ น์–ด๋กœ..

[๋ฐ๋ธŒ์ฝ”์Šค] TIL-121 Vue, ๋ Œ๋”๋ง, ์ด๋ฒคํŠธ, ํผ ์ž…๋ ฅ ๋ฐ”์ธ๋”ฉ, ์ปดํฌ๋„ŒํŠธ

์กฐ๊ฑด๋ถ€ ๋ Œ๋”๋ง 1. v-if, v-else-if, v-else ํ•ด๋‹น ๋””๋ ‰ํ‹ฐ๋ธŒ๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ ์กฐ๊ฑด๋ฌธ์„ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ๋‹ค. ๊ฐ ์š”์†Œ ์ค‘๊ฐ„์— ๋‹ค๋ฅธ ์š”์†Œ๊ฐ€ ๋“ค์–ด๊ฐ€์ง€ ์•Š์œผ๋ฉด true, false์— ๋”ฐ๋ผ ๋ Œ๋”๋ง์„ ํ•ด์ค€๋‹ค. ์ฐธ๊ณ ๋กœ ๋นˆ ๋ฐฐ์—ด์ด๋‚˜ ๊ฐ์ฒด๋Š” truthyํ•œ ๊ฐ’์ด๋ผ ๊ฒฐ๊ณผ๊ฐ€ true๋กœ ๋‚˜์˜จ๋‹ค. Hello Vue! Application Good Morning~ ๋งŒ์•ฝ v-else-if์—์„œ div ํƒœ๊ทธ๋ฅผ ๋ Œ๋”๋งํ•˜์ง€ ์•Š๊ณ , ๊ทธ ๋‚ด๋ถ€์˜ ์š”์†Œ๋งŒ ๋ Œ๋”๋งํ•˜๊ณ  ์‹ถ๋‹ค๋ฉด template ํƒœ๊ทธ๋ฅผ ์‚ฌ์šฉํ•˜๋ฉด ๋œ๋‹ค. v-if๋Š” falsyํ•œ ๊ฐ’์ด ๋‚˜์˜ค๋ฉด lazyํ•˜๋‹ค๊ณ  ํ•  ์ˆ˜ ์žˆ๋‹ค. ๊ตฌ์กฐ์ ์œผ๋กœ ์ƒ์„ฑ์กฐ์ฐจ ํ•˜์ง€ ์•Š๊ธฐ ๋•Œ๋ฌธ์— ์ดˆ๊ธฐ ๋ Œ๋”๋ง ๋น„์šฉ์ด ๋‚ฎ์ง€๋งŒ, ์ „ํ™˜ ๋น„์šฉ์€ ๋†’๋‹ค. 2. v-show ์กฐ๊ฑด์— ๋”ฐ๋ผ ์š”์†Œ๋ฅผ ๋ณด์ด๊ฑฐ๋‚˜ ๋ณด์ด์ง€ ์•Š๊ฒŒ ํ•ด์ฃผ๋Š”๋ฐ, CSS st..

web 1.0 / web 2.0 / web 3.0

์›น์ด๋ž€? 'World Wide Web'์˜ ์ค„์ž„๋ง๋กœ, ์ธํ„ฐ๋„ท ์œ„์—์„œ ๋™์ž‘ํ•˜๋Š” ์„œ๋น„์Šค์ž…๋‹ˆ๋‹ค. ๐Ÿ“š์œ ๋ž˜ 1989๋…„ 'ํŒ€ ๋ฒ„๋„ˆ์Šค ๋ฆฌ'์— ์˜ํ•ด์„œ ๋ถ™์—ฌ์ง„ ์ด๋ฆ„์ด ํ˜„์žฌ๊นŒ์ง€ ์‚ฌ์šฉ๋˜๊ณ  ์žˆ๋Š” ์›น์€ ์ •๋ณด๋“ค์ด ์„œ๋กœ ์—ฐ๊ฒฐ๋˜์–ด ์žˆ๋Š” ํ˜•ํƒœ๊ฐ€ ์‹ค์ด ์—‰์ผœ ์žˆ๋Š” ๊ฑฐ๋ฏธ์ค„ ๋ชจ์–‘๊ณผ ์œ ์‚ฌํ•ด ๊ฑฐ๋ฏธ์ค„์„ ์˜๋ฏธํ•˜๋Š” 'Web'์ด๋ผ๋Š” ๋‹จ์–ด๋ฅผ ๊ทธ๋Œ€๋กœ ์‚ฌ์šฉํ–ˆ๋‹ค๊ณ  ํ•ฉ๋‹ˆ๋‹ค. ์›น์€ ์‚ฌ์šฉ์ž๋“ค์ด ์ •๋ณด๋ฅผ ๋‚˜๋ˆ„๋Š” ์ •๋ณด์˜ ๊ณต๊ฐ„์„ ์ œ๊ณตํ•ด ์ค๋‹ˆ๋‹ค. ์›น์€ ํ•˜์ดํผํ…์ŠคํŠธ ๊ตฌ์กฐ๋ฅผ ํ™œ์šฉํ•ด์„œ ์ธํ„ฐ๋„ท์ƒ์˜ ๋ฐฉ๋Œ€ํ•œ ์–‘์˜ ์ •๋ณด๋ฅผ ์„œ๋กœ ์—ฐ๊ฒฐํ•ด ์ค๋‹ˆ๋‹ค. ์›น์€ ํƒ„์ƒ ์ด๋ž˜๋กœ ์—ฌ๋Ÿฌ ๋‹จ๊ณ„๋ฅผ ๊ฑฐ์ณ ๋ฐœ์ „ํ•ด ์™”์Šต๋‹ˆ๋‹ค. ๊ฐ€์žฅ ์ดˆ๊ธฐ ๋‹จ๊ณ„์ธ ์›น 1.0, ๊ทธ๋ฆฌ๊ณ  ์šฐ๋ฆฌ๊ฐ€ ๊ฐ€์žฅ ์ต์ˆ™ํ•˜๊ฒŒ ์‚ฌ์šฉํ•˜๊ณ  ์žˆ๋Š” ์›น2.0 ๊ทธ๋ฆฌ๊ณ  ์ด์ œ๋Š” ์›น3.0์œผ๋กœ ๋‚˜์•„๊ฐ€๊ณ  ์žˆ์Šต๋‹ˆ๋‹ค. (์›น ๋’ค์— ์žˆ๋Š” ์ˆซ์ž๋Š” ์›น์˜ ๋ฐœ์ „ ๋‹จ๊ณ„๋ฅผ ์˜๋ฏธํ•ฉ๋‹ˆ๋‹ค.) ์›น 1.0..