<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom"><channel><title>blog on Robin Vale</title><link>https://adamsalves.github.io/terminal-mono/pt/blogs/</link><description>Recent content in blog on Robin Vale</description><generator>Hugo</generator><language>pt-BR</language><lastBuildDate>Thu, 12 Mar 2026 00:00:00 +0000</lastBuildDate><atom:link href="https://adamsalves.github.io/terminal-mono/pt/blogs/index.xml" rel="self" type="application/rss+xml"/><item><title>Migrando o Trailhead para o Nuxt 3</title><link>https://adamsalves.github.io/terminal-mono/pt/blogs/trailhead-nuxt-3/</link><pubDate>Thu, 12 Mar 2026 00:00:00 +0000</pubDate><guid>https://adamsalves.github.io/terminal-mono/pt/blogs/trailhead-nuxt-3/</guid><description>&lt;p&gt;Neste post eu compartilho como abordei a migração do Trailhead para o Nuxt 3: as decisões, os tropeços e o que eu faria diferente numa próxima. Sem enrolação — bora ao que importa.&lt;/p&gt;</description></item><item><title>Gerando áudio chiptune com a Web Audio API</title><link>https://adamsalves.github.io/terminal-mono/pt/blogs/chiptune-web-audio-api/</link><pubDate>Fri, 27 Feb 2026 00:00:00 +0000</pubDate><guid>https://adamsalves.github.io/terminal-mono/pt/blogs/chiptune-web-audio-api/</guid><description>&lt;p&gt;No Neon Drift, eu não queria carregar dezenas de arquivos de áudio. A solução foi gerar tudo em tempo real com a Web Audio API — moedas, pulos e a trilha, tudo sintetizado.&lt;/p&gt;</description></item><item><title>Planning Poker em tempo real com Socket.IO</title><link>https://adamsalves.github.io/terminal-mono/pt/blogs/planning-poker-socketio/</link><pubDate>Sun, 08 Feb 2026 00:00:00 +0000</pubDate><guid>https://adamsalves.github.io/terminal-mono/pt/blogs/planning-poker-socketio/</guid><description>&lt;p&gt;Tempo real parece complicado até você desenhar os eventos certos. No Sprint Deck, tudo gira em torno de salas e de um punhado de mensagens bem definidas.&lt;/p&gt;
&lt;h2 id="os-eventos"&gt;&lt;span class="cmt"&gt;#&lt;/span&gt; Os eventos&lt;/h2&gt;&lt;p&gt;A regra que me salvou: o servidor é a fonte da verdade. O cliente só &lt;strong&gt;emite intenções&lt;/strong&gt; e &lt;strong&gt;reage ao estado&lt;/strong&gt; que volta.&lt;/p&gt;</description></item><item><title>Testes em Vue na prática: Vitest + Testing Library</title><link>https://adamsalves.github.io/terminal-mono/pt/blogs/testing-vue-vitest/</link><pubDate>Wed, 21 Jan 2026 00:00:00 +0000</pubDate><guid>https://adamsalves.github.io/terminal-mono/pt/blogs/testing-vue-vitest/</guid><description>&lt;p&gt;Testar Vue ficou prazeroso com o Vitest. Mas ferramenta boa não substitui critério: o que vale a pena testar?&lt;/p&gt;
&lt;h2 id="o-que-testar"&gt;&lt;span class="cmt"&gt;#&lt;/span&gt; O que testar&lt;/h2&gt;&lt;p&gt;Eu testo &lt;strong&gt;comportamento&lt;/strong&gt;, não implementação. Se o usuário clica e algo aparece, é isso que o teste verifica.&lt;/p&gt;</description></item></channel></rss>