forked from mingulmangul/H6-CaArt
-
Notifications
You must be signed in to change notification settings - Fork 0
0809_retrospecitve
sey2 edited this page Jan 9, 2024
·
3 revisions
2023/08/09 - ๋ฐ์ดํฐ ๋
ธ๊ฐ๋ค..
์ค๋ ํ ์ผ
1. CICD
- ์ฌ์ค ์ค๋ ์๋ฒฝ์ ํ ์ผ์ด์ง๋ง ๊ณ์ ํ
์คํธ ์คํจํ๋ CI์ ์ดํดํ ์ ์๋ ์ค๋ฅ๋ง ๋๋ CD๋ฅผ ๋ชจ๋ ๊ณ ์ณค๋ค. ํ
์คํธ ์ค๋ฅ๋ @DataJpaTestํ ๋ ํ
์คํธ ํ๊ฒฝ์ด ์ ๋๋ก ๋ถ๋ฆฌ๊ฐ ์๋์ด์ ๊ทธ๋ฌ๋ ๊ฒ ๊ฐ๊ณ , ๋ฐฐํฌ๋ ์์ธ์ ์ ๋ง ๋ชจ๋ฅด๊ฒ ์ด์.. ์ต์ํ CodeDeploy๋ฅผ ์ฌ์ฉํ๋ ๋ฐฉ์์ผ๋ก ๋ณ๊ฒฝํ๋ค. ์ด์ ์ง์ง API ๊ฐ๋ฐํด์ผ์ง. API๊ฐ ๋ฆ์ด์ ธ์ ๋ฐ๋ชจ์์์ ์ฐ๋ํ ๊ฒฐ๊ณผ๋ฅผ ๋ด์ ์ ์์ ์ง๋ ๋ชจ๋ฅด๊ฒ ๋ค. ๋น ๋ฅด๊ฒ ๊ฐ๋ฐํ๊ณ ๋๊ฒจ๋๋ ค์ผ๊ฒ ๋ค.
2. DB ์ค๊ณ ์์ ๋ฐ ๋ฐ์ดํฐ ์์ฑ
- DB ์ค๊ณ๋ฅผ ์์ ํ๋ฉด์ ํ์ํ ์ฐจ๋ ๋ฐ์ดํฐ ์ ๋ฆฌํ๋ค. ๋ฐ์ดํฐ๊ฐ ์๋ ์ข
๋ฅ๋ ๋ง์์ ์คํ ์๊ฐ ๋์ ๋ค ๋ชป ๋๋๋๋ฐ ์ง์ ๊ฐ์ ๋ง์ ๋๋ด์ผ๊ฒ ๋ค.
3. ์ฃผ๊ฐ ์์
- ERD
- ERD์ ๋ํด ํ๊ต ์์
์์ ๋ฐฐ์ ์ง๋ง, ํญ์ ๋น ๋ฅด๊ฒ ๋ฌผ๋ฆฌ์ ์ธ ์ค๊ณ๊น์ง ํ ๋ฒ์ ๋๋ด๋ฒ๋ ค์ ์ค์ ๋ก ์์ฑํด๋ณธ ์ ์ ์๋ ๊ฒ ๊ฐ๋ค. ์ด๋ฒ ํ๋ก์ ํธ๋ ์ด๋ฏธ ๊ฑฐ์ ์ค๊ณ๋ฅผ ํด์ ์์ฑํ ์ง ๋ชจ๋ฅด๊ฒ ์ง๋ง ์๊ฐ์ด ๋๋ฉด ์์ฑํด๋ณด๊ณ ์ถ๋ค. (๋๋ค๋ฉด ์์ผ๋ก ๊ทธ๋ฆฌ๊ธฐ^^ ์ ์ฑ ์ ์)
์์ฌ์ด ์
1. ๊ธฐ๋ก ์ ํ๊ธฐ
- ์ค๋ ํ ์ผ์ ํ์ต ์คํ ์ธ ๋ ๋ชฐ์์ ์์ฑํ์ง ๋ง๊ณ ์ค๊ฐ์ค๊ฐ์๋ ๊ธฐ๋กํด์ผ๊ฒ ๋ค. ์ด๋ค ์ผ์ ํ๋์ง ์๊พธ๋ง ๊น๋จน๋๋ค..
2. ERD ์์
- ๊ผผ๊ผผํจ์ด ๋ถ์กฑํ ๊ฑด์ง ๋งค๋ฒ ํ๋์ฉ ๋นผ๋จน์ด์ ์ค๊ณ๋ฅผ ์์ ํ๊ฒ ๋๋ค. ์๋ ์์ ์ด ๋น์ฐํ ๊ฑฐ์ง๋ง ์๊พธ๋ง ๋์น๋ ๋ด์ฉ์ด ์๋ ๊ฒ ์ฌํ๋ค. ์ค๋ ์ง ๊ฐ์ ์นจ์ฐฉํ๊ฒ ๋ค์ ์ดํด๋ด์ผ๊ฒ ๋ค.
ํ๋ง๋
๋ด์ผ ๋น๋๋ฉด์ด๋ผ ๋๋ฌด ํ๋ณตํ๋ค. ์ค๋ ์ฌ์ ๋ก์ด ๋ง์์ผ๋ก ํ ์ผ ์ฒญ์ฐํ๊ธฐ!!
- TODAY
- ํผ๋๋ฐฑ ๋ฐ์
- ์ฝ๋๋ฆฌ๋ทฐ
- ์ต์
์์ธ๋ค์ด์ผ๋ก๊ทธ ๊ฐ์ ๋ฐ pr
- ๋ค์ด์ผ๋ก๊ทธ ๋ธ๋ฌ์ฒ๋ฆฌ โ ๋์ค์ ์ ๋๋ฉ์ด์
์ฒ๋ฆฌ ํ์ํ ๋ฏ
- DynamicOptionFloatingButton ์ค๊ณ ๋ฐ ๊ตฌํ(์งํ์ค)
- LERAN
- ๋ฆฌ์คํธ ๊ฐฑ์
1. list=newList ๊ฐ์ด ๋ฐ๋ก ํ ๋น
- ์ฃผ์๋ง ๋ฐ๊พธ๋ฉด ๋์ ์ฐ์ฐ ์๊ฐ ์ธก๋ฉด์์ ์ข์
2. mutableList.clear(), mutableList.addAll(newList) ๊ฐ์ด ํด๋ฆฌ์ด ํ ๋ค์ ๋ฃ์ด์ฃผ๊ธฐ
- ์ฐธ์กฐ๋ฅผ ์ ๊ฑฐํ๊ณ ์๋ก ์ถ๊ฐํ๋๋ฐ ์ฐ์ฐ์๊ฐ์ด ์ข ๊ฑธ๋ฆฐ๋ค
- ์ ๋ฉ๋ชจ๋ฆฌ ํ ๋น์ด ์์ผ๋ฏ๋ก ๋ฉ๋ชจ๋ฆฌ ์ฌ์ฌ์ฉ ์ธก๋ฉด์์๋ ์ข๋ค.
- preemtive type์๋ ๊ฐ์ฒด ๋ฆฌ์คํธ์ ๋ํด์๋ ์ฝ๊ฐ์๋ฌธ์ด๊ธดํ๋ค
- selector์์ฑ
- state_pressed, focused, selected, checkable, checked, enabled
- TODO
- ์ปค์คํ
๋ทฐ ๊ด๋ จ ๋ฌธ์ ๋
ธ์
์ ์ ๋ฆฌ
- ์ต์
ํ๋กํ
๋ฒํผ ๋ง๋ฌด๋ฆฌ!
- ETC
- ๊ณต๋ถํ ๊ฒ ๋๋ฌด๋ง๋ค..!
- ๊ตฌํํ ๊ฒ๋ ๋ง๋ค..!
์ค๋ ํ ์ผ
1. ์ฝ๋ ๋ฆฌ๋ทฐ ๋ฐ ์ฝ๋ ๋ฆฌ๋ทฐ ๋ด์ฉ ๋ฐ์
2. ํธ๋ฆผ ์ต์
์ ํ ๊ธฐ๋ฅ ๊ฐ๋ฐ
ํด์ผํ ์ผ
- ํธ๋ฆผ ์ต์
์ ํ ๋๋ณด๊ธฐ ๋ทฐ ๊ตฌํ
๊ณ ๋ฏผํด์ผํ ์
- ๋ฆฌ์ธ์ดํด๋ฌ ๋ทฐ ์ด๋ํฐ ์์์ ๋ด๋ถ ์ด๋ํฐ๋ฅผ ์ด๊ธฐํํ๋๊ฒ ์ฌ๋ฐ๋ฅธ ๊ตฌ์กฐ์ธ์ง
๊ณ ๋ฏผ์ ํด๋ด์ผ๊ฒ ๋ค
์ด๋ฒ ์ฃผ์ฐจ๋ฅผ ์์ํ๊ฒ ์ด์ ๊ฐ์๋ฐ , ๋ฒ์จ ์์์ผ์ด ์ง๋๊ฐ๋ค ~
ํ๋ฃจํ๋ฃจ๊ฐ ์ ์ ์์ด ์ง๋๊ฐ๋ ๊ฒ ๊ฐ์์ ์ค๋ ํ๋ฃจ๋ ์ ๋นํ๋ ์๊ฐ์ ๊ฐ์ ธ์ผ๊ฒ ๋ค
์ค๋๋ ์ฝ๋๋ฅผ ์ด์ฌํ ์์ฑํ๋ค. ์ค์ ์๋ ํฌ๋กฑ์ ์ฝ๋ ๋ฆฌ๋ทฐ ์๊ฐ์ด ์์๋ค. ๋ค๋ฅธ์ฌ๋๋ค ์ฝ๋๋ฅผ ๋ณด๋ฉด์ ์ ๋ง ์ปดํฌ๋ํธ ๋จ์๋ก ์ํ ๋ฏนํ๊ฒ ์ ๋๋ด๋ค๊ณ ์๊ฐ๋์๋ค. ์ปดํฌ๋ํธ ํ๋ํ๋๊ฐ ์งง๋ค๋ณด๋ ์ ๋ง ์ฝ๋๊ฐ ๋ณด๊ธฐ ์ข์ ๊ฑฐ ๊ฐ๋ค. ์์งํ ๊ทธ๋ ๊ฒ ์์ ํ ์์ ์ ์์ง๋ง ์์ผ๋ก๋ ์ด๋์ ๋ ์๊ฐํ๋ฉด์ ์ปดํฌ๋ํธ๋ฅผ ๋ง๋ค์ด์ผ๊ฒ ๋ค.
๊ทธ๋ฆฌ๊ณ ๊ฐ์ ๊ธฐํ์๋ฅผ ํ๋ ๋ค๋ฅธ ํ์ ์งํ๊ณผ ๋ค๋ฅธ ๋ถ๋ถ์ ์ด์ฌํ ํ๊ณ ์๋๋ฐ ์์ด๋์ด๋ฅผ ๊ณต์ ํ ์ฌ๋์ด ์์ด์ ๋๋ฌด ํ๋ค์๋ค. ๊ทธ๋๋ ํ์์ด๋ ๋์๋ค๋๋ฉฐ ์ด์ผ๊ธฐํ๋ฉฐ ์์ด๋์ด๋ฅผ ๋ง์ด ์ป์ด์ ์ต์
์ ํ ํ์ด์ง์ ui๋ ๋ค ๊ตฌํํ๋ค. ๋ฌผ๋ก api์ฐ๋ํ๋ฉด ์์ ํด์ผ ํ ๋ถ๋ถ์ด ๋ง๊ฒ ์ง๋ง ๊ทธ๋๋ ํ๋์ ํ์ด์ง๋ ๋ค ๋ง๋ค์ด์ ๋คํ์ด๋ค. ๋์ค์ API ๋์ค๋ฉด ์ฐ๋ํ๋ฉด์ props ์ ๋ฆฌ๋ ํ๊ณ event๋ state๋ ์ ๋ฆฌํด์ ์ ๋์ํ๋ ํ์ด์ง๋ฅผ ํ๋ ๋ง๋ค๊ณ ์ถ๋ค.
๊ทธ๋ฆฌ๊ณ ๋ด์ผ์ ํํ์ด๋ผ ์ฌํ์ผ๋ก ํ๋๋ฐ ํฐ ๋ชจ๋ํฐ๋ฅผ 2๊ฐ๋ ๋๊ณ ์ฝ๋๋ฅผ ์งค ์ ์๋ค๋ ๋๋ฌด ์ข๋ค. ๋ค๋ง ํํ์ด ๋ณ๋ค๋ฅธ ํผํด์์ด ์ ์ง๋๊ฐ์ผ๋ฉด ์ข๊ฒ ๋ค.
๋๋์ด ์ ๋ฐ ์๋ค(1์ฃผ์ผ์)
์ด์ ํธ๋ฆผํ์ด์ง๋ฅผ ์๋ฃํด์, ์ด์ ์ง ๊ฐ๊ธฐ์ ์ ๋ง๋ค์๋ ์์์ ํ ํ์ด์ง ์ด์๋ค์ ๋ณด๊ณ ํ๋ํ๋์ฉ ๋ง๋ค๊ธฐ ์์ํ๋ค.
ํธ๋ฆผ ํ์ด์ง๋ฅผ ๋ง๋ค์ด๋ณด๊ณ ๋๋๊ฑด๋ฐ ์ปดํฌ๋ํธ๋ฅผ ์ ๋ง๋ค์ด๋์ผ ๋์ค์ ํ์ด์ง ๊ตฌํํ ๋ ํธํ๊ธฐ์, ์ด๋ฒ์๋ ์ปดํฌ๋ํธ๋ฅผ ๋จผ์ ๋ง๋๋ ํ์์ผ๋ก ๊ฐ๋ฐ ๋ฐฉํฅ์ฑ์ ์ ํ๋ค.
์ค์ ์๋ ํฌ๋กฑ์ ์์
์ด ์์ด์ ๋ค๋ฅธ ์กฐ๋ค์ ์ฝ๋๋ฅผ ๊ตฌ๊ฒฝํ๋๋ฐ, ์ฌํ๋ค. ๋ค๋ค ๋๋ฌด ์ ๊น๋ํ๊ฒ ์ง ๋ค. ๋ด ์ฝ๋๊ฐ ํ๋ฉด์ ๋์์ง๋ฉด ๋๋ฌด๋๋ฌด ์์น์ค๋ฌ์ธ ๊ฒ ๊ฐ๋ค. ์ฌ์ค ๋ฆฌํฉํ ๋งํ ๋ถ๋ถ์ด ๋๋ฌด๋๋ฌด ๋ง์๋ฐ ์ง๊ธ ๋ฐ๊ฟ์๊ฐ ์์ผ๋๊น, ์ผ๋จ ๊ธฐ๋ฅ ๊ตฌํ ์๋ฃํ๊ณ ์์ ํ๊ณ ์ถ์๋ฐ -> ์ฌ์ค ๋ด์ค์คํ ๋๋ ๊ฐ์ ๋ฐฉํฅ์ด๋ค ..? / ์๊ฐ์ด ๋๋ ค๋ ๋ชจ๋ฅด๊ฒ ๋ค. ๊ทธ ์ ์ ๋๊ฐ ๋ด ์ฝ๋ ๋ณด์ง ์์์ผ๋ฉด ํ๋ค.
์คํ์ ์ด์ฌํ ์ปดํฌ๋ํธ ๋ง๋ค๊ณ ์ด์ ํ๋ฉด์ ๋ด๊ธฐ๋ง ํ๋ฉด ๋๋ค. ๋ฌผ๋ก ์ฌ๊ธฐ๊ฐ ์ด๋ฒคํธ ์ ์ผ ๋ง์์ ํ๋ ๋ฐ ,,, ์ ํด๋ด์ผ๊ฒ ๋ค ใ
์ด๋ฒ์ฃผ๊น์ง ์์์ ํ ํ์ด์ง๊น์ง ๊ตฌํ ์๋ฃ ๊ฐ๋ฅํ ์ง๋?
๋ด์ผ ํํ์ด ์ฌํ๋ค๊ณ ํด์ ์จ๋ผ์ธ ์์
์ด๋ค. ์ํธ !! ๊ธ์์ผ๋ ์ฌํ ๊ฒ ๊ฐ์๋ฐ ^^;
์ง์์ ์ด์ฌํ ํ ๋ จ์ง๋ ๋ชจ๋ฅด๊ฒ ์ง๋ง ์ต๋ํ ์ด์ฌํ ํด๋ด์ผ๊ฒ ๋ค. ํ์ดํ
!
<ํธ๋
์ค๋ ๊ฐ์>
- ERD์ ์ค์ DB์ ํ
์ด๋ธ์ ๊ด๊ณ๊ฐ ์๋ค.
- ERD ๊ทธ๋ฆฌ๋ฉด ๋ฐ์ดํฐ ์ค์ฌ์ผ๋ก ์ค๊ณํ๊ฒ ๋จ
- ๊ทธ์น๋ง ์์ฆ์ ๊ฐ์ฒด ์งํฅ ์ค์ฌ์ผ๋ก(๊ฐ์ฒด์ ํ์) ํด์ผ ํจ
- ๋ฐ์ดํฐ ๋ชจ๋ธ๋ง์ ์ต์ํ์ ๋ฐ์ดํฐ๋ง ํํํ๋ ๊ฒ ์ข๋ค
- ํ์ค ์ธ๊ณ์ ๋ณต์ก๋๊ฐ ๋งค์ฐ ๋๊ธฐ ๋๋ฌธ?
- ์ ํํ ํ์ค ์ธ๊ณ์ ๋ชจ๋ฐฉ์ ์๋. ์ฐฉ๊ฐ ๋
ธ๋
ธ
- FK์ depth๊ฐ ๋์ด๋ ๋ ๋ค๋๋ค ํด์ํ
์ด๋ธ์ ๋ณ๊ฐ id๊ฐ์ ๊ฐ์ผ๋ฉด ์ฑ๋ฅ ์ ํ๊ฐ ์ผ์ด๋จ
<์์์ ํ๋ฆ>
- ํ ๊ฒ ๋ง์์ 6์๊ฐ ์กฐ๊ธ ๋ ์ค๋ค. ์คํ๋ ค ์ ์ ์ค์ด๋ ๊ฒ ํจ์จ์ด ๋จ์ด์ง๋ ๊ฑฐ ๊ฐ์์ ์ ์กฐ์ ํด์ผ๊ฒ ๋ค๊ณ ๋๊ผ๋ค.
- ์ต์
์ ๋ํ ํ
์ด๋ธ์ ๋ํด์ ์ ๋ฉด์ ์ธ ํ
์ด๋ธ ์์ ์ด ์ด๋ฃจ์ด์ก๋ค. ๊ธฐ๋ณธ ์ต์
๊ณผ ์ถ๊ฐ ์ต์
, ๊ทธ๋ฆฌ๊ณ ์ถ๊ฐ ์ต์
์ ์กด์ฌํ๋ ์ธํธ์ต์
.. ๋ณต์กํ ์๊ตฌ์ฌํญ ๋๋ฌธ์ ํ
์ด๋ธ ์ค๊ณ๊ฐ ๊ณ ๋ฏผ์ด ๋๋ค. ๊ตฌํ ๊ฐ๋ฅํ 3๊ฐ์ง ๋ฐฉ์์ด๋ค.
1. ๊ธฐ๋ณธ ์ต์
, ์ถ๊ฐ ์ต์
, ์ถ๊ฐ_์์ ์ต์
ํ
์ด๋ธ ๋ถ๋ฆฌ โ ์ต์
์ด๋ผ๋ ํ๋์ ๋๋ฉ์ธ์ธ๋ฐ ํ
์ด๋ธ์ 3๊ฐ๋ก ๋๋๋ ๊ฑด ๋นํจ์จ์ ์ด๋ผ๊ณ ์๊ฐํ๋ค.
2. ๊ธฐ๋ณธ ์ต์
, ์ถ๊ฐ ์ต์
ํ
์ด๋ธ ๋ถ๋ฆฌ ํ ์ถ๊ฐ ์ต์
์ ๋ถ๋ชจ ์ต์
์ด๋ผ๋ field ์ถ๊ฐ ํ๊ธฐ โ ๋ถ๋ชจ ์ต์
์ ์กด์ฌํ์ง๋ง ์์ ์ต์
์๋ ํ์์๋ ์นผ๋ผ์ด ๋ง์ null์ด ๋ง์ด ๋ค์ด๊ฐ๋ค. ํ์๊ณผ ํ์ํด์ ์ด ๋ฐฉ์ ๋ํ ๋ง์์ ๋ค์ง ์์ ์ฑํํ์ง ์์๋ค.
3. db ํ
์ด๋ธ ์์ํ๊ธฐ โ DB์์ ํ
์ด๋ธ ์์์ด๋ผ๋ ๊ฐ๋
์ด ์ต์ํ์ง๋ ์๋ค. ํ์ง๋ง join ์ฐ์ฐ์ ๋์ด๋๊ฒ ์ง๋ง null ๊ฐ์ด ๋ค์ด๊ฐ์ง ์๊ณ ๋
ผ๋ฆฌ์ ์ด๋ค. ๋ํ ๋ณธ ํ๋ก์ ํธ์์ ORM ๊ธฐ์ ๋ก JPA๋ฅผ ์ฌ์ฉํ๊ณ ์๋๋ฐ cascade ํ๊ฒ insert ํด์ฃผ๋ ๊ธฐ๋ฅ๋ ์์ด ์ถฉ๋ถํ ๋์
๊ฐ๋ฅํ๋ค๊ณ ํ๋จํ์ฌ ์ด ๋ฐฉ์์ผ๋ก ์ ํ๋ค
์์ง 3๋ฒ ๋ฐฉ์์ ๋ํด ํ์ ์ ์์ง๋ง ์ผ๋จ ๊ตฌํํด๋ณด๊ณ ์ฑ๋ฅ ํ
์คํธ๋ฅผ ํ๋ฉฐ ๋ณ๊ฒฝ์ ๊ณ ๋ คํด๋ด์ผ๊ฒ ๋ค.
๐ป [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
- [๊น์ ๋น] ์ปค์คํ ๋ค์ด์ผ๋ก๊ทธ ๊ตฌํ