<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom">
  <channel>
    <title>Tecnologia & Viagens — Coding</title>
    <description>Blog sobre tecnologia, infraestrutura e automação para quem viaja e constrói.</description>
    <link>https://guilherme.stracini.com.br/blog/</link>
    <atom:link href="https://guilherme.stracini.com.br/blog/feed/coding.xml" rel="self" type="application/rss+xml"/>
    <language>pt-BR</language>
    
    <item>
      <title>Playing with Docker: NGINX, Apache, RabbitMQ, MailHog, MySQL/MariaDB</title>
      <description>&lt;p class=&quot;lead&quot;&gt;Running &lt;code&gt;docker compose up&lt;/code&gt; and having a fully working PHP development environment — with a web server, database, cache layer, message queue and email testing — in under two minutes. No global installs, no version conflicts, no &quot;works on my machine&quot;. This guide walks through every service, explains what each one does and provides a production-grade &lt;code&gt;docker-compose.yml&lt;/code&gt; with healthchecks included.&lt;/p&gt;
</description>
      <pubDate>Wed, 17 Jun 2026 00:00:00 +0000</pubDate>
      <link>https://guilherme.stracini.com.br/blog/artigos/playing-with-docker-nginx-apache-rabbitmq-mailhog-mysql/</link>
      <guid isPermaLink="true">https://guilherme.stracini.com.br/blog/artigos/playing-with-docker-nginx-apache-rabbitmq-mailhog-mysql/</guid>
    </item>
    
    <item>
      <title>Quais testes são de responsabilidade do desenvolvedor e quais são do QA?</title>
      <description>&lt;p class=&quot;lead&quot;&gt;Uma dúvida muito comum entre desenvolvedores e times de QA é: quem é responsável por escrever quais testes? A resposta passa por entender dois conceitos fundamentais — caixa branca e caixa preta — e como cada papel no time se relaciona com eles.&lt;/p&gt;
</description>
      <pubDate>Fri, 15 May 2026 00:00:00 +0000</pubDate>
      <link>https://guilherme.stracini.com.br/blog/artigos/quais-testes-sao-de-responsabilidade-do-desenvolvedor-e-quais-sao-do-qa/</link>
      <guid isPermaLink="true">https://guilherme.stracini.com.br/blog/artigos/quais-testes-sao-de-responsabilidade-do-desenvolvedor-e-quais-sao-do-qa/</guid>
    </item>
    
    <item>
      <title>Como Automatizar a Sincronização Entre um Repositório Git Local e um Servidor (S)FTP</title>
      <description>&lt;p class=&quot;lead&quot;&gt;Em muitos ambientes corporativos — especialmente em estruturas legadas ou altamente restritas — o uso de Git hospedado (GitHub, GitLab, Bitbucket) ou pipelines de CI/CD é simplesmente proibido. Mesmo assim, o desenvolvimento continua acontecendo, e manter arquivos atualizados no servidor pode se transformar em um trabalho cansativo, repetitivo e propenso a erros.&lt;/p&gt;
</description>
      <pubDate>Fri, 12 Dec 2025 00:00:00 +0000</pubDate>
      <link>https://guilherme.stracini.com.br/blog/artigos/como-automatizar-sincronizacao-git-sftp/</link>
      <guid isPermaLink="true">https://guilherme.stracini.com.br/blog/artigos/como-automatizar-sincronizacao-git-sftp/</guid>
    </item>
    
    <item>
      <title>Should You Use UUIDs as Primary Keys? Performance Myths, Real-World Trade-Offs, and the Ideal Architecture</title>
      <description>&lt;p class=&quot;lead&quot;&gt;Database schema design is always full of trade-offs, but few debates are as persistent as the one around &lt;strong&gt;UUIDs vs. numeric primary keys&lt;/strong&gt;. If you&apos;ve ever wondered whether a UUID primary key actually slows down your database — and what to do about it — this post is for you.&lt;/p&gt;
</description>
      <pubDate>Thu, 11 Dec 2025 00:00:00 +0000</pubDate>
      <link>https://guilherme.stracini.com.br/blog/artigos/should-you-use-uuids-as-primary-keys/</link>
      <guid isPermaLink="true">https://guilherme.stracini.com.br/blog/artigos/should-you-use-uuids-as-primary-keys/</guid>
    </item>
    
    <item>
      <title>Dev Essentials - Part IV - JetBrains ReSharper Extensions</title>
      <description>&lt;p class=&quot;lead&quot;&gt;In this fourth and final part of the &lt;strong&gt;Dev Essentials&lt;/strong&gt; series, I present the extensions I use on &lt;strong&gt;JetBrains ReSharper&lt;/strong&gt; — plugins that take an already powerful tool even further.&lt;/p&gt;
</description>
      <pubDate>Wed, 17 Jan 2024 00:00:00 +0000</pubDate>
      <link>https://guilherme.stracini.com.br/blog/artigos/serie-dev-essentials-part-4-jetbrains-resharper-extensions/</link>
      <guid isPermaLink="true">https://guilherme.stracini.com.br/blog/artigos/serie-dev-essentials-part-4-jetbrains-resharper-extensions/</guid>
    </item>
    
    <item>
      <title>Dev Essentials - Part III - Visual Studio Code Extensions</title>
      <description>&lt;p class=&quot;lead&quot;&gt;In this third part of the &lt;strong&gt;Dev Essentials&lt;/strong&gt; series, I present the extensions I use in &lt;strong&gt;Visual Studio Code&lt;/strong&gt; — covering every language and tool in my stack.&lt;/p&gt;
</description>
      <pubDate>Wed, 17 Jan 2024 00:00:00 +0000</pubDate>
      <link>https://guilherme.stracini.com.br/blog/artigos/serie-dev-essentials-part-3-visual-studio-code-extensions/</link>
      <guid isPermaLink="true">https://guilherme.stracini.com.br/blog/artigos/serie-dev-essentials-part-3-visual-studio-code-extensions/</guid>
    </item>
    
    <item>
      <title>Dev Essentials - Part II - Visual Studio (IDE) Extensions</title>
      <description>&lt;p class=&quot;lead&quot;&gt;In this second part of the &lt;strong&gt;Dev Essentials&lt;/strong&gt; series, I present the extensions I use in &lt;strong&gt;Visual Studio (IDE)&lt;/strong&gt; — the ones that survived years of use and actually make a difference.&lt;/p&gt;
</description>
      <pubDate>Wed, 17 Jan 2024 00:00:00 +0000</pubDate>
      <link>https://guilherme.stracini.com.br/blog/artigos/serie-dev-essentials-part-2-visual-studio-ide-extensions/</link>
      <guid isPermaLink="true">https://guilherme.stracini.com.br/blog/artigos/serie-dev-essentials-part-2-visual-studio-ide-extensions/</guid>
    </item>
    
    <item>
      <title>Dev Essentials - Part I - Software and Tools</title>
      <description>&lt;p class=&quot;lead&quot;&gt;In this first part of the &lt;strong&gt;Dev Essentials&lt;/strong&gt; series, I will present some software and tools I use in my day-to-day as a software engineer.&lt;/p&gt;
</description>
      <pubDate>Wed, 17 Jan 2024 00:00:00 +0000</pubDate>
      <link>https://guilherme.stracini.com.br/blog/artigos/serie-dev-essentials-part-1-software-and-tools/</link>
      <guid isPermaLink="true">https://guilherme.stracini.com.br/blog/artigos/serie-dev-essentials-part-1-software-and-tools/</guid>
    </item>
    
    <item>
      <title>Database migration with GitHub Actions</title>
      <description>&lt;p class=&quot;lead&quot;&gt;Database schema changes are one of the riskiest parts of any deployment. A migration applied twice, out of order, or missing entirely can corrupt data or take an application offline. In this post I walk through a GitHub Action I built to manage versioned SQL migrations across multiple database drivers — with dry-run preview, SHA-256 checksums and integrity checks, all without an ORM or a migration framework dependency.&lt;/p&gt;
</description>
      <pubDate>Thu, 14 Dec 2023 00:00:00 +0000</pubDate>
      <link>https://guilherme.stracini.com.br/blog/artigos/database-migration-with-github-actions/</link>
      <guid isPermaLink="true">https://guilherme.stracini.com.br/blog/artigos/database-migration-with-github-actions/</guid>
    </item>
    
    <item>
      <title>Qual linguagem de programação devo escolher?</title>
      <description>&lt;p class=&quot;lead&quot;&gt;Uma das dúvidas mais frequentes de quem está iniciando na área é sobre qual linguagem de programação aprender primeiro. Neste artigo vou explicar o básico de como o mercado funciona e ajudar você a escolher por onde começar.&lt;/p&gt;
</description>
      <pubDate>Fri, 01 Sep 2023 00:00:00 +0000</pubDate>
      <link>https://guilherme.stracini.com.br/blog/artigos/qual-linguagem-de-programacao-escolher/</link>
      <guid isPermaLink="true">https://guilherme.stracini.com.br/blog/artigos/qual-linguagem-de-programacao-escolher/</guid>
    </item>
    
    <item>
      <title>Using GitHub Actions to create a .NET Framework pipeline: Build, test, and deploy</title>
      <description>&lt;p class=&quot;lead&quot;&gt;In this article we cover the CI/CD process of a .NET Framework project using GitHub Actions to build, test, and run — from the first workflow file to a complete automated pipeline.&lt;/p&gt;
</description>
      <pubDate>Sat, 12 Aug 2023 00:00:00 +0000</pubDate>
      <link>https://guilherme.stracini.com.br/blog/artigos/using-github-actions-to-create-a-net-framework-pipeline-build-test-and-deploy/</link>
      <guid isPermaLink="true">https://guilherme.stracini.com.br/blog/artigos/using-github-actions-to-create-a-net-framework-pipeline-build-test-and-deploy/</guid>
    </item>
    
    <item>
      <title>Top blogs that power up my learning journey</title>
      <description>&lt;p class=&quot;lead&quot;&gt;In the digital age, knowledge is at our fingertips, and blogs have become valuable repositories of information, insights, and expertise. As an avid learner, I&apos;ve scoured the internet for the best blogs to enhance my understanding of various subjects. Here are my top favorites that have been instrumental in shaping my learning journey — whether you&apos;re a student, a professional, or simply an enthusiast hungry for knowledge, these will surely deliver.&lt;/p&gt;
</description>
      <pubDate>Mon, 17 Jul 2023 00:00:00 +0000</pubDate>
      <link>https://guilherme.stracini.com.br/blog/artigos/top-blogs-learning-journey/</link>
      <guid isPermaLink="true">https://guilherme.stracini.com.br/blog/artigos/top-blogs-learning-journey/</guid>
    </item>
    
    <item>
      <title>Testes automatizados: Os diferentes tipos de testes de software</title>
      <description>&lt;p class=&quot;lead&quot;&gt;Veja neste artigo os diferentes tipos de testes automatizados que existem.&lt;/p&gt;
</description>
      <pubDate>Mon, 17 Jan 2022 00:00:00 +0000</pubDate>
      <link>https://guilherme.stracini.com.br/blog/artigos/testes-automatizados-os-diferentes-tipos-de-testes-de-software/</link>
      <guid isPermaLink="true">https://guilherme.stracini.com.br/blog/artigos/testes-automatizados-os-diferentes-tipos-de-testes-de-software/</guid>
    </item>
    
    <item>
      <title>API/Banco de dados de feriados</title>
      <description>&lt;p class=&quot;lead&quot;&gt;Ter uma base de dados com os feriados da sua região ou país é uma necessidade cada vez mais comum nos mais variados tipos de sistemas, para aumentar a precisão nos dados e informações ao usuário final. Seja um e-commerce para estimar uma data de entrega de pedidos, seja para calcular a data de vencimento e limite de pagamento de um boleto, um sistema que trabalha com jornadas/turnos e em feriados tem expediente diferente, ou mesmo uma simples agenda que precisa saber quando um dia não será um dia útil.&lt;/p&gt;
</description>
      <pubDate>Wed, 22 Apr 2020 00:00:00 +0000</pubDate>
      <link>https://guilherme.stracini.com.br/blog/artigos/apibanco-de-dados-de-feriados/</link>
      <guid isPermaLink="true">https://guilherme.stracini.com.br/blog/artigos/apibanco-de-dados-de-feriados/</guid>
    </item>
    
    <item>
      <title>Lista de Bancos Brasileiros</title>
      <description>&lt;p&gt;Manter um sistema atualizado com os bancos existentes no Brasil é uma tarefa árdua e difícil? Não mais. Confira este repositório no GitHub, criado em meados de 2017, que mantém uma lista atualizada dos bancos comerciais brasileiros, incluindo informações sobre PIX, DOC, TED e portabilidade de salário.&lt;/p&gt;
</description>
      <pubDate>Tue, 21 Jan 2020 00:00:00 +0000</pubDate>
      <link>https://guilherme.stracini.com.br/blog/artigos/lista-bancos-brasileiros/</link>
      <guid isPermaLink="true">https://guilherme.stracini.com.br/blog/artigos/lista-bancos-brasileiros/</guid>
    </item>
    
  </channel>
</rss>
