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

YS's develop story

NodeJS Node-Schedule๋กœ ํŠน์ •์‹œ๊ฐ„์— ์‹คํ–‰ ํ•  ์ž‘์—… ์˜ˆ์•ฝํ•˜๊ธฐ ๐Ÿค—

๐Ÿค— NodeJS Node Schedule๋กœ ํŠน์ • ์‹œ๊ฐ„์— ์‹คํ–‰ํ•  ์ž‘์—… ์˜ˆ์•ฝํ•˜๊ธฐ โŒ› Problem ์˜ˆ์•ฝ์‹œ๊ฐ„ 1์‹œ๊ฐ„ ์ „์— ์‚ฌ์šฉ์ž์—๊ฒŒ ์˜ˆ์•ฝ ํ™•์ธ ํ‘ธ์‹œ ์•Œ๋ฆผ์„ ์ „์†กํ•˜๋ ค๊ณ  ๋กœ์ง์„ ์งœ๋Š” ์ค‘์ธ๋ฐ ์–ด๋–ป๊ฒŒ ํ•˜๋ฉด 1์‹œ๊ฐ„ ์ „์— ์•Œ๋ฆผ์„ ๋ณด๋‚ผ์ง€ ๊ณ ๋ฏผ์„ ํ•˜๊ฒŒ ๋˜์—ˆ์Šต๋‹ˆ๋‹ค. ๐Ÿ˜• FCM์„ ํ™œ์šฉํ•˜๋ฉด ์‚ฌ์šฉ์ž๊ฐ€ ์˜ˆ์•ฝ์„ ํ•  ๋•Œ ํŠน์ • ์‹œ๊ฐ„์— ์•Œ๋ฆผ์„ ๋ณด๋‚ด๋„๋ก ์„ค์ •ํ•  ์ˆ˜ ์žˆ์ง€๋งŒ ์‚ฌ์šฉ์ž๊ฐ€ ์˜ˆ์•ฝ์„ ์ทจ์†Œํ•˜๊ฒŒ ๋˜๋”๋ผ๋„ ๊ทธ ์•Œ๋ฆผ์€ ์ „์†ก๋œ๋‹ค๋Š” ๋ฌธ์ œ์ ์ด ์žˆ์Šต๋‹ˆ๋‹ค. ์‚ฌ์šฉ์ž๊ฐ€ ์˜ˆ์•ฝ์„ ํ•œ ํ›„ ์˜ˆ์•ฝ์„ ์ทจ์†Œํ•˜์ง€ ์•Š์•˜์„ ๊ฒฝ์šฐ์—๋งŒ ์˜ˆ์•ฝ ์‹œ๊ฐ„ ํ•œ ์‹œ๊ฐ„ ์ „์— ๋”ฑ ์•Œ๋ฆผ์„ ๋ณด๋‚ผ ์ˆ˜ ์žˆ๋Š” ๋ฐฉ๋ฒ•์€ ์—†์„๊นŒ์š”? ๐Ÿ“œ Solution Node Schedule ๋ชจ๋“ˆ์„ ํ™œ์šฉํ•ด์„œ ํŠน์ • ์‹œ๊ฐ„์— ๋‚ด๊ฐ€ ์›ํ•˜๋Š” ์ฝ”๋“œ๊ฐ€ ์ž‘๋™๋˜๋„๋ก ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ์ด ๋ชจ๋“ˆ์„ ํ™œ์šฉํ•ด์„œ ์˜ˆ์•ฝ์‹œ๊ฐ„ ํ•œ ์‹œ๊ฐ„ ์ „์— ์‚ฌ์šฉ์ž์˜ ์˜ˆ์•ฝ..

๊ธฐํƒ€ 2021. 7. 20. 07:56
Node Js, OpenAPI๋ฅผ ํ™œ์šฉํ•˜์—ฌ ๋ฐ์ดํ„ฐ๋ฅผ DB์— ์ €์žฅํ•˜๊ธฐ (Request.js)

๐Ÿ‘จ‍๐Ÿ’ป OpenAPI๋ฅผ ํ™œ์šฉํ•˜์—ฌ ๋ฐ์ดํ„ฐ๋ฅผ DB์— ์ €์žฅํ•˜๊ธฐ (Request.js) โŒ› Problem ๊ณต๊ณต๋ฐ์ดํ„ฐ ํฌํ„ธ ๊ตญ๊ฐ€์—์„œ ๋ณด์œ ํ•˜๊ณ  ์žˆ๋Š” ๋‹ค์–‘ํ•œ ๋ฐ์ดํ„ฐ๋ฅผใ€Ž๊ณต๊ณต๋ฐ์ดํ„ฐ์˜ ์ œ๊ณต ๋ฐ ์ด์šฉ ํ™œ์„ฑํ™”์— ๊ด€ํ•œ ๋ฒ•๋ฅ (์ œ11956ํ˜ธ)ใ€์— ๋”ฐ๋ผ ๊ฐœ๋ฐฉํ•˜์—ฌ ๊ตญ๋ฏผ๋“ค์ด ๋ณด๋‹ค ์‰ฝ๊ณ  ์šฉ์ดํ•˜๊ฒŒ ๊ณต์œ •ํ™œ์šฉํ•  ์ˆ˜ ์žˆ๋„๋ก ๊ณต๊ณต๋ฐ์ดํ„ฐ(Datase www.data.go.kr ์œ„ ์‚ฌ์ดํŠธ์— ๋“ฑ๋ก๋œ ๋‹ค์–‘ํ•œ ๊ณต๊ณต๋ฐ์ดํ„ฐ๋“ค์„ OpenAPI๋ฅผ ํ†ตํ•ด ํ™œ์šฉํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ์ €๋Š” ๊ณต๊ณต๋ฐ์ดํ„ฐ ํฌํ„ธ์— ๋“ฑ๋ก๋œ ์„œ์šธ์‹œ์˜ ๋ชจ๋“  ๋ณ‘์› ์ •๋ณด๊ฐ€ ํ•„์š”ํ–ˆ๊ณ  ์ด๋ฅผ ํ™œ์šฉํ•˜๊ธฐ ์œ„ํ•ด ์‚ฌ์ดํŠธ์—์„œ ๋ณ‘์›์ •๋ณด OpenAPI key๋ฅผ ๋ฐœ๊ธ‰๋ฐ›์•˜์Šต๋‹ˆ๋‹ค. ๋ฐœ๊ธ‰๋ฐ›์€ Service key๋ฅผ ํ†ตํ•ด Postman๊ณผ ๋ธŒ๋ผ์šฐ์ €๋กœ ๊ฐ๊ฐ ์š”์ฒญํ•œ ๊ฒฐ๊ณผ์ž…๋‹ˆ๋‹ค. ์ด๋ ‡๊ฒŒ ๋‚ด๊ฐ€ ์›ํ•˜๋Š” ์ˆ˜๋ฐฑ ๊ฐœ์˜ ๋ณ‘์›์ •๋ณด๋ฅผ ํ•œ๋ˆˆ์— ํ™•์ธํ•  ์ˆ˜..

๊ธฐํƒ€ 2021. 6. 25. 11:06
MySQL ์ตœ๊ทผ์— ์ถ”๊ฐ€๋œ ๊ฐ’ ์ธ๋ฑ์Šค ์ฐพ๊ธฐ LAST_INSERT_ID() ํ•จ์ˆ˜ ํ™œ์šฉ

๐Ÿ‘จ‍๐Ÿ’ป ์ตœ๊ทผ์— ์ถ”๊ฐ€๋œ ๊ฐ’์˜ ์ธ๋ฑ์Šค ์ฐพ๊ธฐ, LAST_INSERT_ID() ํ•จ์ˆ˜ ํ™œ์šฉ โŒ› Problem ๋ฐ์ดํ„ฐ๊ฐ€ ์ถ”๊ฐ€๋  ๋•Œ๋งˆ๋‹ค ๊ฐ ํŠœํ”Œ๋“ค์„ ๊ตฌ๋ถ„ํ•  ์ˆ˜ ์žˆ๊ฒŒ ์ €์žฅํ•˜๊ธฐ ์œ„ํ•ด ํ…Œ์ด๋ธ”์„ ์„ค๊ณ„ํ•  ๋•Œ ํ…Œ์ด๋ธ”์˜ PK๋ฅผ Auto_Increment๋กœ ์„ค์ •ํ•˜๋Š” ๊ฒฝ์šฐ๋Š” ๋งค์šฐ ๋งŽ์Šต๋‹ˆ๋‹ค. ์•„๋ž˜์™€ ๊ฐ™์€ ์ฟผ๋ฆฌ๋ฅผ ํ†ตํ•ด Reviews๋ผ๋Š” ํ…Œ์ด๋ธ”์— ๋ฆฌ๋ทฐ๋ฅผ ๋“ฑ๋กํ•œ๋‹ค๊ณ  ๊ฐ€์ •ํ•ด ๋ด…์‹œ๋‹ค. INSERT INTO Reviews(hospitalIdx, userIdx, review, reviewScore) VALUES (?,?,?,?); ์ด ์ƒํ™ฉ์—์„œ ํŠน์ • ์‚ฌ์šฉ์ž๊ฐ€ ๋“ฑ๋กํ•œ ๋ฆฌ๋ทฐ๋ฅผ ์ˆ˜์ •ํ•˜๊ธฐ ์œ„ํ•ด์„œ๋Š” Reviewsํ…Œ์ด๋ธ”์—์„œ ์‚ฌ์šฉ์ž๊ฐ€ ์ž‘์„ฑํ•œ ๋ฆฌ๋ทฐ๊ฐ€ ๋ช‡ ๋ฒˆ์งธ ํŠœํ”Œ์ธ์ง€ ์•Œ์•„์•ผ ํ•˜๊ธฐ ๋•Œ๋ฌธ์— ๋ฆฌ๋ทฐ ํ…Œ์ด๋ธ”์˜ PK๋ฅผ ์•Œ์•„์•ผ ํ•ฉ๋‹ˆ๋‹ค. ๊ทธ๋ ‡๋‹ค๋ฉด ์•„๋ž˜์™€ ๊ฐ™์€ ์ฟผ๋ฆฌ๋ฅผ ํ†ตํ•ด ๋ฆฌ๋ทฐ..

Database/MySQL 2021. 6. 21. 09:59
์ฐธ์กฐ ๋ฌด๊ฒฐ์„ฑ ๋ฐ Cascade

์ฐธ์กฐ ๋ฌด๊ฒฐ์„ฑ (Referential Integrity)์ด๋ž€ ๋ฌด์—‡์ธ๊ฐ€? ์ฐธ์กฐ ๋ฌด๊ฒฐ์„ฑ์€ ๊ด€๊ณ„ํ˜• ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค ๋ชจ๋ธ์—์„œ 2๊ฐœ์˜ ๊ด€๋ จ ์žˆ๋Š” ๊ด€๊ณ„ ๋ณ€์ˆ˜ ๊ฐ„์˜ ์ผ๊ด€์„ฑ์„ ๋งํ•ฉ๋‹ˆ๋‹ค '์ฃผ์–ด์ง„ ์†์„ฑ ์ง‘ํ•ฉ์— ๋Œ€ํ•ด ํ•œ ๊ด€๊ณ„์— ๋‚˜ํƒ€๋‚˜๋Š” ๊ฐ’์ด ๋‹ค๋ฅธ ๊ด€๊ณ„์—์„œ ํŠน์ • ์†์„ฑ ์ง‘ํ•ฉ์— ๋Œ€ํ•ด์„œ๋„ ๋‚˜ํƒ€๋‚˜๋„๋ก ๋ณด์žฅํ•ด์•ผ ํ•œ๋‹ค'๋ผ๊ณ  ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค ๊ต์žฌ์— ๋‚˜์™€ ์žˆ๋„ค์š”. ์ฆ‰ ์ฐธ์กฐ ๋ฌด๊ฒฐ์„ฑ์ด๋ž€ ๊ธฐ๋ณธํ‚ค์™€ ์ฐธ์กฐ ํ‚ค ๊ฐ„์˜ ๊ด€๊ณ„๊ฐ€ ํ•ญ์ƒ ์œ ์ง€๋˜๋„๋ก ๋ณด์žฅํ•˜๋Š” ๊ฒƒ์„ ๋งํ•ฉ๋‹ˆ๋‹ค. ๊ฐ„๋‹จํ•˜๊ฒŒ ์„ค๋ช…ํ•˜์ž๋ฉด ๊ต์› ํ…Œ์ด๋ธ”์˜ departmentName์ด Foreign key์ด๊ณ  ๊ทธ ๊ฐ’์ด 'Biology'์ด๋ฉด ์‹ค์ œ๋กœ ํ•™๊ณผ ํ…Œ์ด๋ธ”์— 'Biology'๊ฐ€ ์žˆ์–ด์•ผ ํ•ฉ๋‹ˆ๋‹ค. ๊ทธ๋ฆฌ๊ณ  ๋‘ ๊ฐ’์€ ํ•ญ์ƒ ๊ฐ™์•„์•ผ ํ•ฉ๋‹ˆ๋‹ค. ์ด๋Ÿฌํ•œ ๊ด€๊ณ„๊ฐ€ ์œ ์ง€๋˜๋„๋ก ํ•˜๋Š” ๊ฒƒ์„ ์ฐธ์กฐ ๋ฌด๊ฒฐ์„ฑ์ด๋ผ๊ณ  ํ•ฉ๋‹ˆ๋‹ค. ์œ„์™€ ๊ฐ™์€ ํŠœํ”Œ์„ ์ถ”๊ฐ€ํ•˜..

Database 2021. 5. 18. 08:56