21.04.15) ์˜ค๋Š˜์˜ ๊ธฐ๋ก - ๋‚ ๋›ฐ๋Š” ํŒฌ์†Œ์Œ๊ณผ Google Chrome Helper

์ž‘์—…์„ ํ• ๋•Œ ์ด๊ฒƒ์ €๊ฒƒ ๋งŽ์ด ์ผœ๋‘๊ธด ํ•˜์ง€๋งŒ, ๊ทธ๋ž˜๋„ ํŠน๋ณ„ํžˆ ๋นŒ๋“œ ๋Œ๋ฆด๋•Œ ์•„๋‹ˆ๋ฉด ํŒฌ์ด ๋ฏธ์ณ ๋‚ ๋›ฐ์ง€ ์•Š๋Š”๋ฐ, ์˜ค๋Š˜์€ ์œ ๋‚œํžˆ ๊ณ„์†ํ•ด์„œ ๋งฅ์ด ์ด๋ฅ™ํ•˜๋ ค ๋‚ ๋›ฐ์—ˆ๋‹ค. ํ•ด๊ฒฐํ›„ ์บก์ณํ•œ๊ฑฐ๋ผ ๋ณด์ด์ง€ ์•Š์ง€๋งŒ, ๋ฌธ์ œ์˜ Google Chrome Helper (Renderer)๊ฐ€ CPU๋ฅผ ๋ฏธ์นœ๋“ฏ์ด ๋จน๊ณ ์žˆ์—ˆ๋‹ค. Chrome Menu → Window → Task Manager ๋กœ ์ง„์ž…ํ•ด ํ™•์ธํ•ด๋ณด๋‹ˆ, ๋ณดํ†ต ์ผ๋ถ€ ํฌ๋กฌ ํ”Œ๋Ÿฌ๊ทธ์ธ์ด ๋ฆฌ์†Œ์Šค๋ฅผ ์žก์•„๋จน๊ธฐ๋„ ํ•œ๋‹ค๋Š”๋ฐ, ๋‚œ ํฌ๋กฌ ํƒญ์ค‘์— ํŠน์ • Grafana ํŽ˜์ด์ง€๊ฐ€ ๋ฌด์Šจ ๋น„ํŠธ์ฝ”์ธ ์ฑ„๊ตด๋งˆ๋ƒฅ ๋ฆฌ์†Œ์Šค๋ฅผ ๋‹ค ๋จน๊ณ ์žˆ์—ˆ๋‹ค. (๊ทธ๋ž˜ํ”„๊ฐ€ ์ข€ ๋งŽ๊ธด ํ•˜๋”๋งŒ์€...) ์ข…๋ฃŒ์‹œ์ผœ์ฃผ๋‹ˆ ์ด์ œ์•ผ ๋งฅ์ด ์ข€ ์‰ฐ๋‹ค,, ๊ณ ์ƒ์‹œ์ผœ์„œ ๋ฏธ์•ˆ ๐Ÿ˜ข

Daily.log 2021. 4. 15. 21:58
๋น„์ „๊ณต์ž๋ฅผ ์œ„ํ•œ ๊ฐœ๋ฐœ ์ž…๋ฌธ ์ •๋ณด

๋ฐฐ๊ฒฝ ์•„์ง ๋‚ด ์•ž๊ฐ€๋ฆผ๋„ ์ œ๋Œ€๋กœ ๋ชปํ•˜๋Š” ๋ณ‘์•„๋ฆฌ ์‹ ์ž… ๊ฐœ๋ฐœ์ž์ด์ง€๋งŒ, ๊ณ ๋“ฑํ•™๊ต 3๋…„๋™์•ˆ ํฌ๋ง์ง์—…์ด ๊ต์‚ฌ์ผ ๋งŒํผ ๋‚˜๋Š” ์ง€์‹ ์ „ํŒŒ์™€ ํ•™์Šต๋ฒ• ๊ณต์œ  ๋“ฑ์— ๊ฝค๋‚˜ ์žฌ๋ฏธ๋ฅผ ๋Š๋‚€๋‹ค ๋‚˜๋„ ์ถœ๋ฐœ์ด ๋น„์ „๊ณต์ž๋ผ์„œ ์ฃผ๋ณ€์— ์ธ๋งฅ๋„ ์—†๊ณ  ์ •๋ณด์˜ ๊ฐ€๋ญ„ ์†์—์„œ ์˜ค๋ž˜ ๊ณ ์ƒํ–ˆ๋˜ ๊ฒฝํ—˜์ด ์žˆ๊ธฐ์—, ์ด๋Ÿฐ ๋ถ€๋ถ„๋“ค์— ๋” ์ง‘์ฐฉํ•˜๋Š” ๊ฒฝํ–ฅ์ด ์žˆ๋Š”๊ฒƒ ๊ฐ™๊ธฐ๋„ ํ•˜๋‹ค ๊ฐœ๋ฐœ์— ์–ด๋–ค ๋ถ„์•ผ๋“ค์ด ์žˆ๋Š”์ง€, ๊ฐ๊ฐ์€ ์–ด๋–ค ํŠน์ง•๊ณผ ์žฅ๋‹จ์ ์„ ๊ฐ–๋Š”์ง€, ์–ด๋–ค ๊ณต๋ถ€๋ฅผ ์–ด๋–ป๊ฒŒ ํ•ด์•ผํ•˜๋Š”์ง€ ๋“ฑ ์—ด์‹ฌํžˆ ์ธํ„ฐ๋„ท ์„œ์นญ์„ ํ•˜์ง€๋งŒ ์œ ์šฉํ•œ ์ •๋ณด๋ฅผ ์–ป๊ธด ํž˜๋“ค๊ณ  (์ฃผ๋กœ ๋‚˜์˜ค๋Š”๊ฑด ํ•™์› ๊ด‘๊ณ ๋“ค๋ฟ..), ์ธ๊ฐ•์„ ๋‹จ์ˆœ๋ฌด์‹ํ•˜๊ฒŒ ์™ธ์šฐ๋Š” ๋“ฑ ๋น„ํšจ์œจ์ ์œผ๋กœ ํ•™์Šต์„ ์‚ฝ์งˆํ–ˆ๋˜ ๋•Œ๋ฅผ ๊ธฐ์–ตํ•˜๋ฉด, ์ง€๊ธˆ๋„ ์† ์“ฐ๋ฆฌ๊ณค ํ•œ๋‹ค ์ง€๊ธˆ๋„ ๊ฐ€๋”๊ฐ€๋‹ค Collection ํ”„๋ ˆ์ž„์›Œํฌ ๋ฉ”์„œ๋“œ ์ข…๋ฅ˜๋ฅผ ์ข…์ด์— ์จ๊ฐ€๋ฉฐ ํ•™์Šตํ•˜์‹œ๋Š” ๋ถ„์„ ๋ณด๋ฉด, ๋งˆ์Œ ํ•œ์ผ ์ด..

Etc 2021. 2. 15. 21:00
JPA์˜ ์‚ฌ์‹ค๊ณผ ์˜คํ•ด (์‚ฌ์‹ค์€ JPQL๊ณผ Fetch Join์˜ ์˜คํ•ด)

JPA์˜ ์‚ฌ์‹ค๊ณผ ์˜คํ•ด (์‚ฌ์‹ค์€ JPQL๊ณผ Fetch Join์˜ ์˜คํ•ด) 20.05.25 JPA ์Šคํ„ฐ๋”” ํ•˜๋ฉฐ ๊นจ๋‹ซ๊ฒŒ ๋œ ์˜คํ•ด JPA๋ฅผ ๊ฝค๋‚˜ ์˜ค๋ž˜ ์จ์™”๋Š”๋ฐ(๊ทธ๋ž˜๋ดค์ž 1๋…„์ด๊ธด ํ•˜์ง€๋งŒ), ์ด๋ฒˆ์— ์Šคํ„ฐ๋””๋ฅผ ํ•˜๋ฉฐ ํฌ๊ฒŒ ์ž˜๋ชป ์•Œ๊ณ  ์žˆ๋˜ ๊ฐœ๋… ๋ช‡๊ฐ€์ง€๋ฅผ ์ •์ •ํ•˜๊ณ , ์Šค์Šค๋กœ ๋ถ€๋„๋Ÿฝ๊ธฐ๋„ ํ•˜๊ณ  ๋‚˜๋ฆ„์˜ ์ปฌ์ณ์‡ผํฌ๋ฅผ ๋ฐ›์•˜๋‹ค. 1. N+1์€ ์—ฐ๊ด€ ์—”ํ‹ฐํ‹ฐ๊ฐ€ Collection์ธ์ง€๊ฐ€ ์ค‘์š”ํ•œ๊ฒŒ ์•„๋‹ˆ๋‹ค. ( ์ฃผ์˜ - JPQL ๊ธฐ์ค€, SQL X ) ์‚ฌ์‹ค ์™œ (๋‹น์‹œ ์Šคํ„ฐ๋””ํ•˜๋˜) ์šฐ๋ฆฌ ๋ชจ๋‘๊ฐ€ N+1 ๋ฌธ์ œ๋ฅผ ์—ฐ๊ด€ ์—”ํ‹ฐํ‹ฐ์˜ ์ปฌ๋ ‰์…˜ ์—ฌ๋ถ€์™€ ๊ด€๋ จ์ง€์–ด ์ƒ๊ฐํ•ด์™”๋˜ ๊ฑด์ง€ ๋ชจ๋ฅด๊ฒ ๋‹ค. ๋Œ€๋ถ€๋ถ„์˜ ๊ต์žฌ๋‚˜ ๋งํฌ๋“ค์—์„œ Member -* Orders ์™€ ๊ฐ™์€ ์ผ๋Œ€๋‹ค์˜ ๊ด€๊ณ„๋ฅผ ์˜ˆ์‹œ๋กœ ๋“ค๋ฉฐ ์„ค๋ช…ํ•˜๊ธฐ ๋•Œ๋ฌธ์ผ๊นŒ. ๋‚˜๋Š” ์ด์ œ๊นŒ์ง€ N+1 ์ด member.getOrders() ์˜ ์ปฌ๋ ‰..

DB, JPA, SQL 2020. 5. 25. 23:12
์šฐ์•„ํ•œ ํ…Œํฌ์ฝ”์Šค) Lv4 [ํŒ€ ํ”„๋กœ์ ํŠธ] ์ •๋ฆฌ, ํ›„๊ธฐ

Lv4 : ํŒ€ ํ”„๋กœ์ ํŠธ -> https://github.com/eattogether/hey-together -> ํŒ€ ์œ„ํ‚ค ์š”๊ตฌ์‚ฌํ•ญ ์ง€์†์  ํ†ตํ•ฉ (๋ชจ๋“  ํ…Œ์ŠคํŠธ ํ†ต๊ณผํ• ๋•Œ๋งŒ ๋ฐฐํฌ, ํ…Œ์ŠคํŠธ ์ปค๋ฒ„๋ฆฌ์ง€ 80%, ํ’ˆ์งˆ ๊ธฐ์ค€ ํ†ต๊ณผ(์ •์  ๋ถ„์„ ๋„๊ตฌ ์ด์šฉ))์„ ์ ์šฉํ•ด ์ผ์ • ๊ธฐ์ค€์ด ๋„˜๋Š” ํ™˜๊ฒฝ์œผ๋กœ ๋ฐฐํฌ Spring Rest Docs๋ฅผ ์ด์šฉํ•ด API ๋ฌธ์„œํ™” ํ”„๋ก ํŠธ๋Š” ํ”„๋ ˆ์ž„์›Œํฌ๋ฅผ ์‚ฌ์šฉํ•˜๊ธฐ๋ณด๋‹ค ๋ฐ”๋‹๋ผ JS ๊ธฐ๋ฐ˜์œผ๋กœ ๊ฐœ๋ฐœํ•˜๋Š”๊ฒŒ ์–ด๋–จ๊นŒ? ์ธ์ฆ์€ OAuth2๋ฅผ ๊ธฐ๋ฐ˜์œผ๋กœ ํ•˜๋ฉด ์–ด๋–จ๊นŒ? ๋‹จ Spring Security ์‚ฌ์šฉX ์ธ์ฆ์„ ์ œ์™ธํ•˜๊ณ  ์ตœ์†Œ ํ•˜๋‚˜ ์ด์ƒ์˜ ์™ธ๋ถ€ API์™€ ์—ฐ๋™ ์„ฑ๋Šฅ์„ ๋†’์ด๊ธฐ ์œ„ํ•ด ์ž์ฃผ ์‚ฌ์šฉํ•˜์ง€(๋ณ€ํ•˜์ง€) ์•Š๋Š” ๋ฐ์ดํ„ฐ์— ๋Œ€ํ•ด (๋ฐฑ์—”๋“œ ๋ถ€๋ถ„์—) Cache๋ฅผ ์ ์šฉ REST ์›์น™์„ ์ง€ํ‚ค๋ฉฐ ๊ฐœ๋ฐœ (์ฐธ๊ณ ๋งํฌ) Docker ๊ฒฝํ—˜ ๊ธฐ๋Šฅ ..

2020) 2019๋…„ ํšŒ๊ณ  + 2020๋…„ ๊ณ„ํš

2019๋…„ ํšŒ๊ณ  ~3์›” ํ•™๊ต ๋ง‰ํ•™๊ธฐ๋ฅผ ์•ž๋‘๊ณ  ๋ฐฉํ–ฅ์„ ๋ฌด์ฒ™ ๊ณ ๋ฏผํ–ˆ๋˜ ์‹œ๊ธฐ. ๋ฐฉํ•™์ด๋ผ ์‹œ๊ฐ„์€ ๋งŽ๊ณ  "๋ฌด์—‡์„ ์–ด๋–ป๊ฒŒ ๊ณต๋ถ€ํ•ด์•ผํ• ์ง€"๋Š” ๋ชฐ๋ผ์„œ, ๋ฌด์‹ํ•œ ๋ฐฉ๋ฒ•์œผ๋กœ ์ฑ…์ด๋‚˜ ์ธ๊ฐ•์„ ๋“ค์–ด๋Œ€๋ฉฐ ์‹œ๊ฐ„์„ ๋ณด๋ƒˆ๋‹ค. (๋ฌผ๋ก  ๋‚˜์ค‘์—๋ณด๋‹ˆ ๋‹ค ๋„์›€๋ฌ์ง€๋งŒ) ์›์ธ์€ ๊ฐœ๋ฐœ๋กœ ์ „ํ–ฅํ•œ์ง€ ์–ผ๋งˆ ์•ˆ๋œ ์‹œ๊ธฐ์˜€๊ณ , ์ œ๋Œ€๋กœ ๊ฒฝํ—˜ํ•ด๋ณธ๊ฑด ๊ทธ๋‚˜๋งˆ ์•ˆ๋“œ๋กœ์ด๋“œ, ํ”„๋ก ํŠธ๋Š” ์ทจํ–ฅ์•„๋‹Œ๊ฒƒ๊ฐ™๊ณ , ๋ฐฑ์—”๋“œ๋Š” ๊ฒฝํ—˜ํ•ด๋ณด์ง€๋ชปํ•œ ๋ถ„์•ผ์— ๋Œ€ํ•œ ๋ง‰์—ฐํ•œ ๋‘๋ ค์›€. ์–ด๋Š๊ธธ๋กœ ๋‚˜์•„๊ฐ€์•ผํ• ์ง€ ๋ฐฉํ–ฅ์„ ๋ชป ์žก๊ณ  ์žˆ์—ˆ๋‹ค. ๊ฐœ๋ฐœ ํ”„๋กœ๊ทธ๋žจ/๋™์•„๋ฆฌ๋‚˜ ์ธํ„ด๋„ ๋ช‡๊ตฐ๋ฐ ๋„ฃ์—ˆ๋‹ค. ๋ชจ๋‘ ๋ฉด์ ‘์—์„œ ํƒˆ๋ฝ. ์ตœํƒˆ์˜ ์•„ํ””์— ๋Œ€ํ•ด ์•Œ๊ฒŒ๋ฌ๋‹ค. ์‰ฝ๊ฒŒ๋ณด๊ณ  ๊ฒฝํ—˜์‚ผ์•„ ์ง€์›ํ–ˆ๋˜ ํšŒ์‚ฌ๋“ค์— ๊ด‘ํƒˆํ•˜๋‹ˆ ์ž์กด๊ฐ์ด ๋ฌด์ฒ™ ํ•˜๋ฝํ–ˆ๋‹ค. 4~11์›” ์ง€์›ํ•œ ๋ช‡๊ตฐ๋ฐ์— ํƒˆ๋ฝํ•˜๊ณ  ์กฐ์šฉํžˆ ๋ง‰ํ•™๊ธฐ ์ˆ˜์—…์ด๋‚˜ ๋“ค์œผ๋ฉฐ ๊ณต๋ถ€๋ฅผ ๋ณ‘ํ–‰ํ•˜๊ธฐ๋กœ ํ–ˆ๋‹ค. ๊ทธ๋Ÿฌ๋˜์ค‘ ์šฐํ…Œ์ฝ” ๊ณต๊ณ ๊ฐ€..

Daily.log 2020. 1. 8. 22:49
JPA ์–‘๋ฐฉํ–ฅ ์—ฐ๊ด€๊ด€๊ณ„ Entity ๊ฐ’ ์ €์žฅ

์˜ค๋Š˜ ํ”„๋กœ์ ํŠธ์—์„œ ์ฃผ์š” ๋„๋ฉ”์ธ ๋ชจ๋ธ๋“ค์˜ ๊ตฌ์กฐ๋ฅผ ์žก๊ณ  ์—ฐ๊ด€๊ด€๊ณ„๋ฅผ ๋งคํ•‘ํ•˜๋Š” ๊ณผ์ •์—์„œ ์‚ฝ์งˆ๋กœ ๋งŽ์€ ์‹œ๊ฐ„์„ ์†Œ๋ชจํ•ด, "๋‹น์—ฐํ•˜์ง€๋งŒ" ๋‹ค์‹œํ•œ๋ฒˆ ๊นจ๋‹ฌ์€ ์‚ฌ์‹ค์„ ์ •๋ฆฌํ•˜๊ณ  ๊ธฐ๋กํ•ด๋ณด๊ธฐ๋กœ ํ–ˆ๋‹ค. ๋ฐฐ๊ฒฝ ์ƒํ™ฉ์€ ๋น„์Šทํ•œ ์˜ˆ์‹œ๋กœ ๋“ค์–ด๋ณด๋ฉด, ๊ฐ€์žฅ ์ดํ•ดํ•˜๊ธฐ ์‰ฌ์šด ๊ฒŒ์‹œ๊ธ€(Article) - ๋Œ“๊ธ€(Comment)์˜ ๊ด€๊ณ„๋ฅผ ์„ค์ •ํ•ด๋ณด์ž. Article(์ผ) - Comment(๋‹ค)์˜ ์ผ๋Œ€๋‹ค/๋‹ค๋Œ€์ผ ์–‘๋ฐฉํ–ฅ ์—ฐ๊ด€๊ด€๊ณ„ ์ƒํƒœ์ด๋‹ค. (๋ฌผ๋ก  ์ผ๋Œ€๋‹ค๋Š” ๊ฐ€๊ธ‰์  ์ž์ œํ•˜๊ณ  ๋‹ค๋Œ€์ผ๋งŒ ๋งคํ•‘ํ•˜๋Š”๊ฒŒ best practice์ด์ง€๋งŒ, ์–‘๋ฐฉํ–ฅ์ด ๊ผญ ํ•„์š”ํ•œ ์ƒํ™ฉ์ด๋ผ๊ณ  ๊ฐ€์ •ํ•ด๋ณด์ž) ์ƒํ™ฉ์— ๋”ฐ๋ฅธ, ์–‘๋ฐฉํ–ฅ ์—ฐ๊ด€๊ด€๊ณ„ Entity ๊ฐ’ ์ €์žฅ ๋ฐฉ์‹ ์–‘๋ฐฉํ–ฅ ์—ฐ๊ด€๊ด€๊ณ„ Entity๋ฅผ saveํ•˜๋ฉด์„œ, ๋‹น์—ฐํ•œ๊ฑด๋ฐ ํฐ ๊ทธ๋ฆผ์™€ ๋ฐฉํ–ฅ์„ ๋†“์น˜๊ณ  ์žˆ์—ˆ๋‹ค. ์ •๋ฆฌํ•ด๋ณด๋ฉด ๋‹ค์Œ๊ณผ ๊ฐ™๋‹ค. Article์€ ๋‘˜์งธ์น˜๊ณ ..

DB, JPA, SQL 2019. 12. 19. 00:46
๊ณต์ง€์‚ฌํ•ญ
์ตœ๊ทผ์— ์˜ฌ๋ผ์˜จ ๊ธ€
์ตœ๊ทผ์— ๋‹ฌ๋ฆฐ ๋Œ“๊ธ€
Total
Today
Yesterday
๋งํฌ
ยซ   2024/11   ยป
์ผ ์›” ํ™” ์ˆ˜ ๋ชฉ ๊ธˆ ํ† 
1 2
3 4 5 6 7 8 9
10 11 12 13 14 15 16
17 18 19 20 21 22 23
24 25 26 27 28 29 30
๊ธ€ ๋ณด๊ด€ํ•จ