소개
안녕하세요. 개발자 조세영입니다.
지금까지 프로그래밍은 사람들에게 어렵게 다가왔습니다. 그 이유는 프로그래밍에 필요한 방대한 지식이 인터넷 곳곳에 흩어져 있고, 파편화된 지식을 이해하기 위해서는 지식의 양에 비해 많은 노력이 필요했기 때문입니다.
하지만, 많은 공부 끝에 제가 발견한 것은 각 단계에서 체계적으로 필요한 부분만을 학습한다면, 효율이 수 배 아니 수십 배까지 올라갈 수 있다는 점입니다. 이런 점에 착안해서 저는 프로그래밍 지식을 체계화해 주니어 개발자부터 시니어 개발자까지 누구나 이해할 수 있도록 학습 자료들을 만들고 있습니다.
많은 분들이 제 학습 자료를 통해 어렵게 느껴지던 프로그래밍 개념들을 쉽게 이해하고 넘어갈 수 있길 바랍니다.
저서
코틀린 코루틴의 정석, 조세영, 에이콘 출판사, 2024
번역
코틀린 코루틴 공식 기술 문서 한국어 번역 및 배포, 2023
강연&발표
안드로이드 개발자를 위한 코틀린 코루틴, 삼성전자 MX 사업부, 2024
Optimizing Flow Collection on Coroutines, LINE Client Day, 2022
경력
(전) 라인플러스 Android Software Engineer
(전) 하이퍼커넥트 Android Software Engineer
(전) 티맥스데이터 Software Engineer
(전) 인공위성연구소 Graduate Researcher
(전) KAIST IIDS Lab Research Asssistant
학력
KAIST 전기및전자공학부 석사 졸
고려대학교 보건정책관리학부, 전기전자전파공학부 학사 졸
링크
GitHub: https://github.com/seyoungcho2
Tech Blog: https://kotlinworld.com/
LinkedIn: https://www.linkedin.com/in/seyoungcho/
Khóa học
Đánh giá khóa học
- Hoàn toàn chinh phục Kotlin Coroutine
- Hoàn toàn chinh phục Kotlin Coroutine
- Hoàn toàn chinh phục Kotlin Coroutine
- Hoàn toàn chinh phục Kotlin Coroutine
- Hoàn toàn chinh phục Kotlin Coroutine
Bài viết
Hỏi & Đáp
CoroutineDispatcher에 대한 질문
임헌준님 안녕하세요. 지식공유자 조세영입니다.CoroutineDispatcher가 코루틴을 스레드로 보내 실행시키는 역할을 위한 객체가 맞습니다.singleThreadDispatcher와 multiThreadDispatcher는 CoroutineDispatcher를 만들어내지만, 이 함수들은 생성한 CoroutineDispatcher가 코루틴을 보낼 수 있는 전용 스레드풀을 만드는 역할도 합니다.분리해서 생각을 해야 할 것 같아요. Dispatchers.IO나 Dispathcers.Default는 무제한 스레드풀에서 생성된 스레드에 코루틴을 보내고, singleThreadDispatcher나 multiThreadDispatcher로 만들어진 CoroutineDispatcher는 전용 스레드풀에 코루틴을 보내는 역할을 합니다.즉, CoroutineDispatcher 자체는 "코루틴을 어느 실행 컨텍스트에서 돌릴지 결정하는 역할"을 하고, 어떤 Dispatcher를 사용하느냐에 따라 전용 스레드 풀을 쓸지, 공유 스레드 풀을 쓸지가 달라집니다.답변이 도움이 되면 좋을 것 같습니다.감사합니다.
- 0
- 2
- 33
Hỏi & Đáp
코루틴과 JVM이 끝나는 조건에 대해 문의 드립니다.
mamu님 안녕하세요. 강의가 도움이 돼서 기쁘네요!날카로운 질문 주신거 같아요. 분명 메인스레드에서의 동작이 남아있는데 종료되는 것이 이상하게 느껴지셨을 수 있습니다.질문 주신 부분을 이해하시려면 코루틴의 내부 동작을 이해해야 합니다.결국 코루틴은 내부적으로는 콜백을 사용해 비동기를 구현합니다. (Continuation을 기반으로 동작하게 돼 있습니다.) 따라서 메인 함수가 반환돼 버리면 콜백이 일어나지 못하고 종료되는 것입니다.답변이 도움이 되었으면 좋겠습니다.감사합니다.
- 0
- 2
- 47
Hỏi & Đáp
Job() 생성후 complete을 불러 주어야 하는 경우가 헷깔립니다.
mamu님 안녕하세요. 지식공유자 조세영입니다.첫번째 코드의 경우 Job의 parent 인자로 넘기신 Job이 runBlocking 코루틴의 자식 코루틴의 Job입니다. 따라서 runBlocking 코루틴은 해당 Job이 완료되기까지 완료 중 상태에 머뭅니다.하지만 두 번째 코드의 경우 Job이 parent 없이 생성되고 있습니다. 즉, 기존 runBlocking 의 Job과의 구조화가 깨지기 때문에 runBlocking 코루틴이 해당 Job을 기다리지 않고 완료됩니다.즉, 해당 Job은 완료되지 않지만 runBlocking 코루틴이 완료돼 프로세스가 종료되는 것입니다.답변이 도움이 되면 좋을 것 같습니다.감사합니다.
- 1
- 1
- 31
Hỏi & Đáp
왜 runBlocking 종료로 메인스레드가 종료될까요?
비오님 안녕하세요. 지식공유자 조세영 입니다.Dispatchers.IO의 스레드는 데몬스레드이어서 그렇습니다.
- 0
- 1
- 77
Hỏi & Đáp
cancel 질문드립니다.
dkdiehdbcjsk jehdb님 안녕하세요. 해당 경우는 launch 코루틴이 메인스레드를 점유 후 양보하지 않기 때문입니다. runBlocking 코루틴에서 cancel이 실행돼야하는데 계속 대기 상태에 머물러서 그렇습니다.이에 관한 자세한 내용은 이후 강의에서 다루는 코루틴의 양보와 관련된 내용에서 배우실 수 있습니다.
- 1
- 2
- 49
Hỏi & Đáp
delay 함수 사용 시 스레드 양보
비가싫어요님 안녕하세요. 지식공유자 조세영입니다.네 맞습니다. delay는 일시중단 이후 일정 시간 이후에 재개되고 yield는 스레드 양보 후 지연 없이 재개 요청됩니다.감사합니다.
- 1
- 2
- 90
Hỏi & Đáp
강사님께서 번역해주신 코틀린 코루틴 공식 가이드 문서 문의
yunjh1008님 안녕하세요. 한국어 번역본은 다음 링크에서 확인하실 수 있습니다.https://seyoungcho2.github.io/CoroutinesKoreanTranslation/감사합니다!
- 2
- 2
- 103
Hỏi & Đáp
Flow와 Channel
Seok-woo Kim님 안녕하세요. 지식 공유자 조세영입니다.Channel과 Flow에 대한 강의도 계획에 있는데요 오픈까지 조금 시간이 걸릴 것 같습니다. 혹시 오픈하게 되면 새소식을 통해 알려드릴 수 있도록 하겠습니다!감사합니다.
- 1
- 2
- 116
Hỏi & Đáp
[코루틴 테스트 심화] runTest의 스레드 관련 문의
이 부분 설명을 변경한 강의가 업로드 되었습니다. 리포트 해주셔서 감사합니다!
- 1
- 2
- 137
Hỏi & Đáp
[코틀린 코루틴의 정석 책 추첨 이벤트] 강의 구매 기간 관련 문의
denia park님 안녕하세요. 이 이벤트는 연말, 연초에 강의를 구매하신 분들을 위해 준비되어서 부득이하게 기간 제한을 두게 되었습니다. 구매 해주신 날짜가 2024.12.19~2025.1.18 사이이신 분들이 대상인점 양해 부탁드립니다.다만, 이전 질문과 함께 날짜 오류도 리포트 해주셔서 너무 감사해서요. seyoungcho2@gmail.com 으로 연락처를 보내주시면 소정의 연말 선물을 보내드릴 수 있도록 하겠습니다. 강의를 열심히 들어주셔서 감사합니다!
- 1
- 1
- 191