๐Ÿ“ 

์‚ฌ์šฉ ๊ธฐ์ˆ 

ํƒœ๊ทธ

์ž๋ฐ” ๋ฒ„์ „: 11

  • 18
  • 17
    • ๋ ˆ์ฝ”๋“œ(16)
    • instance of ํŒจํ„ด ๋งค์นญ(16)
    • ํ–ฅ์ƒ๋œ switch๋ฌธ(14)
    • ํ…์ŠคํŠธ ๋ธ”๋ก(15)
  • 11 โœ…
    • 17์ด์ƒ์ด๋ฉด ์–ด์ฐจํ”ผ ์ฝ”ํ‹€๋ฆฐ์œผ๋กœ ๊ฐˆ์•„ํƒ€์ง€ ์•Š์•˜์„๊นŒ?
    • ๋ชจ๋“ˆ ์‹œ์Šคํ…œ ๋„์ž…(์ž๋ฐ”9)
    • ์ธํ„ฐํŽ˜์ด์Šค private ๋ฉ”์„œ๋“œ
  • 8

๋นŒ๋“œ: gradle

  • gradle โœ…
    • ์š”์ฆ˜ ๋Œ€์„ธ
    • ๋‹จ์ˆœํ•ด ๋ณด์ž„
    • ํ•™์Šต ๋ชฉํ‘œ
  • maven
    • asciiDocs

๋ฐ์ดํ„ฐ ๊ณ„์ธต: Data JPA + QueryDSL

  • Spring Data JPA โœ…
  • ๋™์  ์ฟผ๋ฆฌ
    • Criteria ๋ฉ”ํƒ€ ๋ชจ๋ธ
    • QueryDSL โœ… _Item

DB: H2(์ดˆ๊ธฐ ๊ฐœ๋ฐœ ํ™˜๊ฒฝ) โ†’ MySQL

  • MySQL
    • ๋ฒ„์ „ 8.0
    • Docker ์ด์šฉํ•˜์—ฌ ํ•œ ๋ฒˆ์— ๊ณต์œ 
    • AWS ์„œ๋ฒ„๋ฅผ ๋„์šฐ๊ณ  ๊ฑฐ๊ธฐ์„œ ์‚ฌ์šฉํ•˜๋Š” ๋ฐฉ์‹
      • ์ด๊ฑด ๋ฐฐํฌ ์ƒํ™ฉ์— ๊ณ ๋ฏผ
  • H2
    • ๊ฐœ๋ฐœ ํ™˜๊ฒฝ

์‚ฌ์šฉ dependency

  • ์Šคํ”„๋ง ์›น
  • ์›น Validation
  • Spring RESTDocs
  • ๋กฌ๋ณต
    • Getter
    • NoArgsConstructor
    • RequiredArgsConstructor
    • Builder: ์• ๋งค
    • private Setter: ๊ณ ๋ฏผ
    • UtilityClass
  • ์Šคํ”„๋ง ์‹œํ๋ฆฌํ‹ฐ
    • OAuth
  • Data JPA
    • H2(๊ฐœ๋ฐœํ™˜๊ฒฝ)
    • MySQL(์šด์˜)
    • p6spy(๊ฐœ๋ฐœํ™˜๊ฒฝ)
  • configuration-processor
  • ๊ตฌ์•„๋ฐ”โœ…
    • ์ƒ์„ฑ์ž์—์„œ ๊ฒ€์ฆ ์ˆ˜ํ–‰ ์šฉ์œผ๋กœ
 
 

CI โ†’ ์กฐ์‚ฌํ•ด์˜ค๊ฒ ์Šต๋‹ˆ๋‹ค (๋ฏผ์žฌ)

  • ์™œ ์“ฐ๋‚˜?
    • ์ž๋™ํ™”๊ฐ€ ํ•ต์‹ฌ
 

์ฝ”๋“œ ๋ฆฌ๋ทฐ

  • PR ์‹œ ํ…Œ์ŠคํŠธ ์ฝ”๋“œ ํ•„์ˆ˜
 

ํ…Œ์ŠคํŠธ

  • TC; Test Coverage๋Š” โ‰ฅ 70% ๋ชฉํ‘œ
  • H2 vs Docker MySQL
    • H2๋กœ CI โ†’ ์ฐจํ›„ MySQL
 

์ปค๋ฐ‹ ์ปจ๋ฒค์…˜

  • PR ๋‹จ์œ„
    • ์—ํ”ฝ? ์Šคํ† ๋ฆฌ? feat ๋‹จ์œ„?
    • ์ผ๋‹จ ํ•ด ๋ณด๋ฉด์„œ ๋งž์ถฐ ๋ณด์ž.
  • gitflow vs github flow
    • github flowโœ…
 

์—๋Ÿฌ ํ•ธ๋“ค๋ง

  • RestControllerAdvice
    • stack trace
  • ๋กœ๊น…
    • ๋ฉ”์‹œ์ง€ โ†’ slack
    • ๊ณต๋ถ€๋Š” ํ•ด๋ณด๊ธฐ
    •