일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | 6 | |
7 | 8 | 9 | 10 | 11 | 12 | 13 |
14 | 15 | 16 | 17 | 18 | 19 | 20 |
21 | 22 | 23 | 24 | 25 | 26 | 27 |
28 | 29 | 30 |
- 리팩토링
- UICollectionView
- uiscrollview
- Human interface guide
- 클린 코드
- 리펙토링
- 스위프트
- ribs
- 리펙터링
- SWIFT
- swift documentation
- swiftUI
- Clean Code
- Refactoring
- Protocol
- ios
- Observable
- UITextView
- 애니메이션
- HIG
- combine
- clean architecture
- Xcode
- collectionview
- tableView
- uitableview
- MVVM
- rxswift
- RxCocoa
- map
- Today
- Total
목록해시 (2)
김종권의 iOS 앱 개발 알아가기
* 해시의 기본 개념은 이전 포스팅 글 Hashable, 해시 참고 Hashable 사용 방법 일반적으로 Hashable프로토콜을 따르면 스위프트의 기본 타입(String, Int, ...)등은 이미 적용 var nameSet = Set() self.nameSet.insert("jake") self.nameSet.insert("jake") print(self.nameSet) // ["jake"] struct, enum, class와 같은 것들은 따로 hashValue를 정의해주지 않으면 해싱이 적용되지 않는 것을 주의 ex) id가 같으면 같은 사람으로 보고 싶지만, 아래처럼 age가 다르므로 set에 id가 같은 인스턴스가 중복으로 들어가는 케이스가 존재 struct Person: Hashable { ..
Hash란? hashing: 임의의 길이를 갖는 데이터(key)를 고정된 길이의 데이터(value)로 매핑하는 의미 hash function: key > value 매핑하는 함수 hash code: index값 hash value: hash code에 해당되는 value 값 collision(충돌) chaining으로 해결: hash function을 통해 얻은 hash code값에 이미 데이터가 존재하는 경우 > linked list를 통해 저장 LInear Probing으로 해결: hash code += 1 이동 Rehashing: Hash Table Hashable Hashing 기능 프로토콜 - 임의의 길이를 갖는 데이터(key)를 고정된 길이의 데이터(value)로 매핑 사용 Dictionary..