🌱 SeSAC

[SeSAC] 220823 TIL

taeeekki 2022. 8. 29. 18:43

JSON

"JSON은 ν˜•νƒœμ— λΆˆκ°€ν•˜λ‹€."

  • μ„œλ‘œ λ‹€λ₯Έ ν”Œλž«νΌ(μ„œλ²„, 클라 ...)μ‚¬μ΄μ—μ„œ μ–΄λ–»κ²Œ 톡신할 수 μžˆμ„κΉŒλΌλŠ” μƒκ°μ—μ„œ 데이터 ν˜•μ‹μ˜ 톡일성이 ν•„μš”ν•˜λ‹€λŠ” 관점이 λ‚˜μ˜¨λ‹€.
  • μ‹€μ œλ‘œ λ³΄μ—¬μ§€λŠ” λ°μ΄ν„°λŠ” String의 집합이닀.

Realm

Local DB μžμ²΄μ—μ„œ 쑰회 μžμ²΄λŠ” 크게 속도와 μ„±λŠ₯을 κ±±μ •ν•˜μ§€ μ•Šμ•„λ„ λœλ‹€.

기본적으둜 데이터λ₯Ό μƒμ„±ν•œ μˆœμ„œλŒ€λ‘œ 정렬이 λœλ‹€.

Filter(ν•„ν„°) κΈ°λŠ₯ κ΅¬ν˜„

λ‹€μŒ 2κ°€μ§€ 방식을 μ‚¬μš©ν•  수 μžˆλ‹€.

  • Realm filter query 기반
  • NSPredicate 기반 (Apple)

Lazy var

μ‚¬μš©μž λˆˆμ— λ°˜λ“œμ‹œ λ³΄μ΄λŠ” 뷰의 경우 ꡳ이 lazy varλ₯Ό μ΄μš©ν•΄μ„œ μ§€μ—° μ €μž₯ν•˜λŠ” 것은 κ·Έ λͺ©μ μ— λΆ€ν•©ν•˜μ§€ μ•Šλ‹€. 였히렀 μ½”λ“œλ₯Ό 해석할 λ•Œ 잘λͺ»λœ 해석을 μœ λ„ν•  수 μžˆλ‹€.

UIButton 객체의 경우 lazy var둜 μ„ μ–Έν•˜λ©΄ μ•‘μ…˜μ΄ μΌμ–΄λ‚ λ•ŒκΉŒμ§€ λ©”λͺ¨λ¦¬μ— μ˜¬λΌκ°€μ§€ μ•ŠλŠ” κ²ƒμΌκΉŒ? κΆκΈˆν•˜λ‹€.

 


Transaction

전곡 μˆ˜μ—…μ΄λž‘ μ •μ²˜κΈ°μ—μ„œ 봀을 λ•ŒλŠ” κ·Έλƒ₯ μ™Έμš°κΈ°μ— λ°”λΉ΄λŠ”λ°, μ΄λ ‡κ²Œ μ‹€μ œ κ°œλ°œμ—μ„œ κ°œλ…μ„ λ§Œλ‚˜κ²Œ λ˜λ‹ˆκΉŒ 이해가 μ’€ λ˜λŠ” λ“― ν•˜λ‹€.

  • μž‘μ—… μˆ˜ν–‰μ˜ 논리적 λ‹¨μœ„
  • DB μ„œλ²„μ— μ—¬λŸ¬ ν΄λΌμ΄μ–ΈνŠΈκ°€ λ™μ‹œμ— μ ‘μ†ν•˜κ±°λ‚˜ 데이터 κ°±μ‹  처리 등을 ν•˜λŠ” κ³Όμ •μ—μ„œ 쀑단될 수 μžˆλŠ” κ²½μš°μ— 데이터 뢀정합을 λ°©μ§€ν•˜κ³ μž μ‘΄μž¬ν•˜λŠ” κ°œλ…

ACID

  • Atomicity: μ›μžμ„±
  • Consistency: 일관성
  • Isolation: 격리성
  • Durability: 지속성

Meta Type

  • νƒ€μž…μ˜ νƒ€μž…
  • νƒ€μž…μ˜ μΈμŠ€ν„΄μŠ€λ₯Ό μ €μž₯, μ‚¬μš©ν•˜λŠ” 것이 μ•„λ‹Œ νƒ€μž… κ·Έ 자체λ₯Ό μ €μž₯ν•  수 있음

Try Catch μ—λŸ¬ 핸듀링

ν•¨μˆ˜λ‚˜ κΈ°λŠ₯의 μž‘μ„±ν•˜λŠ” λΆ€λΆ„μ—μ„œ throwsλΌλŠ” ν‚€μ›Œλ“œλΌκ³  λͺ…μ‹œλ₯Ό ν•΄μ£Όλ©΄ μ—λŸ¬λ₯Ό 던질 수 μžˆλŠ” μƒνƒœκ°€ λœλ‹€. throw ν‚€μ›Œλ“œλ₯Ό ν†΅ν•΄μ„œ μ—λŸ¬κ°€ λ°œμƒν•  수 μžˆλŠ” 뢀뢄을 체크해주면 μ‹€μ œλ‘œ μ‚¬μš©λΆ€μ—μ„œλŠ” try ~ catchλ₯Ό ν†΅ν•΄μ„œ μ—λŸ¬λ₯Ό 핸듀링할 수 있게 λœλ‹€.