์์กด์ฑ ์ฃผ์
(DI) ์ ์ด์ ์ญ์ ๋ฐฉ๋ฒ ์ค ํ๋๋ก, ์ฌ์ฉํ ๊ฐ์ฒด๋ฅผ ์ง์ ์์ฑํ์ง ์๊ณ ์ธ๋ถ ์ปจํ
์ด๋๊ฐ ์์ฑํ ๊ฐ์ฒด๋ฅผ ์ฃผ์
๋ฐ์ ์ฌ์ฉํ๋ ๋ฐฉ์์ ์๋ฏธ ๋ฐฉ๋ฒ ์์ฑ์ ํ๋ ๊ฐ์ฒด ์ ์ธ setter ๋ฉ์๋ ์ฅ์ ํด๋์ค ๊ฐ์ ๊ฒฐํฉ๋ โฌ๏ธ → ํ ํด๋์ค๊ฐ ๋ณ๊ฒฝ๋ ๊ฒฝ์ฐ ๋ค๋ฅธ ํด๋์ค๊ฐ ๋ณ๊ฒฝ๋ ํ์์ฑ โฌ๏ธ ๋ฆฌํฉํ ๋ง ์ฉ์ด ํน์ ํด๋์ค ํ
์คํธ ์ฉ์ด ํ์ฅ์ ์ฉ์ด ์ฌ์ค DI๋ ์ดํดํ ์ ์๊ณ ์ฝ๋๋ก๋ ์ดํด๊ฐ ๊ฐ๋ฅํ๋ฐ, "DI์ ๋ํด์ ์ค๋ช
ํด์ฃผ์ธ์! ๋ญ๊ฐ์!" ๋ผ๊ณ ๋ฌผ์ผ์ ๋ค๋ฉด,,,,, 'DI์ด๋.... ์์กด์ฑ ์ฃผ์
์ผ๋ก...... ์ธ๋ถ์์ ๊ฐ์ฒด๋ฅผ ์ฃผ์
ํด์ฃผ๋ ๊ฒ์
๋๋ค....' ๋ผ๊ณ ๋๋ตํ๊ฒ ๋๋ ํฌํํ ์์ด! ๊ทธ๋์ ์ฌ์ค ์ด์ ์๋ ์ด์ ๋ ์ค๋๋ DI์ ๋ํด์ ๋ง์ ๋ ํผ๋ฐ์ค๋ฅผ ์ฐธ๊ณ ํด์ ํ์ตํ๋ค.. ๋ฉด์ ์์๋ ์คํ๋ง์ ๊ณต๋ถํ..
TIL๐ฅ
์๊ณ ๋ฆฌ์ฆ ํ์ด https://www.acmicpc.net/problem/1700 1700๋ฒ: ๋ฉํฐํญ ์ค์ผ์ค๋ง ๊ธฐ์์ฌ์์ ์ด๊ณ ์๋ ์ค๊ท๋ ํ ๊ฐ์ ๋ฉํฐํญ์ ์ด์ฉํ๊ณ ์๋ค. ์ค๊ท๋ ํค๋ณด๋, ํค์ด๋๋ผ์ด๊ธฐ, ํธ๋ํฐ ์ถฉ์ ๊ธฐ, ๋์งํธ ์นด๋ฉ๋ผ ์ถฉ์ ๊ธฐ ๋ฑ ์ฌ๋ฌ ๊ฐ์ ์ ๊ธฐ์ฉํ์ ์ฌ์ฉํ๋ฉด์ ์ด์ฉ ์ ์์ด ๊ฐ์ข
์ www.acmicpc.net ๊ณจ๋ ๋ฌธ์ !! ๋จผ์ K๊ฐ์ ์ ํ์ ๋๋ฉด์, ๋ฉํฐํญ์ ๋ชจ๋ ์ฑ์์ค๋ค! ์์ง ๋จ์๋ค๋ฉด, ๋บ์ง ์๋บ์ง๋ฅผ ์ ํด์ค์ผํ๋๋ฐ ์ด๋ฏธ ๋ผ์์ ธ ์๋ค๋ฉด pass~ ์ ๋ผ์์ ธ ์๋ค๋ฉด, ๋ผ์์ ธ ์๋ ๊ฒ๋ค์ ๋๋ฉด์ ๋ค์ ๋ ์ฌ์ฉ๋๋์ง๋ฅผ ํ์ธํ๋ค! ๋ง์ฝ ์ ๋ถ ์ด๋ค๋ฉด, ๊ฐ์ฅ ๋ง์ง๋ง์ ์ฌ์ฉ๋๋ ๊ฒ์ ๋นผ์ฃผ๋ ๋ฐฉ์์ผ๋ก ์งํ!! ํ
์ผ๊ฐ ๋ค ํต๊ณผํด์ ์ ์ถํ๋๋ ๋์๊ฒ ์ค๋ ๊ฒ์ ์๊ทธ๋ฐ๊ฐ ๊ฒ์ํ์์ ์ฐธ๊ณ ํด๋ดค๋๋ K๊ฐ์ ๊ธฐ..
์ค๋๋ ๋ฆ์ด๋ฒ๋ฆฐ TIL...๐ ์๋ 9์๊น์ง ์์ฑํ ๋ คํ๋๋ฐ ์์ ํ๋ ๊ฑฐ์์ ๋ชป ๋ฒ์ด๋๊ณ ์ด์ ์ผ ์ด๋ค!~ ์ด์ ๋ผ๋ ์ฐ๋๊ฒ ์ด๋๋ ์ค๋์ https://www.acmicpc.net/problem/2478 2478๋ฒ: ์๋ฌผ์ ์ฒ์ k-์ผ์ชฝ๋ฐ๊ธฐ์ k๋ฅผ ์ฒซ์งธ ์ค์, (p,q)-๊ตฌ๊ฐ๋ค์ง๊ธฐ์ p์ q๋ฅผ ๋น์นธ์ ์ฌ์ด์ ๋๊ณ ๋์งธ ์ค์, ๊ทธ๋ฆฌ๊ณ ๋ง์ง๋ง k-์ผ์ชฝ๋ฐ๊ธฐ์ k๋ฅผ ์
์งธ ์ค์ ์ถ๋ ฅํ๋ค. ๋ง์ผ ๋ต์ด ์ฌ๋ฟ์ผ ๊ฒฝ์ฐ์๋ ๊ทธ ์ค ํ๋๋ง ์ถ๋ ฅ www.acmicpc.net ๋ค์ด์๋ฌธ์ !!!๋ฅผ ํ์๋ค ใ
ใ
ใ
ใ
ใ
์ฌ์ค ๋ค๋ฅธ ๋ถ๋ค ํ์ด ์ฐธ๊ณ ํ๊ฑด ์ ๋น๋ฐ ๋์ ํ์ด ๋ฐ ์ฝ๋๋ ์ฌ๊ธฐ! https://hyeyun.tistory.com/entry/BOJ-2478-%EC%9E%90%EB%AC%BC%EC%87%A0 [ BOJ 2478 ] ์๋ฌผ..
Spring ์
๋ฌธ ๊ฐ์ ์ค๋ 1์ฃผ์ฐจ ์๊ฐ! ๊ธฐ๋ณธ์ ์ธ Spring MVC ํจํด๊ณผ Database์ ๊ดํด ํ์ตํ๋ค. ๊ฐ์ ์ค ๋ฉ๋ชจ์ฅ ํ๋ก์ ํธ ๋ด์ฉ์ด ์์๋๋ฐ, ๊ฐ๋จํ๊ฒ entity, dto, controller ๋ถ๋ถ๋ง ์ฝ๋๋ฅผ ์ง๋ ๊ฑฐ์๋ค. ๊ธฐ์ด๋ถํฐ ๋ค์ง๋ฉฐ ์ฌ๋ผ๊ฐ๊ธฐ ์ข์ ๋ฏ! https://hyeyun.tistory.com/entry/Spring-%EC%9E%85%EB%AC%B8-1%EC%A3%BC%EC%B0%A8-Spring-MVC Spring ์
๋ฌธ 1์ฃผ์ฐจ : Spring MVC Spring MVC MVC ๋์์ธ ํจํด MVC๋ Model-View-Controller์ ์ฝ์๋ก, ์ํํธ์จ์ด ๋์์ธ ํจํด ์ค ํ๋ MVC ํจํด์ ์ํํธ์จ์ด๋ฅผ ๊ตฌ์ฑํ๋ ์์๋ค์ Model, View, Controller๋ก ๊ตฌ๋ถํ์ฌ ๊ฐ..
๋ด๋ฐฐ์บ ์คํ๋ง ์
๋ฌธ ๊ฐ์ ๋ฃ๊ธฐ ์ค๋์ ์คํ๋ง ์
๋ฌธ ๊ฐ์๋ฅผ ๋ค์๋ค. .. ์ฌ์ค ๋ค๋ฅธ๊ฑฐ ํ ๊ฒ ์ข ์์ด์ ๋ง์ด ๋ชป๋ค์๋ค..... ์์ง ๋ธ๋ก๊ทธ ์ ๋ฆฌ๋ ๋ ํ๋คใ
ใ
ใ
๊ทธ๋์ ์์์ ์ฅ์ํใ
ใ
ใ
๊ทธ๋๋ ๊ณต๋ถํ๋ฉด์ API์ ๋ํด ์ข ๋ ๋น์ ๋ฅผ ๋ค์ด์ ํ์คํ ๋ฝ! ๊น์ง ์๋์ฌ๋ ์ดํด๋ฅผ ํ๋น\ API๋ใ
๋ด์ผ์ ๊ผญ 1์ฃผ์ฐจ ๋ค ์๊ฐํด์ผ์ง!! ํ๋ก๊ทธ๋๋จธ์ค์์ ์ถ์???ํ ์๊ฒฉ์ฆ ์ ์ฒญ PCCP ์ํ ์ ์ฒญํ๋ค.! ๊ฝค๋ ๋ง์ ๊ณณ์์ ์ธ์ ํด์ฃผ๊ณ ์์ด์ ๋ฐ๋์ผ๋ฉด ์ข์๊ฑฐ๊ฐ๋น ๋ด ํ ์๊ณ ๋ฆฌ์ฆ ์ค๋ ฅ๋ ์๊ณ ์ถ๊ณ ์ค์ค์ฟใ
๋ชจ์๊ณ ์ฌ๋ ํ์ด๋ดฃ๋ค. 1๋ฒ 2๋ฒ ํ์๋๋ฐ 1๋ฒ. ์ธํจ์ด ๋ฌธ์ ๊ฝค๋ ์ด๋ ค์ด๋ฏํ์ง๋ง ๊ฝค๋ ์ฌ์ ๋ค. ์ฌ๋ฌ ๋ฒ ๋์ค๋๋ฐ ๋จ์ด์ ธ์์ผ๋ฉด ์ธํจ์ด ๋ฌธ์์ด๋ค ์ด ์ธํจ์ด ๋ฌธ์๋ค๋ง ์ฐ๊ฒฐํด์ ์ถ๋ ฅ! ์๋ค๋ฉด N ์ถ๋ ฅ ๋๋ MAP์ 2๊ฐ ์ฌ์ฉํด์, ..
clean code ๋
์ ์์ ๋ด๋ฐฐ์บ ๊ณผ์ ๋ฅผ ์งํํ๋ฉด์, ๊ธฐ์กด์ ๋๋ฆ ํด๋ฆฐ ์ฝ๋๋ฅผ ์์ฑํ๋ค๊ณ ์๊ฐํ๋ ๋ฏฟ์์ด ์์ฅ์ฐฝ๐คฉ ๊นจ์ ธ๋ฒ๋ ธ๋ค.. ๊ทธ๋์ ํญ์ ๋ฏธ๋ฃจ๊ณ ๋ฏธ๋ฃจ๋ฉฐ, ์ฑ
์ฅ์ ์ฐจ์งํ๋ clean code ๋
์ ์์!! ์ฝ๊ณ ๋์ ๋ธ๋ก๊ทธ์ ์ ๋ฆฌ๋ ํด๋ดค๋ค. ์์ง 1,2์ฅ ๋ฐ์ ์์ฝ์์ง๋ง ๋งค์ผ ๊พธ์คํ ์ฝ์ผ๋ฉด์ ๊ธฐ๋กํด์ผ๊ฒ๋ค~ ์ฝ๋๋ฅผ ์์ฑํ ๋ ๋ด์ฉ์ ๊ธฐ์ตํด์ ๊ผญ ํด๋ฆฐํ๊ฒ ์์ฑํ ์ ์๋ ๊ฐ๋ฐ์๊ฐ ๋์ด์ผ์ง~ https://hyeyun.tistory.com/entry/%ED%81%B4%EB%A6%B0%EC%BD%94%EB%93%9C-12%EC%9E%A5-%EC%A0%95%EB%A6%AC ํด๋ฆฐ์ฝ๋ 1~2์ฅ ์ ๋ฆฌ 1์ฅ. ๊นจ๋ํ ์ฝ๋ ์์ด์ ๋์ ๋ชจ๋ ํ๋ก๊ทธ๋๋จธ๊ฐ ๊ธฐํ์ ๋ง์ถ๋ ค๋ฉด ๋์ ์ฝ๋๋ฅผ ์์ฐํ ์๋ฐ์ ์๋ค. ๊ฐ๋จํ ๋งํด ..
๊ฐ์ธ ๊ณผ์ ํผ๋๋ฐฑ ๊ฐ์ธ ๊ณผ์ ํผ๋๋ฐฑ์ ๋ฐ๊ณ ์์ ๋์
! ๊ทธ ์์ค์ Exception in thread "main" java.lang.UnsupportedOperationException at java.util.AbstractList.remove(AbstractList.java:161) ์๋ฌ ๋ฐ์! ๋ฉ๋ด ์ญ์ ๊ธฐ๋ฅ์์ ๋ฐ์ํ๋๋ฐ, ๊ฐ ๋ฉ๋ด๋ฅผ ๋๋ฉด์ ์ผ์นํ๋ ๊ฐ์ด ๋ฐ๊ฒฌํ๋ฉด removeํจ์๋ก ์ ๊ฑฐํ๋ ๋ถ๋ถ์ด์๋ค. items.forEach((key, value) -> { for (int i = 0; i < value.size(); i++) { if (value.get(i).getIndex() == id) { value.remove(i); break; } } }); ์์ธ์ ์ฐพ๋ค๋ณด๋, ๋งจ ์ฒ์์ ๊ฐ์ initํด์ฃผ๋..
์ ์ ์ผ๊ธฐ์ฅ์ด ๋์ด๊ฐ๋ ๋์ TIL.... ์ด์ฌํ ํด์ผ๊ฒ ๋ค..... ์ข ๋ TIL ์์ฑ ์์๋ค์ ์ฐธ๊ณ ํด์ ๋์๋๋ TIL์ ์์ฑํด๋ด์ผ๊ฒ๋ฐ!! TIL ํน๊ฐ์์ ์๋ ค์ฃผ์ ๋ธ๋ก๊ทธ๋ค์ ์ข ์ฐธ๊ณ ํด์ผ์ฅฅ์ฅฅ์ฅฅ ๋ด๋ฐฐ์บ ํ ๊ณผ์ ๊ธฐ์กด์ ์๋ ๋ ํฌ์งํ ๋ฆฌ์์ merge ์ ์ถฉ๋์ด ์์ฃผ๋๊ณ , ๊ตฌ์กฐ๊ฐ ์กฐ๊ธ ์ด์ํด์ ๊ฒฐ๊ตญ ์๋ก ์์ฑํด๋ฐ๐ ์ข ๋ ํ์
๊ณผ์ ์์์ git ์ฌ์ฉ ๋ฐฉ๋ฒ์ ํ์ตํด์ผ๊ฒ ๋ค. ํนํ ๋ญ๊ฐ ์์ง merge์์ rebase, fast-forward๋ฑ๋ฑ์ด ๊ตฌ์ฒด์ ์ผ๋ก ์ ์ดํด๊ฐ ๋์ง์์์ ๋ ์ด๋ ค์ด๊ฑฐ๊ฐ๋น ์ค๋์ ํ์์ด ํธํ
๊ฐ์ค ์ด๊ธฐ๊ฐ์ ์ค์ ํด์คฌ๊ณ , ๊ทธ๋ฅผ ๊ฐ์ง๊ณ ์์ฝ๊ธฐ๋ฅ์ ์๋ฃํ๋ค. ๊ทธ ๊ณผ์ ์์ ๋ค๋ฅธ ํ์์ด ๋ค๋ฅธ ํด๋์ค์ ๋ฉ์๋๋ค์ ์ ๊ตฌํํด์ฃผ์ด์ ์ ์๋ฃํ๋ฏ~! ๊ฐ์ธ ์ค๋ ์๋ ์์์ ํ๋ ๋ค ์ธ๋ผํ๋๋ฐ, ์ด์ ์ผ์ฃผ์ผ์ด..