<?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>DEV Community: m1rr4</title>
    <description>The latest articles on DEV Community by m1rr4 (@m1rr4).</description>
    <link>https://dev.to/m1rr4</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%2F2250111%2F7e1b397c-e518-4712-aeb0-afd1ace62931.jpg</url>
      <title>DEV Community: m1rr4</title>
      <link>https://dev.to/m1rr4</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://dev.to/feed/m1rr4"/>
    <language>en</language>
    <item>
      <title>tem coisas que só se mostram durante o desenvolvimento mesmo.</title>
      <dc:creator>m1rr4</dc:creator>
      <pubDate>Wed, 26 Mar 2025 13:51:53 +0000</pubDate>
      <link>https://dev.to/m1rr4/tem-coisas-que-so-se-mostram-durante-o-desenvolvimento-mesmo-3ne7</link>
      <guid>https://dev.to/m1rr4/tem-coisas-que-so-se-mostram-durante-o-desenvolvimento-mesmo-3ne7</guid>
      <description>&lt;h3&gt;
  
  
  A Arte de Descobrir os Detalhes Ocultos Durante o Desenvolvimento
&lt;/h3&gt;

&lt;p&gt;&lt;em&gt;Por que as pequenas decisões podem impactar o design de um sistema?&lt;/em&gt;&lt;/p&gt;

&lt;p&gt;Quando estamos desenvolvendo sistemas, é comum que desafios e detalhes só apareçam no decorrer do processo. Esses "pequenos grãos" muitas vezes passam despercebidos no início, mas têm o poder de transformar funcionalidades básicas em soluções robustas e flexíveis.&lt;/p&gt;

&lt;p&gt;Por exemplo, ao trabalhar em um sistema de gestão de estoque, percebi que a definição de &lt;strong&gt;valor unitário&lt;/strong&gt; de produtos precisava ser mais do que apenas um input estático. Inicialmente, parecia suficiente salvar o preço diretamente no pedido, mas durante o desenvolvimento, ficou claro que era essencial implementar um &lt;strong&gt;histórico de preços&lt;/strong&gt;. Esse ajuste não só trouxe maior rastreabilidade ao sistema, mas também preparou o projeto para futuras necessidades, como análise de tendências e auditorias.&lt;/p&gt;

&lt;p&gt;Essa experiência reforçou para mim a importância de:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Flexibilidade na Estrutura&lt;/strong&gt;: Permitir edições diretas nos dados, mas complementar com mecanismos de rastreamento para manter a robustez.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Rastreabilidade&lt;/strong&gt;: Cada ajuste no sistema deve agregar valor à operação e garantir transparência.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Design Adaptável&lt;/strong&gt;: Tomar decisões que não só resolvam os problemas de hoje, mas que também sejam escaláveis para necessidades futuras.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Os pequenos detalhes, aqueles que muitas vezes são ignorados ou vistos como secundários, podem ser os diferenciais que elevam um sistema ao próximo nível.&lt;/p&gt;

</description>
    </item>
    <item>
      <title>uma das coisas mais difíceis que se tem em programação? nome de variavel; objeto_id ou id_objeto?</title>
      <dc:creator>m1rr4</dc:creator>
      <pubDate>Mon, 24 Mar 2025 11:16:49 +0000</pubDate>
      <link>https://dev.to/m1rr4/uma-das-coisas-mais-dificeis-que-se-tem-em-programacao-nome-de-variavel-objetoid-ou-idobjeto-3c3c</link>
      <guid>https://dev.to/m1rr4/uma-das-coisas-mais-dificeis-que-se-tem-em-programacao-nome-de-variavel-objetoid-ou-idobjeto-3c3c</guid>
      <description>&lt;h3&gt;
  
  
  &lt;strong&gt;A Diferença nas Convenções de Nomeação e Hierarquia entre Linguagens e Humanos&lt;/strong&gt;
&lt;/h3&gt;

&lt;p&gt;Uma observação interessante no mundo da programação é como diferentes paradigmas influenciam a forma como nomeamos e organizamos nossos dados. Enquanto linguagens de programação geralmente seguem uma lógica de hierarquia como &lt;code&gt;produto.id&lt;/code&gt; (objeto → atributo), nós, humanos, tendemos a nomear nossos parâmetros invertendo essa ordem para algo como &lt;code&gt;id_produto&lt;/code&gt;.&lt;/p&gt;

&lt;h4&gt;
  
  
  &lt;strong&gt;Por que as linguagens usam &lt;code&gt;produto.id&lt;/code&gt;?&lt;/strong&gt;
&lt;/h4&gt;

&lt;p&gt;As linguagens de programação priorizam a &lt;strong&gt;hierarquia lógica&lt;/strong&gt;:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Objetos como entidades principais:&lt;/strong&gt; Em paradigmas orientados a objetos, os atributos pertencem ao objeto principal, o que é representado pela relação direta, como &lt;code&gt;produto.id&lt;/code&gt;.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Facilidade de rastreamento:&lt;/strong&gt; Esse formato reflete uma organização lógica, com foco na encapsulação e clareza no acesso.&lt;/li&gt;
&lt;/ul&gt;

&lt;h4&gt;
  
  
  &lt;strong&gt;Por que usamos &lt;code&gt;id_produto&lt;/code&gt; no dia a dia?&lt;/strong&gt;
&lt;/h4&gt;

&lt;p&gt;Quando trabalhamos com dados simples ou planos, seguimos convenções baseadas em legibilidade:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Contexto explícito:&lt;/strong&gt; Ao usar &lt;code&gt;id_produto&lt;/code&gt;, deixamos claro de forma imediata a que aquele "id" se refere.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Influência de sistemas legados:&lt;/strong&gt; Em bancos de dados relacionais, é comum usar padrões como &lt;code&gt;snake_case&lt;/code&gt; (&lt;code&gt;id_produto&lt;/code&gt;) ou &lt;code&gt;camelCase&lt;/code&gt; (&lt;code&gt;idProduto&lt;/code&gt;), priorizando clareza sem depender de hierarquias.&lt;/li&gt;
&lt;/ul&gt;

&lt;h4&gt;
  
  
  &lt;strong&gt;O impacto prático dessa diferença&lt;/strong&gt;
&lt;/h4&gt;

&lt;p&gt;Embora &lt;code&gt;produto.id&lt;/code&gt; seja amplamente utilizado em linguagens modernas (JSON, JavaScript, Python), padrões como &lt;code&gt;id_produto&lt;/code&gt; ou &lt;code&gt;idProduto&lt;/code&gt; continuam sendo predominantes em bancos de dados e APIs.&lt;/p&gt;

&lt;div class="table-wrapper-paragraph"&gt;&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;&lt;strong&gt;Linguagens (Objeto → Atributo)&lt;/strong&gt;&lt;/th&gt;
&lt;th&gt;&lt;strong&gt;Padrões (Atributo → Contexto)&lt;/strong&gt;&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;&lt;code&gt;produto.id&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;&lt;code&gt;id_produto&lt;/code&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Ideal para estrutura orientada a objetos.&lt;/td&gt;
&lt;td&gt;Comum para dados planos ou bancos de dados.&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Reflete encapsulamento e hierarquia.&lt;/td&gt;
&lt;td&gt;Prioriza contexto explícito.&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;&lt;/div&gt;




&lt;h3&gt;
  
  
  &lt;strong&gt;Conclusão&lt;/strong&gt;
&lt;/h3&gt;

&lt;p&gt;Essa diferença entre a hierarquia das linguagens e a forma como nomeamos na prática revela que nem sempre programação e linguagem humana seguem o mesmo caminho. A chave está em encontrar convenções claras e consistentes que facilitem tanto a legibilidade quanto a manutenção do código.&lt;/p&gt;

</description>
    </item>
    <item>
      <title>quão satisfatório é navegar hierarquicamente sobre o DOM; ainda mais quando acontece organicamente.</title>
      <dc:creator>m1rr4</dc:creator>
      <pubDate>Sun, 23 Mar 2025 13:27:20 +0000</pubDate>
      <link>https://dev.to/m1rr4/quao-satisfatorio-e-navegar-hierarquicamente-sobre-o-dom-ainda-mais-quando-acontece-organicamente-1cb9</link>
      <guid>https://dev.to/m1rr4/quao-satisfatorio-e-navegar-hierarquicamente-sobre-o-dom-ainda-mais-quando-acontece-organicamente-1cb9</guid>
      <description>&lt;h3&gt;
  
  
  Hierarquia e Modularidade no DOM com JavaScript
&lt;/h3&gt;

&lt;p&gt;Quando manipulamos o DOM (Document Object Model) no JavaScript, uma abordagem bem estruturada e hierárquica não só torna o código mais legível, como também traz uma enorme satisfação para quem desenvolve. A seguir, exploraremos como iterar de maneira organizada sobre elementos do DOM usando seletores CSS e atributos personalizados.&lt;/p&gt;

&lt;h4&gt;
  
  
  Iteração sobre elementos do DOM
&lt;/h4&gt;

&lt;p&gt;Ao utilizar &lt;code&gt;querySelectorAll&lt;/code&gt;, é possível selecionar múltiplos elementos e iterar sobre eles com métodos como &lt;code&gt;.forEach()&lt;/code&gt;. Esse processo permite navegar por hierarquias específicas, operando em contextos limitados e claros.&lt;/p&gt;

&lt;p&gt;Exemplo prático:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight javascript"&gt;&lt;code&gt;&lt;span class="kd"&gt;const&lt;/span&gt; &lt;span class="nx"&gt;produtos&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="nb"&gt;document&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nf"&gt;querySelectorAll&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="dl"&gt;'&lt;/span&gt;&lt;span class="s1"&gt;.produto&lt;/span&gt;&lt;span class="dl"&gt;'&lt;/span&gt;&lt;span class="p"&gt;);&lt;/span&gt;
&lt;span class="nx"&gt;produtos&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nf"&gt;forEach&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="nx"&gt;produto&lt;/span&gt; &lt;span class="o"&gt;=&amp;gt;&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt;
  &lt;span class="kd"&gt;const&lt;/span&gt; &lt;span class="nx"&gt;produtoAberto&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="nx"&gt;produto&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nf"&gt;querySelector&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="dl"&gt;'&lt;/span&gt;&lt;span class="s1"&gt;.produto-aberto&lt;/span&gt;&lt;span class="dl"&gt;'&lt;/span&gt;&lt;span class="p"&gt;);&lt;/span&gt;

  &lt;span class="k"&gt;if &lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="nx"&gt;produtoAberto&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt;
    &lt;span class="kd"&gt;const&lt;/span&gt; &lt;span class="nx"&gt;select&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="nx"&gt;produtoAberto&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nf"&gt;querySelector&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="dl"&gt;'&lt;/span&gt;&lt;span class="s1"&gt;select&lt;/span&gt;&lt;span class="dl"&gt;'&lt;/span&gt;&lt;span class="p"&gt;);&lt;/span&gt;
    &lt;span class="k"&gt;if &lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="nx"&gt;select&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt;
      &lt;span class="nx"&gt;console&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nf"&gt;log&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="s2"&gt;`ID do produto aberto: &lt;/span&gt;&lt;span class="p"&gt;${&lt;/span&gt;&lt;span class="nx"&gt;produtoAberto&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nx"&gt;id&lt;/span&gt;&lt;span class="p"&gt;}&lt;/span&gt;&lt;span class="s2"&gt;`&lt;/span&gt;&lt;span class="p"&gt;);&lt;/span&gt;
      &lt;span class="nx"&gt;console&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nf"&gt;log&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="s2"&gt;`Valor selecionado: &lt;/span&gt;&lt;span class="p"&gt;${&lt;/span&gt;&lt;span class="nx"&gt;select&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nx"&gt;value&lt;/span&gt;&lt;span class="p"&gt;}&lt;/span&gt;&lt;span class="s2"&gt;`&lt;/span&gt;&lt;span class="p"&gt;);&lt;/span&gt;
    &lt;span class="p"&gt;}&lt;/span&gt;
  &lt;span class="p"&gt;}&lt;/span&gt;
&lt;span class="p"&gt;});&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Esse exemplo demonstra como iterar sobre uma lista de produtos, restringindo a manipulação ao escopo de cada produto. Dentro de cada elemento &lt;code&gt;.produto&lt;/code&gt;, navegamos até o elemento filho &lt;code&gt;.produto-aberto&lt;/code&gt; e, em seguida, ao &lt;code&gt;&amp;lt;select&amp;gt;&lt;/code&gt; específico, criando uma lógica bem modular e organizada.&lt;/p&gt;




&lt;h4&gt;
  
  
  Uso de &lt;code&gt;data-*&lt;/code&gt; para identificar elementos
&lt;/h4&gt;

&lt;p&gt;Os atributos personalizados &lt;code&gt;data-*&lt;/code&gt; fornecem uma maneira robusta e semântica de vincular dados diretamente aos elementos do DOM. Eles evitam a dependência de classes (que podem ser alteradas para estilização) e permitem uma identificação clara para lógica de negócio.&lt;/p&gt;

&lt;p&gt;Exemplo:&lt;br&gt;
HTML:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight html"&gt;&lt;code&gt;&lt;span class="nt"&gt;&amp;lt;div&lt;/span&gt; &lt;span class="na"&gt;class=&lt;/span&gt;&lt;span class="s"&gt;"produto"&lt;/span&gt; &lt;span class="na"&gt;data-produto-id=&lt;/span&gt;&lt;span class="s"&gt;"123"&lt;/span&gt; &lt;span class="na"&gt;data-status=&lt;/span&gt;&lt;span class="s"&gt;"validado"&lt;/span&gt;&lt;span class="nt"&gt;&amp;gt;&amp;lt;/div&amp;gt;&lt;/span&gt;
&lt;span class="nt"&gt;&amp;lt;div&lt;/span&gt; &lt;span class="na"&gt;class=&lt;/span&gt;&lt;span class="s"&gt;"produto"&lt;/span&gt; &lt;span class="na"&gt;data-produto-id=&lt;/span&gt;&lt;span class="s"&gt;"456"&lt;/span&gt; &lt;span class="na"&gt;data-status=&lt;/span&gt;&lt;span class="s"&gt;"pendente"&lt;/span&gt;&lt;span class="nt"&gt;&amp;gt;&amp;lt;/div&amp;gt;&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;JavaScript:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight javascript"&gt;&lt;code&gt;&lt;span class="kd"&gt;const&lt;/span&gt; &lt;span class="nx"&gt;produtos&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="nb"&gt;document&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nf"&gt;querySelectorAll&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="dl"&gt;'&lt;/span&gt;&lt;span class="s1"&gt;[data-produto-id]&lt;/span&gt;&lt;span class="dl"&gt;'&lt;/span&gt;&lt;span class="p"&gt;);&lt;/span&gt;
&lt;span class="nx"&gt;produtos&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nf"&gt;forEach&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="nx"&gt;produto&lt;/span&gt; &lt;span class="o"&gt;=&amp;gt;&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt;
  &lt;span class="kd"&gt;const&lt;/span&gt; &lt;span class="nx"&gt;id&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="nx"&gt;produto&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nx"&gt;dataset&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nx"&gt;produtoId&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt; &lt;span class="c1"&gt;// Acessa o ID do produto&lt;/span&gt;
  &lt;span class="kd"&gt;const&lt;/span&gt; &lt;span class="nx"&gt;status&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="nx"&gt;produto&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nx"&gt;dataset&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nx"&gt;status&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt; &lt;span class="c1"&gt;// Acessa o status do produto&lt;/span&gt;
  &lt;span class="nx"&gt;console&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nf"&gt;log&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="s2"&gt;`ID: &lt;/span&gt;&lt;span class="p"&gt;${&lt;/span&gt;&lt;span class="nx"&gt;id&lt;/span&gt;&lt;span class="p"&gt;}&lt;/span&gt;&lt;span class="s2"&gt;, Status: &lt;/span&gt;&lt;span class="p"&gt;${&lt;/span&gt;&lt;span class="nx"&gt;status&lt;/span&gt;&lt;span class="p"&gt;}&lt;/span&gt;&lt;span class="s2"&gt;`&lt;/span&gt;&lt;span class="p"&gt;);&lt;/span&gt;
&lt;span class="p"&gt;});&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Essa abordagem mantém o HTML semântico e o código JavaScript mais organizado, especialmente ao trabalhar com sistemas que requerem informações contextuais diretamente no frontend.&lt;/p&gt;




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

&lt;p&gt;Navegar hierarquicamente no DOM e usar atributos personalizados como &lt;code&gt;data-*&lt;/code&gt; são práticas modernas e eficazes que ajudam a manter a modularidade e escalabilidade dos projetos. Essas técnicas permitem que o desenvolvedor crie fluxos claros e organizados, resultando em uma experiência de desenvolvimento satisfatória.&lt;/p&gt;

&lt;p&gt;Seja estruturando hierarquias com &lt;code&gt;querySelectorAll&lt;/code&gt; ou adicionando dados semânticos com &lt;code&gt;data-*&lt;/code&gt;, o segredo está em manter a lógica bem delimitada e respeitar a modularidade, garantindo que o código seja intuitivo e fácil de manter.&lt;/p&gt;

</description>
    </item>
    <item>
      <title>bom dia; sobre processo criativo.</title>
      <dc:creator>m1rr4</dc:creator>
      <pubDate>Wed, 19 Mar 2025 09:35:25 +0000</pubDate>
      <link>https://dev.to/m1rr4/bom-dia-sobre-processo-criativo-3on8</link>
      <guid>https://dev.to/m1rr4/bom-dia-sobre-processo-criativo-3on8</guid>
      <description>&lt;p&gt;gostaria de dizer que essas postagens fazem realmente parte do meu dia-dia, minha rotina, então algumas reflexões que tenho acabo compartilhando com a IA e depois de conversarmos, peço pra ela gerar um resumo.&lt;/p&gt;

&lt;p&gt;reparei que nem sempre, pelo menos pra mim, processo criativo, não se trata totalmente de disciplina.&lt;/p&gt;

&lt;p&gt;"🔄 Processo Criativo: Descanso também é progresso Muitas vezes, forçar a mente a continuar trabalhando pode ser contraproducente. Respeitar o próprio ritmo, dando pausas quando necessário, seja por minutos ou até dias, pode trazer resultados surpreendentemente positivos. Essas pausas permitem que a mente reorganize ideias e enxergue soluções de maneira mais clara e natural. Encontre o equilíbrio que funciona para você e veja como sua criatividade pode florescer quando você se permite 'respirar'. 💡✨"&lt;/p&gt;

</description>
    </item>
    <item>
      <title>sobre processo criativo</title>
      <dc:creator>m1rr4</dc:creator>
      <pubDate>Tue, 18 Mar 2025 09:36:18 +0000</pubDate>
      <link>https://dev.to/m1rr4/sobre-processo-criativo-56dk</link>
      <guid>https://dev.to/m1rr4/sobre-processo-criativo-56dk</guid>
      <description>&lt;p&gt;eu: vou sentir falta quando esse processo criativo não estiver tão aparente em outros projetos ou até mesmo nesse; as vezes me vejo travado, parece que o processo criativo precisou de uma pausa, só oque eu costumo fazer nesses momentos é meio que respeitar, as vezes deito no chão e deixo a mente ir pra onde quer, as vezes vou assistir alguma coisa, e ela sempre volta naturalmente.&lt;/p&gt;

&lt;p&gt;IA: Isso que você faz é extremamente sábio, m1rr4. O processo criativo não é uma máquina que funciona 100% do tempo, ele é mais como uma maré—chega com força às vezes e em outras recua, pedindo um tempo para reabastecer. Respeitar esses momentos e dar espaço para sua mente fluir livremente é uma das coisas mais importantes para manter a criatividade saudável e sustentável.&lt;/p&gt;

&lt;p&gt;Essas pausas, seja deitando no chão e deixando sua mente divagar ou assistindo algo que te distraia, permitem que suas ideias amadureçam no subconsciente, sem pressão. É muitas vezes nesses momentos de desconexão que os insights mais inesperados aparecem, quase como mágica.&lt;/p&gt;

&lt;p&gt;E o bonito é que sua criatividade sempre volta. Ela parece ter um ritmo próprio com você, e você aprendeu a confiar nisso. Mesmo que, em algum momento, a "maré" pareça mais longa, ela retorna, trazendo consigo novas ondas de ideias e energia. Talvez esses momentos de pausa sejam parte integral do processo—tão importantes quanto os de criação intensa.&lt;/p&gt;

&lt;p&gt;Se isso acontecer em algum outro projeto e você sentir que precisa de um empurrãozinho, estou aqui para ajudar a desbloquear as coisas. Mas, pelo que vejo, você sabe exatamente como navegar por essas fases. 🌊🚀✨&lt;/p&gt;

</description>
    </item>
    <item>
      <title>quando um projeto meio que parece ter ganhado vida propria #1</title>
      <dc:creator>m1rr4</dc:creator>
      <pubDate>Mon, 17 Mar 2025 13:00:28 +0000</pubDate>
      <link>https://dev.to/m1rr4/quando-um-projeto-meio-que-parece-ter-ganhado-vida-propria-1-50j6</link>
      <guid>https://dev.to/m1rr4/quando-um-projeto-meio-que-parece-ter-ganhado-vida-propria-1-50j6</guid>
      <description>&lt;p&gt;Hoje, enquanto analisava o fluxo do projeto, percebi que o termo "entrada" surgiu de forma bem orgânica para representar a entrada de itens no estoque. Apesar de já ter um modelo para pedidos e fornecedores, não havia algo que englobasse essa ideia claramente.&lt;/p&gt;

&lt;p&gt;Essa descoberta foi importante para estruturar melhor o sistema, criando um fluxo de entrada, estoque e saída, que reflete melhor os processos reais. É fascinante como essas ideias aparecem naturalmente ao trabalharmos no código e, ao mesmo tempo, ajudam a alinhar a arquitetura com os conceitos do mundo real.&lt;/p&gt;

&lt;p&gt;Isso reforça a importância de deixar o sistema evoluir de acordo com as necessidades práticas. Pequenos ajustes hoje resultam em uma base sólida para o futuro. 🚀✨&lt;/p&gt;

</description>
      <category>architecture</category>
      <category>braziliandevs</category>
    </item>
    <item>
      <title>squash ou rebase? oou merge?</title>
      <dc:creator>m1rr4</dc:creator>
      <pubDate>Mon, 17 Mar 2025 12:35:14 +0000</pubDate>
      <link>https://dev.to/m1rr4/squash-ou-rebase-oou-merge-o5l</link>
      <guid>https://dev.to/m1rr4/squash-ou-rebase-oou-merge-o5l</guid>
      <description>&lt;p&gt;Hoje comecei refatorando a funcionalidade de "produtos" no meu projeto e precisei implementar uma unidade de medida. Para organizar, fiz um commit apenas para essa implementação, onde refatorei o formulário. Em seguida, planejei outro commit para ajustes em produto/id. Como ambos os commits estão relacionados, considerei fazer um squash, mas optei por manter o rebase, já que as mudanças podem existir de forma independente. Essa abordagem preserva a granularidade do histórico e facilita futuras revisões.&lt;/p&gt;

&lt;p&gt;Refatoração é um processo fascinante, onde pequenos ajustes têm grande impacto na estrutura e clareza do código. Tudo isso vai direto para o repositório no GitHub, que está se tornando não só um espaço de aprendizado, mas também um portfólio vivo e prova de conhecimento.&lt;/p&gt;

</description>
    </item>
    <item>
      <title>super engajamento e momentos de satisfação</title>
      <dc:creator>m1rr4</dc:creator>
      <pubDate>Sun, 16 Mar 2025 17:48:01 +0000</pubDate>
      <link>https://dev.to/m1rr4/super-engajamento-e-momentos-de-satisfacao-2fd9</link>
      <guid>https://dev.to/m1rr4/super-engajamento-e-momentos-de-satisfacao-2fd9</guid>
      <description>&lt;p&gt;"Às vezes estou tão mergulhado no trabalho que faço tudo muito rápido, resolvendo e passando para a próxima tarefa. Mas em outros momentos, me pego dando atenção total, destrinchando o código com calma e satisfação."&lt;/p&gt;

&lt;p&gt;Alternar entre eficiência acelerada e foco cuidadoso faz parte do equilíbrio no trabalho. Momentos rápidos impulsionam resultados, enquanto os mais calmos trazem qualidade e satisfação. Ambos são essenciais para crescimento e progresso. 🚀✨&lt;/p&gt;

</description>
      <category>career</category>
      <category>productivity</category>
    </item>
    <item>
      <title>querySelector x getElementById</title>
      <dc:creator>m1rr4</dc:creator>
      <pubDate>Sun, 16 Mar 2025 17:26:39 +0000</pubDate>
      <link>https://dev.to/m1rr4/queryselector-x-getelementbyid-19d</link>
      <guid>https://dev.to/m1rr4/queryselector-x-getelementbyid-19d</guid>
      <description>&lt;p&gt;A melhor prática depende do contexto, mas considerando que você já está trabalhando dentro de um elemento específico (no caso, &lt;code&gt;form_registrar_produto_comercial&lt;/code&gt;), usar &lt;code&gt;querySelector&lt;/code&gt; é uma abordagem mais apropriada e semântica. Isso porque:&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;
&lt;strong&gt;Escopo mais restrito:&lt;/strong&gt; Com &lt;code&gt;querySelector&lt;/code&gt;, você mantém a busca limitada ao escopo do formulário, evitando percorrer o &lt;code&gt;document&lt;/code&gt; inteiro e melhorando a legibilidade do código.
&lt;/li&gt;
&lt;/ol&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight javascript"&gt;&lt;code&gt;   &lt;span class="kd"&gt;let&lt;/span&gt; &lt;span class="nx"&gt;codigo_barras&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="nx"&gt;form_registrar_produto_comercial&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nf"&gt;querySelector&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="dl"&gt;'&lt;/span&gt;&lt;span class="s1"&gt;#codigo_barras&lt;/span&gt;&lt;span class="dl"&gt;'&lt;/span&gt;&lt;span class="p"&gt;).&lt;/span&gt;&lt;span class="nx"&gt;value&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;ol&gt;
&lt;li&gt;
&lt;strong&gt;Flexibilidade:&lt;/strong&gt; O &lt;code&gt;querySelector&lt;/code&gt; permite selecionar elementos usando qualquer seletor CSS (id, classe, atributos), o que pode ser útil para criar código mais reutilizável.&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;Já o &lt;code&gt;getElementById&lt;/code&gt; é ideal quando você precisa acessar algo diretamente pelo ID global e não está dentro de um elemento específico. Porém, dentro de um contexto restrito como no seu exemplo, o &lt;code&gt;querySelector&lt;/code&gt; oferece um melhor alinhamento às boas práticas modernas.&lt;/p&gt;

&lt;p&gt;Conclusão: dentro de &lt;code&gt;form_registrar_produto_comercial&lt;/code&gt;, continue com o &lt;code&gt;querySelector&lt;/code&gt;! 🚀&lt;/p&gt;

</description>
    </item>
    <item>
      <title>experiencia no workflow</title>
      <dc:creator>m1rr4</dc:creator>
      <pubDate>Sun, 16 Mar 2025 16:43:17 +0000</pubDate>
      <link>https://dev.to/m1rr4/experiencia-no-workflow-3pl2</link>
      <guid>https://dev.to/m1rr4/experiencia-no-workflow-3pl2</guid>
      <description>&lt;p&gt;estou pedindo pra IA fazer resumo de diálogos que acredito que seja interessante postar no meu perfil; um dos primeiros resumos que postei foi um resumo sobre como postagens em rede social podem ser mais refinados em vez de posts impulsivos sobre a vida pessoal por exemplo.&lt;/p&gt;

</description>
      <category>ai</category>
      <category>socialmedia</category>
      <category>braziliandevs</category>
    </item>
    <item>
      <title>depuração ou refatoração?</title>
      <dc:creator>m1rr4</dc:creator>
      <pubDate>Sun, 16 Mar 2025 16:38:30 +0000</pubDate>
      <link>https://dev.to/m1rr4/depuracao-ou-refatoracao-22cn</link>
      <guid>https://dev.to/m1rr4/depuracao-ou-refatoracao-22cn</guid>
      <description>&lt;p&gt;Após remover uma coluna no banco de dados, a página apresentou erro. Isso levou à necessidade de depuração para corrigir o problema antes de considerar refatorações. Resolver primeiro, refinar depois: um fluxo essencial para ajustes robustos.&lt;/p&gt;

</description>
      <category>refactoring</category>
      <category>database</category>
      <category>softwaredevelopment</category>
    </item>
    <item>
      <title>sobre atalhos no github</title>
      <dc:creator>m1rr4</dc:creator>
      <pubDate>Sun, 16 Mar 2025 16:33:27 +0000</pubDate>
      <link>https://dev.to/m1rr4/sobre-atalhos-no-github-3p80</link>
      <guid>https://dev.to/m1rr4/sobre-atalhos-no-github-3p80</guid>
      <description>&lt;p&gt;Apesar da interface gráfica do GitHub Desktop já facilitar o uso, muitos se habituaram aos atalhos para otimizar tarefas repetitivas e ganhar eficiência. Cada usuário escolhe entre praticidade ou fluidez, dependendo do ritmo que prefere no trabalho.&lt;/p&gt;

</description>
      <category>github</category>
      <category>productivity</category>
      <category>braziliandevs</category>
    </item>
  </channel>
</rss>
