Đề cương khóa học
Giới thiệu
Ôn tập các kiến thức cơ bản về Kotlin
Sử dụng các chức năng nâng cao trong Kotlin
- Sử dụng các hàm lồng nhau để tái sử dụng chức năng trong Kotlin
- Sử dụng ký hiệu hậu tố (infix notation) để gọi hàm trong Kotlin
- Khai báo các hàm ẩn danh trong Kotlin
- Sử dụng bộ sửa đổi inline để tăng hiệu suất trong Kotlin
- Triển khai trả về (returns) và trả về cục bộ (local returns) khi làm việc với các hàm nâng cao trong Kotlin
- Triển khai đệ quy đuôi (tail recursion) để tối ưu hóa trong Kotlin
- Sử dụng overloading toán tử trong Kotlin
- Sử dụng lambdas với receivers để tạo các ràng buộc cho DSL trong Kotlin
- Gọi các instances trong Kotlin
- Sử dụng các cấu trúc hàm (functional constructs) trong Kotlin
- Composition hàm
- Currying
- Các cấu trúc khác
- Tóm tắt các khía cạnh chức năng nâng cao của Kotlin
Khám phá các kịch bản lớp (class scenarios) trong Kotlin
- Triển khai các trường (fields) trong Kotlin
- Sử dụng bộ sửa đổi "lateinit" trong Kotlin
- Hiểu các lớp lồng nhau (nested classes) và lớp bên trong (inner classes) trong Kotlin
- Định nghĩa "phương thức tĩnh" (static methods) trong Kotlin bằng cách sử dụng Companion Objects
- Ẩn các constructor của lớp trong Kotlin
- Đánh dấu các lớp là sealed trong Kotlin
- Sử dụng type aliases trong Kotlin
- Tóm tắt các tính năng nâng cao của Kotlin cho các lớp
Triển khai delegation trong Kotlin
- Hiểu khái niệm về member delegation trong Kotlin
- Delegating các hàm member cho một lớp khác trong Kotlin
- Delegating các thuộc tính (properties) trong Kotlin để tăng hiệu quả tái sử dụng mã
- Sử dụng các delegated properties tích hợp trong Kotlin
- Delegating các thuộc tính cục bộ (local properties) trong Kotlin để tái sử dụng mã
- Triển khai extension properties trong các lớp trong Kotlin
- Tóm tắt các khía cạnh khác nhau của delegation trong Kotlin
Nắm vững kiến thức sâu rộng về Generics trong Kotlin
- Hiểu các ràng buộc generics
- Hiểu variance và invariance trong generics
- Sử dụng bộ sửa đổi "out" để Express covariance trong generics trong Kotlin
- Expressing contravariance trong Kotlin
- Khám phá khái niệm về type projections và star projections trong Kotlin
- Tóm tắt generics nâng cao trong Kotlin
Metaprogramming trong Kotlin
- Tổng quan về Reflection
- Sử dụng Java Reflection với Kotlin bằng cách sử dụng Reflection API
- Sử dụng Reflection API của Kotlin
- Xử lý type erasure trong Kotlin
- Sử dụng reified generics trong Kotlin
- Định nghĩa custom annotations trong Kotlin
- Tóm tắt metaprogramming và các kỹ thuật introspections trong Kotlin
Thực hiện Asynchronous Programming trong Kotlin
- Hiểu vấn đề về Asynchronous Programming
- Triển khai Asynchronous Programming và Coroutines trong Kotlin
- Triển khai Async và Await trong Kotlin bằng cách sử dụng Coroutines
- Triển khai Yield trong Kotlin
- Hiểu ưu điểm của Coroutines so với Reactive Extensions
- Tóm tắt Coroutines trong Kotlin
Tóm tắt và Kết luận
Requirements
- Hiểu biết về các nguyên tắc cơ bản của Kotlin
Đối tượng
- Các nhà phát triển quan tâm đến việc nâng cao kiến thức về lập trình Kotlin
Testimonials (7)
Intensity of a course, coverage of topics. Complicated topics are explained on a good level, so even though there are some white spots left in of them (like DSL) -- it won't be hard to go on by myself as I already have a common understanding of basis and at least know how to form my questions to Google.
Alexey Baryshnev - C.T.Co SIA
Course - Advanced Kotlin Programming
A format - lot of new info, but it felt pretty understandable and comfortable to learn, most of it I managed to remember and use when necessary at the next topics.
Alina Karpovich - C.T.Co SIA
Course - Advanced Kotlin Programming
Trainer competence, wide subject knowledge. I have learned a lot new stuff, received valuable comments and answers to my questions.
Ilya Ginter - C.T.Co SIA
Course - Advanced Kotlin Programming
live communication and good answers to questions
Alexander Semyonov - C.T.Co SIA
Course - Advanced Kotlin Programming
Execute exercises in mode online, it is cool. Fast answer about additional questions
Oleg Sushik - C.T.Co SIA
Course - Advanced Kotlin Programming
Positive approach
Arseniy - C.T.Co SIA
Course - Advanced Kotlin Programming
I liked exercises and questions where we should think like a compiler. Sometimes it feels like you understand topic we are discussing and with exercise we could make sure not only that we feel that way but really understood. In case exercise was difficult for someone, solution was provided by clear steps what and why we do to make this working. Also by going further with these exercises it was really nice that we looked at previous ones understanding how we can improve something that was already done by one solution.