๐ฉ๐ป๐ป dev (34) ์ธ๋ค์ผํ ๋ฆฌ์คํธํ puppeteer aws lambda์ ๋ฐฐํฌํ๊ธฐ puppeteer๋ ํฌ๋กฌ์ด๋ ํ์ด์ดํญ์ค์์ ๋์์ ์กฐ์ํ๊ธฐ ์ํ ์๋ฐ์คํฌ๋ฆฝํธ ๋ผ์ด๋ธ๋ฌ๋ฆฌ์ด๋ค.์ค๋์ ์ด puppeteer๋ฅผ ํตํด ์น์คํฌ๋ํ์ ํ์ฌ ์ฅ์ ์ ๋ณด๋ฅผ ์ค์๊ฐ์ผ๋ก ๊ฐ์ ธ์ค๊ณ ์ ํ๋ค.๊ทธ๋ฆฌ๊ณ aws ๋๋ค๋ฅผ ํตํด ๋ฐฐํฌํ๋ ๊ณผ์ ์ ๋ด์ ํํ ๋ฆฌ์ผ์ ์ฐจ๊ทผํ ๋ฐ๋ผ๊ฐ๋ฉด์ ์์ ํ ์ฌํญ์ ๊ธฐ๋กํ๊ณ ์ ํ๋ค.๊ตฌ๊ธ place api๋ฅผ ์ฌ์ฉํ๋๋ผ 30๋ง ์์ด์น ์ด์์ ๋น์ฉ์ด ๋ฐ์ํด์, ์ฐจ์ ํ์ผ๋ก ์น์คํฌ๋ํํ ์ ๋ณด๋ฅผ ๊ฐ์ ธ์์ ์จ๋ณด๋ ๋ฐฉํฅ์ ์ ํํด ๋ดค๋ค.๋ฌผ๋ก api์ ๋นํด์ ์๋ต ์๋ ๋ฑ์ด ๋๋ ค์ง ๋ถ๋ถ์ด ์ผ๋ ค๋์ง๋ง ๊ธ์ก์ ์ผ๋ก ์ต์ ์ธ ๊ฑฐ ๊ฐ๊ณ ,ํ์์ ๋ค์ด๋ณด๊ธฐ๋ง ํ๋ lambda์ docker๋ฅผ ๊ฒฝํํด ๋ณผ ์ข์ ๊ฒฝํ ๊ฐ์์ ๊ณต๋ถ ์ผ์ํด ๋ณด๊ธฐ๋ก ํ๋ค. ์ค๋น๋ฌผ- aws ๊ณ์ : lambda์ ๋ฐฐํฌ - aws sam CLI (์ค์น ๋ง.. [โ๏ธ React conf 2024] ๋ ๋์ ์ปดํจํฐ๋ก ๋์๊ฐ๋ ๋ฆฌ์กํธ (React for Two Computers | Dan Abramov) 2024.09.24 - [๐ฉ๐ป๐ป dev] - [โ๏ธ React Conf 2024] ๋ฆฌ์กํธ 19์์ ์๋ก์์ง ๊ฒ๋ค (What's new in React 19 | Lydia Hallie) [โ๏ธ React Conf 2024] ๋ฆฌ์กํธ 19์์ ์๋ก์์ง ๊ฒ๋ค (What's new in React 19 | Lydia Hallie)What's new in React 19 | Lydia Hallie์ฝ 2 ๋ฌ ์ ์ REACT CONF 2024๊ฐ ์ด๋ ธ๋ค.์ฌ๋ฌ ํ ํฌ๋ค์ด ์งํ๋์์๋๋ฐ, ๊ทธ์ค ๋ฐ๋ ๋ฐ๊ทผ(?)ํ React 19์ ์ ์์๋ค์ ์ดํด๋ณด๊ณ ์ ํ๋ค.canary ๋ฒ์ ์ ๋ฆฌ์กํธ๋ฅผ ์ฐ๊ณ ์์๋ค๋ฉดpyotato-dev.tistory.com์ด์ ๊ธ์ ๋ฆฌ์กํธ 19์์ ์๋ก์์ง ๊ธฐ๋ฅ๋ค์ด๋ ๊ฐ์ ๋ ์ฌํญ์ ๋ํด ์ดํด๋ดค์๋ค.์ค๋.. [TOSS] useFunnel ๋ง๋ค์ด๋ณด๊ธฐ 2024.07.05 - [๐ฉ๐ป๐ป dev] - ํ ์คใ ฃSLASH 23 - ํผ๋ : ์์์ง๋ ํ์ด์ง ํ ๋ฐฉ์ ๊ด๋ฆฌํ๊ธฐ (TOSH | SLASH 23 - Funnel Pattern : Organizing an overflow of pages at once) ํ ์คใ ฃSLASH 23 - ํผ๋ : ์์์ง๋ ํ์ด์ง ํ ๋ฐฉ์ ๊ด๋ฆฌํ๊ธฐ (TOSH | SLASH 23 - Funnel Pattern : Organizing an ovโ ๏ธ ์ ์๊ถ ๋ณดํธ๋ฅผ ์ํด ์๋ฃ ๋ฐ ์์๊ฐ ๋์ฒด๋์์ต๋๋ค. ์์ ์ฝ๋๋ Reactโ๏ธ๋ก ์์ฑ๋์์ต๋๋ค.๐ซจ ํต์ ์ฌ ๊ฐ์ ์ ํ๊ธฐ ์ํด์ ์๋์ ๊ฐ์ด ๊ธด ํผ๊ณผ ์ฝ์ ์ด ํฌํจ๋ ํ์ด์ง๋ฅผ ๋ง์ฃผ์น๊ฒ ๋ ๋pyotato-dev.tistory.com์ด์ ํ ์ค SLASH23์ ์๊ฐ๋ useFunnel์ ๋ํด ์ด.. [โ๏ธ React Conf 2024] ๋ฆฌ์กํธ 19์์ ์๋ก์์ง ๊ฒ๋ค (What's new in React 19 | Lydia Hallie) What's new in React 19 | Lydia Hallie์ฝ 2 ๋ฌ ์ ์ REACT CONF 2024๊ฐ ์ด๋ ธ๋ค.์ฌ๋ฌ ํ ํฌ๋ค์ด ์งํ๋์์๋๋ฐ, ๊ทธ์ค ๋ฐ๋ ๋ฐ๊ทผ(?)ํ React 19์ ์ ์์๋ค์ ์ดํด๋ณด๊ณ ์ ํ๋ค.canary ๋ฒ์ ์ ๋ฆฌ์กํธ๋ฅผ ์ฐ๊ณ ์์๋ค๋ฉด ์๊ฐํ ๋ด์ฉ๋ค์ด ์ด๋ฏธ ์ต์ํ ๊ฒ๋ค์ผ ์ ์์ง๋ง,์์ ํ๋ ๋ฒ์ ์ ๊ธฐ๋ค๋ฆฐ ๋์ ๊ฐ์ ์ฌ๋๋ค์ ํด๋น ํ ํฌ์์ ๋ฐ๊ฐ์ด ์์๋ค์ ์ ํด ๋ค์ ์ ์์ ๊ฑฐ ๊ฐ๋ค.์ด๋ฒ์๋ ๊ฐ๋จํ๊ฒ ์ด๋ค ๊ฒ๋ค์ด ๋ฌ๋ผ์ก๋ ์ดํด๋ณด๊ณ , ์ค์ ๋ก ์๊ฐ๋ 19 ๋ฒ์ ์ ๊ธฐ๋ฅ๋ค์ ์ฌ์ฉํด ๋ณด๊ณ ์ ํ๋ค.๐ ๋ค๋ฃฌ ์ฃผ์ ๋ชฉ์ฐจ๋ก ์ดํด๋ณด๊ธฐ๋๋ณด๊ธฐ1. Asynchoronous transitions: startTransition์ async ํจ์๋ฅผ ์ ๋ฌํ๊ธฐ2. Actions: transition์ ํธ๋ฆฌ๊ฑฐ.. [โ๏ธ react] synthetic event (ft. +17 ๋นํฌ&์ ํํฐ) [์ด์ ๊ธ]2024.08.16 - [๐ฉ๐ป๐ป dev] - [ํ ์ค] Transpiler, “์ฌ์ฉ”๋ง๊ณ “ํ์ฉ”ํ๊ธฐ [ํ ์ค] Transpiler, “์ฌ์ฉ”๋ง๊ณ “ํ์ฉ”ํ๊ธฐ๐ฃ๏ธ ์ด๋ฒคํธ ๋ฒ๋ธ๋ง๊ณผ ์บก์ณ๋ง์ ๋ํด์ ์๊ณ ๊ณ์๋์?๋ชจ๋ ์๋ฐ์คํฌ๋ฆฝํธ ๋ฅ๋ค์ด๋ธ์์ ๋ดค์๋๋ฐ;;๋ฒ๋ธ๋ง์ ๋ฒ๋ธ ์ ๋ ฌ์ฒ๋ผ bubble up์ด๋ผ๋ ๋ง์์ ์ ์ถํ ์ ์๋ฏ์ด ์ด๋ค ์ด๋ฒคํธ๊ฐ ์๋์์ ์pyotato-dev.tistory.com์ด๋ฒคํธ ์์+ ํธ๋์คํ์ผ๋ฌ๋ฅผ ํตํด์ ๋ก๊น ์ ์ฝ๋์ ์ฃผ์ ํ๋ ํ ์ค์ ์ด์ฉ ์ฌ๋ก๋ฅผ ์ดํด๋ดค์๋ค.์ด๋ฒคํธ ๋ฒ๋ธ๋ง ๋์ ์บก์ฒ๋ฅผ ์ฌ์ฉํ ์ด์ ์ ๋ํ ์ง๋ฌธ์ด ์์๋๋ฐ, ์ ๊ทธ๋ฌ์๊น ๋๋ฆ๋๋ก ์ด์ ๋ฅผ ์ฐพ๋ค๊ฐ,๋ฆฌ์กํธ์์ ์ด๋ฒคํธ ์ ํ ๋ฐฉ์์ด dom๊ณผ๋ ์ด์ง ๋ค๋ฅด๋ค๋ ๊ธ๋ค์ ์ฝ๊ฒ ๋์ด ๋ ์์ธํ ํ๋ณด๊ธฐ๋ก ํ๋ค.Legacy reac.. [ํ ์ค] Transpiler, “์ฌ์ฉ”๋ง๊ณ “ํ์ฉ”ํ๊ธฐ ๐ฃ๏ธ ์ด๋ฒคํธ ๋ฒ๋ธ๋ง๊ณผ ์บก์ณ๋ง์ ๋ํด์ ์๊ณ ๊ณ์๋์?๋ชจ๋ ์๋ฐ์คํฌ๋ฆฝํธ ๋ฅ๋ค์ด๋ธ์์ ๋ดค์๋๋ฐ;;๋ฒ๋ธ๋ง์ ๋ฒ๋ธ ์ ๋ ฌ์ฒ๋ผ bubble up์ด๋ผ๋ ๋ง์์ ์ ์ถํ ์ ์๋ฏ์ด ์ด๋ค ์ด๋ฒคํธ๊ฐ ์๋์์ ์๋ก ์ ์ด๋๋ ๊ฑฐ๊ณ , ์บก์ณ๋ง์ ๋ฐ๋๋ก ์์์ ์๋๋ก ์ ์ด๋๋ ๊ฑฐ ์๋์๋?๊ฐ๋ ์ ์ด๋ ์ ๋ ์๊ณ ์์ง๋ง ์ค์ ์ ์ฉ์ ํ๋ ๊ฒฝ์ฐ๋ก๋ ์ฐ๊ฒฐ์ด ๋์ง ์์์๋ค.์ด๋ฒ ๊ธฐํ์ ์ค์ ๋ก ์บก์ณ๋ง์ ํ์ฉํ ํ ์ค์ 'Transpiler, “์ฌ์ฉ”๋ง๊ณ “ํ์ฉ”ํ๊ธฐ'๊ฐ ์ข์ ์์์ธ ๊ฑฐ ๊ฐ์์ ์์๋ณด๊ณ ์ ํ๋ค.๋ฒ์ ์์ญ์ ์ ๋ชจ๋ฅด๋ ์ ์ฅ์์ ์ฌ์ฉ์์ ์ผ๊ฑฐ์์ผํฌ์กฑ์ ๋ก๊น ํ๋ ๊ฑด ๋์ํ์๋ง ๊ฐ๋ฅํ ๊ฑฐ ๊ฐ๊ธฐ ๋๋ฌธ์ ์ ์ฉํด ๋ณผ ๊ธฐํ๊ฐ ์์์ง๋ ๋ชจ๋ฅด๊ฒ ์ง๋ง, ์ค์ ์ฌ์ฉ ์ฌ๋ก๋ฅผ ์์์ผ ๊ธฐ์ต์ ๋ ๋จ์ ๊ฑฐ ๊ฐ์์, ์ด๋ค ์์ผ๋ก ํธ๋์คํ์ผ๋ฌ์ ์ด๋ฒคํธ ์บก์ณ๋ง.. [spotify-api] VINYLIFY : ์คํฌํฐํ์ด apiํ์ฉํ ๊ฒ์ + ์ฌ์ ํ๋ก์ ํธ(7) Sentry ์ค์ 2024.08.10 - [๐ฉ๐ป๐ป dev] - [spotify-api] VINYLIFY : ์คํฌํฐํ์ด apiํ์ฉํ ๊ฒ์ + ์ฌ์ ํ๋ก์ ํธ(6) [spotify-api] VINYLIFY : ์คํฌํฐํ์ด apiํ์ฉํ ๊ฒ์ + ์ฌ์ ํ๋ก์ ํธ(6)[์ด์ ๊ธ] 2024.08.09 - [๐ฉ๐ป๐ป dev] - [spotify-api] VINYLIFY : ์คํฌํฐํ์ด apiํ์ฉํ ๊ฒ์ + ์ฌ์ ํ๋ก์ ํธ(5) react router ์ค์ [spotify-api] VINYLIFY : ์คํฌํฐํ์ด apiํ์ฉํ ๊ฒ์ + ์ฌ์ ํ๋ก์ ํธ(5) react routerpyotato-dev.tistory.comsentry can't fix this ์ ํ๋ธ ๊ด๊ณ ๋ก ์ข ์ข ๋ดค๋ sentry! ์ค๋์ sentry ์ ์ฉ์ ๋ํด ์ ๋ฆฌ๋ฅผ ํ.. [Nextjs Image] The request resource XX has type "image/svg+xml" but dangerouslyAllowSVG is disabled ์ด๋ฏธ์ง placeholder๋ก ์ฌ์ฉํ๊ธฐ ์ํด https://placehold.co/์์ ๊ฐ์ ธ์ค๋ ค๊ณ ํ์ผ๋, ์์ ๊ฐ์ ์๋ฌ๊ฐ ๋ฐ์ํ๋ค.next ๋ฌธ์๋ฅผ ์ฐพ์๋ณด๋ ํด๊ฒฐ๋ฐฉ์์ dangerouslyallowsvg์ค์ ์ ํด์ฃผ๋ฉด ๋๋ค. ํ์ง๋ง ๋ํดํธ ๋ก๋๊ฐ SVG ์ด๋ฏธ์ง๋ฅผ ์ต์ ํํ์ง ์๋๋ค๋ ๋ฌธ๊ตฌ์ ํจ๊ป, ๊ทธ ์ด์ ๋ฅผ ์ค๋ช ํ๋๋ฐ, ์ฒซ์งธ๋ SVG๋ vector ํฌ๋ฉง์ผ๋ก ์ด๋ฃจ์ด์ก๊ธฐ ๋๋ฌธ์ resize ํ์์ฑ์ด ์๊ณ , ๋ ๋ฒ์งธ๋ก๋ HTML/CSS ์ ๊ฐ์ ํน์ฑ ๋๋ฌธ์ ์ ์ ํ CSP ํค๋ ์์ด๋ ์ทจ์ฝ์ฑ์ผ๋ก ์ด์ด์ง ์ ์๋ค๋ ๊ฒ์ด๋ค. ๋ฐ๋ผ์ src prop์ด SVG์ธ ๊ฒ์ ์๋ฉด ์ต์ ํํ์ง ์์ ๋ฐฉ์์ผ๋ก ์ฌ์ฉํ๋ ๊ฒ์ด ๋ฐ๋์งํ๋ค๊ณ ํ๋ค.๊ทธ๋ฆฌ๊ณ contentSecurityPolicy์ contentDispositionType์.. ์ด์ 1 2 3 4 5 ๋ค์