profile
๐ŸŒฑ
post-thumbnail

[saga+toolkit] redux-saga์™€ redux-toolkit์œผ๋กœ ๋น„๋™๊ธฐ ์ฒ˜๋ฆฌ ๋ชจ๋“ˆํ™”ํ•˜๊ธฐ

์ง€๊ธˆ๊นŒ์ง€ redux์— api ํ˜ธ์ถœ์— ๊ด€ํ•œ ๋ฐ์ดํ„ฐ๋ฅผ ๋ฐ›์„ ์ €์žฅํ•  ๋•Œ๋Š” FSA ํ˜•์‹์œผ๋กœ redux-thunk๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ ๋‹ค์Œ๊ณผ ๊ฐ™์€ ๋ฐฉ์‹์œผ๋กœ ๊ด€๋ฆฌํ–ˆ๋‹ค.์˜ˆ๋ฅผ ๋“ค์–ด posts์˜ ์ •๋ณด๋ฅผ state.posts์— ์ €์žฅํ•˜๋ ค๋ฉด์š”์ฒญ -> post/getPosts์š”์ฒญ ์„ฑ๊ณต ์‹œ -> pos

2021๋…„ 4์›” 30์ผ
ยท
0๊ฐœ์˜ ๋Œ“๊ธ€
post-thumbnail

[React+Netlify] Netlify๋กœ React App ๋ฐฐํฌํ•˜๊ณ  Custom Domain ์„ค์ •ํ•˜๊ธฐ

์ด ํฌ์ŠคํŠธ๋Š” Netlify๋ฅผ ํ†ตํ•ด ๊ธฐ๋ณธ์ ์ธ ๋ฐฐํฌ ๊ณผ์ •์„ ์ง„ํ–‰ํ•œ ํ›„ ๋ฐœ์ƒํ•œ ์˜ˆ์™ธ ์ƒํ™ฉ์— ๋Œ€ํ•ด ๊ธฐ์ˆ ํ–ˆ์Šต๋‹ˆ๋‹ค. react app์„ ์ˆ˜๋™์œผ๋กœ ๋ฐฐํฌํ•ด๋ณธ ํ›„, ์ข€ ๋” ํŽธํ•œ ์ž‘์—…์„ ์œ„ํ•ด Netlify๋กœ ๋ฐฐํฌํ•˜๊ธฐ๋กœ ํ–ˆ๋‹ค. Netlify๋Š” GitHub ์ €์žฅ์†Œ์— ์—ฐ๋™ํ•ด

2021๋…„ 4์›” 15์ผ
ยท
0๊ฐœ์˜ ๋Œ“๊ธ€
post-thumbnail

ZeroSSL ๋ฌด๋ฃŒ ์ธ์ฆ์„œ ๊ฐฑ์‹ ํ•˜๊ธฐ

ํ”„๋กœ์ ํŠธ๋ฅผ ์ˆ˜๋™์œผ๋กœ ๋ฐฐํฌํ•˜๋ฉด์„œ ๋ฐฐํฌ ๋กœ์ง์„ ๊ณต๋ถ€ํ•˜๊ณ  ์žˆ๋‹ค. ๋„๋ฉ”์ธ๊ณผ https๋„ ์ ์šฉํ–ˆ๋Š”๋ฐ, ์‚ฌ์‹ค ๊ณต๋ถ€ ์ชฝ์— ๋” ๊ฐ€๊นŒ์šด ํ”„๋กœ์ ํŠธ๋ผ ์ผ๋‹จ ZeroSSL์—์„œ ๋ฌด๋ฃŒ SSL ์ธ์ฆ์„œ๋ฅผ ๋ฐœ๊ธ‰๋ฐ›์•„ ์‚ฌ์šฉํ•˜๊ณ  ์žˆ๋‹ค. ๋‹จ, ๋ฌด๋ฃŒ๋Š” ์œ ํšจ๊ธฐ๊ฐ„์ด 90์ผ์ด๊ธฐ ๋•Œ๋ฌธ์— 3๊ฐœ์›”

2021๋…„ 3์›” 20์ผ
ยท
0๊ฐœ์˜ ๋Œ“๊ธ€
post-thumbnail

[redux-toolkit] state ์ดˆ๊ธฐํ™” / state ์ „์ฒด ๋‚ด์šฉ ๋ฐ”๊พธ๊ธฐ

velog ํŠธ๋ Œ๋“œ์— ์žˆ๋Š” โœจ๊ฐ“๋กœํผํŠธโœจ๋‹˜์˜ Redux ๊ฟ€ํŒ ๊ธ€์„ ๋ณด๊ณ  ๋ช‡ ๊ฐ€์ง€๋ฅผ ํ”„๋กœ์ ํŠธ์— ์ ์šฉํ•ด๋ณด๊ณ  ์žˆ๋‹ค. ๊ทธ ์ค‘ ํ•˜๋‚˜์ธ redux-toolkit์„ ์ผ๋ถ€๋ถ„ ๋„์ž…ํ–ˆ๋‹ค. redux๋ฅผ ์‚ฌ์šฉํ•˜๊ธฐ ์œ„ํ•œ ์—ฌ๋Ÿฌ ์„ค์ •์„ ๊ฐ„ํŽธํ•˜๊ฒŒ ํ•  ์ˆ˜ ์žˆ๋Š” ๊ฑฐ ๊ฐ™์•„์„œ ์‚ฌ์šฉํ•˜๋ ค ํ–ˆ๋Š”๋ฐ

2021๋…„ 3์›” 8์ผ
ยท
0๊ฐœ์˜ ๋Œ“๊ธ€
post-thumbnail

[Monthly] 2021๋…„ 2์›” ํšŒ๊ณ 

๋ฒŒ์จ 2021๋…„ 2์›”์ด ๊ฐ€๊ณ  3์›”์ด ๋˜์—ˆ๋‹ค!๊ทธ๋ž˜์„œ ๋ฒจ๋กœ๊ทธ๋„ ์‹œ์ž‘ํ–ˆ๊ณ , 1์›” ํšŒ๊ณ ๊ฐ€ ์—†์–ด ์•„์‰ฝ์ง€๋งŒ 2์›” ํšŒ๊ณ ๋ถ€ํ„ฐ ๊พธ์ค€ํžˆ ์ž‘์„ฑํ•ด๋ณด๋ ค ํ•œ๋‹ค. ๐Ÿ”ฅ๊ทธ๋Ÿฐ๋ฐ ์‚ฌ์‹ค 2์›”์€... ๊ฑฐ์˜ ๋™์•„๋ฆฌ์—๋งŒ ์‹œ๊ฐ„์„ ๋“ค์—ฌ์„œ monthly ํšŒ๊ณ ๊ฐ€ ์•„๋‹ˆ๋ผ ๋™์•„๋ฆฌ ํšŒ๊ณ , ํ”„๋กœ์ ํŠธ ํšŒ๊ณ ๋ฅผ ์ ์–ด์•ผ ํ•˜๋‚˜ ๊ณ 

2021๋…„ 3์›” 1์ผ
ยท
5๊ฐœ์˜ ๋Œ“๊ธ€
post-thumbnail

์นด์นด์˜ค๋งํฌ API๋กœ ๋ฉ”์‹œ์ง€ ๋ณด๋‚ด๊ธฐ

Kakao Developers์—์„œ ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜๊ณผ ํ”Œ๋žซํผ์„ ๋“ฑ๋กํ•˜๊ณ  ํ‚ค๋ฅผ ๋ฐœ๊ธ‰ ๋ฐ›์€ ํ›„์˜ ๊ณผ์ •์„ ์ž‘์„ฑํ–ˆ์Šต๋‹ˆ๋‹ค.์‚ฌ์ด๋“œ ํ”„๋กœ์ ํŠธ์—์„œ ํ…Œ์ŠคํŠธ ๊ฒฐ๊ณผ๋ฅผ ์›น์—์„œ ์นด์นด์˜คํ†ก์œผ๋กœ ๊ณต์œ ํ•˜๋Š” ๊ธฐ๋Šฅ์„ ๊ตฌํ˜„ํ•˜๊ฒŒ ๋˜์—ˆ๋‹ค.์ €๋ฒˆ์— ์นด์นด์˜ค ๋กœ๊ทธ์ธ์„ JS์™€ REST API ๋ฐฉ์‹ ๋‘˜ ๋‹ค ์‹œ๋„ํ•ด๋ณธ ์ ์ด ์žˆ

2021๋…„ 2์›” 27์ผ
ยท
2๊ฐœ์˜ ๋Œ“๊ธ€
post-thumbnail

[Error] swiper content update ์‹œ ์ •์ƒ์ ์œผ๋กœ ์Šค์™€์ดํ”„ ๋˜์ง€ ์•Š๋Š” ํ˜„์ƒ

react๋กœ ํ”„๋ก ํŠธ ๊ฐœ๋ฐœ ์ค‘ content๋ฅผ ๊ฐ€๋กœ๋กœ ์Šค์™€์ดํ”„ ํ•˜๋Š” ์ปดํฌ๋„ŒํŠธ๋ฅผ ๊ตฌํ˜„ํ•˜๊ฒŒ ๋˜์—ˆ๋‹ค.์ผ๋ฐ˜์ ์ธ carousel๊ณผ ์œ ์‚ฌํ•˜์ง€๋งŒ ์ด๋ฒคํŠธ ํ•œ ๋ฒˆ์— ์—ฌ๋Ÿฌ content๊ฐ€ ์ด๋™ํ•˜๋Š” ๊ฒŒ ์•„๋‹ˆ๋ผ ์‚ฌ์šฉ์ž๊ฐ€ ๋“œ๋ž˜๊ทธํ•œ ๋งŒํผ ์ด๋™ํ•˜๋Š” slider์— ์ข€ ๋” ๊ฐ€๊นŒ์šด(?) ์• ๋‹ˆ๋ฉ”์ด์…˜์„ ๋ณด

2021๋…„ 2์›” 23์ผ
ยท
0๊ฐœ์˜ ๋Œ“๊ธ€
post-thumbnail

[Error] Error: <svg> attribute viewBox: Expected number, ...

react๋กœ ํ”„๋ก ํŠธ ๊ฐœ๋ฐœ ์ค‘ ๋””์ž์ธํŒ€์—๊ฒŒ ์›€์ง์ด๋Š” ์ด๋ฏธ์ง€๋ฅผ .json ํ˜•์‹์˜ lottie๋กœ ๋ฐ›์•˜๋‹ค. ์ด๋ฏธ์ง€๋ฅผ lottie๋กœ ๋ฐ›์€ ๊ฑด ์ฒ˜์Œ์ด๋ผ ๊ตฌ๊ธ€๋งํ•˜๋‹ค react-lottie ๋ผ๋Š” ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ๊ฐ€ ์žˆ๊ธธ๋ž˜ ์‚ฌ์šฉํ•ด๋ณด๊ธฐ๋กœ ํ–ˆ๋‹ค. ๊ณต์‹ ๋ฌธ์„œ๋ฅผ ์ฐธ๊ณ ํ•ด์„œ lotti

2021๋…„ 2์›” 16์ผ
ยท
2๊ฐœ์˜ ๋Œ“๊ธ€