20210208 - java-squid/effective-java GitHub Wiki
νκ³
Sunny
- 2μ 8μΌ μ μ€ν 4μ λ©΄μ
- μ λ° μΆμ μμ€ν
λ§λλ νμ¬
- 무μ μ 곡 μ΄λ¦¬λ λ©΄μ
- λΌμ΄λΈ μ½λ© ν
μ€νΈμμ μ΄ν΄λ¦½μ€ + μλμ° νκ²½μ΄λΌ μ½μ§
- λΌμ΄λΈ μ½λ©μμ SQL λ¬Έμ κ° λμ΄
- μ΄λ ΅μ§λ μμ§λ§ κΈ°μ΅μ΄ μλ¨
- 2μ 9μΌ νμμΌ μμΉ¨ 9μλ°μ λ λ©΄μ μμ λ¨
- effective-java μ 리νλ μ
μ λν΄μ λ§μ΄ 곡λΆνκ² λ¨
Han
- μμ΄ν
μ μΌλ‘ μ΄λ €μ΄ λ΄μ©μ΄ μλμμ
- μ’μ μ½λλ₯Ό μν΄μ μ§μΌμΌν κ·μΉλ€
- μμΈλ₯Ό μμ§λ κ°λ°μκ° μ€λ ₯μλ κ°λ°μ
- κ°μΈ μ 보 κ΄λ ¨λ policy κ° λΉλκ³ μμ, νΉν μΏ ν€λ₯Ό λ§μΌλ €κ³ ν¨
- λλ¬Έμ μλ‘μ΄ κ°λ° μ΄μκ° μκΉ
- μΏ ν€λ₯Ό ν΅ν΄μ λμ΄μ μ¬μ©μ μΆμ μ΄ λΆκ°λ₯νκ³ , μλ²μ λν μμ²λ§ κΈ°λ‘ κ°λ₯ν¨
David
- λνκ΅ μ§ν μ€
- toggl μ μ¬μ©ν΄μ μ¬μ©ν μκ° νΈλνΉ μ€
- μκ³ λ¦¬μ¦ νλ©΄μ μ μ 곡ν¬κ°μ΄ 컀μ§κ³ μμ
- μμ΄ν
μ μΌλ‘ ν¬κ² μ΄λ €μ΄ λΆλΆμ΄ μμμ
Pyro
- cs10μ΄ λλ¬λ€
- λΉνΈμ½μΈμ§μ ν΄μ 3λ°° μ΄λ
- λλ°μ 무μλ€
Roach
- 2μ 6μΌ ν , λΌμΈ μ½ν
3μκ° λμ 4λ¬Έμ
- 2λ¬Έμ λ μ½κ² ν, λλ¨Έμ§ 2κ°κ° μ΄λ €μ
- μ΄λ €μ΄ λ¬Έμ νλκ° μνμ μΈ κ² (μ€κ°ν ꡬνκΈ°), νλκ° κ³ μμ΄ μ€μ
λ‘
- μλ¬Έ: μνμ μΈ μ½ν
κ° μλ―Έκ° μλκ°?
κ·Έ μΈ
Items
Item65
- 리νλ μ
μ μΈμ€ν΄μ€ μμ±μλ§ μ¬μ©ν΄λΌ
- 리νλ μ
μΌλ‘ λ§λ μΈμ€ν΄μ€λ μΈν°νμ΄μ€λ μμ ν΄λμ€λ‘ μ°Έμ‘°ν΄ μ¬μ©ν΄λΌ
- μ λ€λ¦μ μ¬μ©νλ©΄, μ»΄νμΌ νμμ μλ¬λ₯Ό μ‘μ μ μκ² ν΄μ£Όλ λ―.
- 5μ₯μ μκ°λ΄μ μ λ
μ ν΄μΌμ§, μ λλ‘ μ΄ν΄κ° κ°λ₯νλ€.
- Class.newInstance μ Constructor.newInstance λ λ€λ₯΄λ€.
- Class.newInstance λ deprecated λμλ€.
Item66
- μλ°μμ native λ λ³΄ν΅ C, C++
- λ³λ‘ μ°λ¦¬μκ² νμνμ§ μμ μμ΄ν
κ°λ€.
Item67
- λΉ λ₯Έ νλ‘κ·Έλ¨ λ³΄λ€λ μ’μ νλ‘κ·Έλ¨μ μμ±νλΌ
- μ΅μ νκ° νμν μ’μ μμ: Dimension
- awt μΈκΈ° μμ
- νμ
μμλ λ³΄ν΅ slow query μ λν νλμ νκ³ , κ·Έλ§μ λ λΉμΌ DB λ μλ² μ°λ©΄ ν΄κ²°λλ€.
- μλ° νλ‘κ·Έλ¨ λ΄μμμ μ΅μ νλ ν¨κ³Όκ° μ μλ°, 쿼리 νλμ ν΄κ³Όκ° λ μ’μ μλ μλ€.
- μλ¬μ λ²μΉ
Item68
Item69
- λ΄λΆμ μΈ λΉμ¦λμ€ λ‘μ§μ μμΈλ ifλ¬ΈμΌλ‘ LBYL νλκ² μ’λ€.
- μΈλΆμμ μμμΉ λͺ»ν λ³νκ° λ°μνλ μν©μ λν΄μλ Optional 보λ€λ Exception μ²λ¦¬ν΄μ EAFP νλκ² λ«λ€.
- LBYL (Look Before You Leap) -> if λ¬ΈμΌλ‘ μμΈμ²λ¦¬
- EAFP (it's Easier to Ask Forgiveness than Permission) -> Python μ£Όμ₯, μμΈ μ²λ¦¬νλκ² μκ°λ³΄λ€ μμμ λ§μ΄ μλͺ¨νλ€.
- Javaλ μ’ LBYL μͺ½...
- Optional μ λ°μνμ§ μλ μ΄μ λλ €μ§μ§ μλλ€.