TIL, WIL/TIL๐ (81) ์ธ๋ค์ผํ ๋ฆฌ์คํธํ 12. 03 TIL : ๋ฐ๋ธ์์์ ์นดํ์นด ์นดํ์นด ์ปค๋ฅํธ ๊ณต์ ์ปดํฌ๋ํธ ์ค ํ๋ ์ปค๋ฅํธ์ ์ปค๋ฅํฐ 1. ์นดํ์นด ์ปค๋ฅํธ ์ปค๋ฅํฐ๋ฅผ ๋์ํ๋๋ก ์คํํด์ฃผ๋ ํ๋ก์ธ์ค * ์ปค๋ฅํธ๋ฅผ ์คํํ๊ธฐ ์ํด ๋จผ์ ์คํ๋์ด์ผ ํ๋ค 1-1) ๋จ์ผ ์คํ ์ปค๋ฅํธ 1-2) ๋ถ์ฐ ์คํ ์ปค๋ฅํธ, ์นดํ์นด ์ปค๋ฅํธ ํด๋ฌ์คํฐ 2๊ฐ ์ด์์ ์ปค๋ฅํธ๊ฐ ํ๋์ ํด๋ฌ์คํฐ๋ก ๋ฌถ์ธ ํํ : ์ปค๋ฅํธ ์ฅ์ ์ ๋์ํ ์ ์๋ค ~ ์ค์ง์ ์ผ๋ก ์์ฉ์ ์ฌ์ฉํ ์ ์๋ค 2. ์นดํ์นด ์ปค๋ฅํฐ ์ปค๋ฅํฐ๋ ๋ฐ์ดํฐ๋ฅผ ์ค์ง์ ์ผ๋ก ์ฒ๋ฆฌํ๋ ์ฝ๋๊ฐ ๋ด๊ธด jar ํจํค์ง์ ๊ฐ๋ค. ํ์ดํ๋ผ์ธ์ ํ์ํ ๋ฉ์๋ ๋ฑ์ด ํฌํจ๋์ด ์๋ค => ํ ํฝ์์ DB๋ก ๋ฐ์ดํฐ๋ฅผ ๋ณด๋ด๊ณ ์ถ์ ๋ ์ปค๋ฅํฐ์ insert ๋ฉ์๋๋ฅผ ๊ตฌํํด ์ปค๋ฅํฐ๋ฅผ ์คํํ๋ค 2-1) ์ฑํฌ ์ปค๋ฅํฐ : ํน์ ํ ํฝ์ ๋ฐ์ดํฐ๋ฅผ DB์ ์ ์ฅํ๋ ์ญํ , ์ปจ์๋จธ์ ๊ฐ์ ์ญํ 2-2) ์์ค ์ปค๋ฅ.. 11. 30 TIL : Runtime Exception - Runtime Exception์ ๋ํด ** ๊ฐ์ด Null์ธ ๊ฒ์ด Null Pointer Exception ๋ฐ์๋ณด๋ค ์ผ๋ฐ์ ์ผ๋ก ๋ซ๋ค = ์์ธ๋ ๋ค๋ฅธ ๋ก์ง์ผ๋ก ์ด๋ป๊ฒ ์ ์ด๋ ์ง ์ ์๊ฐ ์๋ค ** ๊ฐ์ด null์ผ ์๋ ์๋ ํ ๋น ์, try - catch ๋ฌธ์ผ๋ก ๊ฐ์ธ์ฃผ๋ฉด ์ข๋ค ๊ทธ๋์ String a = b + " ";๋ณด๋ค String a = String.valueOf(b);์ด ๋ซ๋ค ( " "๋ก ๋ฌธ์์ด ํ ๋นํ๋ ๊ฑด Null Pointer Exception์ด ๋ฐ์ํ ์ ์๊ณ , String.valueOf()์ ๊ฒฝ์ฐ null์ด๋ฉด ์์ธ๊ฐ ๋ฐ์ํ์ง ์๊ณ ๊ทธ๋๋ก null๋ก ๊ฐ์ด ํ ๋น๋๋ค) + ์ถ๊ฐ๋ก.. String a = String.valueOf(b != null ? b : "default");๋ก null์ผ ๊ฒฝ์ฐ.. 11. 29 TIL : ๋ฐ๋ธ์์์ ์นดํ์นด + SQL ํ์ด ์ค WHERE IN ์นดํ์นด ์คํธ๋ฆผ์ฆ ์นดํ์นด์์ ์ง์ํ๋ ์๋ฐ ๋ผ์ด๋ธ๋ฌ๋ฆฌ JVM ๊ธฐ๋ฐ ์ธ์ด(์๋ฐ, ์ค์นผ๋ผ, ์ฝํ๋ฆฐ) ์ค ํ๋๋ก ์ ํํด ๊ฐ๋ฐ์ด ๊ฐ๋ฅํ๋ค * ์นดํ์นด์ ์๋ฒฝํ ํธํ๋๋ค ~ ์คํํฌ, ๋ก๊ทธ ์คํ์๋ฅผ ๋ง์ด ์ฌ์ฉํ์ง๋ง ์ด๋ ์นดํ์นด์ ์ ๋ฐ์ดํธ ์๋๋ฅผ ๋ง์ถ์ง ๋ชปํ ์ ์๋ค * ์ค์ผ์ค๋ง ๋๊ตฌ๊ฐ ํ์ํ์ง ์๋ค ์คํํฌ ์คํธ๋ฆฌ๋ฐ, ์คํํฌ ๊ตฌ์กฐ์ ์คํธ๋ฆฌ๋ฐ์ ์ฌ์ฉํด ์ด๋ฒคํธ ๋ฐ์ดํฐ ์ ํ๋ฆฌ์ผ์ด์ ์ ๋ง๋๋ ๊ฒ ์ผ๋ฐ์ ์ด๋, yarn์ด๋ mesos์ ๊ฐ์ ํด๋ฌ์คํฐ ๊ด๋ฆฌ์, ๋ฆฌ์์ค ๋งค๋์ ๊ฐ ํ์ํ๋ค. ๋ํ ํด๋ฌ์คํฐ๋ฅผ ์ด์ํ๊ธฐ์ํ ๋๊ท๋ชจ ์ฅ๋น๊ฐ ํ์ํ๋ค => ์ํ๋ ๋งํผ ๋ฐฐํฌ๊ฐ ๊ฐ๋ฅํ๋ค * ์คํธ๋ฆผ์ฆDSL๊ณผ ํ๋ก์ธ์ API๋ฅผ ์ ๊ณตํ๋ค ์ผ๋ฐ์ ์ผ๋ก ์คํธ๋ฆผ์ฆ๋ฅผ ๊ตฌํํ ๋ ์คํธ๋ฆผ์ฆDSL๋ฅผ ์ฌ์ฉํ๋ค - ์ด๋ฒคํธ ๊ธฐ๋ฐ ๋ฐ์ดํฐ ์ฒ๋ฆฌ์ map, join, windo.. 11. 23 TIL : GROUP BY + ์ฝ๊ฐ์ JQuery ๋ฐ JSTL https://school.programmers.co.kr/questions/38703 ํ๋ก๊ทธ๋๋จธ์ค ์ฝ๋ ์ค์ฌ์ ๊ฐ๋ฐ์ ์ฑ์ฉ. ์คํ ๊ธฐ๋ฐ์ ํฌ์ง์ ๋งค์นญ. ํ๋ก๊ทธ๋๋จธ์ค์ ๊ฐ๋ฐ์ ๋ง์ถคํ ํ๋กํ์ ๋ฑ๋กํ๊ณ , ๋์ ๊ธฐ์ ๊ถํฉ์ด ์ ๋ง๋ ๊ธฐ์ ๋ค์ ๋งค์นญ ๋ฐ์ผ์ธ์. programmers.co.kr ์ฆ๊ฒจ์ฐพ๊ธฐ๊ฐ ๊ฐ์ฅ ๋ง์ ์์ฅ ์ ๋ณด ์ถ๋ ฅํ๊ธฐ ๋ฌธ์ ์์ GROUP BY ํจ์๊ฐ ์๋ํ๋ ๋ฐฉ์์ ๋ํ ์ค๋ช + SQL์์ GROUP BY๋ฅผ ์ฌ์ฉํ์ ๋ ์นผ๋ผ ์ค์ ํน์ ์นผ๋ผ์ MAX ๋ฑ ์ฐ์ฐ์ ํ๊ณ ๋ค๋ฅธ ์นผ๋ผ์ ๋ํด ๋ณ๋ค๋ฅธ ์ง์ ์ ํ์ง ์์ ๊ฒฝ์ฐ, ๋ค๋ฅธ ์นผ๋ผ์ ๋ํด์ MAX๋ฅผ ์ ์ฉํ์ง ์๊ณ , ๊ทธ๋ฃน์ ๋ค๋ฅธ ์นผ๋ผ์ ์์๋ก ํ์ํ๋ค. ๊ทธ๋ฌ๋ฏ๋ก ํด๋น ์ปฌ๋ผ์ ํ์๋๋ ROW๋ ์์๋ก ์กฐํก๋ ROW์ด๋ฏ๋ก ์ฟผ๋ฆฌ ๊ฒฐ๊ณผ๊ฐ ํผ๋๋๋ค. => ์๋ธ์ฟผ๋ฆฌ.. 11. 22 TIL : SQL ์ฟผ๋ฆฌ & Spring vs Spring Boot ์ฟผ๋ฆฌ : DISTINCT์ COUNT๋ฅผ ํจ๊ป ์ฌ์ฉํ๋ ๊ฒฝ์ฐ => COUNT(DISTINCT ํน์ ์ปฌ๋ผ)์ผ๋ก ์นด์ดํ ํ ๋, ํน์ ์ปฌ๋ผ์ NULL์ ์๋์ผ๋ก ๋ฌด์ํ๋ค https://jjeongil.tistory.com/2131 Spring Boot : Spring, Spring MVC์ ์ฐจ์ด์ , ์ค๋ช , ๊ฐ์ Spring vs Spring Boot ์คํ๋ง: ์คํ๋ง ํ๋ ์์ํฌ๋ Java์ ๊ฐ์ฅ ์ธ๊ธฐ ์๋ ์ ํ๋ฆฌ์ผ์ด์ ๊ฐ๋ฐ ํ๋ ์์ํฌ์ ๋๋ค. ์คํ๋ง ํ๋ ์์ํฌ์ ์ฃผ์ ๊ธฐ๋ฅ์ ์ข ์์ฑ ์ฃผ์ ๋๋ ์ ์ด ๋ฐ์ (IoC)์ ๋๋ค. Spring Framewo jjeongil.tistory.com 11. 06 TIL - ์ปฌ๋ผ ์ ์์ ๋ฐ ์์ฑ ์ ์์ - ๋์ ์ฐจ์ด ๊ณต๋ถํ๊ธฐ SQL ๋ฌธ์ ํ์ด https://school.programmers.co.kr/learn/courses/30/lessons/59037 ํ๋ก๊ทธ๋๋จธ์ค ์ฝ๋ ์ค์ฌ์ ๊ฐ๋ฐ์ ์ฑ์ฉ. ์คํ ๊ธฐ๋ฐ์ ํฌ์ง์ ๋งค์นญ. ํ๋ก๊ทธ๋๋จธ์ค์ ๊ฐ๋ฐ์ ๋ง์ถคํ ํ๋กํ์ ๋ฑ๋กํ๊ณ , ๋์ ๊ธฐ์ ๊ถํฉ์ด ์ ๋ง๋ ๊ธฐ์ ๋ค์ ๋งค์นญ ๋ฐ์ผ์ธ์. programmers.co.kr 1) WHERE NOT ์ผ๋ก ํ์ดํ๊ธฐ 2) NOT EXISTS๋ก ํ์ดํ๊ธฐ 10. 30 TIL : ์ฟผ๋ฆฌ SQL ์ฟผ๋ฆฌ ์กฐ๊ฑด๋ฌธ ์ค.. AND EXISTS (SELECT '1' FROM TABLE b WHERE a.id = b.id) ๋์ ์ฟผ๋ฆฌ + ์๋ธ์ฟผ๋ฆฌ๋ก ์กฐํํ ๊ฐ์ด ์กด์ฌํ๋ ๊ฒฝ์ฐ, ์กฐ์ธํ ๊ฒ๊ณผ ๊ฐ์ ํจ๊ณผ๋ฅผ ๋ด๋๋ฐ, group by๋ก ๊ทธ๋ฃนํํ๋ ๊ฒ๋ณด๋ค ์ฟผ๋ฆฌ ์๋๊ฐ ๋ง๋ ์๋๊ฒ ๋นจ๋ผ์ง https://gent.tistory.com/506 [MSSQL] EXISTS, NOT EXISTS ์ฌ์ฉ๋ฒ ์ฝ๊ฒ ์ ๋ฆฌ SQL Server์์ EXISTS ์ฐ์ฐ์๋ ์๋ธ์ฟผ๋ฆฌ์ ๋ฐ์ดํฐ๊ฐ ์กด์ฌํ๋์ง ์ฒดํฌํ๊ณ ์กด์ฌํ ๊ฒฝ์ฐ TRUE๋ฅผ ๋ฐํํ๋ฉฐ, ๋ํ์ ์ผ๋ก EXISTS ๊ตฌ๋ฌธ๊ณผ NOT EXISTS ๊ตฌ๋ฌธ์ด ์๋ค. EXISTS ์ฐ์ฐ์๋ IN ์ฐ์ฐ์์ ๋น์ทํ ์ฉ๋๋ก ์ฌ gent.tistory.com 10. 17 TIL : ์ฟผ๋ฆฌ xml ํ์ผ์์ ์ฟผ๋ฆฌ๋ฅผ ์์ฑํ ๋ ์๋ฐ์์ ๋ฉค๋ฒ ๋ณ์๋ฅผ ์ ์ธํ๋ ๊ฒ๊ณผ ๊ฐ์ด ํด๋น xml ์ ์ฒด์์ ์ฌ์ฉ ๊ฐ๋ฅํ๊ฒ ์ ์ธ ๋ฐ ์ฌ์ฉํ๋ ๋ฐฉ๋ฒ 1. ์ ์ธ ID as ID, .... 2. ์ฌ์ฉ select from table where ID = #{id} ์ด์ 1 2 3 4 5 6 7 8 ยทยทยท 11 ๋ค์