Fab์ ํฌํจํด 4๊ฐ์ ํ ํฌ ๊ธฐ์ ์ ์ฐฝ์ ํ ๊ธฐ์ ๊ฐ๊ฐ ์ง์ ์ ๋ฆฌํ 90๊ฐ์ง ์ฐฝ์ ์ธ์ฌ์ดํธ๋ฅผ ๋ฒ์ญํฉ๋๋ค. ์คํํธ์ ์ด์, ํผ๋ฒ ๊ฒฐ์ , ํ ๊ตฌ์ฑ ๋ฑ ์ค์ ๊ฒฝํ์์ ๋์จ ์กฐ์ธ์ ๋ด์์ต๋๋ค.
Jacob Gorban์ Software Architecture Cheat Sheet๋ฅผ ๋ฒ์ญยท์ ๋ฆฌํ ๊ธ์ ๋๋ค. DRY, ์ง๊ต์ฑ, ํ ์คํธ ๊ฐ๋ฅ์ฑ ๋ฑ ์ํคํ ํธ๊ฐ ์ค๊ณ ์ ๋ฐ๋์ ์ ๊ฒ ํด์ผ ํ 7๊ฐ์ง ํต์ฌ ์์น์ ์๊ฐํฉ๋๋ค.
ํ๋ฃจ 5์ต PV๋ฅผ ์ฒ๋ฆฌํ๋ Tumblr์ ์ ๊ธฐ๋ฐ ์ํคํ ์ฒ, KafkaยทRedisยทFinagle ๊ธฐ์ ์คํ, ๊ทธ๋ฆฌ๊ณ 20๋ช ์ด 1000๋ ์๋ฒ๋ฅผ ์ด์ํ๋ ๊ฐ๋ฐ ๋ฌธํ๋ฅผ ์์ธํ ์ ๋ฆฌํฉ๋๋ค.
Apigee์ Web API Design ๊ฐ์ด๋๋ฅผ ๋ฐํ์ผ๋ก RESTful API ์ค๊ณ ์์น 18๊ฐ์ง๋ฅผ ์ ๋ฆฌํฉ๋๋ค. URL ์ค๊ณ, ๋ฒ์ ๊ด๋ฆฌ, ์ค๋ฅ ์ฒ๋ฆฌ, ํ์ด์ง ๋ฑ ์ค๋ฌด์์ ๋ฐ๋ก ์ ์ฉํ ์ ์๋ Best Practice๋ฅผ ๋ค๋ฃน๋๋ค.
Evernote์ ์ค๋ ๊ธฐ๋ฐ ์ํคํ ์ฒ, AIR ์ด๋ฏธ์ง ์ธ์ ์์คํ , ์ธ๋ฑ์ฑ ํ์ดํ๋ผ์ธ๊ณผ ํจ๊ป ๊ธฑ ์ค๋ ฅ์ฃผ์๋ก ๋ํ๋๋ Evernote์ ๊ฐ๋ฐ ๋ฌธํ๋ฅผ ์์ธํ ์ ๋ฆฌํฉ๋๋ค.
Stack Overflow ์ปค๋ฎค๋ํฐ๊ฐ ๋ง๋ค์ด๋ธ ํ๋ก๊ทธ๋๋ฐ ์์ด 30์ ์ ์ ๋ฆฌํฉ๋๋ค. Yoda Conditions, Heisenbug, Jenga Code ๋ฑ ๊ฐ๋ฐ์๋ผ๋ฉด ํ๋ฒ์ฏค ๊ฒช์ด๋ดค์ ์ํฉ์ ์ฌ์น์๊ฒ ํํํ ์ฉ์ด๋ค์ ์๊ฐํฉ๋๋ค.
๋ฏธ๋๋ฅผ ์์ธกํ๊ธฐ๋ณด๋ค๋ ๋ฏธ๋๊ฐ ์ด๋ป๊ฒ ๋์์ผ๋ฉด ์ข๊ฒ ๋ค๋ ์๊ฐ๊ณผ ๊ทธ์ ๋ฐ๋ฅธ ํ๋์ ํ๋๋ฐ ์ง์คํ์๋ ์๋ฏธ์ ๊ธ.
๊ณต๊ฐ ํจ์จ์ ์ธ ํ๋ฅ ํ ์๋ฃ๊ตฌ์กฐ์ธ Bloom Filter์ ์๋ ์๋ฆฌ, false positive ๊ฐ๋ , ์ํ์ ์ค๋ฅ์จ ๊ณ์ฐ๋ฒ, Google Guava ๊ตฌํ ์, CassandraยทHBase ๋ฑ NoSQL ํ์ฉ ์ฌ๋ก๋ฅผ ๋จ๊ณ๋ณ๋ก ์ค๋ช ํฉ๋๋ค.
Naive Bayes ๋ถ๋ฅ์ ์ํ์ ์๋ฆฌ๋ถํฐ Apache Mahout๋ฅผ ์ด์ฉํ 20-Newsgroups ํ์ต, Java ์๋ธ๋ฆฟ ๊ธฐ๋ฐ ์คํธ ํํฐ ๊ตฌํ๊น์ง ๋จ๊ณ๋ณ๋ก ์ค๋ช ํฉ๋๋ค.
์ฝ๋ฉ ๊ฐ์ด๋์ ์ฐธ๊ณ ํ ๋งํ ์ข์ ์ํฐํด(15 Best Practices of Variable & Method Naming)์ ์์ด ์ ๋ฆฌํจ.