Posts
Q&A
์๋ฌ,AssertThat
์๋ ์ฃผ์์ฒ๋ฆฌ๊ฐ ์๋ ์ฌ์ฉ๋์ง ์์ ํด๋์ค๋ผ ide์์ ์์ ํ์์ผ๋ก ์ฒ๋ฆฌํ๊ฒ์ ๋๋ค. ํ์ฌ Assertions ๊ฐ Junit ์ ๊ฒ์ ๊ฐ์ ธ์ค๊ณ ์๊ณ , Junit5์ Assertions์์๋ assertThat์ ์ ๊ณตํ์ง ์์ method assertThat์ ์ฐพ์ ์ ์๋ค๋ ์ค๋ฅ๊ฐ ๋์ค๊ณ ์์ต๋๋ค. import org.junit.jupiter.api.Assertions; ๋ฅผ ์ง์ฐ๊ณ import org.assertj.core.api.Assertions; ๋ฅผ ์ถ๊ฐํด ๋ณด์๊ฒ ์ด์?
- Likes
- 0
- Comments
- 1
- Viewcount
- 515
Q&A
๋๊ฐ์ด ํ๋๋ฐ ์ ์์ด๋ ๊ฒ ๋์ค๋์?
1. ์ด๋ฅธ์ผ๊น์? ๋ท๋ถ๋ถ์ ํฐ๋ฐ์ดํ๋ก ๋ฌธ์์ด์ ๋ซ์์ฃผ์ด์ผ ํฉ๋๋ค. print(name+"๋ ์ด๋ฅธ์ผ๊น์? "+ str(is_adult)) 2. ๋ณ์์ ๋ฌธ์์ด์ ๋ํ ๊ฐ๋ ์ ๋ค์ ์์๋ณด์ ์ผ ํ ๊ฒ ๊ฐ์ต๋๋ค. name์ด๋ ๋ณ์์๋ "๊ฐ์์ง"๋ผ๋ ๋ฌธ์์ด ๊ฐ์ด ๋ค์ด์์ต๋๋ค. print(name) ์ ๊ฐ์์ง๊ฐ ์ถ๋ ฅ๋ฉ๋๋ค. print("name") ๊ณผ ๊ฐ์ด ์ ๋ ฅํ๋ฉด name์ด๋ผ๋ ๋ฌธ์์ด ์์ฒด๊ฐ ์ถ๋ ฅ๋ ๊ฒ์ ๋๋ค.
- Likes
- 0
- Comments
- 1
- Viewcount
- 331
Q&A
์คํ๋ง ์ ๋ฌธ - ์ฝ๋๋ก ๋ฐฐ์ฐ๋ ์คํ๋ง ๋ถํธ, ์น MVC, DB ์ ๊ทผ ๊ธฐ์ > ํ์ ์๋น์ค ํ ์คํธ
MemberService.java ์ memberRepository ์ ์ธ๋ถ๋ถ์ private final MemberRepository memberRepository ๋ก ์์ ํด๋ณด์ธ์. ํ์ ํ์ ์ ์ฐธ์กฐ๋ณ์๊ฐ ์์ ํ์ ์ ์ธ์คํด์ค๋ฅผ ์ฐธ์กฐํ ์ ์์ต๋๋ค.
- Likes
- 0
- Comments
- 1
- Viewcount
- 288
Q&A
๋ค์ ๋ณต์ตํ๋ฉด์ ํ ์คํธ ์ฝ๋ ์์ฑํ๋๋ฐ ๊ถ๊ธํ๊ฒ ์๊ฒผ์ต๋๋ค.
๊ดํธ๋ก ์ธํ ์ฐ์ฐ์ ์ฐ์ ์์ ๋๋ฌธ์ ๊ดํธ ๋ด๋ถ ์์์ด ๋จผ์ ๊ณ์ฐ๋์ 0 ์ด ๋ฐํ๋๊ณ ์๋๊ฒ์ผ๋ก ๋ณด์ ๋๋ค.
- Likes
- 2
- Comments
- 1
- Viewcount
- 470
Q&A
ํ์๋ชฉ๋ก ๊ธฐ๋ฅ ๊ตฌํ.
MemberService์ join ๋ฉ์๋์์ save๊ฐ ์ ๋๋ก ์ด๋ฃจ์ด์ง๊ณ ์๋์? save ๋ฉ์๋๊ฐ ์ฃผ์์ธ ์ํ๋ก ๋ณด์ด๋ค์
- Likes
- 0
- Comments
- 1
- Viewcount
- 364
Q&A
C++ ์์๋ ๋ฉ์ธ ํจ์ ๋ฐ์์ ์ฐ๋ฉด 0๊ณผ ๊ณต๋ฐฑ์ผ๋ก ์ด๊ธฐํ๋๋์?
https://hydroponicglass.tistory.com/182 ์ด ๋ธ๋ก๊ทธ์ ๋ด์ฉ์ด ์ ์ ๋ฆฌ๋์ด์์ต๋๋ค!
- Likes
- 0
- Comments
- 2
- Viewcount
- 468
Q&A
C์ธ์ด ๋๋ฌธ์ <-> ์๋ฌธ์ ๋ณํ ํจ์
getchar() ํจ์๊ฐ ์ํ๋ฒณ ์ ๋ ฅ ํ ์ํฐ๋ฅผ ์น ๋์ ๊ฐํ๋ฌธ์ (\n) ๊น์ง๋ ์ ๋ ฅ ๋ฒํผ์ ๋จ์์์ด์ ์๊ธฐ๋ ๋ฌธ์ ์ ๋๋ค. a๋ฅผ ์ ๋ ฅํ๊ณ ์ํฐ๋ฅผ ๋๋ฅด๋ฉด ๋ฒํผ์ 'a' ์ '\n' ์ด ๋ค์ด๊ฐ์, ๊ฐ๊ฐ์ ๋ํ while๋ฌธ์ด ๋๊ณ ์์ด์ ์๋๋๋ก์ A๊ฐ ๋์จ ํ \n์ ๋ํ while๋ฌธ์ด else์ ๊ฑธ๋ ค ๋ฉ์์ง๋ฅผ ์ถ๋ ฅํ๊ณ ์์ต๋๋ค. ์ข์ ํ๋ก๊ทธ๋๋ฐ์ ์๋์ง๋ง getchar() ๋ก ch ์ ์ ์ฅํ๊ณ ๋ ๋ค์ ์ฝ๋์ getchar()์ ๋ ์ฌ์ฉํ์ฌ ์ ๋ ฅ๋ฒํผ๋ฅผ ๋น์ธ ์๋ ์๊ณ , while { ch = getchar(); getchar(); .... } while๋ฌธ์ด ์ข ๋ฃ๋๊ธฐ ์ง์ ์ while(getchar() != '\n'); ์ฝ๋๋ฅผ ์ถ๊ฐํ์ฌ ์ ๋ ฅ๋ฒํผ๋ฅผ ๋น์ฐ๋ ๋ฐฉ๋ฒ๋ ์์ต๋๋ค. while { .... while(getchar() != '\n'); }
- Likes
- 0
- Comments
- 1
- Viewcount
- 1.1K
Q&A
์ง๋ฌธ๋๋ฆฝ๋๋ค.
HashMap ๋ ํค - ๋ฐธ๋ฅ ํ์์ผ๋ก ๋ฐ์ดํฐ๋ฅผ ์ ์ฅํ๊ณ , ํค๋ฅผ ํตํด ๋ฐธ๋ฅ๊ฐ์ ๋ฐํ๋ฐ์ ์ ์๋ ๊ธฐ๋ฅ์ ๊ฐ๊ณ ์์ต๋๋ค. HashMap store์ Long ๊ฐ์ ํค๋ก, Member ๊ฐ์ ๋ฐธ๋ฅ๋ก ์ง์ ํ์ฌ ๋ฐ์ดํฐ๋ฅผ ์ ์ฅํฉ๋๋ค. store ์ get ๋ฉ์๋๋ ํค๊ฐ(Long) ์ ์ธ์๋ก ๋ฃ์ด์ ๋ฐธ๋ฅ๊ฐ(Member) ๋ฅผ ๋ฐํํด์ฃผ๋ ๋ฉ์๋์ ๋๋ค. save ๋ฉ์๋์์ put์ ์ฌ์ฉํ์ฌ ( ์์ด๋, ๋ฉค๋ฒ ) ๋ฅผ ์ ์ฅํด์ฃผ์์ผ๋ฏ๋ก get์ผ๋ก ํด๋น ์์ด๋๋ฅผ ๋ฃ์ด์ฃผ๋ฉด ์ ์ฅํ๋ Member ๊ฐ์ฒด๊ฐ ๋ฐํ๋๊ฒ ๋ฉ๋๋ค. ๋์์ด ์๋์ จ๋ค๋ฉด ๋๊ธ๋ก ํธํ๊ฒ ์ง๋ฌธํด์ฃผ์ ๋ ๋ฉ๋๋ค.
- Likes
- 1
- Comments
- 1
- Viewcount
- 249
Q&A
main ์คํ ์ ์ง ์๋ฌ
๊ฐ์ - ํ๋ก์ ํธ ํ๊ฒฝ์ค์ - ํ๋ก์ ํธ ์์ฑ 15:20์ด ์ฐธ๊ณ ํ์ ์ Build and run ์ Intellij IDEA๋ก ๋ณ๊ฒฝํ์๊ณ ide ๊ป๋ค ์ผ๋ณด์ ๋ค์์ ๋์ผํ ์์ ํด๋ณด์๊ฒ ์ด์?
- Likes
- 0
- Comments
- 2
- Viewcount
- 334
Q&A
Optional๊ณผ @NotBlank๋ ๋ฌด์จ ์ฐจ์ด์ธ๊ฐ์?
Optional์ ๊ฒฝ์ฐ NPE๊ฐ ๋ฐ์ํ์ฌ ํ๋ก๊ทธ๋จ์ด ์ฃฝ๋ ๊ฒ์ ๋ง๊ธฐ ์ํด ๊ฐ์ฒด๋ฅผ ๊ฐ์ธ๋ Wrapper ํด๋์ค์ด๊ณ , Java์์ 8๋ฒ์ ๋ถํฐ ์์ฒด์ ์ผ๋ก ์ง์ํ๋ ๊ธฐ๋ฅ์ ๋๋ค. ๋ค์ํ ์ํฉ์์ null์ด ๋ฐ์ํ ์ ์๋ ๊ฐ์ฒด์ Optional์ ์ฌ์ฉํ์ฌ ๋ณ๋์ null ํ์ธ ์ ์ฐจ ์ฝ๋๋ฅผ ์์ฑํ์ง ์๊ณ Optional์ ๋ฉ์๋๋ง์ผ๋ก ์ฒ๋ฆฌํ ์ ์์ด ์ฝ๋๊ฐ ์ง๊ด์ ์ด๊ณ ๊ฐ๋ ์ฑ์ ๋์ฌ์ค๋๋ค. @NotBlank๋ฅผ ๋น๋กฏํ @NotNull, @NotEmpty ์ ๊ฐ์ ์ด๋ ธํ ์ด์ ๋ค์ Java Bean Validation ์์ ์ ๊ณตํ๋ ์ ํจ์ฑ ๊ฒ์ฆ ์ด๋ ธํ ์ด์ ์ด๊ณ , ์คํ๋ง๋ถํธ์์๋ ์ ํจ์ฑ ๊ฒ์ฆ ๊ตฌํ์ฒด๋ก Hibernate Validator์ ์ฌ์ฉํ๊ณ ์์ต๋๋ค. ์ด ์น๊ตฌ๋ค์ ์น์์ ์ ๋ ฅ๊ฐ์ ์ ๋ฌ๋ฐ์ dto์ ์ ์ฅํ ๋ ๊ฐ ํ๋์ ์ ์ฝ์กฐ๊ฑด์ ๊ฑธ์ด ์ํ๋ ํ์์ ๊ฐ๋ง ๋ฐ์ ์ ์๋๋ก ํ ๋ ์ฌ์ฉํฉ๋๋ค. @NotBlank์ Optional ์ ๋ชจ๋ null ๊ฐ์ด ํ๋์ ์ง์ ์ ์ผ๋ก ๋ค์ด์ค์ง ๋ชปํ๊ฒ ํ๋ค๋ ์ ์์ ๊ณตํต์ ์ด ์๋ ๋ฐ๋ฉด, Optional ๊ฐ์ฒด์ ๊ฒฝ์ฐ DB์์ ๊ฐ์ ๊ฐ์ ธ์ค๋ ๊ฒ์ฒ๋ผ null์ด ์๊ธธ ๊ฐ๋ฅ์ฑ์ด ์๋ ํ๋์ ์ฌ์ฉํ์ฌ NPE๋ฅผ ๋ฐ์์ํค์ง ์์ผ๋ฉฐ null์ธ ๊ฒฝ์ฐ ๋ณ๋์ ์ฒ๋ฆฌ๋ฅผ ํ๋๋ฐ์ ์ฌ์ฉ๋๊ณ @NotBlank์ ๊ฒฝ์ฐ ์นํ๊ฒฝ์์ client์ ์ ๋ ฅ์ ๋ํด null ๊ฐ์ด ๋ค์ด์ค๋์ง ๋ฏธ๋ฆฌ ํ์ธํ๊ณ null์ด๋ผ๋ฉด ์๋ฌ๋ฅผ ๋ฐ์์์ผ null์ด ๋ค์ด์ค๋๊ฒ์ ๋ฐฉ์งํ๋๋ฐ์ ์ฃผ๋ก ์ฌ์ฉ๋๊ฒ ๋ฉ๋๋ค. ์ฃผ ์ฌ์ฉ์ฒ๊ฐ ๋ค๋ฆ ๋๋ค.
- Likes
- 3
- Comments
- 1
- Viewcount
- 716




