Skip to content

0808_retrospecitve

rbgus2002 edited this page Aug 10, 2023 · 1 revision

๊ถŒ๋ฏผ์•„

2023/08/08

์˜ค๋Š˜ ํ•œ ์ผ
1. github actions ์ˆ˜์ •..
  - ๋๋‚œ ์ค„ ์•Œ์•˜๋Š”๋ฐ ํ…Œ์ŠคํŠธ๊ฐ€ ๊ณ„์† ์‹คํŒจํ•ด์„œ ์ž๊พธ๋งŒ ์ˆ˜์ •ํ•  ๊ฒŒ ์ƒ๊ธด๋‹ค..^^
2. ๋ฐฐํฌ ์ž‘์—…
  - ํ•„์š”ํ•œ ์ธํ”„๋ผ ๋งˆ๋ จํ•˜๊ณ  ๋„๋ฉ”์ธ ์‚ฌ์„œ ์—ฐ๊ฒฐํ–ˆ๋‹ค. ๋น ๋ฅด๊ฒŒ ์™„๋ฃŒํ•˜๊ณ  API ๊ฐœ๋ฐœํ•˜๊ณ  ํ”„๋ก ํŠธ๋ž‘ ์—ฐ๋™ํ•ด์„œ ๋ฐ๋ชจ ์˜์ƒ ์ฐ์–ด์•ผ์ง€

์•„์‰ฌ์šด ์ 
1. ์ฝ”๋“œ ๋ฆฌ๋ทฐ ๋” ๊ผผ๊ผผํ•˜๊ฒŒ
  - ์šฐ๋ฆฌ ํŒ€ ์•ˆ๋“œ๋กœ์ด๋“œ ๋ถ„๋“ค ์ฝ”๋“œ๋ฆฌ๋ทฐ์—์„œ ์ฝ”๋ฉ˜ํŠธ๊ฐ€ 10~20๊ฐœ์”ฉ ๋‹ฌ๋ฆฌ๋Š” ๊ฑธ ๋ณด๋‹ˆ ๋ฐ˜์„ฑํ•˜๊ฒŒ ๋œ๋‹ค.. ๋ฐฑ์—”๋“œ๋„ ๋” ๊ผผ๊ผผํ•˜๊ฒŒ ์ฝ”๋“œ ๋ฆฌ๋ทฐํ•˜๊ธฐ๋กœ ํ•ด์•ผ์ง€.
2. ๊นƒ์ด ์–ด๋ ต๋‹ค
  - ์ฃผ๋ณ€์— ๊นƒ ์ถฉ๋Œ ๋•Œ๋ฌธ์— ๊ณ ์ƒํ•˜๋Š” ํŒ€๋“ค์„ ๋ดค๋Š”๋ฐ ์˜ค๋Š˜ ์šฐ๋ฆฌ ํŒ€๋„ ๊ฒฐ๊ตญ ํ”„๋ก ํŠธ๋ž‘ ์•ˆ๋“œ๋กœ์ด๋“œ ํŒŒ์ผ์ด ์„ž์˜€๋‹ค. ํŒŒ์ผ๋ช… ์ˆ˜์ •ํ•˜์‹  ๊ฑธ ๋‚ด๊ฐ€ ๋‹ค์‹œ ๋ฐ”๊ฟ”๋ฒ„๋ ค์„œ ์ฃ„์†กํ•˜๋‹ค..๐Ÿฅฒ ๋ธŒ๋žœ์น˜๋ฅผ ๋” ์กฐ์‹ฌํžˆ ๊ด€๋ฆฌํ•ด์•ผ๊ฒ ๋‹ค.

ํ•œ๋งˆ๋””
์˜ค๋Š˜๋”ฐ๋ผ ์œ ๋… ์กธ๋ฆฌ๊ณ  ์ง‘์ค‘์ด ์•ˆ๋๋‹ค.. ๋งˆ์Œ์€ ๊ธ‰ํ•œ๋ฐ ์ฒด๋ ฅ์ด ์•ˆ ๋”ฐ๋ผ์ค˜์„œ ์Šฌํ”„๋‹ค. CS ๊ณต๋ถ€๋„ ํ•ด์•ผ ํ•˜๋Š”๋ฐ ์–ธ์ œ ํ•˜์ง€

๊น€์œ ๋นˆ

* TODAY
- ์˜ต์…˜ ์ƒ์„ธ ๋‹ค์ด์–ผ๋กœ๊ทธ ๋งŒ๋“ค๊ธฐ
   - ๋™๊ทธ๋ผ๋ฏธ ์ธ๋””์ผ€์ดํ„ฐ๋ทฐ ์ œ์ž‘
   - ํ…์ŠคํŠธ ์ธ๋””์ผ€์ดํ„ฐ ๋งŒ๋“ค๊ธฐ 
   - ๋ผ์šด๋”ฉ
   - ๋ทฐํŽ˜์ด์ € ๊ตฌํ˜„

*LECTURE : ์•„ํ‚คํ…์ฒ˜ , ์˜์กด์„ฑ ์ฃผ์ž…
- SoC(Seperation of Concern) : ๊ด€์‹ฌ์‚ฌ ๋ถ„๋ฆฌ
  : ๊ด€์‹ฌ์‚ฌ์— ๋”ฐ๋ผ ๊ณ„์ธต ๋ถ„๋ฆฌ
  : ex ) data, ui layer
- ๋ฐ์ดํ„ฐ ๋ชจ๋ธ : ๋ผ์ดํ”„ ์‚ฌ์ดํด ์˜ํ–ฅ ์•ˆ๋ฐ›์Œ
- persistent model 
  : ์•ฑ ์ข…๋ฃŒ์‹œ ์ •๋ณด ์†์‹ค ์—†๊ณ  ๋„คํŠธ์›Œํฌ ์—ฐ๊ฒฐ ์•ˆํ•ด๋„ ๋™์ž‘๊ฐ€๋Šฅ
  : DB๋กœ ๊ตฌํ˜„๊ฐ€๋Šฅ
  : ์˜คํ”„๋ผ์ธ ๋ชจ๋“œ
- ๊ณ„์ธต ๋ถ„๋ฆฌ
   : UI / Domain(optional) / Data
-Data Layer
   : Repository
     ~ ์•ฑ์˜ ๋ฐ์ดํ„ฐ ๊ด€๋ จ ์‚ฌํ•ญ ๋‹ด๋‹น
     ~ ๋ฐ์ดํ„ฐ ์†Œ์Šค ์ถ”์ƒํ™”
     ~ ๋„ค์ด๋ฐ์€ '๋ฐ์ดํ„ฐ์œ ํ˜•+Repository'
   : DataSource
    ~ ์ข…๋ฅ˜ remote,local
    ~ ๋„ค์ด๋ฐ์€ '๋ฐ์ดํ„ฐ์œ ํ˜• + ์†Œ์Šค ์ข…๋ฅ˜ + DataSource'
- main-safe
  : ๋ฉ”์ธ์Šค๋ ˆ๋“œ์—์„œ ํ˜ธ์ถœํ•ด๋„ ์•ˆ์ „ํ•˜๊ฒŒ ์š”์ฒญ ์ž‘์—… ์ˆ˜ํ–‰
  : ์ฝ”๋ฃจํ‹ด ์‚ฌ์šฉ์‹œ Room, Retrofit๋Š” ์ง€์›
  : ์ง์ ‘๊ตฌํ˜„์‹œ ์‹ ๊ฒฝ์จ์•ผํ•จ

- ์˜์กด์„ฑ ์ฃผ์ž… : ํ•„์š”๊ฐ์ฒด๋ฅผ ์™ธ๋ถ€์—์„œ ์ฃผ์ž…
 * ์žฅ์ 
    1. ์ฝ”๋“œ ์žฌ์‚ฌ์šฉ๊ฐ€๋Šฅ
    2. ๋ฆฌํŒฉํ† ๋ง ํŽธ์˜์„ฑ
    3. ํ…Œ์ŠคํŠธ ํŽธ์˜์„ฑ
* ์ธ์Šคํ„ด์Šค ์ƒ์„ฑ์€ ์˜์กด์„ฑ ์ฃผ์ž…์ด ์•„๋‹ˆ๋ผ ์˜์กด์„ฑ ์žˆ๋Š”๊ฑฐ
* ํŒŒ๋ผ๋ฏธํ„ฐ๋กœ ์ œ๊ณต -> ์˜์กด์„ฑ ์ฃผ์ž…
    - ์ƒ์„ฑ์ž ์ฃผ์ž… : ํ”„๋ž˜๊ทธ๋จผํŠธ, ์•กํ‹ฐ๋น„ํ‹ฐ๋Š” ๋ถˆ๊ฐ€๋Šฅ, ์ƒ์„ฑ์‹œ์ ๋‹ค๋ฅธ ๊ฐ์ฒด๋„ ๋ถˆ๊ฐ€๋Šฅ
    -field(setteer)์ฃผ์ž…

+) Q. ์„œ๋น„์Šค ๋กœ์ผ€์ด์…˜ ํŒจํ„ด์œผ๋กœ ์˜์กด์„ฑ ์ฃผ์ž… -> ์ง€์–‘ํ•˜๋Š”๊ฒŒ ์ข‹๋‹ค๋Š” ์˜๊ฒฌ์ด ๋งŽ๋‹ค.

* KEYWORD
- typeface
- ์ฝ”๋ฃจํ‹ด
- ์˜์กด์„ฑ ์ฃผ์ž…

๋ฐ•์„ธ์˜

์˜ค๋Š˜ ๋ฐฐ์šด ๋‚ด์šฉ
 1. Domain Layer
 2. Data Layer
 3. Dependency Injection 
 4. Data Source 
 5. ์ƒ์„ฑ์ž ์ฃผ์ž…, ํ•„๋“œ ์ฃผ์ž… 

์˜ค๋Š˜ ํ•œ์ผ 
 1.  ์ƒ‰์ƒ ์„ ํƒ ํŽ˜์ด์ง€ ์ฝ”๋“œ ๋ฆฌ๋ทฐ ๋ฐ ๋ฆฌ๋ทฐ ๋‚ด์šฉ ๋ฐ˜์˜ 
 2. ํŠธ๋ฆผ ์„ ํƒ ํŽ˜์ด์ง€ ๋ ˆ์ด์•„์›ƒ ๊ตฌ์„ฑ 

ํ•ด์•ผํ• ์ผ 
 1.  ViewModelFactory ์ฝ”๋“œ ๊ฐœ์„  
 2. ํŠธ๋ฆผ ์„ ํƒ ํŽ˜์ด์ง€ ๋‚˜๋จธ์ง€ ๊ตฌํ˜„
 3. Domain Layer ์˜ˆ์ œ ์ฐพ์•„๋ณด๊ธฐ

์—„์„ํ›ˆ

์˜ค๋Š˜๋„ ์˜ค์ „์—๋Š” ์ˆ˜์—…์—์„œ ๋ฆฌ์•กํŠธ ๋ผ์šฐํ„ฐ์— ๋Œ€ํ•ด์„œ ๋ฐฐ์› ๋Š”๋ฐ ํ™•์‹คํžˆ ์ด๋ฒˆ ํ”„๋กœ์ ํŠธ์—์„œ ์–ด๋–ป๊ฒŒ ์“ฐ๋ฉด ์ข‹์„์ง€ ๊ณ ๋ฏผํ•˜๊ฒŒ ๋˜๋Š” ์ข‹์€ ์‹œ๊ฐ„์ด์—ˆ๋‹ค. 

์˜คํ›„์—๋Š” ์–ด์ œ์— ์ด์–ด์„œ ๊ณ„์†ํ•ด์„œ ์ฝ”๋“œ๋ฅผ ์ž‘์„ฑํ–ˆ๋‹ค. ์˜ต์…˜ ์„ ํƒ ํ™”๋ฉด์„ ๊ตฌํ˜„ํ•˜๊ณ  ์žˆ๋Š”๋ฐ ํ”„๋กœ์ ํŠธ์—์„œ ๊ฐ€์žฅ ๋ฒ”์œ„๊ฐ„ ํฐ ํŽ˜์ด์ง€๋ผ ๊ฝค๋‚˜ ํž˜๋“ค๋‹ค. ์–ด์ œ ๋งŒ๋“ค์–ด๋‘” ์ปดํฌ๋„ŒํŠธ๋“ค์„ ์กฐํ•ฉํ•˜๋ฉด์„œ ํŽ˜์ด์ง€๋ฅผ ๋งŒ๋“ค๊ณ  ์žˆ๋Š”๋ฐ ์ƒ๊ฐ๋ณด๋‹ค ์ปดํฌ๋„ŒํŠธ ์žฌํ™œ์šฉ์ด ํž˜๋“ค๋‹ค. ๋˜ํ•œ ๋””์ž์ธ์— ๋ชจ๋“  ๊ฒƒ์ด ๋ช…์‹œ๋˜์–ด ์žˆ์ง€ ์•Š์•„์„œ ํŒ€์›์ด๋‚˜ ๋‹ค๋ฅธ ํŒ€์‚ฌ๋žŒ๋“ค๊ณผ ์˜๋…ผํ•˜๊ณ  ์ข‹์•„๋ณด์ด๋Š” ๋ฐฉํ–ฅ์œผ๋กœ ๊ตฌํ˜„ํ•˜๋ ค๊ณ  ํ•œ๋‹ค.

๊ทธ๋ฆฌ๊ณ  ์ค‘๊ฐ„์— ํฌ๋กฑ๊ณผ ์ด์•ผ๊ธฐํ•˜๋ฉด์„œ ์ƒํƒœ๋ฅผ props๋กœ ์•„๋ž˜๋กœ ๋‚ด๋ ค์ฃผ๋Š” ๊ฒƒ์„ ๋„ˆ๋ฌด ๊ฑฑ์ •ํ•˜์ง€ ๋ง๋ผ๊ณ ํ•ด์„œ ์œ„์•ˆ์ด ๋˜์—ˆ๋‹ค. ์ฝ”๋“œ์˜ ๋ณต์žก์„ฑ์ด ์กฐ๊ธˆ ์˜ฌ๋ผ๊ฐ€๊ธด ํ•ด๋„ ์–ด๋Š์ •๋„๋Š” ํƒ€ํ˜‘์ด ํ•„์š”ํ•œ ๊ฒƒ ๊ฐ™๋‹ค.

๋‚ด์ผ์€ ์˜ต์…˜ ์„ ํƒ ํŽ˜์ด์ง€๋ฅผ ์–ด๋Š์ •๋„ ๋๋‚ผ ์ˆ˜ ์žˆ์œผ๋ฉด ์ข‹๊ฒ ๋‹ค.

์ด์Šนํ˜„

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

์ตœ๊ทœํ˜„

- ์˜ค๋Š˜์€ ์ˆ˜์—… ์—†์ด ์˜ค๋กœ์ง€ ๊ฐœ๋ฐœ์—๋งŒ ์ง‘์ค‘ํ•  ์ˆ˜ ์žˆ๋Š” ์‹œ๊ฐ„์ด ๋งŽ์•˜๋‹ค. ๊ตณ๊ตณ
    - ํŠธ๋ฆผ ์ •๋ณด ์กฐํšŒ API
    - ์˜ต์…˜ ์„ธ๋ถ€ ์ •๋ณด ์กฐํšŒ API

- ๋ ˆ์ด์–ด ๋…๋ฆฝ์ ์œผ๋กœ test code๋ฅผ ์งœ์•ผ ํ•œ๋‹ค๊ณ ๋Š” ํ•˜์ง€๋งŒ Contoroller๋„ test code๋ฅผ ์งœ์•ผ ํ•˜๋Š”์ง€ ์˜๋ฌธ์ด๋‹ค. ๋ณดํ†ต ๋‚˜์˜ ๊ฒฝ์šฐ์—๋Š” Controller์—์„œ service๋ฅผ ํ˜ธ์ถœํ•˜๊ณ  ๊ทธ ๊ฐ’์„ ๊ทธ๋Œ€๋กœ client์—๊ฒŒ response ํ•ด์ฃผ๋Š”๋ฐ, service layer์—์„œ ์ง  test code๋กœ ์ถฉ๋ถ„ํ•  ๊ฑฐ ๊ฐ™๋‹ค๋Š” ์ƒ๊ฐ์ด ๋“ ๋‹ค. ์˜ค๋Š˜ ๋ฐค๊นŒ์ง€ ๊ณ ๋ฏผํ•ด๋ณด๊ณ  ํ™•์‹คํ•˜๊ฒŒ ์ •ํ•ด์•ผ๊ฒ ๋‹ค..!

- ์ƒ๊ฐ๋ณด๋‹ค ๊นƒ์„ ์ž˜ ๋ชจ๋ฅด๋Š” ๊ฑฐ ๊ฐ™๋‹ค.. ์ฃผ๋ง์„ ํ™œ์šฉํ•ด์„œ git ๊ณต๋ถ€ํ•ด์•ผ๊ฒ ๋‹ค

๐Ÿ’ป Projects

๐Ÿค Rules

โ˜€๏ธ Meetings

๐ŸŒต Reviews

1์ฃผ์ฐจ
2์ฃผ์ฐจ
3์ฃผ์ฐจ
4์ฃผ์ฐจ

๐ŸŒˆ Scrums

1์ฃผ์ฐจ
2์ฃผ์ฐจ
3์ฃผ์ฐจ
4์ฃผ์ฐจ

๐Ÿ›  Tech Posts & Mini seminar

๐Ÿ’ช๐Ÿผ [BE]

๐Ÿ›ค [FE]

๐Ÿ›ธ [AOS]


Clone this wiki locally