[๋ฐ๋ธŒ์ฝ”์Šค] ๋„์„œ ์กฐํšŒ API
ยท
๐Ÿ•Š๏ธํ”„๋กœ๊ทธ๋ž˜๋จธ์Šค ๋ฐ๋ธŒ์ฝ”์Šค/ํ”„๋กœ์ ํŠธ
const conn = require("../mariadb");const { StatusCodes } = require("http-status-codes");const getAllBooks = (req, res) => { let sql = "SELECT * FROM books"; conn.query(sql, (err, result) => { if (err) { return res.status(StatusCodes.BAD_REQUEST).end(); } return res.status(StatusCodes.OK).json(result); });};const getBookById = (req, res) => { //parseInt ์ ์šฉ ์‹œ, id ์†์„ฑ์„ ๊ตฌ์กฐ ๋ถ„ํ•ด ์‹œ๋„ //..
[๋ฐ๋ธŒ์ฝ”์Šค] ํšŒ์›๊ฐ€์ž…, ๋กœ๊ทธ์ธ ๊ตฌํ˜„
ยท
๐Ÿ•Š๏ธํ”„๋กœ๊ทธ๋ž˜๋จธ์Šค ๋ฐ๋ธŒ์ฝ”์Šค/ํ”„๋กœ์ ํŠธ
const express = require("express");const router = express.Router();const { join, login, requrestReset, passwordReset,} = require("../controller/UserController");router.use(express.json());router.post("/join", join);router.post("/login", login);router.post("/reset", requrestReset);router.put("/reset", passwordReset);module.exports = router;const conn = require("../mariadb");const { StatusCode..
[๋ฐ๋ธŒ์ฝ”์Šค] ๋ถ์Šคํ† ์–ด ํ”„๋กœ์ ํŠธ #1. app.js ๋ฐ ์œ ์ € api ๋ผ์šฐํ„ฐ ํ…œํ”Œ๋ฆฟ
ยท
๐Ÿ•Š๏ธํ”„๋กœ๊ทธ๋ž˜๋จธ์Šค ๋ฐ๋ธŒ์ฝ”์Šค/ํ”„๋กœ์ ํŠธ
app.jsconst express = require("express");const app = express();const dotenv = require("dotenv");dotenv.config();app.listen(process.env.PORT);const userRouter = require("./routes/users");app.use("/", userRouter); users.jsconst express = require("express");const router = express.Router();router.use(express.json);router.post("/join", (req, res) => { res.json({ message: "ํšŒ์›๊ฐ€์ž…" });});router.post("/l..
[๋ฐ๋ธŒ์ฝ”์Šค] ํ˜‘์—… ํˆด๊ณผ ํ”„๋กœ์ ํŠธ ๊ด€๋ฆฌ ๋ฐฉ๋ฒ•๋ก 
ยท
๐Ÿ•Š๏ธํ”„๋กœ๊ทธ๋ž˜๋จธ์Šค ๋ฐ๋ธŒ์ฝ”์Šค/TIL
ํ”„๋กœ์ ํŠธ๋ฅผ ํšจ์œจ์ ์œผ๋กœ ๊ด€๋ฆฌํ•˜๊ธฐ ์œ„ํ•ด์„œ๋Š” ๋„๊ตฌ์™€ ๋ฐฉ๋ฒ•๋ก ์˜ ๋ชฉ์ ์„ ๋ช…ํ™•ํžˆ ์ดํ•ดํ•ด์•ผ ํ•œ๋‹ค. ์ด๋ฒˆ ๊ธ€์—์„œ๋Š” ๋Œ€ํ‘œ ํ˜‘์—… ํˆด์ธ Trello, Jira, Notion์˜ ํŠน์ง•์„ ๋น„๊ตํ•˜๊ณ , ํŒ€ ๋‹จ์œ„ ํ˜‘์—…์—์„œ ์ž์ฃผ ์‚ฌ์šฉํ•˜๋Š” ํ”Œ๋ž˜๋‹ ๋ฐ ํƒœ์Šคํฌ ๊ด€๋ฆฌ ๋ฐฉ์‹, ๋งˆ์ง€๋ง‰์œผ๋กœ ํšจ๊ณผ์ ์ธ ํšŒ๊ณ  ๋ฐฉ๋ฒ•๋ก ๋“ค์„ ํ•˜๋‚˜ํ•˜๋‚˜ ์ •๋ฆฌํ•œ๋‹ค!๐Ÿค ํ˜‘์—… ํˆด TrelloTrello๋Š” ์ง๊ด€์ ์ธ ์นธ๋ฐ˜(Kanban) ๋ฐฉ์‹์œผ๋กœ ์ž‘์—…์„ ์‹œ๊ฐํ™”ํ•˜๋Š” ํ˜‘์—… ํˆด์ด๋‹ค. ๋ฆฌ์ŠคํŠธ์™€ ์นด๋“œ ๋‹จ์œ„๋กœ ์ž‘์—…์„ ๋ถ„๋ฅ˜ํ•˜๋ฉฐ, ๋“œ๋ž˜๊ทธ ์•ค ๋“œ๋กญ์„ ํ†ตํ•ด ์ƒํƒœ๋ฅผ ๋ณ€๊ฒฝํ•  ์ˆ˜ ์žˆ๋‹ค. ๊ฐ„๋‹จํ•œ ํ”„๋กœ์ ํŠธ๋‚˜ ๋น„๊ฐœ๋ฐœ ์กฐ์ง์—์„œ ๋น ๋ฅด๊ฒŒ ์ ์šฉํ•˜๊ธฐ ์ข‹๋‹ค.JiraJira๋Š” Atlassian์—์„œ ๊ฐœ๋ฐœํ•œ ์†Œํ”„ํŠธ์›จ์–ด ํ”„๋กœ์ ํŠธ ๊ด€๋ฆฌ ๋„๊ตฌ์ด๋‹ค. ์Šคํ”„๋ฆฐํŠธ, ๋ฐฑ๋กœ๊ทธ, ๋ฒ„๊ทธ ํŠธ๋ž˜ํ‚น, ์• ์ž์ผ ๋ณด๋“œ ๋“ฑ ๊ฐœ๋ฐœ ์ค‘์‹ฌ ๊ธฐ๋Šฅ์ด ๊ฐ•๋ ฅํ•˜๋ฉฐ, Jira ..
[๋ฐ๋ธŒ์ฝ”์Šค] 6์ฃผ์ฐจ ํšŒ๊ณ 
ยท
๐Ÿ•Š๏ธํ”„๋กœ๊ทธ๋ž˜๋จธ์Šค ๋ฐ๋ธŒ์ฝ”์Šค/ํšŒ๊ณ 
6์ฃผ์ฐจ๊ฐ€ ๋งž๋‚˜..? ์—ฐํœด ์ฃผ๊ฐ„ ํšŒ๊ณ ๋ฅผ ํ•œ ์ฃผ ๊ฑด๋„ˆ๋›ฐ์—ˆ๋”๋‹ˆ ํ—ท๊ฐˆ๋ฆฐ๋‹ค. ํšŒ๊ณ : ๐Ÿ‘Ž๋ญ ํ•˜๋‚˜ ์ œ๋Œ€๋กœ ํ•œ ๊ฒŒ ์—†๋Š” ํ•œ์ฃผ, ์•„๋‹ˆ ์—ฐํœด์ฃผ๊ฐ„๊นŒ์ง€ ๋‘์ฃผ์˜€๋˜ ๊ฒƒ ๊ฐ™๋‹ค. ์ž‘๋…„ ์—ฌ๋ฆ„๋ฐฉํ•™๋•Œ๋„ ๋ถ€ํŠธ์บ ํ”„๋ฅผ ๋“ค์—ˆ์—ˆ๊ธฐ์— ๋ถ€ํŠธ์บ ํ”„ ํ•œ ๋ฒˆ ๋” ๋“ฃ๋Š”๊ฑฐ์•ผ ๋ณ„๋กœ ์–ด๋ ต์ง€๋„ ์•Š๊ฒ ์ง€ ์‹ถ์—ˆ๋Š”๋ฐ, ์˜คํ”„๋ผ์ธ์ธ ๊ฒƒ๊ณผ ์•„๋‹Œ ๊ฒƒ๊ณผ ์ฐจ์ด๊ฐ€ ๋„ˆ๋ฌด ํฐ ๊ฒƒ ๊ฐ™๋‹ค. ๋ชจ๋‹ˆํ„ฐ ๋‘ ๋Œ€ ์„ธํŒ…๊นŒ์ง€ ํ•ด๋†“๊ณ  ๊ณต๋ถ€ ํ™˜๊ฒฝ ๋‹ค ๊พธ๋ฉฐ๋†จ๋Š”๋ฐ ํ•œ ๋‹ฌ ๋„˜๊ฒŒ ๋งค์ผ ํ˜ผ์ž ์ปดํ“จํ„ฐ๋งŒ ๋ณด๊ณ  ์žˆ์œผ๋‹ˆ ์šฐ์šธ๊ฐ์ด ์ •๋ง ๊ทน์— ๋‹ฌํ•˜๋Š” ๋“ฏ... ์ง‘์ค‘๋ ฅ๋„ ์˜์š•๋„ ๋‹ค ๋–จ์–ด์ ธ์„œ ์ถ”๊ฐ€ ๊ณต๋ถ€๋‚˜ ๋ธ”๋กœ๊ทธ ํฌ์ŠคํŒ…์€ ์ปค๋…• ์ •๊ทœ ์ปค๋ฆฌํ˜๋Ÿผ๋งˆ์ €๋„ ์ œ๋Œ€๋กœ ๋”ฐ๋ผ๊ฐ€์ง€ ๋ชปํ•œ ์ง€๋‚œ ์ด์ฃผ์˜€๋˜ ๊ฒƒ ๊ฐ™๋‹ค. + ๋„์ปค ํ„ฐ์ง ์ด์Šˆ.... ๐Ÿ‘Liked๊ทธ๋ž˜๋„ ๋ญ”๊ฐ€ ์ž˜ ํ•œ๊ฒƒ ํ•œ๋‘๊ฐœ์ฏค์€ ์žˆ๋‹ค. 1. OSSCA ํ™œ๋™ ์—ด์‹ฌํžˆ ์ฐธ์—ฌOSSCA ํ™œ๋™์€ ์ •๋ง ์—ด์‹ฌ..
[๋ฐ๋ธŒ์ฝ”์Šค] BOOK STORE ํ”„๋กœ์ ํŠธ API ์„ค๊ณ„(2)
ยท
๐Ÿ•Š๏ธํ”„๋กœ๊ทธ๋ž˜๋จธ์Šค ๋ฐ๋ธŒ์ฝ”์Šค/ํ”„๋กœ์ ํŠธ
์–ด์ œ์— ์ด์–ด API ์„ค๊ณ„๋ฅผ ์ง„ํ–‰ํ–ˆ๋‹ค. ERD๋„ ๊ตฌ์„ฑํ•ด๋ณด๊ณ , API๋ฅผ ์กฐ๊ธˆ ๋” ๊ณ ๋„ํ™”ํ•˜์—ฌ ์„ค๊ณ„ํ•˜๋Š” ์‹œ๊ฐ„์ด์—ˆ๋‹ค.์š”๊ตฌ์‚ฌํ•ญ๋งŒ ๋ดค์„ ๋•Œ๋Š” ๋ณผ๋ฅจ์ด ๊ต‰์žฅํžˆ ์ž‘์•„๋ณด์˜€๋Š”๋ฐ, ๋ง‰์ƒ API ์„ค๊ณ„๋ฅผ ํ•ด๋ณด๋‹ˆ ์ƒ๊ฐํ•ด์•ผ ํ•˜๋Š” ์ ๋“ค์ด ๊ต‰์žฅํžˆ ๋งŽ์•˜๋‹ค. url์— ์–ด๋–ค ๊ฐ’๋“ค์„ ๋‹ด์•„ ๋ณด๋‚ผ ๊ฒƒ์ด๋ฉฐ, ์—ฐ๊ด€๋˜๋Š” ๋ฐ์ดํ„ฐ๋“ค์„ ์–ด๋–ป๊ฒŒ ์ฒ˜๋ฆฌํ• ์ง€์— ๋Œ€ํ•œ ๊ณ ๋ฏผ์ด ์ปธ๋‹ค. ๋˜ ์ง€๊ธˆ์€ 200์œผ๋กœ ์„ฑ๊ณต ์ผ€์ด์Šค์— ๋Œ€ํ•ด์„œ๋งŒ ๋‹ค๋ฃผ๋Š”๋ฐ, ์ง€๊ธˆ๊ป ๋ฐ›์•„๋ณธ ๋ฌธ์„œ ์ƒ์—๋Š” 4xx, 5xx ์ผ€์ด์Šค์— ๋Œ€ํ•œ ์ฒ˜๋ฆฌ๋„ ๋งŽ์•˜๋˜ ๊ฑธ๋กœ ๊ธฐ์–ตํ•˜๊ณ , ํ”„๋ก ํŠธ์—”๋“œ ๊ฐœ๋ฐœ ๊ณผ์ •์—์„œ๋„ ์ƒํƒœ ์ฝ”๋“œ๊ฐ€ ์„ธ๋ถ„ํ™”๋˜์–ด์•ผ ํ™”๋ฉด ๊ฐœ๋ฐœ์— ์šฉ์ดํ•˜๋‹ค๋Š” ๊ฒƒ์„ ์ฒด๊ฐํ–ˆ๊ธฐ์—,,์ƒํƒœ ์ฝ”๋“œ๋„ ๋” ๊ณ ๋„ํ™” ํ•ด ๋ณผ ์˜ˆ์ • + ๊ฐ•์‚ฌ๋‹˜์ด erd ํˆด ์ถ”์ฒœํ•ด์ฃผ์…จ์ง€๋งŒ ๋‹ค๋“ค ๊ทธ๊ฑฐ ์“ฐ๊ธธ๋ž˜ ํ™๋Œ€๋ณ‘ ๊ฑธ๋ ค์„œ erdcloud ๊ณ ์ง‘ํ•˜๊ณ  ์žˆ๋Š”๋ฐ...erdclou..