์ „์ฒด ๊ธ€

๐Ÿ’ป Programming/Algorithm

[ํ”„๋กœ๊ทธ๋ž˜๋จธ์Šค Lv. 0] ๋ฐฐ์—ด ํšŒ์ „์‹œํ‚ค๊ธฐ

ํ”„๋กœ๊ทธ๋ž˜๋จธ์Šค ์•Œ๊ณ ๋ฆฌ์ฆ˜ ํ’€์ด https://school.programmers.co.kr/learn/courses/30/lessons/120844 ์‚ฌ์šฉ ์–ธ์–ด : ์ž๋ฐ”์Šคํฌ๋ฆฝํŠธ JavaScript JS 1. ๋ฐฐ์—ด ํšŒ์ „์‹œํ‚ค๊ธฐ 1) ๋ฌธ์ œ ์„ค๋ช… ์ •์ˆ˜๊ฐ€ ๋‹ด๊ธด ๋ฐฐ์—ด numbers์™€ ๋ฌธ์ž์—ด direction๊ฐ€ ๋งค๊ฐœ๋ณ€์ˆ˜๋กœ ์ฃผ์–ด์ง‘๋‹ˆ๋‹ค. ๋ฐฐ์—ด numbers์˜ ์›์†Œ๋ฅผ direction๋ฐฉํ–ฅ์œผ๋กœ ํ•œ ์นธ์”ฉ ํšŒ์ „์‹œํ‚จ ๋ฐฐ์—ด์„ returnํ•˜๋„๋ก solution ํ•จ์ˆ˜๋ฅผ ์™„์„ฑํ•ด์ฃผ์„ธ์š”. 2) ์ œํ•œ ์‚ฌํ•ญ 3 ≤ numbers์˜ ๊ธธ์ด ≤ 20 direction์€ "left" ์™€ "right" ๋‘˜ ์ค‘ ํ•˜๋‚˜์ž…๋‹ˆ๋‹ค. 3) ์ž…์ถœ๋ ฅ ์˜ˆ numbers direction result [1, 2, 3] "right" [3, 1, 2] [4, 455, 6, 4, ..

โœ๏ธ What I Learned/TIL

[TIL] TypeScript ์–ธ์–ด์˜ ํƒ„์ƒ ๋ฐฐ๊ฒฝ ๊ธฐ๋ณธ์ ์ธ ํŠน์ง•

1. TypeScript์˜ ํƒ„์ƒ ๋ฐฐ๊ฒฝ 1) JavaScript์™€ Node.js ์›๋ž˜ JavaScript๋Š” HTML, CSS์™€ ํ•จ๊ป˜ ์‚ฌ์šฉ๋˜์–ด ์›น ํŽ˜์ด์ง€์—์„œ ๋™์ ์ธ ํšจ๊ณผ๋ฅผ ์ฃผ๊ธฐ ์œ„ํ•ด ๋งŒ๋“ค์–ด์ง„ ์Šคํฌ๋ฆฝํŠธ ์–ธ์–ด ์‹œ๊ฐ„์ด ์ง€๋‚˜๋ฉด์„œ ์ž๋ฐ”์Šคํฌ๋ฆฝํŠธ์˜ ์„ฑ๋Šฅ์„ ๋†’์ด๊ณ ์ž ํ•˜๋Š” ๋‹ˆ์ฆˆ ๋ฐœ์ƒ ๊ตฌ๊ธ€ V8 ์—”์ง„์˜ ํƒ„์ƒ → Chrome ๋ธŒ๋ผ์šฐ์ €์— ๋‚ด์žฅ๋˜์–ด ์žˆ์Œ ๊ตฌ๊ธ€ V8 ์—”์ง„์˜ ์šฐ์ˆ˜ํ•œ ์„ฑ๋Šฅ์„ ๊ธฐ๋ฐ˜์œผ๋กœ Node.js๋ผ๋Š” ํ”Œ๋žซํผ์ด ํƒ„์ƒํ•˜๊ณ , ์ด๋ฅผ ํ†ตํ•ด JS ์–ธ์–ด๋กœ๋„ ๋ฐฑ์—”๋“œ ํ”„๋กœ๊ทธ๋ž˜๋ฐ์ด ๊ฐ€๋Šฅํ•ด์ง 2) Node.js์˜ ์ž ์žฌ์  ์œ„ํ—˜์„ฑ ํ”„๋ก ํŠธ์—”๋“œ์—์„œ์˜ ์—๋Ÿฌ๋Š” ์‚ฌ์šฉ์ž๊ฐ€ ๋ณด๋Š” ๋ทฐ๋ฅผ ํ•ด์น  ์ˆ˜๋Š” ์žˆ์–ด๋„, ์›น ํŽ˜์ด์ง€๋ฅผ ์ด์šฉํ•˜๋Š”๋ฐ ์ „๋ฐ˜์ ์ธ ๋™์ž‘์— ํ”ผํ•ด๋ฅผ ๋ผ์น˜๋Š” ๊ฒฝ์šฐ๋Š” ๋งŽ์ง€ ์•Š๋‹ค ํ•˜์ง€๋งŒ ๋ฐฑ์—”๋“œ์—์„œ์˜ ์—๋Ÿฌ์˜ ๊ฒฝ์šฐ, ์—๋Ÿฌ์— ๋Œ€ํ•œ ์˜ˆ์™ธ ์ฒ˜๋ฆฌ๊ฐ€ ์ œ๋Œ€๋กœ ๋˜์ง€ ์•Š์œผ๋ฉด ๋‹จ..

โœ๏ธ What I Learned/TIL

[TIL] React Query ์„ธํŒ…, isLoading/isError, staleTime vs. cacheTime

1. React Query๋ž€ 1) Client State vs. Server State Client State : ์›น ๋ธŒ๋ผ์šฐ์ € ์„ธ์…˜๊ณผ ๊ด€๋ จ๋œ ์ •๋ณด ex. ์œ ์ €์˜ ์–ธ์–ด, ํ…Œ๋งˆ ๋“ฑ ์„œ๋ฒ„์—์„œ ์ผ์–ด๋‚˜๋Š” ์ผ๊ณผ๋Š” ์•„๋ฌด ๊ด€๋ จ์ด ์—†๋Š” state๋“ค ๋‹จ์ˆœํžˆ ์‚ฌ์šฉ์ž์˜ ์ƒํƒœ๋ฅผ trackingํ•˜๋Š” ๊ฒƒ Server State : ์„œ๋ฒ„์— ์ €์žฅ,๊ทธ๋Ÿฌ๋‚˜ ํด๋ผ์ด์–ธํŠธ์—๊ฒŒ ํ‘œ์‹œํ•˜๋Š”๋ฐ ํ•„์š”ํ•œ ๋ฐ์ดํ„ฐ๋“ค ex. ๋ธ”๋กœ๊ทธ ํฌ์ŠคํŠธ data from DB 2) React Query์˜ ์—ญํ•  ์„œ๋ฒ„ ๋ฐ์ดํ„ฐ ์บ์‹œ๋ฅผ ๊ด€๋ฆฌํ•œ๋‹ค. React ์ฝ”๋“œ์— ์„œ๋ฒ„๋ฐ์ดํ„ฐ๊ฐ€ ํ•„์š”ํ•  ๋•Œ fetch๋‚˜ axios๋ฅผ ์‚ฌ์šฉํ•ด ์„œ๋ฒ„๋กœ ๋ฐ”๋กœ ์ด๋™ํ•˜์ง€ ์•Š๊ณ , React Query ์บ์‹œ๋ฅผ ์š”์ฒญ ์ฆ‰, React Query ํด๋ผ์ด์–ธํŠธ๋ฅผ ์–ด๋–ป๊ฒŒ ๊ตฌ์„ฑํ–ˆ๋Š๋ƒ์— ๋”ฐ๋ผ ํ•ด๋‹น ์บ์‹œ์˜ ๋ฐ์ดํ„ฐ๋ฅผ ์œ ์ง€ ๊ด€๋ฆฌ ํ•˜๋Š”..

โœ๏ธ What I Learned/TIL

[TIL] ํด๋ฆฐ ์ฝ”๋“œ - Custom Hook, Container - Presentational ํŒจํ„ด, ํŒŒ์ผ/ํด๋” ๊ตฌ์กฐ(ํŒจํ„ด)

1. ๐Ÿ’ซ Custom Hook 1) ๋„ˆ๋ฌด๋‚˜๋„ ๊ถ๊ธˆํ–ˆ๋˜ ๋‚ด์šฉ ๋“œ๋””์–ด! ์ €๋ฒˆ ๋‰ด์Šคํ”ผ๋“œ ํ”„๋กœ์ ํŠธ ํ•  ๋•Œ ๊ณ„์†ํ•ด์„œ input๊ฐ’์„ ํ•ธ๋“ค๋งํ•˜๋Š” hook๋“ค์„ ๋ฐ˜๋ณต์ ์œผ๋กœ ์‚ฌ์šฉํ•˜๋Š”๋ฐ ์ด๊ฑธ ์–ด๋–ป๊ฒŒ ํ•˜๋ฉด ๋” ํด๋ฆฐํ•˜๊ฒŒ ๋ฆฌํŒฉํ† ๋ง ํ•  ์ˆ˜ ์žˆ์„์ง€ ๊ณ ๋ฏผ์„ ํ–ˆ์—ˆ๋‹ค. 2) ์‚ฌ์šฉ๋ฐฉ๋ฒ• hooks ํด๋” ์ƒ์„ฑ ํ›„ use~๋กœ ์‹œ์ž‘ํ•˜๋Š” (ex. useHookName.js) ํŒŒ์ผ ์ƒ์„ฑ useState, useEffect, useRef ๋“ฑ ๊ธฐ์กด ๋ฆฌ์•กํŠธ ํ›…์„ ์ด์šฉํ•ด์„œ ๋ฐ˜๋ณต์ ์œผ๋กœ ์‚ฌ์šฉํ•˜๋Š” ๋กœ์ง์„ custom hook์œผ๋กœ ๋งŒ๋“ค์–ด์ค€๋‹ค. โžก๏ธ ์ด ๋•Œ, custom hook์—๋Š” state์™€ handler ๋‘ ๊ฐ€์ง€๋ฅผ ์ •์˜ํ•ด์ค€๋‹ค. export default ํ•ด์ค€ ๋’ค ํ•„์š”ํ•œ ๊ณณ์—์„œ importํ•˜์—ฌ ์‚ฌ์šฉํ•˜๋ฉด ๋! // useInput.js (์˜ˆ์‹œ) import { u..

โœ๏ธ What I Learned/TIL

[WIL] ํŒ€ ํ”„๋กœ์ ํŠธ ํšŒ๊ณ  (React ๋‰ด์Šคํ”ผ๋“œ ํ”„๋กœ์ ํŠธ)

1. ํ”„๋กœ์ ํŠธ ๊ฐœ์š” 1) ํ”„๋กœ์ ํŠธ๋ช… ๋ฐ ๋‚ด์šฉ ๐Ÿ›’ ์•Œ๋œฐ์‚ด๋œฐ ์‚ด๋ง ์„œ๋น„์Šค ์‚ฌ๊ณ ์‹ถ์€ ๋ฌผ๊ฑด์— ๋Œ€ํ•œ ๊ธ€์„ ๊ฒŒ์‹œ๊ธ€๋กœ ์˜ฌ๋ฆฌ๋ฉด, ํ•ด๋‹น ๊ฒŒ์‹œ๊ธ€์˜ ๋ฆฌ์ŠคํŠธ๋ฅผ ์กฐํšŒํ•  ์ˆ˜ ์žˆ๊ณ , ์ œํ’ˆ์˜ ๊ตฌ๋งค ์—ฌ๋ถ€๋ฅผ ๋Œ“๊ธ€๋กœ ํ‰๊ฐ€ํ•ด์ฃผ๋Š” ๋‰ด์Šคํ”ผ๋“œ ์‚ฌ์ดํŠธ Vercel ๋ฐฐํฌ https://news-feed-ten.vercel.app ์•Œ๋œฐ์‚ด๋œฐ ์‚ด๋ง news-feed-ten.vercel.app 2) ํ”„๋กœ์ ํŠธ ๊ธฐ๊ฐ„ 2023. 6. 26 - 2023. 7. 3 3) ์‚ฌ์šฉ ์Šคํƒ React, Firebase, Redux, Styled-components, React-Router 4) ํ”„๋กœ์ ํŠธ ๊ตฌ์กฐ ๐Ÿ“ฆsrc โ”ฃ ๐Ÿ“‚components โ”ƒ โ”ฃ ๐Ÿ“‚authentication โ”ƒ โ”ƒ โ”ฃ ๐Ÿ“œLogin.jsx โ”ƒ โ”ƒ โ”— ๐Ÿ“œSignUp.jsx โ”ƒ โ”ฃ ๐Ÿ“‚comments โ”ƒ โ”ƒ โ”ฃ..

โœ๏ธ What I Learned/TIL

[TIL] Git / GitHub์— ๋Œ€ํ•ด ์ •๋ฆฌ

์ด๋ฒˆ ์ฃผ์— ํŒ€์›๋“ค๊ณผ ํ”„๋กœ์ ํŠธ๋ฅผ ํ•˜๋ฉด์„œ, ๋ธŒ๋žœ์น˜๋ฅผ ์ด์ „์— ํ–ˆ๋˜ ๊ฒƒ๊ณผ ๋‹ค๋ฅด๊ฒŒ ๋” ์„ธ๋ถ„ํ™”ํ•˜๋ฉฐ ์ž‘์—…ํ•˜๊ฒŒ ๋˜์–ด์„œ git branch์— ๋Œ€ํ•œ ๊ฐœ๋… ์ •๋ฆฝ์„ ๋‹ค์‹œ ํ•ด์•ผ ํ•  ํ•„์š”์„ฑ์„ ๋Š๊ผˆ๋‹ค. ์ด์ „๊นŒ์ง€๋งŒ ํ•ด๋„, ๋‚˜ ํ˜ผ์ž ๊ณผ์ œํ•  ๋•Œ๋Š” main-develop ์ด ์ •๋„๋กœ 1๊ฐœ์˜ ์ถ”๊ฐ€ ๋ธŒ๋žœ์น˜๋งŒ ๋งŒ๋“ค์–ด์„œ ์ปค๋ฐ‹์„ ํ–ˆ์—ˆ๋‹ค. ์‚ฌ์‹ค ๋ธŒ๋žœ์น˜๋ฅผ ๋‚˜๋ˆ„๋Š” ํฐ ์˜๋ฏธ๊ฐ€ ์—†๋Š” ์ˆ˜์ค€์ด๊ธด ํ–ˆ๋‹ค. ์ง์ „ ํŒ€ ๊ณผ์ œ์—์„œ๋„ ๋งˆ์ฐฌ๊ฐ€์ง€๋กœ, main ๋ธŒ๋žœ์น˜ ๋ฐ‘์— ๊ฐ์ž์˜ ๋ธŒ๋žœ์น˜๋งŒ 1๊ฐœ์”ฉ ๋งŒ๋“ค๊ณ  ์ง„ํ–‰ํ–ˆ์–ด์„œ main์— mergeํ•  ๋•Œ ๋งŽ์€ ์ถฉ๋Œ๊ณผ์˜ ์‹ธ์›€์€ ์žˆ์—ˆ์ง€๋งŒ, ๋ธŒ๋žœ์น˜ ์ž์ฒด์— ๋Œ€ํ•œ ๊ณ ๋ ค๋Š” ํฌ๊ฒŒ ํ•˜์ง€ ์•Š์•˜๋˜ ๊ฒƒ ๊ฐ™๋‹ค. ๊ทธ๋ฆฌ๊ณ  ๋‹น์‹œ์—” ๋‚˜๋„, ํŒ€์›๋“ค๋„ ์ง€๊ธˆ๋ณด๋‹ค๋„ ๋” Git์ด ์–ด์ƒ‰ํ•˜๋‹ค๋ณด๋‹ˆ ๋‹ค๋ฅธ ์‚ฌ๋žŒ๊บผ pullํ•ด์˜ค๋‹ค๊ฐ€ ๋ณธ์ธ ์ฝ”๋“œ ๋‚ ์•„๊ฐ€๊ณ  ์ด๋Ÿฐ ์ผ๋„ ์—ฌ๋Ÿฌ ๋ฒˆ ์žˆ์—ˆ๋”๋žฌ๋‹ค. ์˜ˆ์ „์— ..

โœ๏ธ What I Learned/TIL

[TIL] .env ํ™˜๊ฒฝ๋ณ€์ˆ˜ ํŒŒ์ผ

firebase๋ฅผ ์ด์šฉํ•ด์„œ ํ”„๋กœ์ ํŠธ๋ฅผ ํ•˜๋Š” ์ค‘์ธ๋ฐ, firebase์—์„œ ์‚ฌ์šฉํ•˜๋Š” API key๋ฅผ .env ํŒŒ์ผ์— ๋”ฐ๋กœ ๊ด€๋ฆฌํ•˜๋Š” ๋ฐฉ๋ฒ•์„ ์•Œ๊ฒŒ ๋˜์—ˆ๋‹ค. ๊ทธ๋ž˜์„œ .env ํŒŒ์ผ์— ๋Œ€ํ•ด ๊ฐ„๋‹จํžˆ ์ •๋ฆฌํ•ด๋ณด๋ ค๊ณ  ํ•œ๋‹ค. 1. ํ™˜๊ฒฝ๋ณ€์ˆ˜(.env) 1) ํ™˜๊ฒฝ๋ณ€์ˆ˜๋ž€? ์šด์˜ ์ฒด์ œ(Operating System)๋‚˜ ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜์—์„œ ์‚ฌ์šฉ๋˜๋Š” ๋ณ€์ˆ˜ ์ด ๋ณ€์ˆ˜๋“ค์€ ์‹œ์Šคํ…œ ์„ค์ •, ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜ ๊ตฌ์„ฑ ๋ฐ ๋™์ž‘์— ์˜ํ–ฅ์„ ๋ฏธ์น  ์ˆ˜ ์žˆ๋Š” ๊ฐ’๋“ค์„ ํฌํ•จ 2) ํ™˜๊ฒฝ๋ณ€์ˆ˜ ํŒŒ์ผ (.env) .env ํŒŒ์ผ์€ ์ฃผ๋กœ ํ”„๋กœ์ ํŠธ์˜ ํ™˜๊ฒฝ ๋ณ€์ˆ˜๋ฅผ ์„ค์ •ํ•˜๊ธฐ ์œ„ํ•ด ์‚ฌ์šฉ๋˜๋Š” ํŒŒ์ผ "env"๋Š” "environment"์˜ ์ค„์ž„๋ง๋กœ, ํ™˜๊ฒฝ์— ๋”ฐ๋ผ ๋‹ค๋ฅธ ์„ค์ • ๊ฐ’์„ ์ œ๊ณตํ•˜๋Š” ๋ฐ ์‚ฌ์šฉ๋จ ์ผ๋ฐ˜์ ์œผ๋กœ .env ํŒŒ์ผ์€ ํ”„๋กœ์ ํŠธ์˜ ๋ฃจํŠธ ๋””๋ ‰ํ† ๋ฆฌ์— ์œ„์น˜ ํ™˜๊ฒฝ ๋ณ€์ˆ˜๋ฅผ ํ‚ค-๊ฐ’ ์Œ์œผ๋กœ ์ •์˜ 2. ..

โœ๏ธ What I Learned/ํŠธ๋Ÿฌ๋ธ”์ŠˆํŒ…

[ํŠธ๋Ÿฌ๋ธ”์ŠˆํŒ…] ERROR in ./node_modules/react-router-dom/dist/index.js 13:0-810

๐Ÿšจ ๋ฐœ์ƒ ๋ฌธ์ œ ERROR in ./node_modules/react-router-dom/dist/index.js 13:0-810 export 'AbortedDeferredError' (reexported as 'AbortedDeferredError') was not found in 'react-router' (possible exports: Await, MemoryRouter, Navigate, Outlet, Route, Router, RouterProvider, Routes, UNSAFE_DataRouterContext, UNSAFE_DataRouterStateContext, UNSAFE_LocationContext, UNSAFE_NavigationContext, UNSAFE_RouteContext, ..

โœ๏ธ What I Learned/ํŠธ๋Ÿฌ๋ธ”์ŠˆํŒ…

[ํŠธ๋Ÿฌ๋ธ”์ŠˆํŒ…] Firebase: Error (auth/account-exists-with-different-credential)

๐Ÿšจ ๋ฐœ์ƒ ๋ฌธ์ œ Firebase: Error (auth/account-exists-with-different-credential) ํ˜„์žฌ ์ƒํ™ฉ 1. ์ด์ „๋ถ€ํ„ฐ GitHub ๊ณ„์ •์—์„œ Google ์•„์ด๋””๋ฅผ ์‚ฌ์šฉํ•˜๊ณ  ์žˆ์—ˆ๋˜ ์ƒํ™ฉ 2. ๋‚ด๊ฐ€ ๋งŒ๋“  ์›น์•ฑ์—์„œ Google ๊ณ„์ •์œผ๋กœ ๋กœ๊ทธ์ธ ํ›„ ๋กœ๊ทธ์•„์›ƒ โžก GitHub ๋กœ๊ทธ์ธ์„ ์‹œ๋„ํ•˜๋Š” ๊ณผ์ •์—์„œ GitHub ๋กœ๊ทธ์ธ์ด ๋˜์ง€ ์•Š๊ณ  ์œ„์˜ ์—๋Ÿฌ ๋ฐœ์ƒ ๐Ÿค” ๋ฌธ์ œ ์›์ธ ๊ฐ™์€ ์ด๋ฉ”์ผ ์ฃผ์†Œ๊ฐ€ ๋‹ค๋ฅธ ์ธ์ฆ ๋ฐฉ๋ฒ•์œผ๋กœ ์ ‘์†๋˜์—ˆ๊ธฐ ๋•Œ๋ฌธ์— ๋ฐœ์ƒ // ์˜ˆ์‹œ GitHub : myemail@gmail.com Google : myemail@gmail.com // ์œ„์™€ ๊ฐ™์ด ๊ฐ™์€ gmail ์•„์ด๋””๋ฅผ ๊ณต์œ ํ•˜๊ณ  ์žˆ๋Š” ์ƒํ™ฉ์—์„œ ๋ฐœ์ƒ ๐Ÿ’Š ํ•ด๊ฒฐ ๋ฐฉ๋ฒ• Authentication ์„ค์ • ๋ณ€๊ฒฝ ์ฝ˜์†” โžก ํ•ด๋‹น ํ”„๋กœ์ ํŠธ ..

๐Ÿ’ป Programming/React

[Redux] React Redux ๊ธฐ๋ณธ ๊ฐœ๋…๊ณผ ์„ค์น˜/์„ธํŒ… ์ •๋ฆฌ

1. Redux๋ž€? ์ƒํƒœ๊ด€๋ฆฌ ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ, ์ค‘์•™ state ๊ด€๋ฆฌ์†Œ๋ฅผ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ๋„๋ก ๋„์™€์ฃผ๋Š” ํŒจํ‚ค์ง€ ์ปดํฌ๋„ŒํŠธ ๊ฐ„์— state ๋ฐ์ดํ„ฐ๋“ค์„ ๋ถ€๋ชจ-์ž์‹ ๊ด€๊ณ„๋กœ ์„ค์ •ํ•˜์—ฌ props๋ฅผ ํ†ตํ•ด ํ•œ์ •์ ์œผ๋กœ ์ „๋‹ฌํ•˜์ง€ ์•Š๊ณ , ์ค‘์•™์—์„œ ๊ด€๋ฆฌํ•˜์—ฌ ์–ด๋–ค ์ปดํฌ๋„ŒํŠธ์—์„œ๋“  ์‰ฝ๊ฒŒ ์ ‘๊ทผํ•˜๊ณ  ์ œ์–ดํ•  ์ˆ˜ ์žˆ๋„๋ก ํ•ด์ค€๋‹ค. 1) Redux์˜ ํ๋ฆ„ View์—์„œ ์•ก์…˜์ด ์ผ์–ด๋‚œ๋‹ค. dispatch์—์„œ action์ด ์ผ์–ด๋‚˜๊ฒŒ ๋œ๋‹ค. action์— ์˜ํ•œ reducerํ•จ์ˆ˜๊ฐ€ ์‹คํ–‰๋˜๊ธฐ ์ „์— middleware๊ฐ€ ์ž‘๋™ํ•œ๋‹ค. middleware์—์„œ ๋ช…๋ น๋‚ด๋ฆฐ ์ผ์„ ์ˆ˜ํ–‰ํ•˜๊ณ  ๋‚œ ๋’ค, reducerํ•จ์ˆ˜๋ฅผ ์‹คํ–‰ํ•œ๋‹ค. reducer์˜ ์‹คํ–‰๊ฒฐ๊ณผ store์— ์ƒˆ๋กœ์šด ๊ฐ’์„ ์ €์žฅํ•œ๋‹ค. store์˜ state์— subscribeํ•˜๊ณ  ์žˆ๋˜ UI์— ๋ณ€๊ฒฝ๋œ ๊ฐ’์„ ์ค€๋‹ค. 2) Pro..

Jiwon()
jiwondev.log