์๋ฐ(53)
-
[JavaScript] lodash
๐ lodash๋? ์ด ์น๊ตฌ๋ JavaScript์ ์ธ๊ธฐ ์๋ Library์ค์ ํ๋ ์ธ ๊ฒ์ด์์. ๋ณดํต์ ๊ฒฝ์ฐ Array, Collection, data ๋ฑ Data์ ํ์์ ์ธ ๊ตฌ์กฐ๋ฅผ ์ฝ๊ฒ ๋ค๋ฃฐ ์ ์๊ฒ ํด์ฃผ๋๋ฐ ์ฌ์ฉํ๋ ๊ฒ์ด์์. JavaScript์์ ๋ฐฐ์ด ์์ ๊ฐ์ฒด๋ค์ ๊ฐ์ handling(๋ฐฐ์ด, ๊ฐ์ฒด ๋ฐ ๋ฌธ์์ด ๋ฐ๋ณต / ๋ณตํฉ์ ์ธ ํจ์ ์์ฑ)ํ ๋ ์ ์ฉํ ๊ฒ์ด์์. ์ด๋ฌํ ์ ์ผ๋ก ์ธํด JavaScript์ ์ฝ๋๋ฅผ ์ค์ฌ์ฃผ๊ณ , ๋น ๋ฅธ ์์ ์ ๋์์ ์ฃผ๋ ์น๊ตฌ๋๋๋ค. ํนํ Front End ํ๊ฒฝ์์ ๋ง์ด ์ด์ฉํ๊ณ ์๋ ๊ฒ์ด์์. `_.(๋ณ์๋ช )`๊ณผ ๊ฐ์์์ผ๋ก ์์ฑํ ๊ฒฝ์ฐ lodash Wrapper๋ก ๋ณ์๋ฅผ ๊ฐ์ธ๊ฒ ๋๋ฉด์ ํด๋น ๋ณ์์ ๋ํ chaining์ ์์ํ๋ ๊ฒ์ด์์. `_` ๊ธฐํธ๋ฅผ ์ด์ฉํด์ ์ฌ์ฉ๋..
2022.03.16 -
[Spring] @Transactional๊ณผ rollbackFor ์์ฑ
๐ @Transactional๊ณผ rollbackFor ์์ฑ Spring์ @Transactional์ด ๋ถ์ Class์ Proxy๋ฅผ ์์ฑํ๋ ๊ฒ์ด์์. Proxy๋ ํธ๋์ญ์ ๋ก์ง์ Method ์ ๋ค์ ๋ฃ์ด ์ค๋ต๋๋ค. ์ฃผ๋ํ๋์ @Transactional์ rollbackFor ์์ฑ์ ์ด์ฉํ์ฌ Exception.class๋ฅผ ๋ฑ๋กํ ๊ฒ์ด์์. ์ด ์๋ฏธ๋ Spring์๊ฒ 'Run Time Exception์ด ํฐ์ง๋ฉด Roll Back ํด์ค!' ๋ผ๊ณ ํ๋ ๊ฒ์ด์์. ๋ง์ฝ ์ด๋ ๊ฒ @Transactional์ ์์ฑ์ ์ฃผ์ง ์์ผ๋ฉด Spring์ RuntimeException.class, Error.class๋ฅผ ์ ์ธํ๋ค๊ณ ์ดํดํ๋ ๊ฒ์ด์์. ์ฆ, Default ์์ฑ์ด ์ด๊ฒ์ด๋ผ๋ ๊ฒ์ด์ง์. ํ์ง๋ง, ์ด๋ ๊ฒ checked..
2022.03.11 -
[Spring] @RequestBody์ @ResponseBody๋?
๐ @RequestBody์ @ResponseBody๋? ์คํ๋ง์์ ๋น๋๊ธฐ ์ฒ๋ฆฌ๋ฅผ ํ๋ ๊ฒฝ์ฐ @RequestBody์ @ResponseBody๋ฅผ ์ฌ์ฉํ๋ ๊ฒ์ด์์. ์ฃผ๋ํ๋์ Server ๊ฐ๋ฐ๋ก๋ maven ๊ธฐ๋ฐ Spring์ผ๋ก, Client๋ Vue.js๋ฅผ ๊ณต๋ถํ๋ฉด์ ๊ฐ์ธ ํ๋ก์ ํธ๋ฅผ ํด ๋ณด๊ณ ์๋ ๊ฒ์ด์์. Vue.js๋ ๋ํ์ ์ธ ๋น๋๊ธฐ ์ฒ๋ฆฌ ๊ธฐ๋ฐ Client Java Script์ Framework๋๋๋ค! ๐ฝ Client์ Server์ ๋น๋๊ธฐ ํต์ ์ด์ผ๊ธฐ ํด๋ผ์ด์ธํธ์์ ์๋ฒ๋ก ํต์ ํ๋ Message๋ฅผ ์์ฒญ(Request)๋ผ๊ณ ํ๊ณ , ์๋ฒ์์ ํด๋ผ์ด์ธํธ๋ก ํต์ ํ๋ ๋ฉ์์ง๋ฅผ ์๋ต(Response)๋ผ๊ณ ํ๋ ๊ฒ์ด์์. ์น์์ ์๋ก๊ณ ์นจ(ํ๋ฉด์ ํ) ์์ด ์ด๋ฃจ์ด์ง๋ ๋์๋ค์ ๋๋ถ๋ถ ๋น๋๊ธฐ ํต์ ์ผ๋ก ์ด๋ค์ง๋ ๊ฒ..
2022.03.11 -
[Spring] ์์กด๊ด๊ณ ์ฃผ์ ๋ฐฉ๋ฒ
๐ ๋ชฉ์ฐจ 01. [Spring] ์คํ๋ง ํต์ฌ ์๋ฆฌ 02. [Spring] ์ข์ ๊ฐ์ฒด ์งํฅ ์ค๊ณ์ 5๊ฐ์ง ์์น (SOLID) 03. [Spring] ๊ฐ์ฒด ์งํฅ ์ค๊ณ์ ์คํ๋ง 04. [Spring] OCP์ DIP ๊ณ ๋ คํ๊ธฐ 05. [Spring] ๊ฐ์ฒด ์งํฅ ์๋ฆฌ ์ ์ฉ - ์๋ก์ด ํ ์ธ ์ ์ฑ ๊ฐ๋ฐ 06. [Spring] AppConfig ๋ฆฌํฉํฐ๋ง 07. [Spring] Ioc, DI Container 08. [Spring] ์คํ๋ง ์ปจํ ์ด๋ ์์ฑ 09. [Spring] ์ฑ๊ธํค ์ปจํ ์ด๋ 10. [Spring] Component Scan And Auto wired Start 11. [Spring] ์์กด๊ด๊ณ ์ฃผ์ ๋ฐฉ๋ฒ 12. [Spring] Bean Life Cycle Call Back 13. [Spring] Bean..
2021.10.07 -
[Spring] AppConfig ๋ฆฌํฉํฐ๋ง
์๋ ํ์ธ์? ์ฃผ๋ํ๋์ ๋๋ค. ์ฃผ๋ํ๋์ ์์์ ์ฃผ๋ฌธ, ํ์, ํ ์ธ(๊ณ ์ ํ ์ธ)์ ๋ํด์ ์์ ์๋ฐ๋ง์ ํ์ฉํด ์ด์ฌํ ๊ณต๋ถ๋ฅผ ํ๋ ๊ฒ์ด์์. ์ด๋ฒ์๋ AppCofing.java๋ฅผ ๋ฆฌํฉํฐ๋ง ํ๋ ๋ฒ์ ๋ํด์ ์๋ ค์ฃผ์ จ์ด์! ํจ๊ป ๊ณต๋ถ ํด ๋ณด์ค๊ฒ์! ๐ ๋ชฉ์ฐจ 01. [Spring] ์คํ๋ง ํต์ฌ ์๋ฆฌ 02. [Spring] ์ข์ ๊ฐ์ฒด ์งํฅ ์ค๊ณ์ 5๊ฐ์ง ์์น (SOLID) 03. [Spring] ๊ฐ์ฒด ์งํฅ ์ค๊ณ์ ์คํ๋ง 04. [Spring] OCP์ DIP ๊ณ ๋ คํ๊ธฐ 05. [Spring] ๊ฐ์ฒด ์งํฅ ์๋ฆฌ ์ ์ฉ - ์๋ก์ด ํ ์ธ ์ ์ฑ ๊ฐ๋ฐ 06. [Spring] AppConfig ๋ฆฌํฉํฐ๋ง 07. [Spring] Ioc, DI Container 08. [Spring] ์คํ๋ง ์ปจํ ์ด๋ ์์ฑ 09. [Spring] ์ฑ๊ธ..
2021.09.30 -
[Spring] ๊ฐ์ฒด ์งํฅ ์๋ฆฌ ์ ์ฉ - ์๋ก์ด ํ ์ธ ์ ์ฑ ๊ฐ๋ฐ
์๋ ํ์ธ์? ์ฃผ๋ํ๋์ ๋๋ค. ์ฃผ๋ํ๋์ ์์์ ์ฃผ๋ฌธ, ํ์, ํ ์ธ(๊ณ ์ ํ ์ธ)์ ๋ํด์ ์์ ์๋ฐ๋ง์ ํ์ฉํด ์ด์ฌํ ๊ณต๋ถ๋ฅผ ํ๋ ๊ฒ์ด์์. ์ด๋ฒ์๋ ๊น์ํ ๊ฐ์ฌ๋๊ป์ ํ ์ธ์์ ์ ๋ฅ ํ ์ธ์ ํ๋ ์ ์ฑ ์ ๋ง๋๋ ๋ฒ์ ๋ํด์ ์๋ ค์ฃผ์ จ์ด์! ํจ๊ป ๊ณต๋ถ ํด ๋ณด์ค๊ฒ์! ๐ ๋ชฉ์ฐจ 01. [Spring] ์คํ๋ง ํต์ฌ ์๋ฆฌ 02. [Spring] ์ข์ ๊ฐ์ฒด ์งํฅ ์ค๊ณ์ 5๊ฐ์ง ์์น (SOLID) 03. [Spring] ๊ฐ์ฒด ์งํฅ ์ค๊ณ์ ์คํ๋ง 04. [Spring] OCP์ DIP ๊ณ ๋ คํ๊ธฐ 05. [Spring] ๊ฐ์ฒด ์งํฅ ์๋ฆฌ ์ ์ฉ - ์๋ก์ด ํ ์ธ ์ ์ฑ ๊ฐ๋ฐ 06. [Spring] AppConfig ๋ฆฌํฉํฐ๋ง 07. [Spring] Ioc, DI Container 08. [Spring] ์คํ๋ง ์ปจํ ์ด๋ ์์ฑ 09. [S..
2021.09.29