- Rp2๊ธฐ
- docker
- mysql
- DATABASE
- merge sort
- spring ๊ตฌ๊ธ ์์ ๋ก๊ทธ์ธ
- SQL
- C++
- ํจ์คํธ์บ ํผ์คX์ผ๋์
- datagrip
- Quick Sort
- MethodArgumentNotValidException
- Spring
- MAKE US
- Data Structure
- OpenAPI
- SSL
- spring์ผ๋ก https ์ ์ฉ
- java error
- spring ์์ ๋ก๊ทธ์ธ
- ๊ตฌ๊ธ ์์ ๋ก๊ทธ์ธ
- Java
- node js
- GIT
- aligoapi
- RP 2๊ธฐ
- Unity
- ๋ฆฌ๋ ์ค ๋ช ๋ น์ด
- ์์คํ ์ํํธ์จ์ด
- @CreatedDate
๋ชฉ๋ก์ ์ฒด ๊ธ (132)
YS's develop story

๐ค NodeJS Node Schedule๋ก ํน์ ์๊ฐ์ ์คํํ ์์ ์์ฝํ๊ธฐ โ Problem ์์ฝ์๊ฐ 1์๊ฐ ์ ์ ์ฌ์ฉ์์๊ฒ ์์ฝ ํ์ธ ํธ์ ์๋ฆผ์ ์ ์กํ๋ ค๊ณ ๋ก์ง์ ์ง๋ ์ค์ธ๋ฐ ์ด๋ป๊ฒ ํ๋ฉด 1์๊ฐ ์ ์ ์๋ฆผ์ ๋ณด๋ผ์ง ๊ณ ๋ฏผ์ ํ๊ฒ ๋์์ต๋๋ค. ๐ FCM์ ํ์ฉํ๋ฉด ์ฌ์ฉ์๊ฐ ์์ฝ์ ํ ๋ ํน์ ์๊ฐ์ ์๋ฆผ์ ๋ณด๋ด๋๋ก ์ค์ ํ ์ ์์ง๋ง ์ฌ์ฉ์๊ฐ ์์ฝ์ ์ทจ์ํ๊ฒ ๋๋๋ผ๋ ๊ทธ ์๋ฆผ์ ์ ์ก๋๋ค๋ ๋ฌธ์ ์ ์ด ์์ต๋๋ค. ์ฌ์ฉ์๊ฐ ์์ฝ์ ํ ํ ์์ฝ์ ์ทจ์ํ์ง ์์์ ๊ฒฝ์ฐ์๋ง ์์ฝ ์๊ฐ ํ ์๊ฐ ์ ์ ๋ฑ ์๋ฆผ์ ๋ณด๋ผ ์ ์๋ ๋ฐฉ๋ฒ์ ์์๊น์? ๐ Solution Node Schedule ๋ชจ๋์ ํ์ฉํด์ ํน์ ์๊ฐ์ ๋ด๊ฐ ์ํ๋ ์ฝ๋๊ฐ ์๋๋๋๋ก ํ ์ ์์ต๋๋ค. ์ด ๋ชจ๋์ ํ์ฉํด์ ์์ฝ์๊ฐ ํ ์๊ฐ ์ ์ ์ฌ์ฉ์์ ์์ฝ..

IntelliJ IDE์์๋ CTRL + ALT + L์ ๋๋ฌ์ ์ฝ๋ ์๋ ์ ๋ ฌ์ ํ ์ ์์ต๋๋ค. ํ์ง๋ง ์ฝ๋๊ฐ ์ ๋ ฌ๋ ํ ์ฐ์ ๊ฐ์ด ์์ฑ๋ ์ฝ๋๋ ๋งจ๋ ์คํ์ด์ค๋ฐ๋ฅผ ์ฐํํด์ ๊ฐ๊ฒฉ์ ๋ง์ถฐ ์ฃผ์๋๋ฐ.. ์ด ๋ํ ์ ๋ ฌํ ์ ์๋ ๊ฟํ์ ๋ฐ๊ฒฌํ๊ฒ ๋์์ต๋๋ค... File - Settings - Editor Code Style - ์ธ์ด ์ ํ - Wrapping and Braces Objects - Align - On colon์ผ๋ก ๋ณ๊ฒฝ ์ดํ ๋จ์ถํค๋ฅผ ๋๋ฌ ์ฃผ๋ฉด ์๋์ ๊ฐ์ด ์ฝ๋๊ฐ ์ ๋ ฌ๋ฉ๋๋ค. ์ ๋ง ๋ง์์ด ํธ์ํด์ง๋๊ตฐ์.... ๐ค๐ค๐ค๐ค

๐ฅ MySQL ์ฌ๋ฌ ๊ฐ์ ๋ฐ์ดํฐ ํ ๋ฒ์ ์ ์ฅํ๊ธฐ (Node js, mysql2 promise) โ Problem ๐ ๋ณ๊ฒฝ ์ ์ฝ๋ const connection = await pool.getConnection(async (conn) => conn); ........... for (i in reviewImg) { let postReviewImgParams = [ getReviewIdx[0].reviewIdx, reviewImg[i] ] await hospitalDao.postReviewImg(connection, postReviewImgParams); } async function postReviewImg(connection, postReviewImgParams) { const postReviewImgQ..

๐จ๐ป OpenAPI๋ฅผ ํ์ฉํ์ฌ ๋ฐ์ดํฐ๋ฅผ DB์ ์ ์ฅํ๊ธฐ (Request.js) โ Problem ๊ณต๊ณต๋ฐ์ดํฐ ํฌํธ ๊ตญ๊ฐ์์ ๋ณด์ ํ๊ณ ์๋ ๋ค์ํ ๋ฐ์ดํฐ๋ฅผใ๊ณต๊ณต๋ฐ์ดํฐ์ ์ ๊ณต ๋ฐ ์ด์ฉ ํ์ฑํ์ ๊ดํ ๋ฒ๋ฅ (์ 11956ํธ)ใ์ ๋ฐ๋ผ ๊ฐ๋ฐฉํ์ฌ ๊ตญ๋ฏผ๋ค์ด ๋ณด๋ค ์ฝ๊ณ ์ฉ์ดํ๊ฒ ๊ณต์ •ํ์ฉํ ์ ์๋๋ก ๊ณต๊ณต๋ฐ์ดํฐ(Datase www.data.go.kr ์ ์ฌ์ดํธ์ ๋ฑ๋ก๋ ๋ค์ํ ๊ณต๊ณต๋ฐ์ดํฐ๋ค์ OpenAPI๋ฅผ ํตํด ํ์ฉํ ์ ์์ต๋๋ค. ์ ๋ ๊ณต๊ณต๋ฐ์ดํฐ ํฌํธ์ ๋ฑ๋ก๋ ์์ธ์์ ๋ชจ๋ ๋ณ์ ์ ๋ณด๊ฐ ํ์ํ๊ณ ์ด๋ฅผ ํ์ฉํ๊ธฐ ์ํด ์ฌ์ดํธ์์ ๋ณ์์ ๋ณด OpenAPI key๋ฅผ ๋ฐ๊ธ๋ฐ์์ต๋๋ค. ๋ฐ๊ธ๋ฐ์ Service key๋ฅผ ํตํด Postman๊ณผ ๋ธ๋ผ์ฐ์ ๋ก ๊ฐ๊ฐ ์์ฒญํ ๊ฒฐ๊ณผ์ ๋๋ค. ์ด๋ ๊ฒ ๋ด๊ฐ ์ํ๋ ์๋ฐฑ ๊ฐ์ ๋ณ์์ ๋ณด๋ฅผ ํ๋์ ํ์ธํ ์..

๐จ๐ป ์ต๊ทผ์ ์ถ๊ฐ๋ ๊ฐ์ ์ธ๋ฑ์ค ์ฐพ๊ธฐ, LAST_INSERT_ID() ํจ์ ํ์ฉ โ Problem ๋ฐ์ดํฐ๊ฐ ์ถ๊ฐ๋ ๋๋ง๋ค ๊ฐ ํํ๋ค์ ๊ตฌ๋ถํ ์ ์๊ฒ ์ ์ฅํ๊ธฐ ์ํด ํ ์ด๋ธ์ ์ค๊ณํ ๋ ํ ์ด๋ธ์ PK๋ฅผ Auto_Increment๋ก ์ค์ ํ๋ ๊ฒฝ์ฐ๋ ๋งค์ฐ ๋ง์ต๋๋ค. ์๋์ ๊ฐ์ ์ฟผ๋ฆฌ๋ฅผ ํตํด Reviews๋ผ๋ ํ ์ด๋ธ์ ๋ฆฌ๋ทฐ๋ฅผ ๋ฑ๋กํ๋ค๊ณ ๊ฐ์ ํด ๋ด ์๋ค. INSERT INTO Reviews(hospitalIdx, userIdx, review, reviewScore) VALUES (?,?,?,?); ์ด ์ํฉ์์ ํน์ ์ฌ์ฉ์๊ฐ ๋ฑ๋กํ ๋ฆฌ๋ทฐ๋ฅผ ์์ ํ๊ธฐ ์ํด์๋ Reviewsํ ์ด๋ธ์์ ์ฌ์ฉ์๊ฐ ์์ฑํ ๋ฆฌ๋ทฐ๊ฐ ๋ช ๋ฒ์งธ ํํ์ธ์ง ์์์ผ ํ๊ธฐ ๋๋ฌธ์ ๋ฆฌ๋ทฐ ํ ์ด๋ธ์ PK๋ฅผ ์์์ผ ํฉ๋๋ค. ๊ทธ๋ ๋ค๋ฉด ์๋์ ๊ฐ์ ์ฟผ๋ฆฌ๋ฅผ ํตํด ๋ฆฌ๋ทฐ..

์์ผ์ ๊ตฌํ๋ ํจ์ WEEKDAY ์์ ๊ฐ์ด User ํ ์ด๋ธ์ ์ ์ ๊ฐ ๊ฐ์ ํ ์๊ฐ์ด timestamp ํ์์ผ๋ก createdAt์ด๋ผ๋ ์ปฌ๋ผ์ ์ ์ฅ๋์ด ์์ต๋๋ค. SELECT CASE WEEKDAY(createdAt) WHEN '0' THEN '์' WHEN '1' THEN 'ํ' WHEN '2' THEN '์' WHEN '3' THEN '๋ชฉ' WHEN '4' THEN '๊ธ' WHEN '5' THEN 'ํ ' WHEN '6' THEN '์ผ' END AS makeDay FROM Users; ์ด ์ ๋ณด๋ฅผ ํตํด WEEKDAY ํจ์๋ฅผ ํ์ฉํ์ฌ ์์ ๊ฐ์ด ๋ ์ง๋ฅผ ๊ณ์ฐํ ์ ์์ต๋๋ค. ์คํ ๊ฒฐ๊ณผ ์ ๋๋ค. ์ด ๋ฐ์ดํฐ๋ ์์์ผ์ ์์ฑ๋์์์ ์ ์ ์์ต๋๋ค.

์ฐธ์กฐ ๋ฌด๊ฒฐ์ฑ (Referential Integrity)์ด๋ ๋ฌด์์ธ๊ฐ? ์ฐธ์กฐ ๋ฌด๊ฒฐ์ฑ์ ๊ด๊ณํ ๋ฐ์ดํฐ๋ฒ ์ด์ค ๋ชจ๋ธ์์ 2๊ฐ์ ๊ด๋ จ ์๋ ๊ด๊ณ ๋ณ์ ๊ฐ์ ์ผ๊ด์ฑ์ ๋งํฉ๋๋ค '์ฃผ์ด์ง ์์ฑ ์งํฉ์ ๋ํด ํ ๊ด๊ณ์ ๋ํ๋๋ ๊ฐ์ด ๋ค๋ฅธ ๊ด๊ณ์์ ํน์ ์์ฑ ์งํฉ์ ๋ํด์๋ ๋ํ๋๋๋ก ๋ณด์ฅํด์ผ ํ๋ค'๋ผ๊ณ ๋ฐ์ดํฐ๋ฒ ์ด์ค ๊ต์ฌ์ ๋์ ์๋ค์. ์ฆ ์ฐธ์กฐ ๋ฌด๊ฒฐ์ฑ์ด๋ ๊ธฐ๋ณธํค์ ์ฐธ์กฐ ํค ๊ฐ์ ๊ด๊ณ๊ฐ ํญ์ ์ ์ง๋๋๋ก ๋ณด์ฅํ๋ ๊ฒ์ ๋งํฉ๋๋ค. ๊ฐ๋จํ๊ฒ ์ค๋ช ํ์๋ฉด ๊ต์ ํ ์ด๋ธ์ departmentName์ด Foreign key์ด๊ณ ๊ทธ ๊ฐ์ด 'Biology'์ด๋ฉด ์ค์ ๋ก ํ๊ณผ ํ ์ด๋ธ์ 'Biology'๊ฐ ์์ด์ผ ํฉ๋๋ค. ๊ทธ๋ฆฌ๊ณ ๋ ๊ฐ์ ํญ์ ๊ฐ์์ผ ํฉ๋๋ค. ์ด๋ฌํ ๊ด๊ณ๊ฐ ์ ์ง๋๋๋ก ํ๋ ๊ฒ์ ์ฐธ์กฐ ๋ฌด๊ฒฐ์ฑ์ด๋ผ๊ณ ํฉ๋๋ค. ์์ ๊ฐ์ ํํ์ ์ถ๊ฐํ..