20210125 - java-squid/effective-java GitHub Wiki
ํ๊ณ
Sunny
- ๋ฉด์ / ๋ฉด์ ์ค๋น๋ก ๋ฐ์๊ฒ ์ง๋๋ค
- ๋ฉด์ ๋ณด๋ฉด์ ๋๋ ์ :
- ๊ธฐ๋ณธ๊ธฐ์ ์ถฉ์คํด์ผ... ๊ณต๋ถ๋ฅผ ๋ ํด์ผ๊ฒ ๋ค
- ELK, DB, query optimization...
Han
- ์์ดํ
54์ ๊ฒฝ์ฐ๋ ํฌ๊ฒ ์ด๋ ต์ง ์์๋ค
- best practice๋ฅผ ํ์
์ฝ๋๋ฒ ์ด์ค์ ์ ์ฉํ๊ธฐ์๋ ์ด๋ ค์์ด ์๋ค...
David
- ๊ฐ๊ฐ
- ์๊ณ ๋ฆฌ์ฆ ์ด์ฌํ ํ๊ณ ์์ (leetcode + ํ์ด๋ฐฉ๋ฒ, ์๊ฐ)
Pyro
- ์ฝ๋์ค์ฟผ๋ cs10 ๋๋ฌด ๋นก์ธ๋ค...
Roach
Items
item51
- List๋ ๋งจ์ฒ์, ๋งจ๋ง์ง๋ง ์ธ๋ฑ์ค์ element๋ฅผ ๋ฐํํ๋ ๋ฉ์๋๊ฐ ์์.
- API์์ ์ ๊ณตํ๋ ๊ฑด ํต์ฌ์ ์ธ,ํ์์ ์ธ ๋ฉ์๋
- ์ด API๋ฅผ ํตํด์, ํด๋ผ์ด์ธํธ๊ฐ ์์ ์๊ฒ ํ์ํ ๋ฉ์๋๋ฅผ ์กฐํฉํด์ ์ฌ์ฉํ ์ ์๋๋ก ๋ง๋ค์ด์ฃผ๋ ๊ฒ ๋ซ๋ค.
- ๋๋ฌด ๋ค ๋ง๋ค์ด์ฃผ๋ฉด, API ์์ฒด๊ฐ ์ง์ ๋ถํด์ง๋ค.
- ๋ฆฌ์ค์ฝํ ์นํ์์น
- ์ด๊ฑฐํ์
์ฌ์ฉ์ ๊ฐ๋
์ฑ ๋ฟ๋ง ์๋๋ผ ํ์ฅ์ฑ๋ ์๊ฐํ๋ ๊ฒ.
item52
- inexact method reference
- submit method๊ฐ overloading ๋์ด์๋ ์ํ (Runnable or Callable)
- Runnable return ํ์
์์. Callable์ ์๊ณ
- ๊ฐ์ ์์น์ functional Interface๋ฅผ ๋ฐ์ ์ ์๋๋ก ์ค๋ฒ๋ก๋ฉ์ด ๋์ด์๋ ์ํ
- println, ์ฌ๋ฌ๊ฐ๋ก ์ค๋ฒ๋ก๋ฉ์ด ๋์ด์๋ ์ํ์ ๋ฉ์๋
- method reference๋ฅผ ์ด์ฉํ๋ฉด, ๋งค๊ฐ๋ณ์๊ฐ ์์ ์๋, ์์์๋ ์์ผ๋ฏ๋ก ์ปดํ์ผ๋ฌ ์๋ฌ
- Thread::yield๋ ๋ฐํํ๋ ๋ฆฌํด๊ฐ์ด ์์ผ๋ฏ๋ก(Runnable) -> ์ปดํ์ผ๋ฌ ์๋ฌ ๋ฐ์ํ์ง ์์.
- Thread::currentThread, ๋ฐํ ๊ฐ ์์(Callalbe) -> ์ปดํ์ผ๋ฌ ์๋ฌ ๋ฐ์ํ์ง ์์
item53
- ๊ฐ๋ณ์ธ์๋ฅผ ์ฌ์ฉํ๋ฉด ๋ฐฐ์ด์ ํ ๋นํด์ ์ฑ๋ฅ์ด ๋จ์ด์ง๊ธฐ ๋๋ฌธ์ ์ ์ ํฉํฐ๋ฆฌ ๋ฉ์๋๋ฅผ ํ์ฉํ์.
item54
- null ์ฒ๋ฆฌ๋ฅผ ํ๊ฒ๋๋ฉด ์ค๋ฅ ์ฒ๋ฆฌ๋ฅผ ์ํด์ ํด๋ผ์ด์ธํธ ๋ก์ง์ด ๋ ๋ณต์กํด์ง๊ธฐ ๋๋ฌธ์ ๋น ์ปฌ๋ ์
์ ๋ฐํํ๋ ๊ฒ์ ์งํฅํ์.
item55
- null์ ๋ฐํํด์ NullPointerException์ ๋ฐํ์์ ๋ง๋๋ ๊ฒ๋ณด๋ค๋ Optional์ ํธ๋ค๋งํ๋ ๊ฒ์ ๊ฐ์ ํ์.
- Kotlin์ด ์ข๋ค.