nextjs,tailwindcss,vercel 38

aria-label์ด๋ž€? ๊ทธ๋ฆฌ๊ณ  tailwind css ์—์„œ์˜ ์‚ฌ์šฉ๋ฒ•

aria-label์€ ์›น ์ ‘๊ทผ์„ฑ์„ ๊ฐœ์„ ํ•˜๊ธฐ ์œ„ํ•ด ์‚ฌ์šฉ๋˜๋Š” HTML ์†์„ฑ์ž…๋‹ˆ๋‹ค. ์ด ์†์„ฑ์€ ํ™”๋ฉด ํŒ๋…๊ธฐ์™€ ๊ฐ™์€ ๋ณด์กฐ ๊ธฐ์ˆ ์ด ์›น ํŽ˜์ด์ง€์˜ ์š”์†Œ์— ๋Œ€ํ•œ ์„ค๋ช…์„ ์ œ๊ณตํ•  ์ˆ˜ ์žˆ๋„๋ก ๋„์™€์ค๋‹ˆ๋‹ค. aria-label ์†์„ฑ์€ ์‹œ๊ฐ์ ์œผ๋กœ๋Š” ๋ณด์ด์ง€ ์•Š์ง€๋งŒ, ํ™”๋ฉด ํŒ๋…๊ธฐ์™€ ๊ฐ™์€ ๋„๊ตฌ๊ฐ€ ์š”์†Œ์˜ ์—ญํ• ๊ณผ ๋ชฉ์ ์„ ์‚ฌ์šฉ์ž์—๊ฒŒ ์ „๋‹ฌํ•  ์ˆ˜ ์žˆ๊ฒŒ ํ•ด์ค๋‹ˆ๋‹ค. aria-label ์‚ฌ์šฉ ์˜ˆ์ œ์˜ˆ๋ฅผ ๋“ค์–ด, ๋ฒ„ํŠผ์— ์‹œ๊ฐ์ ์ธ ํ…์ŠคํŠธ๊ฐ€ ์—†๊ณ  ์•„์ด์ฝ˜๋งŒ ์žˆ๋Š” ๊ฒฝ์šฐ, aria-label์„ ์‚ฌ์šฉํ•˜์—ฌ ๋ฒ„ํŠผ์˜ ๊ธฐ๋Šฅ์„ ์„ค๋ช…ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค:button aria-label="Close">Xbutton>์—ฌ๊ธฐ์„œ aria-label="Close"๋Š” ํ™”๋ฉด ํŒ๋…๊ธฐ ์‚ฌ์šฉ์ž์—๊ฒŒ ์ด ๋ฒ„ํŠผ์ด "Close" (๋‹ซ๊ธฐ) ๋ฒ„ํŠผ์ด๋ผ๋Š” ๊ฒƒ์„ ์•Œ๋ฆฌ๊ฒŒ ํ•ฉ๋‹ˆ๋‹ค. Tailwind CSS์—์„œ aria-..

google search console ์˜ค๋ฅ˜ Page with redirect ํ•ด๊ฒฐ

https://www.redirect-checker.org/index.php Redirect Checker | Check your Statuscode 301 vs 302Features This Redirect Checker supports several features like: · Select different User Agents like    · Desktop-Browsers (Chrome, Internet Explorer, Safari, Firefox,...)    · Mobile Devices (IPad, Iphone, Android, Windows Phone, Kindle, Nokia...www.redirect-checker.org  ์ด redirect checker ๋ฅผ ํ†ตํ•ด ๋ฌธ์ œ๊ฐ€ ์žˆ๋Š” ur..

ํ˜ธ์ŠคํŒ…์ผ€์ด์•Œ์—์„œ ๋„๋ฉ”์ธ ์‚ฌ์„œ google search console ๋“ฑ๋ก ํ•˜๊ธฐ (nextjs)

https://search.google.com/search-console Google Search ConsoleSearch Console ๋„๊ตฌ์™€ ๋ณด๊ณ ์„œ๋ฅผ ์‚ฌ์šฉํ•˜๋ฉด ์‚ฌ์ดํŠธ์˜ ๊ฒ€์ƒ‰ ํŠธ๋ž˜ํ”ฝ ๋ฐ ์‹ค์ ์„ ์ธก์ •ํ•˜๊ณ , ๋ฌธ์ œ๋ฅผ ํ•ด๊ฒฐํ•˜๋ฉฐ, Google ๊ฒ€์ƒ‰๊ฒฐ๊ณผ์—์„œ ์‚ฌ์ดํŠธ๊ฐ€ ๋‹๋ณด์ด๊ฒŒ ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.search.google.com ๊ตฌ๊ธ€ ์„œ์น˜ ์ฝ˜์†”๋กœ ๋“ค์–ด๊ฐ€ ๋„๋ฉ”์ธ ๋“ฑ๋ก์„ ํ•œ๋‹ค.  layout.tsx์— ํ•ด๋‹น ์˜ต์…˜์„ ์ถ”๊ฐ€ํ•œ๋‹ค. verification: { google: "YOUR-VERIFICATION-CODE-PROVIDED-BY-GOOGLE" }, ์ด๋ ‡๊ฒŒ ํ•˜๋ฉด ์„ ์“ธ ํ•„์š”๊ฐ€ ์—†์–ด์ง„๋‹ค.

Vercel ๋ฐฐํฌ , 404 not found ์—๋Ÿฌ

๋ฐฐํฌํ›„ ์™„๋ฃŒ๊ฐ€ ๋์Œ์—๋„ ๋“ค์–ด๊ฐ€๋ณด๋ฉด ํ•ด๋‹ค ์˜ค๋ฅ˜๋ฅผ ๋งˆ์ฃผํ•  ๋•Œ๊ฐ€ ์žˆ๋‹ค .๋ฃจํŠธ์— vercel.json ํŒŒ์ผ์„ ์ถ”๊ฐ€ํ•ด์ฃผ๊ณ  ๋‹ค์Œ์„ ์ž…๋ ฅํ•ด์ฃผ๊ณ  ๋‹ค์‹œ ๋ฐฐํฌํ•˜๋ฉด ๋ {  "routes": [{ "src": "/[^.]+", "dest": "/", "status": 200 }]}

ํ˜ธ์ŠคํŒ…์ผ€์ด์•Œ์—์„œ ๋„๋ฉ”์ธ ์‚ฌ์„œ vercel ์— ์—ฐ๊ฒฐ, ๋ฐฐํฌํ•˜๋Š” ๋ฒ•

์ €๋ฒˆ์—๋Š” ๊ฐ€๋น„์•„์—์„œ ๋„๋ฉ”์ธ์„ ์ƒ€์ง€๋งŒ ์ด๋ฒˆ์—๋Š” ํ˜ธ์Šคํƒ• ์ผ€์ด์•Œ (hosting kr) ์—์„œ ์ƒ€๋‹ค์—ฌ๊ธฐ๊ฐ€ ์•Œ์•„๋ณธ . ๊ณณ์ค‘์—์„œ๋Š” .com ๊ฐ€๊ฒฉ์ด ์ œ์ผ ์‹ผ๋“ฏํ•˜๋‹ค14000์›์— ๋ถ€๊ฐ€์„ธ 10ํผ์„ผํŠธ ๋ถ™์–ด์„œ 15400 ๊ฒฐ์ œ ์ผ๋‹จ์€ ๋„ค์ž„์„œ๋ฒ„ ๋ณ€๊ฒฝํ•ด์„œ ์‚ฌ๋ ค๋ฉด ns1.vercel-dns.comns2.vercel-dns.com ๋กœ๋งŒ ๋ณ€๊ฒฝํ•ด์„œ ์‚ฌ์ฃผ๋ฉด ํ•œ๋ฒˆ์— ๋œ๋‹ค.   ๊ธฐ๋ณธ์œผ๋กœ ์ƒ€๋‹ค๋ฉด ๋„ค์ž„์„œ๋ฒ„ ๋ณ€๊ฒฝ๋„ ๊ฐ€๋Šฅํ•˜๋‹ค ์—ฐ๊ฒฐํ•˜๋Š” ๊ฒƒ๋„ ๊ฐ€๋น„์•„๋ณด๋‹ค ํ›จ์”ฌ ์‰ฝ๋‹ค ์œ„์˜ ๊ธฐ๋ณธ ๋„ค์ž„์„œ๋ฒ„๋ฅผ ns1.vercel-dns.com, ns2.vercel-dns.com ๋กœ๋งŒ ๋ณ€๊ฒฝํ•ด์ฃผ๋ฉด ๋œ๋‹ค.   ๊ทธ๋ฆฌ๊ณ  vercel์— ํ•ด๋‹น ํ”„๋กœ์ ํŠธ์˜ ์„ค์ • - ๋„๋ฉ”์ธ์— ๋“ค์–ด๊ฐ„๋‹ค.์‚ฐ ๋„๋ฉ”์ผ ์ฃผ์†Œ๋ฅผ ์ž…๋ ฅํ•˜๊ณ  ADD ํ•œ๋‹ค ์‹œ๊ฐ„์ด ์กฐ๊ธˆ ๊ฑธ๋ ค์„œ ์ž๋™์œผ๋กœ ์—ฐ๊ฒฐ์ด ๋œ๋‹ค!  ์ง 

vercel์— git add ์•ˆํ•˜๊ณ  ๋ฐ”๋กœ ๋ฐฐํฌํ•˜๋Š”๋ฒ•

vercel์ด๋ผ๋Š” ๋ช…๋ น์–ด๋ฅผ ํ„ฐ๋ฏธ๋„์— ์ž…๋ ฅํ•˜๋Š” ๊ฒƒ๋งŒ์œผ๋กœ๋„ ๋ฐ”๋กœ ๋ฐฐํฌ๊ฐ€ ๊ฐ€๋Šฅํ•˜๊ฐ€ git add , git commit, git push ์•ˆํ•ด๋„๋จ!Vercel CLI ์„ค์น˜: npm (Node Package Manager)์„ ์‚ฌ์šฉํ•˜์—ฌ ์ „์—ญ์œผ๋กœ Vercel CLI๋ฅผ ์„ค์น˜ํ•ฉ๋‹ˆ๋‹ค. ํ„ฐ๋ฏธ๋„์—์„œ ๋‹ค์Œ ๋ช…๋ น์–ด๋ฅผ ์‹คํ–‰ํ•˜์„ธ์š”: npm install -g vercel์„ค์น˜ ํ™•์ธ: ์„ค์น˜๊ฐ€ ์™„๋ฃŒ๋˜๋ฉด ๋‹ค์Œ ๋ช…๋ น์–ด๋กœ Vercel CLI๊ฐ€ ์ œ๋Œ€๋กœ ์„ค์น˜๋˜์—ˆ๋Š”์ง€ ํ™•์ธํ•ฉ๋‹ˆ๋‹ค: vercel --version๋ฒ„์ „ ์ •๋ณด๊ฐ€ ํ‘œ์‹œ๋˜๋ฉด ์„ค์น˜๊ฐ€ ์„ฑ๊ณต์ ์œผ๋กœ ์™„๋ฃŒ๋œ ๊ฒƒ์ž…๋‹ˆ๋‹ค.Vercel ๊ณ„์ • ์—ฐ๊ฒฐ: ์ด์ œ 'vercel login' ๋ช…๋ น์–ด๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ Vercel ๊ณ„์ •์— ๋กœ๊ทธ์ธํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค: vercel login๋ธŒ๋ผ์šฐ์ € ์ฐฝ์ด ์—ด๋ฆฌ๋ฉด Vercel ๊ณ„์ •์œผ๋กœ ๋กœ๊ทธ..

nextauth ๊ตฌ๊ธ€ ๋กœ๊ทธ์ธ ๊ตฌํ˜„ ์—๋Ÿฌ Error: This action with HTTP GET is not supported by NextAuth.js

Error: This action with HTTP GET is not supported by NextAuth.jsโœ“ Compiled /api/[...nextauth] in 179ms (2268 modules) GET /api/auth/error 400 in 303ms๊ตฌํ˜„ ์™„๋ฃŒํ›„ ํ…Œ์ŠคํŠธํ•˜๋Š”๋ฐ ์ž๊พธ ์ด๋Ÿฐ ์—๋Ÿฌ๊ฐ€ ๋‚œ๋‹คํ•  ๊ฒƒ ๋‹คํ–ˆ๋Š”๋ฐ ์ž๊พธ ์ € ์ฃผ์†Œ๋กœ ๋“ค์–ด๊ฐ€๋ฉด ์—๋Ÿฌ๊ฐ€ ๋‚˜๋Š” ๊ฒƒ์ด์—ˆ๋‹ค. http://localhost:3000/api/auth/callback ์•Œ๊ณ ๋ณด๋‹ˆsrc/app/api/auth/[...nextauth]/route.ts์ด ๊ฒฝ๋กœ์—ฌ์•ผ ํ•˜๋Š”๋ฐsrc/app/api/[...nextauth]/route.ts ๋กœ ํ•˜๊ณ  ์žˆ์—ˆ๋˜ ๊ฒƒ..auth ํด๋” ๋•Œ๋ฌธ์— 4์‹œ๊ฐ„ ํ—ˆ๋น„ํ–ˆ๋‹ค. ํ•˜ใ…ใ…ใ…ใ…ใ…ใ…ใ…ใ…ใ…ใ…ใ…ใ…ใ…ใ…ใ…ใ…ใ…ใ…ใ…ใ…ใ…ใ…ใ…..

next js ์œผ๋กœ ํ”„๋กœ์ ํŠธ ์ƒ์„ฑํ•ด์„œ vercel ๋ฐฐํฌํ•˜๊ธฐ (git ์„ค์ •๋ฒ•)

next js ์œผ๋กœ ์ดˆ๊ธฐ์— ํ”„๋กœ์ ํŠธ ์„ค์ •ํ•˜๊ณ  ๊ทธ๊ฒƒ์„ github์— ์˜ฌ๋ฆฌ๊ณ , vercel ๋ฐฐํฌํ•˜๋Š” ๊ณผ์ •๊นŒ์ง€ ์ •๋ฆฌํ•˜๊ฒ ๋‹ค. 1. ํ„ฐ๋ฏธ๋„์—์„œ next js ํ”„๋กœ์ ํŠธ ์„ค์น˜npx create-next-app@latest ๋‹ค์Œ์— ๋‚˜์˜ค๋Š” ์‚ฌํ•ญ๋“ค ์ ์ ˆํ•˜๊ฒŒ ์„ค์ •ํ•˜๊ธฐ ,nextjs app router ์‚ฌ์šฉํ•˜๋Š” ๊ธฐ์ค€, project name๋งŒ ์ •ํ•˜๊ณ  ๋‚˜๋จธ์ง€ ๋‹ค ๋””ํดํŠธ๊ฐ’์œผ๋กœํ•˜๊ธฐ What is your project named? my-appWould you like to use TypeScript? No / YesWould you like to use ESLint? No / YesWould you like to use Tailwind CSS? No / YesWould you like your code inside a `src/`..

[๊ตฌ๊ธ€ ํฌ๋กค๋ง] Google Custom Search Engine ID (CSE ID)๋ฅผ ์„ค์ •ํ•˜๋Š” ๋ฐฉ๋ฒ•

Google Custom Search Engine ID (CSE ID)๋ฅผ ์„ค์ •ํ•˜๋Š” ๋ฐฉ๋ฒ•์„ ๋‹จ๊ณ„๋ณ„๋กœ ์„ค๋ช… Google Programmable Search Engine ํŽ˜์ด์ง€ ๋ฐฉ๋ฌธ: https://programmablesearchengine.google.com/cse/all ์— ์ ‘์†ํ•˜์„ธ์š”.์ƒˆ ๊ฒ€์ƒ‰ ์—”์ง„ ์ƒ์„ฑ: "์ƒˆ ๊ฒ€์ƒ‰ ์—”์ง„" ๋ฒ„ํŠผ์„ ํด๋ฆญํ•˜์„ธ์š”.๊ฒ€์ƒ‰ ์—”์ง„ ์„ค์ •:"๊ฒ€์ƒ‰ํ•  ์‚ฌ์ดํŠธ" ํ•„๋“œ์— "www.google.com"์„ ์ž…๋ ฅํ•˜์„ธ์š”."์–ธ์–ด" ์„ค์ •์—์„œ ์›ํ•˜๋Š” ์–ธ์–ด๋ฅผ ์„ ํƒํ•˜์„ธ์š”."์ด๋ฆ„" ํ•„๋“œ์— ๊ฒ€์ƒ‰ ์—”์ง„์˜ ์ด๋ฆ„์„ ์ž…๋ ฅํ•˜์„ธ์š” (์˜ˆ: "News Search")."๋งŒ๋“ค๊ธฐ" ๋ฒ„ํŠผ ํด๋ฆญ: ์„ค์ •์„ ์™„๋ฃŒํ•˜๊ณ  ๊ฒ€์ƒ‰ ์—”์ง„์„ ์ƒ์„ฑํ•˜์„ธ์š”.CSE ID ์ฐพ๊ธฐ:์ƒ์„ฑ๋œ ๊ฒ€์ƒ‰ ์—”์ง„์˜ "์„ค์ •" ํŽ˜์ด์ง€๋กœ ์ด๋™ํ•˜์„ธ์š”."๊ธฐ๋ณธ" ํƒญ์—์„œ "๊ฒ€์ƒ‰ ์—”์ง„ ID..