์ „์ฒด ๊ธ€

ํ”„๋ก ํŠธ์—”๋“œ ๊ฐœ๋ฐœ์ž ๋™ํ™” ๋ธ”๋กœ๊ทธ :)
https://postcode.map.daum.net/guide Daum ์šฐํŽธ๋ฒˆํ˜ธ ์„œ๋น„์Šค ์šฐํŽธ๋ฒˆํ˜ธ ๊ฒ€์ƒ‰๊ณผ ๋„๋กœ๋ช… ์ฃผ์†Œ ์ž…๋ ฅ ๊ธฐ๋Šฅ์„ ๋„ˆ๋ฌด ๊ฐ„๋‹จํ•˜๊ฒŒ ์ ์šฉํ•  ์ˆ˜ ์žˆ๋Š” ๋ฐฉ๋ฒ•. Daum ์šฐํŽธ๋ฒˆํ˜ธ ์„œ๋น„์Šค๋ฅผ ์ด์šฉํ•ด๋ณด์„ธ์š”. ์–ด๋А ์‚ฌ์ดํŠธ์—์„œ๋‚˜ ๋ฌด๋ฃŒ๋กœ ์ œ์•ฝ์—†์ด ์‚ฌ์šฉ ๊ฐ€๋Šฅํ•˜๋‹ต๋‹ˆ๋‹ค. postcode.map.daum.net ํšŒ์›๊ฐ€์ž… ๊ธฐ๋Šฅ ๊ตฌํ˜„ ์ค‘, ์ฃผ์†Œ๋ฅผ ์ง์ ‘ ์ž…๋ ฅํ•˜์ง€ ์•Š๊ณ  ๊ฒ€์ƒ‰ ์„œ๋น„์Šค๋ฅผ ๋„ฃ๊ธฐ ์œ„ํ•ด ์ด๊ฒƒ์ €๊ฒƒ ์ฐพ์•„๋ณด๋˜์ค‘, ๋„๋กœ๋ช… ์ฃผ์†Œ api๋Š” ์กฐ๊ธˆ ๋ณต์žก..ํ•˜๋‹ค ์ƒ๊ฐํ•˜๋˜ ์ค‘ ๋‹ค์Œ์ฃผ์†Œ ๊ฒ€์ƒ‰ api๋ฅผ ์•Œ๊ฒŒ๋จ! ์ด๊ฑด ์ง„์งœ ํŽธํ–ˆ๋”ฐ... ์ผ๋‹จ ๋‹ค์Œ์—์„œ ์ œ๊ณตํ•˜๋Š” api๋ฅผ ์ด์šฉํ•˜๊ธฐ ์œ„ํ•ด ์„ค์น˜๋ถ€ํ„ฐ ํ•ด๋ณด์ž npm install react-daum-postcode ์ด๊ฒƒ๋งŒ ํ•˜๋ฉด ์ด์ œ ์ง„์งœ ๋๋‚ฌ์Œ!!! ๋‚˜๋Š” ํšŒ์›๊ฐ€์ž… ํŽ˜์ด์ง€์—์„œ ๊ณตํ†ต์œผ๋กœ ์“ฐ๋Š” ๋ฒ„ํŠผ์„ ์ด..
https://fonts.google.com/?subset=korean&noto.script=Kore Browse Fonts - Google Fonts Making the web more beautiful, fast, and open through great typography fonts.google.com ๊ตฌ๊ธ€ํฐํŠธ ๊ท€์—ฌ์šด ๊ฑฐ ์‚ฌ์šฉํ•˜๋ ค๊ณ  ์ฐพ์•„๋ด„ ์›ํ•˜๋Š” ํฐํŠธ get ๋ฒ„ํŠผ ๋ˆ„๋ฅด๊ณ  global.css (ํ˜น์€ ์ „์—ญ css) ์— @import ๋ฅผ ์ถ”๊ฐ€ํ•œ๋‹ค @import url("https://fonts.googleapis.com/css2?family=Jura:wght@300..700&display=swap"); tailwind.config.ts import type { Config } from "tailwindc..
๊ธฐ๋ณธ ํ…Œ๋‘๋ฆฌ๋Š” ๊ฒ€์ •์ƒ‰์ด๊ณ , ์ฃผ๋ณ€์ƒ‰์ƒ์ด๋ž‘ ๋งž์ถฐ์„œ ๋ณด์ด๊ฒŒ ํ•˜๊ณ  ์‹ถ์€๋ฐ ์–ด๋–ป๊ฒŒ ํ•ด์•ผ๋ ์ง€ ์ฐพ์•„๋ณธ ๊น€์— ๋ฉ”๋ชจ focus:ring-2 focus:ring-inset focus:ring-#์—ฌ๊ธฐ์—์ƒ‰์ƒ focus:outline-none ์ด๊ฑฐ ์ถ”๊ฐ€ํ•ด์ฃผ๋ฉด ๋จ focus ์‹œ์— ring ์ถ”๊ฐ€ํ•˜๊ณ , ์•ˆ ์ชฝ์œผ๋กœ ์ถ”๊ฐ€ํ•˜๊ณ  ๊ทธ๋ ‡๊ฒŒ ๊นŒ์ง€๋งŒ ํ•˜๋ฉด outline ๊ฒ€์ •์ƒ‰์ด ๊ทธ๋Œ€๋กœ ๋ณด์ด๊ธฐ ๋•Œ๋ฌธ์— none ์ฒ˜๋ฆฌ
ํ‰์†Œ์—๋Š” ๋‹ค๋ฅธ ๋ธŒ๋žœ์น˜์—์„œ ์ž‘์—…ํ›„ git lab์— ์ง์ ‘๋“ค์–ด๊ฐ€์„œ create merge~์–ด์ฉŒ๊ณ  ๋œจ๋ฉด ๊ทธ๊ฑฐ ๋ˆŒ๋Ÿฌ์„œ merge์ž‘์—…ํ–ˆ์—ˆ๋Š”๋ฐ, (git merge ๋ช…๋ น์–ด๊ฐ€ ์กฐ๊ธˆ ๋ณต์žก์‹œ๋ ต๊ฒŒ ๋А๊ปด์ง€๊ณ , ํ˜น์‹œ๋ผ๋„ mergeํ•˜๋‹ค ์ถฉ๋Œ๋‚ ๊นŒ๋ด ใ… ใ… )_ ํ•˜์ง€๋งŒ ์ถฉ๋Œ๋‚˜๋ฉฐ ๋ฐฐ์šฐ๋Š” git..... (์ด๋ผ์“ฐ๊ณ  ๋งจ๋‚  ๋”ฐ๋กœ ๋ฐฑ์—…ํ•ด๋†“์Œใ…‹) ๋ช…๋ น์–ด๋กœ ํ•ด๋ณด๋Š” ์Šต๊ด€์„ ๋“ค์ด๊ธฐ๋กœ ํ•จ dev๋ผ๋Š” ๋ธŒ๋žœ์น˜์—์„œ ์ž‘์—…ํ›„ main์— ๋จธ์ง€๋ฅผ ํ•˜๋ ค๋ฉด, 1. ์ผ๋‹จ main๋ธŒ๋žœ์น˜๋กœ ์ด๋™ํ•œ๋‹ค. git checkout main 2. dev์— ์˜ฌ๋ผ์™€์žˆ๋Š” ์†Œ์Šค๋ฅผ merge ํ•œ๋‹ค. git merge dev 3. ์ด์ œ ๋ณ€๊ฒฝ ์‚ฌํ•ญ์„ ์›๊ฒฉ์ €์žฅ์†Œ๋กœ pushํ•œ๋‹ค. git push origin main ๋งŒ์ผ push ํ•˜๋‹ค๊ฐ€ error: failed to push some refs to..
https://chakra-ui.com/community/recipes/floating-labels Chakra UI - A simple, modular and accessible component library that gives you the building blocks you need to build your React a Simple, Modular and Accessible UI Components for your React Applications. Built with Styled System chakra-ui.com ์ด ๋””์ž์ธ์„ ๋กœ๊ทธ์ธํ™”๋ฉด์— input์œผ๋กœ ๋„ฃ๊ณ  ์‹ถ์—ˆ๋‹ค. ๊ทธ๋ž˜์„œ ํ•˜๋‚˜์˜ ์ปดํฌ๋„ŒํŠธ๋กœ ๋งŒ๋“ค์–ด์„œ, ๊ณ„์† ์žฌ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ๋„๋ก ๋งŒ๋“ค์–ด๋ณด์•˜๋‹ค. provider.tsx "use client"; i..
Next 13์ด์ƒ ๋ฒ„์ „์—์„œ ์ฐจํฌ๋ผ ui ์“ฐ๋Š” ๋ฒ• ์ •๋ฆฌ npm i @chakra-ui/react @chakra-ui/next-js @emotion/react @emotion/styled framer-motion app/providers.tsx 'use client' import { ChakraProvider } from '@chakra-ui/react' export function Providers({ children }: { children: React.ReactNode }) { return {children} } client์—์„œ provider๋ฅผ ์ƒ์„ฑํ•ด์ค€๋‹ค. app/layout.tsx import { Providers } from './providers' export default function Ro..
dev์—์„œ ์ž‘์—…์„ํ•˜๊ณ  main์— ๋ณ‘ํ•ฉํ•˜๋Š” ๊ณผ์ •์„ ๊ฑฐ์ณ์•ผํ•˜๋Š”๋ฐ, ์ฒดํฌ๋ฅผ ์•ˆํ•˜๊ณ  ์ž๊พธ main์—์„œ ์ˆ˜์ •์ž‘์—…์„ ํ•œ๋‹ค ใ… ^^ ๊ทธ๋ž˜์„œ ๊ทธ๋™์•ˆ์€ ๊ทธ๋ƒฅ ๋˜‘๊ฐ™์ด dev์—์„œ๋„ ์ž‘์—…ํ•˜๊ณ  ์ปค๋ฐ‹ํ•ด์คฌ๋Š”๋ฐ, ์ด๋ฒˆ์—” ๋‚ด์—ญ์ด ์ข€ ๋งŽ์•„์„œ,, ์ผ๋‹จ ๊ธฐ๋กํ•ด๋†“์œผ๋ ค๊ณ  ํ•จ ๊ฒ๋‚ด์ง€๋ง๊ณ  ๊ทธ๋ƒฅ git checkout dev git merge main ํ•ด์ฃผ๋ฉด main์— ์žˆ๋Š” ์†Œ์Šค๋ฅผ ๊ฐ€์ง€๊ณ  ์˜ค๊ณ , ๋ณ€๊ฒฝ์‚ฌํ•ญ์ด ๋œฌ๋‹ค. (์—ฌ๊ธฐ์„œ ์ถฉ๋Œ์ด ์žˆ์œผ๋ฉด ์ถฉ๋Œ ์ˆ˜์ •๊นŒ์ง€ ํ•ด์คŒ) ์ด์ œ ์ด ์ˆ˜์ •๋‚ด์—ญ์ด ์Œ“์—ฌ์„œ git status๋ฅผ ํ•ด์ฃผ๋ฉด commit๋‚ด์—ญ์ด ์žˆ๋‹ค๊ณ  ๋‚˜์˜ด ์ด์ œ ํŽธํ•œ๊ฑธ๋กœ push ํ•ด์ฃผ๋ฉด ๋จ! ์ € ๋ฒ„ํŠผ ๋ˆ„๋ฅด๋ฉด ๋˜์ง€๋งŒ ๋‚˜๋Š” ์š”์ฆ˜์—” ๋ช…๋ น์–ด๋กœ๋งŒ git์“ฐ๋Š” ๊ฑฐ ์Šต๊ด€๋“ค์ด๋ ค๊ณ  git push origin dev ํ•ด์ฃผ์—ˆ๋‹ค
ยท TIL/etc.
axios๋ฅผ ์‚ฌ์šฉํ•  ๋•Œ, ์ข…์ข… Axios ์ธ์Šคํ„ด์Šค๋ฅผ ๋งŒ๋“ค์–ด ํŠน์ • ์„ค์ •์„ ์ง€์ •ํ•˜๊ฑฐ๋‚˜ ๊ธฐ๋ณธ ์„ค์ •์„ ๋ณ€๊ฒฝํ•˜๋Š” ๊ฒฝ์šฐ๊ฐ€ ์žˆ๋‹ค. ์ด๋ ‡๊ฒŒ ์ƒ์„ฑ๋œ Axios ์ธ์Šคํ„ด์Šค๋Š” ํ”„๋กœ์ ํŠธ ๋‚ด์—์„œ ์—ฌ๋Ÿฌ ์š”์ฒญ์—์„œ ๋™์ผํ•œ ์„ค์ •์„ ๊ณต์œ ํ•  ์ˆ˜ ์žˆ์–ด ํŽธ๋ฆฌํ•˜๋‹ค ์˜ˆ๋ฅผ ๋“ค์–ด, instance.ts import axios, { AxiosInstance } from 'axios'; // Axios ์ธ์Šคํ„ด์Šค ์ƒ์„ฑ const myAxiosInstance: AxiosInstance = axios.create({ baseURL: 'https://api.example.com', timeout: 5000, // ์š”์ฒญ ํƒ€์ž„์•„์›ƒ ์„ค์ • headers: { 'Content-Type': 'application/json', 'Authorization': 'Bearer ..
๊ตฌ๊ธ€๊ณผ ๋งˆ์ฐฌ๊ฐ€์ง€๋กœ ๊ฐ™์€ ์‚ฌ์ดํŠธ sns ๋กœ๊ทธ์ธ์„ ๊ตฌํ˜„ํ•  ๊ฒƒ์ด๊ธฐ ๋•Œ๋ฌธ์— ์ผ๋‹จ ํ๋ฆ„๋„๋Š” ์นด์นด์˜ค ๊ตฌํ˜„๊ณผ ๊ฐ™๋‹ค.๊ณ„์ •์ด ์กด์žฌํ•˜์ง€ ์•Š์œผ๋ฉด ์‚ฌ์šฉ์ž ์ •๋ณด๊ฐ€ ์—†๋‹ค๋Š” ๋ฉ”์‹œ์ง€๋ฅผ ๋„์›Œ ๊ด€๋ฆฌ์ž๊ฐ€ ๋”ฐ๋กœ ๋“ฑ๋กํ•ด์•ผ๋งŒ ํ•˜๋Š” ํ๋ฆ„์ด๋‹ค. (https://moon-lilac.tistory.com/183) Next.js | ์นด์นด์˜ค ๋กœ๊ทธ์ธ ๊ตฌํ˜„ํ•˜๊ธฐ๊ธฐ์กด์˜ ํŽ˜์ด์ง€์— ์†Œ์…œ๋กœ๊ทธ์ธ ๊ธฐ๋Šฅ์„ ์ถ”๊ฐ€ํ•˜๋ ค๊ณ  ํ•œ๋‹ค.๊ทธ๋ž˜์„œ ์ด๋ฏธ ์žˆ๋Š” ์‚ฌ์šฉ์ž์™€ ์ƒˆ๋กœ ๋กœ๊ทธ์ธํ•  ์‚ฌ์šฉ์ž์™€์˜ ๋งค์นญ๊ธฐ๋Šฅ์ด ํ•„์š”ํ–ˆ๋‹ค.๊ทธ๋ฆฌ๊ณ  ํšŒ์›๊ฐ€์ž…์ด ํ•„์š”ํ•œ ์‚ฌ์ดํŠธ๊ฐ€ ์•„๋‹ˆ๋ผ, ๊ด€๋ฆฌ์ž๊ฐ€ ์‚ฌ์šฉ์žmoon-lilac.tistory.com + ์ถ”๊ฐ€์‚ฌํ•ญ ๐ŸŽก๊ธฐ์กด์—์„œ ์ถ”๊ฐ€๋œ๊ฒŒ ์žˆ๋‹ค๋ฉด ์‚ฌ์šฉ์ž ์ •๋ณด(์ด๋ฆ„, ์ „ํ™”๋ฒˆํ˜ธ)๋ฅผ ์ž…๋ ฅํ•˜๋Š” ํŽ˜์ด์ง€๋ฅผ ๋„์šฐ๊ธฐ ์ „์—์ธ๊ฐ€์ฝ”๋“œ์™€ sns ์ฝ”๋“œ๋งŒ ๋ณด๋‚ด๋Š” api๋ฅผ ๋”ฐ๋กœ ํƒœ์›Œ ๊ธฐ์กด์— ๋กœ๊ทธ์ธํ–ˆ๋˜ ์ „์ (snsi..
๊ธฐ๋Šฅ ๋ฐ ํ”Œ๋กœ์šฐ๋Š” ์•„๋ž˜์™€ ๊ฐ™๋‹ค. ๊ฐ™์€ ํŽ˜์ด์ง€์— ์ถ”๊ฐ€๋กœ ๊ตฌํ˜„ํ•˜๋Š” ๊ฒƒ์ด๊ธฐ ๋•Œ๋ฌธ! https://moon-lilac.tistory.com/183 Next.js | ์นด์นด์˜ค ๋กœ๊ทธ์ธ ๊ตฌํ˜„ํ•˜๊ธฐ ๊ธฐ์กด์˜ ํŽ˜์ด์ง€์— ์†Œ์…œ๋กœ๊ทธ์ธ ๊ธฐ๋Šฅ์„ ์ถ”๊ฐ€ํ•˜๋ ค๊ณ  ํ•œ๋‹ค.๊ทธ๋ž˜์„œ ์ด๋ฏธ ์žˆ๋Š” ์‚ฌ์šฉ์ž์™€ ์ƒˆ๋กœ ๋กœ๊ทธ์ธํ•  ์‚ฌ์šฉ์ž์™€์˜ ๋งค์นญ๊ธฐ๋Šฅ์ด ํ•„์š”ํ–ˆ๋‹ค.๊ทธ๋ฆฌ๊ณ  ํšŒ์›๊ฐ€์ž…์ด ํ•„์š”ํ•œ ์‚ฌ์ดํŠธ๊ฐ€ ์•„๋‹ˆ๋ผ, ๊ด€๋ฆฌ์ž๊ฐ€ ์‚ฌ์šฉ์ž moon-lilac.tistory.com 1. ๊ตฌ๊ธ€ ํด๋ผ์šฐ๋“œ์—์„œ ํ”„๋กœ์ ํŠธ ์ƒ์„ฑ ๋งŒ๋“ค๊ธฐ ํ›„ API ๋ฐ ์„œ๋น„์Šค์—์„œ OAuth ๋™์˜ ํ™”๋ฉด ๋ˆŒ๋Ÿฌ์ฃผ๊ณ , ๋‚ด๋ถ€๋ง๊ณ  ์™ธ๋ถ€ ์„ ํƒํ•œ๋‹ค. ๊ทธ๋ฆฌ๊ณ  ๋‹ค์Œ์œผ๋กœ ๋„˜์–ด๊ฐ€ ํ•„์ˆ˜๊ฐ’์ธ ์•ฑ ์ด๋ฆ„, ์‚ฌ์šฉ์ž ์ง€์› ์ด๋ฉ”์ผ, ๊ฐœ๋ฐœ์ž ์—ฐ๋ฝ์ฒ˜ ์ •๋ณด๋ฅผ ์ž…๋ ฅํ•˜๊ณ  ๋‹ค์Œ์œผ๋กœ ๋„˜์–ด๊ฐ„๋‹ค. ๊ณ„์† ์ €์žฅํ›„ ๊ณ„์† ๋ˆŒ๋ฅด๋‹ค๊ฐ€ ์š”์•ฝํ™”๋ฉด ๋‚˜์˜ค๋ฉด ๋Œ€์‹œ๋ณด๋“œ๋กœ ๋Œ์•„๊ฐ€๊ธฐ๋ฅผ ๋ˆŒ๋Ÿฌ..
๊ฐ™์€ ํ™”๋ฉด๊ตฌ์„ฑ์— ๊ฐ™์€ API์“ธ ์˜ˆ์ •์ด์–ด์„œ ํŽ˜์ด์ง€๋ฅผ ๋”ฐ๋กœ ๋งŒ๋“ค ํ•„์š”๊ฐ€ ์—†์–ด์„œ ๋ชจ๋“  SNS ๋กœ๊ทธ์ธ์„ Oauth.tsxํŒŒ์ผ๋กœ ํ•˜๊ธฐ๋กœ ํ–ˆ๋‹ค. ๊ทธ๋Ÿฌ๋‹ค๋ณด๋‹ˆ sns๋ณ„๋กœ ์ฝ”๋“œ๋ฅผ ์„œ๋ฒ„๋‹จ์œผ๋กœ ๋ณด๋‚ด์ค˜์•ผ๋˜๋Š”๋ฐ, ์ด๋•Œ ๋ผ์šฐํŠธ๋ฅผ ์ด์šฉํ•ด์„œ ๋‹ด์•„์„œ ๋ณด๋‚ด์คŒ ๊ทผ๋ฐ Redirect URI๋ฅผ ๋ณ€๊ฒฝํ•ด์•ผํ•˜๋‹ˆ ์กฐ๊ธˆ ๋‹ฌ๋ผ์„œ ๊ฒธ์‚ฌ๊ฒธ์‚ฌ ๊ธฐ๋กํ•ด๋†“๋Š”๋‹ค [] ๋Œ€๊ด„ํ˜ธ๋ฅผ ์‚ฌ์šฉํ•ด์„œ ํด๋”๋ฅผ ๋งŒ๋“ค๊ณ  ๊ทธ ์•ˆ์— oauth.ts ํŒŒ์ผ์„ ๋งŒ๋“ฆ (next13์ดํ›„ ๋ถ€ํ„ฐ๋Š” oauthํด๋”์— page.tsxํŒŒ์ผ๋กœ) oauth.tsํŒŒ์ผ์€ ์ปดํฌ๋„ŒํŠธ ํŽ˜์ด์ง€๋กœ ๋ฐ”๋กœ ์ด๋™๋œ๋‹ค. ๊ธฐ์กด์˜ NEXT_PUBLIC_OAUTH_REDIRECT๋Š” http://localhost:3000/login/oauth์ธ๋ฐ, ๋’ค์—oauth๋ฅผ ๋นผ์ฃผ๊ณ  redirect URI๋ฅผ ์žฌ์„ค์ •ํ•ด์คฌ๋‹ค WebLogin.tsx con..
๊ธฐ์กด์˜ ํŽ˜์ด์ง€์— ์†Œ์…œ๋กœ๊ทธ์ธ ๊ธฐ๋Šฅ์„ ์ถ”๊ฐ€ํ•˜๋ ค๊ณ  ํ•œ๋‹ค.๊ทธ๋ž˜์„œ ์ด๋ฏธ ์žˆ๋Š” ์‚ฌ์šฉ์ž์™€ ์ƒˆ๋กœ ๋กœ๊ทธ์ธํ•  ์‚ฌ์šฉ์ž์™€์˜ ๋งค์นญ๊ธฐ๋Šฅ์ด ํ•„์š”ํ–ˆ๋‹ค.๊ทธ๋ฆฌ๊ณ  ํšŒ์›๊ฐ€์ž…์ด ํ•„์š”ํ•œ ์‚ฌ์ดํŠธ๊ฐ€ ์•„๋‹ˆ๋ผ, ๊ด€๋ฆฌ์ž๊ฐ€ ์‚ฌ์šฉ์ž์ •๋ณด๋ฅผ ๋“ฑ๋กํ•˜๋Š” ํ˜•์‹์ด๋ผ ๋งŒ์ผ ์ •๋ณด๊ฐ€ ์—†์œผ๋ฉด ํŠ•๊ฒจ๋‚˜์™€์„œ ๊ด€๋ฆฌ์ž ๋ฌธ์˜๋ฅผ ๋”ฐ๋กœ ํ•ด์•ผํ•œ๋‹ค. ๊ทธ๋Ÿฌ๋‹ˆ ๋กœ๊ทธ์ธ๊ธฐ๋Šฅ๋งŒ ์žˆ์œผ๋ฉด ๋จ! ๐Ÿ›ํ๋ฆ„๋„    ๊ทธ๋ฆผ์—์„œ๋„ ๋ณด๋‹ค์‹œํ”ผ ์‚ฌ์‹ค ํ”„๋ก ํŠธ์—์„  ํฌ๊ฒŒ ํ• ์ผ์€ ์—†๋‹ค..์ผ๋‹จ kakao ๋กœ๊ทธ์ธ์„ ์ด์šฉํ•˜๊ธฐ ์œ„ํ•ด ์„ธํŒ…๋ถ€ํ„ฐ! 1. Kakao Developers ์—์„œ ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜ ์ƒ์„ฑkakao developers ์—์„œ ์นด์นด์˜ค ๋กœ๊ทธ์ธํ•˜๊ณ  ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜์„ ์ƒ์„ฑํ•œ๋‹ค.๊ทธ๋Ÿฌ๋ฉด ์•„๋ž˜์ฒ˜๋Ÿผ api key๊ฐ’์„ ์–ป์„ ์ˆ˜ ์žˆ๋Š”๋ฐ ์—ฌ๊ธฐ์„œ javascript ํ‚ค๊ฐ’์„ ์‚ฌ์šฉํ•  ๊ฒƒ์ž„   ๊ทธ๋ฆฌ๊ณ  ํ”Œ๋žซํผ > Web ํ”Œ๋žซํผ ๋“ฑ๋ก์„ ํ•ด์„œ ์‚ฌ์ดํŠธ ๋„๋ฉ”์ธ์„..
Dong _ hwa
Fairytales of DevInsights ๐Ÿงš๐Ÿป‍โ™€๏ธ