Cursos que formaram meu caráter: Desenvolvimento web com Quarkus - Talk is cheap show me the code
Tags: quarkus, udemy
Published: 2022-12-12 06:20:41

---
title: Cursos que formaram meu caráter: Desenvolvimento web com Quarkus - Talk is cheap show me the code
published: true
description: O que aprendi com cursos realizados e como apliquei outras técnicas conhecidas para evoluí-los
tags: quarkus, udemy
cover_image: https://dev-to-uploads.s3.amazonaws.com/uploads/articles/m8uazy3rfnxc4ha6mn6r.jpg
# published_at: 2022-12-12 02:36 +0000
---

> O preguiçoso muito quer e nada alcança. [Provérbios 13:4a]

Preciso confessar um problema que tenho: Acumulação de coisas digitais!

O advento da era em que estamos nos proporcionou uma série de benefícios, como a disponibilidade de informações e conteúdos a "um clique de distância".

A [Udemy](https://www.udemy.com), por exemplo, é uma plataforma de ensino que permite o aprendizado de diversas ferramentas, frameworks, metodologias, dentre outras coisas. O que percebi dos meus estudos com ela, no entanto, é que eu não terminei 10% dos cursos que tenho. Muitas das vezes acabava com preguiça de finalizar um curso dado a máxima do término de projetos:

![Término de projetos](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/wce1fy9sicape8fxa7mw.jpg)

Visando melhorar esses números, resolvi realizar os cursos e escrever insights dos mesmos, exercitando hard skills, bem como a escrita em português, inglês e espanhol.

O curso que resolvi começar foi o curso [Desenvolvimento web com Quarkus](https://www.udemy.com/course/des-web-quarkus) do [Vínicius Ferraz Campos Florentino](https://dev.to/viniciusfcf).

O código do curso do Vinícius se encontra no seu GitHub.

{% embed https://github.com/viniciusfcf/udemy-quarkus %}

O código que irei apresentar se encontra no meu GitLab. Em um dos tópicos adiante explicarei a motivação da escolha do GitLab para versionamento de código.

{% embed https://gitlab.com/arthurfnsc-udemy/desenvolvimento-web-quarkus/ifood/ %}

---

## Motivação

Meu objetivo ao realizar o curso foi aplicar algumas alterações em sua estrutura e arquitetura, visando consolidar outros conhecimentos e técnicas que utilizo em projetos com Java e Kotlin na [ília Digital](https://ilia.digital/).

**Importante ressaltar que o que escreverei aqui não substitui o curso do Vinícius, nem tão pouco que o código apresentado no curso não alcançou seu objetivo de ensinar os alunos.**

Vários pontos referentes ao [Quarkus](quarkus.io/) são detalhados no curso do Vinícius, e não será foco desses artigos a explicação deles, como por exemplo: [Flyway](https://flywaydb.org/), [Grafana](https://grafana.com/), [Keycloak](https://www.keycloak.org/), dentre outros.

Algumas das alterações, por exemplo, foram de evolução de versão de bibliotecas já que a última atualização do curso se deu em Outubro de 2020. Outras foram apenas escolhas arquiteturais minhas, como o conceito de API First com [OpenAPI Generator](https://github.com/OpenAPITools/openapi-generator) e a utilização de [Gradle](https://gradle.org/) ao invés de [Maven](https://maven.apache.org/) que em nada desmerecem a solução utilizada pelo Vinícius. Para cada uma dessas escolhas mostrarei as vantagens e desvantagens.

Sendo assim, recomendo a todos a realização do [curso](https://www.udemy.com/course/des-web-quarkus) caso queiram uma visão sobre o Quarkus, bem como seguirem o [canal do YouTube do Vinícius](https://www.youtube.com/@ViniciusFerraz) para mais novidades sobre o framework. Um dos últimos vídeos dele sobre [Apache Camel](https://camel.apache.org/) está na minha lista de vídeos para ver.

{% embed https://www.youtube.com/watch?v=om-FmStZBPo %}

Isso me lembrou um post do [Mário Rezende](https://dev.to/mariorez) no Linkedin, e para variar que também tenho três cursos da Udemy de Camel que ainda não fiz ahahahahahahahahahahahah.

{% embed https://www.linkedin.com/posts/mariorez_apachecamel-java-activity-6983878843723886592-F7Ue %}

Ainda estou terminando o curso do Vinícius, mas já posso adiantar alguns tópicos que irei abordar. Sendo assim, te aguardo nos próximos posts.

---

Esse post faz parte de uma série sobre **Cursos que formaram meu caráter: Desenvolvimento web com Quarkus**.

A série completa é:

* Talk is cheap show me the code
* [Utilizando Gradle ao invés de Maven](https://dev.to/arthurfnsc/cursos-que-formaram-meu-carater-utilizando-gradle-ao-inves-de-maven-1lcn)
* [Plugins do Gradle: Gerenciador de versões de bibliotecas com Versions](https://dev.to/arthurfnsc/cursos-que-formaram-meu-carater-desenvolvimento-web-com-quarkus-gerenciador-de-versoes-de-bibliotecas-com-versions-9na)
* [Plugins do Gradle: Saudades do  Maven, relatórios com Project-report](https://dev.to/arthurfnsc/cursos-que-formaram-meu-carater-desenvolvimento-web-com-quarkus-saudades-do-maven-relatorios-com-project-report-51d6)
* [Plugins do Gradle: API First com o OpenAPI Generator](https://dev.to/arthurfnsc/cursos-que-formaram-meu-carater-desenvolvimento-web-com-quarkus-api-first-com-o-openapi-generator-42pm)
* [Plugins do Gradle: API First com o OpenAPI Generator para APIs reativas](https://dev.to/arthurfnsc/cursos-que-formaram-meu-carater-desenvolvimento-web-com-quarkus-api-first-com-o-openapi-generator-para-apis-reativas-3o9b)
* [Plugins do Gradle: Validação de vulnerabilidades de dependências com OWASP Dependency Check](https://dev.to/arthurfnsc/cursos-que-formaram-meu-carater-desenvolvimento-web-com-quarkus-validacao-de-vulnerabilidades-com-owasp-dependency-check-2a2l)
* Plugins do Gradle: Lint com Spotless [não publicado]
* GitLab: Motivação para a escolha [não publicado]
* GitLab: Considerações sobre o Prettier em pipelines [não publicado]
* Gitmoji [não publicado]
* SDK Man [não publicado]
* Pré commit hook [não publicado]
* application.yml: Utilizando YML em propriedades de aplicação [não publicado]
* application.yml: Utilizando variáveis de ambiente [não publicado]
* application.yml: Sobrescrevendo opções em teste [não publicado]
* Mapstruct: Utilizando expressões para mapeamentos [não publicado]
* Microprofile SecurityScheme: Sobrescrevendo tokenUrl [não publicado]
* Prometheus: O problema simples que me custou algumas horas [não publicado]
* quarkus-hibernate-reactive-panache: Utilizando as vantagens do Hibernate em projetos reativos [não publicado]
* Testcontainers: Configuração para projetos reativos [não publicado]