1. ์ค๋ ์งํ๋ ๊ฐ์์์ ํ์ตํ ๋ด์ฉ์ ๋ฌด์์ธ๊ฐ์?
์ค๋ ๊ฐ์๋ ์๋ฃํ์ ๊ดํ ๊ฒ์ด์๋๋ฐ, ๊ธธ์ด 30๋ถ์ง๋ฆฌ๋๋งํผ ์์ฒญ ๊น์ด ์๋ ๋ด์ฉ์ ์๋์ด์ ๊ทธ๋ฅ ๊ณผ๊ฐํ ํจ์คํ๋ค.
๋์ ์ ๋ ํ๋ ์ฝํ ๊ณผ์ ์์ ์ ๋ ฌ์ด ๊ฝค ๋ง์ด ๋์๋ ๊ฒ์ ๊ธฐ์ตํ๊ณ , ์ด๋ฒ ๊ธฐํ์ ์ ๋ ฌ๊ณผ ๊ทธ๋์ comparable, comparator๋ฅผ ํ์คํ ์์๊ฐ์๋ ๋ง์์ผ๋ก ๊ณต๋ถํ๋ฉด์ ์ ๋ฆฌ๊ธ์ ํ๋ ํฌ์คํ ํ๋ค.
์ด์ ํ์คํ ์ ์ธ ์ ์์ ๊ฒ ๊ฐ๋ค.
2. ์ด๋ฒ ์ฃผ ์งํ๋ ํ ์คํฐ๋์์ ์ป์ ์ธ์ฌ์ดํธ๋ ๋ฌด์์ธ๊ฐ์?
์ค๋์ ๊ธฐ๋ณธ ๊ณผ์ ๋ค์ด ์ข ์ฌ์ ๋ ๊ด๊ณ๋ก ๋นจ๋ฆฌ ํ๊ณ , ํฌ์คํ ์ ์ง์คํ๋๋ฐ, ๋์จํด์ ธ์ ์ข ํํ์ค๋ฝ๋ค.
์ ์ด์ ๊ณํ์ ํฌ์คํ ์ฃผ์ 2๊ฐ๋ก ์ก์ ๊ฑธ ๊ทธ๋ฌ๋ค.
์ค๋ ๊ณผ์ ๋ฅผ ํ๋ฉด์ ๋๋์ ์ stream๊ณผ ๋๋คํํ์์ ๋นจ๋ฆฌ ์ต์ํด์ ธ์ผ๊ฒ ๋ค๊ณ ์๊ฐํ๋ค.
๊ธฐ์ ๋งค๋์ ๋์ด ์ด๊ฒ์ ๊ฒ ํผ๋๋ฐฑ ํด์ฃผ์ จ๋๋ฐ, ์ญ์๋ ๊ธฐ๋ณธ์ ์ถฉ์คํด์ผ๊ฒ ๋ค๊ณ ์๊ฐํ๊ณ , ์๊ฐ ๋ณต์ก๋์ Big-O ํ๊ธฐ๋ฒ์ ์ผ๋ฅธ ์ ๋ฆฌํด์ผ๊ฒ ๋ค.
1. stream ์ ๋ฆฌํ๊ธฐ
2. ์๊ฐ ๋ณต์ก๋ ์ ๋ฆฌํ๊ธฐ, ์๋ฃ๊ตฌ์กฐ, ์๊ณ ๋ฆฌ์ฆ ๋ณ ์๊ฐ๋ณต์ก๋& ๊ณต๊ฐ๋ณต์ก๋ ํ ๊ทธ๋ ค๋ฃ๊ธฐ
3. ํด์ ์ ๋ฆฌํ๊ธฐ ( ํด์ ํ ์ด๋ธ ๊ตฌํํด๋ณด๊ธฐ , ํด์ฑ ์ถฉ๋ ์ฒด์ด๋์ผ๋ก ์ด๋ป๊ฒ ๊ทน๋ณตํ๋์ง)
4. Collection framework ์ ๋ฆฌํ๊ธฐ
๊ณต๋ถํ ๊ฒ ๋๋ ์ฐ๋๋ฏธ๋ค! ใ ใ
CS ๋ฉด์ ๋๋น ํ๋ค๊ณ ์๊ฐํ๋ฉด์ ํ๋ฃจ์ ์ ์ด๋ ๋๊ฐ์ ํฌ์คํ (๋ด๊ฑฐ๋ก ๋ง๋ค๊ธฐ)์ ํด๋๊ฐ์ผ๊ฒ ๋ค.
๊ธฐ๊ฐ์ด ์ด๋ฐํ ํ๋ก์ ํธ์์ ๊ธฐ์ ์ ํ๋จ ํ๋ก์ธ์ค๊ฐ ์ด๋ป๊ฒ ๋๋์ง ๊ถ๊ธํด์ ์ง๋ฌธ์ ํ๋ค.
๋ ํผ๋ฐ์ค๊ฐ ๊ฐ์ฅ ๋ง๊ณ , ๋์ค์ ์ผ๋ก ์ฐ์ด๋ ๊ฒ์ ์ ํํ๋ค๊ณ ํ๋ค. ์ข๋ง ์๊ฐํด๋ณด๋ฉด ๋น์ฐํ ๊ฒ์ ์ง๋ฌธํ๋ค ์ถ๋ค; ใ
์๋ก์ด ๊ธฐ์ ์ ๋์ ํ ๋๋ ์์ฃผ ๊ธด ์๊ฐ๋์ ๊ณต๋ถ๋ฅผ ํ๊ณ , ์ฑ๋ฅ ํ ์คํธ๋ฅผ ํ๋ค๊ณ ํ๋ค. ๋๋ ์ทจ์ ํด์ ํ๊ณ ์ถ๋ค.
DB ์ธ๋ฑ์ฑ, ํต์ JPA ๋ฌธ์ ๋ฑ๋ฑ์ DB์ ์ฐ๊ฒฐ์ง์ด์ ์๊ฐํ ์ ์๋ ์ ์ ์ด ์ข๋ค๊ณ ํ๋ค.
DB ๋ด๋ถ๊ตฌ์กฐ ๊ณต๋ถ๋ฅผ ํ๊ณ ๋ฉด์ ๋ณด๋ ๊ฒ์ด ์ข๋ค๊ณ ํ๋ค.
ํ๋ก์ ํธ ์ถ์ฒ๋ ํด์ฃผ์ จ๋ค
์ค๋ฌด์ ์ ์ฅ์์ ์ ์ผ ๋งค๋ ฅ์ ์ธ ๊ฒ
1. ์ฌ์ฉ์์๊ฒ ์ค์ ๋ก ์๋น์ค ํด๋ณธ ํ๋ก์ ํธ (ํ๋ณด ๋ฑ์ ํด์ ์ค์ ๋ก ์ฌ์ฉ์๊ฐ ๊ฝค ๋ง์๋ ๊ฒ์ ์ข์ํ๋ค๊ณ ํ๋ค)
2. ๊ฐ์ฅ ํ์ ์์ ์ฐ์ผ๋งํ ๊ฒ์ผ๋ก ํ๋ ํ๋ก์ ํธ, ๊ณต๊ณต๋ฐ์ดํฐ์ ์ด๋ ์บ๊ธ ์ ๋ฑ์ผ๋ก ์๊ฐํ๋ฅผ ํ๋ค๋ ์ง ๊ทธ๋ฐ๊ฑฐ๋ก ๋์๋ณธ ํ๋ก์ ํธ
3. ๊ฐ๋ฐ์์ ์ญ๋์ ์ ์ ์์ ์ ๋๋ก ๊น๊ฒ ํ๊ณ ๋ ํ๋ก์ ํธ , ๊ฒ ํฅ๊ธฐ ์์ด ์๋๋ผ ์ ๋ง ๋ฏธ์น๋ฏ์ด ํ ๋ป ๋น ์ ธ์ ์จ๋ณด๊ณ , ๊ทธ ๊ธฐ์ ์ ์ฅ๋จ์ ์ ์ฒดํํ ํ๋ก์ ํธ
MSA๋ผ ์น๋ฉด, ํ ์คํธ, ์ฑ๋ฅ์ฒดํฌ ๋ฑ๋ฑ ์ ๋ง ๋๊น์ง ํ๊ณ ๋ค์ด๋ด์ผํ๋ค๊ณ ํ๋ค.
4. ์ง์ํ ํ์ฌ์์ ์ฐ์ด๋ ์คํ์ด ์ต๊ณ ๋ค.
๊ฒฝ๋ ฅ์ง์ ๊ฒฝ์ฐ ํ ํ๋ก์ ํธ๊ฐ ๋ง๋ค๋ฉด, ์ง์ํ ํ์ฌ์ ๋ง์ถฐ์ ์ ๋ง์ ๋ง๊ฒ ๋ณํํ ํ์ ์ง์ํ๋ ๊ฒ์ด ๊ฐ์ฅ ์ข๋ค๊ณ ํ๋ค. ๋ฉ๋ชจ๋ฉ๋ชจ
๊ทธ๋ฆฌ๊ณ ํ๋ก์ ํธ ๋ง๋ค์ ๊ธฐ์ ์ฐจ์ด์ , ํน์ง์ ์ ์๊ณ ์ผ๋์ง๊ฐ ๊ฐ์ฅ ์ค์ํ๋ค๊ณ ํ๋ค.
ํญํด ๊ฐ๋ฐ์ ์ทจ์ ๋ฆฌ๋ถํธ ์ฝ์ค๋ฅผ ์๊ฐํ๊ณ ์์ฑํ ์ฝํ ์ธ ์ ๋๋ค.
https://hanghae99.spartacodingclub.kr/reboot
#๊ฐ๋ฐ์ํฌํธํด๋ฆฌ์ค #๊ฐ๋ฐ์์ด๋ ฅ์ #๊ฐ๋ฐ์์ทจ์ #๊ฐ๋ฐ์์ทจ์ค #์ฝ๋ฉํ ์คํธ #ํญํด99 #์ทจ๋ฆฌ์ฝ #์ทจ์ ๋ฆฌ๋ถํธ์ฝ์ค