[์ •๋ณด] ํ•œ๊ตญํˆฌ์ž์ฆ๊ถŒ API ์‚ฌ์šฉ ํ›„๊ธฐ - ์‹œ์Šคํ…œ ํŠธ๋ ˆ์ด๋”ฉ
ยท
๐Ÿžํ”„๋กœ๊ทธ๋ž˜๋ฐ/Next.js
ํ•œ๊ตญํˆฌ์ž์ฆ๊ถŒ API๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ ์‹ค์‹œ๊ฐ„ ์ž”๊ณ  ์กฐํšŒ ํŽ˜์ด์ง€๋ฅผ ๋งŒ๋“ค์—ˆ๋‹ค. ์—ฌ๊ธฐ์„œ ์ œ๊ณตํ•˜๋Š” ์ •๋ณด๋ฅผ ๊ฐ€์ง€๊ณ  ์‹œ์Šคํ…œ ํŠธ๋ ˆ์ด๋”ฉ์„ ๋งŒ๋“ค์–ด ๋ณด๊ณ ์ž ํ•œ๋‹ค. https://stock.mezoo.me/ ํผ๊ทธ๊ฐ€ ๋ฏธ๋ž˜๋‹ค ํˆฌ์žํ˜„ํ™ฉ๋ฏธ๊ตญ์ฃผ์‹์ด ๋ฏธ๋ž˜๋‹ค ์ง€์ˆ˜๋กœ ์ด๋™ ํผ๊ทธ๊ฐ€ ๋ฏธ๋ž˜๋‹ค์˜ ๊ณ„์ขŒ 10:57 ๊ธฐ์ค€ ๋‚ด ํˆฌ์ž $ 1,064.80 22.62 ( -2.1% ) AST ์ŠคํŽ˜์ด์Šค๋ชจ๋ฐ”์ผ 25 ์ฃผstock.mezoo.me
[์ธ๊ณต์ง€๋Šฅ] ์ผ์ž๋ณ„ ๊ณตํฌํƒ์š•์ง€์ˆ˜ ๋ฐ ๊ฒŒ์‹œ๊ธ€ ์ œ๋ชฉ ํ•™์Šต ํ›„๊ธฐ
ยท
๐Ÿžํ”„๋กœ๊ทธ๋ž˜๋ฐ
ํ›„๊ธฐCPU ๋Œ€๋น„ GPU๋Š” ์ง„์งœ 100๋ฐฐ๋Š” ์ฒด๊ฐ์ƒ ๋น ๋ฅธ ์†๋„๋กœ ํ•™์Šต ์ฒ˜๋ฆฌ๊ฐ€ ๋œ๋‹ค.๋ฉ”๋ชจ๋ฆฌ์— ๋ฐ์ดํ„ฐ๋ฅผ ์˜ฌ๋ ค์„œ ์ง„ํ–‰ํ•˜๋Š” ์ค‘์ธ๋ฐ GPU๋Š” ์ˆœ๊ฐ„ ์ˆœ๊ฐ„ ๋งŽ์ด์‚ฌ์šฉ๋œ๋‹ค. CNN ๊ณตํฌํƒ์š•์ง€์ˆ˜๋ฅผ ์ผ์ž๋ณ„๋กœ ์„ธํŒ…ํ•˜์—ฌ ๊ทธ ๊ธฐ๊ฐ„์— ๋ฐœ์ƒํ•œ ๊ฒŒ์‹œ๋ฌผ์˜ ์ œ๋ชฉ์„ ํ•ด๋‹น ๊ฐ€์ค‘์น˜๋กœ ์ ์šฉํ•˜์˜€๋‹ค. ์ฆ‰ ํŠน์ • ๋ฌธ์žฅ์ด ๋“ฑ์žฅํ•˜๋ฉด ๊ณตํฌ์žฅ์ด๋ผ๋˜๊ฐ€ ํƒ์š•์žฅ์—์„œ ์ž์ฃผ ๋ณด์˜€๋˜ ๊ฒŒ์‹œ๊ธ€๋กœ ๋ณด์•„ ํ˜ธ๋“ค๊ฐ‘ ๋˜๋Š” ๋‹ค์Œ์žฅ์„ ์˜ˆ์ธกํ•˜๋Š” ์ธ๊ฐ„ ์ง€ํ‘œ๋กœ ๋งŒ๋“ค ์ˆ˜ ์žˆ์„ ๊ฒƒ์ด๋‹ค.  ์ „์ฒด ๋ฐ์ดํ„ฐ ํ•™์Šต์ธ Epoch๋Š” 50ํšŒ๋กœ ์„ค์ •ํ•˜์˜€๊ณ  ์ •ํ™•๋„๋Š” ์ ์  ํ–ฅ์ƒ๋˜๋Š” ์–‘์ƒ์„ ๋ณด์ธ๋‹ค. ์ด ํ•™์Šต ์‹œํ‚จ ๋ฐ์ดํ„ฐ๋Š” 5๋งŒ๊ฑด์œผ๋กœ ๋„ค์ด๋ฒ„์˜ ๋ฌดํ•œ์Šคํฌ๋กค ์‹œ ์‚ฌ์šฉ๋˜๋Š” API๋ฅผ ํ™œ์šฉํ–ˆ๋‹ค. ํ•œ๋ฒˆ ํ˜ธ์ถœ ์‹œ 50๊ฐœ์˜ ๋ฐ์ดํ„ฐ๋ฅผ ํ™•๋ณดํ•  ์ˆ˜ ์žˆ์—ˆ์œผ๋ฉฐ ์ตœ๋Œ€ 1000ํŽ˜์ด์ง€๊นŒ์ง€ ์กฐํšŒ ์‚ฌ์ดํด์ด ๋„๋Š” ๊ฒƒ์œผ๋กœ ๋ณด์•„์„œ ์นดํŽ˜ ํ•˜๋‚˜๋‹น 5๋งŒ๊ฑด ํš๋“์ด ..
[๊ธฐํƒ€] Ai model์„ ํ†ตํ•œ ์ธ๊ฐ„์ง€ํ‘œ ์ถ”์ข… ์ง€์ˆ˜ ๊ฐœ๋ฐœ
ยท
๐Ÿžํ”„๋กœ๊ทธ๋ž˜๋ฐ
์ธ๊ณต์ง€๋Šฅ ๋ชจ๋ธ์„ ์ ์šฉํ•˜์—ฌ ๊ณตํฌ ํƒ์š• ๊ตฌ๊ฐ„์—์„œ์˜ ๊ฒŒ์‹œ๊ธ€์˜ ์ƒ๊ด€๊ด€๊ณ„๋ฅผ ํ†ตํ•˜์—ฌ ์ž์ฒด ์ง€์ˆ˜๋ฅผ ๋งŒ๋“ค์—ˆ๋‹ค. ๋ฐฑ์—”๋“œ ํŒŒ์ด์ฌ api์— ์—”๋“œํฌ์ธํŠธ ์„ค์ •ํ•˜์—ฌ ํ•™์Šต ๋ฐ ์งˆ์˜๋ฅผ ํ•  ์ˆ˜ ์žˆ๋„๋ก ํ•˜์˜€๋‹ค.ํ”ผ๊ทธ๋งˆ๋ฅผ ํ†ตํ•˜์—ฌ ๋””์ž์ธ์„ ์ˆ˜์ •ํ•˜๊ณ  SVG์— ๋ฐ”๋Š˜์˜ ์ขŒํ‘œ๋ฅผ ์ธก์ •ํ•˜์—ฌ ๋ณ€์ˆ˜์— ๋งž๊ฒŒ rotate๋ฅผ ์ ์šฉํ–ˆ๊ณ  ํ•ด๋‹น ์นธ์— ์ง„์ž…ํ•˜๋ฉด tailwindcss animate๋กœ ๋ฐ˜์ง ํšจ๊ณผ๋ฅผ ์ฃผ์—ˆ๋‹ค. 12์‹œ๊ฐ„ ์ •๋„ ์†Œ์š”๋œ ๊ฒƒ ๊ฐ™๋‹ค. ์•ž์œผ๋กœ ํ•  ์ผ์€ ๊ณตํฌ ํƒ์š• ์ธ๋ฑ์Šค ์ˆ˜์น˜์— ๋งž์ถฐ์„œ ์นดํŽ˜ ๊ฒŒ์‹œ๊ธ€์„ ์ˆ˜์ง‘ํ•˜์—ฌ ํ•™์Šต ํ›„ ์‹ ๊ทœ ๋ฐ์ดํ„ฐ์— ๋Œ€ํ•ด์„œ ๊ทธ ๊ฒฐ๊ณผ๋ฅผ ๋ฐ˜์˜ํ•˜๋Š” ๊ฒƒ์ด ๋‚จ์•„์žˆ๋‹ค.  ๋งจ์•„๋ž˜ AI์—๊ฒŒ ํ•™์Šต ์‹œํ‚ฌ ์ˆ˜ ์žˆ๋‹ค. https://www.mezoo.me/ ๋ฏธ์ฃผ๋ฏธ ์ง€ํ‘œ - mezoo.me์ธ๊ฐ„์ง€ํ‘œ๋ฅผ ์ถ”์ข…ํ•ฉ๋‹ˆ๋‹ค.www.mezoo.me
[Next.js] CNN ๊ณตํฌ ํƒ์š• ์ง€์ˆ˜ ๊ณต์‹ api (feat. TypeScript)
ยท
๐Ÿžํ”„๋กœ๊ทธ๋ž˜๋ฐ/Next.js
CNN์—์„œ ์‚ฌ์šฉํ•˜๋Š” ๊ณต์‹ ๋ฐ์ดํ„ฐ ํ˜ธ์ถœ ๋กœ์ง์ž…๋‹ˆ๋‹ค. ๋ธŒ๋ผ์šฐ์ €๋กœ ์ ‘์†์‹œ ๋ฐ์ดํ„ฐ ํ™•์ธ ๊ฐ€๋Šฅํ•˜๋ฉฐ, ํฌ๋กค๋ง์„ ๋ฐฉ์ง€ํ•˜๊ธฐ ์œ„ํ•ด์„œ 418 I'm a teapot์„ ๋„์šฐ๊ธฐ ๋•Œ๋ฌธ์— User-Agent๋ฅผ ์ถ”๊ฐ€ํ•˜์—ฌ ํ˜ธ์ถœํ–ˆ์Šต๋‹ˆ๋‹ค. const data = await fetch("https://production.dataviz.cnn.io/index/fearandgreed/graphdata", { headers: { "Content-Type": "application/json", "User-Agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/58.0.30..
[Next.js] npm run start prisma findMany ๊ฐฑ์‹  ์•ˆ๋  ๋•Œ
ยท
๐Ÿžํ”„๋กœ๊ทธ๋ž˜๋ฐ/Next.js
์›์ธ์บ์‹ฑ ํ˜„์ƒnpm run dev์—์„œ๋Š” findMany์‹œ ์ƒˆ๋กœ๊ณ ์นจ(router.refresh() ๋“ฑ) ์‹œ ๋ฐ์ดํ„ฐ ๊ฐฑ์‹ ์ด ์ž˜ ๋˜์—ˆ์œผ๋‚˜ ํ”„๋กœ๋•์…˜ ํ™˜๊ฒฝ์—์„œ ๋ฐ์ดํ„ฐ๊ฐ€ ๊ฐฑ์‹ ๋˜์ง€ ์•Š์Œ ํ•ด๊ฒฐ๋ฐฉ๋ฒ•page ๋˜๋Š” layout ์—์„œ ๋‹ค์Œ์„ ์‚ฝ์ž…ํ•œ๋‹ค.export const revalidate = 0; api ์—์„œ๋Š” ๋‹ค์Œ์„ ์‚ฝ์ž…ํ•œ๋‹ค.export const dynamic = 'force-dynamic';
[์ •๋ณด] ํ”„๋กœ์ ํŠธ AIRA ์ง„ํ–‰ ํ˜„ํ™ฉ
ยท
๐Ÿžํ”„๋กœ๊ทธ๋ž˜๋ฐ
์„ค๋ช…๋ณธ ํ”„๋กœ์ ํŠธ๋Š” ์งˆ๋ณ‘๋ฐ์ดํ„ฐ๋ฅผ ์ˆ˜์ง‘ํ•˜์—ฌ ๋น„์ •ํ˜• ๋ฐ์ดํ„ฐ๋ฅผ AI ๋ชจ๋ธ์„ ํ†ตํ•˜์—ฌ ์‹ ๊ทœ ๋ฐœ์ƒ ์งˆ๋ณ‘ ๋˜๋Š” ์ง€์—ญ์˜ ๋ฐ์ดํ„ฐ๋ฅผ ์‚ฐ์ถœํ•˜์—ฌ ์‹œ๊ฐํ™” ํ•˜๋Š” ํˆด๋กœ์„œ ๋ถ„์„๊ฐ€๋“ค์ด ์“ฐ๋Š” ํ”Œ๋žซํผ์ด๋‹ค. 8์›”์˜ 1์ฐจ ๋ฐ๋ชจ ์‹œ์—ฐ์„ ์•ž๋‘๊ณ  ์žˆ๋‹ค.Ollama๋กœ LLAMA3 ๋ชจ๋ธ์„ ์˜ฌ๋ ค์„œ API ํ†ต์‹ ์„ ํ†ตํ•˜์—ฌ ์งˆ์˜๋ฅผ ํ•˜๋ฉฐ ๊ฐ ์—”์ง„๋“ค์ด ๋ฐ์ดํ„ฐ ์ •์ œ๋ฅผ ์ฒ˜๋ฆฌํ•œ๋‹ค. ๊ธฐ์ˆ  ์ŠคํƒNext.js / PythonUbuntu / MariaDBLLM PS. ์ธํ”„๋ผ ๊ตฌ์„ฑ ๋ฐ ์–ดํ”Œ๋ฆฌ์ผ€์ด์…˜ ๊ตฌ์„ฑ ์˜์—ญ๊นŒ์ง€ ์ง€์‹์„ ์Œ“์–ด๋†“์•„ ์ปค๋‹ค๋ž€ ์–ด๋ ค์›€์€ ์—†์—ˆ๋‹ค. ๋ฐ์ดํ„ฐ ๋ฒ ์ด์Šค ์„ค๊ณ„์—์„œ ๋งŽ์€  ์‹ค๋ ฅ ํ–ฅ์ƒ์ด ์žˆ์—ˆ๋‹ค ์‹œํ–‰์ฐฉ์˜ค : ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค ๋ชจ๋ธ๋ง / ๋ฆฌ๋ฒ„์Šค ํ”„๋ก์‹œ / CORS / Next.js ๊ตฌ์กฐ ํŠธ๋ฆญ ๋ฉ”์ธ ํ™”๋ฉด
[Next.js] ๋ฆฌ์—‘ํŠธ ํ…Œ์ด๋ธ” CSV ์ €์žฅ ๊ตฌํ˜„(feat. Shadcn)
ยท
๐Ÿžํ”„๋กœ๊ทธ๋ž˜๋ฐ/Next.js
๊ฐœ์š”Shadcn์˜ Data Table์—์„œ ๋ถˆ๋Ÿฌ์˜จ ๋ฐ์ดํ„ฐ๋ฅผ CSV๋กœ ์ €์žฅํ•˜๋Š” ๊ธฐ๋Šฅ์ด ํ•„์š”ํ•˜์—ฌ ์ ์šฉํ•ด๋ณด์•˜๋‹ค. export-to-csv ๋ชจ๋“ˆ์„ ์„ค์น˜ํ•˜๊ณ  Shadcn Data Table ๋ชจ๋“ˆ์— ๋ฒ„ํŠผ์„ ์ถ”๊ฐ€ํ•˜์—ฌ ์ปค์Šคํ…€ํ•œ ํŽ˜์ด์ง€๋ฅผ ์ž‘์„ฑํ•ด ๋ณด์•˜๋‹ค. ์„ค์น˜๋‹ค์Œ์˜ ๋ชจ๋“ˆ์„ ์„ค์น˜ํ•˜๊ณ  ๋‹ค์Œ์˜ ํ•จ์ˆ˜๋ฅผ ์‚ฌ์šฉํ•œ๋‹ค.npm install export-to-csv --saveimport { mkConfig, generateCsv, download } from 'export-to-csv' ๋ณธ๋ฌธ(Shadcn ์ปค์Šคํ…€)Shadcn Data Table์— CSV ๋‹ค์šด ๋ฒ„ํŠผ์„ ์ ์šฉํ•œ ํŒŒ์ผ์ด๋‹ค.ProjectPage.tsx"use client";import * as React from "react";import { useEffect, useState }..
[์ •๋ณด] NextAuth.js Type ์—๋Ÿฌ ์žก๊ธฐ - CredentialsProvider / prisma
ยท
๐Ÿžํ”„๋กœ๊ทธ๋ž˜๋ฐ/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: "..
[golang] ๊ธฐ์ดˆ
ยท
๐Ÿžํ”„๋กœ๊ทธ๋ž˜๋ฐ
Go๋Š” main ํŒจํ‚ค์ง€ ๋‚ด์˜ Entry Point์ธ main() ํ•จ์ˆ˜๋ฅผ ์ฐพ์•„ ํ”„๋กœ๊ทธ๋žจ์„ ์‹คํ–‰ํ•œ๋‹ค. Go ์—์„œ๋Š” ํ• ๋‹น๋˜๋Š” ๊ฐ’์„ ๋ณด๊ณ  ๊ทธ ํƒ€์ž…์„ ์ถ”๋ก ํ•˜๋Š” ๊ธฐ๋Šฅ์ด ์ž์ฃผ ์‚ฌ์šฉ๋œ๋‹ค. ์—ฌ๋Ÿฌ ๊ฐœ์˜ ์ƒ์ˆ˜๋“ค ๋ฌถ์–ด์„œ ์ง€์ •ํ•  ์ˆ˜ ์žˆ๋Š”๋ฐ, ์•„๋ž˜์™€ ๊ฐ™์ด ๊ด„ํ˜ธ ์•ˆ์— ์ƒ์ˆ˜๋“ค์„ ๋‚˜์—ดํ•˜์—ฌ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ๋‹ค const ( Visa = "Visa" Master = "MasterCard" Amex = "American Express" )
[์ •๋ณด] kubectl _get_comp_words_by_ref: command not found
ยท
๐Ÿžํ”„๋กœ๊ทธ๋ž˜๋ฐ
ํ•ด๊ฒฐ๋ฐฉ๋ฒ• ์•„๋ž˜์˜ ๋ช…๋ น์–ด ์ž…๋ ฅ ํ›„ ์žฌ์‹œ๋„ source