20210317 - java-squid/effective-java GitHub Wiki

ํšŒ๊ณ 

Roach

  • ํ”„๋กœ์ ํŠธ์—์„œ JPA ์‚ฌ์šฉ ์ค‘
  • ์Šคํ”„๋ง ๊ณต๋ถ€์ค‘

Sunny

  • JPA ์œ„์ฃผ๋กœ ๊ณต๋ถ€์ค‘
  • ์ง๋ ฌํ™” ์•„์ดํ…œ์„ ๊ณต๋ถ€ํ•˜๋ฉด์„œ ํšŒ์‚ฌ์— ์ง๋ ฌํ™”๋ฅผ ์‚ฌ์šฉํ•˜๋Š”๊ฒŒ ์žˆ๋Š”์ง€ ์ฐพ์•„๋ดค์ง€๋งŒ, ์“ฐ๋Š” ๊ณณ์ด ๋”ฑํžˆ ์—†์Œ.
  • ํšŒ์‚ฌ ์ƒํ™œ์—๋Š” ๋งŒ์กฑํ•˜๊ณ  ์žˆ์Œ

Han

  • ์ง๋ ฌํ™”๋ผ๋Š” ๊ธฐ์ˆ ์„ ๋งŽ์ด ์จ๋ณด์ง€ ์•Š์•„์„œ ํฌ๊ฒŒ ๋‹ค๊ฐ€์˜ค์ง€ ์•Š์•˜์Œ
  • ์ตœ๊ทผ์— ํฐ ํ”„๋กœ์ ํŠธ์— ์ฐธ์—ฌํ•˜๊ฒŒ๋จ.

David

  • ๋ง‰ํ•™๊ธฐ.. db ์ˆ˜์—…, ๊ณผ์ œ ํ•˜๋Š” ์ค‘..
  • ๋ฐฑ์—”๋“œ ๊ฐœ๋ฐœ์ž๊ฐ€ ์—๊ฒŒ๋Š” db์˜ ์ดํ•ด๊ฐ€ ์ •๋ง ์ค‘์š”ํ•จ์„ ๋А๋‚€๋‹ค.

Pyro

  • ๋ฆฌ๋ทฐ ํ™œ๋™ ์ง„ํ–‰ ์ค‘..
  • ์ง๋ ฌํ™”๋ฅผ ์‚ฌ์šฉํ•˜๋ฉด ์•ˆ๋จ์„ ๋งŽ์ด ๋А๊ฒผ์Œ.

Items

Item85

  • remote procedure call
  • gRPC๋Š” JSON์œผ๋กœ ๋ฐ์ดํ„ฐ๋ฅผ ์ฃผ๊ณ  ๋ฐ›๋Š” ๊ฑฐ์—์„œ ์„ฑ๋Šฅ์ฐจ์ด๋งŒ ์žˆ๋Š” ๋“ฏ.
  • gRPC ์žฅ์ 

Item86

Item87

  • ์ง๋ ฌํ™”๋ฅผ ์‚ฌ์šฉํ•  ๋•Œ, ๊ฐ์ฒด์˜ ๋ฌผ๋ฆฌ์  ํ‘œํ˜„๋ฟ๋งŒ ์•„๋‹ˆ๋ผ, ๋…ผ๋ฆฌ์ ์ธ ๋‚ด์šฉ๋„ ๊ณ ๋ คํ•ด์•ผํ•จ.

Item88

  • readObject ๋กœ ํ•ด๋‹น ๊ฐ์ฒด ์ฐธ์กฐ๋ฅผ ์–ป์„ ์ˆ˜ ์žˆ์œผ๋ฏ€๋กœ ๊ฐ€๋ณ€ ๋ณต์‚ฌ๋ฅผ ๊ณ ๋ คํ•ด์•ผํ•จ.

Item89

  • ์‹ฑ๊ธ€ํ†ค์„ ํ• ๊บผ๋ฉด, enum์„ ์‚ฌ์šฉํ•ด๋ผ
  • readResolve๋ฅผ ํ•˜๋ฉด readObject๊ฐ€ ๋งŒ๋“  ์ธ์Šคํ„ด์Šค๋ฅผ ๊ธฐ์กด์˜ ์ธ์Šคํ„ด์Šค๋กœ ๋Œ€์ฒดํ•ด์„œ, ์ƒˆ๋กญ๊ฒŒ ๋งŒ๋“  ์ธ์Šคํ„ด์Šค๋Š” ๋ฐ”๋กœ GC๋จ.
  • readObject vs readResolve

Item90

  • proxy pattern, delegation pattern.. ํ—ท๊ฐˆ๋ฆผ.
  • ์•„๋งˆ ๋‘˜ ๋‹ค ๋Œ€์ฒดํ•˜๋Š” ๋А๋‚Œ.
  • proxy pattern

๋‹ค์Œ ์Šคํ„ฐ๋””

  • ์ผ๋‹จ์€ ์˜ค๋ธŒ์ ํŠธ (๋ณ€๋™ ๊ฐ€๋Šฅ)
  • 3์›” 26์ผ(๊ธˆ) ๊นŒ์ง€ ์ฐธ๊ฐ€ ์—ฌ๋ถ€๋ฅผ ์•Œ๋ ค์ฃผ๊ธฐ (dm or slack ์ฑ„๋„)
  • ๋‹ค๋ฅธ ์ฃผ์ œ ํ˜น์€ ๊ณต์œ ํ•  ๋‚ด์šฉ์ด ์žˆ์œผ๋ฉด ๋‚จ๊ธฐ๊ธฐ