BEST
개발 · 프로그래밍

/

프로그래밍 언어

2시간으로 끝내는 코루틴

비동기 프로그래밍의 필수 라이브러리 코루틴! 코루틴의 개념, 사용법, 그리고 내부 원리까지 한 번에 얻어가세요!

(4.9) 수강평 38개

수강생 880명

Thumbnail

초급자를 위해 준비한
[프로그래밍 언어] 강의입니다.

이런 걸
배워요!

  • 코루틴이 루틴과 어떻게 다른지, 스레드와 어떻게 다른지 알 수 있어요!

  • 코루틴을 어떻게 만들고 사용하는지, 코루틴이 어떻게 동작하는지를 이해할 수 있어요!

코틀린 비동기 프로그래밍 필수템! 
코루틴, 2시간에 개념부터 실습까지 ⏰

코틀린(Kotlin)은 안드로이드 개발에 사용되는 언어이며, 최근에는 백엔드 개발에서도 많은 각광을 받고 있습니다. 본 강의는 코틀린의 다양한 언어적 특징을 깊이 있게 다루면서, 다양한 예시와 실습을 통해 쉽게 이해할 수 있도록 구성되어 있습니다.

2시간에 끝내는 코틀린 코루틴의 모든 것

〈자바 개발자를 위한 코틀린 입문〉에서 이어지는 〈2시간으로 끝내는 코루틴〉 강의는 코틀린에서 비동기 프로그래밍을 할 때 필수 라이브러리인 코루틴(Coroutine)의 핵심을 알기 쉽게 알려드립니다. 단순히 코루틴 사용법만 설명하는 것이 아니라 코루틴이란 무엇인지, 루틴과 코루틴 그리고 스레드와 코루틴을 비교해 코루틴의 확실한 개념과 내부 구조, 동작 원리까지 알차게 다룹니다.


커리큘럼을 
확인해보세요 📚

1강. 루틴과 코루틴

  • 첫 코루틴을 작성해 봅니다.
  • 루틴과 코루틴의 다른 점을 이해합니다.

2강. 스레드와 코루틴

  • 프로세스와 스레드, 스레드와 코루틴의 차이점을 이해합니다.
  • 코루틴과 스레드가 어떻게 협력하는지 알아봅니다.

3강. 코루틴 빌더와 Job

  • 코루틴 빌더가 무엇인지 이해하고 3가지 종류의 코루틴 빌더 특징을 알아봅니다.
  • 코루틴을 나타내는 Job 객체의 주요 기능들을 살펴봅니다.

4강. 코루틴의 취소

  • 코루틴을 취소하는 방법은 무엇인지, 코루틴이 취소에 어떻게 협조하는지 살펴봅니다.
  • 코루틴이 취소를 다루는 방법을 이해합니다.

5강. 코루틴의 예외 처리와 Job의 상태 변화

  • 코루틴에서 발생한 예외를 어떻게 처리할 수 있는지, 예외처리와 취소의 다른 점이 무엇인지 알아봅니다.
  • Job 객체의 상태 변화를 이해합니다.

6강. Structured Concurrency

  • 대규모 코루틴을 지탱하는 Structured Concurrency에 대해서 이해합니다.
  • 부모 - 자식 관계의 코루틴이 협업하는 원리를 살펴봅니다.

7강. CoroutineScope과 CoroutineContest

  • CoroutineScope과 CoroutineContext 개념에 대해 이해합니다.
  • CoroutineContext를 조작하고 주요 context인 CoroutineDispatcher에 대해서 알아봅니다.

8강. suspending function

  • suspend 지시어가 갖는 효과를 이해하고, suspend 함수를 어떻게 활용할 수 있는지 살펴봅니다.
  • 코루틴 라이브러리에서 제공하는 중단 함수인 coroutineScope, withContext, withTimeout, withTimeoutOrNull을 알아봅니다.

9강. 코루틴과 Continuation

  • 코루틴이 동작하는 내부 원리인 Continuation을 직접 코딩해 보며 이해합니다.
  • Continuation Passing Style을 이해하고 디컴파일 코드를 살펴봅니다.

10강. 코루틴의 활용과 마무리

  • 학습한 코루틴을 어떤 분야에서 활용할 수 있는지 간단히 살펴보고, 본 강의를 마무리합니다.

강의 내용을 완벽히 정리한 
47페이지 핸드북 + 186페이지 PPT!

복잡하고 번거로운 필기 대신 수업에 집중하세요!
충분히 내용을 이해하고 복습할 수 있도록 수강생에게 강의 내용을 꼼꼼히 정리한 학습 자료를 제공합니다.


수강평 미리보기 👀

아래 수강평은 지식공유자의 지난 코틀린 강의에 대한 수강평입니다.
• 자바 개발자를 위한 코틀린 입문(Java to Kotlin Starter Guide)
• 실전! 코틀린과 스프링 부트로 도서관리 애플리케이션 개발하기 (Java 프로젝트 리팩토링)

★★★★★

강의 내용 엄청 알차네요. 강사님께서 가진 스타일이나 스킬들을 강의 중간중간에 팁으로 풀어주셔서 하나둘씩 얻어가네요. 설명이 다양해서 미리 궁금할 법한 점들을 속 시원하게 긁어주었습니다. 왜? → 설명, 그리고 장단점들과 다양한 예시들.. 최고였습니다. 가격보다 더 많은 것들을 얻어가는 부분이었고, PPT도 엄청 정성 쏟으신 게 보입니다! 감사합니다. (Wo***)

★★★★★

지나칠 정도로(?) 겸손한 강사와 내공이 느껴지는 강의 내용이 인상적입니다. 한 강의에서 개발 전반에 필요한 지식을 한 번에 학습할 수 있어서 좋았고 강의하는 입장에서는 힘드시겠지만, 실무에 가까우면서도 꼭 필요한 가상의 요구사항을 같이 개발해보는 컨셉으로 시리즈물이 나왔으면 하는 욕심을 부려봤습니다. 감사합니다. (정***)

★★★★★

강의 내용부터 속도까지 전체적으로 완전 저한테 찰떡인 강의였습니다! 감사합니다 :) (Je***)

★★★★★

예제와 잘 정리된 강의 때문에 직접 정리할 시간을 많이 줄여주는 좋은 강의라고 생각합니다. (go***)

★★★★★

강사님을 알게 되어 코틀린의 재미를 알게 되었습니다! 비록 수강평이지만 너무 감사드리고 인생 강사님을 만나게 된 것 같은 시간이었어요! 다음 강의 계획이 어떻게 되시는지 모르겠지만 나오면 무조건 필구 예정입니닷! (원***)

★★★★★

강의는 다른 리뷰들이 말한 거처럼 이해하기 좋아요. 근데 제일 좋은 건 질문하면 정말 성심성의껏 자세히 알려주시는 점이 정말 좋습니다 예를 들면 이런 간단한 질문에도.. 감동! (아***)


Q&A 💬

Q. 강의 실습 환경은 어떻게 되나요?

강의에서는 IntelliJ IDEA를 활용해 실습을 진행하고 있습니다. 꼭 IntelliJ를 사용하지 않으시더라도 코틀린과 코루틴을 구동할 수 있는 환경이라면 실습하시는데 큰 문제가 없으실 겁니다! 👍

Q. 빌드 툴은 무엇을 사용하나요?

강의에서는 Gradle을 사용하고 있습니다. 코루틴을 위해 필요한 의존성을 Gradle로 설정하지만,Maven이나 다른 빌드 툴을 사용하시더라도 문제 없이 강의를 따라오실 수 있습니다.

Q. 안드로이드 (혹은 백엔드) 개발자입니다. 강의를 들을 수 있을까요?

네네! 물론입니다~ 본 강의는 코루틴 기초 사용법과 그 원리를 다루고 있기 때문에, 코틀린 기초 문법을 알고 계시면 어려움 없이 강의를 들으실 수 있습니다. 간혹 특정 영역의 예시가 나오더라도 코루틴을 설명하는 예시로만 사용되고 있습니다.

함께 보면 좋은 강의 📺

이런 분들께
추천드려요!

학습 대상은
누구일까요?

  • 평소 코루틴에 관심이 있었던 분

  • 코틀린을 이용한 비동기 프로그래밍을 해야 하는 분

선수 지식,
필요할까요?

  • 코틀린 기초 문법에 대한 이해가 필요합니다!

안녕하세요 😊

제가 아는 내용을 이해하기 쉽고, 재미있게 설명드려 여러분들이 성장하실 때 행복함을 느끼는 개발자 최태현입니다.

 

  • (현) 와드 소프트웨어 엔지니어

  • (전) 스타트업 소프트웨어 엔지니어

  • (전) 우아한형제들 소프트웨어 엔지니어

  • (교육활동) Next Step 리뷰어 다수 참여, 공기관 & 스타트업 경진대회 강사 및 멘토, 스파르타 코딩클럽 멘토

  • 한국과학기술원 (KAIST) 졸업

 

 

커리큘럼

전체

12개 ∙ (1시간 38분)

수업 자료

가 제공되는 강의입니다.

강의 게시일: 
마지막 업데이트일: 

수강평

아직 충분한 평가를 받지 못한 강의입니다.
모두에게 도움이 되는 수강평의 주인공이 되어주세요!