๋ณธ๋ฌธ ๋ฐ”๋กœ๊ฐ€๊ธฐ

728x90

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}

728x90