<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom"><channel><title>Leo Cavalcante</title><link>https://leocavalcante.dev/</link><description>Recent content on Leo Cavalcante</description><generator>Hugo</generator><language>pt-BR</language><copyright>Copyright (c) 2026 Leo Cavalcante</copyright><lastBuildDate>Tue, 16 Jun 2026 10:00:00 -0300</lastBuildDate><atom:link href="https://leocavalcante.dev/index.xml" rel="self" type="application/rss+xml"/><item><title>Por que seu Agente de IA é um "Gastador" Compulsivo: A Verdade sobre o Consumo de Tokens</title><link>https://leocavalcante.dev/tokenomics-agentic-por-que-agentes-de-ia-estouram-sua-fatura-de-api/</link><pubDate>Tue, 16 Jun 2026 10:00:00 -0300</pubDate><guid>https://leocavalcante.dev/tokenomics-agentic-por-que-agentes-de-ia-estouram-sua-fatura-de-api/</guid><description>&lt;h2 id="introdução-o-choque-da-fatura-de-api"&gt;Introdução: o choque da fatura de API&lt;/h2&gt;
&lt;p&gt;Para qualquer desenvolvedor que já integrou agentes autônomos em fluxos reais, a empolgação inicial com a automação &amp;ldquo;zero-touch&amp;rdquo; costuma durar até o primeiro fechamento da fatura da API. O que começa como uma tarefa de codificação trivial pode se transformar rapidamente em um buraco negro financeiro. Casos reais, como o relatado na comunidade sobre o uso do modelo Opus 4.6 via API, que consumiu US$ 100 em apenas 5 horas, não são anomalias, mas sim sintomas de uma arquitetura que prioriza a execução a qualquer custo orçamentário. O problema não é apenas que os agentes são caros; é que eles são fundamentalmente imprevisíveis.&lt;/p&gt;</description></item><item><title>A armadilha do código agêntico: por que a promessa de produtividade está queimando os desenvolvedores</title><link>https://leocavalcante.dev/a-armadilha-do-c-digo-ag-ntico-por-que-a-promessa-de-produtividade-est-queimando-os-desenvolvedores/</link><pubDate>Mon, 01 Jun 2026 10:00:00 -0300</pubDate><guid>https://leocavalcante.dev/a-armadilha-do-c-digo-ag-ntico-por-que-a-promessa-de-produtividade-est-queimando-os-desenvolvedores/</guid><description>&lt;p&gt;O ritmo do desenvolvimento de software sofreu uma compressão sem precedentes. O que até pouco tempo era simplesmente &amp;ldquo;programar&amp;rdquo;, hoje ganha a alcunha de trad coding (codificação tradicional), um processo que exigia a escrita linha a linha, respeitando o fluxo natural de resolução de problemas e o tempo necessário para o cérebro processar a lógica. Atualmente, esse fluxo foi atropelado pela ascensão dos agentes de IA.&lt;/p&gt;</description></item><item><title>Quando o contexto te trai: derivando contextos para operações opcionais em Go</title><link>https://leocavalcante.dev/quando-o-contexto-te-trai-derivando-contextos-para-opera-es-opcionais-em-go/</link><pubDate>Mon, 18 May 2026 10:00:00 -0300</pubDate><guid>https://leocavalcante.dev/quando-o-contexto-te-trai-derivando-contextos-para-opera-es-opcionais-em-go/</guid><description>&lt;p&gt;Em Go, o &lt;code&gt;context.Context&lt;/code&gt; é o mecanismo padrão para propagar cancelamento, &lt;em&gt;deadlines&lt;/em&gt; e valores entre Goroutines e chamadas de função. A regra geral é simples: sempre passe o contexto para frente. Mas essa regra tem uma armadilha sutil que pode causar bugs difíceis de reproduzir, especialmente quando você tem operações opcionais com fallback.&lt;/p&gt;</description></item><item><title>Por que sua IA falha? O segredo não está no modelo, mas no "Agent Harness"</title><link>https://leocavalcante.dev/por-que-sua-ia-falha-o-segredo-n-o-est-no-modelo-mas-no-agent-harness/</link><pubDate>Mon, 04 May 2026 10:00:00 -0300</pubDate><guid>https://leocavalcante.dev/por-que-sua-ia-falha-o-segredo-n-o-est-no-modelo-mas-no-agent-harness/</guid><description>&lt;p&gt;Você já deve ter passado por isso: em um momento, o GPT ou o Claude resolve um problema complexo de código em segundos; no momento seguinte, a mesma IA esquece o contexto básico ou inventa uma informação inexistente. Se o &amp;ldquo;cérebro&amp;rdquo; (o modelo) é o mesmo, por que os resultados são tão inconsistentes?&lt;/p&gt;</description></item><item><title>Construindo Agentes de IA de Verdade com o Copilot SDK em Go</title><link>https://leocavalcante.dev/construindo-agentes-de-ia-de-verdade-com-o-copilot-sdk-em-go/</link><pubDate>Wed, 22 Apr 2026 10:00:00 -0300</pubDate><guid>https://leocavalcante.dev/construindo-agentes-de-ia-de-verdade-com-o-copilot-sdk-em-go/</guid><description>&lt;p&gt;Se você acompanha o ecossistema do GitHub Copilot, provavelmente já ouviu falar dos arquivos &lt;code&gt;*.agent.md&lt;/code&gt;. Eles são legais para coisas simples, basicamente um prompt turbinado que roda dentro do Copilot. Mas quando você precisa de um agente &lt;strong&gt;de verdade&lt;/strong&gt;, que chama APIs, consulta bancos de dados, aplica políticas de permissão, injeta contexto via RAG e roda em produção como um microserviço&amp;hellip; Markdown não dá conta.&lt;/p&gt;</description></item><item><title>DORA, SPACE e a Ciência da Performance na Era da Agilidade e da IA</title><link>https://leocavalcante.dev/dora-space-e-a-ci-ncia-da-performance-na-era-da-agilidade-e-da-ia/</link><pubDate>Mon, 23 Feb 2026 10:00:00 -0300</pubDate><guid>https://leocavalcante.dev/dora-space-e-a-ci-ncia-da-performance-na-era-da-agilidade-e-da-ia/</guid><description>&lt;h2 id="o-paradoxo-da-velocidade-moderna"&gt;O paradoxo da velocidade moderna&lt;/h2&gt;
&lt;p&gt;Vivemos o paradoxo da abundância técnica: na era da Inteligência Artificial, geramos código em minutos, mas as organizações nunca lutaram tanto para converter esse volume em valor real. O erro fatal da liderança moderna é acreditar que a velocidade de codificação resolve o gargalo da entrega. Como David Rogers articula em sua tese sobre Transformação Digital, o desafio não é tecnológico, mas estratégico. Vivemos sob a máxima de Andy Grove: &amp;ldquo;apenas o paranoico sobrevive&amp;rdquo;. No cenário atual, a paranoia produtiva deve se voltar para a ciência da performance.&lt;/p&gt;</description></item><item><title>A Ilusão da Sequência: Porque a Hierarquia é o Próximo Salto da Inferência de IA</title><link>https://leocavalcante.dev/a-ilusao-da-sequencia-porque-a-hierarquia-e-o-proximo-salto-da-inferencia-de-ia/</link><pubDate>Fri, 13 Feb 2026 11:17:05 -0300</pubDate><guid>https://leocavalcante.dev/a-ilusao-da-sequencia-porque-a-hierarquia-e-o-proximo-salto-da-inferencia-de-ia/</guid><description>&lt;h2 id="o-paradoxo-da-escala"&gt;O paradoxo da escala&lt;/h2&gt;
&lt;p&gt;Existe um abismo de eficiência entre a arquitetura biológica e o silício. Enquanto uma criança de 12 anos já domina as complexidades da linguagem humana, modelos como o GPT-3 exigem cerca de 2.000 vezes mais dados para atingir uma proficiência comparável. Esse &amp;ldquo;Paradoxo da Escala&amp;rdquo; revela uma verdade incômoda: estamos tentando compensar a falta de lógica estrutural e de um viés indutivo eficiente com a força bruta de dados massivos.&lt;/p&gt;</description></item><item><title>3 princípios não tão intuitivos na Experiência de Desenvolvimento (DX)</title><link>https://leocavalcante.dev/3-principios-nao-tao-intuitivos-na-experiencia-de-desenvolvimento-dx/</link><pubDate>Mon, 05 Jan 2026 09:09:19 -0300</pubDate><guid>https://leocavalcante.dev/3-principios-nao-tao-intuitivos-na-experiencia-de-desenvolvimento-dx/</guid><description>&lt;h2 id="o-paradoxo-da-produtividade"&gt;O paradoxo da produtividade&lt;/h2&gt;
&lt;p&gt;Líderes de engenharia e desenvolvedores estão em uma busca constante por mais produtividade. A pressão para entregar mais rápido é implacável, mas os caminhos para alcançar essa velocidade raramente são claros. Investimos em novas ferramentas e processos, muitas vezes sem entender se estamos realmente resolvendo os gargalos certos ou apenas adicionando complexidade.&lt;/p&gt;</description></item><item><title>Levando AI Engineering para o próximo nível com RAG</title><link>https://leocavalcante.dev/levando-ai-engineering-para-o-proximo-nivel-com-rag/</link><pubDate>Fri, 28 Nov 2025 15:58:03 -0300</pubDate><guid>https://leocavalcante.dev/levando-ai-engineering-para-o-proximo-nivel-com-rag/</guid><description>&lt;p&gt;Se você está começando a se aventurar no mundo de AI Engineering e quer ir além do básico, precisa entender profundamente o que é &lt;strong&gt;Retrieval-Augmented Generation (RAG)&lt;/strong&gt;. Essa técnica é, sem dúvida, um divisor de águas para quem quer construir agentes de IA que realmente entregam resultados bacanas com dados específicos de usuários e empresas.&lt;/p&gt;</description></item><item><title>Sistemas Multi-Agentes de IA: Quando Usar, Como Construir e Porque Tantos Falham</title><link>https://leocavalcante.dev/sistemas-multi-agentes-de-ia-quando-usar-como-construir-e-porque-tantos-falham/</link><pubDate>Tue, 04 Nov 2025 09:33:43 -0300</pubDate><guid>https://leocavalcante.dev/sistemas-multi-agentes-de-ia-quando-usar-como-construir-e-porque-tantos-falham/</guid><description>&lt;p&gt;Sabe quando você está tentando resolver um problema complexo com IA e parece que um único modelo não dá conta do recado? Passei por isso várias vezes. É tipo quando você pede para um agente de IA fazer várias coisas ao mesmo tempo e ele simplesmente trava, demora uma eternidade ou dá respostas medianas pra tudo. Foi aí que mergulhei fundo no mundo dos sistemas multi-agentes, e cara, aprendi que essa área é muito mais complicada do que parece na teoria.&lt;/p&gt;</description></item><item><title>Um Ano de "Golanged"</title><link>https://leocavalcante.dev/um-ano-de-golanged/</link><pubDate>Wed, 24 Sep 2025 09:53:02 -0300</pubDate><guid>https://leocavalcante.dev/um-ano-de-golanged/</guid><description>&lt;p&gt;Há exatamente um ano, um commit com a mensagem &amp;ldquo;Golanged&amp;rdquo; marcava o início de uma nova fase na minha carreira como desenvolvedor. Era meu primeiro passo com a linguagem Go em um projeto profissional, dentro de um monorepo que mantenho até hoje. Mal sabia eu que aquela palavra, quase uma brincadeira, representaria a descoberta de um universo de possibilidades. Hoje, celebro não só a data, mas a decisão de embarcar nessa jornada.&lt;/p&gt;</description></item><item><title>A Engenharia de Prompt e a Variação entre LLMs</title><link>https://leocavalcante.dev/a-engenharia-de-prompt-e-a-variacao-entre-llms/</link><pubDate>Fri, 22 Aug 2025 10:37:27 -0300</pubDate><guid>https://leocavalcante.dev/a-engenharia-de-prompt-e-a-variacao-entre-llms/</guid><description>&lt;p&gt;No universo do desenvolvimento de software, a engenharia de prompts está emergindo como uma disciplina crucial. A habilidade de extrair respostas precisas e úteis de Modelos de Linguagem Grandes (LLMs) tornou-se uma vantagem competitiva. No entanto, um aspecto fundamental dessa nova arte está sendo largamente ignorado: a engenharia de um bom prompt pode, e vai, mudar silenciosamente dependendo do modelo utilizado. Muitos tratam os LLMs como uma entidade monolítica, esperando que um &amp;ldquo;prompt mestre&amp;rdquo; funcione universalmente, mas a realidade é muito mais complexa e cheia de nuances.&lt;/p&gt;</description></item><item><title>Go 1.25: As Principais Novidades da Nova Versão</title><link>https://leocavalcante.dev/go-125/</link><pubDate>Wed, 13 Aug 2025 14:22:38 -0300</pubDate><guid>https://leocavalcante.dev/go-125/</guid><description>&lt;p&gt;O Go 1.25 foi oficialmente lançado em agosto de 2025, trazendo uma série de melhorias significativas para desenvolvedores. Esta nova versão mantém a tradição de compatibilidade do Go, garantindo que códigos existentes continuem funcionando perfeitamente, enquanto introduz otimizações importantes e novos recursos.&lt;/p&gt;</description></item><item><title>Swiss Tables: O Segredo por Trás dos Maps Mais Rápidos do Go 1.24</title><link>https://leocavalcante.dev/swiss-tables-go-124/</link><pubDate>Wed, 05 Mar 2025 12:16:02 -0300</pubDate><guid>https://leocavalcante.dev/swiss-tables-go-124/</guid><description>&lt;p&gt;Os mapas (maps) no Go sempre foram uma das estruturas de dados mais utilizadas e otimizadas da linguagem. Com o lançamento do Go 1.24, eles ficaram ainda mais rápidos, graças à implementação do conceito de Swiss Tables.&lt;/p&gt;</description></item><item><title>Weak Pointers no Go 1.24: Entendendo e Aplicando na Prática</title><link>https://leocavalcante.dev/weak-pointers-no-go-124-entendendo-e-aplicando-na-pratica/</link><pubDate>Mon, 24 Feb 2025 11:30:11 -0300</pubDate><guid>https://leocavalcante.dev/weak-pointers-no-go-124-entendendo-e-aplicando-na-pratica/</guid><description>&lt;p&gt;O &lt;strong&gt;Go 1.24&lt;/strong&gt; introduziu um novo pacote chamado &lt;code&gt;weak&lt;/code&gt;, trazendo suporte para &lt;strong&gt;weak pointers&lt;/strong&gt; (ponteiros fracos). Esses ponteiros permitem referenciar memória sem impedir sua coleta pelo &lt;strong&gt;garbage collector (GC)&lt;/strong&gt;, tornando-se particularmente úteis para otimização de caches e redução de &lt;strong&gt;memory leaks&lt;/strong&gt;.&lt;/p&gt;</description></item><item><title>Novidades do Go 1.24</title><link>https://leocavalcante.dev/novidades-do-go-124/</link><pubDate>Wed, 12 Feb 2025 15:57:00 -0300</pubDate><guid>https://leocavalcante.dev/novidades-do-go-124/</guid><description>&lt;p&gt;A versão 1.24 da linguagem Go foi lançada em fevereiro de 2025, trazendo uma série de melhorias e novas funcionalidades que prometem aumentar a produtividade dos desenvolvedores e otimizar o desempenho das aplicações. Neste artigo, vamos destacar algumas das principais novidades, como a nova diretiva &lt;code&gt;tool&lt;/code&gt;, o suporte a generics em type aliases, a função &lt;code&gt;Loop&lt;/code&gt; para testes de benchmark, melhorias de performance, suporte aprimorado ao WebAssembly e a nova função &lt;code&gt;AddCleanup&lt;/code&gt;.&lt;/p&gt;</description></item><item><title>Why Go Should Sometimes Be a No-Go?</title><link>https://leocavalcante.dev/why-go-should-sometimes-be-a-no-go/</link><pubDate>Mon, 03 Feb 2025 09:00:09 -0300</pubDate><guid>https://leocavalcante.dev/why-go-should-sometimes-be-a-no-go/</guid><description>&lt;p&gt;A linguagem Go foi alvo de críticas por sua simplicidade e filosofia de design, em um artigo recente chamado &lt;em&gt;&amp;ldquo;Why Go Should Sometimes Be a No-Go&amp;rdquo;&lt;/em&gt;, onde o autor levanta alguns pontos negativos sobre a linguagem, argumentando que sua abordagem minimalista pode ser uma limitação em certos contextos. No entanto, esses argumentos podem ser contrapostos com uma visão mais ampla sobre os benefícios e propósitos do Go.&lt;/p&gt;</description></item><item><title>Programação Funcional com Golang</title><link>https://leocavalcante.dev/programacao-funcional-com-golang/</link><pubDate>Tue, 28 Jan 2025 17:23:39 -0300</pubDate><guid>https://leocavalcante.dev/programacao-funcional-com-golang/</guid><description>&lt;p&gt;A programação funcional (FP, do inglês &lt;em&gt;Functional Programming&lt;/em&gt;) tem ganhado popularidade nos últimos anos devido à sua capacidade de criar código mais expressivo, modular e com menos efeitos colaterais. Go, apesar de ser uma linguagem projetada principalmente para o paradigma imperativo, possui diversas características que permitem adotar conceitos da programação funcional. Este artigo explora como aplicar princípios da programação funcional no desenvolvimento com Go.&lt;/p&gt;</description></item><item><title>Go: Estilo, Decisões e Melhores Práticas</title><link>https://leocavalcante.dev/go-estilo-decisoes-e-melhores-praticas/</link><pubDate>Mon, 20 Jan 2025 08:00:23 -0300</pubDate><guid>https://leocavalcante.dev/go-estilo-decisoes-e-melhores-praticas/</guid><description>&lt;p&gt;O guia de estilo, decisões e melhores práticas da Google para a linguagem Go é um conjunto de recomendações que visa promover a clareza, simplicidade e eficiência no desenvolvimento de código.&lt;/p&gt;</description></item><item><title>Análise do Go Developer Survey 2024</title><link>https://leocavalcante.dev/analise-do-go-developer-survey-2024/</link><pubDate>Mon, 13 Jan 2025 08:00:21 -0300</pubDate><guid>https://leocavalcante.dev/analise-do-go-developer-survey-2024/</guid><description>&lt;p&gt;O &lt;strong&gt;Go Developer Survey&lt;/strong&gt; é uma ferramenta essencial para compreender a evolução e os desafios enfrentados pelos desenvolvedores que utilizam a linguagem Go. Os resultados da segunda metade de 2024 (H2), conduzidos entre os dias 9 e 23 de setembro, com 4.156 respondentes, trazem informações valiosas sobre a satisfação dos desenvolvedores, preferências de ferramentas, tendências tecnológicas e os desafios do dia a dia.&lt;/p&gt;</description></item><item><title>Os Valores de Go</title><link>https://leocavalcante.dev/os-valores-de-go/</link><pubDate>Tue, 07 Jan 2025 08:00:22 -0300</pubDate><guid>https://leocavalcante.dev/os-valores-de-go/</guid><description>&lt;p&gt;Desde o seu lançamento em 2009, a linguagem de programação Go tem conquistado desenvolvedores em todo o mundo, especialmente na área de sistemas distribuídos, cloud computing e DevOps. Mas o que exatamente faz do Go uma linguagem tão atrativa? Além de suas características técnicas, é sua filosofia subjacente que realmente define o que o Go representa. &lt;a href="https://www.reddit.com/r/golang/comments/1hs1yx3/what_are_gos_values/"&gt;Essa thread&lt;/a&gt; no Reddit reuniu os valores centrais que moldam a linguagem e como eles impactam a experiência dos desenvolvedores.&lt;/p&gt;</description></item><item><title>Cobertura de Código em Testes de Go: Usando o covdata para Combinar Perfis</title><link>https://leocavalcante.dev/cobertura-de-codigo-em-testes-de-go-usando-o-covdata-para-combinar-perfis/</link><pubDate>Tue, 26 Nov 2024 11:52:52 -0300</pubDate><guid>https://leocavalcante.dev/cobertura-de-codigo-em-testes-de-go-usando-o-covdata-para-combinar-perfis/</guid><description>&lt;p&gt;Acho que uma das minhas maiores aventuras com Go tem sido trabalhar com testes. Foi com eles que mudei uma opinião com relação ao pragmatismo da linguagem, ela continua sendo super prática sim, ainda é bem simples e gostoso de programar, mas eu levava essa ideia de forma leviana a ponto de fazer as coisas de qualquer jeito e sem respeitar princípios da engenharia de software, que como o nome diz, são princípios, não dependem da linguagem e Go não está de fora dessa.&lt;/p&gt;</description></item><item><title>O que é versionamento semântico?</title><link>https://leocavalcante.dev/semver/</link><pubDate>Thu, 24 Oct 2024 10:01:27 -0300</pubDate><guid>https://leocavalcante.dev/semver/</guid><description>&lt;p&gt;O versionamento semântico, também chamado de &lt;strong&gt;SemVer&lt;/strong&gt;, é um padrão usado por desenvolvedores para numerar versões de softwares de maneira clara e previsível. Ele facilita o entendimento de quais mudanças ocorreram no software e qual o impacto dessas alterações. Basicamente, o SemVer usa uma notação de três números no formato &lt;strong&gt;X.Y.Z&lt;/strong&gt;, onde cada número tem um significado específico.&lt;/p&gt;</description></item><item><title>A importância da Developer Experience (DX) para uma melhor entrega de Software e inovação</title><link>https://leocavalcante.dev/archive/medium/a-importancia-da-developer-experience-dx-para-uma-melhor-entrega-de-software-e-inovacao-0f1bf20ac8a9/</link><pubDate>Mon, 30 Sep 2024 09:41:43 -0300</pubDate><guid>https://leocavalcante.dev/archive/medium/a-importancia-da-developer-experience-dx-para-uma-melhor-entrega-de-software-e-inovacao-0f1bf20ac8a9/</guid><description>&lt;p&gt;&lt;img src="https://leocavalcante.dev/archive/medium/a-importancia-da-developer-experience-dx-para-uma-melhor-entrega-de-software-e-inovacao-0f1bf20ac8a9/cover.jpg" alt=""&gt;&lt;/p&gt;
&lt;p&gt;No mundo acelerado e impulsionado pela tecnologia de hoje, &lt;strong&gt;o sucesso das organizações baseadas em &lt;em&gt;software&lt;/em&gt; depende fortemente do desempenho de seus desenvolvedores&lt;/strong&gt;. No entanto, os desenvolvedores muitas vezes enfrentam vários obstáculos, desde requisitos de tarefas pouco claros até ferramentas inadequadas e processos de &lt;em&gt;feedback&lt;/em&gt; deficientes. O termo “Developer Experiencie” (DX) engloba como os desenvolvedores se sentem, pensam e desempenham suas funções. Um estudo, liderado por especialistas da Microsoft Research, GitHub e DX, lança luz sobre porque otimizar a DX é essencial tanto para a satisfação dos desenvolvedores quanto para o sucesso organizacional.&lt;/p&gt;</description></item><item><title>Maximizando a Performance de Goroutines em Containers com Limitação de CPU</title><link>https://leocavalcante.dev/archive/medium/maximizando-a-performance-de-goroutines-em-containers-com-limitacao-de-cpu-b837af1dc683/</link><pubDate>Mon, 15 Apr 2024 10:11:04 -0300</pubDate><guid>https://leocavalcante.dev/archive/medium/maximizando-a-performance-de-goroutines-em-containers-com-limitacao-de-cpu-b837af1dc683/</guid><description>&lt;p&gt;Na busca contínua por linguagens de programação eficientes e concorrentes, a linguagem Go tem se destacado por sua simplicidade, desempenho e recursos poderosos. Um dos recursos mais distintivos de Go é o conceito de &lt;strong&gt;Goroutines&lt;/strong&gt;, que permite a execução concorrente de tarefas de forma eficiente.&lt;/p&gt;</description></item><item><title>Observabilidade com Hyperf e OpenTelemetry</title><link>https://leocavalcante.dev/archive/medium/observabilidade-com-hyperf-e-opentelemetry-dd698844eda/</link><pubDate>Tue, 22 Mar 2022 15:44:16 -0300</pubDate><guid>https://leocavalcante.dev/archive/medium/observabilidade-com-hyperf-e-opentelemetry-dd698844eda/</guid><description>&lt;p&gt;&lt;img src="https://leocavalcante.dev/archive/medium/observabilidade-com-hyperf-e-opentelemetry-dd698844eda/cover.png" alt=""&gt;&lt;/p&gt;
&lt;p&gt;No PicPay, para melhorar a escalabilidade de nossas aplicações feitas em PHP, nós utilizamos a &lt;em&gt;Swoole&lt;/em&gt; como &lt;em&gt;runtime&lt;/em&gt; de alta-performance tornando as aplicações assíncronas e não-bloqueantes.&lt;/p&gt;
&lt;p&gt;Começar a utilizar a &lt;em&gt;Swoole&lt;/em&gt; trouxe alguns desafios, um deles é o da observabilidade, vamos entender mais a frente.&lt;/p&gt;</description></item><item><title>Usando a Bref para executar de forma assíncrona Corrotinas da Swoole como funções na AWS Lambda</title><link>https://leocavalcante.dev/archive/medium/usando-a-bref-para-executar-de-forma-assincrona-corrotinas-da-swoole-como-funcoes-na-aws-lambda-3c7a1c7ee4ef/</link><pubDate>Wed, 02 Mar 2022 12:53:25 -0300</pubDate><guid>https://leocavalcante.dev/archive/medium/usando-a-bref-para-executar-de-forma-assincrona-corrotinas-da-swoole-como-funcoes-na-aws-lambda-3c7a1c7ee4ef/</guid><description>&lt;p&gt;&lt;img src="https://leocavalcante.dev/archive/medium/usando-a-bref-para-executar-de-forma-assincrona-corrotinas-da-swoole-como-funcoes-na-aws-lambda-3c7a1c7ee4ef/cover.png" alt=""&gt;&lt;/p&gt;
&lt;p&gt;A &lt;a href="https://github.com/swoole/swoole-src"&gt;Swoole&lt;/a&gt; estará entregando algo muito, muito legal, que é seu próprio CLI. Você já pode começar a utilizar usando o binário pré-compilado distribuído nos releases da Swoole em &lt;a href="https://github.com/swoole/swoole-src/releases/tag/v4.8.7"&gt;https://github.com/swoole/swoole-src/releases/tag/v4.8.7&lt;/a&gt;.&lt;/p&gt;</description></item><item><title>Usando o LambdaRuntime do Bref para executar corrotinas Swoole de forma assíncrona como funções na AWS</title><link>https://leocavalcante.dev/archive/devto/using-brefs-lambaruntime-to-asynchronously-run-swoole-coroutines-as-functions-on-aws-1icm/</link><pubDate>Mon, 28 Feb 2022 22:17:19 -0300</pubDate><guid>https://leocavalcante.dev/archive/devto/using-brefs-lambaruntime-to-asynchronously-run-swoole-coroutines-as-functions-on-aws-1icm/</guid><description>&lt;p&gt;O Swoole vai lançar algo muito, muito legal: sua própria CLI. Você já pode começar a brincar com ela usando o binário pré-compilado distribuído nas releases do Swoole em &lt;a href="https://github.com/swoole/swoole-src/releases/tag/v4.8.7"&gt;https://github.com/swoole/swoole-src/releases/tag/v4.8.7&lt;/a&gt;.&lt;/p&gt;</description></item><item><title>Hyperf nativo da nuvem</title><link>https://leocavalcante.dev/archive/devto/cloud-native-hyperf-6ja/</link><pubDate>Tue, 15 Feb 2022 20:31:05 -0300</pubDate><guid>https://leocavalcante.dev/archive/devto/cloud-native-hyperf-6ja/</guid><description>&lt;p&gt;Publicado originalmente por &lt;a href="https://twitter.com/Reasno_g"&gt;@Reasno&lt;/a&gt; em &lt;a href="https://guxi.me/posts/cloudnative-hyperf"&gt;guxi.me/posts/cloudnative-hyperf&lt;/a&gt;&lt;/p&gt;
&lt;hr&gt;
&lt;p&gt;O Hyperf fornece oficialmente imagens de contêiner, e as opções de configuração são bem abertas. Fazer o deploy do Hyperf na nuvem em si não é complicado. Vamos usar Kubernetes como exemplo e fazer algumas modificações no pacote esqueleto padrão do Hyperf para que ele rode de forma elegante no Kubernetes. Este artigo não é uma introdução ao Kubernetes, então quem lê precisa ter algum conhecimento sobre Kubernetes.&lt;/p&gt;</description></item><item><title>Nano, o micro-framework pra Swoole que é meu novo xodó</title><link>https://leocavalcante.dev/nano-o-micro-framework-pra-swoole-que-e-meu-novo-xodo/</link><pubDate>Sat, 24 Jul 2021 22:17:38 -0300</pubDate><guid>https://leocavalcante.dev/nano-o-micro-framework-pra-swoole-que-e-meu-novo-xodo/</guid><description>&lt;p&gt;Inspirado no &lt;a href="https://leocarmo.dev/hyperf-php-coroutine-framework-baseado-em-swoole"&gt;artigo sobre Hyperf&lt;/a&gt; do grade @&lt;a href="@leocarmo"&gt;Leonardo do Carmo&lt;/a&gt; (e também na dica dele sobre a hashnode hehe) resolvi passar por aqui e escrever sobre o &lt;a href="https://nano.hyperf.wiki/"&gt;Nano&lt;/a&gt;, o micro-framework pra Swoole da galera do Hyperf.&lt;/p&gt;</description></item><item><title>Crie uma API GraphQL sobre o Swoole</title><link>https://leocavalcante.dev/archive/medium/build-a-graphql-api-on-top-of-swoole-5de5d71b6e12/</link><pubDate>Sat, 10 Aug 2019 16:24:14 -0300</pubDate><guid>https://leocavalcante.dev/archive/medium/build-a-graphql-api-on-top-of-swoole-5de5d71b6e12/</guid><description>&lt;p&gt;Estou assumindo que você já sabe o que são &lt;a href="https://graphql.org/"&gt;GraphQL&lt;/a&gt; e &lt;a href="https://www.swoole.co.uk"&gt;Swoole&lt;/a&gt;, então que tal irmos direto para o código?&lt;/p&gt;
&lt;p&gt;O que talvez você ainda não conheça é o &lt;a href="https://github.com/leocavalcante/siler"&gt;Siler&lt;/a&gt;! Ele é um conjunto de abstrações de alto nível e propósito geral que busca oferecer uma API para programação declarativa em PHP.&lt;/p&gt;</description></item><item><title>Música com F#: a linguagem e a nota</title><link>https://leocavalcante.dev/archive/medium/music-with-f-the-language-and-the-note-403bd1fcfc31/</link><pubDate>Thu, 11 Oct 2018 22:20:16 -0300</pubDate><guid>https://leocavalcante.dev/archive/medium/music-with-f-the-language-and-the-note-403bd1fcfc31/</guid><description>&lt;p&gt;&lt;img src="https://leocavalcante.dev/archive/medium/music-with-f-the-language-and-the-note-403bd1fcfc31/cover.jpg" alt=""&gt;&lt;/p&gt;
&lt;p&gt;Quando não estou diante de uma “sopa de letras coloridas” (as pessoas dizem isso quando veem minha tela no VS Code) ou de um “texto verde pulando” (sim, essa é para o terminal), eu gosto de tocar e estudar música! Mergulhando na minha jornada com F#, esta é a minha tentativa de misturar essa paixão nova com a antiga.&lt;/p&gt;</description></item><item><title>API REST com MongoDB e F# no .NET Core</title><link>https://leocavalcante.dev/archive/medium/rest-api-with-mongodb-and-f-on-net-core-605a2336f264/</link><pubDate>Sat, 29 Sep 2018 23:32:07 -0300</pubDate><guid>https://leocavalcante.dev/archive/medium/rest-api-with-mongodb-and-f-on-net-core-605a2336f264/</guid><description>&lt;p&gt;&lt;img src="https://leocavalcante.dev/archive/medium/rest-api-with-mongodb-and-f-on-net-core-605a2336f264/cover.jpg" alt=""&gt;&lt;/p&gt;
&lt;p&gt;Tenho apenas alguns anos em programação funcional, apenas algumas semanas em F# e nenhuma base ou experiência com .NET, então não tome isto como referência de especialista; sou apenas eu documentando o que aprendi até agora.&lt;/p&gt;</description></item><item><title>Tutorial: Gerenciando estado no Flutter com ReduRx.</title><link>https://leocavalcante.dev/archive/medium/tutorial-handling-state-in-flutter-with-redurx-b4d50c647e4a/</link><pubDate>Sat, 04 Aug 2018 15:29:51 -0300</pubDate><guid>https://leocavalcante.dev/archive/medium/tutorial-handling-state-in-flutter-with-redurx-b4d50c647e4a/</guid><description>&lt;p&gt;Uma das coisas mais difíceis no desenvolvimento - IMHO - depois de nomear, é lidar com estado, pelo menos lidar com ele de forma reativa sem excessos (over-building, over-rendering, over-painting e overhead!).&lt;/p&gt;</description></item><item><title>Hash/Digest não é Criptografia?</title><link>https://leocavalcante.dev/archive/medium/hash-digest-nao-e-criptografia-940374fe565c/</link><pubDate>Tue, 07 Nov 2017 00:20:49 -0200</pubDate><guid>https://leocavalcante.dev/archive/medium/hash-digest-nao-e-criptografia-940374fe565c/</guid><description>&lt;p&gt;É comum as pessoas defenderem que hash não é criptografia; fazem isso veemente a ponto de ridicularizar quando leem algo como “Fiz criptografia com MD5”. É tão errado assim falar isso?&lt;/p&gt;</description></item><item><title>Estruturas de dados type-safe e bananas sem gorilas em PHP</title><link>https://leocavalcante.dev/archive/medium/type-safe-data-structures-and-bananas-without-gorillas-in-php-30351fba51b2/</link><pubDate>Sun, 30 Apr 2017 17:23:50 -0300</pubDate><guid>https://leocavalcante.dev/archive/medium/type-safe-data-structures-and-bananas-without-gorillas-in-php-30351fba51b2/</guid><description>&lt;p&gt;Eu costumava amar tudo sobre programação orientada a objetos, ignorando todo o resto. Quando finalmente entendi, achei que todo software deveria ser desenvolvido usando OO e, se não fosse, estaria errado.&lt;/p&gt;</description></item><item><title>Livros</title><link>https://leocavalcante.dev/livros/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://leocavalcante.dev/livros/</guid><description>&lt;table&gt;
	&lt;thead&gt;
			&lt;tr&gt;
					&lt;th&gt;Nome&lt;/th&gt;
					&lt;th&gt;Autor(a)&lt;/th&gt;
					&lt;th&gt;Tags&lt;/th&gt;
			&lt;/tr&gt;
	&lt;/thead&gt;
	&lt;tbody&gt;
			&lt;tr&gt;
					&lt;td&gt;The Pragmatic Programmer&lt;/td&gt;
					&lt;td&gt;Andy Hunt, Dave Thomas&lt;/td&gt;
					&lt;td&gt;&lt;span class="book-tags"&gt;&lt;span class="book-tag"&gt;Iniciante&lt;/span&gt;&lt;span class="book-tag book-tag-recommended"&gt;Recomendo&lt;/span&gt;&lt;/span&gt;&lt;/td&gt;
			&lt;/tr&gt;
			&lt;tr&gt;
					&lt;td&gt;A Philosophy of Software Design&lt;/td&gt;
					&lt;td&gt;John Ousterhout&lt;/td&gt;
					&lt;td&gt;&lt;span class="book-tags"&gt;&lt;span class="book-tag"&gt;Iniciante&lt;/span&gt;&lt;span class="book-tag book-tag-recommended"&gt;Recomendo&lt;/span&gt;&lt;/span&gt;&lt;/td&gt;
			&lt;/tr&gt;
			&lt;tr&gt;
					&lt;td&gt;99 Bottles of OOP: A Practical Guide to Object-Oriented&lt;/td&gt;
					&lt;td&gt;Sandi Metz&lt;/td&gt;
					&lt;td&gt;&lt;span class="book-tags"&gt;&lt;span class="book-tag"&gt;Iniciante&lt;/span&gt;&lt;span class="book-tag book-tag-recommended"&gt;Recomendo&lt;/span&gt;&lt;/span&gt;&lt;/td&gt;
			&lt;/tr&gt;
			&lt;tr&gt;
					&lt;td&gt;Clean Code&lt;/td&gt;
					&lt;td&gt;Robert Cecil Martin&lt;/td&gt;
					&lt;td&gt;&lt;span class="book-tags"&gt;&lt;span class="book-tag"&gt;Iniciante&lt;/span&gt;&lt;/span&gt;&lt;/td&gt;
			&lt;/tr&gt;
			&lt;tr&gt;
					&lt;td&gt;Design Patterns&lt;/td&gt;
					&lt;td&gt;Gang of Four&lt;/td&gt;
					&lt;td&gt;&lt;span class="book-tags"&gt;&lt;span class="book-tag"&gt;Intermediário&lt;/span&gt;&lt;/span&gt;&lt;/td&gt;
			&lt;/tr&gt;
			&lt;tr&gt;
					&lt;td&gt;Refactoring&lt;/td&gt;
					&lt;td&gt;Kent Back, Martin Fowler&lt;/td&gt;
					&lt;td&gt;&lt;span class="book-tags"&gt;&lt;span class="book-tag"&gt;Intermediário&lt;/span&gt;&lt;/span&gt;&lt;/td&gt;
			&lt;/tr&gt;
			&lt;tr&gt;
					&lt;td&gt;Implementing Domain-Driven Design&lt;/td&gt;
					&lt;td&gt;Vaughn Vernon&lt;/td&gt;
					&lt;td&gt;&lt;span class="book-tags"&gt;&lt;span class="book-tag"&gt;Intermediário&lt;/span&gt;&lt;span class="book-tag book-tag-recommended"&gt;Recomendo&lt;/span&gt;&lt;/span&gt;&lt;/td&gt;
			&lt;/tr&gt;
			&lt;tr&gt;
					&lt;td&gt;AI Engineering: Building Applications with Foundation Models&lt;/td&gt;
					&lt;td&gt;Chip Huyen&lt;/td&gt;
					&lt;td&gt;&lt;span class="book-tags"&gt;&lt;span class="book-tag"&gt;Intermediário&lt;/span&gt;&lt;/span&gt;&lt;/td&gt;
			&lt;/tr&gt;
			&lt;tr&gt;
					&lt;td&gt;Domain-Driven Design&lt;/td&gt;
					&lt;td&gt;Eric Evans&lt;/td&gt;
					&lt;td&gt;&lt;span class="book-tags"&gt;&lt;span class="book-tag"&gt;Avançado&lt;/span&gt;&lt;/span&gt;&lt;/td&gt;
			&lt;/tr&gt;
			&lt;tr&gt;
					&lt;td&gt;Designing Data-Intensive Applications&lt;/td&gt;
					&lt;td&gt;Martin Kleppmann&lt;/td&gt;
					&lt;td&gt;&lt;span class="book-tags"&gt;&lt;span class="book-tag"&gt;Avançado&lt;/span&gt;&lt;span class="book-tag book-tag-recommended"&gt;Recomendo&lt;/span&gt;&lt;/span&gt;&lt;/td&gt;
			&lt;/tr&gt;
			&lt;tr&gt;
					&lt;td&gt;Staff Engineer: Leadership beyond the management track&lt;/td&gt;
					&lt;td&gt;Will Larson&lt;/td&gt;
					&lt;td&gt;&lt;span class="book-tags"&gt;&lt;span class="book-tag"&gt;Avançado&lt;/span&gt;&lt;/span&gt;&lt;/td&gt;
			&lt;/tr&gt;
	&lt;/tbody&gt;
&lt;/table&gt;</description></item></channel></rss>