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 은 λ°œμƒν•˜μ§€ μ•ŠλŠ” 이상 λŠλ €μ§€μ§€ μ•ŠλŠ”λ‹€.