ํ๋ก๊ทธ๋๋ฐ ์ธ์ด๋ก์ Java์ ๋ง์ ์ฅ์ ์ค ํ๋๋ Java๊ฐ 25๋
์ด์ ์กด์ฌํ๊ณ ์ฌ๋ฌ ์ฐ์
์์ ๋๋ฆฌ ์ฑํ๋์์ผ๋ฉฐ ๊ฑฐ๋ํ ๊ฐ๋ฐ ์ปค๋ฎค๋ํฐ์ ์ํ๊ณ๊ฐ ์๋ค๋ ๊ฒ์
๋๋ค. ์ด๋ Java ๊ฐ๋ฐ์, ํนํ ์ด๋ณด์์๊ฒ ์ ์ฉํฉ๋๋ค. Java ํ๋ก๊ทธ๋๋ฐ์์ ์ฌ์ฉํ ์ ์๋ ๋๊ตฌ, ๊ธฐ์ ๋ฐ ์๋ฃจ์
์ด ๋งค์ฐ ๋ง๊ธฐ ๋๋ฌธ์ ์์
์ ํจ์ฌ ์ฝ๊ฒ ํ ์ ์๊ธฐ ๋๋ฌธ์
๋๋ค. ๊ฐ๋ ฅํ๊ณ ๋ค์ํ ๋ผ์ด๋ธ๋ฌ๋ฆฌ๋ฅผ ์ ํํ๋ ๊ฒ์ด ๋ง์ ํ์ฌ์ ํ๋ก์ ํธ์์ Java๋ฅผ ์ ํํ๊ฒ ๋ง๋๋ ์์ ์ค ํ๋์ด๊ธฐ ๋๋ฌธ์ ์ค๋ ์ฐ๋ฆฌ๋ ํ์ฌ Java ๋ผ์ด๋ธ๋ฌ๋ฆฌ์ ๋ํด ์ด์ผ๊ธฐํ ๊ฒ์
๋๋ค. ๋ผ์ด๋ธ๋ฌ๋ฆฌ๋ฅผ ๋ง์๋๋ก ์ฌ์ฉํ๋ฉด ๊ฐ๋ฐ์๊ฐ ๋ง์ ์๊ฐ๊ณผ ๋น์ฉ์ ์ ์ฝํ ์ ์์ผ๋ฉฐ ์ด๋ ๋น์ฆ๋์ค์ ์ค์ํ ์์์ธ ๋์์ ์ ์ง ๊ด๋ฆฌํ๊ธฐ ์ฌ์ด ์ ๊ตฌ์ฑ๋ ์ฝ๋๋ฅผ ์ฌ์ฉํ ์ ์์ต๋๋ค. ํ๋ก๊ทธ๋๋จธ์ ์
์ฅ์์,
๊ทธ๋ ๊ธฐ ๋๋ฌธ์ ์ค๋๋ ์ ๋ฌธ Java ํ๋ก๊ทธ๋๋จธ๋ ๊ฐ์ฅ ์ธ๊ธฐ ์๊ณ ์ผ๋ฐ์ ์ผ๋ก ์ฌ์ฉ๋๋ ํ์ฌ Java ๋ผ์ด๋ธ๋ฌ๋ฆฌ ์ค ์ผ๋ถ์ ๋ํด ์ ์๊ณ ์์ด์ผ ํฉ๋๋ค. ๋ค์์ Java ๊ฐ๋ฐ์๋ก์ ํ์ตํ๋๋ก ๊ถ์ฅํ ์ ์๋ 10๊ฐ์ Java ๋ผ์ด๋ธ๋ฌ๋ฆฌ์
๋๋ค.
JUnit์ Java ๋ฐ JVM์ ์ํ ๋งค์ฐ ์ผ๋ฐ์ ์ด๊ณ ์ ์๋ ค์ง ์คํ ์์ค ๋จ์ ํ
์คํธ ํ๋ ์์ํฌ์
๋๋ค. ์งํฉ์ ์ผ๋ก xUnit์ผ๋ก ์๋ ค์ง ๋จ์ ํ
์คํธ ํ๋ ์์ํฌ ์ ํ๊ตฐ์ ์ผ๋ถ์
๋๋ค.
Oracle์ ๋ฐ๋ฅด๋ฉด JUnit์ Java ๊ฐ๋ฐ์๋ค ์ฌ์ด์์ ๊ฐ์ฅ ์ธ๊ธฐ ์๋ ๋ผ์ด๋ธ๋ฌ๋ฆฌ์
๋๋ค.
Apache Commons๋ ๋ค์ํ ๋ชฉ์ ์ ์ํด ์ฌ์ฌ์ฉ ๊ฐ๋ฅํ Java ๊ตฌ์ฑ ์์๋ฅผ ๋ง๋๋ ๋ฐ ์ค์ ์ ๋ Apache Software Foundation์ ํ๋ก์ ํธ์
๋๋ค. Apache Commons์๋ Java ๊ฐ๋ฐ์์ ๊ฑฐ์ ๋ชจ๋ ์๊ตฌ์ ๋ง๋ ๋ค์ํ ๋ผ์ด๋ธ๋ฌ๋ฆฌ๊ฐ ์์ต๋๋ค. IO ๊ธฐ๋ฅ ๊ฐ๋ฐ์ ์ง์ํ๋ ์ ํธ๋ฆฌํฐ ๋ผ์ด๋ธ๋ฌ๋ฆฌ์ธ Apache Commons IO๋ ์ด ์ธํธ์์ ๊ฐ์ฅ ๋ง์ด ์ฌ์ฉ๋๋ ๊ฒ์ผ๋ก ๊ฐ์ฃผ๋ฉ๋๋ค.
Google Guava๋ ์๋ก์ด ์ปฌ๋ ์
์ ํ(์: multimap ๋ฐ multiset), ๋ถ๋ณ ์ปฌ๋ ์
, ๊ทธ๋ํ ๋ผ์ด๋ธ๋ฌ๋ฆฌ, ๋์์ฑ ์ ํธ๋ฆฌํฐ, I/O, ํด์ฑ, ์บ์ฑ, ํ๋ฆฌ๋ฏธํฐ๋ธ, ๋ฌธ์์ด ๋ฐ ๋. Guava๋ Google ๋ด์ ๋๋ถ๋ถ์ Java ํ๋ก์ ํธ์์ ๋๋ฆฌ ์ฌ์ฉ๋ฉ๋๋ค.
"JSON for Java"๋ก ์๋ ค์ง Jackson์ ์ฃผ์ ์คํธ๋ฆฌ๋ฐ JSON ๊ตฌ๋ฌธ ๋ถ์๊ธฐ/์์ฑ๊ธฐ ๋ผ์ด๋ธ๋ฌ๋ฆฌ, ์ผ์นํ๋ ๋ฐ์ดํฐ ๋ฐ์ธ๋ฉ ๋ผ์ด๋ธ๋ฌ๋ฆฌ(JSON๊ณผ์ POJO) ๋ฐ JVM์ฉ ๋ฐ์ดํฐ ์ฒ๋ฆฌ ๋๊ตฌ์ ์ธ๊ธฐ ์๋ ๋ผ์ด๋ธ๋ฌ๋ฆฌ์
๋๋ค. Avro, BSON, CBOR, CSV, Smile, (Java) Properties, Protobuf, XML ๋๋ YAML๋ก ์ธ์ฝ๋ฉ๋ ๋ฐ์ดํฐ๋ฅผ ์ฒ๋ฆฌํ๊ธฐ ์ํ ์ถ๊ฐ ๋ฐ์ดํฐ ํ์ ๋ชจ๋ Guava, Joda, PCollection ๋ฑ๊ณผ ๊ฐ์ด ๋๋ฆฌ ์ฌ์ฉ๋๋ ๋ฐ์ดํฐ ์ ํ์ ๋ฐ์ดํฐ ์ ํ์ ์ง์ํ๋ ๋๊ท๋ชจ ๋ฐ์ดํฐ ํ์ ๋ชจ๋ ์ธํธ๋ ์์ต๋๋ค.
Mockito๋ Java ์ ํ๋ฆฌ์ผ์ด์
์ ํจ๊ณผ์ ์ธ ๋จ์ ํ
์คํธ์ ์ฌ์ฉ๋๋ ๋ชจํน ๋ผ์ด๋ธ๋ฌ๋ฆฌ์
๋๋ค. Java๋ฅผ ์ํ ์ต๊ณ ์ ์กฐ๋กฑ ํ๋ ์์ํฌ ์ค ํ๋๋ก ๊ฐ์ฃผ๋ฉ๋๋ค.
SLF4J๋ Simple Logging Facade for Java์ ์ฝ์์
๋๋ค. ๋ค์ํ ๋ก๊น
ํ๋ ์์ํฌ(์: java.util.logging, logback, log4j)์ ๋ํ ๊ฐ๋จํ ํ์ฌ๋ ๋๋ ์ถ์ํ๋ก ์ฌ์ฉ๋์ด ์ต์ข
์ฌ์ฉ์๊ฐ ๋ฐฐํฌ ์ ์ํ๋ ๋ก๊น
ํ๋ ์์ํฌ๋ฅผ ์ฐ๊ฒฐํ ์ ์์ต๋๋ค.
JAXB(Java Architecture for XML Binding)๋ XML ๋ฌธ์์ Java ๊ฐ์ฒด ๊ฐ์ ๋งคํ์ ์๋ํํ๋ API ๋ฐ ๋๊ตฌ๋ฅผ ์ ๊ณตํ๋ ๋ผ์ด๋ธ๋ฌ๋ฆฌ๋ก, ์ด๋ฅผ ์ธ๋ง์ฌ๋งํ์ง ์๊ณ ๋ XML ๋ฐ์ดํฐ์ ์ก์ธ์คํ ์ ์์ต๋๋ค.
Apache Log4j๋ Java ์์ฝ์์คํ
๋ก๊น
ํ๋ ์์ํฌ์์ ๋งค์ฐ ์ค๋๋๊ณ ์ผ๋ฐ์ ์
๋๋ค. Apache Log4j 2๋ ์ด์ ๋ฒ์ ์ ๋นํด ํฌ๊ฒ ํฅ์๋ Log4j์ ์ต์ ์
๋ฐ์ดํธ ๋ฒ์ ์
๋๋ค.
Android AppCompat ๋ผ์ด๋ธ๋ฌ๋ฆฌ๋ฅผ ์ฌ์ฉํ๋ฉด ์ด์ API ๋ฒ์ ์ Android์์ ์ API์ ์ก์ธ์คํ ์ ์์ต๋๋ค(๋๋ถ๋ถ Material Design ์ฌ์ฉ).
Apache HttpComponents๋ HTTP ๋ฐ ๊ด๋ จ ํ๋กํ ์ฝ์ ์ค์ ์ ๋ ํ์ ์์ค Java ๊ตฌ์ฑ ์์์ ๋๊ตฌ ์งํฉ์
๋๋ค. ๊ธฐ๋ณธ HTTP ํ๋กํ ์ฝ์ ๋ํ ๊ฐ๋ ฅํ ์ง์์ ์ ๊ณตํ๋ฉด์ ํ์ฅ์ ์ํด ์ค๊ณ๋ HttpComponents ๋ผ์ด๋ธ๋ฌ๋ฆฌ๋ ์น ๋ธ๋ผ์ฐ์ , ์น ์คํ์ด๋, HTTP ํ๋ก์, ์น ์๋น์ค ์ ์ก ๋ผ์ด๋ธ๋ฌ๋ฆฌ ๋๋ ๋ถ์ฐ ํต์ ์ ์ํด HTTP ํ๋กํ ์ฝ์ ํ์ฅํฉ๋๋ค.
GO TO FULL VERSION