본문 바로가기

Dev49

[SwiftUI] iOS13 Carousel View struct CarouselView: View { private var numberOfItems: Int private var content: Content @State private var currentIndex: Int = 0 init(numberOfItems: Int, @ViewBuilder content: () -> Content) { self.numberOfItems = numberOfItems self.content = content() } var body: some View { GeometryReader { geometry in HStack(spacing: 0) { self.content .frame(width: geometry.size.width, height: geometry.size.h.. 2023. 2. 14.
[암호학] TLS 1. 소개 TLS는 서로 통신을 할 때 제삼가 두 사람의 통신 내용을 도청에 상관없이 안전하게 통신의 내용을 보호할 수 있게 하는 기술이다. 2. 원리 2.1. 사전 지식 암호화된 메세지를 주고 받기 위해서는 먼저 이를 복호화할 수 있는 키를 주고 받아야 한다. 키를 주고 받기 위해서는 키 교환 알고리즘을 사용한다. 여기에 상대방의 신분을 확인하는 인증과 메시지의 무결성을 확인하는 해쉬 알고리즘이 추가된다. 이러한 일련의 알고리즘들을 각각 정해둔 것을 "사이퍼 수트(cipher suite)" 라고 한다. 사이버 수트인 TLS_ECDHE_RSA_AES256_SHA256 는 TLS 통신할 때 ECDHE 를 키 알고리즘으로 하고 RSA를 인증 알고리즘, AES256로 암호화 알고림즘을 SHA256를 해쉬 알고.. 2023. 2. 4.
[SwiftUI/Combine ]SwiftUI Combine을 활용한 Network 매니저 클래스 활용 Combine 프레임워크는 비동기적인 작업을 처리하는 데 매우 효과적인 도구입니다. MVVM 패턴에서의 각 구성 요소는 다음과 같습니다. Model: 앱의 데이터를 나타냅니다. View: 사용자에게 데이터를 표시합니다. ViewModel: Model과 View 간의 중개자 역할을 합니다. 1. Netwokr Model Class 생성 네트워크 API 클래스는 Model에 해당하며, ViewModel에서 호출됩니다. 따라서, API 클래스에서는 네트워크 요청을 만들고 응답을 처리하는 로직을 작성해야 합니다. 다음은 Swift Combine과 MVVM 패턴을 사용하여 네트워크 API 클래스를 만드는 예시입니다. class NetworkService { enum NetworkError: Error { case.. 2022. 3. 25.
개인정보처리방침 n/a 2022. 3. 13.