πŸ– 쏙쏙 λ“€μ–΄μ˜€λŠ” ν•¨μˆ˜ν˜• μ½”λ”© - μ‹¬ν”Œν•œ μ½”λ“œλ‘œ λ³΅μž‘ν•œ μ†Œν”„νŠΈμ›¨μ–΄ 길듀이기

이 글은 쏙쏙 λ“€μ–΄μ˜€λŠ” ν•¨μˆ˜ν˜• μ½”λ”© - μ‹¬ν”Œν•œ μ½”λ“œλ‘œ λ³΅μž‘ν•œ μ†Œν”„νŠΈμ›¨μ–΄ 길듀이기λ₯Ό 읽고 μž‘μ„±ν•œ κΈ€μž…λ‹ˆλ‹€. ν•¨μˆ˜ν˜•λ„ ν•¨μˆ˜ν˜•μ΄μ§€λ§Œ, 이 책을 톡해 쒀더 κΉ”λ”ν•˜κ³  직관적인 μ½”λ“œλ₯Ό μž‘μ„±ν•  수 μžˆμ„ κ²ƒμ΄λž€ νŒ€μ›λ“€μ˜ μ˜κ²¬μ„ ν† λŒ€λ‘œ 이번 μŠ€ν„°λ”” μ„œμ μœΌλ‘œ μ„ μ •ν•˜μ˜€μŠ΅λ‹ˆλ‹€.

Chap 3. μ•‘μ…˜κ³Ό 계산, λ°μ΄ν„°μ˜ 차이λ₯Ό μ•ŒκΈ°

  • μ•‘μ…˜κ³Ό 계산, λ°μ΄ν„°μ˜ 차이λ₯Ό μ•Œ 수 μžˆλ‹€.
  • μ•‘μ…˜μ΄ μ½”λ“œ μ „μ²΄λ‘œ 퍼질 수 μžˆλ‹€.
  • μ½”λ“œμ—μ„œ μ–΄λ–€ 뢀뢄이 μ•‘μ…˜μΈμ§€ 찾을 수 μžˆλ‹€.

μ•‘μ…˜κ³Ό 계산, 데이터

λͺ¨λ“  개발 κ³Όμ •μ—μ„œ μ•‘μ…˜κ³Ό 계산, 데이터λ₯Ό κ΅¬λΆ„ν•˜λŠ” κΈ°μˆ μ„ μ μš©ν•  수 μžˆλ‹€.

μ•‘μ…˜(λΆ€μˆ˜ 효과)

  • μ‹€ν–‰ μ‹œμ κ³Ό νšŸμˆ˜μ— 의쑴

계산(순수 ν•¨μˆ˜, μˆ˜ν•™ ν•¨μˆ˜)

  • μž…λ ₯을 λ°›μ•„μ„œ 좜λ ₯을 λ°˜ν™˜ν•œλ‹€.

데이터

  • μ΄λ²€νŠΈμ— λŒ€ν•œ 사싀

ν•¨μˆ˜ν˜• ν”„λ‘œκ·Έλž˜λ¨ΈλŠ”..!

  • μ΅œλŒ€ν•œ μ•‘μ…˜μ—μ„œ 계산을 λΉΌλ‚΄λ €κ³  ν•œλ‹€.
  • 또 κ³„μ‚°μ—μ„œ 데이터λ₯Ό 뢄리할 수 μžˆλŠ” μƒκ°ν•œλ‹€.
  • λ‚˜μ•„κ°€μ„œ μ•‘μ…˜μ„ κ³„μ‚°μœΌλ‘œ, 계산을 λ°μ΄ν„°λ‘œ λ°”κΏ€ 수 μžˆλŠ”μ§€ κ³ λ―Όν•œλ‹€.

μ•‘μ…˜κ³Ό 계산, λ°μ΄ν„°λŠ” μ–΄λ””μ—λ‚˜ μ μš©ν•  수 μžˆλ‹€.

μž₯보기 과정에 μ μš©ν•΄λ³΄κΈ°

μ•‘μ…˜: 냉μž₯κ³  ν™•μΈν•˜κΈ° -> μ•‘μ…˜: μš΄μ „ν•΄μ„œ μƒμ μœΌλ‘œ κ°€κΈ° -> μ•‘μ…˜: ν•„μš”ν•œ 것 κ΅¬μž…ν•˜κΈ° -> μ•‘μ…˜: μš΄μ „ν•΄μ„œ μ§‘μœΌλ‘œ 였기

μ „λΆ€ λ‹€ μ•‘μ…˜μœΌλ‘œ 보인닀. μ΄λŠ” 큰 λ²”μ£Όμ—μ„œ 일뢀뢄이 μ•‘μ…˜μ΄κΈ°λ§Œ 해도 전체가 μ•‘μ…˜μ΄ 되기 λ•Œλ¬Έμ΄λ‹€. μ—¬κΈ°μ„œ 더 잘게 λ‚˜λˆ μ„œ 계산, 데이터λ₯Ό λ½‘μ•„λ³΄μž.

  • μ•‘μ…˜: 냉μž₯κ³  ν™•μΈν•˜κΈ°

    • 데이터: 냉μž₯고에 μžˆλŠ” μ œν’ˆ(ν˜„μž¬ 재고)
  • μ•‘μ…˜: μš΄μ „ν•΄μ„œ μƒμ μœΌλ‘œ κ°€κΈ°

    • 데이터: 상점 μœ„μΉ˜, κ°€λŠ” 경둜 λ“±
  • μ•‘μ…˜: ν•„μš”ν•œ 것 κ΅¬μž…ν•˜κΈ°

    • 계산: ν•„μš”ν•œ 재고 - ν˜„μž¬ 재고 = μž₯보기 λͺ©λ‘
    • 데이터: ν•„μš”ν•œ 재고, ν˜„μž¬ 재고(μœ„μ— 쑴재), μž₯보기 λͺ©λ‘
  • μ•‘μ…˜: μš΄μ „ν•΄μ„œ μ§‘μœΌλ‘œ 였기 => 더 λ‚˜λˆŒ 수 μžˆμ§€λ§Œ μž₯보기 κ³Όμ •μ—μ„œ μ€‘μš”ν•œ λ‘œμ§μ€ μ•„λ‹ˆκΈ°μ— 패슀

λ‚˜λˆ„λ‹€λ³΄λ©΄ λ„ˆλ¬΄ λ³΅μž‘ν•΄μ§€λŠ” κ±° μ•„λ‹ˆμ•Ό?라고 생각할 수 μžˆμ§€λ§Œ, λ‚˜λˆŒ 수 μžˆλŠ” 만큼 λ‚˜λˆ„λŠ” 게 μ’‹λ‹€.
ν•¨μˆ˜ν˜• ν”„λ‘œκ·Έλž˜λ¨ΈλŠ” λ‚˜λˆŒ 수 μžˆλŠ” λ§ŒνΌμ„ μ•Œκ³  μ μ ˆν•œ κ³³μ—μ„œ 멈좜 수 μžˆμ–΄μ•Ό ν•œλ‹€.
계산 λ˜ν•œ μ—¬λŸ¬ κ³„μ‚°μœΌλ‘œ λ‚˜λˆŒ 수 μžˆλ‹€. 첫 번째 κ³„μ‚°μ˜ 좜λ ₯이 두 번째 κ³„μ‚°μ˜ μž…λ ₯이 λ˜λŠ” 식이닀.
계산이 잘 보이지 μ•ŠλŠ” μ΄μœ λŠ”, 기본적으둜 계산은 우리의 사고 과정에 λ…Ήμ•„μžˆκΈ° λ•Œλ¬Έμ΄λ‹€.(이미 λ¨Έλ¦¬μ—μ„œ λ‹€ νŒŒμ•…μ΄ 되기 λ•Œλ¬Έ)

데이터, 계산 그리고 μ•‘μ…˜ μžμ„Ένžˆ 듀여닀보기

데이터

  • μ΄λ²€νŠΈμ— λŒ€ν•œ 사싀
  • 자료 ꡬ쑰둜 데이터에 의미λ₯Ό 담을 수 μžˆλ‹€. ex) μˆœμ„œκ°€ μ€‘μš”ν•œ λ°μ΄ν„°λŠ” λ°°μ—΄λ‘œ μ²˜λ¦¬ν•œλ‹€.
  • λΆˆλ³€μ„±
    • μΉ΄ν”Ό-온-라이트: λ³€κ²½ν•  λ•Œ 볡사본을 λ§Œλ“ λ‹€.
    • 방어적 볡사: λ³΄κ΄€ν•˜λ €κ³  ν•  λ•Œ 볡사본을 λ§Œλ“ λ‹€.
  • μž₯점
    • 직렬화: 전솑 및 μ €μž₯이 쉽닀.(보μž₯λœλ‹€.)
    • 동일성 비ꡐ: λ°μ΄ν„°λŠ” λΉ„κ΅ν•˜κΈ° 쉽닀.
    • 자유둜운 해석: 같은 데이터도 λ‹€λ₯΄κ²Œ 해석이 κ°€λŠ₯ν•˜λ―€λ‘œ μœ μš©ν•˜λ‹€.
  • 단점
    • μœ μ—°ν•˜κ²Œ 해석이 λœλ‹€λŠ” 점이 μž₯점이기도 ν•˜μ§€λ§Œ λ°˜λ“œμ‹œ 해석이 ν•„μš”ν•˜λ‹€λŠ” 게 단점이닀.
    • 즉, ν•΄μ„ν•˜μ§€ μ•Šμ€ λ°μ΄ν„°λŠ” κ·Έλƒ₯ λ°”μ΄νŠΈ 덩어리일 뿐이닀.

계산

  • μž…λ ₯κ°’μœΌλ‘œ 좜λ ₯값을 λ§Œλ“ λ‹€.
  • μ‹€ν–‰ μ‹œμ κ³Ό νšŸμˆ˜μ™€ 상관없이 항상 같은 μž…λ ₯값에 λŒ€ν•΄ 같은 좜λ ₯값을 λ°˜ν™˜ν•œλ‹€.
  • ν•¨μˆ˜(순수 ν•¨μˆ˜)둜 κ΅¬ν˜„ν•œλ‹€.
  • μ•‘μ…˜λ³΄λ‹€ 쒋은 이유
    • ν…ŒμŠ€νŠΈν•˜κΈ° 쉽닀.
    • 기계적인 뢄석이 쉽닀.(정적 뢄석)
    • μ‘°ν•©ν•΄μ„œ μ‚¬μš©ν•˜κΈ° μ’‹λ‹€.(순수 ν•¨μˆ˜)
  • κ³„μ‚°μ—μ„œ κ±±μ •ν•˜μ§€ μ•Šμ•„λ„ λ˜λŠ” λΆ€λΆ„
    • λ™μ‹œμ— μ‹€ν–‰λ˜λŠ” 것
    • κ³Όκ±° ν˜Ήμ€ λ―Έλž˜μ— μ‹€ν–‰ν•œ 것
    • μ‹€ν–‰ 횟수
  • 단점
    • μ‹€ν–‰(호좜) μ „μ—λŠ” μ–΄λ–€ 일이 λ°œμƒν• μ§€ μ•Œ 수 μ—†λ‹€λŠ” 점.

μ•‘μ…˜

  • μ™ΈλΆ€ 세계에 영ν–₯을 μ£Όκ±°λ‚˜ λ°›λŠ” 것
  • μ‹€ν–‰ μ‹œμ κ³Ό νšŸμˆ˜μ— μ˜μ‘΄ν•œλ‹€.
    • μ‹œμ : μ–Έμ œ μ‹€ν–‰λ˜λŠ”μ§€(μˆœμ„œ)
    • 횟수: μ–Όλ§ˆλ‚˜ μ‹€ν–‰λ˜λŠ”μ§€(반볡)
  • ν•¨μˆ˜λ‘œ κ΅¬ν˜„ν•œλ‹€.(λΆ€μˆ˜ 효과(Side Effect) ν•¨μˆ˜)
  • μ–΄λ–»κ²Œ 보면 ν•¨μˆ˜ν˜• ν”„λ‘œκ·Έλž˜λ°μ—μ„œ κ°€μž₯ μ€‘μš”ν•˜λ‹€.
  • μ•‘μ…˜μ„ 잘 μ‚¬μš©ν•œλ‹€λŠ” 것은…
    • κ°€λŠ₯ν•œ 적게 μ‚¬μš©ν•œλ‹€.
    • κ°€λŠ₯ν•œ μž‘κ²Œ λ§Œλ“ λ‹€.
    • μ™ΈλΆ€ 세계에 영ν–₯을 μ£Όκ±°λ‚˜ 받을 수 μžˆλ‹€. 즉, λ‚΄λΆ€μ—λŠ” 계산과 λ°μ΄ν„°λ§Œ, κ°€μž₯ λ°”κΉ₯μͺ½μ— μ•‘μ…˜μ΄ μžˆλŠ” ꡬ쑰가 이상적이닀.
    • μ‹€ν–‰ μ‹œμ κ³Ό νšŸμˆ˜μ— μ˜μ‘΄ν•˜λŠ” 것을 μ‘°κΈˆμ΄λΌλ„ μ œν•œν•œλ‹€.(덜 μ˜μ‘΄ν•˜λ„λ‘ λ§Œλ“œλŠ” κΈ°μˆ μ„ 톡해!)
  • μ•‘μ…˜μ„ μ“°λŠ” μˆœκ°„, κ·Έ μ•‘μ…˜μ„ ν¬ν•¨ν•˜κ³  μžˆλŠ” 무언가(주둜 ν•¨μˆ˜)도 μ „λΆ€ μ•‘μ…˜μ΄ λ˜μ–΄λ²„λ¦°λ‹€.(μ•‘μ…˜μ€ νΌμ Έλ‚˜κ°„λ‹€.)