프로그래밍 (93) 썸네일형 리스트형 Concurrency Programming Guide (3) - Operation Queue Cocoa Operation은 비동기적으로 수행하려는 작업을 캡슐화하는 객체 지향 방식이다. Operation은 Operation Queue와 함께 사용하거나 단독으로 사용하도록 설계되었다. Operation은 Objective-C 기반이므로 OS X 및 iOS의 Cocoa 기반 애플리케이션에서 가장 일반적으로 사용된다. 이번 챕터에서는 Operation을 정의하고 사용하는 방법에 대해 설명한다. About Operation Objects operation object는 애플리케이션에서 수행 할 작업을 캡슐화하는 데 사용하는 NSOperation 클래스 (Foundation 프레임워크에서)의 인스턴스이다. NSOperation 클래스 자체는 유용한 작업을 수행하기 위해 상속을 해줘야 하는 추상 클래스이다.. Concurrency Programming Guide (2) - Concurrency and Application Design 컴퓨팅 초기에는 컴퓨터가 수행할 수 있는 단위 시간당 최대 작업량이 CPU의 클럭 속도에 의해 결정되었다. 그러나 기술이 발전하고 프로세서 설계가 더욱 간결해지면서 열과 기타 물리적 제약으로 인해 프로세서의 최대 클럭 속도가 제한되기 시작했다. 따라서 칩 제조업체는 칩의 전체 성능을 높이는 다른 방법을 모색했다. 그들이 채택한 솔루션은 각 칩의 프로세서 코어 수를 늘리는 것이었다. 코어 수를 늘리면 CPU 속도를 높이거나 칩 크기나 열 특성을 변경하지 않고도 싱글 칩이 초당 더 많은 명령을 실행할 수 있다. 이제 유일한 문제는 추가 코어를 어떻게 활용할 것인가였다. 멀티코어를 활용하기 위해 컴퓨터는 여러 작업을 동시에 수행 할 수 있는 소프트웨어가 필요하다. OS X 또는 iOS와 같은 최신 멀티태스킹 .. Concurrency Programming Guide (1) - 소개 동시성은 동시에 일어나는 여러 가지 일에 대한 개념이다. 멀티코어 CPU의 확산과 각 프로세스의 코어 수만 증거할 것이라는 인식으로 인해 소프트웨어 개발자들은 이를 활용할 새로운 방법이 필요하다. OS X 및 iOS와 같은 운영 체제는 여러 프로그램을 병렬(parallel)로 실행할 수 있지만 이러한 프로그램의 대부분은 백그라운드에서 실행되며 프로세서를 지속적으로 사용하지 않는 작업을 수행한다. 현재 포어그라운드 애플리케이션이란 사용자의 주의를 끌며 컴퓨터를 계속 작동시킨다. 애플리케이션이 해야 할 일은 많지만 사용 가능한 코어의 일부만 점유하고 있는 경우 이러한 추가 처리 리소스는 낭비 된다. 과거에는 애플리케이션에 동시성을 적용하려면 하나 이상의 추가 스레드를 만들어야 했다. 불행히도, 스레드 코드를.. Threading Programming Guide (2) - About Threaded Programming 많은 시간 동안 컴퓨터의 최대 성능은 컴퓨터 중심에 있는 싱글 마이크로프로세서의 속도에 의해 크게 제한이 되었다. 그러나 개별 프로세서의 속도가 한계에 도달하기 시작하면서 칩 제조업체는 멀티 코어 설계로 전환하여 컴퓨터가 여러 작업을 동시에 수행할 수 있는 기회를 제공했다. OS X는 시스템 관련 작업을 수행을 할 때 멀티 코어를 활용한다. 애플리케이션도 스레드를 통해 멀티 코어를 활용할 수 있다. 스레드란 무엇일까? 스레드는 애플리케이션 내부에서 여러 실행 경로를 구현하는 비교적 가벼운 방법이다. 시스템 수준에서 프로그램은 나란히 실행되며 시스템은 각각의 프로그램의 요구에 따라 프로그램들의 실행 시간을 할당한다. 그러나 각각의 프로그램 내부에는 여러 작업을 동시에 또는 거의 동시에 수행하는 데 사용할 .. Threading Programming Guide (1) - 소개 스레드는 하나의 애플리케이션 내에서 하나 이상의 코드 경로를 동시에 실행할 수 있게 해주는 기술 중 하나이다. 오퍼레이션 오브젝트 및 Grand Central Dispatch(GCD)와 같은 최신 기술이 동시성(concurrency)을 구현하기 위한 보다 현대적이고 효율적인 인프라를 제공하지만 OS X 및 iOS는 스레드 생성 및 관리를 위한 인터페이스도 제공한다. 이 문서는 OS X에서 사용할 수 있는 스레드 패키지를 소개하고 사용 방법을 제공한다. 이 문서에서는 애플리케이션 내에서 스레드 및 여러 개의 스레드 코드의 동기화를 지원하기 위해 제공되는 관련 기술에 대해서도 설명한다. ※ 중요 새 애플리케이션을 개발하는 경우 동시성을 구현하기 위한 대체 OS X 기술을 찾는 것이 좋다. 스레드가 적용된 애.. UICollectionView에 대해 알아보자. 1. UICollectionView가 무엇인가? 정렬 된 데이터 항목 모음을 관리하고 사용자 지정 가능한 레이아웃을 사용하여 표시하는 개체 컬렉션 뷰는 저장된 DataSource 개체에서 데이터를 가져온다. DataSource의 경우 CollectionView의 데이터 및 User Interface에 대한 업데이트를 간단하고 효율적으로 관리함. Supplementary View는 UITableView의 Header와 비슷한 역할을 한다. 2. 컬렉션뷰와 관련된 클래스 및 프로토콜 UICollectionView : 사용자에게 보여질 Collection 형태의 뷰 UICollectionViewCell : UICollectionView instence에 제공되는 데이터를 화면에 표시하는 역할을 담당 UICol.. Alamofire Framework 사용하기 0. Alamofire란? Swift에서 HTTP 네트웍 라이브러리를 사용해 만든 것이다. 1. 사용 가능한 환경 IOS 10.0+ (현재 2020.11.07 기준) 아래의 주소에서 최신 정보를 확인할 수 있다. Alamofire/Alamofire Elegant HTTP Networking in Swift. Contribute to Alamofire/Alamofire development by creating an account on GitHub. github.com 2. 설치 CocoaPods을 이용해 추가한다. pod 'Alamofire', '~> 5.2' 3-1. 사용 하기 전 기존 코드(network 라이브러리 사용 시) import Foundation import Network class Log.. Github OAuth로 로그인하기 0. Github Developer 에서 앱 설정 1. LoginManager 만들기 class LoginManager { static let shared = LoginManager() private init() {} private let client_id = "클라이언트 아이디를 넣어준다." private let client_secret = "클라이언트 Secret을 넣어준다." func requestCodeToGitHub() { let scope = "repo,user" let urlString = "https://github.com/login/oauth/authorize?client_id=\(client_id)&scope=\(scope)" if let url = URL(string: urlStrin.. 이전 1 ··· 8 9 10 11 12 다음