๋ชฉ๋ก์ „์ฒด ๊ธ€ (1005)

๐Ÿ˜Ž ๊ณต๋ถ€ํ•˜๋Š” ์ง•์ง•์•ŒํŒŒ์นด๋Š” ์ฒ˜์Œ์ด์ง€?

[Express ์›น ์„œ๋ฒ„ ๋งŒ๋“ค๊ธฐ] (2) ๋ฏธ๋“ค์›จ์–ด ์ข…๋ฅ˜ & multer ์‚ฌ์šฉํ•˜๊ธฐ

๐ŸŽ€ ๋‹ค์–‘ํ•œ ๋ฏธ๋“ค์›จ์–ด ๐ŸŒˆ dotenv : .env ํŒŒ์ผ์„ ์ฝ์–ด์„œ process.env๋กœ ๋งŒ๋“ ๋‹ค ๐ŸŒˆ morgan : ๋กœ๊ทธ ์ถœ๋ ฅ ex) combined, common, short, tiny // dev [HTTP ๋ฉ”์„œ๋“œ] [์ฃผ์†Œ] [HTTP ์ƒํƒœ ์ฝ”๋“œ] [์‘๋‹ต ์†๋„]-[์‘๋‹ต ๋ฐ”์ดํŠธ] ๐ŸŒˆ static : ์ •์ ์ธ ํŒŒ์ผ๋“ค์„ ์ œ๊ณตํ•˜๋Š” ๋ผ์šฐํ„ฐ ์—ญํ•  : ํ•จ์ˆ˜์˜ ์ธ์ˆ˜๋กœ ์ •์  ํŒŒ์ผ๋“ค์ด ๋‹ด๊ฒจ ์žˆ๋Š” ํด๋”๋ฅผ ์ง€์ •ํ•œ๋‹ค ๐ŸŒˆ body-parser : ์š”์ฒญ์˜ ๋ณธ๋ฌธ์— ์žˆ๋Š” ๋ฐ์ดํ„ฐ๋ฅผ ํ•ด์„ํ•ด์„œ req.body ๊ฐ์ฒด๋กœ ๋งŒ๋“ค์–ด์ฃผ๋Š” ๋ฏธ๋“ค์›จ์–ด : ํผ ๋ฐ์ดํ„ฐ๋‚˜ AJAX ๋ฐ์ดํ„ฐ ์ฒ˜๋ฆฌ // ์š”์ฒญ์˜ ๋ณธ๋ฌธ์ด ๋ฒ„ํผ ๋ฐ์ดํ„ฐ ์ผ ๋•Œ app.use(bodyParser.raw()); // ํ…์ŠคํŠธ ๋ฐ์ดํ„ฐ์ผ ๋•Œ ํ•ด์„ app.use(bodyParser.text()); /..

[์•„๋‘์ด๋…ธ] IoT ์‹œ์Šคํ…œ ๊ธฐ๋Šฅ ์™„์„ฑํ•˜๊ธฐ - ํžˆ์Šคํ† ๋ฆฌ ์ปดํฌ๋„ŒํŠธ & ๋””๋ฐ”์ด์Šค ์ œ์–ด ์ปดํฌ๋„ŒํŠธ

(์ฝ”๋“œ๋Š” ์ €์ž‘๊ถŒ์ƒ ๊ณต์œ  ์•ˆ๋ฉ๋‹ˆ๋‹น!!) ๐Ÿฅ‘ ํžˆ์Šคํ† ๋ฆฌ ์ปดํฌ๋„ŒํŠธ ๋””๋ฐ”์ด์Šค ๋ฆฌ์ŠคํŠธ ์กฐํšŒ -> ๋””๋ฐ”์ด์Šค, ๋‚ ์งœ ์„ ํƒ -> ๋””๋ฐ”์ด์Šค ๋ฐ์ดํ„ฐ ์กฐํšŒ -> ์ฐจํŠธ ์ถœ๋ ฅ ๐Ÿฅ‘ ๋ฐ”์ด์Šค ์ œ์–ด ์ปดํฌ๋„ŒํŠธ ๋””๋ฐ”์ด์Šค ๋ฆฌ์ŠคํŠธ ์กฐํšŒ -> ๋””๋ฐ”์ด์Šค ์„ ํƒ -> ํŽŒํ”„ ๋™์ž‘ -> ํŽŒํ”„ ์ค‘์ง€ ๐Ÿ” ๋™์ž‘ ์š”์ฒญ ํ”„๋กœ์„ธ์Šค ํด๋ผ์ด์–ธํŠธ -> API ์„œ๋ฒ„ -> MQTT ๋ธŒ๋กœ์ปค -> ๋””๋ฐ”์ด์Šค : ํด๋ผ์ด์–ธํŠธ์—์„œ ๋””๋ฐ”์ด์Šค ์„ ํƒ ํ›„ REST API ๋กœ ๋™์ž‘/์ •์ง€ ์š”์ฒญ : ์š”์ฒญ์„ ๋ฐ›์€ API ์„œ๋ฒ„์—์„œ MQTT ๋ธŒ๋กœ์ปค๋ฅผ ํ†ตํ•ด ๋ช…๋ น ๋ฉ”์‹œ์ง€ ๋ฐœํ–‰ : ๋ฉ”์‹œ์ง€๋ฅผ ๋ฐ›์€ ๋””๋ฐ”์ด์Šค๊ฐ€ ๋ช…๋ น์„ ์ˆ˜ํ–‰ ๐Ÿฅ‘ React ํ”„๋กœ์ ํŠธ ๋ฐฐํฌ React ํ”„๋กœ์ ํŠธ ๋ฐฐํฌ ๊ณ„ํš -> React ํ”„๋กœ์ ํŠธ ๋นŒ๋“œ (webpack ์„ค์น˜, ์„ค์ • ํŒŒ์ผ, build ์ถ”๊ฐ€) -> React ํ”„๋กœ์ ํŠธ ๋นŒ๋“œ ๊ฒฐ๊ณผ๋ฌผ ํ™•์ธ )p..

[์•„๋‘์ด๋…ธ] IoT ์‹œ์Šคํ…œ ๊ธฐ๋Šฅ - ํ”„๋ก ํŠธ์—”๋“œ ์„ค๊ณ„

(์ฝ”๋“œ๋Š” ์ €์ž‘๊ถŒ์ƒ ๊ณต์œ  ์•ˆ๋ฉ๋‹ˆ๋‹น!!) ๐Ÿฅ‘ ํ”„๋ก ํŠธ์—”๋“œ ์„ค๊ณ„ ํ”„๋กœ์ ํŠธ ๊ธฐํš : ๋””์ž์ธ๊ณผ ๊ฐœ๋ฐœ์˜ ๊ธฐ์ค€ ์„ค์ • ์›น/์•ฑ ์„ค๊ณ„ : ๋””์ž์ธ๊ณผ ๊ฐœ๋ฐœ์„ ์œ„ํ•œ ๊ตฌ์ฒด์ ์ธ ์„ค๊ณ„ ๋””์ž์ธ : ๊ธฐํš/์„ค๊ณ„ ๊ธฐ๋ฐ˜ ๋””์ž์ธ ์ž‘์—… ๋ฐ ๋ฆฌ์†Œ์Šค ์ œ์ž‘ ๊ฐœ๋ฐœ : ๊ธฐ๋Šฅ ๊ตฌํ˜„ ๋ฐ ๋ฐฐํฌ/์šด์˜ ํ™˜๊ฒฝ ๊ตฌ์ถ• ๐Ÿ”ํ”„๋กœ์ ํŠธ ํ˜‘์—… ํˆด : ์†Œํ†ต ๋ฐ ๊ธฐ๋ก์„ ์œ„ํ•œ ๋‹ค์–‘ํ•œ ํˆด : ํ™”๋ฉด, ํ๋ฆ„, ํŠน์ • ํฌ์ธํŠธ์—์„œ ๊ธฐ๋Šฅ๊ณผ ์ •์ฑ…์„ ๋ณด๋‹ค ์‰ฝ๊ฒŒ ์ „๋‹ฌ EX) ํ”ผ๊ทธ๋งˆ, Adobe XD, ์Šค์ผ€์น˜, ๋ฏธ๋กœ, ๋…ธ์…˜ ๐Ÿฅ‘ ๋ ˆ์ด์•„์›ƒ ์„ค๊ณ„ : ๊ทธ๋ฆผ์ด๋‚˜ ๊ธ€์„ ์ œํ•œ๋œ ๊ณต๊ฐ„์— ํšจ๊ณผ์ ์œผ๋กœ ์ •๋ฆฌํ•˜๊ณ  ๋ฐฐ์น˜ : ๋ Œ๋”๋ง๋˜๋Š” ์ปดํฌ๋„ŒํŠธ ๋ ˆ์ด์–ด๋ฅผ ๋ฐฐ์น˜ : MUI ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ์—์„œ ์ œ๊ณตํ•˜๋Š” ๊ธฐ๋ณธ ์ปดํฌ๋„ŒํŠธ๋ฅผ ์ตœ๋Œ€ํ•œ ํ™œ์šฉ ํžˆ์Šคํ† ๋ฆฌ ์ปดํฌ๋„ŒํŠธ : ๋””๋ฐ”์ด์Šค ์กฐํšŒ ํ›„ ๋“œ๋กญ๋‹ค์šด ๋ฉ”๋‰ด ์ƒ์„ฑ : ๋‚ ์งœ ์„ ํƒ ์ƒํƒœ ๊ด€๋ฆฌ ๐Ÿฅ‘ ์ปดํฌ๋„ŒํŠธ ์„ค๊ณ„ ๋””๋ฐ”์ด..