전체 글56 [TIL] 20230314: wait()/notify(queue:) 본문은 야곰 아카데미 커리어 스타터 캠프를 통해 학습한 내용을 회고한 글입니다. wait()/notify(queue:) wait()의 경우 synchronous하게 동작하고, notify의 경우 asynchronous하게 동작한다. wait() 이전에 제출된 업무들이 끝나길 기다리는 메서드이다. wait()을 사용한 코드는 다음과 같다: import Foundation struct Printer { func printNumbersOne() { let group = DispatchGroup() let count = 10 DispatchQueue.global().async(group: group) { for number in 1...count { print(number*2 - 1) } } DispatchQu.. 2023. 3. 14. [토요스터디A반] 20230311: Protocol Oriented Programming 본문은 야곰 아카데미 커리어 스타터 캠프를 통해 학습한 내용을 회고한 글입니다. Protocol Oriented Programming STEP01 main과 Chargeable 소스파일을 만든 후 commit해준다. main.swift: typealias WattPerHour = Int typealias Watt = Int Chargeable.swift: protocol Chargeable { var maximumWattPerHour: WattPerHour { get set } func convert(chargeableWattPerHour: WattPerHour) -> WattPerHour } 그리고 STEP01을 commit 해준다. commit 해주기 이전에 POPExercise.xcodeproj파일.. 2023. 3. 13. [TIL] 20230309: Sync/Async/Blocking/Non-Blocking 본문은 야곰 아카데미 커리어 스타터 캠프를 통해 학습한 내용을 회고한 글입니다. Sync/Async/Blocking/Non-Blocking ㅇㅇ 2023. 3. 9. [TIL] 20230307: 동기/비동기/직렬/동시성, DispatchQueue 본문은 야곰 아카데미 커리어 스타터 캠프를 통해 학습한 내용을 회고한 글입니다. 동기/비동기/직렬/동시성 Sync/Async/Serial/concurrent 동기/비동기 Sync/Async 동기와 비동기는 하나의 스레드 내에서 작업을 수행하는 방식의 차이를 의미한다. 일반적인 동기와 비동기에 대한 설명은 다음과 같다: 동기 Synchronous 비동기 Asynchronous 큐에 보낸 태스크들이 완료될 때까지 기다린 후 다음 태스크를 실행하는 것을 의미한다. 요청과 그 결과가 동시에 일어난다는 것이다. 바로 요청을 하면 시간이 얼마나 걸리든 요청한 자리에서 결과가 주어져야한다. 순서에 맞춰 진행되는 장점이 있지만, 여러가지 요청을 동시에 처리할 수 없다. 설계가 매우 간단하고 직관적이라는 장점이 있다. .. 2023. 3. 7. [TIL] 20230303: 프로토콜로 id 지정하기 본문은 야곰 아카데미 커리어 스타터 캠프를 통해 학습한 내용을 회고한 글입니다. 프로토콜로 id 지정하기 다음과 같은 코드로 프로토콜을 통해 identifier를 지정할 수 있다: import UIKit protocol IdentifierType { static var identifier: String { get } } extension IdentifierType { static var identifier: String { return String(describing: self) } } extension UIViewController: IdentifierType { } extension CustomTableViewCell: IdentifierType { } IdentifierType이라는 프로토콜을 생성.. 2023. 3. 4. [컨벤션] 컨벤션 0. 기본 컨벤션은 리팩토링시 적용하는게 아니라 코드를 짜는 즉시 적용합니다. 1. 일반 1.1 임포트 파일이 필요로 하는 최소의 모듈만을 임포트 합니다. 예를 들어, Foundation으로 충분하면 UIKit은 임포트하지 않습니다. 모듈 임포트는 알파벳 순으로 정렬합니다. 내장 프레임워크를 먼저 임포트하고, 개행으로 구분해 3rd-party 프레임워크를 임포트 합니다. 1.2 개행 개행에는 공백이 포함되지 않도록 합니다. 변수 선언, 조건문, 반복문, 함수 호출 사이에 개행을 줍니다. 1.3 들여쓰기 들여쓰기는 Xcode에서 제공하는 ctrl+i 를 눌렀을 때 적용되는 space를 사용합니다. 최대 가로 길이는 100characters를 사용합니다. 1.4 띄어쓰기 콜론(:)을 사용할 때는 콜론의 오른.. 2023. 3. 3. 이전 1 2 3 4 5 6 ··· 10 다음