TIL17 TIL :: code-kata-js / (5) ๋ฌธ์ ์ซ์3 ๋งํผ 0๋ถํฐ ์ํํ๋ ํจ์๋ฅผ ๋ง๋ค๊ณ , ์ํํ๋ฉด์ ์ฃผ์ด์ง ํน์ ํ ์ผ์ ์ํํด์ผ ํฉ๋๋ค. ์ํํ๋ ์ซ์๋ฅผ ์ถ๋ ฅํ๊ณ , ์ํํ๋ ์ซ์์ ๋๋ฐฐ๊ฐ๋ ์ถ๋ ฅํด์ฃผ์ธ์. ์์ฑํ ์ฝ๋ 1 function iterate(max, action) { for (let i = 0; i < max; i++) { action(i); } } function numbers(num) { console.log(num); } function doubleNumbers(num) { console.log(num * 2); } iterate(4, numbers); iterate(4, doubleNumbers); ์์ฑํ ์ฝ๋ 1 function iterate(max, action) { for (let i = 0; i < max; i++) {.. 2022. 8. 19. TIL :: code-kata-js / (4) ๋ฌธ์ ์ซ์์ธ num์ ์ธ์๋ก ๋๊ฒจ์ฃผ๋ฉด, ๋ค์ง์ ๋ชจ์์ด num๊ณผ ๋๊ฐ์์ง ์ฌ๋ถ๋ฅผ ๋ฐํํด์ฃผ์ธ์. num: ์ซ์ return: true or false (๋ค์ง์ ๋ชจ์์ด num์ ๋๊ฐ์์ง ์ฌ๋ถ) ์๋ฅผ ๋ค์ด, num = 123 return false => ๋ค์ง์ ๋ชจ์์ด 321 ์ด๊ธฐ ๋๋ฌธ num = 1221 return true => ๋ค์ง์ ๋ชจ์์ด 1221 ์ด๊ธฐ ๋๋ฌธ num = -121 return false => ๋ค์ง์ ๋ชจ์์ด 121- ์ด๊ธฐ ๋๋ฌธ num = 10 return false => ๋ค์ง์ ๋ชจ์์ด 01 ์ด๊ธฐ ๋๋ฌธ ํ์ด ๋ฌธ์๋ก ๋ง๋ค๊ธฐ ์ซ์๋ฅผ ๋ฐฐ์ด๋ก split ํ๊ณ ๋ฐฐ์ด์ ๋ค์ง์ด์ ํฉ์น๊ธฐ num๊ณผ ๊ฐ์์ง ๋น๊ตํ๊ธฐ ์์ฑํ ์ฝ๋ const sameReverse = num => { return num === num.. 2022. 5. 27. TIL :: Git & GitHub ๊ณผ์ ์ ๋ฆฌ ์์ ์ github์ justcode ๋ผ๋ repository๋ฅผ ๋ง๋ ๋ค. ๋ด ์ปดํจํฐ์์ practice ํด๋ ๋ฐ์ justcode-test ๋ผ๋ ํด๋๋ฅผ ๋ง๋ ๋ค. cd Desktop // cd : ํด๋น ํด๋ ์ง์ cd practice // cd : ํด๋น ํด๋ ์ง์ mkdir justcode-test //mkdir : ๋๋ ํ ๋ฆฌ ๋ง๋ค๊ธฐ justcode-test ํด๋์์ git์ ์ฌ์ฉํ ์ ์๋๋ก ์ด๊ธฐํ ํ๋ค. cd justcode-test // cd : ํด๋น ํด๋ ์ง์ git init // init : git ๋ ํ์งํ ๋ฆฌ ์์ฑ (๊น ์์) justcode-test ํด๋์ test.js ํ์ผ์ ์์ฑ : vi test.js ํน์ vscode ์์ test.js ํ์ผ์ ๋ง๋ค์ด์ ๋๋ ํ ๋ฆฌ์ ๋ฃ๊ธฐ vi test.js .. 2022. 5. 26. TIL :: [React] State, Props, Event ํ์ต๋ชฉํ ํด๋์คํ ์ปดํฌ๋ํธ์ ํจ์ํ ์ปดํฌ๋ํธ์ ํน์ง ๋ฐ Hooks์ ํ์์ฑ์ ๋ํด ์ดํดํ๋ค. props์ ๊ฐ๋ ์ ๋ํด ํ ๋ฌธ์ฅ์ผ๋ก ์ค๋ช ํ ์ ์๋ค. state์ ๊ฐ๋ ์ ๋ํด ํ ๋ฌธ์ฅ์ผ๋ก ์ค๋ช ํ ์ ์๋ค. useState ํ ์ ์ฌ์ฉํ์ฌ React ์ปดํฌ๋ํธ์ ์ํ๋ฅผ ๊ด๋ฆฌํ ์ ์๋ค. state๋ฅผ ์ด์ฉํด์ UI์ ๋ณ๊ฒฝ์ ํํํ ์ ์๋ค. ์ด๋ฒคํธ๋ฅผ ํตํด state๋ฅผ ๋ณ๊ฒฝํ ์ ์๋ค. props์ ๊ฐ๋ ์ ์ด์ฉํด ๋ถ๋ชจ ์์์ state๋ฅผ ์์ ์์์์ ๋ฐ์์ํฌ ์ ์๋ค. props์ ๊ฐ๋ ์ ์ด์ฉํด ์์์์ ์ผ์ด๋ ์ด๋ฒคํธ๋ก ๋ถ๋ชจ์ state๊ฐ์ ๋ฐ๊ฟ ์ ์๋ค. (State ๋์ด์ฌ๋ฆฌ๊ธฐ) * Event : ์ฌ์ฉ์๊ฐ ๋์ํ ์ ์๋ ๊ฒ์ ์ด๋ฒคํธ๋ก ์ ์ํด๋ ๊ฒ ๋ธ๋ผ์ฐ์ ์์ ๋๋ถ๋ถ์ ์ฌ์ฉ์๊ฐ ํ ๋งํ ์ด๋ฒคํธ๊ฐ ์ ์๋์ด์๋ค. .. 2022. 5. 26. TIL :: [React ] ๋ก๊ทธ์ธ ๋ฒํผ ํ์ฑํ useNavigate๋ฅผ ์ฌ์ฉํ์ฌ ๋ค๋น๊ฒ์ดํ (=๋ผ์ฐํ )์ ํ๊ณ ์ ํ ๋! ๋ก๊ทธ์ธ ๋ฒํผ ํด๋ฆญ ์ main ์ปดํฌ๋ํธ๋ก ์ด๋ import { Link, useNavigate } from 'react-router-dom'; function LoginSon () { const navigate = useNavigate(); return( { navigate('/main'); }} > ๋ก๊ทธ์ธ . . . ๋ก๊ทธ์ธ ๋ฒํผ ์ ํจ์ฑ ๊ฒ์ฆ ! ๋ก๊ทธ์ธ ๋ฒํผ์ ๋๋ ์ ๋ , id์ password์ ์กฐ๊ฑด์ ๋ง์ถฐ ๋์ด ๊ฐ๊ฒ ํ๋ ๊ฒ๊ณผ ์๋์ด๊ฐ๊ฒ ํ๋ ๊ฒ import React, { useState } from 'react'; import { Link, useNavigate } from 'react-router-dom'; functio.. 2022. 5. 26. TIL :: [React] React Router, Sass ํ์ต๋ชฉํ SPA๊ฐ ๋ฌด์์ธ์ง ์ค๋ช ํ ์ ์๋ค. react-router-dom๋ฅผ ์ด์ฉํด Router Component๋ฅผ ๊ตฌํํ ์ ์๋ค. react-router-dom์์ Routing์ ํ๋ ๋ฐฉ๋ฒ 2๊ฐ์ง์ ์ฐจ์ด์ ์ ๋ํด ์ค๋ช ํ ์ ์๋ค. Component ์ tag ์ ์ฐจ์ด์ ์ ๋ํด ์ค๋ช ํ ์ ์๋ค. css ์ ์ฒ๋ฆฌ๊ธฐ์ ์ญํ ์ ๋ํด ์ค๋ช ํ ์ ์๋ค. sass์์ ์ ๊ณตํ๋ ๋ฌธ๋ฒ์ ์ด์ฉํ์ฌ cssํ์ผ์ scssํ์ผ๋ก ๋ณํํ ์ ์๋ค. 1. SPA๊ฐ ๋ฌด์์ธ์ง ์ค๋ช ํ ์ ์๋ค. * spa๋?(์ฑ๊ธ ํ์ด์ง ์ดํ๋ฆฌ์ผ์ด์ ) : ๋ฉํฐํ ํ์ด์ง๊ฐ ์๋ ์ฑ๊ธ ํ์ด์ง์ด๋ค. 2. react-router-dom๋ฅผ ์ด์ฉํด Router Component๋ฅผ ๊ตฌํํ ์ ์๋ค. * react-router ๋? : ๋ฆฌ์กํธ์ ๋ผ์ฐํ ๊ธฐ๋ฅ์ ์.. 2022. 5. 25. TIL :: code-kata-js / (2) ๋ฌธ์ reverse ํจ์์ ์ ์์ธ ์ซ์๋ฅผ ์ธ์๋ก ๋ฐ์ต๋๋ค. ๊ทธ ์ซ์๋ฅผ ๋ค์ง์ด์ returnํด์ฃผ์ธ์. x: ์ซ์ return: ๋ค์ง์ด์ง ์ซ์๋ฅผ ๋ฐํ! ์๋ค ๋ค์ด, x: 1234 return: 4321 x: -1234 return: -4321 x: 1230 return: 321 ํ์ด ์ซ์๋ฅผ ๋ฌธ์๋ก ๋ณ๊ฒฝ - .toString (์ซ์๋ ๊ฑฐ๊พธ๋ก๊ฐ ์๋จ) ๋ฌธ์์ ์์๋ฅผ ๋ฐฐ์ด๋ก ๋ง๋ค๊ธฐ - .split("") ๋ฐฐ์ด ๊ฑฐ๊พธ๋กํ๊ธฐ๊ธฐ - .reverse() -๊ฐ ๋งจ๋ค๋ก๊ฐ๋๊น -๋นผ๋ด์ -๋ฅผ ์์ผ๋ก ๋ณด๋ด๊ธฐ ์ฒ์ ์๋ฆฌ์ 0์ด ์ค๋ฉด ์ฒ์ ์๋ฆฌ ์์ ๊ธฐ ๋ถ๋ฆฌ ๋์ด์๋ ๋ฐฐ์ด์ ์กฐ์ธํด์ฃผ๊ณ , ์ซ์๋ก ๋ณํ ์์ฑํ ์ฝ๋ const reverse = x => { // ์ฌ๊ธฐ์ ์ฝ๋๋ฅผ ์์ฑํด์ฃผ์ธ์. let string = x.toString().sp.. 2022. 5. 25. TIL :: code-kata-js / (1) ๋ฌธ์ twoSumํจ์์ ์ซ์๋ฐฐ์ด๊ณผ 'ํน์ ์'๋ฅผ ์ธ์๋ก ๋๊ธฐ๋ฉด, ๋ํด์ 'ํน์ ์'๊ฐ ๋์ค๋ index๋ฅผ ๋ฐฐ์ด์ ๋ด์ returnํด ์ฃผ์ธ์. nums: ์ซ์ ๋ฐฐ์ด target: ๋ ์๋ฅผ ๋ํด์ ๋์ฌ ์ ์๋ ํฉ๊ณ return: ๋ ์์ index๋ฅผ ๊ฐ์ง ์ซ์ ๋ฐฐ์ด ์๋ฅผ ๋ค์ด, nums์ [4, 9, 11, 14] target์ 13 nums[0] + nums[1] = 4 + 9 = 13 ์ด์ฃ ? ๊ทธ๋ฌ๋ฉด [0, 1]์ด return ๋์ด์ผ ํฉ๋๋ค. # ๊ฐ์ target์ผ๋ก ๋ณด๋ด๋ ํฉ๊ณ์ ์กฐํฉ์ ๋ฐฐ์ด ์ ์ฒด ์ค์ 2๊ฐ ๋ฐ์ ์๋ค๊ณ ๊ฐ์ ํ๊ฒ ์ต๋๋ค. ํ์ด nums[0] + nums[1] === target nums[0] + nums[2] === target nums[0] + nums[3] === target nums.. 2022. 5. 24. TIL :: JavaScript / replit. 25~30 โ25. Class โ Class ํด๋์ค๋ ๊ฐ์ฒด์งํฅ ํ๋ก๊ทธ๋๋ฐ์ ํต์ฌ์ ๋๋ค. ๊ฐ์ฒด์งํฅ ํ๋ก๊ทธ๋๋ฐ์ด๋, ํ๋ก๊ทธ๋จ์ ๊ฐ์ฒด๋ค๋ก ๊ตฌ์ฑํ๊ณ , ๊ฐ์ฒด๋ค ๊ฐ์ ์๋ก ์ํธ ์์ฉ ํ๋๋ก ์์ฑํ๋ ๋ฐฉ๋ฒ์ ๋๋ค. ๋ค, ์ค๋ช ์ด ์กฐ๊ธ ์ด๋ ค์ด๋ฐ์. JavaScript๋ ๊ฐ์ฒด์งํฅ ์ค์ฌ์ ์๋ ์ธ์ด๋ ์๋์ง๋ง ํ๋ก๊ทธ๋๋ฐ์ ์์ด์ Class, ๊ฐ์ฒด, ๊ฐ์ฒด์งํฅ์ ํญ์ ์ค์ํ ์ฃผ์ ์ ๋๋ค. '๊ฐ์ฒด์งํฅ ํ๋ก๊ทธ๋๋ฐ' ์ด๋ผ๋ ๋จ์ด์์ '๊ฐ์ฒด'๋ ์์ ๋ฐฐ์ ๋ { num: 1 } ์ ๋ฐ์ดํฐ ํ์ ์ ๋งํ๋ ๊ฒ์ ์๋๋๋ค. ๊ฐ์ฒด๋ ์์ด๋ก object, ๋ง๊ทธ๋๋ก ์ฌ๋ฌผ์ ๋ปํฉ๋๋ค. ํ์ง๋ง, ํด๋์ค๋ ๊ฒฐ๊ตญ { num: 1 } ์ฒ๋ผ ์๊ธด ๊ฐ์ฒด(object)๋ฅผ ์ ์ค๊ณํ๊ธฐ ์ํ ํ์ ๋ง์ต๋๋ค. ๊ทธ๋ฐ๋ฐ ์ด ๋์ ๊ฐ์ฒด๋ ํน์ ๋ก์ง์ ๊ฐ๊ณ ์๋ ํ๋(method)์ ๋ณ.. 2022. 5. 18. TIL :: DOM + Event ์๋ ์ด๋ ฅ์ ์ฌ์ดํธ์ ๋ค์ด๊ฐ์ ๊ฐ๋ฐ์ ๋๊ตฌ๋ฅผ ํ์ฉํ์ฌ ์๋ ๊ณผ์ ๋ฅผ ์งํํ ํ ๊ตฌ๊ธ ํด๋์ค๋ฃธ์ ์ ์ถํด์ฃผ์ธ์. https://hyunseob.github.io/resume/ ๊ฐ๋ฐ์ ๋๊ตฌ console ํจ๋์์ ์์ฑํ ์ฝ๋๋ฅผ ์บก์ณํด์ ์ ์ถํ๋ฉด ๋ฉ๋๋ค! ์ํ์ฐฉ์ค๋ฅผ ๊ฒช์ด ์ฝ๋๊ฐ ์ง์ ๋ถํ๋ค๋ฉด ๊ทธ ์ฝ๋ ๊ทธ๋๋ก! ์บก์ณํด์ ์ฌ๋ ค์ฃผ์ธ์! ํํธ1 : element ํจ๋์์ DOM์์ ์ ๊ทผํ๊ณ ์ ํ๋ ์์์ className์ ํ์ธํด์ฃผ์ธ์. ๊ณผ์ 1. ์๋์ ๊ฐ์ด ์๋จ์ ์ค๋ช ๋ถ๋ถ์ ๊ธ์๋ฅผ ํ๋์์ผ๋ก ๋ฐ๊ฟ์ฃผ์ธ์. ๊ณผ์ 2. ๊ธ์์์ ๋ฐ๊พผ ๋ถ๋ถ์ ํด๋ฆญํ๋ฉด ์๋์ ๊ฐ์ alert ์ฐฝ์ด ๋จ๋๋ก ๊ตฌํํด์ฃผ์ธ์. ๋์ ํ์ด const a = document.getElementsByClassName('big-paragraph')[0]; .. 2022. 5. 17. ์ด์ 1 2 ๋ค์