<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:dc="http://purl.org/dc/elements/1.1/">
  <channel>
    <title>Forem: Franciele B. de Oliveira</title>
    <description>The latest articles on Forem by Franciele B. de Oliveira (@franolv).</description>
    <link>https://forem.com/franolv</link>
    <image>
      <url>https://media2.dev.to/dynamic/image/width=90,height=90,fit=cover,gravity=auto,format=auto/https:%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Fuser%2Fprofile_image%2F383645%2F31da554d-7857-4f8e-9a9f-35f93c19826c.jpeg</url>
      <title>Forem: Franciele B. de Oliveira</title>
      <link>https://forem.com/franolv</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://forem.com/feed/franolv"/>
    <language>en</language>
    <item>
      <title>Pipeline de Dados x Pipeline ETL</title>
      <dc:creator>Franciele B. de Oliveira</dc:creator>
      <pubDate>Sun, 25 Jan 2026 22:05:20 +0000</pubDate>
      <link>https://forem.com/franolv/pipeline-de-dados-x-pipeline-etl-47ep</link>
      <guid>https://forem.com/franolv/pipeline-de-dados-x-pipeline-etl-47ep</guid>
      <description>&lt;p&gt;Durante minha atuação como engenheira de dados, tive contato direto com pipelines reais, problemas de escala, qualidade e integração entre sistemas.&lt;br&gt;
Recentemente, comecei o curso Fundamentos de Engenharia de Dados, da Data Science Academy, para consolidar teoricamente o que já havia vivenciado na prática — e tem sido uma experiência excelente.&lt;/p&gt;

&lt;p&gt;Um dos pontos que mais clarearam para mim foi a diferença entre pipeline ETL e pipeline de dados, termos que muitas vezes são usados como sinônimos, mas não são.&lt;/p&gt;

&lt;p&gt;🔹 ETL é parte do pipeline de dados&lt;/p&gt;

&lt;p&gt;Todo pipeline de ETL é, sim, um pipeline de dados — mas o inverso não é verdade.&lt;/p&gt;

&lt;p&gt;O ETL (Extract, Transform, Load) representa apenas uma etapa específica dentro de um pipeline maior, focada em:&lt;/p&gt;

&lt;p&gt;Extrair dados de uma ou mais fontes&lt;br&gt;
Transformá-los (limpeza, padronização, agregações)&lt;br&gt;
Carregá-los em um destino&lt;/p&gt;

&lt;p&gt;Quando o termo ETL foi cunhado, o cenário era bem mais simples:&lt;br&gt;
📍 fontes limitadas&lt;br&gt;
📍 destino quase exclusivo: Data Warehouses&lt;/p&gt;

&lt;p&gt;🔹 Pipeline de dados é um ecossistema&lt;br&gt;
Hoje, um pipeline de dados moderno vai muito além do ETL. Ele engloba todo o ciclo de vida dos dados, incluindo etapas como:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Ingestão batch e streaming&lt;/li&gt;
&lt;li&gt;Orquestração e automação&lt;/li&gt;
&lt;li&gt;CI/CD de pipelines&lt;/li&gt;
&lt;li&gt;Segurança, controle de acesso e compliance&lt;/li&gt;
&lt;li&gt;Enriquecimento de dados&lt;/li&gt;
&lt;li&gt;Governança, metadados e catálogo&lt;/li&gt;
&lt;li&gt;Linhagem e qualidade dos dados&lt;/li&gt;
&lt;li&gt;Monitoramento e observabilidade&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Além disso, tanto as fontes quanto os destinos se diversificaram:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;APIs, eventos, IoT, logs&lt;/li&gt;
&lt;li&gt;Data Lakes, Lakehouses&lt;/li&gt;
&lt;li&gt;Sistemas analíticos e operacionais&lt;/li&gt;
&lt;li&gt;Aplicações orientadas a dados&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;💡 Conclusão&lt;br&gt;
Pensar apenas em ETL é pensar de forma restrita.&lt;br&gt;
Pensar em pipeline de dados é pensar em arquitetura, governança, confiabilidade e escalabilidade.&lt;/p&gt;

&lt;p&gt;Esse entendimento muda a forma como projetamos soluções e como enxergamos o papel da engenharia de dados hoje.&lt;/p&gt;

</description>
      <category>etl</category>
      <category>pipeline</category>
      <category>database</category>
      <category>dataengineering</category>
    </item>
    <item>
      <title>“Adeus ‘funciona na minha máquina’: Spring Boot com PostgreSQL usando Docker”</title>
      <dc:creator>Franciele B. de Oliveira</dc:creator>
      <pubDate>Fri, 16 Jan 2026 12:07:33 +0000</pubDate>
      <link>https://forem.com/franolv/adeus-funciona-na-minha-maquina-spring-boot-com-postgresql-usando-docker-4koj</link>
      <guid>https://forem.com/franolv/adeus-funciona-na-minha-maquina-spring-boot-com-postgresql-usando-docker-4koj</guid>
      <description>&lt;h2&gt;
  
  
  Introdução
&lt;/h2&gt;

&lt;p&gt;Quando comecei a estudar &lt;strong&gt;containerização de aplicações Java&lt;/strong&gt;, uma coisa ficou muito clara:&lt;br&gt;&lt;br&gt;
o maior ganho não é apenas empacotar aplicações, mas &lt;strong&gt;transformar o ambiente inteiro em código&lt;/strong&gt;.&lt;/p&gt;

&lt;p&gt;Neste artigo, vou mostrar como &lt;strong&gt;dois arquivos&lt;/strong&gt; são suficientes para subir uma aplicação &lt;strong&gt;Spring Boot + PostgreSQL&lt;/strong&gt;, sem precisar instalar Java, banco de dados ou servidor de aplicação localmente.&lt;/p&gt;
&lt;h2&gt;
  
  
  Tudo o que você precisa é &lt;strong&gt;Docker ou Podman&lt;/strong&gt;.
&lt;/h2&gt;
&lt;h2&gt;
  
  
  O problema clássico no desenvolvimento backend
&lt;/h2&gt;

&lt;p&gt;Quem trabalha com backend já enfrentou pelo menos um desses cenários:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;“Funciona na minha máquina”&lt;/li&gt;
&lt;li&gt;Versões diferentes de Java entre ambientes&lt;/li&gt;
&lt;li&gt;Banco configurado manualmente&lt;/li&gt;
&lt;li&gt;Setup longo para novos membros do time&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;A containerização resolve exatamente isso:&lt;br&gt;&lt;br&gt;
&lt;strong&gt;o ambiente passa a ser reproduzível e versionável&lt;/strong&gt;.&lt;/p&gt;


&lt;h2&gt;
  
  
  Exemplo prático: Spring Boot + PostgreSQL
&lt;/h2&gt;
&lt;h3&gt;
  
  
  Dockerfile da aplicação Spring Boot
&lt;/h3&gt;

&lt;p&gt;O &lt;code&gt;Dockerfile&lt;/code&gt; define &lt;strong&gt;como a aplicação Java será executada&lt;/strong&gt;:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight docker"&gt;&lt;code&gt;&lt;span class="k"&gt;FROM&lt;/span&gt;&lt;span class="s"&gt; eclipse-temurin:17-jdk&lt;/span&gt;
&lt;span class="k"&gt;WORKDIR&lt;/span&gt;&lt;span class="s"&gt; /app&lt;/span&gt;
&lt;span class="k"&gt;COPY&lt;/span&gt;&lt;span class="s"&gt; target/app.jar app.jar&lt;/span&gt;
&lt;span class="k"&gt;ENTRYPOINT&lt;/span&gt;&lt;span class="s"&gt; ["java","-jar","app.jar"]&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;O código está dizendo:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Qual versão do Java usar
&lt;/li&gt;
&lt;li&gt;Onde a aplicação ficará dentro do container
&lt;/li&gt;
&lt;li&gt;Como ela será iniciada
&lt;/li&gt;
&lt;/ul&gt;

&lt;h3&gt;
  
  
  docker-compose.yml
&lt;/h3&gt;

&lt;p&gt;Agora descrevemos &lt;strong&gt;toda a infraestrutura local&lt;/strong&gt;:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight yaml"&gt;&lt;code&gt;&lt;span class="na"&gt;version&lt;/span&gt;&lt;span class="pi"&gt;:&lt;/span&gt; &lt;span class="s2"&gt;"&lt;/span&gt;&lt;span class="s"&gt;3.8"&lt;/span&gt;

&lt;span class="na"&gt;services&lt;/span&gt;&lt;span class="pi"&gt;:&lt;/span&gt;
  &lt;span class="na"&gt;db&lt;/span&gt;&lt;span class="pi"&gt;:&lt;/span&gt;
    &lt;span class="na"&gt;image&lt;/span&gt;&lt;span class="pi"&gt;:&lt;/span&gt; &lt;span class="s"&gt;postgres:15&lt;/span&gt;
    &lt;span class="na"&gt;environment&lt;/span&gt;&lt;span class="pi"&gt;:&lt;/span&gt;
      &lt;span class="na"&gt;POSTGRES_DB&lt;/span&gt;&lt;span class="pi"&gt;:&lt;/span&gt; &lt;span class="s"&gt;appdb&lt;/span&gt;
      &lt;span class="na"&gt;POSTGRES_USER&lt;/span&gt;&lt;span class="pi"&gt;:&lt;/span&gt; &lt;span class="s"&gt;user&lt;/span&gt;
      &lt;span class="na"&gt;POSTGRES_PASSWORD&lt;/span&gt;&lt;span class="pi"&gt;:&lt;/span&gt; &lt;span class="s"&gt;pass&lt;/span&gt;
    &lt;span class="na"&gt;ports&lt;/span&gt;&lt;span class="pi"&gt;:&lt;/span&gt;
      &lt;span class="pi"&gt;-&lt;/span&gt; &lt;span class="s2"&gt;"&lt;/span&gt;&lt;span class="s"&gt;5432:5432"&lt;/span&gt;

  &lt;span class="na"&gt;app&lt;/span&gt;&lt;span class="pi"&gt;:&lt;/span&gt;
    &lt;span class="na"&gt;build&lt;/span&gt;&lt;span class="pi"&gt;:&lt;/span&gt; &lt;span class="s"&gt;.&lt;/span&gt;
    &lt;span class="na"&gt;ports&lt;/span&gt;&lt;span class="pi"&gt;:&lt;/span&gt;
      &lt;span class="pi"&gt;-&lt;/span&gt; &lt;span class="s2"&gt;"&lt;/span&gt;&lt;span class="s"&gt;8080:8080"&lt;/span&gt;
    &lt;span class="na"&gt;environment&lt;/span&gt;&lt;span class="pi"&gt;:&lt;/span&gt;
      &lt;span class="na"&gt;SPRING_DATASOURCE_URL&lt;/span&gt;&lt;span class="pi"&gt;:&lt;/span&gt; &lt;span class="s"&gt;jdbc:postgresql://db:5432/appdb&lt;/span&gt;
      &lt;span class="na"&gt;SPRING_DATASOURCE_USERNAME&lt;/span&gt;&lt;span class="pi"&gt;:&lt;/span&gt; &lt;span class="s"&gt;user&lt;/span&gt;
      &lt;span class="na"&gt;SPRING_DATASOURCE_PASSWORD&lt;/span&gt;&lt;span class="pi"&gt;:&lt;/span&gt; &lt;span class="s"&gt;pass&lt;/span&gt;
    &lt;span class="na"&gt;depends_on&lt;/span&gt;&lt;span class="pi"&gt;:&lt;/span&gt;
      &lt;span class="pi"&gt;-&lt;/span&gt; &lt;span class="s"&gt;db&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Nesse arquivo yml definimos:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Um container para o PostgreSQL&lt;/li&gt;
&lt;li&gt;Um container para a aplicação Spring Boot&lt;/li&gt;
&lt;li&gt;Variáveis de ambiente&lt;/li&gt;
&lt;li&gt;Comunicação entre os serviços&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Subindo tudo com um único comando:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;docker compose up
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;E pronto:&lt;br&gt;
✅ Spring Boot rodando&lt;br&gt;
✅ PostgreSQL configurado&lt;br&gt;
✅ Rede criada automaticamente&lt;br&gt;
✅ Ambiente igual em qualquer máquina&lt;/p&gt;




&lt;h1&gt;
  
  
  Por que isso é tão poderoso?
&lt;/h1&gt;

&lt;p&gt;Porque muda completamente a forma de desenvolver software:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Ambiente deixa de ser um problema&lt;/li&gt;
&lt;li&gt;Onboarding de novos desenvolvedores fica simples&lt;/li&gt;
&lt;li&gt;Pipelines de CI/CD ficam previsíveis&lt;/li&gt;
&lt;li&gt;Infraestrutura vira código versionável&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Containerização não é só sobre Docker.&lt;br&gt;
É sobre &lt;strong&gt;confiabilidade, portabilidade e padronização.&lt;/strong&gt;&lt;/p&gt;

&lt;h1&gt;
  
  
  Conclusão
&lt;/h1&gt;

&lt;p&gt;Quando você percebe que um projeto inteiro pode ser descrito em arquivos, o desenvolvimento muda de nível.&lt;/p&gt;

&lt;p&gt;Esse modelo é a base para:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Microsserviços&lt;/li&gt;
&lt;li&gt;Kubernetes&lt;/li&gt;
&lt;li&gt;Arquiteturas modernas em cloud&lt;/li&gt;
&lt;li&gt;Entrega contínua&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;E tudo começa com um &lt;strong&gt;Dockerfile&lt;/strong&gt; e um &lt;strong&gt;docker-compose&lt;/strong&gt;.&lt;/p&gt;

</description>
      <category>docker</category>
      <category>java</category>
      <category>springboot</category>
      <category>postgres</category>
    </item>
    <item>
      <title>Microsserviços com Spring Boot: por que vou participar do Mergulho da AlgaWorks</title>
      <dc:creator>Franciele B. de Oliveira</dc:creator>
      <pubDate>Thu, 08 Jan 2026 23:42:58 +0000</pubDate>
      <link>https://forem.com/franolv/microsservicos-com-spring-boot-por-que-vou-participar-do-mergulho-da-algaworks-1meh</link>
      <guid>https://forem.com/franolv/microsservicos-com-spring-boot-por-que-vou-participar-do-mergulho-da-algaworks-1meh</guid>
      <description>&lt;p&gt;Já faz um tempo que venho buscando aprofundar meus conhecimentos em arquitetura de microsserviços com Spring Boot, principalmente olhando além do código e entendendo melhor os trade-offs arquiteturais envolvidos nesse tipo de solução. Por isso, na próxima semana vou participar do evento gratuito Mergulho Microsserviços Spring, promovido pela AlgaWorks.&lt;/p&gt;

&lt;p&gt;O evento será conduzido por Thiago Faria de Andrade e acontece de forma 100% online, entre os dias 12 e 19 de janeiro de 2026.&lt;/p&gt;

&lt;p&gt;📅 Programação do evento&lt;/p&gt;

&lt;p&gt;A agenda cobre desde conceitos fundamentais até práticas mais avançadas, o que torna o evento interessante tanto para quem já trabalha com Spring quanto para quem quer evoluir em arquitetura:&lt;/p&gt;

&lt;p&gt;12/01 – Aula 01: Arquitetura de #Microsserviços e #DDD&lt;br&gt;
14/01 – Aula 02: Design Tático e Comunicação #REST&lt;br&gt;
15/01 – Aula 03: Event-Driven com #Kafka e padrões de microsserviços&lt;br&gt;
16/01 – Aula 04: Próximos níveis da especialização&lt;/p&gt;

&lt;p&gt;🔥 Warm-up e nivelamento&lt;br&gt;
Antes mesmo do início oficial das aulas, a AlgaWorks já liberou um warm-up, com:&lt;br&gt;
Vídeo de preparação do ambiente de desenvolvimento&lt;/p&gt;

&lt;p&gt;Vídeos de nivelamento sobre #Docker, #SpringBoot e #REST&lt;br&gt;
Esse tipo de preparação faz bastante diferença, principalmente para garantir que todos acompanhem melhor os conteúdos mais densos sobre arquitetura e comunicação entre serviços.&lt;/p&gt;

&lt;p&gt;🎯 Por que esse mergulho em microsserviços?&lt;br&gt;
Trabalhar com microsserviços vai muito além de dividir uma aplicação em vários projetos. Envolve decisões importantes sobre:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;comunicação síncrona vs assíncrona,&lt;/li&gt;
&lt;li&gt;consistência de dados,&lt;/li&gt;
&lt;li&gt;escalabilidade,&lt;/li&gt;
&lt;li&gt;observabilidade,&lt;/li&gt;
&lt;li&gt;resiliência e falhas distribuídas.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;A proposta do evento parece atacar exatamente esses pontos, trazendo não só implementação com Spring, mas também visão arquitetural, algo essencial para quem quer evoluir como desenvolvedor backend.&lt;/p&gt;

&lt;p&gt;🔗 Inscrições&lt;br&gt;
Para quem tiver interesse, ainda dá tempo de se inscrever gratuitamente:&lt;br&gt;
👉 &lt;a href="https://lnkd.in/dqBhUG9B" rel="noopener noreferrer"&gt;https://lnkd.in/dqBhUG9B&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;💬 E você?&lt;br&gt;
Alguém aqui já participou de alguma edição do Mergulho Microsserviços ou de treinamentos da @AlgaWorks?&lt;br&gt;
O que acharam da experiência?&lt;/p&gt;

&lt;p&gt;Ansiosa para aprofundar ainda mais nesse tema e trocar aprendizados com a comunidade 🚀💻&lt;/p&gt;

</description>
      <category>java</category>
      <category>springboot</category>
      <category>microservices</category>
      <category>backend</category>
    </item>
    <item>
      <title>Collection in Java</title>
      <dc:creator>Franciele B. de Oliveira</dc:creator>
      <pubDate>Thu, 17 Oct 2024 21:14:15 +0000</pubDate>
      <link>https://forem.com/franolv/collection-in-java-2gmi</link>
      <guid>https://forem.com/franolv/collection-in-java-2gmi</guid>
      <description>&lt;p&gt;A hierarquia de collections em Java consiste em agrupar elementos/objetos, onde cada classe tem subclasses e métodos. Não aceita tipos primitivos, mas a classe "array" permite a inclusão de vários elementos homogêneos do mesmo tipo, aceitando tipos primitivos.&lt;/p&gt;

&lt;p&gt;Os métodos do framework de collections estão presentes no pacote java.util dentro do JDK (Java Development Kit). As interfaces principais são List, Set e Map.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Generics&lt;/strong&gt;&lt;br&gt;
Utiliza o símbolo &amp;lt;&amp;gt; (diamante) para tipos genéricos. Os parâmetros de tipo mais comuns incluem E (Elemento), K (Chave), N (Número), T (Tipo), V (Valor).&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Comparator x Comparable&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;São usados para ordenação de collections. Comparable fornece uma única sequência de ordenação, afetando a classe original, enquanto Comparator fornece múltiplas sequências sem modificar a classe original.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;List x Set x Map&lt;/strong&gt;&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;List: Permite elementos duplicados, mantém a ordem de inserção. Exemplos de implementações são ArrayList e LinkedList.&lt;/li&gt;
&lt;li&gt;Set: Não permite elementos duplicados. &lt;/li&gt;
&lt;li&gt;HashSet usa tabela hash&lt;/li&gt;
&lt;li&gt;TreeSet usa árvore binária balanceada &lt;/li&gt;
&lt;li&gt;LinkedHashSet mantém a ordem de inserção&lt;/li&gt;
&lt;li&gt;Map: Mapeia chaves para valores. &lt;/li&gt;
&lt;li&gt;HashMap usa tabela hash&lt;/li&gt;
&lt;li&gt;TreeMap usa árvore binária balanceada &lt;/li&gt;
&lt;li&gt;LinkedHashMap mantém a ordem de inserção&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;Exemplos de implementações/Classes:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;ArrayList: Armazena elementos em um array redimensionável, permitindo acesso rápido por índices.&lt;/li&gt;
&lt;li&gt;LinkedList: Armazena elementos em uma lista duplamente vinculada, eficiente para adição/remoção no início/final.&lt;/li&gt;
&lt;li&gt;HashSet: Armazena elementos em uma tabela hash, sem ordem específica.&lt;/li&gt;
&lt;li&gt;TreeSet: Armazena elementos em uma árvore binária balanceada, mantendo ordem crescente.&lt;/li&gt;
&lt;li&gt;LinkedHashSet: Mantém ordem de inserção usando tabela hash e lista duplamente vinculada.&lt;/li&gt;
&lt;li&gt;HashMap: Mapeia chaves para valores usando tabela hash, sem ordem específica.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Observações:&lt;br&gt;
O primeiro elemento adicionado em um conjunto (Set) é o primeiro a ser retornado.&lt;br&gt;
No Map, o método put atualiza ou cria um par chave-valor.&lt;br&gt;
A interface Map não requer a criação de uma classe antes de criar uma coleção, e a busca pode ser feita diretamente pela chave, dispensando a necessidade de loops for.&lt;br&gt;
Exemplos de implementações antigas incluem Vector (sincronizado) e HashTable (sincronizado e sem permitir nulos).&lt;/p&gt;

</description>
      <category>java</category>
      <category>braziliandevs</category>
      <category>development</category>
    </item>
    <item>
      <title>Como eu estudei para certificação AWS Cloud Practitioner e fui aprovada?</title>
      <dc:creator>Franciele B. de Oliveira</dc:creator>
      <pubDate>Tue, 19 Dec 2023 20:16:04 +0000</pubDate>
      <link>https://forem.com/franolv/como-eu-estude-e-consegui-minha-certificacao-aws-cloud-practitioner-lnk</link>
      <guid>https://forem.com/franolv/como-eu-estude-e-consegui-minha-certificacao-aws-cloud-practitioner-lnk</guid>
      <description>&lt;p&gt;A IBM tem um programa de reskilling onde o gerente te coloca. Após você ter finalizado o roadmap essencial do seu role job.&lt;br&gt;
O meu reskilling, inicialmente foi o de IBM Cloud (falar mais em outro post) eu consegui a certificação de IBM Cloud V1, que é a de entrada para IBM Cloud.&lt;br&gt;
Porém em consulting eu já notei certa tendencia de clientes brasileiros escolherem AWS, Google Cloud Plataform (GCP) ou Azure.&lt;br&gt;
Daí resolvi conversar com meu gerente para trocar meu reskilling de IBM Cloud para AWS. Ele fez a buracria, e comecei meus estudos, segue os links dos cursos que eu fiz, simulados e os videos que usei para revisar tudo para prova:&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Parte teorica + Pratica&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;&lt;a href="https://www.udemy.com/course/certificacao-aws-cloud-practitioner/" rel="noopener noreferrer"&gt;Certificação Amazon AWS Cloud Practitioner Foundational 2022 | Udemy&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;strong&gt;Simulado&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;&lt;a href="https://www.udemy.com/course/aws-practitioner-em-portugues/" rel="noopener noreferrer"&gt;Certificação AWS Cloud Practitioner - Simulados em Português | Udemy&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;strong&gt;Vídeo de Revisao no dia da Prova:&lt;/strong&gt;&lt;br&gt;
&lt;a href="https://youtu.be/bGZXVslod5E" rel="noopener noreferrer"&gt;AWS Cloud Practitioner — parte 1 (ft. Thauany Moedano)&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;a href="https://youtu.be/NXcvR5TV_Jw" rel="noopener noreferrer"&gt;AWS Cloud Practitioner — parte 2 (ft. Thauany Moedano)&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;a href="https://youtu.be/v3D6B_8RYZU" rel="noopener noreferrer"&gt;AWS Cloud Practitioner — parte 3 (ft. Thauany Moedano)&lt;/a&gt;&lt;/p&gt;

</description>
      <category>aws</category>
      <category>cloud</category>
      <category>certification</category>
    </item>
    <item>
      <title>Você sabe a diferença entre Biblioteca , API e Framework?</title>
      <dc:creator>Franciele B. de Oliveira</dc:creator>
      <pubDate>Thu, 14 Dec 2023 21:40:34 +0000</pubDate>
      <link>https://forem.com/franolv/diferenca-entre-biblioteca-x-api-x-framework-8i9</link>
      <guid>https://forem.com/franolv/diferenca-entre-biblioteca-x-api-x-framework-8i9</guid>
      <description>&lt;p&gt;&lt;strong&gt;Biblioteca&lt;/strong&gt;&lt;br&gt;
conjunto de funcionalidades genéricas. &lt;br&gt;
Exemplo: a biblioteca de classes Java Math que contém várias funcionalidades de cálculo.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;API – Interface do Programa Aplicativo&lt;/strong&gt;&lt;br&gt;
conjunto de bibliotecas que normalmente  tem o objetivo de integração de diferentes aplicações. Exemplo: integração entre banco de dados com e uma aplicação java.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Frameworks&lt;/strong&gt; são “APIs com manual de uso”, o que significa que eles servem a propósitos específicos (Web Framework, Game Development Framework, e outros). Você pode usar um conjunto de bibliotecas como quiser, APIs também são usadas como quiser, com a finalidade especifica e com o uso precisa ser de acordo com o manual. &lt;br&gt;
Exemplo: Angular é uma estrutura, se não organizar a página da web em componentes não vai funcionar. &lt;/p&gt;

</description>
      <category>lib</category>
      <category>api</category>
      <category>framework</category>
      <category>braziliandevs</category>
    </item>
    <item>
      <title>Reflexões sobre APIs</title>
      <dc:creator>Franciele B. de Oliveira</dc:creator>
      <pubDate>Fri, 01 Dec 2023 01:49:04 +0000</pubDate>
      <link>https://forem.com/franolv/reflexoes-sobre-apis-5e46</link>
      <guid>https://forem.com/franolv/reflexoes-sobre-apis-5e46</guid>
      <description>&lt;p&gt;Quando eu comecei a programar... há 9 anos atrás, o hype era HTML, CSS e PHP.&lt;br&gt;
Maratonei o &lt;a href="https://www.youtube.com/@CursoemVideo" rel="noopener noreferrer"&gt;Curso em Vídeo&lt;/a&gt; do Guanabara e consegui fazer a codificação de um processo para entrar num grupo de Pesquisa. &lt;br&gt;
A proposta era: Usar uma aplicação WEB em PHP para ler um arquivo txt, que estava estruturado (hoje sei que o formato era um json clássico com a extensão .txt) e mostrar no navegador. Aqui está o repositório da minha solução: &lt;a href="https://github.com/fran-olv/Projeto-file-to-file/blob/master/README.md" rel="noopener noreferrer"&gt;Projeto File to File&lt;/a&gt; de uma dev junior/sandy (não refatorei, e nao mechi uma linha sequer desde que entreguei, que os deuses do clean coding não leiam isso)&lt;/p&gt;

&lt;p&gt;E aí 10 anos depois, quando eu volto a olhar o mercado e que tem sido falado/requerido de tecnologia, gira em torno de  API e Microsserviços (assunto do próximo artigo)&lt;br&gt;
E por insegurança e nunca ter sentado para codificar/estudar, constumava falar que não sabia construir API, porque toda vez que procurava sempre via as pessoas falando consumir serviços web: CEP, Pokedex, twitter. &lt;/p&gt;

&lt;p&gt;Realmente nunca tinha feito um código de API em Java que consumisse um serviço web e muito menos desenvolvido uma API Rest conforme o figurino. (Até 5 min desse texto isso era verdade, Obrigada #Alura pela imersão java) &lt;/p&gt;

&lt;p&gt;Daí, me pego pensando nos tipos de API. &lt;br&gt;
As API Restful, seguem o protoloco de comunicação HTTP e além de ter uma arquitetura bem definida e estar dentro dos requisitos pré-estabelecidos para assim ser consideradas. &lt;/p&gt;

&lt;p&gt;Mas e as que não são desse modelo? Que além de não consumirem dados de um lugar na WEB, não usam o protocolo http. &lt;br&gt;
Eu posso ser ousada em falar, mas o que eu fiz que foi consumir localmente uma estrutura JSON e mostrei no meu localhost. Não pode ser considerado uma API?&lt;/p&gt;

&lt;p&gt;E outra reflexão que me surgiu, o que mais a gente sabe que tem outro nome e outra roupagem que no fundo funciona da mesma forma? Eu fiquei feliz de não ter partido do zero no estudo de APIs, porque há anos atrás eu já havia tido algum contato com consumo de estruturas para serem processadas e apresentadas de uma determinada forma. &lt;/p&gt;

</description>
      <category>braziliandevs</category>
      <category>api</category>
      <category>programming</category>
    </item>
    <item>
      <title>Como eu estudei para certificação AZ-900 e fui aprovada?</title>
      <dc:creator>Franciele B. de Oliveira</dc:creator>
      <pubDate>Fri, 03 Nov 2023 18:16:18 +0000</pubDate>
      <link>https://forem.com/franolv/como-eu-estudei-para-az-900-e-fui-aprovada-3hbg</link>
      <guid>https://forem.com/franolv/como-eu-estudei-para-az-900-e-fui-aprovada-3hbg</guid>
      <description>&lt;p&gt;Dicas para otimizar o estudo e focar direto na certificação&lt;/p&gt;

&lt;p&gt;Embora tenha passado na prova em 2023, meus estudos começaram no ano de 2020, junto com a pandemia e a oportunidade de fazer uma mentoria promovida pela WoMakersCode e Microsoft chamada Black Woman in Tech.&lt;/p&gt;

&lt;p&gt;E ai a IBM entrou com tudo investindo nos seus profissionais, para que eles fossem certificados em diferentes clouds, sim a IBM está com um programa de incentivo a certificação. Nessa que eu fiz a prova de IBM Cloud, AWS, Azure Fundaments e Azure Data.&lt;/p&gt;

&lt;p&gt;Meus estudos começaram por aqui:&lt;/p&gt;

&lt;p&gt;Azure Fundamentals&lt;br&gt;
&lt;a href="https://learn.microsoft.com/pt-br/credentials/certifications/azure-fundamentals/?source=post_page-----2d82f8b0879--------------------------------" rel="noopener noreferrer"&gt;Roadmap Oficial da Microsoft&lt;/a&gt;&lt;br&gt;
(Buscar no link por: ROTEIRO DE APRENDIZAGEM)&lt;/p&gt;

&lt;p&gt;E utilizei esses vídeos na véspera da prova para avivar o conteúdo na minha cabeça:&lt;/p&gt;

&lt;p&gt;&lt;a href="https://youtu.be/4ub1uGKQK6U" rel="noopener noreferrer"&gt;AZ-900 | EP 1/5 | AZ900 | Treinamento Oficial | Microsoft Azure Fundamentals&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;a href="https://youtu.be/RoQTtUi4OjE" rel="noopener noreferrer"&gt;AZ-900 | EP 2/5 | AZ900 | Treinamento Oficial | Microsoft Azure Fundamentals&lt;br&gt;
&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;a href="https://youtu.be/nhbGN30DS3s" rel="noopener noreferrer"&gt;AZ-900 | EP 3/5 | AZ900 | Treinamento Oficial | Microsoft Azure Fundamentals&lt;br&gt;
&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;a href="https://youtu.be/9Q41pcxOzN8" rel="noopener noreferrer"&gt;AZ-900 | EP 4/5 | AZ900 | Treinamento Oficial | Microsoft Azure Fundamentals&lt;br&gt;
&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;a href="https://youtu.be/wJW9WtRqxFU" rel="noopener noreferrer"&gt;AZ-900 | EP 5/5 | AZ900 | Treinamento Oficial | Microsoft Azure Fundamentals&lt;/a&gt;&lt;/p&gt;

</description>
      <category>braziliandevs</category>
      <category>certification</category>
      <category>azure</category>
      <category>cloud</category>
    </item>
    <item>
      <title>Como eu estudei para certificação DP900 e fui aprovada</title>
      <dc:creator>Franciele B. de Oliveira</dc:creator>
      <pubDate>Thu, 26 Oct 2023 21:50:03 +0000</pubDate>
      <link>https://forem.com/franolv/como-eu-estudei-para-certificacao-dp900-e-fui-aprovada-4hbd</link>
      <guid>https://forem.com/franolv/como-eu-estudei-para-certificacao-dp900-e-fui-aprovada-4hbd</guid>
      <description>&lt;p&gt;Essa foi a minha ultima e a que iniciei os estudos com poucos dias para prova. Então otimizei com os videos do Canal da nuvem:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;&lt;a href="https://www.youtube.com/embed/-znvy4pHy1Y?si=WM6S5srZJx_slbsq" rel="noopener noreferrer"&gt;DP-900 | EP 1/4 | DP900 | Treinamento Oficial | Microsoft Azure Data Fundamentals&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://youtu.be/5xpocWtIrxM?si=Zsz9FW7W_9np6WSj" rel="noopener noreferrer"&gt;DP-900 | EP 2/4 | DP900 | Treinamento Oficial | Microsoft Azure Data Fundamentals&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://youtu.be/Dj0VxU633l0?si=PWXVZ0-qWEcKwkSK" rel="noopener noreferrer"&gt;DP-900 | EP 3/4 | DP900 | Treinamento Oficial | Microsoft Azure Data Fundamentals&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://youtu.be/uQJKTcF2VTE?si=SDfdogUdHIJ8-Prh" rel="noopener noreferrer"&gt;DP-900 | EP 4/4 | DP900 | Treinamento Oficial | Microsoft Azure Data Fundamentals&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Assistam e me agradeçam depois!&lt;/p&gt;

</description>
      <category>azure</category>
      <category>certification</category>
      <category>cloud</category>
      <category>braziliandevs</category>
    </item>
  </channel>
</rss>
