Edit Scheme > Debug / Release Edit > Manage Schemes + 누르고 생성하면, 이렇게 두개의 타겟이 생긴다. Build Settings > Target으로 가서, +를 눌러서 Add User-Defined Setting 해준다. server_url 을 나눠서 써주면 된다. 그럼 이걸 어떻게 적용할까?? Info.plist에서 이렇게 써주고, 실제로 활용하는 변수에서는 public let baseURL = Bundle.main.object(forInfoDictionaryKey: "server_url") as! String 이런식으로 써주면 된다. Build Configuration도 본다. Debug/Release가 맞게 설정 되어 있는지!
1. Groups 2. Rings(X) 3. Fields 1. Groups * abelian(commutative) group이려면 5가지 만족 2. Field(체) 집합과 두 연산자 도 abelian이고 도 abelian이고, a ⃞ (b·c) = (a ⃞ b)·(a⃞⃞ c)가 성립하면 Field이다. 그런데, 정수들로 이루어진 field가 필요하다. 이게 바로 GF(p), GF(2^n)이다. Field에 대해서 배웠으니까 이제 Galois Field(갈로아 체)도 다룰 수 있다. GF(p) = 이고 p는 소수이다. 𝗭p = {0, 1, ..., p-1} 그러면 GF(2)를 보자. GF(2) = 이다. 덧셈, 곱셈한 결과에 mod 2를 취해줬다고 생각하면 된다. GF(2^n..
AES는 NIST(National Institute of Standards and Technology)에서 2001년에 만든 대칭키 블록 사이퍼이다. 공모전을 통해서 DES를 대체하려고 선택된 대칭키 블록 암호이다. AES는 128bits의 데이터를 복호화/암호화 한다. 10, 12, 14, 라운드를 사용한다. key size는 128, 192, 256 비트 중 하나이다. rounds cipher key size round key size AES-128 10 128 bits 128 bits AES-192 12 192 bits 128 bits AES-256 14 256 bits 128 bits pre-round는 addRoundKey함수만 수행한다. [Data Unit] 1word = 4byte 1bloc..
www.vadimbulavin.com/infinite-list-scroll-swiftui-combine/ Infinite List Scroll with SwiftUI and Combine Implement a SwiftUI paginated list with endless scroll using the Combine framework and MVVM iOS app architecture. www.vadimbulavin.com github.com/V8tr/InfiniteListSwiftUI V8tr/InfiniteListSwiftUI Paginated endless scroll using the SwiftUI and Combine frameworks - V8tr/InfiniteListSwiftUI gith..
none, form-data, x-www-form-urlencoded, raw, binary... 다 다른 타입이다!! 나는 그중에도 raw타입- JSON 으로 보내줘야 했다. 그러려면 다음과 같이 헤더 설정을 Content-Type: application/json으로 해줘야 한다!!!!!! enum BodyType: String { case none case form_data = "form-data" case lengthZero case json = "json" var header: [String]? { switch self { case .form_data: return ["Content-Type", "multipart/form-data"] case .lengthZero: return ["Content..
UIStackView에서는 엄청 쉬웠다..fill equally옵션을 사용하면 됐다. 그러나 SwiftUI에서는 꽤 어렵다! 왜냐면 SwiftUI의 패러다임에서는 더이상 부모뷰가 자식의 사이즈를 결정할 수 없기 때문이다. 자식이 결정한 사이즈를 부모는 무조건 받아들여야 한다. 따라서, 각 자식뷰는 자신의 사이즈를 infinity로 한다. 모든 자식뷰가 사이즈가 infinity이면 1/n해서 나누게 된다. .frame(maxWidth: .infinity)