kuke
@kuke
Students
1,813
Reviews
189
Course Rating
4.9
์๋ ํ์ธ์.
IT ๊ธฐ์ ๊ฐ๋ฐ์๋ก ๊ทผ๋ฌดํ๋ฉฐ, ๋๊ท๋ชจ ์์คํ ์ ์งํฑํ๊ธฐ ์ํด ๋ค์ํ ๊ธฐ์ ์ ํ์ฉํด๋ณด๊ณ ์์ต๋๋ค.
์ค๋ฌด ๊ด์ ์ ๊ฐ๋ฐ ์ง์์ ๊ณต์ ํ๊ณ ์ ๊ฐ์คํ์๊ณ , ๋ง์ ๋์์ด ๋์์ผ๋ฉด ์ข๊ฒ ์ต๋๋ค.
[๋ฌธ์]
Email : kukekyakya@gmail.com
Courses
Reviews
kwanghojung4465
ยท
Learning Large-Scale System Design by Building Directly with Spring Boot - Bulletin BoardLearning Large-Scale System Design by Building Directly with Spring Boot - Bulletin Boardrrecordd0622
ยท
Learning Large-Scale System Design by Building Directly with Spring Boot - Bulletin BoardLearning Large-Scale System Design by Building Directly with Spring Boot - Bulletin Board- Learning Large-Scale System Design by Building Directly with Spring Boot - Bulletin Board
- Spring Boot: Learn Large-Scale System Design by Building - Cache Strategies
- Learning Large-Scale System Design by Building Directly with Spring Boot - Bulletin Board
Posts
Q&A
์ด๋ฒคํธ ํ์ด๋ก๋ ๊ฐ์ฒด์ ์์ฑ ๋ฐฉ์์ด ํฉํ ๋ฆฌ ๋ฉ์๋ ํจํด์ด ์๋ ๋น๋ ํจํด์ธ ์ด์ ๊ฐ ๊ถ๊ธํฉ๋๋ค!.
์ข ํ๋, ์๋ ํ์ธ์!๊ฐ์ ํตํด์ ์ ์ฑ์ฅํด์ฃผ๊ณ ๊ณ์๋ค๋ ๊ฐ์ฌํ๋ค์! ์ง๋ฌธ ์ฃผ์ ๋ถ๋ถ์ ๋ํด์๋ ํฉํ ๋ฆฌ ๋ฉ์๋์ ์ฅ์ ์ ๋ํด์ ์ฐพ์๋ณด๋ฉด ๋์ฑ ์๋ฟ์ผ์ค ๊ฒ ๊ฐ์ต๋๋ค.๋์ผํ ๊ฐ์ฒด ์์ฑ์ด๋๋ผ๋ ์ฌ๋ฌ ์๋๋ก ๋๋ ํ์๊ฐ ์๋ค๋ฉด, ๋ฉ์๋ ๋ค์ด๋ฐ์ผ๋ก ๊ทธ ์๋๋ฅผ ๋ช ํํ๊ฒ ๋๋ฌ๋ผ ์ ์์ ๊ฒ์ด๊ณ ์.๋จ์ํ ํ๋ ๊ฐ์ assign ํ๊ณ ์ด๋ ํ ์๋๋ฅผ ๋๋ฌ๋ผ ํ์๊ฐ ์๋ค๋ฉด ๊ทธ๋ฅ ๋น๋ ํจํด์ ์จ๋ ๋ฌด๋ฐฉํฉ๋๋ค.ํ์ง๋ง ๊ทธ ์๋๋ฅผ ๋ช ํํ๊ฒ ๋๋ฌ๋ด๊ณ ์ถ๊ฑฐ๋, ๋ถ๊ฐ์ ์ธ ๋ก์ง์ด ํ์ํ ๋ ํฉํ ๋ฆฌ ๋ฉ์๋ ๋ด๋ถ๋ก ์บก์ํํ ์๋ ์์ต๋๋ค.null์ ๋ํด์๋ ๊ฒฐ๊ตญ ๊ฐ์ ๋ํ ๊ฒ์ฆ์ด๋ ๋ถ๊ฐ์ ์ธ ๋ก์ง์ด ํ์ํ ์ํฉ์ ๋ง์ํ์ ๊ฒ ๊ฐ์์, ์ด ๊ฒฝ์ฐ์๋ ๋ง์ํ์ ๋๋ก ๋น๋ ๋ณด๋จ ํฉํ ๋ฆฌ ๋ฉ์๋๋ฅผ ํ์ฉํ๋๊ฒ ์์ ์ธ๊ธ๋ ์ด์ ๋ค์ด ์์ต๋๋ค.๊ทธ๋ ๊ธฐ ๋๋ฌธ์ ๊ฐ์ธ์ ์ผ๋ก ํฉํ ๋ฆฌ ๋ฉ์๋๋ฅผ ์ ํธํ๊ณ ํ์ฉํ๊ณ ์๋ค์! ์ต๊ทผ์ ์ ์ฌํ ์ง๋ฌธ์ ๋ฐ์๋ ๊ฒ ์์ด์ ์ฐธ๊ณ ํด๋ณด์ ๋ ์ข์ ๊ฒ ๊ฐ์ต๋๋ค!https://inf.run/WgKso
- 0
- 2
- 36
Q&A
article_like_count api test
์๋ ํ์ธ์! ๋น๊ด์ ๋ฝ์ ์คํจ ์์ด ๋ชจ๋ ์ ์์ ์ผ๋ก ์ฒ๋ฆฌ๋๋๊ฒ ๋ง์ง๋ง,๋๊ด์ ๋ฝ์ ๋ฉํฐ์ค๋ ๋๋ก ์ฒ๋ฆฌํ๊ธฐ ๋๋ฌธ์ ์ผ๋ถ ์์ฒญ๋ค์ ๋ถ๋ช ์คํจํ ์ ์์ํ ๋ฐ ์ ๋ถ ์ฑ๊ณต ํ๋ค๋๊ฑด ์ด์ํ๋ค์.๋๊ด์ ๋ฝ ๋ฐฉ์์ ๋ํด ๋ฉํฐ์ค๋ ๋๋ก ๋์ ์์ฒญ์ ๋ณด๋ธ ๊ฒ์ด ๋ง์๊น์?
- 0
- 2
- 26
Q&A
[33. ์ข์์ ์ ๊ตฌํ] ์์ ํ ์คํธ ํ๋ ํ๋ฉด ๋์์ฑ ๋ฌธ์
์ฃผ์ฃผํํ๋, ์๋ ํ์ธ์! ์ด์ ์๋ ๋์ผํ ์ง๋ฌธ์ด ์์๋๋ฐ์(https://inf.run/f8wTm),์ ๊ฐ ๋ฐ์ดํฐ๋ฒ ์ด์ค ๊ฐ๋ฐ์๋ ์๋๋ค๋ณด๋ ๊ฐ DB๋ณ ์์ธํ ๋ด๋ถ ๋์๊น์ง๋ ์ ๋ ๋ช ์พํ๊ฒ ๋ต๋ณ๋๋ฆฌ๊ธด ์ด๋ ต๊ธฐ ๋๋ฌธ์, ์ผ๋จ ๊ฐ์์ ๋์ผํ ํ๊ฒฝ์ผ๋ก ์งํํ๋ ๊ฒ์ ๊ถ์ฅ ๋๋ฆฌ๊ณ ์์ต๋๋ค. ์ถ๊ฐ๋ก ์์ธ ๊ด๋ จํด์๋ ์ฐพ์๋ณด์๋๋ฐ์, ์ ํํ ์ด๋ค ์ฟผ๋ฆฌ์ ์ด๋ค db ๋ฒ์ ์์ ํด๋น ์๋ฌ๊ฐ ๋ฐ์ํ๋ค๋ ๋ง์์ด์ค๊น์?https://mariadb.com/docs/server/server-usage/storage-engines/innodb/innodb-system-variables#innodb_snapshot_isolationinnodb_snapshot_isolation ์ค์ ์ด ๋ํดํธ๋ก ON์ด๋ผ๋ฉด, ์ ์๋ฌ๊ฐ ๋ฐ์ํ ์ ์์ ๊ฒ ๊ฐ์ต๋๋ค. (์ค์ ์ ๋ํ ์ค๋ช ๊ณผ ๋ฒ์ ๋ณ ์ฐจ์ด์ ๋ํด์๋ ์ ๋ฌธ์ ์ฐธ๊ณ )๊ฐ์์์ ์งํํ๋ mysql ์ค์ต ํ๊ฒฝ์ ๋จ์ผ ๋ ์ฝ๋์ ๋ํ ๋์ ์ ๋ฐ์ดํธ ์์ ๋ฝ์ ํ๋ํ๋ ค๊ณ ๋๊ธฐํ๊ฒ ๋์ง๋ง,maria db์์ snapshot isolation ์ค์ ์ด ON์ด๋ผ๋ฉด ์ธ๊ธ ์ฃผ์ ์๋ฌ๋ฅผ ๋์ง๊ฒ ๋๋ ๋์์ด๋ค์.innodb_snapshot_isolation ์ค์ ์ OFF๋ก ๋ณ๊ฒฝ ํ ํ ์คํธ ํด๋ณด์๊ฒ ์ด์?
- 0
- 2
- 37
Q&A
findByPath์์ articleId๋ก๋ ๊ฒ์์ ํด์ผ ํ ๊ฒ ๊ฐ์์.
์ฃผ์ฃผํํ๋, ์๋ ํ์ธ์!์์ด๊ณ ๋ง์ํ์ ๋๋ก findByPath๊ฐ ์๋๋ผ articleId๋ ์ฟผ๋ฆฌ์ ํฌํจ๋์ด์ผ ํฉ๋๋ค.์ด ๋ถ๋ถ ๋์ณ์ก์๋ค์ ใ ์ ๋ณด ๊ฐ์ฌ๋๋ฆฌ๊ณ ์ถํ ์์ ํด๋๋๋ก ํ๊ฒ ์ต๋๋ค!
- 0
- 3
- 34
Q&A
jpa ddl-auto none์ ํ๋ ์ด์ ์ join ๋ฐฉ๋ฒ
์ตธ์๋, ์๋ ํ์ธ์! ์ผ๋จ ๋จผ์ ๋ง์๋๋ฆฌ๊ณ ์ถ์ ์ ์, ์ฌ๊ณ ๊ฐ jpa์ ์ข ์๋์ง ์๋๊ฒ ์ข์ ๊ฒ ๊ฐ์ต๋๋ค!์ค๋ฌด์์๋ jpa๋ฅผ ์ฌ์ฉํ์ง ์๋ ๊ฒฝ์ฐ๋ ๋ง๊ณ , ๊ฐ์ธ์ ์ผ๋ก๋ ์ ํธํ์ง ์์ต๋๋ค.์ ์ฃผ๋ณ์์๋ ๋ฑํ ์ ํธํ๋ ๊ฒฝํฅ์ ๋๋ฌผ๊ธฐ๋ ํ๊ณ , ์ฌ์ฉํ๋๋ผ๋ ๋จ์ crud๋ง ์ฐ๋ ์ฌ๋ก๋ ๋ง์ต๋๋ค.๊ทธ๋ฆฌ๊ณ ๊ฒฐ๊ตญ jpa๊ฐ ๋ง๋ค์ด์ฃผ๋ ๊ฒ๋ sql ์คํฌ๋ฆฝํธ์ผ ๋ฟ์ ๋๋ค. Q. SQL ๋ก ๋ฏธ๋ฆฌ ํ ์ด๋ธ ์์ฑํ๊ฑฐ๋ ์ธ๋ฑ์ค ์ค์ ์ SQL ๋ก ์ง์ ํ๋๋ฐ ์ด์ ๊ฐ ๊ถ๊ธํฉ๋๋ค์ธ๋ฑ์ค ๊ฐ์๊ฒฝ์ฐ jpa ์์ ์ธ์์๋ ์ต์ ์ด ์ ํ์ ์ด๋ผ ๋ฐ๋ก SQL ๋ก ๊ด๋ฆฌํ๋ค๊ณ ๋ฃ๊ธดํ๋๋ฐ ํ ์ด๋ธ๋ ์ค์ ๋ก SQL ์์ ํ๋์ง ๊ถ๊ธํ๊ณ , SQL ๋ก๋ง ํ ์ด๋ธ ์์ฑ ์ธ๋ฑ์ค ๊ด๋ฆฌ๋ฅผ ํ ๊ฒฝ์ฐ ํ์ ์์๋ ์ด๋ค db ๋ง์ด๊ทธ๋ ์ด์ ๋ผ์ด๋ธ๋ฌ๋ฆฌ๋ฅผ ์ฃผ๋ก ์ฌ์ฉํ๋์ง๋ ๊ถ๊ธํฉ๋๋ค.ํ ์ด๋ธ์ด๋ ์ธ๋ฑ์ค ์คํฌ๋ฆฝํธ๋ ๋ณ๋ ๋ฌธ์ ๋๋ ํด์ด๋ ์คํฌ๋ฆฝํธ๋ก ๊ด๋ฆฌ๋๋ ๊ฒ์ด ์ผ๋ฐ์ ์ผ ๊ฒ ๊ฐ์ต๋๋ค.ํ๋ฒ ์์ฑ ์ดํ ์๋ฐ ์ฝ๋๋ก ๋จ๊ฒจ๋ ์ด์ ๋ ์๊ณ , ํ์คํ ๋ฆฌ ๊ด๋ฆฌ๋ ์ด๋ ต๊ณ , ์คํ๋ ค ๋ถํ์ํ ์ฝ๋๋ก ๊ฐ๋ ์ฑ๋ง ๋๋น ์ง๊ฒ ๋ ๊ฒ ๊ฐ๋ค์.ddl-auto none์ผ๋ก ์ค์ ํ๋ ์ด์ ๋, ์ด์ ์ค ์๋กญ๊ฒ ๋ฐฐํฌ๋ ์๋ฐ ์ฝ๋๋ก ์ธํด ๊ฐ์์ค๋ ์คํค๋ง ๋๋ ์ธ๋ฑ์ค๊ฐ ๋ณ๊ฒฝ๋๋ฉด ์์คํ ์ ์ฅ์ ๋ฅผ ์ ๋ฐํ ์ ์์ต๋๋ค.db ๋ง์ด๊ทธ๋ ์ด์ ์ ์ด๋ค ์ง๋ฌธ์ ์ฃผ์ ๊ฑด์ง ์ ์ดํด๋ฅผ ๋ชปํ์๋๋ฐ, jpa ์ฝ๋๋ก ์ธ๋ฑ์ค๋ฅผ ์์ฑํ๋ค๊ณ ํด์ ์๋ฐ ๋ผ์ด๋ธ๋ฌ๋ฆฌ๊ฐ ์ธ๋ฑ์ค์ ๋ํ ๋ง์ด๊ทธ๋ ์ด์ ์ ์ํํด์ฃผ๋๊ฑด ์๋๋๋ค. ์ธ๋ฑ์ค ์คํฌ๋ฆฝํธ๋ฅผ ์๋ฐ์์ ๋ง๋ค์ด์ db๋ก ์ ๋ฌํด์ค ๋ฟ, ์ค์ ๋ก๋ ๋ชจ๋ sql ๊ธฐ๋ฐ์ผ๋ก ์คํฌ๋ฆฝํธ๊ฐ ์คํ๋์ด์ db ์์ฒด์์ ์ธ๋ฑ์ค๊ฐ ์์ฑ๋ฉ๋๋ค. Q. ์ฐธ์กฐ๊ด๊ณ๋ฅผ DB ์์ ๊ฑธ์ง์๊ณ ๋ ผ๋ฆฌ์ ์ผ๋ก๋ง ๊ฑธ์์๋ ์ฐธ์กฐํ ์ด๋ธ์๋ํ ์กฐ์ธ์ ์ด๋ค์์ผ๋ก ํ๋์ง ๊ถ๊ธํฉ๋๋ค.MSA ๊ธฐ์ค์ผ๋ก ๋ฐ์ดํฐ๋ฒ ์ด์ค๊ฐ ์์ ๋ถ๋ฆฌ๋ ํ ๋ฐ ์ด๋ค์์ผ๋ก ์กฐ์ธํ๋์?์ถ๊ฐ์ ์ผ๋ก ๋ ผ๋ฆฌ์ ์ผ๋ก ์ฐธ์กฐ์ค๊ณ๊ฐ ๋ ์ํฉ์์ @ManyToOne ์ฌ์ฉ์ด ๊ฐ๋ฅํ์ง๊ถ๊ธํฉ๋๋ค. ์๋ฅผ๋ค๋ฉด Comment ์ํฐํฐ์์ parentCommentId ๊ฐ์ ๊ฐ์ ๋ฐ์ดํฐ๋ฒ ์ด์ค์ ์๋ ํ ์ด๋ธ์ @ManyToOne ์ ์ฉ์ด ๊ฐ๋ฅํ์ง๊ถ๊ธํฉ๋๋ค.MSA ๊ธฐ์ค์ผ๋ก ๋ฐ์ดํฐ๋ฒ ์ด์ค๊ฐ ๋ถ๋ฆฌ๋๋ฉด, ์ ํ๋ฆฌ์ผ์ด์ ๋ ๋ฒจ์์ ๊ฐ ๋ง์ดํฌ๋ก์๋น์ค๋ง๋ค ํ์ํ ๋ฐ์ดํฐ๋ฅผ ์ง์ํ์ฌ ์กฐ์ธํ๊ฒ ๋ฉ๋๋ค.์ด ๊ฒฝ์ฐ์ ์กฐ์ธ์ ์ํ ๋คํธ์ํฌ ํต์ ๋น์ฉ, ์ง์ ๋น์ฉ, ์๋ต ์ง์ฐ ๋ฑ์ ๋ฌธ์ ๊ฐ ์๊ธฐ๊ฒ ๋๋๋ฐ, ์ด๋ฅผ ํด๊ฒฐํ๋ ๋ฐฉ๋ฒ์ ๋ง์ง๋ง ์ฑํฐ ์ต์ ํ ์ ๋ต์์ ์ผ๋ถ ์ดํด๋ณด๊ฒ ๋๋ค์!@ManyToOne์ ๋ฌผ๋ฆฌ์ ์ธ๋ํค๋ฅผ ๊ฐ์ ํ์ง ์๊ณ , ๋ ผ๋ฆฌ์ ์ฐธ์กฐ๋ผ๊ณ ํ๋๋ผ๋ ์ฌ์ฉํ ์ ์์ต๋๋ค.๋ ผ๋ฆฌ์ ์ฐธ์กฐ๋๋ ์ปฌ๋ผ์ ๋ํด ์ธ๋ฑ์ค๋ง ์ ๊ณ ๋ ค๋๋ฉด ๋ ๊ฒ ๊ฐ๋ค์.ํ์ง๋ง ์์์ JPA์ ๋ํด ํ์์ ์ธ ์ ์ฅ์ ๋ง์ ๋๋ ธ๋ฏ์ด, @ManyToOne๊ณผ ๊ฐ์ ์ฐ๊ด ๊ด๊ณ ์ ๋ ธํ ์ด์ ๋ ์ ์ฌ์ฉํ์ง ์์ต๋๋ค.๊ฐ์ฒด ๊ฐ ์ฐธ์กฐ ๊ฐ๊ฒฐํฉ๊ณผ ์ฝ๋์ ๋ด๋ถ์ ์ธ ์ฟผ๋ฆฌ ์คํ ๋ฐฉ์ ์ดํด์ ๋ณต์กํจ์ ์๋ฐํ๊ธฐ ๋๋ฌธ์ ๊ฐ์ธ์ ์ผ๋ก ์ง์ํ๋ ๋ฐฉํฅ์ด๊ณ , ์ ์ด์ ์ํฐํฐ๊ฐ ์ฝ๋ ๋๋ DB ๋ ๋ฒจ์์ ๋ฌผ๋ฆฌ์ ์ผ๋ก ๊ฒฉ๋ฆฌ๋์ด ์๋ค๋ฉด ์ฐธ์กฐํ ์๋ ์์ต๋๋ค. ์ถฉ๋ถํ ๋ต๋ณ์ด ๋์์์ง ๋ชจ๋ฅด๊ฒ ๋ค์. ํน์ ๋ ๊ถ๊ธํ ์ ์์ผ์๋ฉด ํธํ ๋จ๊ฒจ์ฃผ์ธ์!
- 0
- 2
- 51
Q&A
ํฉํฐ๋ฆฌ ๋ฉ์๋์ response ๊ฐ์ฒด ์ฌ์ฉ ์ด์ ๊ฐ ๊ถ๊ธํฉ๋๋ค!
88diaspora๋, ์๋ ํ์ธ์!์ ๋ฐฐ์์ฃผ๊ณ ๊ณ์๋ค๋ ๊ฐ์ฌํ๋ค์! ๊ตญ๋นํ์ ํ๋ก์ ํธ ํ๋ ๋๋ฅผ ์๊ฐํด๋ณด๋ฉด์ ๋ฃ๊ณ ์๋๋ฐ, ๊ทธ๋๋ ์ํฐํฐ์ ์์ฑ์๋ฅผ ๋ง๋ค์ด์ ์๋น์ค์์ ๊ทธ๋ฅ ์ผ๋๋ฐ ๋ณธ ๊ฐ์์์ ํฉํ ๋ฆฌ ๋ฉ์๋ ํํ๋ฅผ ์ฌ์ฉํ๋ ์ด์ ๊ฐ ๊ถ๊ธํ์ต๋๋ค!! (๊ธฐ์ ์ ์ผ๋ก ๋ ์ง๋ณดํ ํํ์ธ์ง์)๋์ผํ ํด๋์ค๋๋ผ๋ ๊ฐ์ฒด์ ๋ํ ์์ฑ ์๋๋ ๋ชจ๋ ๋ค์ํ ์ ์๋๋ฐ์, ์์ฑ์์ ๋ฌ๋ฆฌ ํฉํ ๋ฆฌ ๋ฉ์๋๋ ๋ค์ด๋ฐ์ผ๋ก ์๋๋ฅผ ๋ช ํํ๊ฒ ๋๋ฌ๋ผ ์ ์์ต๋๋ค.์๋ฅผ ๋ค์ด, User ๊ฐ์ฒด๋ฅผ ์์ฑํ๋ค๋ฉด, ๊ด๋ฆฌ์(User.admin()), ์ผ๋ฐ ์ฌ์ฉ์(User.normal()), ๋จ์ ๋ณํ(User.from(dto)), ์๋ฌ ์์ ๋ํดํธ ๊ฐ์ฒด ์๋ต(User.empty()) ๋ฑ ํฉํ ๋ฆฌ ๋ฉ์๋๋ฅผ ํ์ฉํ๋ฉด ์ฝ๋์ ์๋๊ฐ ๋์ฑ ๋ช ํํ๊ฒ ๋๋ฌ๋๊ฒ ๋ฉ๋๋ค.๋, ๋งค๋ฒ ์๋ก์ด ๊ฐ์ฒด๋ฅผ ์์ฑํ ํ์ ์์ด ๋์ผํ ๊ฐ์ฒด๋ฅผ ์ฌ์ฌ์ฉํด๋ ๋๋ค๋ฉด, ํฉํ ๋ฆฌ ๋ฉ์๋์์ ์บ์๋ ๊ฐ์ฒด๋ฅผ ๋ฐํํ๋ ๋ฑ ๋์ฑ ์ ์ฐํ๊ฒ ํ์ฉํ ์ ์๊ณ ์. (User.empty() ๊ฐ์๊ฑด ์ฑ๊ธํค ๊ฐ์ฒด๋ก ๋ฐํ)๋ค๋ฅธ ์ด์ ์ผ๋ก๋ ํ์ ํ์ ์ผ๋ก ๋ฐํํด์ค ์๋ ์์ต๋๋ค. ์๋ฅผ ๋ค์ด, List๋ ์ธํฐํ์ด์ค์ธ๋ฐ List.of(โaโ)๋ ์ค์ ํ์ ํ์ ์ผ๋ก ๊ตฌํ์ฒด๋ฅผ ๋ง๋ค์ด์ค๋๋ค.์ธ์๋, ํฉํ ๋ฆฌ ๋ฉ์๋์ ์์ฑ์์ ์ฐจ์ด๋ ๊ฒ์ํด ๋ณด์๋ฉด ๋ง์ ์๋ฃ๋ฅผ ์ฐพ์๋ณด์ค ์ ์์ ๊ฒ ๊ฐ๋ค์! ๊ทธ๋ฆฌ๊ณ ๊ฐ์ฒด๋ง๋ค response๋ฅผ ๋ง๋ค์ด์ commentResponse, ArticleLikeResponse ๊ฐ์๊ฑธ ๋ง๋ค์ด api ๋ฐํ์ ์ฌ์ฉํ๋๋ฐ, entity๋ ํ๋๋ ๋ค๋ฅด์ง ์์๋ฐ ๊ตณ์ด ์ด๋ ๊ฒ ์ผ์ผ์ด response ๊ฐ์ฒด๋ฅผ ๊ฐ๊ฐ ๋ง๋ค์ด์ ์ฝ๋๋ฅผ ์ง์ผํ๋์ง ๊ถ๊ธํฉ๋๋ค!!๋ฐ๋์ ๊ทธ๋ด ํ์๋ ์์ง๋ง, ๋ด๋ถ์ ์ธ ๋๋ฉ์ธ ๋ชจ๋ธ๊ณผ ์๋ต ๋ชจ๋ธ์ ๋ณ๋๋ก ๊ด๋ฆฌํ๋๊ฒ ์ ๋ฆฌํ ์ํฉ์ด ๋ง์ต๋๋ค.ํด๋ผ์ด์ธํธ์๊ฒ ๋ถํ์ํ ๋ฐ์ดํฐ๊น์ง ๋๋ฉ์ธ ๋ชจ๋ธ์ ํฌํจ๋ ์ํฉ(๋ณด์, ๋ฐ์ดํฐ ํฌ๊ธฐ, ์ ์ก ์ง์ฐ ๋ฑ ๋ฌธ์ ) ํด๋ผ์ด์ธํธ์ ์๊ตฌ์ฌํญ๊ณผ ๋๋ฉ์ธ ๋ชจ๋ธ์ด ์ผ์น๋์ง ์๋ ์ํฉ(์ฌ๋ฌ ๋ชจ๋ธ์ ์กฐํฉํ๊ฑฐ๋ ์ถ๊ฐ์ ์ธ ๊ฐ๊ณต์ด ํ์ํ ์ ์์)์์ ๊ฐ์ ์ํฉ๋ค์ ์๊ฐํด ๋ณด์๋ฉด ์ดํด๊ฐ ํธํ ๊ฒ ๊ฐ๋ค์!
- 0
- 2
- 37
Q&A
RateLimitTest์ ์ ๋ 2์ด๋ก ํด์ผ ์ ์์ผ๋ก ๋์ค๋๋ฐ
wisehero๋, ์๋ ํ์ธ์! ๋ค, ๋ง์ํ์ ๋๋ก 2์ด๋ก ํด์ผ ์ฑ๊ณตํ๋๊ฒ ์ ์์ ๋๋ค.1์ด๋ ํ๊ฒฝ์ด๋ ์์ ์ ๋ฐ๋ผ ์ฑ๊ณตํ ์๋ ์๊ณ , ์คํจํ ์ ์์ต๋๋ค.์ TTL์ 1์ด์ธ๋ฐ sleep์ 2์ด๋ ํ์ํ์ง ์๋ฌธ์ด์ค ์ ์์ ๊ฒ ๊ฐ์๋ฐ์,์ปดํจํฐ๊ฐ ๋ฌผ๋ฆฌ์ ์ผ๋ก ์๋ฒฝํ๊ฒ ์ ํํ ์๊ฐ์ ๋ณด์ฅํ ์๋ ์์ด์,๋ฏธ์ธํ ์๊ฐ์ ๋ํด์๋ ์ค์ฐจ์ ์ง์ฐ์ด ์๊ธธ ์ ์๊ธฐ ๋๋ฌธ์ ๋๋ค.์ค์ ๋ก๋ ์ ํํ 1์ด๊ฐ ์๋๋ผ, ์ฝ 1์ด๋ผ๊ณ ๋ด์ฃผ์๋ฉด ๋ฉ๋๋ค.๊ทธ๋์ ํ ์คํธ์์๋ ๋ฏธ์ธํ ์๊ฐ ์ฐจ์ ์ํ ํ์ด๋ฐ ๋ฌธ์ ๋ฅผ ํผํ๊ธฐ ์ํด ๊ทธ๋ฅ ์ฌ์ ๋กญ๊ฒ 2์ด sleep์ผ๋ก ์์ฑํ ๊ฒ์ ๋๋ค!
- 0
- 2
- 28
Q&A
์ปค์ ๊ธฐ๋ฐ ํ์ด์ง๋ค์ด์ ๊ณผ ๋ฌดํ ์คํฌ๋กค๋ง
KMC๋, ์๋ ํ์ธ์! ๋ฌดํ ์คํฌ๋กค๋ง์ ๋ ๋ฒ์งธ๋ถํฐ ๋ณดํต ๋์ชฝ id ์ ๋ฐ์ดํฐ๋ฅผ ๊ธฐ๋ฐ์ผ๋ก ๋ฐ์ดํฐ๋ฅผ ๋ถ๋ฌ์ค๋ ๋ฐฉ์์ด๋ณดํต ์ปค์ ๊ธฐ๋ฐ ํ์ด์ง๋ค์ด์ ๊ณผ ํฐ ์ฐจ์ด๊ฐ ์๋ ๊ฑด๊ฐ์? (claude ๋ ) ๋ธ๋ก๊ทธ ๋ณด๋ฉด์ ์ด๊ฒ๋ ๋น์ทํ ๊ฐ๋ ์ธ ๊ฑฐ ๊ฐ์์ ์ง๋ฌธ ๋๋ฆฝ๋๋ค.๋ฌดํ ์คํฌ๋กค ์ฌ์ฉ์ฑ์์ ํน์ ๊ธฐ์ค์ (๊ฐ์์์๋ ๋ง์ง๋ง ID)์ผ๋ก ๋ค์ ๋ฐ์ดํฐ๋ฅผ ๋ถ๋ฌ์ค๋ ๊ฒ์ด ์ปค์ ๊ธฐ๋ฐ ํ์ด์ง๋ค์ด์ ์ ๋๋ค! ๋์ผํ ์๋ฏธ์ ๋๋ค.๋ฌดํ ์คํฌ๋กค์ ์ค์ ์ฌ์ฉ์ ์ ์ฅ์์์ ์ฉ์ด์ด๊ณ , ๋ด๋ถ์ ์ธ ๊ตฌํ ๊ด์ ์์๋ ์ปค์ ๊ธฐ๋ฐ์ผ๋ก ๋์ํฉ๋๋ค.๋ฌผ๋ก , ๋ฌดํ ์คํฌ๋กค์ด ํญ์ ์ปค์ ๊ธฐ๋ฐ์ผ๋ก ๋์ํด์ผํ๋ค๋ ๊ฒ์ ์๋๊ณ , offset/limit ๋ฐฉ์์ผ๋ก๋ ๋ฌดํ ์คํฌ๋กค๋ง์ ๊ตฌํํ ์๋ ์์ต๋๋ค. ๋ค๋ง, ๋ฌดํ ์คํฌ๋กค๋ง์ด๋ผ ํ๋ฉด ์ปค์ ๊ธฐ๋ฐ ๊ตฌํ์ ์ผ๋ฐ์ ์ผ๋ก ์ฌ์ฉํ๊ธด ํ๋ค์. ์ด๋ ๊ฒ ์ํฐํฐ์ ์ธ๋ฑ์ค๋ฅผ ๋ง๋ค์ด์ ์ฌ์ฉํ๋์ง ๊ถ๊ธํฉ๋๋ค. ๊ฐ์์์ ์ฒ๋ผ SnowFlake๋ ๋ณดํต ์ ๋ ๊ฒ ์ธ๋ฑ์ค๋ฅผ ๋ง๋ค์ด์ ํ์ฉํ๋์ง๋ ๊ถ๊ธํฉ๋๋ค.Snowflake๋ ๊ทธ์ ์ค๋ฆ์ฐจ์ ์๋ฅผ ์ถฉ๋์์ด ๋น ๋ฅด๊ฒ ์์ฑํ๊ธฐ ์ํ ์๊ณ ๋ฆฌ์ฆ์ด๊ณ , ์ด๋ฌํ ํน์ฑ์ผ๋ก ์ธํด primary key๋ก ์ฌ์ฉ๋ ๋ฟ ์ธ๋ฑ์ค์๋ ๋ฌด๊ดํฉ๋๋ค.์๋ฌดํผ ์ํฐํฐ์ ์ธ๋ฑ์ค, ์ฐ๊ด ๊ด๊ณ ๋ฑ์ ์ ๋ ธํ ์ด์ ์ ์ง๋ฌธ์ฃผ์ ๊ฒ์ผ๋ก ์ดํดํ๋๋ฐ์.๊ทธ๋ ๊ฒ ํด๋ ๋๊ณ , ์ํด๋ ๋ฉ๋๋ค. ๊ฐ์ ๋ ๋ถ๋ถ๋ ์๊ณ ์์ ๋กญ๊ฒ ํ๋ฉด ๋ฉ๋๋ค.ํ์ง๋ง ์กฐ๊ธ ๋ ์ค๋ฌด ๊ด์ ์์ ๋ณธ๋ค๋ฉด, ์ธ๋ฑ์ค๋ฅผ ์ฝ๋์ ์ ๋ ธํ ์ด์ ์ผ๋ก ์ ์ํ๋ ๊ฒฝ์ฐ๋ ์ ์์ต๋๋ค.๋ฌผ๋ก , ์์ฒ๋ผ ์ฌ์ฉํ๋ ์ฌ๋๋ ์๊ฒ ์ง๋ง, ํ๋ฒ ์ฌ์ฉ๋๊ณ ๋ง ์ฝ๋์ด๊ณ DDL์ ๋ณ๋ ์คํฌ๋ฆฝํธ ๋๋ ๋ฌธ์๋ก ๊ด๋ฆฌํ๊ฑฐ๋ db์ ์์ฑ๋๊ฑธ ์ง์ ๋ณด๋๊ฒ ์ผ๋ฐ์ ์ธ ๊ฒ ๊ฐ๋ค์.์ฐ๊ด ๊ด๊ณ ์ ๋ ธํ ์ด์ ๋ ๊ฐ์ฒด ๊ฐ์ ๊ฐ๊ฒฐํฉ๋๋ฉด ์ ์ง๋ณด์๋ ์ด๋ ต๊ณ , ์ ์ด์ ๋ถ์ฐ ํ๊ฒฝ์ด๋ผ๋ฉด ๊ฐ์ฒด ์ฐธ์กฐ ์์ฒด๊ฐ ์ด๋ ค์ธ ์ ์์ด์ ๊ตณ์ด ์ฌ์ฉํ์ง ์๋ค์.์ ์ ์ฃผ๋ณ์ ๊ฒฝ์ฐ๋ฅผ ๋ณด๋ฉด, ์ ์ด์ JPA ์์ฒด๋ฅผ ์์ฐ๋ ๊ฒฝ์ฐ๊ฐ ๋์ฑ ์ผ๋ฐ์ ์ด๋ผ๊ณ ์๊ฐ๋๋ค์.
- 0
- 2
- 43
Q&A
์น์ 3์ 22๋ฒ์งธ ๊ฐ์์์ ์๋ฌ๋ฐ์ํฉ๋๋ค..
MinKyu Song๋, ์๋ ํ์ธ์! ์ฝ๋๊ฐ ์๋ ๋ก์ปฌ ํ๊ฒฝ์ ๊ดํ ๋ถ๋ถ์, ์ ๊ฐ ์ ํํ ์์ธ์ ์ถ์ ํ ์ ์๋ค๋ณด๋ ์ง์ ํด๊ฒฐํด ๋๋ฆฌ๊ธฐ์ ์ด๋ ค์์ด ์๋ค์..! ์ด์ ์ RedisTestContainerSupport ์ฒ์ ๋ง๋ค๊ณ ํ ์คํฌ ์ํํ๋๊ฑด ์ ์์ ์ผ๋ก ๋์๊ฐ๊ณ ์๊ณ ,SplitShardedBloomFilterRedisHandlerTest.mightContain ํ ์คํธ๋ง ์คํจํ๊ณ ์๋ค๋ ๋ง์์ด์ค๊น์? ๋ก์ปฌ์ ๋์ปค๊ฐ ์ ์คํ๋๊ณ ์๋์ง ๋ค์ ํ๋ฒ ์ ๊ฒํด๋ณด์๊ณ ,๊ตฌ๊ธ์ Could not find a valid Docker environment ๊ฒ์ํด๋ณด๋ฉด ๋น์ทํ ์ฌ๋ก๋ค์ด ๋์ค๋๋ฐ ํ๋์ฉ ํ์ธํด๋ณด์๊ฒ ์ด์?
- 0
- 4
- 54
Q&A
๊ฒ์๊ธ ์์ฑ ๋ก์ง์์ ์ค๋ฅ ๋ฐ์์ redis ๊ฒ์๊ธ ์ ๋๋๋ฆฌ๊ธฐ
songso0412๋, ์๋ ํ์ธ์! ๊ฐ์์์๋ ๊ฒ์๊ธ ์์ฑ๊ณผ ๊ฒ์๊ธ ์์ ์ ํฉ์ฑ์ ์ํด ๋ชจ๋ rdb์ ์ ์ฅํ๊ณ ๋จ์ผํ ํธ๋์ญ์ ์ผ๋ก ๊ด๋ฆฌํ๋ ์ ๋ต์ ์ทจํ๊ณ ์๋๋ฐ์,๊ทธ์ ๋ณ๊ฐ๋ก redis์ ๊ฒ์๊ธ ์๋ฅผ ์ ์ฅํ๋ ์ํฉ์ ๋ง์ํ์๋ ๊ฒ์ผ๊น์?rdb ํธ๋์ญ์ ์ด ์ปค๋ฐ๋ ํ์ redis ์ฆ๊ฐ๊ฐ ์คํจํ๊ฑฐ๋,redis ์ฆ๊ฐ๋ ํ์ rdb ํธ๋์ญ์ ์ด ๋กค๋ฐฑ๋๋ ๊ฒฝ์ฐ๊ฐ ์๊ฒ ๋ค์. ์ ํฉ์ฑ์ ๋ฐ๋์ 100% ์๋ฒฝํ๊ฒ ์ง์ผ์ผํ๋์ง์ ๋ํด์๋ ๊ณ ๋ฏผํด๋ณผ ์ ์์ ๊ฒ ๊ฐ์ต๋๋ค.์ด๋ฌํ ์ํฉ์ด๋ผ๋ฉด ํธ๋์ญ์ ์ด ๋กค๋ฐฑ๋ ๋์ ์์ธ๋ฅผ ์บ์นํด์, ์ ํ๋ฆฌ์ผ์ด์ ์์ redis ์นด์ดํธ๋ฅผ ๋ค์ ๊ฐ์์์ผ์ฃผ๋ฉด ๋ฉ๋๋ค.๋ฌผ๋ก ์ด๋ ๊ฒ ํ๋ฉด redis ๊ฐ์ ์ฝ๋๊ฐ ์คํจํ ์๋ ์๊ธฐ ๋๋ฌธ์ ์ ํฉ์ฑ์ ์๋ฒฝํ๊ฒ ๋ณด์ฅ๋์ง ์์ต๋๋ค.ํ์ง๋ง ์ค๋ฅ๋ก ์ธํด ์ ํฉ์ฑ์ด ๊นจ์ง๋ ์ํฉ์ด ํํ๊ฒ ๋ฐ์ํ๋ ๊ฒ๋ ์๋๊ณ , ์ด๋ค ๋ฐ์ดํฐ์ธ์ง์ ๋ฐ๋ผ์ ๊นจ์ง๋๊ฒ ๋ฌธ์ ๋์ง ์์ ์๋ ์์ต๋๋ค.ํ์ฒ๋ฆฌ ๋ณด์ ์ ๋ฃ๋ ์ ๋ต๋ ๊ฒธํ ์ ์๋ ๊ฒ์ด๊ณ ์. ๊ฐ์ง๊ฐ ๋์์ ๋, ๋ฌธ์๊ฐ ๋ค์ด์์ ๋, ์ฃผ๊ธฐ์ ์ผ๋ก ๊ฒ์ฌ(์ํ๋ง ๋ฑ)ํ ๋ ๋ฑ ๋ฐ์ดํฐ์ ์ ํฉ์ฑ์ ๋ค๋ฆ๊ฒ ๋ณด์ ์์ผ์ค๋ ์์คํ ์ด์์ ํฌ๊ฒ ๋ฌธ์ ๊ฐ ์์ ์ ์์ต๋๋ค.๋ฌดํผ ์ด๋ ๊ฒ ์ ํ๋ฆฌ์ผ์ด์ ์์ ๋ณด์ ํธ๋์ญ์ ์ ์ํํด์ ํด๊ฒฐํ ์ ์์ต๋๋ค. (๋ณ๋์ ํธ๋์ญ์ ๋๋ ๋ก์ง์ผ๋ก ์ ํฉ์ฑ์ ๋ง์ถ๋ค๋ ์๋ฏธ์ ๋๋ค. ํ์ง๋ง ๋ณด์ ํธ๋์ญ์ ์ ๋ํ ์คํจ์ ๋ํ ๊ณ ๋ ค๋ ํ์ํ๋ค์.) ๊ทผ๋ฐ ์ ํฉ์ฑ์ด ์ฃผ์ํ๋ค๋ฉด, rdb ํธ๋์ญ์ ์ผ๋ก ๋ฌถ์ด๋ด๋๊ฒ ๊ฐ์ฅ ๊ฐ๋จํ๊ณ ํ์คํ ํด๊ฒฐ์ฑ ์ผ ์ ์์ต๋๋ค.์ ํฉ์ฑ์ ์ํ ๋ค๋ฅธ ๋ฐฉ๋ฒ์ผ๋ก๋, ๋ง์ง๋ง ์ฑํฐ์์ ์๊ฐํ๋ Transactional Outbox ์ ๋ต๊ณผ ์ปจ์๋จธ์ ๋ฉฑ๋ฑ ๋๋ ์ค๋ณต ๋ฐฉ์ง ์ ๋ต์ ์ทจํ ์๋ ์์ต๋๋ค.๊ฒ์๊ธ ์์ฑ ํธ๋์ญ์ ์ด ์๋ฒฝํ๊ฒ ์ข ๋ฃ๋์์ ๋์ ์ด๋ฒคํธ๋ฅผ ์ ์ค ์์ด ๋ณด๋ด๊ณ , ์ปจ์๋จธ์์๋ ๊ฒ์๊ธ ์๋ฅผ ์ฆ๊ฐ์์ผ์ค๋๋ค. ๋ฌผ๋ก ์ค๋ณต ์ด๋ฒคํธ์ ๋ํ ๋ฌธ์ ๊ฐ ๋ฐ์ํ ์ ์๊ธฐ ๋๋ฌธ์ ์ผ์ ์๊ฐ ๋ฒํผํด๋๊ฑฐ๋ ์ฒ๋ฆฌํ ์ด๋ฒคํธ์ ๋ํด์๋ ๊ด๋ฆฌํ๋ ์ ๋ต์ ๊ฒธํด์ผ๊ฒ ๋ค์. ์ด๋ ํ ์ฌ์ ๋ก redis์ ๊ด๋ฆฌํ์๋ ค๋ ์๋์ธ์ง ์ ํํ ํ์ ํ๊ฑด ์๋์ง๋ง,์ ๋ผ๋ฉด ์ ํฉ์ฑ์ด ํ์ํ ๋ฐ์ดํฐ๋ฅผ rdb/redis์ ๋ถ๋ฆฌ ์ ์ฅํ๋ฉด์๊น์ง ์ธํ๋ผ์ ์ด์ ๋ณต์ก๋๋ฅผ ๋์ผ ๋ฐ์์ผ rdb ๋จ์ผ ํธ๋์ญ์ ์ ์ด์ฉํ ๊ฒ ๊ฐ์ต๋๋ค.์กฐํ ์ฑ๋ฅ์ ๋ํ ์ฐ๋ ค๊ฐ ์๋ค๋ฉด(๊ณต๊ฐ์ ๋ํ ์ฐ๋ ค๋ ์คํ๋ ค ์์ ๊ฒ์ด๊ณ ์), rdb์ ๋จผ์ ์ฐ๊ธฐ ์์ ์ ํ ๋ค์ redis์ ์ฝ๊ธฐ์ฉ์ผ๋ก ๋ฐ๋ก ๋ฐ์ดํฐ๋ฅผ ์บ์ํด๋ ์๋ ์๋ ๊ฒ์ด๊ณ ์. ๋ฑํ ์ ๋ต์ ์๊ณ ์์คํ ์ด์ ๋ฐฉ์์ ๋ฐ๋ผ์ ํด๊ฒฐ์ฑ ๋ ๋ค์ํ ์ ์์ด์, ์ํฉ์ ์๋ง๊ฒ ์ ๋นํ ๋ฐฉ๋ฒ์ ์ฐพ์๋๊ฐ๋๊ฒ ์ข์ ๊ฒ ๊ฐ๋ค์!
- 0
- 2
- 54





