๐ํ๋ก๊ทธ๋๋ฐ/Next.js
์์ ํฌ์ธํธ๋ 2๊ฐ์ด๋ค. credentials์ type์ ๋ช
์, ๋ก๊ทธ์ธ ์ฑ๊ณตํ๊ณ return ๋๋ user ๊ฐ์ any๋ก ๋ฐํ import bcrypt from "bcrypt"; import NextAuth, { AuthOptions } from "next-auth"; import CredentialsProvider from "next-auth/providers/credentials"; import prismadb from "@/app/lib/prisma"; import { PrismaAdapter } from "@auth/prisma-adapter"; export const authOptions: AuthOptions = { providers: [ CredentialsProvider({ name: "..
๐ํ๋ก๊ทธ๋๋ฐ/Next.js
์์ธ fetch๋ก api๋ฅผ ํธ์ถ ์ cache๋ก ์ฒ๋ฆฌํ๊ธฐ ๋๋ฌธ์ด๋ค. dev ํ๊ฒฝ์์๋ cache ์์ด ๊ฐฑ์ ๋์ ์๋์์ง๋ง production ํ๊ฒฝ์์๋ cache๋ก ๋ณ๊ฒฝ์ด ๋์ง ์์ ๊ฒ์ด๋ค. prisma์ findMany findDelete๊ฐ ๊ณ ์ฅ๋์ค ์์๋ค ํด๊ฒฐ๋ฐฉ๋ฒ api tsํ์ผ์ dynamic ์ง์ // /api/log/route.ts import prismadb from '@/app/libs/prismadb'; import { NextResponse } from 'next/server'; // ํธ์ถ์ cache ์์ด ์ํ export const dynamic = 'force-dynamic'; export async function GET(request: Request) { try { const l..
๐ํ๋ก๊ทธ๋๋ฐ/Next.js
nextjs์์ ํ๋ api ๋จ์์ ํ์ผ์ ์ ์ฅํ๊ณ ๋ค์ ๋ถ๋ฌ์ค๊ณ ๋ณ ์ง์ ํด๋ณด์์ง๋ง ์ ๋์ง์์์ json ๋ฐฐ์ด์ ๋ฐ์ ํ๋ก ํธ์์ ์ ์ฅํ๋ ๊ฒ์ผ๋ก ๋ณ๊ฒฝํ๋ค. ์ถ์ฒ https://kwtjdtn.tistory.com/9 [Javascript] xlsx๋ฅผ ์ด์ฉํ์ฌ json data๋ฅผ ์์
ํ์ผ๋ก ๋ค์ด๋ก๋ ํ๊ธฐ (์ด๊ฐ๋จ) ์ด๋๋ฏผ ์๋น์ค์ JSON ๋ฐ์ดํฐ๋ฅผ ์์
ํ์ผ๋ก ๋ณํํ์ฌ ๋ค์ด๋ก๋ ํ ์ ์๋ ๊ธฐ๋ฅ์ ์ถ๊ฐํ๊ฒ ๋์๋ค. ์ฌ๋ฌ๊ฐ์ง ๋ฐฉ๋ฒ๋ค์ด ์๊ฒ ์ง๋ง xlsx ๋ผ์ด๋ธ๋ฌ๋ฆฌ๋ฅผ ์ด์ฉํ๊ธฐ๋ก ํ๋ค. (๋๋ฌด ๊ฐ๋จํ๊ธฐ ๋๋ฌธ,,) ๋ผ kwtjdtn.tistory.com import * as XLSX from 'xlsx'; const downloadExcel = (data) => { const worksheet = XLSX.ut..
๐ํ๋ก๊ทธ๋๋ฐ/Next.js
ํด๋ผ์ด์ธํธ const fileUpload = async (file: Blob) => { const formData = new FormData(); formData.append('file', file, file.name); // ํ์ผ ์ด๋ฆ์ ๋ช
์ try { const res = await fetch('/api/upload', { method: 'POST', body: formData, }); const data = await res.json(); console.log('์๋ฒ ์๋ต:', data); } catch (error) { console.error('ํ์ผ ์
๋ก๋ ์ค ์ค๋ฅ:', error); } }; export default fileUpload; ์๋ฒ(api/upload/route.ts. import..
๐ํ๋ก๊ทธ๋๋ฐ/Next.js
ํด๊ฒฐ๋ฐฉ๋ฒ ํ๋ก์ ํธ ํด๋์์ .next ํ์ผ์ ์ญ์ ํ๊ณ npm run dev ์ํ ์์ธ์ค๋ช
next.js์ ์ฒ์ ์
๋ฌธํ๊ณ intellij๋ฅผ ํตํด์ ์ํ ํ๋ก์ ํธ๋ฅผ dev๋ก ์คํํ๊ณ ์ ํ๋ค. ๊ทธ๋ฐ๋ฐ ๋๋ http://localhost:3000์์ ์๋ฒ๊ฐ ์คํ๋์๋ค๋ ๋ฉ์์ง๋ง ํ์ธํ๊ณ ์ ๋์๋ ๋ณด๋ค๋ผ๊ณ ํ๊ณ ์คํํ๋ค. ๊ทธ๋ฌ๋ ์ ์์ด ๋ถ๊ฐํ์๋ค. ์๋ํ๋ฉด ์ ์์ ์ผ๋ก ์๋ฒ๊ฐ ์ฌ๋ผ์ค๋ ค๋ฉด ์์ ์ฌ์ง๊ณผ ๊ฐ์ด ๋ค ๋์์ผํ๋ ๊ฒ์ด๋ค. ์ด์ฉ๋ค ๋ณด๋ powershell ๋๋ ์๋ก์ด ํ๋ก์ ํธ์์ ์ ๋๋ ๊ฒ์ ๋ณด์ ๋๋ฌด ์์ํด ํ๋ค ๊ทธ๋ฌ๋ ์์ค์ ํด๊ฒฐ ๋ฒ์ ์ฐพ์๋ค. ๋ฐ๋ก ํ๋ก์ ํธ ํด๋์์ .next ํ์ผ์ ์ญ์ ํ๊ณ npm run dev ์ํํ๋ฉด ๋๋ ๊ฒ์ด๋ค. https://stackoverflow.com/questions/7..