동시성(Concurrency)프로그래밍 - iOS프로그래밍에서 필요한 동기, 비동기의 개념 및 그를 확장한 GCD 및 Operation에 관한 모든 내용을 다룹니다.
이런 걸
배워요!
iOS 동시성(Concurrency) 프로그래밍
iOS에서 최적화에 대한 이해(성능/반응성)
비동기(async)/동기(sync) 처리의 기본 개념에 대한 이해
iOS 디스패치큐(GCD)에 대한 이해
디스패치 그룹/비동기 디스패치 그룹에 대한 이해
iOS 오퍼레이션큐(OperationQueue)에 대한 이해
GCD/Operation을 적용한 실제 프로젝트의 예시
GCD/Operation에 대한 A부터 ~ Z까지
Thread-Safety에 대한 이해
Thread-Safe한 객체 설계의 이해
이 모든 내용을 쉽게(그림으로) 직관적으로 이해하기
(크게 GCD와 Operation부분으로 이루어져 있습니다. GCD에 대해 잘 이해하고 계시더라도, GCD에서 발전된 개념인 Operation(작업 클래스)에 대해서는 생소하실 수도 있습니다. 어떤 블로그나 강의보다 더 명확하고 쉽게, 강의 한 번에 모든 것을 이해하실 수 있도록 구성했습니다.)
(수업에서 쓰이는 다양한 그림 및 도표 설명방식의 예시입니다.)
(위의 폴더 안의 자료들이 모두 제공됩니다.)
위의 참고 자료들만으로 단순히 번역 수준의 강의를 만들려고 했다면 이런 강의를 기획하지 않았을 것입니다. 이 주제들에 대해서 효율적이면서 효과적인 설명, 직접적인 그림, 도표 등을 직접 다 손수 PPT로 작성하여서, 실제 쓰레드가 어떻게 동작하고 있는지에 대한 직관적인 이해를 돕고자 최선의 설명 방법을 택했습니다. 위에서도 말씀드렸지만 참고자료를 10번 이상씩 보았고 그 내용들을 모두 다루면서도 설명은 훨씬 쉽고 다양한 그림으로 직관적으로 이해할 수 있도록 하는 것을 목표로 하는 강의입니다.
그리고 이러한 그림의 내용은 풀타임 2달이상의 기간을 거쳐 직접 정리한 내용이므로, (해외자료 포함) 어디에서도 이런 방식의 설명 및 이렇게 자세한 설명은 보실 수 없을 거라 생각합니다. 예를 들어 참고자료(raywenderlich의 동영상강의)에서 단 한줄로 “lazy var와 관련하여도 이런 문제가 있을 수 있습니다.” 하고 제시된 내용이 있었다면, lazy var와 관련된 모든 이슈들을 찾아서 제가 직접 정리하고, 그림으로 직관적인 이해를 도우며 해결책을 제시하고 있습니다.
그림(큰 틀)을 이해하면 코드는 아주 손쉽게 쓸 수 있다는 그런 명제하에, 최대한 그림을 통한 이해 및 코드를 통한 활용으로 밸런스를 유지하려고 하였기에 참고 자료들과는 엄청난 차이점이 있습니다. 참고 자료들과 비교하여 훨씬 자세하고, 직관적이고 풍부한 자료, 그리고 일관성있는 쉬운 설명이 명확한 차별점이라고 말씀드리고 싶습니다.
해당 주제와 관련해 이해를 돕고자 코드 파일이 제공되고, 수업 내용에서도 다루고 있습니다. 제공되고 있는 코드는 라이센스가 허락하는 범위내에서 대부분 레이웬더리치(raywenderlich)의 GCD동영상 강의에서 제공되는 코드의 대부분을 채택하고 있으며(채택부분은 명시되어 있음) 라이센스가 허락되지 않는 부분(레이웬더리치 서적에서 제공하는 코드)에 대해서는 코드를 제가 직접 작성하고, 큰 틀에서 핵심적인 부분은 유사하게 작성되어 제공되고 있는 코드에 대한 신뢰성을 확보하고자 하였습니다.
또한, 제공해 드리는 코드의 이해를 돕기 위해 순서배치를 바꾸고, 더 자세한 설명을 위한 코드들도 다수 추가해 다양한 예시와 함께 본 수업 내용의 이해를 돕고 있습니다.
단일주제에 대해 조금은 높은 가격으로 측정이 되어있어 의아해 하실 수 있으나 정말 많은 내용이 담겨져 있어 가격 대비 훨씬 높은 만족감을 얻으실 것임을 말씀드리고 싶습니다. 본 내용을 설명하기 위해 직접 작성한 PDF자료가 GCD 관련 287장, Operation 관련 89장으로 총 376페이지의 자료가 제공됩니다. (실제 제가 동영상 강의 내에서 설명하기 위한 자료는 코드 제외 PPT 830장 정도로 구성되어 있습니다.)
GCD/Operation과 관련해 해외자료에서 찾을 수 있는 거의 모든 내용을 모두 다루고 있으며, 본 수업 내용에 포함되어 있는 대부분의 그림 및 도표는 제가 직접 작성한 내용입니다. 본 강의를 위해 상당히 많은 시간과 노력이 들어갔고, 그만큼 향후 개발자의 성장과 관련하여 중요한 주제라고 생각했기에, (제 개인적인 관점에서) “이런 자료, 이런 강의가 있었으면 좋겠다” 라는 기준에서 기획하여 만들어진 강의입니다.
또 개인적으로 생각하기에, 비용을 내고 강의 듣는 결정을 한다는 것은 시간과 비용을 교환하는 일이라고 생각합니다. 비용 대비 해당 주제에 대한 공부 시간을 아끼시는 데는 충분한 역할을 할 것이라고 생각하며, 시간을 아끼시고 더 높은 만족을 얻어가시길 하는 바램입니다. 가격보다 더 높은 만족을 드리기에 충실한 내용으로 보답하도록 하겠으며, 이러한 점을 감안해주시길 정중히 부탁드리겠습니다. ^^
본 강의의 내용들은, 제가 조금이라도 그림 등을 참고한 경우에 PDF에 관련 URL주소가 남겨져 있습니다. 그런 경우를 제외한 모든 자료는 제가 작성한 자료이기에, 부분별로 강의의 설명방식을 참고하여 블로그 등에 정리하실 때는 본 강의의 주소를 남겨주시길 정중하게 부탁드립니다.
그럼에도 불구하고, 본 강의의 전반적인 내용을 블로그에 다 담는 것과 강의자료로 쓰이는 PDF파일의 공유는 어떠한 경우에도 금지됩니다.
수강을 결정하시기 전에, 강의 스타일과 관련하여 미리 확인해 보실 수 있도록 하였습니다.
미리보기가 제공되는 강의들을 살펴보시고 수강을 결정하시면 됩니다. :)
학습 대상은
누구일까요?
Swift언어를 조금 익히신 분
iOS에서 동기 비동기 처리의 기본 개념을 익히시고 싶으신 분
GCD(Grand Central Dispatch)디스패치큐의 개념에 대해 알고싶으신 분
디스패치 그룹에 대해 알고싶으신 분
Operation(오퍼레이션)/OperationQueue(오퍼레이션큐)에 대해 알고싶으신 분
Thread-safety개념에 대해 알고 싶으신 분
초 ~ 중급 iOS개발자
선수 지식,
필요할까요?
Swift언어에 대한 이해
iOS프로그래밍에 대한 이해
iOS개발자 앨런입니다.
https://www.youtube.com/@allen_ios
제가 공부하면서 겪었던 시행착오를 쉽게 풀어내어
지식을 공유할 수있는 개발자가 되고싶습니다.
쉬운 주제로 빠른 시간 안에 겉핥기 식으로 쉽게만 가르치는 강의를 만드는 것에는 관심이 없습니다.
그런 강의는 얼마든지 빠르게 찍어내듯 만들 수 있겠지만, 결국 "좋은 개발자로 성장"하는 것은 그만큼 이론적인 기반의 밑거름이 탄탄해야 한다고 믿고 있기 때문입니다.
쉬운 강의보다는, 좋은 개발자(끝임없이 성장할 수 있는 개발자)가 되기 위해
반드시 알아야 하는 어려운 내용까지를 최대한 쉽게, 그리고 직관적으로 알려드리는 것.
그래서 제가 아닌 여러분 스스로 고민/생각할 수 있는 밑거름을 만들어 드리는 것을 저의 강의 목표로 삼고 있습니다.
저 스스로도 내일은 더 좋은 개발자가 되자는 모토를 가지고 있는 만큼
제가 고민 했던 내용들을 깊이있게 전달 드리고 싶습니다.
👇🏻문의는 아래의 이메일로 주시면 됩니다.
we.love.code.allen@gmail.com
언어: Swift(스위프트), Python, Java, C#
전체
32개 ∙ (8시간 9분)
가 제공되는 강의입니다.