Skip to content

Commit

Permalink
Tech guide de Kotlin (alura#246)
Browse files Browse the repository at this point in the history
Co-authored-by: Fabrício Carraro <[email protected]>
  • Loading branch information
matosbock2 and fabriciocarraro authored Mar 4, 2024
1 parent feb2022 commit fe1a106
Show file tree
Hide file tree
Showing 13 changed files with 296 additions and 11 deletions.
22 changes: 22 additions & 0 deletions _data/cards/pt_BR/kotlin-collections.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,22 @@
name: Kotlin - Collections
logo:
short-description:
key-objectives:
- Uma coleção representa um grupo de objetos, conhecidos como seus elementos. Eles são como recipientes que agrupam vários itens em uma única unidade. Algumas coleções permitem a duplicação de elementos e outras não. Algumas são ordenadas e outras não ordenadas.
- Aprender os usos e diferenças entre List, Set e Map
- Aprender os usos e diferenças entre read only e mutable
aditional-objectives:
contents:
- type: SITE
title: "Documentação Kotlin: Visão geral das coleções (inglês)"
link: https://kotlinlang.org/docs/collections-overview.html
- type: SITE
title: "Documentação Kotlin: Coleções (inglês)"
link: https://kotlinlang.org/api/latest/jvm/stdlib/kotlin.collections/-collection/
- type: SITE
title: "Coleções em Kotlin"
link: https://www.codingame.com/playgrounds/70522/fundamentos-de-kotlin/colecoes
- type: ARTICLE
title: "Guia de coleções Kotlin (inglês)"
link: https://www.baeldung.com/kotlin/kotlin-collection-guide
alura-contents:
26 changes: 26 additions & 0 deletions _data/cards/pt_BR/kotlin-coroutines.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,26 @@
name: Kotlin - Coroutines
logo:
short-description:
key-objectives:
- A programação assíncrona ou sem bloqueio é uma parte importante do cenário de desenvolvimento. Ao criar aplicativos do lado do servidor, desktop ou dispositivos móveis, é importante fornecer uma experiência que não seja apenas fluida do ponto de vista do usuário, mas também escalável quando necessário.
aditional-objectives:
contents:
- type: SITE
title: "Documentação Kotlin: Coroutines (inglês)"
link: https://kotlinlang.org/docs/coroutines-overview.html
- type: SITE
title: "Documentação Kotlin: Coroutines guide"
link: https://kotlinlang.org/docs/coroutines-guide.html
- type: SITE
title: "Introdução a coroutines em Kotlin (inglês)"
link: https://www.baeldung.com/kotlin/coroutines
alura-contents:
- type: SITE
title: "Tratamento de erros e cancelamento de Coroutines do Kotlin"
link: https://cursos.alura.com.br/extra/alura-mais/tratamento-de-erros-e-cancelamento-de-coroutines-do-kotlin-c86
- type: SITE
title: "Websérie - Operações Assíncronas com Coroutines no Kotlin"
link: https://cursos.alura.com.br/extra/webseries-coroutines-kotlin/operacoes-assincronas-no-kotlin-1-apresentacao-w1225
- type: COURSE
title: "Kotlin: aplicações resilientes e assíncronas"
link: https://cursos.alura.com.br/course/kotlin-aplicacoes-resilientes-assincronas
11 changes: 11 additions & 0 deletions _data/cards/pt_BR/kotlin-date-serialization.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,11 @@
name: Kotlin - Date Serialization Library
logo:
short-description:
key-objectives:
- Como trabalhar com bibliotecas de data e serialização em Kotlin para manipular datas e objetos serializados.
aditional-objectives:
contents:
- type: SITE
title: "Documentação Kotlin: Serialization (inglês)"
link: https://kotlinlang.org/docs/serialization.html
alura-contents:
31 changes: 31 additions & 0 deletions _data/cards/pt_BR/kotlin-errorhandling.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,31 @@
name: Kotlin - Manipulação de erros
logo:
short-description:
key-objectives:
- O tratamento de erros refere-se aos procedimentos de resposta e recuperação de condições de erro presentes em um aplicativo de software. Em outras palavras, é o processo composto de antecipação, detecção e resolução de erros de aplicação, de programação ou de comunicação.
- Tratar exceções pré-definidas
- Uso de 'try' e 'catch'
- Criar exceções específicas
- Fazer o processo de Debug
aditional-objectives:
contents:
- type: SITE
title: "Documentação Kotlin: Exceções (inglês)"
link: https://kotlinlang.org/docs/exceptions.html
- type: ARTICLE
title: "Documentação Kotlin: Kotlin try catch (inglês)"
link: https://www.javatpoint.com/kotlin-try-catch
- type: ARTICLE
title: "Tratamento de exceções em Kotlin (inglês)"
link: https://www.baeldung.com/kotlin/exception-handling
- type: ARTICLE
title: "Diferença entre runCatching e try/finally em Kotlin (inglês)"
link: https://www.baeldung.com/kotlin/runcatching-vs-try-finally
- type: ARTICLE
title: "Tratamento de exceções em Kotlin com exemplos"
link: https://acervolima.com/tratamento-de-excecoes-em-kotlin-com-exemplos/





11 changes: 11 additions & 0 deletions _data/cards/pt_BR/kotlin-extensions.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,11 @@
name: Kotlin - Extensões
logo:
short-description:
key-objectives:
- Como criar e usar extensões simples para melhorar a compreensão dos fundamentos da linguagem.
aditional-objectives:
contents:
- type: SITE
title: "Documentação Kotlin: Extensions (inglês)"
link: https://kotlinlang.org/docs/extensions.html
alura-contents:
26 changes: 15 additions & 11 deletions _data/cards/pt_BR/kotlin-fundamentals.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -14,38 +14,42 @@ key-objectives:
- Exceptions e Throwables
- Convenções de código
- Manipular Coleções, arrays e listas
- Recursos do Paradigma funcional
- Orientação a Objetos com Kotlin (Properties, Data class, Companion Objects, Delegation)
- Receber dados de uma API
aditional-objectives:
contents:
- type: SITE
title: "Documentação Kotlin: Começando com Kotlin (inglês)"
title: "Documentação Kotlin: começando com Kotlin (inglês)"
link: https://kotlinlang.org/docs/getting-started.html
- type: SITE
title: "Documentação Kotlin: Tipos Básicos e Kotlin (inglês)"
link: https://kotlinlang.org/docs/basic-types.html
link: https://kotlinlang.org/docs/basic-types.html
- type: SITE
title: "Documentação Kotlin: Sintaxe básica do Kotlin(inglês)"
link: https://kotlinlang.org/docs/basic-syntax.html
link: https://kotlinlang.org/docs/basic-syntax.html
- type: SITE
title: "Documentação Kotlin: Convenções de código do Kotlin (inglês)"
link: https://kotlinlang.org/docs/coding-conventions.html
link: https://kotlinlang.org/docs/coding-conventions.html
- type: SITE
title: "Explorando a documentação: Números em Kotlin"
link: https://dev.to/kotlinautas/explorando-a-documentacao-numeros-em-kotlin-15go
- type: ARTICLE
title: "Kotlin - Variáveis e Nullable"
link: https://medium.com/luizalabs/kotlin-vari%C3%A1veis-e-nullable-8dd977bc376d
link: https://medium.com/luizalabs/kotlin-vari%C3%A1veis-e-nullable-8dd977bc376
- type: YOUTUBE
title: "Kotlin // Dicionário do Programador"
link: https://youtu.be/BfjRYBN7Ur8
alura-contents:
- type: YOUTUBE
title: "Desenvolvimento de apps mobile com Kotlin | Hipsters.Talks"
link: https://www.youtube.com/watch?v=TKYDpbO5KcI&ab_channel=AluraCursosOnline
- type: ARTICLE
title: "Linguagem Kotlin: o que é, para que serve e um Guia para aprender"
link: https://www.alura.com.br/artigos/kotlin
- type: PODCAST
title: "Case Contabilizei: Kotlin - Hipsters Ponto Tech #310"
title: "Case Contabilizei: Kotlin - Hipsters Ponto Tech"
link: https://www.hipsters.tech/case-contabilizei-kotlin-hipsters-ponto-tech-310/
- type: COURSE
title: "Formação Linguagem Kotlin"
title: "Formação Kotlin"
link: https://cursos.alura.com.br/formacao-kotlin
- type: CHALLENGE
title: "7 Days of Code: Kotlin"
link: https://7daysofcode.io/matricula/kotlin

11 changes: 11 additions & 0 deletions _data/cards/pt_BR/kotlin-kdoc.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,11 @@
name: KDoc
logo:
short-description:
key-objectives:
- Mostrar a documentação KDoc e como escrever documentação de código em Kotlin.
aditional-objectives:
contents:
- type: SITE
title: "Documentação Kotlin: Document Kotlin code: KDoc (inglês)"
link: https://kotlinlang.org/docs/kotlin-doc.html
alura-contents:
20 changes: 20 additions & 0 deletions _data/cards/pt_BR/kotlin-memory-management.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,20 @@
name: Kotlin - Gerenciamento de memória
logo:
short-description:
key-objectives:
- O gerenciamento de memória é o processo de alocação e desalocação de objetos, chamado de gerenciamento de memória. Kotlin faz o gerenciamento de memória automaticamente. Kotlin usa um sistema de gerenciamento automático de memória chamado de Garbage Collector (coletor de lixo). Assim, não somos obrigados a implementar a lógica de gerenciamento de memória em nossa aplicação.
- Entender como funciona a memória e seu gerenciamento em Kotlin
- Entender como funciona a memória o Garbage Collector
aditional-objectives:
contents:
- type: SITE
title: "Documentação Kotlin: Gerenciamento de memória nativa no Kotln (inglês)"
link: https://kotlinlang.org/docs/native-memory-manager.html
- type: ARTICLE
title: "Gerenciamento de Memória em Kotlin: Compreendendo o Garbage Collection"
link: https://www.linkedin.com/pulse/gerenciamento-de-mem%C3%B3ria-em-kotlin-compreendendo-o-de-oliveira/?originalSubdomain=pt
- type: YOUTUBE
title: "Dias de Dev: Estratégias de gestão de memória - O que é Garbage Collector"
link: https://www.youtube.com/watch?v=SZqp3_Mw9zk
alura-contents:

13 changes: 13 additions & 0 deletions _data/cards/pt_BR/kotlin-multiplatform.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,13 @@
name: Kotlin - Multiplatform
logo:
short-description:
key-objectives:
- Como o Kotlin pode ser usado em várias plataformas, como JVM, JavaScript e código nativo.
aditional-objectives:
contents:
- type: SITE
title: "Documentação Kotlin: Kotlin Multiplataforma (inglês)"
link: https://kotlinlang.org/docs/multiplatform.html
alura-contents:


11 changes: 11 additions & 0 deletions _data/cards/pt_BR/kotlin-scope-functions.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,11 @@
name: Kotlin - Scope Functions
logo:
short-description:
key-objectives:
- Funções de escopo (let, run, with, apply, also) e como elas podem ser usadas para simplificar o código e melhorar a legibilidade.
aditional-objectives:
contents:
- type: SITE
title: "Documentação Kotlin: Scope functions"
link: https://kotlinlang.org/docs/scope-functions.html
alura-contents:
37 changes: 37 additions & 0 deletions _data/cards/pt_BR/kotlin-spring-boot.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,37 @@
name: Spring Boot
logo:
short-description:
key-objectives:
- O Spring Boot é um framework de código aberto baseado em Java usado para criar microserviços com o Spring Framework. Ele é usado para construir aplicações Spring independentes e prontas para produção.
- Criar aplicações Spring standalone
- Usar os servidores HTTP embutidos
aditional-objectives:
contents:
- type: SITE
title: "Documentação Spring Boot (inglês)"
link: https://spring.io/projects/spring-boot
- type: ARTICLE
title: "EngDB: Como o Spring Boot está ajudando os desenvolvedores?"
link: https://blog.engdb.com.br/spring-boot/
- type: ARTICLE
title: "Porque você deve usar Spring Boot"
link: https://medium.com/@duduxss3/porque-voc%C3%AA-deve-usar-spring-boot-a22f75da0955
- type: ARTICLE
title: "Resumo Curso Spring Boot API REST: Construa uma API - Alura"
link: https://www.linkedin.com/pulse/resumo-curso-spring-boot-api-rest-construa-uma-alura-maikel-souza-1f/?trk=articles_directory&originalSubdomain=pt
- type: YOUTUBE
title: "Michelli Brito: Iniciando uma aplicação Spring Boot"
link: https://www.youtube.com/watch?v=OHn1jLHGptw
- type: YOUTUBE
title: "Michelli Brito: API REST com Spring Boot"
link: https://www.youtube.com/watch?v=bpBRFNKg8k4&list=PL8iIphQOyG-D2FP9wkg12AavzmVRWEcnJ
- type: YOUTUBE
title: "Dev Multitask: 5 coisas para saber de Spring ANTES de cair no Spring Boot!"
link: https://youtu.be/4pj1EPgacg8
alura-contents:
- type: YOUTUBE
title: "Alura: Criando um projeto com Spring Boot em 5 minutos"
link: https://www.youtube.com/watch?v=-U9QpXcCh10
- type: COURSE
title: "Formação Kotlin e Spring Boot"
link: https://cursos.alura.com.br/formacao-kotlin-spring-boot
14 changes: 14 additions & 0 deletions _data/cards/pt_BR/kotlin-type-safe-builders.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,14 @@
name: Kotlin - Type Safe Builders
logo:
short-description:
key-objectives:
- Criar construtores type-safe usando recursos avançados de Kotlin, para construir DSLs (Domain-Specific Languages) personalizadas.
aditional-objectives:
contents:
- type: SITE
title: "Documentação Kotlin: Type-safe builders (inglês)"
link: https://kotlinlang.org/docs/type-safe-builders.html
- type: SITE
title: "Medium: Type-Safe Builders in Kotlin: The Secret Sauce of Happy Developers"
link: https://adventures92.medium.com/type-safe-builders-in-kotlin-the-secret-sauce-of-happy-developers-8ad077acbf51
alura-contents:
74 changes: 74 additions & 0 deletions _data/guides/pt_BR/kotlin-backend.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,74 @@
name: Kotlin
tags:
- back-end
expertise:
- name: Kotlin Back-end Jr
cards:
- kotlin-fundamentals:
priority: 10
- oop-concepts:
priority: 10
- data-structures:
priority: 9
- kotlin-errorhandling:
priority: 9
- kotlin-collections:
priority: 8
- kotlin-extensions:
priority: 8
- java-functional-programming:
priority: 7
- name: Kotlin Back-end Mid
cards:
- jvm:
priority: 9
- kotlin-memory-management:
priority: 9
- spring-framework:
priority: 9
- kotlin-spring-boot:
priority: 8
- kotlin-coroutines:
priority: 8
- kotlin-multiplatform:
priority: 8
- name: Kotlin in depth
cards:
- java-microservices:
priority: 7
- containers:
priority: 6
- kotlin-type-safe-builders:
priority: 5
- kotlin-scope-functions:
priority: 5
- kotlin-date-serialization:
priority: 5
- kotlin-kdoc:
priority: 4
collaboration:
- name: Infraestrutura
cards:
- git-and-github-fundamentals:
priority: 9
- http-fundamentals:
priority: 10
- test-driven-development:
priority: 7
- design-patterns:
priority: 6
- json:
priority: 8
- command-line-fundamentals:
priority: 8
- cloud-fundamentals:
priority: 6
optional: true
- name: Front-end
cards:
- html-fundamentals:
priority: 6
- javascript-fundamentals:
priority: 5
- css-fundamentals:
priority: 4

0 comments on commit fe1a106

Please sign in to comment.