์ง์๊ณต์ ์ ์๊ฐ โ๏ธ
์๋ ํ์ธ์ ! ์ง์๊ณต์ ์ ์ฅฌ์ฅฌ์ ๋๋ค. ์ ๋ ํด์ธ์ IT ๋๊ธฐ์ ์์ WAU 3์ฒ๋ง ์์ค์ ์๋น์ค์ ๋ฐฑ์๋ ๊ฐ๋ฐ์๋ก ๊ทผ๋ฌดํ๊ณ ์์ต๋๋ค. ํ๊ตญ์์ ๋ค์์ ์ ๋์ฝ ๊ธฐ์ ์์ ํฉ๊ฒฉ ๋ฐ ์ฌ์ง ๊ฒฝํ์ด ์์ผ๋ฉฐ ๋ฉด์ ๊ด์ผ๋ก๋ ์์ญ์ฐจ๋ก ์ด์์ ๊ธฐ์ ๋ฉด์ ์ ์งํํด์์ต๋๋ค ! IT๋ ํญ์ ๋์์์ด ๋ณํํ๋ฉฐ ์ ๋ ๊ทธ์ ๋ง์ถ์ด ๊ณต๋ถ๋ฅผ ์ง์ํด์์ต๋๋ค. ์ฝ 50๊ถ ์ด์์ IT ์์๋ฅผ ์ฝ๊ณ ๋์, IT ์ฐ์ ์ ๊ดํตํ๋ "ํจํดํ์ ๊ด์ "์ ๋งค๋ฃ๋์ด ์ด๋ฌํ ๊ด์ ๊ณผ ๋ ธํ์ฐ๋ฅผ ๋ค์ํ ๋ถ๋ค์ด ์์์ผ๋ฉด ์ข๊ฒ ๋ค๋ ๋ง์์ผ๋ก ์ง์๊ณต์ ๋ฅผ ์์ํ์ต๋๋ค!
์ด๋ ฅ ์ฌํญ/ํฌํธํด๋ฆฌ์ค/๊ฐ์ธ ์์
(ํ) ํด์ธ IT๋๊ธฐ์ ๊ฐ๋ฐ์, ํด์ธ ๊ฑฐ์ฃผ
(์ ) ํ๊ตญ ์ ๋์ฝ ๊ธฐ์ ๋ฐฑ์๋ ๊ฐ๋ฐ์
Courses
Reviews
- Backend in one day with Juju - Spring, Docker, AWS
- Backend in one day with Juju - Spring, Docker, AWS
- Backend in one day with Juju - Spring, Docker, AWS
- Backend in one day with Juju - Spring, Docker, AWS
- Spring Testing in One Day with Juju
Posts
Q&A
๊ฐ์๋ฅผ ์๊ฐํ๋ฉด์ 2๊ฐ์ง ์ง๋ฌธ์ด ์๊ฒผ์ต๋๋ค
์๋ ํ์ธ์. ์ง์๊ณต์ ์ ์ฅฌ์ฅฌ์ ๋๋ค!๋ง์ํ์ ๋๋ก, ๋ธ๋ฆฟ์ง ๋คํธ์ํฌ๋ฅผ ์ด์ฉํด ๊ตฌ์ฑํ์๋ ๊ฒ๋ ๊ฐ๋ฅํฉ๋๋ค.๊ฐ์๋ฅผ ์์ฒญํ์๋ ๋ถ๋ค์ด ์ต๋ํ ์ค๋ฅ์์ด ๊ทธ๋๋ก ๋ฐ๋ผํ์ค ์ ์๋๋ก ์์ฒ๋ผ ๊ฐ์๋ฅผ ์ ์ํ์ต๋๋ค!๊ฐ์ฌํฉ๋๋ค.
- 0
- 2
- 128
Q&A
lombok ์ค์ ์์ ์ค๋ฅ๊ฐ ๋ฐ์ํด์
์๋ ํ์ธ์ ์ง์ ๊ณต์ ์ ์ฅฌ์ฅฌ์ ๋๋ค! ํน์ IntelliJ์์ annotation processing์ด enabled ๋์ด์๋์ง ํ์ธ ๋ถํ๋๋ ค์!๊ฐ์ฌํฉ๋๋ค.
- 0
- 2
- 123
Q&A
2 -1 lombok ์ค์ ์์ ์ค๋ฅ๊ฐ ๋ฐ์ํด์
์๋ ํ์ธ์! ์ง์๊ณต์ ์ ์ฅฌ์ฅฌ์ ๋๋ค. ํน์ ์ธํ ๋ฆฌ์ ์ด์ ์ด๋ ธํ ์ด์ ํ๋ก์ธ์ ์ค์ ์ด ๋์ด์์ผ์ค๊น์?
- 0
- 3
- 146
Q&A
github action
์๋ ํ์ธ์ ! ์ง์๊ณต์ ์ ์ฅฌ์ฅฌ์ ๋๋ค. JOB์ ์คํ ์ฃผ์ฒด๋ ํฌ๊ฒ ๋๊ฐ์ง๋ก ๋๋ฌ์์ง๋๋ฐ์.Managed RunnerSelf-Hosted Runner์ ํฌ๋ ๋ณ๋์ ์ค์ ์ ํ์ง ์๊ธฐ ๋๋ฌธ์ ๊นํ์์ ์ ๊ณตํ๋ Managed Runner (์๋ฒ ์ธ์คํด์ค)๋ฅผ ์ฌ์ฉํฉ๋๋ค.์ด๊ณณ์๋ ๋ณ๋์ JDK๊ฐ ์ค์น๋์ด ์์ง ์๊ธฐ ๋๋ฌธ์ JDK ์ค์น ๊ณผ์ ์ด ํ์ํฉ๋๋ค. ๊ฐ์ฌํฉ๋๋ค !
- 0
- 2
- 206
Q&A
put api 500 ์๋ฒ์๋ฌ์๋ต ๋ฌธ์
์๋ ํ์ธ์ ! ์ง์๊ณต์ ์ ์ฅฌ์ฅฌ์ ๋๋ค. ์์ธํ ๋ต๋ณ์ ์ํด ๋ก๊ทธ ์ฒจ๋ถ ๋ถํ๋๋ ค์ ! ๊ฐ์ฌํฉ๋๋ค.
- 0
- 1
- 182
Q&A
์คํ๋ง ๋ฒ์
์๋ ํ์ธ์ ! ์ง์๊ณต์ ์ ์ฅฌ์ฅฌ์ ๋๋ค. ์คํ๋ง ๋ฒ์ 1๊ณผ 2๋ ์คํ๋ง ๋ถํธ ๋ฒ์ ๋ง์ํ์๋ ๊ฒ์ด ๋ง์ผ์ค๊น์? ์ ๋ ๊ทธ๋ ๊ฒ ์ฌ์ฉํด๋ณธ ๊ฒฝํ์ ์์ง๋ง ์ด๋ก ์ ๊ฐ๋ฅํ๋ค๊ณ ์๊ฐํฉ๋๋ค. ์คํ๋ง ๋ถํธ 2 ๋ฒ์ ์์๋ junit5๋ฅผ ์ฌ์ฉํ๋๋ผ๋ ํฐ ๋ฌธ์ ๊ฐ ์์ ํ๋ฅ ์ด ๋์ง๋ง, 1๋ฒ์ ์์๋ ์คํ๋ง๋ถํธ์์ ๊ด๋ฆฌํ๋ ๋ผ์ด๋ธ๋ฌ๋ฆฌ๋ค์ ๋ฒ์ ๊ณผ ์ถฉ๋์ด ์ฐ๋ ค๋๊ธฐ ๋๋ฌธ์, junit ์ด์ ๋ฒ์ ์ ์ฌ์ฉํ์๋ ๊ฒ์ ๊ถ์ฅ๋๋ฆฝ๋๋ค. ํ์ฌ ์ ํฌ๋ 3๋ฒ์ ์ ์ฌ์ฉํ๊ณ ์์ง๋ง, 2๋ฒ์ ์์๋ junit5๋ฅผ ๋ฌด๋ฆฌ ์์ด ์ฌ์ฉํ๋ ๊ฒฝํ์ด ์์ต๋๋ค. ๋ํ 2๋ฒ์ ์์๋ 2๋ฒ์ ์ผ๋ก ์ฌ๋ฆด ๋ ํฐ breaking point๊ฐ ์๊ธฐ ๋๋ฌธ์, ๋ฒ์ ์ฌ๋ฆฌ๋ ๊ฒ๋ ์ด๋ ต์ง ์์ ์ ์์ต๋๋ค. ๊ฐ์ฌํฉ๋๋ค !
- 0
- 2
- 217
Q&A
์๋น์ค ๋ฉ์๋ ์์ฑ ์ ์ง๋ฌธ!
์๋ ํ์ธ์. ์ง์๊ณต์ ์ ์ฅฌ์ฅฌ์ ๋๋ค ! ๋๋ถ๋ถ์ ๋ก์ง์ Domain Model ์์์ ์์ฑํ๋ ๊ฒ์ ๊ถ์ฅํฉ๋๋ค. ์ผ๋ฐ์ ์ผ๋ก ์๋์ ๊ฐ์ ๋๋์ผ๋ก ์ฌ์ฉํ๊ณ ์์ต๋๋ค.ApplicationService (Primary Port) -- ์ฌ์ฉ --> DomainService / DomainModel / Repository (Secondary Port) ์ ๋ ์ ์ถ์ํ๋ ๊ฒ์ด ์๋๋ผ๋ฉด ์๋น์ค์ ๋ฉ์๋์ depth๋ฅผ ๋๋ฆฌ๋ ๊ฒ์ ์ ํธํ๋ ํธ์ ์๋ ๊ฒ ๊ฐ์ต๋๋ค. ๊ถ๊ธํ์ ์ฉ์ด๋ค์ ๊ฒ์ ํด๋ณด์๊ณ ๋ชจํธํ ๊ฒ๋ค ์ถ๊ฐ๋ก ๋ฌธ์์ฃผ์๋ฉด ๊ฐ์ฌํฉ๋๋ค ! ๊ฐ์ฌํฉ๋๋ค.
- 0
- 2
- 291
Q&A
2-3 ์งํ ์ค ์๋ฌ ๋ฐ์
์๋ ํ์ธ์ ! ์ง์๊ณต์ ์ ์ฅฌ์ฅฌ์ ๋๋ค. ํน์ Exception Log๋ฅผ ์ฒจ๋ถํด์ฃผ์ค ์ ์์ผ์ค๊น์? ๊ฐ์ฌํฉ๋๋ค.
- 0
- 2
- 304
Q&A
RestaurantApi ์ปจํธ๋กค๋ฌ ๊ฐ๋ฐ ์ง๋ฌธ
์๋ ํ์ธ์. ์ง์๊ณต์ ์ ์ฅฌ์ฅฌ์ ๋๋ค. ํ์ ์์๋ ์ผ๋ฐ์ ์ผ๋ก Scalar ๊ฐ์ผ๋ก ๋๊ธฐ๊ฑฐ๋ ๊ฐ์ฒด ์ปจ๋ฒํ ์ ํ๋ฒ ๋ ํ์ฌ ๋ฉ์๋๋ฅผ ํธ์ถํฉ๋๋ค. ์๋ฅผ ๋ค์ด์, Request ๊ฐ์ฒด๊ฐ ์๋ค๊ณ ๊ฐ์ ํ์ ๋ ์๋์ฒ๋ผ ํ๋ฒ ์ปจ๋ฒํ ํ๊ฑฐ๋, ์ธ์๊ฐ์ ํ์ด ์ฌ์ฉํ๋ ํํ์ ๋๋ค ! FooBarReqeust -> method(FooBarCommand/Query)FooBarRequest -> method(propert1, proeprty2) ์ผ๋ฐ์ ์ผ๋ก Request๊ฐ์ฒด์์ ์๋์ฒ๋ผ ๋ฐ๊พธ์ด์ค๋๋ค. class FooBarRequest { String proeprty1; String property2; public FooBarCommand toCommand() { return new FooBarCommand(property1, property2); // builder๊ฐ ์๋ค๋ฉด builder ์ฌ์ฉ } } ๊ฐ์ฌํฉ๋๋ค !
- 0
- 2
- 226
Q&A
๋ณ๊ฒฝ๋ฐ์ดํฐ ์ ์ฅ ๋ฐฉ๋ฒ ์ง๋ฌธ ์์ต๋๋ค!
์๋ ํ์ธ์. ์ง์๊ณต์ ์ ์ฅฌ์ฅฌ์ ๋๋ค. ์ด์ ์ ๋น์ทํ ์ง๋ฌธ์ด ์์์ด์, ์ฒจ๋ถํฉ๋๋ค ! ๊ฐ์ฌํฉ๋๋ค. ์๋ ํ์ธ์ ์ง์๊ณต์ ์ ์ฅฌ์ฅฌ์ ๋๋ค! ๋ง์ํ์ ๋๋ก JPA์์๋ ์์์ฑ์ปจํ ์คํธ์ ์๋ Entity์ ๋ํฐ์ฒดํน์ ํตํด update ์ฟผ๋ฆฌ๋ฅผ ๋ ๋ ค์ฃผ๋ฏ๋ก save() ๋ฉ์๋๋ฅผ ํธ์ถํ์ง ์์๋ ๋ฐ์ดํฐ๋ฒ ์ด์ค์ ๋ฐ์๋ฉ๋๋ค! ์ข์ ๋ง์์ด์ ๊ฒ ๊ฐ์ต๋๋ค! ํ์ง๋ง ์ด๊ฒ์ JPA Nativeํ ๊ธฐ๋ฅ(spring-data-jpa๊ฐ ๊ฐ์ง๊ณ ์๋ ํน์ง์ด๋ ๋ป์ ๋๋ค!)์ผ๋ก, @Repository์ save() ๋ฉ์๋๋ฅผ ๋ช ์์ ์ผ๋ก ํธ์ถํด์ฃผ๋ ๊ฒ์ด ํน์ ์ํฉ์์๋ ์ข์ ์ ์์ต๋๋ค. ์๋ฅผ ๋ค์ด, ๋ค์๊ณผ ๊ฐ์ ์๊ตฌ์ฌํญ์ด ์๊ฒผ๋ค๊ณ ๊ฐ์ ํด๋ณผ๊ฒ์!JPA๋ก ์ ์ธํ Entity๋ฅผ ๋ค๋ฅธ spring-data ๋ผ์ด๋ธ๋ฌ๋ฆฌ๋ก ๊ต์ฒดํ ๊ฒฝ์ฐ (mongo db๋ r2dbc์ ๊ฐ์)์ด ๋ JPA๋ฅผ ์ฌ์ฉํ ๋์๋ ๋์ํ๋ ์ฝ๋๋ค์ด ๋จ์ํ spring data ๊ตฌํ์ฒด๋ฅผ ๊ต์ฒดํจ์ผ๋ก์จ ๋์์ด ์ํ๋ ์ํฉ์ด ๋ฐ์ํ ์ ์์ต๋๋ค! ์ฌ์ค ์๊ฐ์ ์ํฉ์ ๋ง์ด ๋ฐ์ํ์ง๋ ์์ต๋๋ค. ์ ๊ฐ์ ๊ฒฝ์ฐ์๋ ๋ฉ๋ชจ๋ฆฌ์ ์๋ ๊ฐ์ฒด์ ์ํ๊ฐ ๋ณ๊ฒฝ๋์๋ค๋ฉด ์ ์ฅ์(Repository)์ ๋ค์ ์ ์ฅ(save)ํด์ฃผ๋ ์ฝ๋๊ฐ ๋ช ์์ ์ผ๋ก ์๋ ๊ฒ์ด ์กฐ๊ธ ๋ "์์ฐ"์ค๋ฝ๋ค๊ณ ๋๊ปด์ง๋๋ฐ์. ์ด๊ฒ์ ์ ๋๋์ผ ๋ฟ ๊ฐ๊ฐ์ธ์ด ๋ชจ๋ ๋ค๋ฅด๊ฒ ๋๋ ์ ์๋ค๊ณ ์๊ฐํฉ๋๋ค. ์ธํ๋๋์ด ์๊ฐ์ ๊ฒฌํด๋ค์ ํจ๊ป ์๊ฐํด๋ณด์๊ณ , ๋ ๋ซ๋ค๊ณ ํ๋จ๋๋ ๋ฐฉํฅ์ผ๋ก ๊ฐ๋ฐํ์๋ ๊ฒ์ด ๊ฐ์ฅ ์ข๋ค๊ณ ์๊ฐํฉ๋๋ค! Appendix.JPA์ ๋ํฐ์ฒดํน ๊ธฐ๋ฅ์ ๋งํดํ์ธ๋ฌ์ ์ ์ ์ํฐํ๋ผ์ด์ฆ ์ ํ๋ฆฌ์ผ์ด์ ์ํคํ ์ฒ ํจํด (P of EAA)์ ์์ ๋จ์(Unit of Work) ํจํด์ ์ฝ์ด๋ณด์๋ฉด ์ดํดํ๊ธฐ๊ฐ ๋์ฑ ์ข์ผ์ค๊ฑฐ์์! https://www.inflearn.com/questions/939276/%EB%A7%9B%EC%A7%91-%EC%88%98%EC%A0%95-api-%EC%A7%88%EB%AC%B8%EC%9E%85%EB%8B%88%EB%8B%A4
- 0
- 2
- 281