์ผ | ์ | ํ | ์ | ๋ชฉ | ๊ธ | ํ |
---|---|---|---|---|---|---|
1 | 2 | |||||
3 | 4 | 5 | 6 | 7 | 8 | 9 |
10 | 11 | 12 | 13 | 14 | 15 | 16 |
17 | 18 | 19 | 20 | 21 | 22 | 23 |
24 | 25 | 26 | 27 | 28 | 29 | 30 |
- ๋ธ๋ก๊ทธ
- useEffect
- Flex
- REACT
- ๋ฐ๋ธ์ฝ์ค3๊ธฐ
- Gatsby
- fetch API
- useRef
- ํ๋ก๊ทธ๋๋จธ์ค
- ์๊ณ ๋ฆฌ์ฆ
- ๋ฐ๋ธ์ฝ์ค
- history api
- float
- ํ๋ก ํธ์๋
- CSS
- position
- ์ฝ๋ฉํ ์คํธ
- Props
- ์๋ฐ์คํฌ๋ฆฝํธ
- Today
- Total
๋ชฉ๋ก์ ์ฒด ๊ธ (311)
Daehyunii's Dev-blog
Vue๋? ์ฌ์ฉ์ ์ธํฐํ์ด์ค๋ฅผ ๋ง๋ค๊ธฐ ์ํ ํ๋ก๊ทธ๋ ์๋ธ ์๋ฐ์คํฌ๋ฆฝํธ ํ๋ ์์ํฌ์ด๋ค. Vue 3 ๋ฒ์ ์ด ํ์ฌ ๊ฐ์ฅ ์ต์ ๋ฒ์ ์ด๋ฉฐ, Vue 2 ๋ฒ์ ์์ Vue 3 ๋ฒ์ ์ผ๋ก ๋์ด๊ฐ๊ณ ์๋ ๊ณผ๋๊ธฐ์ด๋ค. ํต์ฌ ๋ผ์ด๋ธ๋ฌ๋ฆฌ๋ ๋ทฐ ๋ ์ด์ด๋ง ์ด์ ์ ๋ง์ถ์ด ๋ค๋ฅธ ๋ผ์ด๋ธ๋ฌ๋ฆฌ๋ ๊ธฐ์กด ํ๋ก์ ํธ์ ํตํฉ์ด ์ฝ๋ค. ๋ ์ด์์์ ์ฒ๋ฆฌํ๋๋ฐ ์ ์ฉํ๋ค. 1. ์ ์ธ์ ๋ ๋๋ง ๊ฐ๋จํ ํ ํ๋ฆฟ ๊ตฌ๋ฌธ์ ์ฌ์ฉํ์ฌ DOM์์ ๋ฐ์ดํฐ๋ฅผ ์ ์ธ์ ์ผ๋ก ๋ ๋๋งํ ์ ์๋ค. ๋ฐ์ดํฐ์ DOM์ด ์ฐ๊ฒฐ๋์์ผ๋ฉฐ ๋ฐ์ํ ๋ฐ์ดํฐ๊ฐ ๋์๋ค๊ณ ๋งํ ์ ์๋ค. ๋ฐ์ดํฐ๊ฐ ๋ฐ๋ ๋ ์ฐ๊ฒฐ๋์ด ์๋ ํ๋ฉด๋ ๋ฐ๋๋ ๊ฒ์ ๋ฐ์์ฑ์ด๋ผ๊ณ ํ๋ค. ๋ฐ์ํ ๋ฐ์ดํฐ๋ฅผ ์ ์ธํ๊ณ ํ๋ฉด์ ๋ ๋๋งํด๋ณด์. ์ฐธ๊ณ ๋ก setInterval() ์ฝ๋ฐฑํจ์๋ this๊ฐ ์ฐธ์กฐํ๋ ๊ณณ์ด ๋ฌ๋ผ์ง ์ ์๊ธฐ ๋๋ฌธ์ ํ์ดํํจ์๋ก..
์ฌํ์ฉ 1. @mixin ๊ท์น ์ฌํ์ฉํ ์คํ์ผ์ ์ ์ํ ์ ์๋ค. ๋ง์น ํจ์์ฒ๋ผ ์ ์ธํ๋ ๋ฐฉ๋ฒ์ด๋ค. @include ๊ท์น์ ์ฌ์ฉํ์ฌ ์ํ๋ ๊ณณ์ ์คํ์ผ์ ์ ์ฉํ ์ ์๋ค. @mixin large-text($size: 30px) { font-size: $size; } .box { @include large-text(40px); } ๋งค๊ฐ ๋ณ์๋ฅผ ์ฌ์ฉํ์ง ์๊ณ mixin์ ์ฌ์ฉํ๋ ๊ณณ๋ ์๊ธฐ ๋๋ฌธ์ ๋งค๊ฐ๋ณ์์ ์ด๊ธฐ๊ฐ์ ๊ผญ ์ค์ ํด์ฃผ์ด์ผ ํ๋ค. ๋งค๊ฐ ๋ณ์์ …์ ๋ถ์ด๋ฉด ๊ฐ๋ณ ์ธ์๋ผ๋ ์๋ฏธ๊ฐ ๋๋ค. @mixin bg($w, $h, $b...) { width: $w, height: $h, background: $b } .box { @include ( 100px, 200px, url('/images/a.png') no..
Sass(SCSS)๋? CSS ์ ์ฒ๋ฆฌ ๋๊ตฌ(Preprocessor)์ด๋ค. SCSS๋ ์ค๊ดํธ์ ์ธ๋ฏธ์ฝ๋ก ์ด ์ฌ์ฉ๋๊ณ , Sass๋ ์ค๊ดํธ์ ์ธ๋ฏธ์ฝ๋ก ์ด ์ฌ์ฉ๋์ง ์๋๋ค. ์ด๊ฒ์ด ๊ฐ์ฅ ํฐ ์ฐจ์ด์ ์ด๋ค. SCSS์์๋ CSS์์ ์ฌ์ฉํ๋ ๋ฌธ๋ฒ ๊ทธ๋๋ก ์ฌ์ฉํด๋ ํธํ๋๊ธฐ ๋๋ฌธ์, Sass๋ณด๋ค๋ SCSS๋ฅผ ์ฌ์ฉํ๋ ๊ฒ์ ์ ๊ทน ๊ถ์ฅํ๋ค. SassMeister | The Sass Playground! SassMeister | The Sass Playground! SassMeister: The sassiest way to play with Sass, Compass, & LibSass! Loading... www.sassmeister.com SCSS๋ฅผ CSS๋ก ์ปดํ์ผํด์ฃผ๋ ์ฌ์ดํธ 1. ์ค์ฒฉ๊ธฐ๋ฅ SCSS .container { d..
๋ณ์ ์ ์ธ์ ์คํ ์์ ๊ณผ ๋ณ์ ํธ์ด์คํ ์๋ฐ์คํฌ๋ฆฝํธ ์์ง์ ๋ณ์ ์ ์ธ์ ๋ค์๊ณผ ๊ฐ์ 2๋จ๊ณ์ ๊ฑฐ์ณ ์ํํฉ๋๋ค. ์ ์ธ ๋จ๊ณ : ๋ณ์ ์ด๋ฆ์ ๋ฑ๋ก(์คํ ์ปจํ ์คํธ์ ๋ ์์ปฌ ํ๊ฒฝ)ํด์ ์๋ฐ์คํฌ๋ฆฝํธ ์์ง์ ๋ณ์์ ์กด์ฌ๋ฅผ ์๋ฆฝ๋๋ค. ์ด๊ธฐํ ๋จ๊ณ : ๊ฐ์ ์ ์ฅํ๊ธฐ ์ํ ๋ฉ๋ชจ๋ฆฌ ๊ณต๊ฐ์ ํ๋ณดํ๊ณ ์๋ฌต์ ์ผ๋ก undefined๋ฅผ ํ ๋นํด ์ด๊ธฐํ ํฉ๋๋ค. (const ์ ์ธ) console.log(score); // undefined var score = 'Hello World' console.log(score); // 'Hello World' var hoisting = '์ ์ธ๋ฌธ์ด ์ค์ฝํ์ ์ ๋๋ก ๋์ด ์ฌ๋ ค์ง ๊ฒ์ฒ๋ผ ๋์ํ๋ ๊ฒ์ ์๋ฐ์คํฌ๋ฆฝํธ๋ง์ ๊ณ ์ ํ ํน์ง์ธ ํธ์ด์คํ ์ด๋ผ๊ณ ํฉ๋๋ค' var ํค์๋๋ก ์ ์ธํ ๋ณ์์ ํน์ง 1. ๋ณ..
CSS ๋ณ์ 1. ์ฌ์ฉ๋ฒ —๋ณ์๋ช ์ ์ ์ธํ๊ณ var(—๋ณ์๋ช )์ ์์ฑ ๊ฐ์ผ๋ก ๋ฃ์ด์ฃผ๋ฉด ์ฌ์ฉํ ์ ์๋ค. ๋ณ์๋ ๋ณ์๋ฅผ ์ ์ธํ ์์์ ํ์ ์์๋ก ์์์ด ๋๋ค. /* ์ต์์์ ์ ์ญ์ผ๋ก ๋ณ์๋ฅผ ์ ์ธ */ :root { --color-primary: royalblue; --color-danger: red; --color-success: yellowgreen; } .box { width: 200px; height: 70px; border: 4px solid; } .primary { background-color: var(--color-primary); } .danger { background-color: var(--color-danger); } .success { background-color: var(--co..
Grid๋? 2์ฐจ์ ๋ ์ด์์ ๊ตฌ์กฐ๋ฅผ ๋ง๋๋๋ฐ ์ฌ์ฉํ๋ค. row์ column 2๊ฐ์ ์ถ์ ์ฌ์ฉํด์ ๋ ์ด์์์ ์์ ํ๋ค. display: grid๋ฅผ ์ ์ฉํ ๊ณณ์ grid container๋ผ๊ณ ํ๊ณ , ๊ทธ ํ์ ์์๋ค์ grid items๋ผ๊ณ ๋ถ๋ฅธ๋ค. ์ํ ์ ๋ ฌ ์, grid ๋๋ inline-grid๋ฅผ ์ฌ์ฉํ ์ ์๋ค. grid: grid container๊ฐ block ์์์ ํน์ง์ ๊ฐ์ง๋ค. ์์ง ์ ๋ ฌ, ๊ฐ๋ก ๋๋น๋ฅผ ์ต๋๋ก, ์ธ๋ก ๋๋น๋ฅผ ์ต์๋ก ํ๋ ค๋ ํน์ง inline-grid: grid container๊ฐ inline ์์์ ํน์ง์ ๊ฐ์ง๋ค. ์ํ ์ ๋ ฌ, ๊ฐ๋ก ์ธ๋ก ๋๋น๋ฅผ ์ต์๋ก ํ๋ ค๋ ํน์ง grid container์ ์ ์ฉํ ์ ์๋ ์์ฑ๋ค์ ๋ํด ์์๋ณด์. 1. grid-template-rows ํ ์ถ์..
Float ์ํ์ ๋ ฌ ๋ ์ด์์์์ ์ฌ์ฉํ๊ธด ํ์ง๋ง, ์์ฆ์ ๋๋ถ๋ถ flex๋ก ํ๋ค. float๋ฅผ ์ฌ์ฉํ๋ ์์๋ค๋ง ํ์ ์์๋ก ๋ฌถ๊ณ , ๋ถ๋ชจ์ clearfix ํด๋์ค๋ฅผ ์ ์ฉํด์ ๊ด๋ฆฌํด์ผ ๋ฌธ์ ๊ฐ ์๊ธฐ์ง ์๋๋ค. float๋ฅผ ์ฌ์ฉํ๋ฉด flex, inline-flex, grid๋ฅผ ์ ์ธํ๊ณ ๋ display๊ฐ block์ผ๋ก ๋ฐ๋๋ค. 1. Float ํด์ ๋ฐฉ๋ฒ float๋ฅผ ์ฌ์ฉํ๋ฉด ๋ค์ ์์์ ์ํฅ์ด ๊ฐ๊ธฐ ๋๋ฌธ์ float ์์ฑ์ ํด์ ํ๋ ๊ฒ์ด ํ์ํ๋ค. ์ด 3๊ฐ์ง ๋ฐฉ๋ฒ์ด ์กด์ฌํ๋, 3๋ฒ์งธ ๋ฐฉ๋ฒ์ด ๊ฐ์ฅ ์ ํฉํ ๋ฐฉ๋ฒ์ด๋ค. clear๋ฅผ ์ ์ฉํ ๋ง์ง๋ง ์์์ ๋ค์ ํ์ ์์๋ฅผ ์ถ๊ฐํ๋ค. ๋ถ๋ชจ์ overflow: hidden์ ์ถ๊ฐํ๋ค. ::after๋ฅผ ์ฌ์ฉํ์ฌ ๊ฐ์์์๋ฅผ ๋ง๋ค๊ณ clear๋ฅผ ์ฌ์ฉํ๋ค. ::after๋ฅผ ์ฌ์ฉํ๊ธฐ ..
ES6 module ์ด๋? 1. import export ํค์๋๋ก ๋ด๋ณด๋ด์ง ๋ณ์, ํจ์ ๋ฑ์ ๋ถ๋ฌ์ฌ ์ ์๋ ํค์๋์ด๋ค. import๋ฅผ ์ฌ์ฉํ๋ ค๋ฉด ์น ์๋ฒ๊ฐ ํ์ํ๋ค. ์ฐ๋ฆฌ๋ npx serve ๋ชจ๋์ ์ฌ์ฉํ์ฌ ๋ก์ปฌ ์น์๋ฒ๋ฅผ ๋์ฐ๊ณ ์์ด ์๊ด์๋ค. from ์ดํ ๋ชจ๋ ์ด๋ฆ ๋งจ ๋ค์ .js๋ฅผ ๋นผ๋จน์ง ์์๋์ง ์ฒดํฌํด์ผ ํ๋ค. import defaultExport from 'module-name; ์์ ๊ฒฝ์ฐ์๋ module-name ๋ด์ export default๋ก ๋ด๋ณด๋ด์ง ๊ฒ์ ๊ฐ์ ธ์จ๋ค. ๋ณดํต ์ปดํฌ๋ํธ ๋จ์๋ก ์ฝ๋๋ฅผ ๊ตฌ์ฑํ ๋๋ ํ๋์ ํ์ผ์ export default๊ฐ ํ๋๋ง ์๊ฒ ๊ตฌํํ๋ค. import * as allItems from 'module-name' ์์ ๊ฒฝ์ฐ์๋ module-name ๋ด์์ e..