전체 글

- 2000.08.01 - KU CSE 20
· iOS/Swift
오늘은 Swift 5에서 등장한 Result Type에 대해서 알아보자. 우선 Apple 공식 문서를 봐보자. https://developer.apple.com/documentation/swift/result Result Type은 아래와 같이 정의되어 있다. @frozen enum Result where Failure : Error 이의 특징으로는 Generic Enumeration이라는 것. 경우에 따라 연관값을 포함하고, 성공과 실패를 나타내는 값이다. 우선 기존 에러처리 방법을 보자. 일반적인 에러처리는 다음과 같이 진행했다. 열거형 선언 후 함수 제작 do, try, catch문 정의 enum MyError: Error { case MentalError case HealthError case E..
· iOS/Swift
Generic 정말 많은 언어에서 후반부에 나오는 개념이다. 타입과 관련해서 간편한 기능이라고 생각만 하고 있었는데, Swift 강좌를 보면서 다시 등장한 개념이라 이번 기회에 정리해보고자 한다. 우선 애플 공식 문서에서 Generic에 대한 설명을 참고해보자. https://docs.swift.org/swift-book/documentation/the-swift-programming-language/generics/ Documentation docs.swift.org Generic code enables you to write flexible, reusable functions and types that can work with any type, subject to requirements that yo..
· iOS/Swift
지난 포스트에 이어 비동기 프로그래밍을 알아보는 시간을 가져보자. 큐의 QoS(Quality of Service) 이전 시간 DispatchQueue를 다루는 과정에서 QoS를 설정할 수 있는 큐들이 존재했다. (global, custom 큐가 가능했다!) QoS의 속성들에 대한 이야기를 하지 않은 것 같아 간단히 표로 정리하자면 아래와 같다. 서비스품질 수준 사용 상황 소요 시간 .userInteractive 유저와 직접적 인터렉티브: UI업데이트 관련(직접X), 애니메이션, UI반 응관련 어떤 것이든 (사용자와 직접 상호 작용하는 작업에 권장. 작업이 빨리 처리되지 않으면 상황이 멈춘 것처럼 보일만한) 거의 즉시 .userInitiated 유저가 즉시 필요하긴 하지만, 비동기적으로 처리된 작업 (ex..
· iOS/Swift
각종 사이트, 대학 전공 강의자료를 정리해서 제작했습니다. Swift를 처음 공부하는 것이므로, 오류를 알려주시면 달게 받겠습니다 🙂 1. 동기, 비동기? 영어로는 각각 Synchronous, Asynchronous이다. 동기 정의 그대로 동시에 일어난다는 것. Request(요청) 생성시 Result를 반환할 때까지 다른 Request를 처리할 수 없음. 비동기 동기와 반대로, 동시에 일어나지 않음을 의미한다. Request 생성시 Result를 반환할 때까지 다른 Request를 처리할 수 있음. 대신에 동기보단 Request → Result를 획득하는 속도가 느림 2. 그래서 비동기 처리는 실제 어디에 쓰이는가? 많은 상황에서 비동기 처리 방식이 쓰인다. 간단한 실생활의 비유하자면 우리가 관심있는 ..
자료구조 7주차 linked list 처럼 쓰면서 중앙을 찍을 수 있도록 하기 Binary Search Tree Contents Skip List Idea from Linked List Binary Search Tree Definition Search Algorithm, Insert Algorithm, Delete Alogrithm Proofs of Correctness and Performance Skip List Definition of Binary Search Tree 모든 곳에서 왼쪽은 전부 작고, 오른쪽은 전부 큰 구조 == Tree 지금 보는 BST는 루트에 중앙값이 오지 않아도 된다고 하자. NODE contains KEY One ROOT Node (unless empty BST) → 예외는..
자료구조 6주차 Linked List 배열의 문제 사이즈를 늘릴 때 힘들다… 배열을 키울려면 다른 곳에다 새로 만들 수 밖에 없다. 사이즈 바꾸는 것을 해결하기 위해 사용되는 Linked List Contents Definition of Linked List(정의) Implementation(이행) Performance(성능) Sample Application(+다양한 적용 기술들) Definition of Linked List Consists of Nodes Node : Unit of storage (item) Nodes are linked with pointers ( 다음 노드를 가리키기 위한 포인터 ) Linked List는 배열처럼 연속된 주소를 가지고 있지 않고, 여기저기 흩어져 있다. 다시 한..
ParkSeongGeun
Foden's Blog