Programa do Curso
Introdução
Atualização sobre Kotlin Noções básicas
Usando funções avançadas em Kotlin
- Usando funções aninhadas para reutilizar funcionalidade em Kotlin Usando a notação infixa para chamar funções em Kotlin Declarando funções anônimas em Kotlin Usando o modificador inline para eficiência em Kotlin Implementando retornos e retornos locais ao trabalhar com funções avançadas em [ 2] Implementando recursão final para otimização em Kotlin Usando sobrecarga de operador em Kotlin Usando Lambdas com receptores para criar restrições em DSLs em Kotlin Invocando instâncias em Kotlin Usando construções funcionais em Kotlin Composição de funções Currying outras construções
Implementando campos em Kotlin Usando o modificador "lateinit" em Kotlin Compreendendo classes aninhadas e internas em Kotlin Definindo "métodos estáticos" em Kotlin Usando objetos complementares Ocultando construtores de classe em Kotlin Marcando classes como seladas em [ 2] Usando aliases de tipo em Kotlin Resumo dos recursos avançados de Kotlin para classes
- Implementando Delegação em Kotlin
Compreendendo o conceito de delegação de membros em Kotlin Delegando funções de membro para outra classe em Kotlin Delegando propriedades em Kotlin para eficiência de reutilização de código Usando propriedades delegadas integradas em Kotlin Delegando propriedades locais em Kotlin para reutilização de código Implementando propriedades de extensão em classes em Kotlin Resumo dos diferentes aspectos da delegação em Kotlin
- Obtendo uma compreensão aprofundada dos genéricos em Kotlin
Compreendendo as restrições genéricas Compreendendo a variância e a invariância em genéricos Usando o modificador "out" para expressar covariância em genéricos em Kotlin Expressando contravariância em Kotlin Explorando o conceito de projeções de tipo e projeções em estrela em Kotlin Resumo de genéricos avançados em Kotlin ]
- Metaprogramação em Kotlin
Visão geral do Reflection usando Java Reflection com Kotlin Usando a API Reflection Usando o apagamento de tipo de manipulação da API Reflection do Kotlin em Kotlin Usando genéricos reificados em Kotlin Definindo anotações personalizadas em Kotlin Resumo de técnicas de metaprogramação e introspecção em Kotlin
- Executando Assíncrono Programming em Kotlin
Compreendendo o problema da programação assíncrona Implementando programação assíncrona e corrotinas em Kotlin Implementando Async e Await em Kotlin Usando corrotinas Implementando rendimento em Kotlin Compreendendo as vantagens das corrotinas sobre React cinco extensões Resumo de corrotinas em Kotlin
- Resumo e conclusão
Requisitos
- Compreensão dos fundamentos da Kotlin
Público
- Desenvolvedores interessados em adquirir um conhecimento mais profundo da programação Kotlin
Declaração de Clientes (7)
Intensidade do curso, cobertura dos tópicos. Os tópicos complicados são explicados a um bom nível, por isso, mesmo que haja alguns pontos em branco (como a DSL), não será difícil continuar sozinho, uma vez que já tenho uma compreensão comum da base e, pelo menos, sei como formular as minhas perguntas ao Google.
Alexey Baryshnev - C.T.Co SIA
Curso - Advanced Kotlin Programming
Máquina Traduzida
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
Curso - 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
Curso - Advanced Kotlin Programming
live communication and good answers to questions
Alexander Semyonov - C.T.Co SIA
Curso - Advanced Kotlin Programming
Execute exercises in mode online, it is cool. Fast answer about additional questions
Oleg Sushik - C.T.Co SIA
Curso - Advanced Kotlin Programming
Positive approach
Arseniy - C.T.Co SIA
Curso - 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.