๐ ํ๋ฃจ ์ผ๊ณผ
10:00 ~ 10:30 ๋ฐ์ผ๋ฆฌ ์คํฌ๋ผ
12:00 ~ 17:00 todolist ํ๋ก์ ํธ
21:00 ~ 22:30 ์ฝ๋ ๋ฆฌ๋ทฐ ์ ๋ฆฌ
22:45 ~ 01:30 todolist ํ๋ก์ ํธ
๐จ๐ป ํ์ต ํ๊ณ
๐ค todolist ํ๋ก์ ํธ
โญ๏ธ ๋ฆฌ๋ทฐ ๋ฐ์
1. cardController์ add ๋ฉ์๋ return ๊ฐ์ด ์ ๋งคํ๋ค๋ ๋ฆฌ๋ทฐ.
- ์ง๋ฌธ์ ์์ง๋ฅผ ์ ๋๋ก ํ์ ํ๊ฑด์ง๋ ๋ชจ๋ฅด๊ฒ ์ง๋ง, controller์ add ๋ฉ์๋์์ event์ฒ๋ฆฌ ๋ก์ง๊น์ง ๋ค์ด์์ด์ ๊ทธ๋ฐ๊ฒ ๊ฐ์.
- EventService๋ฅผ CardService ๋ด๋ถ๋ก ์ด๋.
2. responsCardDto์๊ฒ section ๊ฐ์ ๋น๊ตํ๋ ์ฑ ์์ ์์ํ๊ธฐ & if-else ์ ๊ฑฐํ๊ธฐ
- ํ์ ๋์์ผ๋ก if๋ฌธ ๋ด๋ถ์์ ๊ฐ์ ๋ฆฌํดํ๋ ๋ฐฉ์์ ์ฌ์ฉํด else ์ ๊ฑฐ. -> return ๋ฌธ์ด ์ค๋ณต๋๋ค๋ ๋จ์ ์ด ์์ง๋ง ํน๋ณํ ํด๊ฒฐ์ฑ ์ ์ฐพ์ง ๋ชปํ์
- Card ๋๋ฉ์ธ ๊ฐ์ฒด์๊ฒ section์ ๋ณ๊ฒฝ ์ฌ๋ถ๋ฅผ ํ์ธํ๋ ์ฑ ์ ์์.
3. put, delete ๋ฉ์๋์ ์ต์ํ ์์ฒญ ์ฑ๊ณต ์ฌ๋ถ๋ฅผ ์๋ ค์ฃผ๋ ๋ฐํ๊ฐ ์ ๋๋ ์ฃผ๋๋ก ๊ฐ์ ํ๊ธฐ
{
code : 200
message : "์ฑ๊ณต"
content : {...}
}
- Response ํํ์ Dto๋ฅผ ๋ง๋ค๊ณ ๋ด๋ถ์ content ํ๋์ ํ์ ์ ์ ๋ค๋ฆญ์ผ๋ก ์ค์ ํ๋ ๋ฐฉ์์ผ๋ก ๋ณ๊ฒฝํ๋ฉด ์ข๊ฒ ๋ค๊ณ ์๊ฐ.
- ๋ชจ๋ ์๋ต์ ์์ ํ์์ผ๋ก ๋ณด๋ด์ฃผ๋๊ฒ ๋ง์๊ฒ๊ฐ๋ค๊ณ ์ ๋ถํฐ ์๊ฐํ์ง๋ง ๋ฏธ๋ฃจ๋ค๋ณด๋ ํ๋ก์ ํธ๊ฐ ๋๋๋ ๋ ์ด ์์ ์ ์ฉ์ ์ํ์.
4. Action enum ๋ด๋ถ์์ Event๊ฐ ์ค์ค๋ก dto์๊ฐ๋ค์ ์ฌ์ฉํ๋๋ก ๊ฐ์ ํ๊ธฐ
- Event์๊ฒ dto์์ ๊ฐ์ ๊บผ๋ด์ ๋๊ฒจ์คฌ๋๋ฐ ๊ฐ์ฒด ์ค์ค๋ก ๊ฒฐ์ ํด์ ์ฌ์ฉํ๋๋ก ์์จ์ฑ์ ๋ณด์ฅํด์ผํ๋ค. ๊ทธ๋์ dto๋ฅผ ๋๊ฒจ์ฃผ๋ ํ์์ผ๋ก ๋ณ๊ฒฝ
5. ResponseCardsDto์์ Map์ ํค๊ฐ์ enum ํ์ ์ ๋ฃ์ด์ ํํํ๋๋ก ๊ฐ์ ํ๊ธฐ
- Section Enum ํด๋์ค๋ฅผ ์์ฑํ๊ณ ์นด๋๋ฅผ ๋ถ๋ฅํ๋ ๋ก์ง์ Enum ํด๋์ค ๋ด๋ถ๋ก ์ฎ๊น
๐ซ ์์ผ๋ก ๋ณ๊ฒฝํ ๋ด์ฉ๊ณผ ํ์ตํ ํค์๋
- eventJdbcRepository์ rowMapper์์ ์ปฌ๋ผ๋ช ์ ๋์ ์ผ๋ก ๊ด๋ฆฌํ ๋ฐฉ๋ฒ ์ฐพ์๋ณด๊ธฐ
- findAny()๋ id๊ฐ uniqueํ์ง ์์ ๊ฒฝ์ฐ ๋์ผ์ฑ์ด ๋ณด์ฅ์ด ์๋๋๋ฐ ์ด ๋ถ๋ถ์ ๊ฐ์ ํด๋ณด๊ธฐ
- Customํ Exception ๋ง๋ค์ด๋ณด๊ธฐ
- action์ด ์ด๋ฃจ์ด์ง ๋ชฉ๋ก์ ์ธํฐ์ ํฐ๋ก ๊ตฌํํด๋ณด๊ธฐ
- genarateKey๋?
- mysql์์ enum ํ์ ์ ์ฌ์ฉํ๋๊ฒ์ ๋ํ ์๊ฒฌ ๋จ๊ธฐ๊ธฐ - mysql์์ enum ํ์ ์ ์ฌ์ฉํ๋ฉด ์๋๋ 8๊ฐ์ง ์ด์
- executeAndReturnKey()๊ฐ ๋ฉํฐ์ค๋ ๋์์ ์ฌ์ฉํด๋ ์์ ํ ์ด์ ์์๋ณด๊ธฐ
์ฝ๋๋ฆฌ๋ทฐ๋ฅผ ๋ฐ๊ฒ ๋๋ฉด ๋ง์ ํค์๋๊ฐ ์์์ง๋ค. ๋์์ ๋ด๊ฐ ์ต๊ด์ ์ผ๋ก ์์ฑํ๋ ์ฝ๋, ์ข๋ค๋๊น ์ฌ์ฉํด๋ณด๋ ์ฝ๋๋ค์ ๋ํด ๋ค์ํ๋ฒ ์๊ฐํด๋ณผ ์ ์๋ ๊ธฐํ๊ฐ ๋๋ค.
์ด๋์ฑ๋์ ์ฑ ์์ Entity๊ฐ์ฒด๋ DB์ ์ง์ ์ ์ผ๋ก ์ฐ๊ฒฐ๋์ด ์๋ ๊ฐ์ฒด์ด๊ธฐ ๋๋ฌธ์ ์๋ ๋ฐํ์ฉ Dto ๊ฐ์ฒด๋ฅผ ๋ง๋ค์ด ๋ฐํํด์ผํ๋ค๋ ๋ด์ฉ์ ๋ณด์๊ณ ๋ฐ๋ก ํ๋ก์ ํธ์ ์ ์ฉํ๋ค. ํ์ง๋ง ์ ์ฉํ๋ฉด์ ๋ค๊ฒ ๋ ์๊ฐ์ “ํ์ฌ๋ ๋ฐ์ดํฐ์ ๊ฐ์๊ฐ ์ ์ง๋ง, ๋ง์ฝ ๋ฐ์ดํฐ๊ฐ ์์ฒญ ๋ง๋ค๋ฉด ๋ณํํ๋๋ฐ ๋๋ ์ค๋ฒํค๋๊ฐ ๋๋ฌด ํฌ์ง ์์๊น” ์๋ค.
ํด๋น ๋ด์ฉ์ pr์ ์ง๋ฌธ์ผ๋ก ๋จ๊ฒผ๊ณ ๋ฐ์ ๋ฆฌ๋ทฐ์์ **๋น์ฐํ ์ค๋ฒํค๋๊ฐ ๋ฐ์ํ๊ธฐ ๋๋ฌธ์ ํ์ฌ ์ ํ๋ฆฌ์ผ์ด์
์์ ๋ฐ๋์ Dto ๊ฐ์ฒด๋ก ๋ณํํด์ผํ๋ ์ด์ ๊ฐ ์๋์ง ๊ณ ๋ฏผํด๋ณด๊ณ , ๋ณํํด์ผํ๋ ์ด์ ๊ฐ ์๋ค๋ฉด ๊ทผ๊ฑฐ๋ฅผ ๊ฐ์ง๊ณ ์ค๋ํ ์ ์์ด์ผ ํ๋ค**๋ ํผ๋๋ฐฑ์ ๋ฐ์๋ค.
์ด๋ฐ ํผ๋๋ฐฑ ๋๋ถ์ “๋๋ค์๊ฐ ์ข๋ค๊ณ ํ๋๊น, ์ค๋ ฅ์ด ๋ฐ์ด๋ ๊ฐ๋ฐ์๋ถ์ด ๋ง๋ ๋ฐฉ์์ด๋ผ๊ณ ํ๋๊น” ๋ฌด์์ ์ ์ฉํ๋ ๋ด ์์ ์ ๋ฐ์ฑํ๊ฒ ๋๋ค.
Entity ๊ฐ์ฒด๋ฅผ ๊ทธ๋๋ก ๋ฐํํ๋ฉด ์๋๋ ์ด์
- ์ฌ์ฉ์์๊ฒ Entity ๊ฐ์ฒด๋ฅผ ๋ฐํํ๊ฒ ๋๋ฉด Entity ๊ฐ์ฒด์ ๋ชจ๋ ํ๋, ์ฆ DB์ ์ปฌ๋ผ๋ค์ด ๊ทธ๋๋ก ์ฌ์ฉ์์๊ฒ ๊ณต๊ฐ๋๋ค.
- ์ฌ์ฉ์์๊ฒ ๋ฐํํ๋ ๋ฐ์ดํฐ๋ ์ค๊ฐ์ ๋ณํํ๋ ๊ณผ์ ์ด ํ์ํ ์ ์๋๋ฐ ์ด๊ฒ์ด ๊ฐ๋ฅํ๋ ค๋ฉด setter๊ฐ ํ์ํ๋ค. Entity์ setter๋ฅผ ๊ตฌํํด๋๋ฉด ๋น์ฆ๋์ค ๋ก์ง๊ณผ ์ ํ ์๊ด ์๋ controller์ ๊ฐ์ ๊ณณ์์ ์ค์๋ก ๊ฐ์ ๋ณ๊ฒฝ์ด ๋ฐ์ํ ์ ์๋ค.
- ์ฌ์ฉ์์๊ฒ ํ์๋ ์๋ ๋ฐ์ดํฐ๊น์ง ์ ๋ถ ๋ณด๋ด๋๊ฒ์ ์์์ ๋ญ๋น๋ค.
๐๐ปโ๏ธ ๊ฐ์ ์
- ์ค๋์ ๋ง์กฑ! ๐ฏ
'Thinks > TIL' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
TIL-220613 (0) | 2022.11.20 |
---|---|
TIL-220415 (0) | 2022.11.20 |
TIL-220413 (0) | 2022.11.20 |
TIL-220412 (0) | 2022.11.20 |
TIL-220411 (0) | 2022.11.20 |