iOS 14 부터 개인 정보 보호 정책으로 third party cookie 사용이 막힘. 이에 파생되는 이슈에 대해선 Storage Access API 를 사용
facebook.com
에서 코드를 로드하고 있다면, facebook.com
에 해당하는 쿠키가 자체적으로 생성될 수 있는데 이것이 …
개-하! 저번 시간에는 작업을 class 로 만들어서 취소 / 순서 기능을 사용할 수 있는 DispatchWorkItem
에 대해 알아봤는데요!
오늘은 한번에 수행할 수 있는 작업의 수를 제한하는 DispatchSemaphore
에 대해 알아보도록 합시다. 가벼운 내용이니까 가벼운 맘으로 고고! 라고 쓰고 시작했는데 쓰다보니 무거워진거 같아요.. 족굼은 마음의 준비를 하고 내리시길.. ㅎㅎ
여러분 Semaphore 에 대해 아시나여? 위키의 정의를 잠깐 가져와봅시다.
정수 변수로서, 멀티프로그래밍 환경에서 공유 자원에 대한 접근을 제한하는 방법으로 사용된다.
스레드가 공유 자원의 배타적인 사용을 보장받기 위해서 임계 구역에 들 …
지난 시간에는 Dispatch Group에 비동기 작업이 포함된 task 를 보낼때는 enter()
와 leave()
를 사용해야 함! 까지 살펴보았는데요, 이번 시간에는 DispatchWorkItem
을 알아보도록 합시다.
우리는 지금까지 원하는 작업들을 클로저 안에 넣어서 처리해왔습니다.
그러다 이런 생각을 하게 됐을지도 모르죠..!
🤔 : 흠.. 나는 작업들을 closure 묶어 보내는 대신, 아예 class 로 캡슐화해서 묶어버리고 싶다고!
앗 물론 이렇게 생각한 사람에 저는 포함되지 않습니다 ◠‿◠ 튼 이제 무슨 말이 나올지 아시겠죠? ㅎㅎ
DispatchWorkItem
은 지금껏 closure로 보내왔던 작업이 캡슐화 된 …
struct ResponseModel: Codable {
var title: String?
var pageType: PageType? enum PageType: Int, Codable {
case zero = 0
}
}//정의되지 않은 pageType 이 들어옴
let jsonString = "{\"title\":\"My Title\",\"pageType\":1}" let result = try? JSONDecoder().decode(ResponseModel.self, from: jsonString.data(using: .utf8)!)
위와 같이 정의된 ResponseModel
로 data를 디코딩을 한다고 해 …
문서 내용의 앞부분 출력. (디폴트 10줄)
head myFile
옵션
-c [num] : 문서의 num byte 만큼 앞부분 출력
head -c 5 myFile
-n [num] : 문서의 num line 만큼의 앞부분 출력
head -n 5 myFile
문서 내용 뒷부분 출력. (디폴트 10줄)
tail myFile
옵션
-n [num] : 문서의 num line 만큼의 뒷부분 출력
tail -n 5 myFile
-n +[num] : 문서의 num line 부터 끝까지 출력
tail -n +5 myFile
-F : 명령어가 끝나지 않고 계속 내용이 추가되길 기다리다가, 추가 되면 append 해서 출력. 로그 파일 작성할때 …
지난 포스팅에서는 Dispatch Group에 대해 살펴봤는데요, Dispatch Group의 notify
나 wait
함수를 통해 여러 스레드로 분배된 작업들의 종료 시점을 각각이 아닌 하나로 그룹지어서 한번에 파악할 수 있다고 했습니다.
저번 시간에는 GCD 사용시 주의 사항에 대해 살펴보았는데요, 오늘은 Dispatch Group이라는 새로운 개념을 알아보도록 합시다.
우리는 작업(task)을 Dispatch Queue에 보내면, GCD가 스레드를 적절히 생성해서 분배해준다는 사실을 알고 있어요. (모른다면 이전 시리즈들을 정주행 하고 오는걸 추천합니다!)
이때 여러 스레드로 분배된 작업들이 끝나는 시점을 각각 파악하는 것이 아니라, 하나로 그룹지어서 한번에 파악하고 싶을때 Dispatch Group의 개념이 사용됩니다.
애플에서는 학습, 동작, 시각, 청각 등의 문제를 겪고 있는 사람들을 위해 아래와 같은 접근성 기능을 제공한다.
true
지만 imageView 등은 아님.false
로 설정되면 해당 element 에 대해서는 voice over trigger 안됨어휴 오랜만이어도 너무 오랜만이네요 정말..! 이것저것 바빠서 글을 못쓴지 어언.. ㅎㅎ 그래도 한달에 한개는 쓰고 싶어서 클스마스 연휴 맞이 GCD 시리즈로 돌아왔슴다.
저번 시간에는 메인 큐, 글로벌 큐, 커스텀 큐와 같은 GCD Dispatch Queue의 종류와 특성에 대해 알아본 후 로또 당첨을 기원하며 사라졌군요.
오늘은 지금까지의 내용을 총 망라한 GCD 사용시 주의 사항에 대해 살펴볼텐데요, 그럼 바로 시작해보죠! ㄱㄱ
이 시리즈를 쭉 봐온 분들이라면 익숙한 그림, 바로 우리의 메인 스레드 입니다. 얘가 이렇게 화가 모자를 쓰고 있는 이유는 바로 UI 그리는 일을 담당 하기 때문이었죠!
메인 스레드가 UI 를 …