Kursplan
Introduktion
Uppdatering om Kotlin Grunderna
Använda avancerade funktioner i Kotlin
- Använda kapslade funktioner för att återanvända funktionalitet i Kotlin Använda infixnotationen för att anropa funktioner i Kotlin Deklarera anonyma funktioner i Kotlin Använda den inbyggda modifieraren för effektivitet i Kotlin Implementering av returer och lokala returer när du arbetar med avancerade funktioner i [ 2] Implementera svansrekursion för optimering i Kotlin Använda operatörsöverbelastning i Kotlin Använda lambda med mottagare för att skapa begränsningar på DSL i Kotlin Anropa instanser i Kotlin Använda funktionella konstruktioner i Kotlin Funktionssammansättning Currying andra konstruktioner
Implementera fält i Kotlin Använda "lateinit"-modifieraren i Kotlin Förstå kapslade och inre klasser i Kotlin Definiera "statiska metoder" i Kotlin Använda medföljande objekt Dölja klasskonstruktörer i Kotlin Markera klasser som förseglade i [ 2] Använda typalias i Kotlin Sammanfattning av avancerade funktioner i Kotlin för klasser
- Implementerande delegation i Kotlin
Förstå konceptet med medlemsdelegering i Kotlin Delegering av medlemsfunktioner till en annan klass i Kotlin Delegering av egenskaper i Kotlin för effektiv kodåteranvändning med hjälp av inbyggda delegerade egenskaper i Kotlin Delegering av lokala egenskaper i Kotlin för kodåteranvändning Implementering av tilläggsegenskaper i klasser i Kotlin Sammanfattning av de olika aspekterna av delegering i Kotlin
- Få en djupgående förståelse för generika i Kotlin
Förstå generiska begränsningar Förstå varians och invarians i generika Använda "ut"-modifieraren för att uttrycka kovarians i generika i Kotlin Uttrycka kontravarians i Kotlin Utforska begreppet typprojektioner och stjärnprojektioner i Kotlin Sammanfattning av avancerade generika i Kotlin ]
- Metaprogrammering i Kotlin
Översikt över Reflection Använda Java Reflection med Kotlin Använda Reflection API Använda Kotlins Reflection API Hanteringstyp Radering i Kotlin Använda Reified Generics i Kotlin Definiera anpassade kommentarer i Kotlin Sammanfattning av metaprogrammering och introspektionstekniker i Kotlin
- Utför Asynkron Programming i Kotlin
Förstå problemet med asynkron programmering Implementera asynkron programmering och Coroutines i Kotlin Implementera Async and Await i Kotlin Använda Coroutines Implementera avkastning i Kotlin Förstå fördelarna med Coroutines över Reactive Extensions Sammanfattning av Coroutines i Kotlin
- Sammanfattning och slutsats
Krav
- En förståelse för grunderna i Kotlin
Publik
- Utvecklare som är intresserade av att få en djupare kunskap om Kotlin programmering
Vittnesmål (7)
Kursens intensitet, täckning av ämnen. Komplicerade ämnen förklaras på en bra nivå, så även om det finns några vita fläckar kvar i dem (som DSL) -- kommer det inte att vara svårt att fortsätta själv eftersom jag redan har en gemensam förståelse för grunden och åtminstone vet hur jag ska forma mina frågor till Google.
Alexey Baryshnev - C.T.Co SIA
Kurs - Advanced Kotlin Programming
Machine Translated
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
Kurs - 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
Kurs - Advanced Kotlin Programming
live communication and good answers to questions
Alexander Semyonov - C.T.Co SIA
Kurs - Advanced Kotlin Programming
Execute exercises in mode online, it is cool. Fast answer about additional questions
Oleg Sushik - C.T.Co SIA
Kurs - Advanced Kotlin Programming
Positive approach
Arseniy - C.T.Co SIA
Kurs - 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.