์์ ์ ํ ๋ ์ด๊ฒ์ ๊ฒ ๋ง์ด ์ผ๋๊ธด ํ์ง๋ง, ๊ทธ๋๋ ํน๋ณํ ๋น๋ ๋๋ฆด๋ ์๋๋ฉด ํฌ์ด ๋ฏธ์ณ ๋ ๋ฐ์ง ์๋๋ฐ, ์ค๋์ ์ ๋ํ ๊ณ์ํด์ ๋งฅ์ด ์ด๋ฅํ๋ ค ๋ ๋ฐ์๋ค. ํด๊ฒฐํ ์บก์ณํ๊ฑฐ๋ผ ๋ณด์ด์ง ์์ง๋ง, ๋ฌธ์ ์ Google Chrome Helper (Renderer)๊ฐ CPU๋ฅผ ๋ฏธ์น๋ฏ์ด ๋จน๊ณ ์์๋ค. Chrome Menu → Window → Task Manager ๋ก ์ง์ ํด ํ์ธํด๋ณด๋, ๋ณดํต ์ผ๋ถ ํฌ๋กฌ ํ๋ฌ๊ทธ์ธ์ด ๋ฆฌ์์ค๋ฅผ ์ก์๋จน๊ธฐ๋ ํ๋ค๋๋ฐ, ๋ ํฌ๋กฌ ํญ์ค์ ํน์ Grafana ํ์ด์ง๊ฐ ๋ฌด์จ ๋นํธ์ฝ์ธ ์ฑ๊ตด๋ง๋ฅ ๋ฆฌ์์ค๋ฅผ ๋ค ๋จน๊ณ ์์๋ค. (๊ทธ๋ํ๊ฐ ์ข ๋ง๊ธด ํ๋๋ง์...) ์ข ๋ฃ์์ผ์ฃผ๋ ์ด์ ์ผ ๋งฅ์ด ์ข ์ฐ๋ค,, ๊ณ ์์์ผ์ ๋ฏธ์ ๐ข
๋ฐฐ๊ฒฝ ์์ง ๋ด ์๊ฐ๋ฆผ๋ ์ ๋๋ก ๋ชปํ๋ ๋ณ์๋ฆฌ ์ ์ ๊ฐ๋ฐ์์ด์ง๋ง, ๊ณ ๋ฑํ๊ต 3๋ ๋์ ํฌ๋ง์ง์ ์ด ๊ต์ฌ์ผ ๋งํผ ๋๋ ์ง์ ์ ํ์ ํ์ต๋ฒ ๊ณต์ ๋ฑ์ ๊ฝค๋ ์ฌ๋ฏธ๋ฅผ ๋๋๋ค ๋๋ ์ถ๋ฐ์ด ๋น์ ๊ณต์๋ผ์ ์ฃผ๋ณ์ ์ธ๋งฅ๋ ์๊ณ ์ ๋ณด์ ๊ฐ๋ญ ์์์ ์ค๋ ๊ณ ์ํ๋ ๊ฒฝํ์ด ์๊ธฐ์, ์ด๋ฐ ๋ถ๋ถ๋ค์ ๋ ์ง์ฐฉํ๋ ๊ฒฝํฅ์ด ์๋๊ฒ ๊ฐ๊ธฐ๋ ํ๋ค ๊ฐ๋ฐ์ ์ด๋ค ๋ถ์ผ๋ค์ด ์๋์ง, ๊ฐ๊ฐ์ ์ด๋ค ํน์ง๊ณผ ์ฅ๋จ์ ์ ๊ฐ๋์ง, ์ด๋ค ๊ณต๋ถ๋ฅผ ์ด๋ป๊ฒ ํด์ผํ๋์ง ๋ฑ ์ด์ฌํ ์ธํฐ๋ท ์์นญ์ ํ์ง๋ง ์ ์ฉํ ์ ๋ณด๋ฅผ ์ป๊ธด ํ๋ค๊ณ (์ฃผ๋ก ๋์ค๋๊ฑด ํ์ ๊ด๊ณ ๋ค๋ฟ..), ์ธ๊ฐ์ ๋จ์๋ฌด์ํ๊ฒ ์ธ์ฐ๋ ๋ฑ ๋นํจ์จ์ ์ผ๋ก ํ์ต์ ์ฝ์งํ๋ ๋๋ฅผ ๊ธฐ์ตํ๋ฉด, ์ง๊ธ๋ ์ ์ฐ๋ฆฌ๊ณค ํ๋ค ์ง๊ธ๋ ๊ฐ๋๊ฐ๋ค Collection ํ๋ ์์ํฌ ๋ฉ์๋ ์ข ๋ฅ๋ฅผ ์ข ์ด์ ์จ๊ฐ๋ฉฐ ํ์ตํ์๋ ๋ถ์ ๋ณด๋ฉด, ๋ง์ ํ์ผ ์ด..
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() ์ ์ปฌ๋ ..
์ฐํ ์ฝ ๋ ๋ฒจ4 ํ๋ก์ ํธ ๊ณผ์ ์์ ์ ๋ฆฌํ Wiki ๋ฌธ์ ๋ฐฐ๊ฒฝ Pobi ๊ฐ์ - ๊ฐ๋ฐ ๋ฐฉ๋ฒ ์ค์ ๋จ์ ํ ์คํธ๋ ๊ธฐ์กด์ main/test ๊ตฌ์กฐ๋ก test ๋๋ ํ ๋ฆฌ์์ ๋๋ฆฌ๊ณ , ์ค๋ ๊ฑธ๋ฆฌ๋ ์ธ์ํ ์คํธ๋ ๋ณ๋์ ๋๋ ํ ๋ฆฌ๋ก ๋ถ๋ฆฌํด CI ํ๊ฒฝ์์๋ง ๋๋ฆฌ๋ ๋ฐฉ๋ฒ๋ ์กด์ฌํ๋ค. ์ฐธ๊ณ ์๋ฃ Separating acceptance tests Seperating acceptance tests ๊ณผ์ ์ Trouble shooting Is there a way to specify dependencies for a newly created sourceset in gradle? Gradle Java Plugin ๊ณผ์ ๊ธฐ์กด์ src - main/test ๊ตฌ์กฐ์์ src - main/test/acceptanceTest ๊ตฌ์กฐ๋ก ๋ฐ๊ฟ๋ณธ๋ค. (a..
์ฐํ ์ฝ ๋ ๋ฒจ4 ํ๋ก์ ํธ ๊ณผ์ ์์ ์ ๋ฆฌํ Wiki ๋ฌธ์ ๋ณธ ๋ฌธ์๋ Spring Rest Docs + @SpringBootTest + WebTestClient ๋ฒ์ ์ ์์ ๋ก ์ค๋ช ์ฐธ๊ณ ์๋ฃ https://docs.spring.io/spring-restdocs/docs/2.0.4.RELEASE/reference/html5/ โ https://docs.spring.io/spring/docs/current/spring-framework-reference/pdf/testing-webtestclient.pdf โ http://woowabros.github.io/experience/2018/12/28/spring-rest-docs.html โ https://cheese10yun.github.io/spring-rest-d..
Lv4 : ํ ํ๋ก์ ํธ -> https://github.com/eattogether/hey-together -> ํ ์ํค ์๊ตฌ์ฌํญ ์ง์์ ํตํฉ (๋ชจ๋ ํ ์คํธ ํต๊ณผํ ๋๋ง ๋ฐฐํฌ, ํ ์คํธ ์ปค๋ฒ๋ฆฌ์ง 80%, ํ์ง ๊ธฐ์ค ํต๊ณผ(์ ์ ๋ถ์ ๋๊ตฌ ์ด์ฉ))์ ์ ์ฉํด ์ผ์ ๊ธฐ์ค์ด ๋๋ ํ๊ฒฝ์ผ๋ก ๋ฐฐํฌ Spring Rest Docs๋ฅผ ์ด์ฉํด API ๋ฌธ์ํ ํ๋ก ํธ๋ ํ๋ ์์ํฌ๋ฅผ ์ฌ์ฉํ๊ธฐ๋ณด๋ค ๋ฐ๋๋ผ JS ๊ธฐ๋ฐ์ผ๋ก ๊ฐ๋ฐํ๋๊ฒ ์ด๋จ๊น? ์ธ์ฆ์ OAuth2๋ฅผ ๊ธฐ๋ฐ์ผ๋ก ํ๋ฉด ์ด๋จ๊น? ๋จ Spring Security ์ฌ์ฉX ์ธ์ฆ์ ์ ์ธํ๊ณ ์ต์ ํ๋ ์ด์์ ์ธ๋ถ API์ ์ฐ๋ ์ฑ๋ฅ์ ๋์ด๊ธฐ ์ํด ์์ฃผ ์ฌ์ฉํ์ง(๋ณํ์ง) ์๋ ๋ฐ์ดํฐ์ ๋ํด (๋ฐฑ์๋ ๋ถ๋ถ์) Cache๋ฅผ ์ ์ฉ REST ์์น์ ์งํค๋ฉฐ ๊ฐ๋ฐ (์ฐธ๊ณ ๋งํฌ) Docker ๊ฒฝํ ๊ธฐ๋ฅ ..
2019๋ ํ๊ณ ~3์ ํ๊ต ๋งํ๊ธฐ๋ฅผ ์๋๊ณ ๋ฐฉํฅ์ ๋ฌด์ฒ ๊ณ ๋ฏผํ๋ ์๊ธฐ. ๋ฐฉํ์ด๋ผ ์๊ฐ์ ๋ง๊ณ "๋ฌด์์ ์ด๋ป๊ฒ ๊ณต๋ถํด์ผํ ์ง"๋ ๋ชฐ๋ผ์, ๋ฌด์ํ ๋ฐฉ๋ฒ์ผ๋ก ์ฑ ์ด๋ ์ธ๊ฐ์ ๋ค์ด๋๋ฉฐ ์๊ฐ์ ๋ณด๋๋ค. (๋ฌผ๋ก ๋์ค์๋ณด๋ ๋ค ๋์๋ฌ์ง๋ง) ์์ธ์ ๊ฐ๋ฐ๋ก ์ ํฅํ์ง ์ผ๋ง ์๋ ์๊ธฐ์๊ณ , ์ ๋๋ก ๊ฒฝํํด๋ณธ๊ฑด ๊ทธ๋๋ง ์๋๋ก์ด๋, ํ๋ก ํธ๋ ์ทจํฅ์๋๊ฒ๊ฐ๊ณ , ๋ฐฑ์๋๋ ๊ฒฝํํด๋ณด์ง๋ชปํ ๋ถ์ผ์ ๋ํ ๋ง์ฐํ ๋๋ ค์. ์ด๋๊ธธ๋ก ๋์๊ฐ์ผํ ์ง ๋ฐฉํฅ์ ๋ชป ์ก๊ณ ์์๋ค. ๊ฐ๋ฐ ํ๋ก๊ทธ๋จ/๋์๋ฆฌ๋ ์ธํด๋ ๋ช๊ตฐ๋ฐ ๋ฃ์๋ค. ๋ชจ๋ ๋ฉด์ ์์ ํ๋ฝ. ์ตํ์ ์ํ์ ๋ํด ์๊ฒ๋ฌ๋ค. ์ฝ๊ฒ๋ณด๊ณ ๊ฒฝํ์ผ์ ์ง์ํ๋ ํ์ฌ๋ค์ ๊ดํํ๋ ์์กด๊ฐ์ด ๋ฌด์ฒ ํ๋ฝํ๋ค. 4~11์ ์ง์ํ ๋ช๊ตฐ๋ฐ์ ํ๋ฝํ๊ณ ์กฐ์ฉํ ๋งํ๊ธฐ ์์ ์ด๋ ๋ค์ผ๋ฉฐ ๊ณต๋ถ๋ฅผ ๋ณํํ๊ธฐ๋ก ํ๋ค. ๊ทธ๋ฌ๋์ค ์ฐํ ์ฝ ๊ณต๊ณ ๊ฐ..
์ค๋ ํ๋ก์ ํธ์์ ์ฃผ์ ๋๋ฉ์ธ ๋ชจ๋ธ๋ค์ ๊ตฌ์กฐ๋ฅผ ์ก๊ณ ์ฐ๊ด๊ด๊ณ๋ฅผ ๋งคํํ๋ ๊ณผ์ ์์ ์ฝ์ง๋ก ๋ง์ ์๊ฐ์ ์๋ชจํด, "๋น์ฐํ์ง๋ง" ๋ค์ํ๋ฒ ๊นจ๋ฌ์ ์ฌ์ค์ ์ ๋ฆฌํ๊ณ ๊ธฐ๋กํด๋ณด๊ธฐ๋ก ํ๋ค. ๋ฐฐ๊ฒฝ ์ํฉ์ ๋น์ทํ ์์๋ก ๋ค์ด๋ณด๋ฉด, ๊ฐ์ฅ ์ดํดํ๊ธฐ ์ฌ์ด ๊ฒ์๊ธ(Article) - ๋๊ธ(Comment)์ ๊ด๊ณ๋ฅผ ์ค์ ํด๋ณด์. Article(์ผ) - Comment(๋ค)์ ์ผ๋๋ค/๋ค๋์ผ ์๋ฐฉํฅ ์ฐ๊ด๊ด๊ณ ์ํ์ด๋ค. (๋ฌผ๋ก ์ผ๋๋ค๋ ๊ฐ๊ธ์ ์์ ํ๊ณ ๋ค๋์ผ๋ง ๋งคํํ๋๊ฒ best practice์ด์ง๋ง, ์๋ฐฉํฅ์ด ๊ผญ ํ์ํ ์ํฉ์ด๋ผ๊ณ ๊ฐ์ ํด๋ณด์) ์ํฉ์ ๋ฐ๋ฅธ, ์๋ฐฉํฅ ์ฐ๊ด๊ด๊ณ Entity ๊ฐ ์ ์ฅ ๋ฐฉ์ ์๋ฐฉํฅ ์ฐ๊ด๊ด๊ณ Entity๋ฅผ saveํ๋ฉด์, ๋น์ฐํ๊ฑด๋ฐ ํฐ ๊ทธ๋ฆผ์ ๋ฐฉํฅ์ ๋์น๊ณ ์์๋ค. ์ ๋ฆฌํด๋ณด๋ฉด ๋ค์๊ณผ ๊ฐ๋ค. Article์ ๋์งธ์น๊ณ ..
- Total
- Today
- Yesterday
- JPA
- Data Structure
- bfs
- ์นํดํน
- Android Studio
- socket
- Stack
- graph
- queue
- Java
- Algorithm
- sort
- javascript
- ์ฐ์ํ ํ ํฌ์ฝ์ค
- mysql
- git
- ํด์ธ์ฌํ
- webhacking.kr
- OneToMany
- C
- ๋ฆฌ๋ฒ์ฑ
- ๊ฐ๋ฐ์
- Vo
- Android
- FRAGMENT
- ํ๊ณ
- dfs
- reversing
- ํ๋ก๊ทธ๋๋จธ์ค
- brute-force
์ผ | ์ | ํ | ์ | ๋ชฉ | ๊ธ | ํ |
---|---|---|---|---|---|---|
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 |