비동기 처리기술 GCD, OperationQueue GCD란..? GCD란 뭘까요?? GCD는 Grand central Dispatch 의 약자로 멀티코어와 멀티 프로세싱 환경에서 최적화된 프로그래밍을 할 수 있도록 애플이 개발한 기술이에요. GCD를 가장 먼저 설명한 이유는, 앞으로 Swift에서 비동기 프로그래밍을 공부하기 위해 자주 사용하게 될 DispatchQueue가 GCD의 일부분이기 때문이죠. 프로그래머가 실행할 태스크(작업)을 생성하고 Dispatch Queue라는 큐에 추가하면 GCD는 앱이 실행될 때 태스크(작업)에 맞는 스레드를 자동으로 생성해서 실행하고, 작업이 종료되면 해당 스레드 제거해주는 역할을 해줘요. 그럼 GCD를 알아봤으니 ... 이제 DispatchQueue라는 녀석에 ..
Swift엔 옵셔널이란게 있어! 옵셔널..? 그게 뭔데 ㅇ_ㅇ 옵셔널은 Swift코드를 보면서 자주 봤겠지만(보게 될꺼지만..?) 이렇게 생긴거에요.. let a: String? // 변수 초기화 안해?? a = "apeach" // 휴 편-안 print(a) // Optional("apeach") // ???? print(a!) // apeach // 띠용.. let b: String = "123" print(Int(b)) // err // ????? print(Int(b)!) // 123 // ???? 코드를 보면 이상한게 참 많죠?? !가 있는가 하면 ? 이것도 있고… 근데 이렇게 특이하게 생긴 Optional이 Swfit에선 짱짱한 기능이에요.. 그럼 지금부터 Swift 언어 특징 중 하나인 Op..
String 제대로 알고 가자! Swift에서의 코딩테스트.. 개발자로 취업을 하려면 코딩테스트는 꼭 넘어야 할 관문 중 하나인데, 특히 iOS 직무로 취업을 하려면,, 코딩테스트를 풀 언어가 아무래도 Swift로 짜면 좋겠죠?.. 쭉 Swift를 사용할 거니깐.. iOS 직무로 시험보는데 왜 Swift로 안짯냐는 얘기를 들었단 썰을 들은 적이 있습니다.. 아무래도 쭉 공부할 언어인데 안쓴다니 코딩테스트를 합격한다 해도 면접에서 참 애매하겠네요 ㅠ 아직도 기억나는데,, 제가 처음으로 iOS 개발 직무에서 서류를 합격하고 코딩테스트를 난생 처음으로 시험봐봤는데, 학교에서 배웠던 C로는 짤 수 있겠는데 Swift로 작성하려다가 scanf 하나 못써서 떨어진 기억이 있습니다.. 지금까지 연습앱만 만들어봤지 2..
ARC란? 오늘은 ARC에 대해 알아보겠습니다. ARC는 Aoutomatic Reference Counting 의 약자로 말 그대로 레퍼런스를 자동으로 카운팅해주는 기능이에요. ARC는 컴파일 시점부터 시작됩니다. 코드를 빌드할 때 특정 객체의 레퍼런스 카운트를 추적하여 class와 같은 객체를 생성할때 생성된 레퍼런스의 카운팅을 함으로써 선언, 언급시 +1, 사용완료시 -1 식으로 카운팅을 해서 카운팅 숫자가 0이 되면 free 시켜주는 형식으로 진행되요. ARC의 문제점 ARC는 C나 C++에서 메모리를 개발자가 관리해줘야 했던 부분들을 자동으로 관리해주는 편리한 기능이지만, 이로인해 메모리 누수가 생길 수 있는 문제점이 생길 수가 있어요. 바로 순환참조인데, Class A는 Class B를 참조하고..
- Total
- Today
- Yesterday
- 위젯
- today extension
- presentStyle
- VIPER 패턴
- BaseTableViewController
- UIModalPresentationStyle
- BaseViewController
- RxDataSource
- 프로그래머스 추석트래픽
- 알고리즘
- 괄호연산
- ReactorKit
- 카카오 블라인드 2018
- 백준 1946
- TransitionStyle
- RxSwift
- 백준 신입사원
- 아키택처
- 1차 뉴스 클러스터링
- 카카오 블라인드2018
- 자기PR
- Level 3
- 프로그래머스 오픈채팅방
- ios
- Widget
- Github Search
- 프로그래머스 캐시
- Swift
- Stack
- 카카오블라인드2018
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | 6 | 7 |
8 | 9 | 10 | 11 | 12 | 13 | 14 |
15 | 16 | 17 | 18 | 19 | 20 | 21 |
22 | 23 | 24 | 25 | 26 | 27 | 28 |
29 | 30 | 31 |