๋ณธ๋ฌธ ๋ฐ”๋กœ๊ฐ€๊ธฐ
โœ๏ธ Today I Learned(TIL)/๐ŸŒฑ ์ŠคํŒŒ๋ฅดํƒ€ ๋‚ด์ผ๋ฐฐ์›€์บ ํ”„

์ฃผํŠน๊ธฐ ์ž…๋ฌธ/์ˆ™๋ จ_Day 19

by carrot0911 2024. 12. 17.

์˜ค๋Š˜ ํ•œ ๊ณต๋ถ€ ๐Ÿง 

  • ๊ฐœ์ธ ๊ณผ์ œ Lv 4 ์™„์„ฑ
  • ๊ฐœ์ธ ๊ณผ์ œ Lv 5 ์™„์„ฑ
  • ๋ฒ ์ด์ง๋ฐ˜ ์„ธ์…˜ ๋“ฃ๊ธฐ
  • Bean Validation ๊ฐ•์˜ ๋ณต์Šต
  • TIL ๋ธ”๋กœ๊ทธ ์ž‘์„ฑ

 

์˜ค๋Š˜ ์–ป์€ ๋‚ด์šฉ ์ •๋ฆฌ โœ๏ธ 

๊ฐœ์ธ ๊ณผ์ œํ•œ ๋‚ด์šฉ์„ ์ •๋ฆฌํ•ด์•ผ๊ฒ ๋‹ค!

  • Lv 4. ๋กœ๊ทธ์ธ(์ธ์ฆ)
    • LoginReqeustDto ์ƒ์„ฑ(email, password ํ•„๋“œ ์ถ”๊ฐ€), LoginResponseDto ์ƒ์„ฑ(member ํ•„๋“œ ์ถ”๊ฐ€), AuthController ์ƒ์„ฑ(login ๋ฉ”์„œ๋“œ ๊ตฌํ˜„), AuthService ์ƒ์„ฑ(login ๋ฉ”์„œ๋“œ ๊ตฌํ˜„), MemberRepository ์ˆ˜์ •(findByEmailAndPassword ๋ฉ”์„œ๋“œ ๊ตฌํ˜„), LoginFilter(doFilter override), WebConfig(loginFilter ๋“ฑ๋ก)
  • Lv 5. ๋‹ค์–‘ํ•œ ์˜ˆ์™ธ ์ฒ˜๋ฆฌ ์ ์šฉํ•˜๊ธฐ
    • Lv 1 Bean Validation
      • TodoRequestDto, UpdateRequestDto - @NotEmpty, @NotBlank, @Size ์ ์šฉ
      • Todo Controller - @Valid ์ถ”๊ฐ€
    • Lv 2, Lv 3 Bean Validation
      • MemberRequestDto, UpdateReqeustDto - @NotEmpty, @NotBlank, @Size, @Pattern ์ ์šฉ
      • MemberController - @Valid ์ถ”๊ฐ€
    • Lv 4 Bean Validation
      • LoginRquestDto - @NotBlank, @Pattern, @Size ์ ์šฉ
      • AuthController - @Valid ์ถ”๊ฐ€

์˜ค๋Š˜ ๋“ค์€ ๋ฒ ์ด์ง๋ฐ˜ ์„ธ์…˜์˜ ์ฃผ์š” ํ‚ค์›Œ๋„๋„ ์ •๋ฆฌํ•ด์•ผ๊ฒ ๋‹ค!

๋ฐ์ดํ„ฐ ์ ‘๊ทผ ๋ฐฉ๋ฒ• JPA

  • JPA
  • ์˜์†์„ฑ ์ปจํ…์ŠคํŠธ → ๋ฉด์ ‘์—์„œ ํ•ญ์ƒ ๋‚˜์˜ค๋Š” ๋‚ด์šฉ์ด๋‹ค.
  • ์˜์†์„ฑ ์ปจํ…์ŠคํŠธ์˜ ์žฅ์ 
    • 1์ฐจ ์บ์‹ฑ
    • ๋™๋“ฑ์„ฑ ๋ณด์žฅ
    • ์“ฐ๊ธฐ ์ง€์—ฐ
    • ๋ณ€๊ฒฝ ๊ฐ์ง€
  • JPA ๋‘ ๊ฐ€์ง€ ํ™œ์šฉ ๋ฐฉ๋ฒ•
    • ์ˆœ์ˆ˜ JPA
    • JPA ์ธํ„ฐํŽ˜์ด์Šค → ํ˜„์—…์—์„œ ๋งŽ์ด ์‚ฌ์šฉ๋œ๋‹ค.

 

์˜ค๋Š˜ ํ•˜๋ฃจ ์ •๋ฆฌ โœ๏ธ

์˜ค๋Š˜์€ ์•Œ๊ณ ๋ฆฌ์ฆ˜ ๋ฌธ์ œ ํ’€์ด๋„ ๊ฑด๋„ˆ๋›ฐ๊ณ  ํ•˜๋ฃจ์ข…์ผ ๊ณผ์ œ์— ์ง‘์ค‘ํ–ˆ๋‹ค.

๋จผ์ € ์–ด์ œ ๋ฐค์— ๊ณ„์† ๊ณ ๋ฏผํ•˜๋ฉด์„œ ๋ณต์Šตํ–ˆ๋˜ ๋กœ๊ทธ์ธ(์ธ์ฆ) ๋ถ€๋ถ„์„ ์ฒœ์ฒœํžˆ ํ’€์–ด๋‚˜๊ฐ”๋‹ค. ๊ฐ•์˜ ์ž๋ฃŒ๋ฅผ ์ฐธ๊ณ ํ•˜๋ฉด์„œ ์ฝ”๋“œ๋ฅผ ๋ชจ๋‘ ์ž‘์„ฑํ•˜๊ณ  Postman์„ ์‹คํ–‰ํ–ˆ์„ ๋•Œ ๋ชจ๋‘ ๋ฌธ์ œ์—†์ด ์ž‘๋™ํ•˜๋Š” ๊ฒƒ์„ ํ™•์ธํ–ˆ๋‹ค. ํ•˜์ง€๋งŒ ๋ญ”๊ฐ€๊ฐ€ ์ฐœ์ฐœํ•œ ๊ธฐ๋ถ„์ด ๋“ค์—ˆ๋‹ค.

์ฐœ์ฐœํ•œ ๊ธฐ๋ถ„์„ ๊ฐ€์ง€๊ณ  ๋ฒ ์ด์ง๋ฐ˜ ์„ธ์…˜์„ ๋“ค์œผ๋Ÿฌ ๊ฐ”๋‹ค. ์˜ค๋Š˜ ๋‚ด์šฉ๋„ ์ •๋ง ๊ท€์— ์™์™ ๋“ค์–ด์˜ค๋Š” ํŠœํ„ฐ๋‹˜์˜ ์„ค๋ช…์ด์—ˆ๋‹ค!!!
์˜์†์„ฑ ์ปจํ…์ŠคํŠธ์˜ ๊ฐœ๋…๋“ค๊ณผ JPA๋ฅผ ํ™œ์šฉํ•ด์„œ Create ๊ธฐ๋Šฅ์„ ๊ตฌํ˜„ํ•˜๋Š” ์‹œ๊ฐ„์ด์—ˆ๋Š”๋ฐ, ์˜์†์„ฑ ์ปจํ…์ŠคํŠธ๊ฐ€ ๋ฌด์—‡์ธ์ง€ ํ™•์‹คํ•˜๊ฒŒ ์•Œ๊ฒŒ ๋˜์—ˆ๋‹ค. ๋˜ํ•œ Create๋ฅผ ๊ตฌํ˜„ํ•˜๋Š” ๊ณผ์ •์—์„œ ์ฝ”๋“œ๋ฅผ ์ž‘์„ฑํ•˜๋Š” ๊ฟ€ํŒ๋“ค๋„ ์•Œ๋ ค์ฃผ์…”์„œ ๋‚ด์ผ ์ฝ”๋“œ ๋ฆฌํŒฉํ† ๋งํ•  ๋•Œ ์ ์šฉํ•  ์˜ˆ์ •์ด๋‹ค!

์„ธ์…˜์„ ๋“ฃ๊ณ  ์ ์‹ฌ์„ ๋จน์€ ํ›„ ์ฐœ์ฐœํ–ˆ๋˜ ๋กœ๊ทธ์ธ(์ธ์ฆ) ๋ถ€๋ถ„์„ ๊ฐ€์ง€๊ณ  ํŠœํ„ฐ๋‹˜๊ป˜ ๋ฐฉ๋ฌธํ•ด์„œ ์ฝ”๋“œ์— ๋Œ€ํ•ด ์งˆ๋ฌธ์„ ํ–ˆ๊ณ , ๋‚ด๊ฐ€ ๋„ˆ๋ฌด ๋ณต์žกํ•˜๊ฒŒ ์ฝ”๋“œ๋ฅผ ์ž‘์„ฑํ–ˆ๋‹ค๋Š” ์‚ฌ์‹ค์„ ์•Œ ์ˆ˜ ์žˆ์—ˆ๋‹ค. ํ•„์š”์—†๋Š” ๊ณผ์ •๋“ค๋„ ์ถ”๊ฐ€๋˜์–ด ์žˆ๊ณ  ์ „์ฒด์ ์œผ๋กœ ์–ด๋ ต๊ฒŒ ์ž‘์„ฑํ–ˆ๋‹ค๋Š” ํ”ผ๋“œ๋ฐฑ๊ณผ ํ•จ๊ป˜ ์–ด๋–ป๊ฒŒ ์ฝ”๋“œ๋ฅผ ์‰ฝ๊ฒŒ ์ž‘์„ฑํ•  ์ˆ˜ ์žˆ๋Š”์ง€ ์ง์ ‘ ์ฝ”๋“œ๋ฅผ ์ž‘์„ฑํ•˜๋ฉด์„œ ์•Œ๋ ค์ฃผ์…”์„œ ๋ฐ”๋กœ ์ดํ•ด๊ฐ€ ๋˜์—ˆ๋‹ค. ๊ทธํ›„ ๋Œ์•„์™€์„œ ๋กœ๊ทธ์ธ(์ธ์ฆ) ๋ถ€๋ถ„์„ ๊ฐ„๋‹จํ•˜๊ฒŒ ๊ตฌํ˜„ํ•˜๋Š” ๋ฐฉ๋ฒ•์œผ๋กœ ์ˆ˜์ •ํ–ˆ๋‹ค.

๊ทธ ๋‹ค์Œ ๋„์ „ ๊ธฐ๋Šฅ์˜ Lv 5๋กœ ๋„˜์–ด๊ฐ”๋‹ค!!! ์ด๋ฒˆ์—๋„ ๋„์ „ ๊ธฐ๋Šฅ์„ ํ•˜๊ฒŒ ๋˜์—ˆ๋Š”๋ฐ ๋จผ์ € ์š”๊ตฌ์‚ฌํ•ญ์„ ์—ด์‹ฌํžˆ ์‚ดํŽด๋ณด๊ณ  Bean Validation์˜ ๊ฐœ๋…์ด ํ•„์š”ํ•œ ๊ฒƒ ๊ฐ™์•„์„œ ๊ฐ•์˜๋ฅผ ๋‹ค์‹œ ๋“ค์œผ๋ฉด์„œ ๊ฐœ๋…์„ ๋ณต์Šตํ–ˆ๋‹ค. ์–ด๋А์ •๋„ ๊ฐ์ด ์žกํžŒ ํ›„ ๋‚ด ์ฝ”๋“œ์— ์ง์ ‘ ์ ์šฉํ•˜๊ธฐ ์‹œ์ž‘ํ–ˆ๋‹ค. Lv 1 ์ฝ”๋“œ๋ถ€ํ„ฐ Lv 4์˜ ์ฝ”๋“œ๋ฅผ ์‚ดํŽด๋ณด๋ฉด์„œ ํ•„์š”ํ•œ ๋ถ€๋ถ„์— Bean Validation์„ ์ ์šฉํ•˜์˜€๊ณ  ๊ฐ๊ฐ message๋„ ๋‹ฌ์•„์ฃผ์—ˆ๋‹ค.

์˜ค๋Š˜ ๋ชฉํ‘œ๋กœ ํ–ˆ๋˜ Lv 5๊นŒ์ง€ ๋ฌด์‚ฌํžˆ ๋๋‚ผ ์ˆ˜ ์žˆ์–ด์„œ ๋‹คํ–‰์ด๋ผ๋Š” ์ƒ๊ฐ์ด ๋“ค๋ฉด์„œ ์•„์ง ๊ณต๋ถ€ํ•ด์•ผ ํ•  ๋‚ด์šฉ๋“ค์ด ์—„์ฒญ๋‚˜๊ฒŒ ๋งŽ๊ตฌ๋‚˜... ๋ผ๋Š” ์‚ฌ์‹ค์„ ๊นจ๋‹ฌ์•˜๋‹ค. ํ•˜๋ฉด ํ• ์ˆ˜๋ก ์•Œ์•„์•ผ ํ•  ๊ฒƒ๋“ค์ด ๋Š์ž„์—†์ด ์Ÿ์•„์ง€๊ณ  ์žˆ๋‹ค.
์ด ์Ÿ์•„์ง€๋Š” ๋‚ด์šฉ๋“ค์„ ์ž˜ ํก์ˆ˜ํ•ด์•ผ ํ• ํ…๋ฐ... ์‰ฝ์ง€๋Š” ์•Š์„ ๊ฒƒ ๊ฐ™์ง€๋งŒ ํฌ๊ธฐํ•˜์ง€ ์•Š๊ณ  ๊พธ์ค€ํžˆ ํ•ด๋‚˜๊ฐˆ ์˜ˆ์ •์ด๋‹ค.

๋‚ด์ผ๋„ ๊ณผ์ œ๋ฅผ ์—ด์‹ฌํžˆ ํ•ด์„œ ์ ์–ด๋„ Lv 7๊นŒ์ง€๋Š” ๋๋‚ผ ์ˆ˜ ์žˆ๋„๋ก ๋…ธ๋ ฅํ•ด์•ผ๊ฒ ๋‹ค.
๋‚ด์ผ๋„ ํŒŒ์ดํŒ…!!!!!!!

 

๋‚ด์ผ ๊ณ„ํš โฐ

  • ๊ณผ์ œ Lv 6 ๋„์ „!!
  • ๊ณผ์ œ Lv 7 ๋„์ „!
  • ๋ฒ ์ด์ง๋ฐ˜ ์„ธ์…˜ ๋ธ”๋กœ๊ทธ ์ •๋ฆฌ
  • TIL ๋ธ”๋กœ๊ทธ ์ž‘์„ฑ

+ ์ถ”๊ฐ€๋กœ ๊ณ„ํš์ด ๋” ์ƒ๊ธธ ์ˆ˜๋„ ์žˆ์Šด๋‹ค~_~