Skip to content

0816_retrospecitve

rbgus2002 edited this page Aug 18, 2023 · 1 revision

๊ถŒ๋ฏผ์•„

2023/08/16

์˜ค๋Š˜ ํ•œ ์ผ
1. API ์ˆ˜์ • ๋ฐ ํ…Œ์ŠคํŠธ
    - ๋ผ์ดํ”„์Šคํƒ€์ผ์„ ์„ ํƒํ•˜๊ณ  ์ถ”์ฒœํ•˜๋Š” API๋ฅผ ์ˆ˜์ •ํ•˜๊ณ  ํ…Œ์ŠคํŠธ ์ฝ”๋“œ๋ฅผ ์ž‘์„ฑํ–ˆ๋‹ค. ํ…Œ์ŠคํŠธ ์ฝ”๋“œ ์ž‘์„ฑ์„ ์กฐ๊ธˆ ๋ฏธ๋ฃฌ ๊ฒƒ์ด ์—…๋ณด๊ฐ€ ๋˜์–ด์„œ ์—ด์‹ฌํžˆ ์ฒญ์‚ฐํ•˜๋Š” ์ค‘์ด๋‹ค..
    - ํ…Œ์ŠคํŠธ๋ฅผ ์œ„ํ•œ ๋ฐ์ดํ„ฐ๋ฅผ ๊ทธ๋ƒฅ ์ž๋ฐ” ์ฝ”๋“œ๋กœ ๋งŒ๋“ค์–ด ์ผ์—ˆ๋Š”๋ฐ ํ…Œ์ŠคํŠธ ์‹คํ–‰ ์ „์— sql ์Šคํฌ๋ฆฝํŠธ ์‹คํ–‰ํ•ด์„œ ๋ฐ์ดํ„ฐ ์ƒ์„ฑํ•˜๋Š” ๋ฐฉ์‹์œผ๋กœ ๋ฐ”๊ฟจ๋‹ค.
    - ์˜ค๋Š˜ ์•ˆ์— ํ…Œ์ŠคํŠธ ์ฝ”๋“œ์™€ ์ด ๋ถ€๋ถ„์— ๋Œ€ํ•œ API ๊ฐœ๋ฐœ์„ ์™„๋ฃŒํ•  ์˜ˆ์ •์ด๋‹ค.
2. ๋ฐฑ์—”๋“œ ์ˆ˜์—… : DI
    - DI์˜ ํ•„์š”์„ฑ์„ ์ฒด๊ฐํ•˜๊ณ  ์‹ถ๋‹ค๋ฉด ํ…Œ์ŠคํŠธ ์ฝ”๋“œ๋ฅผ ์งค ๊ฒƒ
    - ์„œ๋ธ”๋ฆฟ๊ณผ ์„œ๋ธ”๋ฆฟ ์ปจํ…Œ์ด๋„ˆ ๊ด€๊ณ„
    - ๋นˆ๊ณผ DI ์ปจํ…Œ์ด๋„ˆ ๊ด€๊ณ„
    - ์Šคํ”„๋ง์—์„œ ์‚ฌ์šฉํ•˜๋Š” DI ๋ฐฉ์‹ (setter / ์ƒ์„ฑ์ž -> p namespace / c namespace -> @Autowired -> @Qualifier / @Resource / @Inject)

์•„์‰ฌ์šด ์ 
1. ํ…Œ์ŠคํŠธ ์ฝ”๋“œ ์ž‘์„ฑํ•˜๊ธฐ
    - ํ•œ๋‹ฌ ๋‚ด๋‚ด ์•„์‰ฌ์šด ์ ์— ์“ฐ๊ณ  ์žˆ๋Š” ๊ฒƒ ๊ฐ™๋‹ค.. 
2. ์Šคํ”„๋ง ๊ณต๋ถ€ํ•˜๊ธฐ
    - Spring Triangle์— ๋Œ€ํ•ด ์„ค๋ช…ํ•  ์ˆ˜ ์žˆ๋„๋ก ๊ณต๋ถ€ํ•ด์•ผ๊ฒ ๋‹ค.
    - ๋ฌด์ง€์„ฑ์œผ๋กœ ์‚ฌ์šฉํ•˜๋˜ ๊ฒƒ๋“ค ๊ณต๋ถ€ํ•˜๊ธฐ

ํ•œ๋งˆ๋””
๋ฒŒ์จ ์˜ค๋Š˜์ด ์ง€๋‚˜๋ฉด ๋‚ด์ผ ๋˜ ๋ฐ๋ชจ์˜์ƒ ์ฐ์–ด์•ผ ํ•œ๋‹ค๋‹ˆ ๋ฏฟ๊ธฐ์ง€ ์•Š๋Š”๋‹ค. ์‹œ๊ฐ„์ด ๋„ˆ๋ฌด ๋น ๋ฅธ ๊ฒƒ ๊ฐ™๋‹ค. ๋ชฉํ‘œํ–ˆ๋˜ ๊ฒƒ์— ๋น„ํ•ด ์ง„๋„๊ฐ€ ๋งŽ์ด ์•ˆ ๋‚˜๊ฐ€๋Š” ๊ฒƒ ๊ฐ™์•„ ์Šฌํ”„๋‹ค. ๋ถ„๋ช… ์ฒ˜์Œ์—๋Š” ํ•ด๋ณด๊ณ  ์‹ถ์€ ๊ฒƒ์ด ๋งŽ์•˜๋Š”๋ฐ.. ์ผ๋‹จ ํ•„์š”ํ•œ ๊ธฐ๋Šฅ ๊ตฌํ˜„์— ์ง‘์ค‘ํ•ด์•ผ๊ฒ ๋‹ค.

๊น€์œ ๋นˆ

*TODAY

- ์งˆ๋ฌธ ํ™”๋ฉด UI ์™„์„ฑ
    - RangeSlider
    - Slider
    - ๋ฐ์ดํ„ฐ ํ”Œ๋กœ์šฐ ์ˆ˜์ •
- Tint , ColorFilter๊ด€๋ จ ๊ณต๋ถ€
- Glideโ†’Coil๋กœ ์ด์ „
    - ์ด์Šˆ 1) Lifecycle.Transforamtions ์ž„ํฌํŠธ ์•ˆ๋จ โ†’ ํ•ด๋‹น ์ฝ”๋“œ ์ˆ˜์ •
    - ์ด์Šˆ 2) okhttp2.Interceptor ์ž„ํฌํŠธ ์•ˆ๋จ โ†’ ๋ฒ„์ „ ๋ณ€๊ฒฝํ•˜์—ฌ ํ•ด๊ฒฐ

*LEARN

[Tint & ColorFilter]

- ๊ณตํ†ต์ 
    - ๋‘˜๋‹ค ํ”ฝ์…€ ๋‹จ์œ„๋กœ ๊ธฐ์กด ํŽ˜์ธํŠธ ์ˆ˜์ •
- ์ฐจ์ด์ 
    - tint์˜ ๊ฒฝ์šฐ ๋ฌด์กฐ๊ฑด ์˜ค๋ฒ„๋ ˆ์ด โ†’ ๋ ˆ์ด์–ด๋ง ๋ถˆ๊ฐ€๋Šฅ!
    - ์ปฌ๋Ÿฌํ•„ํ„ฐ์˜ ๊ฒฝ์šฐ ์—ฌ๋Ÿฌ ๋ชจ๋“œ๊ฐ€ ์žˆ์Œ โ†’ ๋ชจ๋“œ์— ๋”ฐ๋ผ ๋ ˆ์ด์–ด๋ง ๊ฐ€๋Šฅ!

*TODO
- ์ฝ”๋“œ๋ฆฌ๋ทฐ
- ์˜ต์…˜, ์งˆ๋ฌธ API์—ฐ๊ฒฐ!
- ์‹œ๊ฐ„ ๋‚จ์œผ๋ฉด ๋ผ์ดํ”„ ์Šคํƒ€์ผ ์—ฟ๋ณด๊ธฐ ๊นŒ์ง€!

๋ฐ•์„ธ์˜

์˜ค๋Š˜ ํ•œ ์ผ 
 - Glide -> Coil ๋งˆ์ด๊ทธ๋ ˆ์ด์…˜ 
 - ์ฐจ๋Ÿ‰ ๊ตฌ์„ฑ ์ •๋ณด ํ™”๋ฉด API ์—ฐ๋™ 
 - ํŠธ๋ฆผ ์„ ํƒ ํ™”๋ฉด ์•„์ดํ…œ ์„ ํƒ์‹œ blinking? ์ด์Šˆ ํ•ด๊ฒฐ 
 - DTO ํด๋ž˜์Šค  ์ถ”์ƒํ™”

RecyclerView๋Š” ๊ธฐ๋ณธ์ ์œผ๋กœ DefaultItemAnimator ํด๋ž˜์Šค์˜ ์• ๋‹ˆ๋ฉ”์ด์…˜์„ ์ง€์›ํ•˜๋Š”๋ฐ
ํ•ด๋‹น ํด๋ž˜์Šค๋Š” ์•„์ดํ…œ์ด ์ถ”๊ฐ€๋˜๊ฑฐ๋‚˜ ์ œ๊ฑฐ๋  ๋•Œ์˜ ์• ๋‹ˆ๋ฉ”์ด์…˜ ํšจ๊ณผ๋ฅผ ๊ธฐ๋ณธ์œผ๋กœ ์ œ๊ณตํ•˜๋Š” ํด๋ž˜์Šค์ด๋‹ค.

Change Animation์€ ๊ธฐ๋ณธ์ ์œผ๋กœ ์•„์ดํ…œ์˜ ๋‚ด์šฉ์ด ๋ณ€๊ฒฝ๋  ๋•Œ (์ฆ‰, notifyItemChanged(int)๊ฐ€ ํ˜ธ์ถœ๋  ๋•Œ)
ํ•ด๋‹น ์•„์ดํ…œ์€ ๋จผ์ € fade out ํšจ๊ณผ๋กœ ์‚ฌ๋ผ์ง„ ๋‹ค์Œ, ๋ณ€๊ฒฝ๋œ ๋‚ด์šฉ์„ ๋ฐ˜์˜ํ•˜์—ฌ fade in ํšจ๊ณผ๋กœ ๋‹ค์‹œ ๋‚˜ํƒ€๋‚˜๊ธฐ ๋•Œ๋ฌธ์—
์ด fade in/out ํšจ๊ณผ๊ฐ€ ์—ฐ์†์œผ๋กœ ์ผ์–ด๋‚˜๋ฉด์„œ ์˜ˆ์ƒ์น˜ ๋ชปํ•œ  ์ƒํ™ฉ์ด ๋ฐœ์ƒ ํ•  ์ˆ˜ ์žˆ๋‹ค.

์ง„ํ–‰ ์ƒํ™ฉ์€ ์˜ˆ์ƒ๋ณด๋‹ค ์ž˜ ์ง„ํ–‰๋˜๊ณ  ์žˆ๋Š” ๊ฒƒ ๊ฐ™๊ณ  ์ตœ๋Œ€ํ•œ ๊ตฌํ˜„์„ ํ•œ ๋‹ค์Œ 
์ „๋ฐ˜์ ์ธ ๋ฆฌํŒฉํ† ๋ง, ๊ธฐ์ˆ ์ ์ธ ๋„์ „์„ ์ง„ํ–‰ํ•˜๋ฉด ์ข‹์„ ๊ฒƒ ๊ฐ™๋‹ค.

์—„์„ํ›ˆ

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

์ด์Šนํ˜„

์–ด์ œ ํ•˜๋ฃจ ์‰ฌ๊ณ  ์˜ค๋‹ˆ๊นŒ ๋„ˆ๋ฌด๋„ˆ๋ฌด ์˜ค๊ธฐ ์‹ซ์—ˆ์ง€๋งŒ ์˜ค๋Š˜๋„ ์—ด์‹ฌํžˆ ์‚ด์•˜๋‹ค.
์‚ฌ์‹ค ์•„์นจ๋ถ€ํ„ฐ ๋„ˆ๋ฌด ํ”ผ๊ณคํ•ด์„œ ๋ฐฅ ๋จน๊ณ  ์กฐ๊ธˆ ์‰ฌ๋Š” ์‹œ๊ฐ„์„ ๊ฐ€์กŒ๋”๋‹ˆ ์กฐ๊ธˆ ๋‚˜์•„์ ธ์„œ ์—ด์‹ฌํžˆ ๋‹ฌ๋ ธ๋˜ ๊ฒƒ ๊ฐ™๋‹ค.
์ƒ‰์ƒ ์„ ํƒ ํŽ˜์ด์ง€๊ฐ€ API ์—ฐ๋™ํ•  ๋•Œ ์ œ์ผ ์–ด๋ ค์šธ ๊ฒƒ ๊ฐ™์€๋ฐ ์•„์ง API๊ฐ€ ๋‚˜์˜ค์ง€ ์•Š์•„์„œ ๋‹ค๋ฅธ ์„ธ์„ธํ•œ ์ž‘์—…์„ ์ง„ํ–‰ํ•˜๊ณ  ์žˆ๋‹ค.
์˜ค๋Š˜์€ ์• ๋‹ˆ๋ฉ”์ด์…˜ ์ž‘์—…ํ•˜๊ณ , ๊ณตํ†ต ์ปดํฌ๋„ŒํŠธ(Flex, Hr)๋ฅผ ์ œ์ž‘ํ•˜๊ณ , ์ฝ”๋“œ ๊ฐœ์„ ํ•˜๋Š” ์‹œ๊ฐ„์„ ๊ฐ€์กŒ๋‹ค.
๊ณตํ†ต ์ปดํฌ๋„ŒํŠธ๋Š” ํ•ญ์ƒ FlexBox๋ฅผ ๋งŒ๋“ค๋•Œ ์ฝ”๋“œ๊ฐ€ ์ค‘๋ณต๋˜์–ด ๋ง˜์— ๋“ค์ง€ ์•Š์•˜๊ณ , ๋งŒ๋“ค์–ด์•ผ๊ฒ ๋‹ค๊ณ  ์ƒ๊ฐํ•ด์„œ ๋งŒ๋“ค์—ˆ๋Š”๋ฐ ์‚ฌ์šฉํ•˜๋‹ค๋ณด๋‹ˆ ๊ธฐ์กด์— Styled Component๋กœ ์‚ฌ์šฉํ–ˆ๋˜ ๋ถ€๋ถ„์ด ์˜คํžˆ๋ ค ์ฝ”๋“œ ๊ฐ€๋…์„ฑ?(์ด ๋ถ€๋ถ„์€ Head๊ณ  ..)์ด ์ข‹์€ ๊ฒƒ ๊ฐ™์•„ ์ˆ˜์ •ํ•˜๋‹ค๊ฐ€ ๋ฉˆ์ท„๋‹ค. ์ผ๋‹จ ๋งŒ๋“ค์–ด๋Š” ๋†จ๋Š”๋ฐ ์‚ฌ์šฉํ• ์ง€๋Š” ๋ฏธ์ง€์ˆ˜. ์™œ๋งŒ๋“ค์—ˆ์ง€?
๋˜ ๋“œ๋กญ๋‹ค์šด ์ปดํฌ๋„ŒํŠธ๋ฅผ ๊ฐœ์„ ํ•˜๋ ค๊ณ  ํ–ˆ๋‹ค. ์›๋ž˜๋Š” setter, value๋ฅผ ๋ชจ๋‘๋ชจ๋‘ ๋„˜๊ฒจ์ค˜์„œ ์ฝ”๋“œ๊ฐ€ ๋„ˆ๋ฌด ๊ธธ๊ณ  ๋ถˆํ•„์š”ํ•˜๋‹ค๊ณ  ์ƒ๊ฐํ–ˆ๋Š”๋ฐ, ref๋ฅผ ์‚ฌ์šฉํ•ด ์ƒํƒœ๋ฅผ ๊ด€๋ฆฌํ•  ์ˆ˜ ์žˆ๋Š” ํ›…์„ ๋งŒ๋“ค์–ด์„œ(๊ฒ€์ƒ‰ํ•ด์„œ) ์ค‘๋ณต๋œ ์ฝ”๋“œ๋„ ์ค„์ด๊ณ , ํ•„์š”์—†๋Š” props์˜ ์ „๋‹ฌ๋„ ์ค„์ผ ์ˆ˜ ์žˆ์—ˆ๋‹ค. ์ด๊ฒŒ ์˜ค๋Š˜ ๊ฐ€์žฅ ๊ธฐ๋ถ„ ์ข‹์€ ์ผ์ธ ๋“ฏ ? ใ…Žใ…Ž
๊ธฐ๋ถ„ ์ข‹์œผ๋‹ˆ๊นŒ ์นตํ…Œ์ผ ํ•œ์ž” ๋งˆ์…”์•ผ๊ฒ ๋‹ค~
์ด๋ฒˆ์ฃผ ์•ˆ์— ์ƒ‰์ƒ์„ ํƒ ํŽ˜์ด์ง€๊นŒ์ง€ ๋งˆ๋ฌด๋ฆฌ ํ•  ์ˆ˜ ์žˆ์„์ง€ ๋ชจ๋ฅด๊ฒ ๋‹คใ… ใ…  ํ™”์ดํŒ…
์˜ค๋žœ๋งŒ์— ๊ณ ๋ฏผํ•œ ๋ถ€๋ถ„>
Dropdown ์ปดํฌ๋„ŒํŠธ์— ์• ๋‹ˆ๋ฉ”์ด์…˜ ํšจ๊ณผ๋ฅผ ์ฃผ๋ ค๊ณ  ํ–ˆ๋Š”๋ฐ, visibility์— transition ํšจ๊ณผ๋ฅผ ์ฃผ๋ฉด ์•ฝ๊ฐ„์˜ ๋”œ๋ ˆ์ด?๊ฐ€ ์ƒ๊ฒผ๋‹ค. ์ปจํ…Œ์ด๋„ˆ์˜ width๋ฅผ ๋ณ€๊ฒฝํ•˜๋Š” transition ํšจ๊ณผ๊ฐ€ ์•ˆ์— ์žˆ๋Š” item์˜ visibility๊ฐ€ ์‚ฌ๋ผ์ง€๊ณ  ๋‚œ ๋’ค ๋ฐœ์ƒํ•ด์„œ ์•ฝ๊ฐ„์˜ ์ฃผ์ถค?์ด ๋ฐœ์ƒํ–ˆ๋Š”๋ฐ, ์™„๋ฒฝํ•œ ํ•ด๊ฒฐ ๋ฐฉ๋ฒ•์€ ๋ชจ๋ฅด๊ฒ ๊ณ  visibility์— 0.1์ดˆ์˜ ์ฐจ์ž„์•„์›ƒ์„ ์ค˜์„œ ์–ด๋Š์ •๋„ ํ‹ฐ ์•ˆ๋‚˜๊ฒŒ ํ•ด๊ฒฐํ–ˆ๋Š”๋ฐ, ๋‚˜์ค‘์— ์ข€ ๋” ์•Œ์•„๋ด์•ผ๊ฒ ๋‹ค.

์ตœ๊ทœํ˜„

### **<Honux๋‹˜ ๊ฐ•์˜>**

- javax == java + extended
- Java Servlet โ‡’ http๋ฅผ ์‚ฌ์šฉํ•˜๊ธฐ ์œ„ํ•œ ํ‘œ์ค€
- WS โ‡’ Apache / Nginx
- WAS โ‡’ tomcat
- Servlet Container
    - Servlet์„ ๋‹ด๋Š” ๊ณต๊ฐ„
    - Dispatcher Servlet์ด ์กด์žฌ
    - Dispatcher Servlet โ‡’ DI Container์™€ ์—ฐ๊ฒฐ๋˜์–ด ์žˆ์Œ
    - DI Container์—๋Š” Bean๋“ค์ด ์กด์žฌ
- ๋นˆ ์ƒ์„ฑ 3๊ฐ€์ง€
    - Annotation
    - xml
    - java code
- โ€œ์Šคํ”„๋ง ์ž…๋ฌธ์„ ์œ„ํ•œ ์ž๋ฐ” ๊ฐ์ฒด ์ง€ํ–ฅ์˜ ์›๋ฆฌ์™€ ์ดํ•ดโ€ ์ฝ์–ด๋ณด๊ธฐ

### <์˜ค๋Š˜ ํ•œ ๊ฒƒ>

- ์ถ”๊ฐ€ ์˜ต์…˜ ๋ชฉ๋ก ์กฐํšŒ API ๊ฐœ๋ฐœ
    - ๊ธฐ๋ณธ ํ‹€ ์ž‘์„ฑ
    - ํƒœ๊ทธ ํ•„ํ„ฐ๋ง ๊ตฌํ˜„
    - Option์˜ ResponseDto ์ˆ˜์ •
    - pagination ๊ตฌํ˜„
    - response ๋ช…์„ธ์„œ ์ž‘์„ฑ ๋ฐ ๊ณ ์ง€

๐Ÿ’ป Projects

๐Ÿค Rules

โ˜€๏ธ Meetings

๐ŸŒต Reviews

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

๐ŸŒˆ Scrums

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

๐Ÿ›  Tech Posts & Mini seminar

๐Ÿ’ช๐Ÿผ [BE]

๐Ÿ›ค [FE]

๐Ÿ›ธ [AOS]


Clone this wiki locally