forked from mingulmangul/H6-CaArt
-
Notifications
You must be signed in to change notification settings - Fork 0
0802_retrospecitve
rbgus2002 edited this page Aug 5, 2023
·
1 revision
2023/08/02 - ํ๋ก์ ํธ ์์
์ค๋ ํ ์ผ
1. ERD ๊ตฌ์
- ์ฑํ๋ฅ ๊ณผ ์ถ์ฒ ์์คํ
๋๋ฌธ์ ERD๋ฅผ ์ด๋ป๊ฒ ๊ตฌ์ฑํด์ผ ํ ์ง ๊ณ ๋ฏผ์ด ๋ง์ด ๋๋ค. ์ผ๋จ ์ค๋์ ๋จธ๋ฆฌ๊ฐ ์ ๋์๊ฐ์ ํ๋ก์ ํธ ์ธํ
๋ถํฐ ์์ํ๋ค..
2. ํ๋ก์ ํธ ์ธํ
- ์ถ์ฒ ์์คํ
์ ์ ์ธํ๊ณ ์์ฑ๋ ERD๋ฅผ ๋ฐํ์ผ๋ก ๊ธฐ๋ณธ์ ์ธ ์คํ๋ง ํ๋ก์ ํธ๋ฅผ ์์ฑํ๋ค.
- ํ์๋ถ๊ณผ ์์ํ ๋์ ์ฐ๋ฆฌ ํ์ ๋ชจ๋์๊ฒ ์กฐ๊ธ ๋ ์ต์ํ JPA๋ฅผ ์ฌ์ฉํ๊ธฐ๋ก ํ๋ค. ์๋กญ๊ฒ ๊ณต๋ถํด์ผ ํ ๋ด์ฉ์ด ์์ด์ง๋ ๋ง์์ด ํธํด์ง๋ฉด์๋ ๋ถํธํด์ก๋ค ๐
๊ฐ์ ํ๊ณ ์ถ์ ๋ถ๋ถ
1. ์ง์คํ๊ธฐ
- ๋ฎ ์๊ฐ์ ํนํ 2~4์์ ์ง์ค๋ ฅ์ด ๋ฐ๋ฅ๋๋ค..๐ซ ์ค๊ฐ์ค๊ฐ์ ์ฅ์๋ฅผ ์ฎ๊ธฐ๋ ๊ฐ ํด์ ๋ด์ผ์ ์๊ฐ์ ๋ ์์ฐจ๊ฒ ์จ์ผ๊ฒ ๋ค.
2. ์ธํ๋ผ ๊ณต๋ถํ๊ธฐ
- ์ธํ๋ผ ๊ด๋ จ ์ง์์ด ๋ง์ด ๋ถ์กฑํ ๊ฒ ๊ฐ๋ค. ์ฌ์ค ๋ฌด์ง์ฑ์ผ๋ก ๋ฐ๋ผํ๊ธฐ๋ง ํ๋ ๋ด์ฉ๋ ๋ง์์.. ์ด๋ฒ์๋ ๋ญ๋ ์ ๋๋ก ๊ณต๋ถํ๊ณ ์ฌ์ฉํด์ผ๊ฒ ๋ค.
ํ๋ง๋
๋ฐ๋ชจ ์์์ ๋ญ ์ฐ์ง ๊ณ ๋ฏผ๊ฑฑ์ ๋๋ค. ๋ณธ๊ฒฉ์ ์ผ๋ก ๊ฐ๋ฐ ์์ํ๋ฉด ์ฌ๋ฐ์ ๊ฒ ๊ฐ์ ๊ธฐ๋๋๋ค.
* TODAY
- ์ต์
์ ํํ๋ฉด ๋ฐฑ๋ก๊ทธ ์์ฑ
- ๊ณตํต์ ์ธ ์คํธ๋ง, ์ปฌ๋ฌ ๋ฆฌ์์ค ์ถ๊ฐ
- ๊ณต๋์ปดํฌ๋ํธ ์ ์ -> ๋ด์ผ๊น์ง ๋๋ด๊ณ ์ถ๋ค.
1. ์ธ๋ถ์ฌํญ ์ธ๋์ผ์ดํฐ ๊ตฌํ
2. ๋ค์ด์ผ๋ก๊ทธ ์ปค์คํ
(์งํ์ค)
- ๊ตฌ์กฐ ์ค๊ณ๋ ๋, ๋ ์ด์์๋ ๋
- ํด๋์ค๋ ์์ฑ์ค
- ๋ค์ด์ผ๋ก๊ทธ๊ฐ ์ ๋๋ก ํ๋ฉด์ ์๋์ค๋ ์ด์๊ฐ ์๋ค...
- ์ด์ ๋จ์ ๊ฒฐ์ ~ ํ๋ฉด๋จ์ -> ๋ ์๊ฒ ์ชผ๊ฐ๋๊ฑด ๊ฐ์ธ์ญ๋,์ดํ ๋ถํธํ๋ฉด ๋ค์ ๋
ผ์
* LEARNED
- <include> ํ๊ทธ๋ฅผ ํตํด ๋ ์ด์์ xmlํ์ผ์ ๊ฐ์ ธ์ฌ์ ์๋ค!
- ์ปฌ๋ฌ ๋ฆฌ์์ค๋ฅผ ์ฐ๋๋ฐ ์ํ๊ฐ์ ํฌํจํด์ 8์๋ฆฌ๋ก ์ฐ์ง ์์ผ๋ฉด ์๋ฌ๊ฐ ๋ฌ๋ค. ์ ๊ทธ๋ฐ์ง ๊ณต๋ถํด ๋ด์ผํ ๋ฏ
- ์ค๋์ ๊ตฌํ์๋ง ์ง์คํ๋๋ผ ๋ฐฐ์ด๋ด์ฉ์ ์ ์ ๋ฆฌํ์ง ๋ชปํ๊ฒ๊ฐ๋ค. ๋ด์ผ๋ถํฐ๋ ํ์ต์๋ ์ข๋ ์ ๊ฒฝ์ ์ฐ๋๊ฑธ๋ก!
- ๊ตฌํํ๋๋ฐ ํ์คํฌ ๋ณ๋ก ์๊ฐ์ ์ธก์ ํด์ผํ ๊ฒ๊ฐ๋ค. ๊ทธ๋ฅ ๊ตฌํํ๋ค๋ณด๋ ํ๋ฃจ์ข
์ผ ๊ธฐ๋ฅํ๋๋ฅผ ์ก๊ณ ์๋๊ฒ๊ฐ๋ค.
*TODO
- ๋ค์ด์ผ๋ก๊ทธ ์ด์ ํด๊ฒฐ
- ๋ค๋ฅธ ์ข
๋ฅ ๋ค์ด์ผ๋ก๊ทธ ๋ง์ ๋ง๋ค๊ธฐ
์ค๋์ ๋ฌด์์ ํ์๊น
1. ToolBar ์ปค์คํ
2. ์์ ์ ํ ํ์ด์ง ์ฝ๋ ๋ฆฌ๋ทฐ ๋ด์ฉ ๋ฐ์
3. Issue๋ฅผ ์ด๋ค ๋จ์๋ก ์์ฑํ ์ง ๋
ผ์
4. ์์, ์คํธ๋ง ๋ฆฌ์์ค ํ์ผ ์ถ๊ฐ ์์
5. constraintDimensionRatio ์์ฑ์ ๋ํด ํ์ต
6. ๋ทฐ ์์ ํฌ๊ธฐ์ ๋ํด ๋
ผ์
ํด์ผํ ์ผ
1. ๋ฐํ
์ํธ ๊ตฌํ
2. Toolbar ์ฝ๋๋ฆฌ๋ทฐ ๋ด์ฉ ๋ฐ์
์ค๋ ๋๋ ์
- JetPack ๋ผ์ด๋ธ๋ฌ๋ฆฌ ๊ธฐ๋ฅ์ ๋ํด ๋๋ฌด ๋ชจ๋ฅด๋ ๊ฒ ๊ฐ์ผ๋ ์กฐ๊ธ ๋ ํ์ต์ ํด์ผํ ํ์์ฑ์ ๋๊ผ๋ค
์ํ
ํ๋ฃจ์ฅ์ผ ๋ชจ๋ํฐ๋ง ๋ณด๋๊น ๋์ด ๋๋ฌด ์ํ๋ค.
์ค๋์ ์ง๊ฐ์ ๋ง์๋๊ฑฐ ๋จน์ผ๋ฉด์ ์์ ์ผ์์ผ๊ฒ ๋ค
์ค๋์ ๊ฑฐ์ ํ๋ฃจ์ข
์ผ ์ฝ๋๋ฅผ ์งฐ๋ค. ๋ค์ํ ํ์ด์ง์์ ํ์ฉ๋๋ ๊ณตํต ์ปดํฌ๋ํธ๋ฅผ ๋จผ์ ์ง๊ธฐ ์์ํ๋๋ฐ ์ด๋ค props๊ฐ ๋ค์ด์ฌ์ง ๋ชจ๋ฅด๊ณ ๋ค์ํ ๊ณณ์์ ์ฌํ์ฉ ํ๋ ค๊ณ ํ๋ค๋ณด๋ ์ฝ๋๋ฅผ ์ง๋๋ฐ ๋๋ฌด ์ค๋ ์๊ฐ์ด ๊ฑธ๋ฆฌ๊ณ ์๋ค. ๊ทธ๋๋ ์ปดํฌ๋ํธ๋ฅผ ๋ง๋ค๊ณ ๋์ props๋ฅผ ์ ๋ฌํ๋ ๋๋ก ๋ค๋ฅธ ๋์์ธ์ผ๋ก ๊ทธ๋ ค์ง๋ ๊ฒ์ ๋ณด๋ ์ฌ๋ฏธ์๋ค. ๋ด์ผ๊น์ง๋ ๊ณตํต์ปดํฌ๋ํธ๋ฅผ ๋๋ด๊ณ ๋ฉ์ธ ํ์ด์ง ๊ธฐํ์ ์์ ํด์ผ๊ฒ ๋ค. ๊ทธ๋ฆฌ๊ณ ๋ฐ๋ชจ๋ ์ด๋ค ๊ฒ์ ์์ฐํ ์ง๋ ๊ณ ๋ฏผํด ๋ด์ผ๊ฒ ๋ค.
๊ทธ๋ฃน ํ๋ก์ ํธ์ ์ธ๋ฒ์งธ ๋ ์ด๋ค.
์ฌ์ค ์ด์ ๊น์ง ์ด๊ธฐ ์ธํ
์ ๋๋๊ธฐ ๋๋ฌธ์ ์ค๋ ๊ธฐ๋ณธ ์ปดํฌ๋ํธ ์ ์์ ๋ง๋ฌด๋ฆฌํ๋ ค๊ณ ํ๋ค.
์ค์ ๊ณผ ์คํ ์ด๋ฐ์๋ ๋ฒํผ ์ปดํฌ๋ํธ๋ฅผ ์ต๋ํ ๋ฒ์ฉ์ฑ ์๊ฒ ๊ตฌํํ๋ ค๊ณ ๋
ธ๋ ฅํ๋ค. ์ต์
์ ์ค์ผ๋ก์จ (size, color, bg, border) ๋ค์ํ ํ์ด์ง์์ ์ฌ์ฉํ ์ ์๊ฒ ๊ตฌํํ๋ ค๊ณ ํ๋๋ฐ, ํ์
์คํฌ๋ฆฝํธ + ์คํ์ผ๋ ์ปดํฌ๋ํธ ๋ฌธ๋ฒ ์ฌ์ฉ์ด ์ด์ํด์ ์๊พธ์๊พธ ์ฐพ์๋ณด๊ณ ํ๋๋ผ ์๊ฐ์ด ๋ฆ์ด์ก๋ค. ์๊ฐ๋ณด๋ค ๋ ์ค๋ ๊ฑธ๋ฆฐ ๋ฏ ํ๋ค ใ
ํฌ๋กฑ๊ณผ ๊ฐ๋ฐ ๋ฐฉํฅ์ ๋ํด์ ์๊ธฐ๋ฅผ ๋๋ ๋ดค๋๋ฐ, ๋๋ ๋ฆฌ์กํธ ์ด๋ณด์๋ผ ์ฌ์ค ํฐ ๊ทธ๋ฆผ์ ๊ทธ๋ฆฌ๋ ๊ฒ์ด ํ๋ค์ด์ - ๋จผ์ ํ์ด์ง ํ๋๋ฅผ ๋ง๋ค์ด๋ณด๊ณ (ํ๋กํ ํ์
์ฒ๋ผ) ํ๋ฆ์ ํ์
ํด๋ณด๋ ๊ฒ์ด ์ข์ ๊ฒ์ด๋ผ๊ณ ํ๋ค. ๊ทธ๋์ ์ถ๊ฐ์ ์ธ ์ปดํฌ๋ํธ ์์
์ ํ๋ ค๋๊ฑธ ์ ๊น ๋ฉ์ถ๊ณ ํธ๋ฆผ ์ ํ ํ์ด์ง๋ฅผ ๋จผ์ ๊ตฌํํด๋ณด๋ ค๊ณ ํ๋ค. ๋ชฉ, ๊ธ์ ์์
์ด ์์ผ๋๊น(์์์ ์ฐ์ด์ผ ํ์ง๋ง) ์ต๋ํ ๋ฌ๋ ค๋ณด๋ ค๊ณ ํ๋ค.
๋ด๊ฐ ๋ง๋ ์ปดํฌ๋ํธ๋ฅผ ํ์์ด ์ด๋ค๊ณ ์๊ฐํ๋๊น ์ข ๋ ์ ๊ฒฝ์จ์ ๋ง๋๋ ๊ฒ ๊ฐ๋ค. ํ์์๋ ๊ทธ๋ฅ ์จ๋ ๋ด๊ฐ ์ฐ์ง ํ๊ณ ๋ง๋ค์์๋๋ฐ ...ใ
์ํ๋์ด ๊ฟํ๋ค์ ๋ง์ด ์๋ ค์ค์ ์ฝ๋์ ๋ด์ผ๋ ค๊ณ ๋
ธ๋ ฅํ๊ณ ์๋ค !
์ค๋ ํ ๋ด์ฉ
- ๋ฒํผ ์ปดํฌ๋ํธ ์ ์(์ฌ๊ฐ, ์ํ)
- ํ์
์ปดํฌ๋ํธ ์ ์
- ํํ์ด์ง ๊ตฌํ
- AWS ํ๊ฒฝ์์ ๊ธฐ๋ณธ์ ์ธ ์ํคํ
์ฒ๋ฅผ ์ค๊ณํ์ฌ ์ ์ฉํ๋ค. VPC ์์ฑ ํ public subnet๊ณผ private subnet์ผ๋ก ๋ถ๋ฆฌํด์ ๊ฐ๊ฐ EC2๋ฅผ ์์ฑํ๋ค. ํ๋๋ Spring์ ์ฌ๋ฆด, ํ๋๋ MySQL์ ์ค์นํด์ DB ์ญํ ์ ํ ์ธ์คํด์ค๋ฅผ ์ ์ฉํ๊ณ ์ถํ์ ๊ธฐ๋ณธ์ ์ธ MVP๊ฐ ์์ฑ๋๋ฉด ๊ณ ๋ํ๋ฅผ ํ๊ธฐ๋ก ์ ๋ต์ ์ธ์ ๋ค.
- private subnet์ ์กด์ฌํ๋ mysql์ ์ ๊ทผํ๊ธฐ ์ํด ํฐ๋๋ง์ ํ๋๋ก ์ธํ
ํ๋ค. MySQL ๋ด์์ root ๊ณ์ ์๋ ๋น๋ฐ๋ฒํธ๋ฅผ ์ค์ ํ์ง ์๋ ๊ฒ์ด ๋ณด์์ด ๋ ์ข์ ๊ฑฐ๋ผ๋ ํธ๋
์ค๋์ ๋ง์์ ๋ฃ๊ณ ์๋ก user๋ฅผ ๋ง๋ค์ด ํ์ํ ๊ถํ์ ์ฃผ๊ณ Datagrip์ ์ฐ๊ฒฐํด์ฃผ์๋ค.
- Spring project๋ฅผ ์์ฑํ๊ณ ๋ธ๋์น๋ฅผ ๋ง๋ค์ด ํด๋ผ์ด์ธํธ์๊ฒ ์ผ๊ด๋๊ฒ response๋ฅผ ๋ด๋ ค์ฃผ๊ธฐ ์ํด ResponseDto ๊ฐ์ฒด๋ฅผ ์์ฑํ๋ค. ๋ง๋ค์ด์ ธ์๋ ResponseEntitiy ๊ฐ์ฒด๋ฅผ ์ฌ์ฉํ์ง ์๊ณ ์ปค์คํ
ํด์ ์ฌ์ฉํ ์ ์๋๋ก ์ง์ ๊ตฌํํ๋ค.
- Controller์์ throw ๋๋ Exception๋ค์ ํ ๊ณณ์์ ๊ด๋ฆฌํ ์ ์๋๋ก GlobalExceptionHandler ๊ฐ์ฒด๋ฅผ ๋ง๋ค์๊ณ ํด๋ผ์ด์ธํธ์๊ฒ ๋ณด๋ผ ๋ฉ์ธ์ง ๋ฑ ์์ ๋ฌธ์๋ค์ ํ ๊ณณ์์ ๊ด๋ฆฌํ ์ ์๋๋ก ResultCode ๊ฐ์ฒด๋ฅผ ๋ง๋ค์๋ค.
- ์ด๋ฐ๊ฐ ์ ๋
๋จน๊ณ ์ฒซ PR์ ๋ ๋ฆด ์์ ์ด๋ค. ์ด์ ์ฌ์ฌ ์ฝ๋๋ฅผ ์์ฑํ ์ ์์ ๊ฑฐ๋ผ๊ณ ํ๋จ์ด ๋์ด์ ํ๋ณตํ๋ค.. merge ํ๋ฉด์ ์ถฉ๋ ๋๊ธฐ ์ ์ ํ์๋ณด๋ค ๋จผ์ merge ํด์ผ๊ฒ ๋ค๊ณ ์๊ฐํ๋ค ใ
ใ
๋ฏผ์์ผ ์ด๋ฐ ํ์์ด๋ผ ๋ฏธ์ํด..
๐ป [H6-CaArt] โDone is better than perfectโ ๐ป
- [์ต๊ทํ] Sentry ๋์ ๊ธฐ (feat. ๋ก๊ทธ ๊ด๋ฆฌ)
- [์ต๊ทํ] GPT3.5 ๋ชจ๋ธ์ ํ์ฉํด์ ์ถ์ฒ ๋ฌธ๊ตฌ ์์ฝํ๊ธฐ
- [์ต๊ทํ] ์คํ๋ง์์ OpenAI API ์ฑ๋ฅ ๊ฐ์ ๊ธฐ
- [๊ถ๋ฏผ์] CaArt CI/CD ๊ตฌ์ถ ๊ณผ์
- [๊ถ๋ฏผ์] ์ฑํ๋ฅ ๊ณ์ฐ ๋ก์ง ๊ฐ์ - Index tuning๊ณผ Batch processing
- [์ด์นํ] useReducer, useContext๋ฅผ ์ฌ์ฉํ ์ ์ญ ์ํ ๊ด๋ฆฌ with React, TS
- [์ด์นํ] ํ๋กํ ํ์ ํจํด์ด๋?
- [์ด์นํ] UX ๊ฐ์ ์ ์ํ ์ด๋ฏธ์ง ํ๋ฆฌ๋ก๋ฉ With Promise
- [์์ํ] ํ์ ์คํฌ๋ฆฝํธ ์ ๋ค๋ฆญ์ด๋?
- [๋ฐ์ธ์] Android์ Data Binding: DataBindingUtil vs Binding.inflate
- [๋ฐ์ธ์] DI, Hilt ๋ฝ๊ฐ๊ธฐ
- [๋ฐ์ธ์] Retrofit ๋์ ๊ธฐ
- [๋ฐ์ธ์] 360๋ Spin Image Touble Shooting
- [๊น์ ๋น] ์ปค์คํ ๋ค์ด์ผ๋ก๊ทธ ๊ตฌํ