Side project (10) ์ธ๋ค์ผํ ๋ฆฌ์คํธํ [์ฝ์ง๋ก๊ทธ] Heroku์์ ์ด๋๋ก ๊ฐ์ํ๊น ์ ๊ฐ์ํ์ผ ํ๋๊ฐ Next.js ์ Strapi Headless CMS๋ฅผ ์ฌ์ฉํ์ฌ ์ฌ์ด๋ ํ๋ก์ ํธ๋ฅผ ๋ง๋ค์๊ณ ๊ฑฐ์ 2๋ ๊ฐ ์์ํ๊ฒ ์ ๋ฐ์ดํธ๋ ํ๊ณ ๋ฌธ์ ๋ ํด๊ฒฐํด๊ฐ๋ฉฐ ํฌํธํด๋ฆฌ์ค๋ก ์ ์ฌ์ฉํ๊ณ ์์๋ค. ๊ทธ๋ฐ๋ฐ ๋ช ๋ฌ ์ Heroku๊ฐ Free tier๋ฅผ ์ค๋จํ๋ค๋ ๋ด์ค๋ฅผ ๋ฃ๊ฒ ๋์๋ค. Strapi๋ฅผ Heroku์ ๋ฐฐํฌํด๋์๋๋ฐ... ์ฝ์งํ๋ฉฐ ๋ฐฐํฌํ๊ณ ํ๋ค๊ฒ ๋ชจ์ ๋ฐ์ดํฐ๋ค์ธ๋ฐ... ์ง๊ธ ๋ ์ด์ ํด๋น ํ๋ก์ ํธ๋ฅผ ์ ๋ฐ์ดํธํ์ง ์์ง๋ง ๊ทธ๋ฅ ์ด๋ ๊ฒ ๋ณด๋ด๊ธฐ๋ ๋๋ฌด ์์ฌ์ ๋ค. ํ์ง๋ง ์์ง ์๊ฐ์ด ๋จ์์ผ๋๊น ํ๊ณ ์ฐจ์ผํผ์ผ ๋ฏธ๋ฃจ๋ค ์ค๋์ ์ด๋ฅด๊ฒ ๋๋ค. Heroku๋ 2022๋ 11์ 28์ผ๋ถ๋ก Free tier๋ฅผ ์ค๋จํ๋ค๊ณ ํ๋ ์ด์ ์ดํ๋ ์๋จ์๋ค. ๊ทธ ์ ์ ์ด์ฌ๋ฅผ ๋ง์ณ์ผํ๋ค. ๋์ฒด ๋ฐฉ์์ ๋ํด์ ์ด์ผ๊ธฐ ํด๋์ ๊ธ๊ณผ .. [ํ์ ๊ธฐ๋ก] NextAuth๋ก ๋ก๊ทธ์ธ ๊ธฐ๋ฅ ๊ตฌํํ๊ธฐ (with Prisma) ๋ณดํธ๋์ด ์๋ ๊ธ์ ๋๋ค. [ํ์ ๊ธฐ๋ก] Prisma Seeding ๐ฑ ์์ฆ Prisma๋ฅผ ์ฌ์ฉํด์ ์ฌ์ด๋ ํ๋ก์ ํธ๋ฅผ ์งํ์ค์ธ๋ฐ ์ฒ์ ์ฌ์ฉํ๋ค๋ณด๋ ์๋ก ๋ฐฐ์ฐ๋ ๊ฒ๋ค์ด ๋ง๋ค. Seeding๋ ๊ทธ ์ค ํ ๊ฐ์ง์ธ๋ฐ ํํ ๋ฆฌ์ผ ๋์์๊ณผ ๊ธ๋ค์ ๋ณด๋ค๋ณด๋ seeding, seed๋ผ๋ ๋จ์ด๊ฐ ์์ฃผ ๋์๋ค. ๋น์ฅ ํ์ํด๋ณด์ด์ง๋ ์์์ ๋์ค์ ํ์ํ ๋์ ๋ด์ผ์ง ํ๊ณ ์ง๋์ณค๋๋ฐ ํ์ํ ์๊ฐ์ด ์๋ค. (์์์ ์ธ๊ธํ๋ค์ํผ Prisma๋ฅผ ์ฒ์ ์ฌ์ฉํ๋ค๋ณด๋ Prisma, Prisma seeding์ ๋ํ ๋์ ์ดํด๊ฐ ์ ํ์ ์ผ ์ ์๊ณ ์ด ๊ธ์ด ๊ณต์ ๋ฌธ์์ ๊ธฐ์ดํด ์๊ธดํ์ง๋ง ๋ ์ ํํ ๋ด์ฉ์ ๊ณต์ ๋ฌธ์๋ฅผ ์ฐธ๊ณ ํ๊ธฐ ๋ฐ๋๋ค.) Prisma์ ๊ณต์ ๋ฌธ์๋ฅผ ๋ณด๊ณ ์ถ๋ค๋ฉด ์ด ๋งํฌ๋ฅผ ํ์ธํ๋ผ. Seeding your database Learn how to seed your database using Prism.. [ํ์ ๊ธฐ๋ก] PlanetScale branch ๋ณ๊ฒฝ ๋ฐ deploy request (Prisma String์ default ๊ฐ) [ํ์ ๊ธฐ๋ก] Next.js + Prisma + PlanetScale ์ธํ ํ๊ธฐ (Vercel ๋ฐฐํฌ) ์ด ๊ธ์ ๋จ์ํ ์ธํ ๋ง์ ์ํ ๊ธ์ด์ง ๋ด๋ถ์ ์ธ ๋ก์ง์ด๋ ์คํค๋ง ๋ฑ์ ๋ํ ์ค๋ช ์ด ์ ํ ํฌํจ๋์ด ์์ง ์์ผ๋ฉฐ, ์ด๋ ํ ํ๋ก๊ทธ๋๋ฐ์ ์ธ ๊ธฐ๋ฅ ๊ตฌํ ์ญ์ ๋ค๋ฃจ์ง ์๋๋ค. PlanetScale์ https://planetscal birdmee.tistory.com ์ง๋ ์ธํ ํธ์์ 8๋ฒ์ "promote ํ์ main ๋ธ๋์น๋ production์ ์ํ ๋ธ๋์น๊ฐ ๋๊ณ main ๋ธ๋์น์ ๋ํด ์ง์ ์ ์ธ ์คํค๋ง ๋ณ๊ฒฝ์ด ๋ถ๊ฐ๋ฅํ๋ค. ์ด ๊ธ์ ์์ฑํ๊ธฐ ์ ์ ํ ์คํธ ์ผ์ ๋ง๋ค์ด ๋ณธ DB์์ ์ด ๋ธ๋์น์ ๋ํ ๊ฐ๋ ์ ์ ๋ชจ๋ฅด๊ณ promoteํ ์ํ์์ ์คํค๋ง๋ฅผ ๋ณ๊ฒฝํ๋ ค๊ณ ํด์ ์๋ฌ๋ก ๋นํฉํ๋ ์ ์ด ์๋ค. " ๋ผ๊ณ ์์ฑํ์๋ค. ๊ทธ๋ผ.. [ํ์ ๊ธฐ๋ก] Next.js + Prisma + PlanetScale ์ธํ ํ๊ธฐ (Vercel ๋ฐฐํฌ) ์ด ๊ธ์ ๋จ์ํ ์ธํ ๋ง์ ์ํ ๊ธ์ด์ง ๋ด๋ถ์ ์ธ ๋ก์ง์ด๋ ์คํค๋ง ๋ฑ์ ๋ํ ์ค๋ช ์ด ์ ํ ํฌํจ๋์ด ์์ง ์์ผ๋ฉฐ, ์ด๋ ํ ํ๋ก๊ทธ๋๋ฐ์ ์ธ ๊ธฐ๋ฅ ๊ตฌํ ์ญ์ ๋ค๋ฃจ์ง ์๋๋ค. PlanetScale์ https://planetscale.com/blog/how-to-setup-next-js-with-prisma-and-planetscale ๊ธ์ ๊ธฐ์ดํ ๋ด์ฉ์ด๋ฉฐ ํด๋น ๊ธ์ ๋์์ ๋ฒ์ (๋งํฌ) ๋ ์ฐธ์กฐํ๋ค. How to set up Next.js with Prisma and PlanetScale A step-by-step guide for using PlanetScale and Prisma with Next.js. planetscale.com 1. PlanetScale ๊ฐ์ / ๋ก๊ทธ์ธ ํ Create New Database.. [ํ์ ๊ณํ] ์๋ก์ด ์ฌ์ด๋ ํ๋ก์ ํธ๋ฅผ ์์ํด๋ณด์ ์๋ก์ด ์ฌ์ด๋ ํ๋ก์ ํธ๋ฅผ ์์ํ ์๊ฐ์ด๋ค. ๋ฌด์์ด๋ ์ง์ ํด๋ด์ผ ๋๋ผ๋ ๊ฒ๋ ๋ง๊ณ ๋ฐฐ์ฐ๋ ๊ฒ๋ ๋ง์ ๊ฒ ๊ฐ๋ค. ์ด๋ฒ์๋ ์ด๋ค ์๋น์ค๋ฅผ ๋ง๋ค์ด๋ด์ผ์ง ๋ณด๋ค ์ด๋ค ์คํ์ ์ฌ์ฉํด๋ณด๊ณ ์ถ๋ค๋ผ๋ ์๊ฐ์ด ๋ค๋ฉด์ ์์ํด๋ณด๊ณ ์ ๋ถ๋ฆ๋ถ๋ฆ ์๋์ ๊ฑด๋ค. ์ฌ์ฉํ๊ณ ์ถ์ ์คํ / ๊ธฐ์ ๋ฐ ์ด์ Next.js : ์ง๋ ํ๋ก์ ํธ ๋ ์ฒ์ ์ ํด๋ดค๋๋ฐ ๋ ๊ณต๋ถํด๋ณด๊ณ ์ถ์๋ค. ๋ ๊ณต์๋ฌธ์๊ฐ ๋งค์ฐ ์น์ ํ๋ค(๊ณ ํ๋ค๋ผ๊ณ ์ด๋์ ๋ค์ ๊ฒ ๊ฐ์๋ฐ ์ค์ ๋ก ๊ทธ๋ ๊ฒ ๋๊ปด์ ธ ๋ธ๋ก๊ทธ์ Next.js ์นดํ ๊ณ ๋ฆฌ์ ๊ณต์ ๋ฌธ์๋ฅผ ์ผ๋ถ ๋ฒ์ญํด๋๊ธฐ๋ ํ์๋ค.). PlanetScale : Serverless DB Platform์ผ๋ก ์ต๊ทผ์ Stackoverflow ํ์บ์คํธ๋ฅผ ๋ฃ๋ค๊ฐ Next.js CEO์ PlanetScale CEO๊ฐ ์ด์ผ๊ธฐ ๋๋๋ ๊ฒ์ ๋ฃ๊ณ ์ฒ์ .. [ํ์ ๊ธฐ๋ก] ๋ด์ค๋ ํฐ ๋ชจ์ ์ฌ์ดํธ NEWใปLEใปKA NEWใปLEใปKA(๋ด๋ ์นด) โก๏ธ https://newleka.vercel.app ๐ฌ ์์ ๋ฐ ๊ณ๊ธฐ ์์์ ์ง์งํ๊ฒ ๊ถ์์ฒด๋ก ์์ฑํด๋ณด๊ฒ ๋ค. ์ฝ ๋ฐ๋ ์ ์ฏค ์์ํ ์ฌ์ด๋ ํ๋ก์ ํธ๊ฐ ์๋ค. (ํน๋ณํ ์ผ์ด ์์ผ๋ฏ๋ก ๊ฑฐ์ ๋ฉ์ธ์ธ) ๋ญ๊ฐ๋ฅผ ๋ง๋ค์ด ๋ณด๊ณ ์ถ์๋ฐ ํด๋ก ์ฝ๋ฉํ๋ ๊ฑด ์ง๊ฒน๊ณ ... ๋ด๊ฐ ์ง์ ์๋น์ค๋ฅผ ์ด์ํด๋ณด๊ณ ์ถ์ ๊ฒ๋ ์๊ณ , ์ง์ ๋ง๋ค๋ฉด ๋ญ๊ฐ๋ฅผ ๋ ๋ง์ด ๋ฐฐ์ฐ์ง ์์๊น ํ๋ ์๊ฐ์ผ๋ก ์ด๋ฐ์ ๋ฐ ์๊ฐ์ ํ๋ค๊ฐ ๋ ์ค๋ฅธ ์์ด๋์ด์๋ ๊ฒ ๊ฐ๋ค. ํ์์ ๋ด์ค๋ ํฐ ๋ณด๋ ๊ฑธ ๊ฝค ์ข์ํ๋ค. ๋ง์ ๋ด์ค๋ ํฐ๋ฅผ ๊ตฌ๋ ํ๋ ๊ฑด ์๋์ง๋ง ํฌํธ ์ฌ์ดํธ์ ๋์๋ค๋๋ฉด์ ๋ณด๊ฒ ๋๋ ์ ๋ณด๋ค๊ณผ ๋ค๋ฅด๊ฒ ๋๊ตฐ๊ฐ ์ ์ฑ์ ๋ค์ฌ ๋ชจ์๋์๊ฑฐ๋ ์ ๋ฆฌํ ๋๋ ๋ง๋ ๋ฐ์ดํฐ๋ผ ๊ทธ๋ฐ์ง ์งง์ ์๊ฐ์๋ ๋ง์ ์ ๋ณด๋ฅผ ์ป์ ์ ์๊ณ ์์ง์ ์ ๋ณด๋ค์ด ๋ง์๋ค. ์ฌ๋ฌ ๋ถ์ผ์.. [์ฝ์ง๋ก๊ทธ] Next.js(Vercel) + Strapi(Heroku) 504 ์๋ฌ ๋์ฒ (์ด ๊ธ์ 2021๋ 7์ 11์ผ ๊ธฐ์ค ๊ธ์ด๋ค.) ์ฝ์ง์์ฝ๐จ๐ง ์คํ: Next.js(Vercel) + Strapi - Postgres(Heroku) ์ฆ์: ์ด๊ธฐ ์ ๊ทผ์ 504 ์๋ฌ๊ฐ ๋ธ. (Serverless Function Timeout) ๋์ฒ: ๋งค๋ฒ ์๋ฒ์ ์์ฒญํด์ ๋ฐ์ดํฐ๋ฅผ ๊ฐ์ ธ์ค๋ getServerSideProps์์ getStaticProps๋ก ๋ณ๊ฒฝ ํ revalidate ์ค์ . (์๋ฌ์ ๋ํ ๊ทผ๋ณธ์ ์ธ ํด๊ฒฐ์ฑ ์ด ์๋๋ผ ๋ค๋ฅธ ๋ฐฉ๋ฒ์ผ๋ก ๋์ฒํ ๊ฒ์ด๊ธฐ์ ๋์ฒ๋ผ๊ณ ์ผ๋ค.) ์ฝ์ง๊ตฌ๊ตฌ์ ์ ์ฌ์ด๋ ํ๋ก์ ํธ๋ฅผ ํ๋ค๊ฐ ํ๋์ ๋ค๋ฅธ ํ ์ด ํ๋ก์ ํธ๋ฅผ ๋ง์ง์๊ฑฐ๋ฆฌ๋ค๋ณด๋ ์ฌ์ด๋ ํ๋ก์ ํธ๋ ์ ์ด์ด ๋ฉ๋ฆฌ ๋ฉ์ด์ ธ๋ฒ๋ ธ๊ณ ์๋๊ธฐ๋ ๊ท์ฐฎ์์ก๋ค. ์์งํ ๋งํ๋ฉด ํด๊ฒฐํด์ผ ํ ๋ฌธ์ ๊ฐ ์์๋๋ฐ ํด๊ฒฐ์ฑ ์ด ๋ณด์ด์ง ์์์ ๋ ๊ฑด๋ค๊ธฐ๊ฐ ์ซ์๋ค... ์ด์ 1 2 ๋ค์