๋๋ค, ๋๋ค, ๋๋ค. ์ฌ๋๋ค์ด Java 8์ ๊ดํด ์ด์ผ๊ธฐํ ๋ ๋ฃ๋ ๋ด์ฉ์ ์ด๊ฒ์ด ์ ๋ถ์
๋๋ค. ๊ทธ๋ฌ๋ ๊ทธ๊ฒ์ ๋จ์ง ํ ๋ถ๋ถ์ผ ๋ฟ์
๋๋ค. Java 8์๋ ๋ช ๊ฐ์ง ๊ฐ๋ ฅํ ์ ํด๋์ค์ ๊ด์ฉ์ด, ๊ทธ๋ฆฌ๊ณ ์ฒ์๋ถํฐ ์์ด์ผ ํ๋ ๊ธฐ๋ฅ ๋ฑ ๋ง์ ์๋ก์ด ๊ธฐ๋ฅ์ด ์์ต๋๋ค. ์ ๋ ํ์คํ ์ ๊ฐ์น๊ฐ ์๋ ์์ ๋ณด์์ด๋ผ๊ณ ์๊ฐ๋๋ 10๊ฐ์ง ์๋ก์ด ๊ธฐ๋ฅ์ผ๋ก ๋์ด๊ฐ๊ณ ์ถ์์ต๋๋ค. ๊ทธ ์ค์ ์ฌ๋ฌ๋ถ์ด ์๋ํด๋ณด๊ณ ์ถ์ ๊ฒ์ด ์ ์ด๋ ํ๋ ๊ฐ ์์ ํ
๋ ์์ํด ๋ณด์ธ์!
1) ๊ธฐ๋ณธ ๋ฐฉ๋ฒ. Java ์ธ์ด์ ์๋ก์ด ๊ธฐ๋ฅ์ผ๋ก ์ด์ ์ธํฐํ์ด์ค(
๊ธฐ๋ณธ ๋ฉ์๋ )์ ๋ฉ์๋ ๋ณธ๋ฌธ์ ์ถ๊ฐํ ์ ์์ต๋๋ค. ์ด๋ฌํ ๋ฉ์๋๋ ํด๋น ์ธํฐํ์ด์ค๋ฅผ ๊ตฌํํ๋ ๋ชจ๋ ํด๋์ค์ ๋ฌด์กฐ๊ฑด ์ถ๊ฐ๋ฉ๋๋ค. ์ด๋ ์ด์ ์ฝ๋๋ฅผ ์์์ํค์ง ์๊ณ ๊ธฐ์กด ๋ผ์ด๋ธ๋ฌ๋ฆฌ์ ์๋ก์ด ๊ธฐ๋ฅ์ ์ถ๊ฐํ ์ ์๋ ๊ธฐํ๋ฅผ ์ ๊ณตํฉ๋๋ค. ๊ทธ๊ฒ์ ํ์คํ ํ๋ฌ์ค์
๋๋ค. ๋ฐ๋ฉด์ ์ด๋ ํน์ ์กฐ๊ฑด์ ๊ท์น์ผ๋ก ๋ฐ๋ผ์ผ ํ๋ ์ธํฐํ์ด์ค์ ์ด๋ฅผ ๋ฐ๋ฅด๋ ํด๋์ค(๊ฐ์ธ ๊ตฌํ) ์ฌ์ด์ ๊ฒฝ๊ณ๋ฅผ ์ฌ๊ฐํ๊ฒ ๋ชจํธํ๊ฒ ๋ง๋ญ๋๋ค. (์ค๋ฅธ์ชฝ) ์ฌ์ฉ์์๊ฒ ์ด๋ ์ธํฐํ์ด์ค๋ฅผ ๋ ์ค๋งํธํ๊ฒ ๋ง๋ค๊ณ , ๋ฐ๋ณต์ ํผํ๊ณ , ๋ผ์ด๋ธ๋ฌ๋ฆฌ๋ฅผ ํ์ฅํ๋ ์ฐ์ํ ๋ฐฉ๋ฒ์ด ๋ ์ ์์ต๋๋ค. ๋์ ์์; ์ฐ๋ฆฌ๋ ์ด๊ฒ์ ํธ์ถํ๊ณ ์ด๋ฅผ ๊ตฌ์ฒด์ ์ธ ์ ํ์ผ๋ก ๋ณํํ๋ ์ธํฐํ์ด์ค์ ๋ฉ์๋๋ฅผ ๊ณง ๋ณด๊ฒ ๋ ๊ฒ์
๋๋ค. Brrr....
2) ํ๋ก์ธ์ค๋ฅผ ์ค์งํ๋ ์ค์
๋๋ค. ์ถ๊ฐ ํ๋ก์ธ์ค๋ฅผ ์์ํ๋ ๊ฒ์ ํ๋ก์ธ์ค๊ฐ ์ค๋จ(ํฌ๋)(์ถฉ๋)๋๊ฑฐ๋ ์ ์ง(์ค์ง)๋๊ฑฐ๋ CPU๋ฅผ 100% ์ฌ์ฉํ ๋ ๋๋ฒ๊น
ํ๊ธฐ ์ํด ๋ค์ ๋์์(๋๋ฒ๊ทธ) ๋ฐ์ฏค ์๊ณ ์๋ ์์
์ค ํ๋์
๋๋ค. Process ํด๋์ค๋ ์ด์ ํต์ ํ๊ธฐ ์ด๋ ค์ด ํ๋ก์ธ์ค๋ฅผ ์ ์ดํ๋ โโ๋ฐ ๋์์ด ๋๋ ๋ ๊ฐ์ง ์๋ก์ด ๋ฉ์๋๋ก ๋ฌด์ฅ๋์์ต๋๋ค. ์ฒซ ๋ฒ์งธ
isAlive()๋ฅผ ์ฌ์ฉ ํ๋ฉด ํ๋ก์ธ์ค๋ฅผ ๊ธฐ๋ค๋ฆฌ์ง ์๊ณ ๋ ํ๋ก์ธ์ค๊ฐ ์คํ ์ค์ธ์ง ์ฝ๊ฒ ํ์ธํ ์ ์์ต๋๋ค. ๋ ๋ฒ์งธ์ด์ ๋ ๊ฐ๋ ฅํ(๊ฒฝ๊ณ !) ๊ฒ์
destroyForcically() ์
๋๋ค. ์ด๋ฅผ ํตํด ์๊ฐ(๋๊ธฐ ์ค์ด๋ ์๋๋ )์ ์ด๊ณผํ๊ฑฐ๋ ๋ ์ด์ ํ์ํ์ง ์์ ํ๋ก์ธ์ค๋ฅผ (๋ป๋ปํ๊ฒ) ๊ฐ์ ๋ก(์ข
๋ฃ) ์ค์งํ ์ ์์ต๋๋ค.
3) ์คํฌํ๋ฝ. ์ด์ ์ ๋ง ํฅ๋ฏธ๋ก์ด ์ผ์ด ์๊ฒผ์ต๋๋ค. ์ฝ๋ ๋๊ธฐํ๋ฅผ ์ข์ํ๋ ์ฌ๋์ ์์ต๋๋ค. ์ด๋ ์ ํ๋ฆฌ์ผ์ด์
์ ์ฑ๋ฅ์ ์ ํ์ํค๊ฑฐ๋(ํนํ ๋๊ท๋ชจ๋ก) ๋ ์ฌํ ๊ฒฝ์ฐ ์ ํ๋ฆฌ์ผ์ด์
์ ์ ์ง์ํค๋ ํ์คํ ๋ฐฉ๋ฒ์
๋๋ค. ๊ทธ๋ผ์๋ ๋ถ๊ตฌํ๊ณ ๋๋ก๋ ์ ํ์ ์ฌ์ง๊ฐ ์์ต๋๋ค. ๋ฆฌ์์ค์ ๋ํ ๋ฉํฐ์ค๋ ๋ ์ก์ธ์ค๋ฅผ ๋๊ธฐํํ๋ ๋ฐ๋ ๋ค์ํ ๊ด์ฉ๊ตฌ๊ฐ ์์ต๋๋ค. ๊ฐ์ฅ ์ ํธ๋๋ ๊ฒ ์ค ํ๋๋ ReadWriteLock ๋ฐ ๊ด๋ จ ๊ตฌํ์
๋๋ค. ์ด ๊ด์ฉ๊ตฌ๋ ๋ฆฌ์์ค๋ฅผ ์กฐ์ํ๋ ์ค๋ ๋๋ง ์ฐจ๋จํ๋ฉด์ ์ฌ๋ฌ ์ค๋ ๋๊ฐ ๋ฆฌ์์ค๋ฅผ ์ฌ์ฉํ๋๋ก ํ์ฉํจ์ผ๋ก์จ ๊ฒฝํฉ์ ์ค์
๋๋ค. ๋ฃ๊ธฐ์๋ ์ข์ง๋ง ์ค์ ๋ก ์ด ์ ๊ธ์ ๋๋ฌด
๋๋ฆฝ๋๋ค . ํนํ ์ฐ๊ธฐ ์ค๋ ๋ ์๊ฐ ๋ง์ ๊ฒฝ์ฐ์๋ ๋์ฑ ๊ทธ๋ ์ต๋๋ค. ์ด๋ ๋๋ฌด ๋์ ๊ฒ์ผ๋ก ํ๋ช
๋์ด Java 8์๋
StampedLock ์ด๋ผ๋ ์๋ก์ด RWLock์ด ๋์
๋์์ต๋๋ค . ์ด ์ ๊ธ์ ์๋๊ฐ ๋ ๋น ๋ฅผ ๋ฟ๋ง ์๋๋ผ ๋๊ด์ ์ ๊ธ์ ์ํ ๊ฐ๋ ฅํ API๋ฅผ ์ ๊ณตํฉ๋๋ค. ์ฌ๊ธฐ์๋ ์ฝ๋์ ์ค์ํ ์น์
๋์ ์ฐ๊ธฐ ์์
์ด ๋ฐ์ํ์ง ์๊ธฐ๋ฅผ ๋ฐ๋ผ๋ฉด์ ์ ๋ ดํ ๋น์ฉ์ผ๋ก ์ฝ๊ธฐ ์ ๊ธ์ ์ป์ ์ ์์ต๋๋ค. ์น์
์ด ๋๋๋ฉด ํด๋น ์๊ฐ ๋์ ๋
น์์ด ๋ฐ์ํ๋์ง ์ ๊ธ์ ๋ฌป์ต๋๋ค. ์ด ๊ฒฝ์ฐ ๋ค์ ์๋ํ ์ง, ์ ๊ธ์ ์์ค์ปฌ๋ ์ด์
ํ ์ง, ์๋๋ฉด ํฌ๊ธฐํ ์ง ๊ฒฐ์ ํ ์ ์์ต๋๋ค. ์ด ์๋ฌผ์ ๋ ๊ฐ๋ ฅํ ๋๊ตฌ์ด๋ฉฐ ๊ทธ ์์ฒด์ ๋ํด ํฌ์คํ
ํ ๊ฐ์น๊ฐ ์์ต๋๋ค. ๋๋ ์ด ์๋ก์ด ์ฅ๋๊ฐ์ ๋ํด ์์ฒญ๋๊ฒ ํฅ๋ถ๋๋ค. ์์ฒญ๋! ์ถ๊ฐ์ ์ผ๋ก ๋น์ ์ ์ฝ์ ์ ์์ต๋๋ค
์ฌ๊ธฐ .
4) ๊ฒฝ์ ๊ธฐ๋ก์. ์ด๋ ๋ฉํฐ์ค๋ ๋ ์ ํ๋ฆฌ์ผ์ด์
์ ์คํํ๋ ์ฌ๋์ ์ํ ๋ ํ๋์ ์์ ๋ณด์์
๋๋ค. ์ฌ๋ฌ ์ค๋ ๋์์ ์นด์ดํฐ๋ฅผ ์ฝ๊ณ ์ฐ๊ธฐ ์ํ ๊ฐ๋จํ๊ณ ํจ์จ์ ์ธ
์ API์
๋๋ค . ๋๋ก๋ AtomicInteger๋ฅผ ์ฌ์ฉํ๋ ๊ฒ๋ณด๋ค ํจ์ฌ ๋น ๋ฆ
๋๋ค. ๊ฝค ๋ฉ์ ธ!
5) ์ ํ์ (๋๋ ์ ํ์ ) ๊ฐ. ์, ๋ ํฌ์ธํฐ๋ ๋ชจ๋ Java ๊ฐ๋ฐ์์๊ฒ ๊ณจ์นซ๊ฑฐ๋ฆฌ์
๋๋ค. ์๋ง๋ ๋ชจ๋ ์์ธ ์ค์์ ๊ฐ์ฅ ์ธ๊ธฐ ์๋ ๊ฒ์ ๋งค์ฐ ์ด๊ธฐ๋ถํฐ ์กด์ฌํด ์์ต๋๋ค. ์ ์ด๋
1965๋
์ดํ . Scala ๋ฐ Haskell์์ ์ฐจ์ฉํ Java 8์๋ null์ด ๋ ์ ์๋ ์ฐธ์กฐ๋ฅผ ๋ํํ๊ธฐ ์ํ Optional์ด๋ผ๋ ์๋ก์ด ํจํด์ด ์์ต๋๋ค. ์ด๋ ๊ฒฐ์ฝ null์ ์์ ๋ ๋ฌ์ฑ
์ด ์๋๋ผ API ๋์์ด๋๊ฐ ์ฝ๋ ์์ค์์(๋ฌธ์ ๋์ ) null ๊ฐ์ด ๋ฐํ๋๊ฑฐ๋ ๋ฉ์๋์ ์ ๋ฌ๋ ์ ์์์ ํ์ํ๋ ์๋จ์ด๋ฉฐ ํธ์ถ์๋ ๋ฐ๋์ ์ด๋ฅผ ์ํํด์ผ ํฉ๋๋ค. ๊ทธ๊ฒ์ ์ค๋นํ์ญ์์ค. ๋ฐ๋ผ์ ์ด๋ ํธ์ถ์๊ฐ ์ฐธ์กฐ๊ฐ ์์ ํ์ง ์๊ฒ ์ญ์ฐธ์กฐ๋ ์ ์๋ ๋ํผ์์ ์ด์ค์ผ์ดํ๋๋ ๊ฒ์ ํ์ฉํ์ง ์๋ ๊ฒฝ์ฐ ์ API์ ๋ํด์๋ง ์๋ํฉ๋๋ค. ๋๋ ์ด ๊ธฐ๋ฅ์ ๋ํด ์๋นํ ์๋ฉด์ ์ธ ์
์ฅ์ ๊ฐ๊ณ ์๋ค๊ณ ๋งํ๊ณ ์ถ์ต๋๋ค. ํํธ์ผ๋ก null์ ์ฌ์ ํ โโํฐ ๋ฌธ์ ๋ก ๋จ์ ์์ผ๋ฏ๋ก ์ด ๋ฌธ์ ๋ฅผ ํด๊ฒฐํ๊ธฐ ์ํด ์ํ๋ ๋ชจ๋ ๋
ธ๋ ฅ์ ๊ฐ์ฌ๋๋ฆฝ๋๋ค. ๋ฐ๋ฉด์ ๋๋ ์ด๊ฒ์ด ์ฑ๊ณตํ ์ ์์์ง ๋งค์ฐ ํ์์ ์ด๋ค. Optional์ ์ฌ์ฉํ๋ ค๋ฉด ํ์ฌ ์ ์ฒด์ ์ง์์ ์ธ ๋
ธ๋ ฅ์ด ํ์ํ๊ณ ์ฆ๊ฐ์ ์ธ ์ํฅ์ด ๊ฑฐ์ ์๊ธฐ ๋๋ฌธ์
๋๋ค. ๊ฐ๋ ฅํ ๋จ์์ด ์์ผ๋ฉด ๋๋ก ์ผ์ชฝ์ ๋จธ๋ฌผ ๊ฐ๋ฅ์ฑ์ด ๋์ต๋๋ค.
Optional ์ ๋ํด ์์ธํ ์์๋ณด์ธ์ .
6) ๋ชจ๋ ๊ฒ์ ์ฃผ์์ ๋ต๋๋ค. Java ์ธ์ด์ ๋ ๋ค๋ฅธ ์์ ๋ฐ์ ์ ์ฝ๋์
๊ฑฐ์ ๋ชจ๋ ๊ฒ์ ์ฃผ์์ ์ถ๊ฐํ ์ ์๋ค๋ ๊ฒ์
๋๋ค. ์ด์ ์๋ ํด๋์ค๋ ๋ฉ์๋ ์ ์ธ ๊ฐ์ ํญ๋ชฉ์๋ง ์ฃผ์์ ์ถ๊ฐํ ์ ์์์ต๋๋ค. Java 8๋ถํฐ ๊ฐ์ ํน์ ์ ํ์ผ๋ก ์บ์คํ
ํ๊ฑฐ๋ ์ ๊ฐ์ฒด๋ฅผ ํ ๋นํ ๋ ๋ณ์ ๋ฐ ๋งค๊ฐ๋ณ์ ์ ์ธ์ ์ฃผ์์ ์ถ๊ฐํ ์ ์์ต๋๋ค. ์ด๋ ์ธ์ด๋ฅผ ์ ์ ๋ถ์ ๋ฐ ์ธก์ ๋๊ตฌ(์: FindBugs)์ ๋์ฑ ์น์ํ๊ฒ ๋ง๋ค๊ธฐ ์ํ ์ง์ค์ ์ธ ๋
ธ๋ ฅ(JavaDoc ๋๊ตฌ ๋ฐ API ๊ฐ์ ๊ณผ ํจ๊ป)์ ์ผ๋ถ์
๋๋ค.
์ด๊ฒ์ ์ข์ ๊ธฐ๋ฅ์ด์ง๋ง Java 7์ ๋์
๋ InvokeDynamic ๊ณผ ๋ง์ฐฌ๊ฐ์ง๋ก ์ค์ ๊ฐ์น๋ ์ฌํ๊ฐ ์ด๋ฅผ ์ด๋ป๊ฒ ํ์ฉํ๋์ง์ ๋ฐ๋ผ ๋ฌ๋ผ์ง๋๋ค.
7) ์ค๋ฒํ๋ก ์์
. ์ด์
์ผ๋ จ์ ๋ฐฉ๋ฒ์ด ์์ต๋๋ค., ์ด๋ ์ฒซ๋ ๋ถํฐ ํต์ฌ ๋ผ์ด๋ธ๋ฌ๋ฆฌ์ ์ผ๋ถ์์ด์ผ ํฉ๋๋ค. ๋ด๊ฐ ๊ฐ์ฅ ์ข์ํ๋ ์ทจ๋ฏธ๋ ์ ์๊ฐ 2^32๋ฅผ ์ด๊ณผํ ๋ ์ซ์ ์ค๋ฒํ๋ก๋ฅผ ๋๋ฒ๊น
ํ๊ณ ๊ฐ์ฅ ์ฌ๊ฐํ๊ณ ์์์น ๋ชปํ ์ค๋ฅ(์: "๋๋์ฒด ์ด๋ป๊ฒ ์ด๋ฐ ์ด์ํ ๊ฐ์ ์ป๋๊ฐ?")๋ฅผ ์์ฑํ๋ ๊ฒ์
๋๋ค. ๋ค์ ๋งํ์ง๋ง, ์ฌ๊ธฐ์๋ ๋ฌ์ฑ
์ด ์์ง๋ง, ๋ฌด์กฐ๊ฑด ์ค๋ฒํ๋ก๋๋ ํ์ค +/* ์ฐ์ฐ์๋ณด๋ค ๋ ๊ด๋ํ๊ฒ ์ค๋ฒํ๋ก๋ ๋ ์ซ์๋ฅผ ์กฐ์ํ๋ ํจ์๊ฐ ๋ง์ด ์์ต๋๋ค.
8) ์นดํ๋ก๊ทธ๋ฅผ ์ดํด๋ณด์ธ์. ๋๋ ํ ๋ฆฌ ํธ๋ฆฌ์ ๋ด์ฉ์ ๋ฐ๋ณตํ๋ ๊ฒ์ ์ค๋ซ๋์ ์ฌ๋๋ค์ด Google์์ ๊ฒ์ํ๋ ๊ฒ ์ค ํ๋์์ต๋๋ค(์ด ๊ฒฝ์ฐ Apache.FileUtils๋ฅผ ์ฌ์ฉํ๋ ๊ฒ์ด ์ข์ต๋๋ค). Java 8์์๋
Files ํด๋์ค ์ 10๊ฐ์ง ์๋ก์ด ๋ฉ์๋๊ฐ ์ถ๊ฐ๋์์ต๋๋ค. ๋ด๊ฐ ๊ฐ์ฅ ์ข์ํ๋ ๊ฒ์ ๋๋ ํ ๋ฆฌ ๊ตฌ์กฐ์ ๋ด์ฉ์ ๋ฐ๋ณตํ๊ธฐ ์ํด ๊ฒ์ผ๋ฅธ ์ค๋ ๋(๋ํ ํ์ผ ์์คํ
์ ์ค์)๋ฅผ ์์ฑํ๋
walk() ์
๋๋ค.
9) ๊ฐ๋ ฅํ ๋ฌด์์ ์์ฑ. ์์ฆ์๋ ๋น๋ฐ๋ฒํธ์ ํค์ ์ทจ์ฝ์ฑ์ ๋ํ ์ด์ผ๊ธฐ๊ฐ ๋์ณ๋ฉ๋๋ค. ์ํํธ์จ์ด ๋ณด์์ ๋ณต์กํ ๋น์ฆ๋์ค์ด๋ฉฐ ์ค๋ฅ๊ฐ ๋ฐ์ํ๊ธฐ ์ฝ์ต๋๋ค. ์ด๊ฒ์ด ๋ฐ๋ก ์ ๊ฐ ์๋ก์ด SecureRandom ๋ฐฉ๋ฒ์ ์ข์ํ๋ ์ด์ ์
๋๋ค.
getinstanceStrong() - Java Virtual Machine์ ์ฌ์ฉํ ์ ์๋ ๊ฐ์ฅ ๊ฐ๋ ฅํ ๋ฌด์์ ์์ฑ๊ธฐ๋ฅผ ์๋์ผ๋ก ์ ํํฉ๋๋ค. ์ด๋ ๊ฒ ํ๋ฉด ์ค๋ฅ๊ฐ ๋ฐ์ํ๊ฑฐ๋ ์์ฑ๊ธฐ๊ฐ ์ฝํด์ง ๊ฐ๋ฅ์ฑ์ด ์ค์ด๋ค์ด ํค์ ์ํธํ๋ ๊ฐ์ด ํดํน์ ๋ ์ทจ์ฝํด์ง๋๋ค.
10. ๋ ์ง.toInstant(). Java 8์๋
๋ ์ง์ ์๊ฐ์ ๋ํ ์์ ํ ์๋ก์ด API๊ฐ ๋์
๋์์ต๋๋ค . ๊ธฐ์กด์ ๊ฒ์ด ๊ทธ๋ค์ง ์ข์ง ์๊ธฐ ๋๋ฌธ์ ์ด๊ฒ์ ๊ฝค ์ดํดํ ์ ์์ต๋๋ค. Joda๋ ๋ณธ์ง์ ์ผ๋ก ๋ช ๋
๋์ ๋ ์ง์ ์๊ฐ์ ๋ํ Java API๋ฅผ ์งํฅํด ์์ต๋๋ค. ๊ทธ๋ฌ๋ ์ API๋ฅผ ์ฌ์ฉํ๋๋ผ๋ ํ ๊ฐ์ง ํฐ ๋ฌธ์ ๊ฐ ๋จ์ ์์ต๋๋ค. ์ด์ API๋ฅผ ์ฌ์ฉํ๋ ์ฝ๋์ ๋ผ์ด๋ธ๋ฌ๋ฆฌ๊ฐ ์์ฒญ๋๊ฒ ๋ง์ต๋๋ค. ๊ทธ๋ฆฌ๊ณ ์ฐ๋ฆฌ ๋ชจ๋๋ ๊ทธ๋ค์ด ์ฌ๊ธฐ์ ๋จ์ ์๋ค๋ ๊ฒ์ ์๊ณ ์์ต๋๋ค. ๊ทธ๋์ ๋๋ ๋ญ ํ ๊ป๋ฐ? ์ด๋ฅผ ๋ฌ์ฑํ๊ธฐ ์ํด Java 8์ ์ด๋ฅผ ์๋ก์ด API๋ก ๋ณํํ๋
toInstant() ๋ผ๋ Date ํด๋์ค์ ์๋ก์ด ๋ฉ์๋๋ฅผ ์ถ๊ฐํ์ฌ ๋ค์ ์ฐ์ํ ์์
์ ์ํํ์ต๋๋ค . ์ด๋ฅผ ํตํด ์ด์ ๋ ์ง API๋ฅผ ์ฌ์ฉํ๋ ์ฝ๋๋ก ์์
ํ๋ ๊ฒฝ์ฐ์๋ ์ API๋ก ๋น ๋ฅด๊ฒ ์ด๋ํ ์ ์์ต๋๋ค(๊ฐ๊น์ด ๋ฏธ๋์๋ ๊ณ์ ๊ทธ๋ ๊ฒ ํ ๊ฒ์
๋๋ค).
Vash_the_Stampede
๋ ๋ฒจ 11
GO TO FULL VERSION