๋ด์ผ๋ฐฐ์์บ ํ91 [ TIL ] ์ต์ข ํ๋ก์ ํธ_Day 10 ์ค๋ ์งํํ ๋ด์ฉ๋ค ๐ง ์ต๊ทผ ๊ฒ์ ๊ธฐ๋ก ์กฐํ ์ฑ๋ฅ ๊ฐ์ ์ค๋์ ์ต๊ทผ ๊ฒ์ ๊ธฐ๋ก ์กฐํ์ ์ธ๋ฑ์ค๋ ์ ์ฉํด ๋ณด๊ณ ๋ ๋์ค๋ ์ ์ฉํด ๋ณด๋ฉฐ ์ฑ๋ฅ ๊ฐ์ ์ ํ์ธํด ๋ดค๋ค.๋จผ์ ๋ณตํฉ ์ธ๋ฑ์ค๋ฅผ ์ ์ฉํด์ (userId, createdAt DESC)๋ก ์ค์ ํด ์ฃผ์๊ณ , ์ฑ๋ฅ์ด ๊ฐ์ ๋๋์ง ํ์ธํด ๋ณด์๋ค. ๋ณตํฉ ์ธ๋ฑ์ค๋ฅผ ๋ค์๊ณผ ๊ฐ์ด ์ค์ ํ ์ด์ ๋ ๋ฐ์ดํฐ๋ฅผ userId๋ฅผ ํตํด ์ฐพ์์ค๊ณ ์ต๊ทผ ์ ์ฅ ๊ธฐ์ค์ผ๋ก ์์ 10๊ฐ๋ฅผ ๊ฐ์ ธ์ค๊ธฐ ๋๋ฌธ์ createdAt DESC๋ฅผ ํจ๊ป ์ค์ ํ๋ฉด ์ ๋ ฌ ํ์ ์์ด ๊ฐ์ ธ์ฌ ์ ์๋ ์ฅ์ ์ด ์๋ค.์ฑ๋ฅ์ ํ์ธํ ๊ฒฐ๊ณผ type์ด ALL์์ ref๋ก ๋ณ๊ฒฝ๋์๊ณ , Using where; Using filesort์์ Using index๋ก ๋ณ๊ฒฝ๋์๋ค. ์ค์ ์คํ ์๊ฐ๋ ์ฝ 23% ๊ฐ์ํ๋ ๊ฒ์ ํ์ธํ๋ค.ํ์ง๋ง ์ฌ๊ธฐ์.. 2025. 2. 19. [ TIL ] ์ต์ข ํ๋ก์ ํธ_Day 9 ์ค๋ ์งํํ ๋ด์ฉ๋ค ๐ง ์ ์ฒด ํ์ด์ง ์กฐํ ์ฑ๋ฅ ๊ฐ์ ํ๊ธฐ๋จ์ผ ์ธ๋ฑ์ค์ ๋ณตํฉ ์ธ๋ฑ์ค๋ฅผ ์ ์ฉํ๋ฉฐ ์ฑ๋ฅ ๊ฐ์ ์ ํ๋ค. ์ฒ์ ์ธ๋ฑ์ค๋ฅผ ์ ์ฉํ๋ ๊ฑฐ๋ผ์ ๋ง์ด ํค๋งธ๋ค.์ธ๋ฑ์ค๋ฅผ ๋ฌด์กฐ๊ฑด ํ๋ค๊ณ ์ข์์ง๋ ๊ฒ๋ ์๋์๊ณ , ํ์ํ ๊ณณ์ ์ ์ ํ๊ฒ ์ ์ฉํด์ผ ํ๋ค. ์ฌ๋๋ค์ด ๊ฐ์ฅ ๋ง์ด ์ฐพ์๋ณผ ๊ฒ ๊ฐ์ ์๊ฒฉ ์๊ฑด์ ๋จ์ผ ์ธ๋ฑ์ค๋ฅผ ์ ์ฉํ๊ณ , ๋ณตํฉ ์ธ๋ฑ์ค๋ก (์ง์ญ, ๊ณ ์ฉ ํํ, ํ๋ ฅ)์ ์ ์ฉํ๋ค. ๋ณตํฉ ์ธ๋ฑ์ค๋ ๊ฐ์ฅ ๋ง์ด ์ ํ๋๋ ์ปฌ๋ผ, ๊ฐ์ฅ ์ ํ๋๊ฐ ๋์ ์ปฌ๋ผ์ด ์ฐ์ ์์๊ฐ ๋์ด ์ผ์ชฝ์ ์์นํ๊ณ ๊ทธ ๋ค๋ก๋ ์์๋๋ก ์๊ฐํด์ ์ ์ฉํด์ผ ์ต๋ํ ์ธ๋ฑ์ค๋ฅผ ์ ์ฉํ ์ ์์๋ค. EXPLAIN๊ณผ EXPLAIN ANALYZE๋ฅผ ํ์ฉํด์ ์ฑ๋ฅ์ ํ์ธํ๊ณ , JMeter๋ฅผ ํตํด ์ฑ๋ฅ์ ํ๋ฒ ๋ ํ ์คํธํด ๋ณผ ์ ์์๋ค. ์ธ๋ฑ์ค ์ ์ฉ ํ ์บ์์ ๋ํด์๋ ๊ณ .. 2025. 2. 18. [ TIL ] ์ต์ข ํ๋ก์ ํธ_Day 5 ์ค๋ ์งํํ ๋ด์ฉ๋ค ๐ง findById( ) ๋ฉ์๋ ๊ฐ ๋๋ฉ์ธ ๋ณ๋ก ๋๋ ์ Service ํด๋์ค ์์ฑ์ค๋ณต๋๋ ๋ฉ์๋์ธ findById ๋ฉ์๋๋ฅผ ๋๋ฉ์ธ ๋ณ๋ก ๋๋ ์ ํด๋์ค์ ๋ฐ๋ก ์ ์ฅํ ํ ์ฌ์ฉํ ์ ์๋๋ก ์ฝ๋ ๋ฆฌํฉํ ๋ง์ ์งํํ๋ค.๋ด๊ฐ ์์ฑํ ์ฝ๋์ ๋ฉ์๋, API์ ์ฃผ์ ์ถ๊ฐ๋ค๋ฅธ ์ฌ๋๋ค์ด ๋ดค์ ๋ ์ดํดํ ์ ์๋๋ก ์ฃผ์์ผ๋ก ์ค๋ช ์ ์ถ๊ฐํ๋ค.V2 ๋ฒ์ ๊ณํ ์๊ฐ์ ์ฒด ํ์ด์ง ์กฐํ - ์ธ๋ฑ์ค ์ ์ฉ, ์บ์ ์ ์ฉ, ๋ฐฐ์น ์ฌ์ด์ฆ ์ ์ฉ, keyset ํ์ด์ง๋ค์ด์ , cursor ํ์ด์ง๋ค์ด์ ๋ฑ๋ฑ ์ฑ๋ฅ ๊ฐ์ ์ ํ ์ ์๋ ๋ฐฉ๋ฒ๋ค์ ์ฐพ์๋ณด๋ฉด์ ์ง๊ธ ์ฝ๋์ ์ ์ฉํ ์ ์๋ ์ฑ๋ฅ ๊ฐ์ ๋ฐฉ๋ฒ๋ค์ ๊ณ ๋ฏผํ๋ค.์ต๊ทผ ๊ฒ์ ์กฐํ - ์ธ๋ฑ์ค ์ ์ฉ, ์บ์(Redis) ์ ์ฉ ๋ฑ๋ฑ ์ฑ๋ฅ ๊ฐ์ ๋ฐฉ๋ฒ์ ๊ณ ๋ฏผํ๋ค.์ธ๋ฑ์ค ๊ณต๋ถ์ธ๋ฑ์ค๋ฅผ ์ฒ์ ์ ํ๋.. 2025. 2. 15. [ TIL ] ์ต์ข ํ๋ก์ ํธ_Day 4 ์ค๋ ์งํํ ๋ด์ฉ๋ค ๐ง ํ์ด์ง ์กฐํ ํํฐ๋ง ๋ก์ง ์๋ฒฝํ๊ฒ ๊ตฌํQueryDSL์ ํ์ฉํ์ฌ ์ต์ ๋ค์ ํํฐ๋งํด์ ์ํ๋ ๋ฐ์ดํฐ๋ง ๋ฐํ๋ฐ์ ์ ์๋๋ก ํ๋ ๋ก์ง์ ์์ฑํ๋ค.์๋ธ ์ฟผ๋ฆฌ๋ฅผ ์ด์ฉํด์ Dto๋ก ๋ฐํ๋ฐ๋ ๊ฑด ํ๋ค ๊ฒ ๊ฐ์์ ๋ก์ง์ ๋๋ ์ dataId๋ฅผ ๋ฐํ๋ฐ๊ณ keyword๋ฅผ ๋ฐ๋ก ๋ฐํ๋ฐ์์ List ํํ๋ก Dto์ ํฉ์ณ์ง ์ ์๊ฒ ๋ก์ง์ ๊ตฌํํ๋ค.์ ๋ถ ๊ตฌํํ ํ Postman์ ํตํด ํ ์คํธ๋ฅผ ํด๋ดค๋๋ฐ ์ด๋ค ํํฐ๋ง์ ๋ฃ์ด๋ ์ ์์ ์ผ๋ก ์คํ๋์ง ์๊ณ ๋ชจ๋ ๋ฐ์ดํฐ๊ฐ ๋์๋ค.. @ModelAttribute๋ฅผ ์ฌ์ฉํด์ ์ ๋ ฅ์ ๋ฐ๊ฒ๋ ์ค์ ํ๋๋ฐ ์ด ์ด๋ ธํ ์ด์ ์ ํ์ฉํ๋ ค๋ฉด Dto์ @Setter ์ด๋ ธํ ์ด์ ์ด ๋ถ์ด์ผ ํ๋ ๊ฒ์ด์๋ค........ ๊ทธ๋ฐ ์ค๋ ๋ชจ๋ฅด๊ณ ๋ด๊ฐ ์ง ์ฝ๋๋ Postman์์ ์ ๋ ฅ์ ์๋ชปํ ์ค .. 2025. 2. 13. [ TIL ] ์ต์ข ํ๋ก์ ํธ_Day 2 ์ค๋ ์งํํ ๋ด์ฉ๋ค ๐ง ํ ์ปจ๋ฒค์ ์ ํ๊ธฐํ์ ์ฝ๋ ์ปจ๋ฒค์ ์ ์ธ์ธํ๊ฒ ์ ํ๋ค.์ค๊ฐ์ ์๊ฒฌ ์ถฉ๋์ด ์ผ์ด๋๋ ์ผ์ด ๋ฐ์ํ์ง ์๋๋ก ํ์ํ ๋ด์ฉ๋ค์ ๋ชจ๋ ์ ํ๋ค.ํ์ด์ง ์กฐํ ๊ธฐ๋ฅ(๊ฒ์ ํฌํจ) ๊ฐ๋ฐ ์์์ฌ์ค ์์์ ์ต๊ทผ ๊ฒ์ ๊ธฐ๋ก ์กฐํ์๋ค. ํ์ง๋ง ํ์ด์ง ์กฐํ ๊ธฐ๋ฅ์ ํตํด ๊ฒ์์ด๋ค์ History์ ์ ์ฅํด์ผ ์ต๊ทผ ๊ธฐ๋ก ์กฐํ๊ฐ ๊ฐ๋ฅํ ๊ฒ์ด์๋ค.๊ทธ๋์ History์ ๋ํ ๊ฐ๋ฐ์ ๋ฉ์ถ๊ณ ํ์ด์ง ์กฐํ ๊ธฐ๋ฅ์ ๊ตฌํํ๊ธฐ ์์ํ๋ค.ํํฐ๋ง์ ํด์ผํ ์กฐ๊ฑด๋ค์ด ๋งค์ฐ ๋ง์์ ํท๊ฐ๋ฆฌ์ง ์๊ฒ ๋จผ์ ์ ๋ฆฌํ ํ ํ๋์ฉ ์ฐจ๋ก๋๋ก ํด๊ฒฐํ๋ค.์์ง ์๊ฒฉ ์๊ฑด ๋ถ๋ถ์ ๋ํด์๋ ํด๊ฒฐํ์ง ๋ชปํด์ ์ด์ด์ ๊ฐ๋ฐํ ์์ ์ด๋ค.ํ๋ก์ ํธ ์งํํ๋ฉด์ ๊ณ ๋ฏผํ๋ ์ฌํญ๋คQueryDSL์์ between๊ณผ geo, leo ์ค ์ด๋ค ๊ฒ์ ์ฌ์ฉํ๋ ๊ฒ์ด ์ข์๊น?์ฑ์ฉ ๊ธฐ๊ฐ.. 2025. 2. 11. [ TIL ] ์ต์ข ํ๋ก์ ํธ_Day 1 ์ค๋ ์งํํ ๋ด์ฉ๋ค ๐ง ์ต์ข ํ๋ก์ ํธ ๋ฐ์ ๋ฃ๊ธฐ๊ธฐ๋ก์ด ์งฑ์งฑ ์ค์ํ๋ค!!!ํ๋ฉด ์บก์ฒ์ ์์ ์ดฌ์์ด ํ์์ ์ด๋ค.๊ธฐ๋ฅ์ ํ๋ ๊ตฌํํ ๋๋ง๋ค ํน์ ๋งํ์ ๋ ๊ณ ๋ฏผ ์ฌํญ์ ์ ๊ธฐ๋กํด ๋์!5๋ถ ๊ธฐ๋ก ๋ณด๋ ์ค์ํ๋ค.๋ฏธ๋๋ฅผ ์ํด ๋ฌด์กฐ๊ฑด ๊ธฐ๋กํด๋์ผ ํ๋ค!๋๋ฉ์ธ ์ ํ๊ธฐ์ฒซ ๋ฒ์งธ ํ๋ณด: ๊ณ ๊ฐ์ผํฐ ๊ด๋ จ๋ ๋ฒ์งธ ํ๋ณด: ์ทจ์ ์ฌ์ดํธ ๊ด๋ จ(์ฑํ)S.A ์์ฑํ๊ธฐ์์ด์ดํ๋ ์ERD ๋ค์ด์ด๊ทธ๋จAPI ๋ช ์ธ์๊ธฐ์ ๋ช ์ธ์์ค์ผ๋ ํค ์ฝ๋ ์์ฑํ๊ธฐ๊ฐ์ฅ ๋ฐ์ ์๋ ํจํค์ง: common, domaindomain ์์ ๋ค์ด๊ฐ ํจํค์ง: auth, keyword, data, bookmark, user, history๊ธฐ๋ณธ Entity๋ง ์์ฑํ ์ํ์ด๋ค!์์ : ๋ก๊ทธ๋ฅผ ์ด๋์ ๋จ๊ฒจ์ผ ํ ๊น?์์ : ๋ด๊ฐ ๋ด๋นํ ๊ธฐ๋ฅ์์ ExceptionHandler์์ ์ฒ๋ฆฌํ ์.. 2025. 2. 10. ์ด์ 1 2 3 4 5 6 ยทยทยท 16 ๋ค์