<!DOCTYPE html>
<html lang="pt">
<head>

    <title>JCMaciel - Ruby on Rails, SaaS, AI, Build in Public and Indie Hacker</title>
    <meta charset="utf-8" />
    <meta http-equiv="X-UA-Compatible" content="IE=edge" />
    <meta name="HandheldFriendly" content="True" />
    <meta name="viewport" content="width=device-width, initial-scale=1.0" />
    
    <link rel="preload" as="style" href="/assets/built/screen.css?v=8352fa42bd" />
    <link rel="preload" as="script" href="/assets/built/casper.js?v=8352fa42bd" />

    <link rel="stylesheet" type="text/css" href="/assets/built/screen.css?v=8352fa42bd" />

    <meta name="description" content="I am a Ruby on Rails developer based in Brazil. This blog is about building web applications in Ruby on Rails, SaaS and AI">
    <link rel="icon" href="https://jcmaciel.com/content/images/size/w256h256/2023/10/jcmtech-simbolo.png" type="image/png">
    <link rel="canonical" href="https://jcmaciel.com/">
    <meta name="referrer" content="no-referrer-when-downgrade">
    <link rel="next" href="https://jcmaciel.com/page/2/">
    
    <meta property="og:site_name" content="JCMaciel Blog">
    <meta property="og:type" content="website">
    <meta property="og:title" content="JCMaciel Blog">
    <meta property="og:description" content="I am a Ruby on Rails developer based in Brazil. This blog is about building web applications in Ruby on Rails, SaaS and AI">
    <meta property="og:url" content="https://jcmaciel.com/">
    <meta property="article:publisher" content="https://www.facebook.com/jcarlosmaciel">
    <meta name="twitter:card" content="summary">
    <meta name="twitter:title" content="JCMaciel Blog">
    <meta name="twitter:description" content="I am a Ruby on Rails developer based in Brazil. This blog is about building web applications in Ruby on Rails, SaaS and AI">
    <meta name="twitter:url" content="https://jcmaciel.com/">
    <meta name="twitter:site" content="@jcarlosmaciel">
    
    <script type="application/ld+json">
{
    "@context": "https://schema.org",
    "@type": "WebSite",
    "publisher": {
        "@type": "Organization",
        "name": "JCMaciel Blog",
        "url": "https://jcmaciel.com/",
        "logo": {
            "@type": "ImageObject",
            "url": "https://jcmaciel.com/content/images/size/w256h256/2023/10/jcmtech-simbolo.png",
            "width": 60,
            "height": 60
        }
    },
    "url": "https://jcmaciel.com/",
    "mainEntityOfPage": "https://jcmaciel.com/",
    "description": "I am a Ruby on Rails developer based in Brazil. This blog is about building web applications in Ruby on Rails, SaaS and AI"
}
    </script>

    <meta name="generator" content="Ghost 5.88">
    <link rel="alternate" type="application/rss+xml" title="JCMaciel Blog" href="https://jcmaciel.com/rss/">
    <script defer src="https://cdn.jsdelivr.net/ghost/portal@~2.37/umd/portal.min.js" data-i18n="true" data-ghost="https://jcmaciel.com/" data-key="779a96e543c7edec7492059a1c" data-api="https://jcmaciel.com/ghost/api/content/" crossorigin="anonymous"></script><style id="gh-members-styles">.gh-post-upgrade-cta-content,
.gh-post-upgrade-cta {
    display: flex;
    flex-direction: column;
    align-items: center;
    font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, Oxygen, Ubuntu, Cantarell, 'Open Sans', 'Helvetica Neue', sans-serif;
    text-align: center;
    width: 100%;
    color: #ffffff;
    font-size: 16px;
}

.gh-post-upgrade-cta-content {
    border-radius: 8px;
    padding: 40px 4vw;
}

.gh-post-upgrade-cta h2 {
    color: #ffffff;
    font-size: 28px;
    letter-spacing: -0.2px;
    margin: 0;
    padding: 0;
}

.gh-post-upgrade-cta p {
    margin: 20px 0 0;
    padding: 0;
}

.gh-post-upgrade-cta small {
    font-size: 16px;
    letter-spacing: -0.2px;
}

.gh-post-upgrade-cta a {
    color: #ffffff;
    cursor: pointer;
    font-weight: 500;
    box-shadow: none;
    text-decoration: underline;
}

.gh-post-upgrade-cta a:hover {
    color: #ffffff;
    opacity: 0.8;
    box-shadow: none;
    text-decoration: underline;
}

.gh-post-upgrade-cta a.gh-btn {
    display: block;
    background: #ffffff;
    text-decoration: none;
    margin: 28px 0 0;
    padding: 8px 18px;
    border-radius: 4px;
    font-size: 16px;
    font-weight: 600;
}

.gh-post-upgrade-cta a.gh-btn:hover {
    opacity: 0.92;
}</style><script async src="https://js.stripe.com/v3/"></script>
    <script defer src="https://cdn.jsdelivr.net/ghost/sodo-search@~1.1/umd/sodo-search.min.js" data-key="779a96e543c7edec7492059a1c" data-styles="https://cdn.jsdelivr.net/ghost/sodo-search@~1.1/umd/main.css" data-sodo-search="https://jcmaciel.com/" crossorigin="anonymous"></script>
    
    <link href="https://jcmaciel.com/webmentions/receive/" rel="webmention">
    <script defer src="/public/cards.min.js?v=8352fa42bd"></script>
    <link rel="stylesheet" type="text/css" href="/public/cards.min.css?v=8352fa42bd">
    <script defer src="/public/member-attribution.min.js?v=8352fa42bd"></script><style>:root {--ghost-accent-color: #000000;}</style>
    <script async src="https://www.googletagmanager.com/gtag/js?id=G-NL6CBSPM5H"></script>
<script async src="https://securepubads.g.doubleclick.net/tag/js/gpt.js"></script>
<script async src="https://pagead2.googlesyndication.com/pagead/js/adsbygoogle.js?client=ca-pub-2133644811122221"
     crossorigin="anonymous"></script>
<script async src="https://pagead2.googlesyndication.com/pagead/js/adsbygoogle.js?client=ca-pub-2133644811122221"
     crossorigin="anonymous"></script>
<script>
  window.dataLayer = window.dataLayer || [];
  function gtag(){dataLayer.push(arguments);}
  gtag('js', new Date());

  gtag('config', 'G-NL6CBSPM5H');
</script>
<meta name="google-adsense-account" content="ca-pub-2133644811122221">
<script>
  window.googletag = window.googletag || {cmd: []};
  googletag.cmd.push(function() {
      
    googletag.pubads().setTargeting("id_post_wp", ["blog"]);
   googletag.enableServices();
  });
</script>
<style>
.separator{font-size:12px;display:flex;color:#b0b0b0;align-items:center;text-align:center}.separator::after,.separator::before{content:"";flex:1;border-bottom:1px solid #d9d9d9}.separator::before{margin-right:.25em}.separator::after{margin-left:.25em}
</style> 
<script>
window.googletag = window.googletag || {cmd: []};
var bloco_interstitial;
googletag.cmd.push(function() {        
bloco_interstitial = googletag.defineOutOfPageSlot('/23073419136/jcmaciel.com/jcmaciel.com_Interstitial_15022024', googletag.enums.OutOfPageFormat.INTERSTITIAL);
if (bloco_interstitial) bloco_interstitial.addService(googletag.pubads());
googletag.enableServices();
googletag.display(bloco_interstitial);
});

window.googletag = window.googletag || {cmd: []};
var bloco_anchor;
googletag.cmd.push(function() {        
bloco_anchor = googletag.defineOutOfPageSlot('/23073419136/jcmaciel.com/jcmaciel.com_m_BOTTOM_ANCHOR_15022024', googletag.enums.OutOfPageFormat.BOTTOM_ANCHOR);
if (bloco_anchor) bloco_anchor.addService(googletag.pubads());
googletag.enableServices();
googletag.display(bloco_anchor);
});
</script>
<script type="text/javascript" src="https://cdn.jsdelivr.net/npm/cookie-bar/cookiebar-latest.min.js?customize=1&always=1&showNoConsent=1"></script>

</head>
<body class="home-template is-head-left-logo has-cover">
<div class="viewport">

    <header id="gh-head" class="gh-head outer">
        <div class="gh-head-inner inner">
            <div class="gh-head-brand">
                <a class="gh-head-logo no-image" href="https://jcmaciel.com">
                        JCMaciel Blog
                </a>
                <button class="gh-search gh-icon-btn" aria-label="Search this site" data-ghost-search><svg xmlns="http://www.w3.org/2000/svg" fill="none" viewBox="0 0 24 24" stroke="currentColor" stroke-width="2" width="20" height="20"><path stroke-linecap="round" stroke-linejoin="round" d="M21 21l-6-6m2-5a7 7 0 11-14 0 7 7 0 0114 0z"></path></svg></button>
                <button class="gh-burger" aria-label="Main Menu"></button>
            </div>

            <nav class="gh-head-menu">
                <ul class="nav">
    <li class="nav-home nav-current"><a href="https://jcmaciel.com/">Home</a></li>
    <li class="nav-about"><a href="https://jcmaciel.com/about/">About</a></li>
    <li class="nav-github"><a href="https://github.com/jcmaciel">Github</a></li>
    <li class="nav-toolz"><a href="https://jcmaciel.com/toolz/">ToolZ</a></li>
</ul>

            </nav>

            <div class="gh-head-actions">
                    <button class="gh-search gh-icon-btn" aria-label="Search this site" data-ghost-search><svg xmlns="http://www.w3.org/2000/svg" fill="none" viewBox="0 0 24 24" stroke="currentColor" stroke-width="2" width="20" height="20"><path stroke-linecap="round" stroke-linejoin="round" d="M21 21l-6-6m2-5a7 7 0 11-14 0 7 7 0 0114 0z"></path></svg></button>
                    <div class="gh-head-members">
                                <a class="gh-head-link" href="#/portal/signin" data-portal="signin">Sign in</a>
                                <a class="gh-head-button" href="#/portal/signup" data-portal="signup">Subscribe</a>
                    </div>
            </div>
        </div>
    </header>

    <div class="site-content">
        
<div class="site-header-content outer">


        <div class="site-header-inner inner">
                    <h1 class="site-title">JCMaciel Blog</h1>
                <p class="site-description">Ruby on Rails, SaaS and AI</p>
        </div>

</div>

<main id="site-main" class="site-main outer">
<div class="inner posts">

    <div class="post-feed">
            
<article class="post-card post tag-engenharia-de-software tag-ruby-on-rails tag-rails tag-ruby tag-software tag-programacao featured post-card-large">

    <a class="post-card-image-link" href="/ruby-on-rails-8-principais-novidades-e-dicas-de-atualizacao/">

        <img class="post-card-image"
            srcset="https://images.unsplash.com/photo-1487058792275-0ad4aaf24ca7?crop&#x3D;entropy&amp;cs&#x3D;tinysrgb&amp;fit&#x3D;max&amp;fm&#x3D;jpg&amp;ixid&#x3D;M3wxMTc3M3wwfDF8c2VhcmNofDEyfHxwcm9ncmFtbWluZ3xlbnwwfHx8fDE3MzEwNzE4NDh8MA&amp;ixlib&#x3D;rb-4.0.3&amp;q&#x3D;80&amp;w&#x3D;300 300w,
                    https://images.unsplash.com/photo-1487058792275-0ad4aaf24ca7?crop&#x3D;entropy&amp;cs&#x3D;tinysrgb&amp;fit&#x3D;max&amp;fm&#x3D;jpg&amp;ixid&#x3D;M3wxMTc3M3wwfDF8c2VhcmNofDEyfHxwcm9ncmFtbWluZ3xlbnwwfHx8fDE3MzEwNzE4NDh8MA&amp;ixlib&#x3D;rb-4.0.3&amp;q&#x3D;80&amp;w&#x3D;600 600w,
                    https://images.unsplash.com/photo-1487058792275-0ad4aaf24ca7?crop&#x3D;entropy&amp;cs&#x3D;tinysrgb&amp;fit&#x3D;max&amp;fm&#x3D;jpg&amp;ixid&#x3D;M3wxMTc3M3wwfDF8c2VhcmNofDEyfHxwcm9ncmFtbWluZ3xlbnwwfHx8fDE3MzEwNzE4NDh8MA&amp;ixlib&#x3D;rb-4.0.3&amp;q&#x3D;80&amp;w&#x3D;1000 1000w,
                    https://images.unsplash.com/photo-1487058792275-0ad4aaf24ca7?crop&#x3D;entropy&amp;cs&#x3D;tinysrgb&amp;fit&#x3D;max&amp;fm&#x3D;jpg&amp;ixid&#x3D;M3wxMTc3M3wwfDF8c2VhcmNofDEyfHxwcm9ncmFtbWluZ3xlbnwwfHx8fDE3MzEwNzE4NDh8MA&amp;ixlib&#x3D;rb-4.0.3&amp;q&#x3D;80&amp;w&#x3D;2000 2000w"
            sizes="(max-width: 1000px) 400px, 800px"
            src="https://images.unsplash.com/photo-1487058792275-0ad4aaf24ca7?crop&#x3D;entropy&amp;cs&#x3D;tinysrgb&amp;fit&#x3D;max&amp;fm&#x3D;jpg&amp;ixid&#x3D;M3wxMTc3M3wwfDF8c2VhcmNofDEyfHxwcm9ncmFtbWluZ3xlbnwwfHx8fDE3MzEwNzE4NDh8MA&amp;ixlib&#x3D;rb-4.0.3&amp;q&#x3D;80&amp;w&#x3D;600"
            alt="Ruby on Rails 8: Principais Novidades e Dicas de Atualização"
            loading="lazy"
        />


    </a>

    <div class="post-card-content">

        <a class="post-card-content-link" href="/ruby-on-rails-8-principais-novidades-e-dicas-de-atualizacao/">
            <header class="post-card-header">
                <div class="post-card-tags">
                        <span class="post-card-primary-tag">Engenharia de Software</span>
                        <span class="post-card-featured"><svg width="16" height="17" viewBox="0 0 16 17" fill="none" xmlns="http://www.w3.org/2000/svg">
    <path d="M4.49365 4.58752C3.53115 6.03752 2.74365 7.70002 2.74365 9.25002C2.74365 10.6424 3.29678 11.9778 4.28134 12.9623C5.26591 13.9469 6.60127 14.5 7.99365 14.5C9.38604 14.5 10.7214 13.9469 11.706 12.9623C12.6905 11.9778 13.2437 10.6424 13.2437 9.25002C13.2437 6.00002 10.9937 3.50002 9.16865 1.68127L6.99365 6.25002L4.49365 4.58752Z" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"></path>
</svg> Featured</span>
                </div>
                <h2 class="post-card-title">
                    Ruby on Rails 8: Principais Novidades e Dicas de Atualização
                </h2>
            </header>
                <div class="post-card-excerpt">Ruby on Rails 8 chegou trazendo uma série de melhorias e novidades que prometem tornar o desenvolvimento web ainda mais eficiente e produtivo. Neste artigo, exploraremos as principais mudanças introduzidas nesta nova versão e forneceremos dicas valiosas para ajudar você a atualizar seus sistemas antigos para o Rails 8.


Sumário</div>
        </a>

        <footer class="post-card-meta">
            <time class="post-card-meta-date" datetime="2024-11-08">8 de Nov de 2024</time>
                <span class="post-card-meta-length">5 min read</span>
        </footer>

    </div>

</article>
            
<article class="post-card post dynamic">

    <a class="post-card-image-link" href="/atualizando-do-kamal-1-para-o-kamal-2/">

        <img class="post-card-image"
            srcset="https://images.unsplash.com/photo-1522776851755-3914469f0ca2?crop&#x3D;entropy&amp;cs&#x3D;tinysrgb&amp;fit&#x3D;max&amp;fm&#x3D;jpg&amp;ixid&#x3D;M3wxMTc3M3wwfDF8c2VhcmNofDJ8fHJ1Ynl8ZW58MHx8fHwxNzI5NjAyNTM1fDA&amp;ixlib&#x3D;rb-4.0.3&amp;q&#x3D;80&amp;w&#x3D;300 300w,
                    https://images.unsplash.com/photo-1522776851755-3914469f0ca2?crop&#x3D;entropy&amp;cs&#x3D;tinysrgb&amp;fit&#x3D;max&amp;fm&#x3D;jpg&amp;ixid&#x3D;M3wxMTc3M3wwfDF8c2VhcmNofDJ8fHJ1Ynl8ZW58MHx8fHwxNzI5NjAyNTM1fDA&amp;ixlib&#x3D;rb-4.0.3&amp;q&#x3D;80&amp;w&#x3D;600 600w,
                    https://images.unsplash.com/photo-1522776851755-3914469f0ca2?crop&#x3D;entropy&amp;cs&#x3D;tinysrgb&amp;fit&#x3D;max&amp;fm&#x3D;jpg&amp;ixid&#x3D;M3wxMTc3M3wwfDF8c2VhcmNofDJ8fHJ1Ynl8ZW58MHx8fHwxNzI5NjAyNTM1fDA&amp;ixlib&#x3D;rb-4.0.3&amp;q&#x3D;80&amp;w&#x3D;1000 1000w,
                    https://images.unsplash.com/photo-1522776851755-3914469f0ca2?crop&#x3D;entropy&amp;cs&#x3D;tinysrgb&amp;fit&#x3D;max&amp;fm&#x3D;jpg&amp;ixid&#x3D;M3wxMTc3M3wwfDF8c2VhcmNofDJ8fHJ1Ynl8ZW58MHx8fHwxNzI5NjAyNTM1fDA&amp;ixlib&#x3D;rb-4.0.3&amp;q&#x3D;80&amp;w&#x3D;2000 2000w"
            sizes="(max-width: 1000px) 400px, 800px"
            src="https://images.unsplash.com/photo-1522776851755-3914469f0ca2?crop&#x3D;entropy&amp;cs&#x3D;tinysrgb&amp;fit&#x3D;max&amp;fm&#x3D;jpg&amp;ixid&#x3D;M3wxMTc3M3wwfDF8c2VhcmNofDJ8fHJ1Ynl8ZW58MHx8fHwxNzI5NjAyNTM1fDA&amp;ixlib&#x3D;rb-4.0.3&amp;q&#x3D;80&amp;w&#x3D;600"
            alt="Atualizando do Kamal 1 para o Kamal 2"
            loading="lazy"
        />


    </a>

    <div class="post-card-content">

        <a class="post-card-content-link" href="/atualizando-do-kamal-1-para-o-kamal-2/">
            <header class="post-card-header">
                <div class="post-card-tags">
                </div>
                <h2 class="post-card-title">
                    Atualizando do Kamal 1 para o Kamal 2
                </h2>
            </header>
                <div class="post-card-excerpt">Aqui estão alguns passos e notas para a atualização de uma configuração de servidor único do Kamal para o novo Kamal 2.


1. Atualizar para o Kamal 1.9.x

Primeiro, atualize para o Kamal 1.9 e confirme se ainda consegue realizar o deploy:

$ gem install kamal --version 1.</div>
        </a>

        <footer class="post-card-meta">
            <time class="post-card-meta-date" datetime="2024-10-22">22 de Out de 2024</time>
                <span class="post-card-meta-length">2 min read</span>
        </footer>

    </div>

</article>
            
<article class="post-card post tag-programacao tag-engenharia-de-software tag-git featured dynamic">

    <a class="post-card-image-link" href="/20-truques-de-linha-de-comando-do-git-que-todo-desenvolvedor-deveria-saber/">

        <img class="post-card-image"
            srcset="https://images.unsplash.com/photo-1618401471353-b98afee0b2eb?crop&#x3D;entropy&amp;cs&#x3D;tinysrgb&amp;fit&#x3D;max&amp;fm&#x3D;jpg&amp;ixid&#x3D;M3wxMTc3M3wwfDF8c2VhcmNofDJ8fGdpdHxlbnwwfHx8fDE3Mjk2MDIzNDB8MA&amp;ixlib&#x3D;rb-4.0.3&amp;q&#x3D;80&amp;w&#x3D;300 300w,
                    https://images.unsplash.com/photo-1618401471353-b98afee0b2eb?crop&#x3D;entropy&amp;cs&#x3D;tinysrgb&amp;fit&#x3D;max&amp;fm&#x3D;jpg&amp;ixid&#x3D;M3wxMTc3M3wwfDF8c2VhcmNofDJ8fGdpdHxlbnwwfHx8fDE3Mjk2MDIzNDB8MA&amp;ixlib&#x3D;rb-4.0.3&amp;q&#x3D;80&amp;w&#x3D;600 600w,
                    https://images.unsplash.com/photo-1618401471353-b98afee0b2eb?crop&#x3D;entropy&amp;cs&#x3D;tinysrgb&amp;fit&#x3D;max&amp;fm&#x3D;jpg&amp;ixid&#x3D;M3wxMTc3M3wwfDF8c2VhcmNofDJ8fGdpdHxlbnwwfHx8fDE3Mjk2MDIzNDB8MA&amp;ixlib&#x3D;rb-4.0.3&amp;q&#x3D;80&amp;w&#x3D;1000 1000w,
                    https://images.unsplash.com/photo-1618401471353-b98afee0b2eb?crop&#x3D;entropy&amp;cs&#x3D;tinysrgb&amp;fit&#x3D;max&amp;fm&#x3D;jpg&amp;ixid&#x3D;M3wxMTc3M3wwfDF8c2VhcmNofDJ8fGdpdHxlbnwwfHx8fDE3Mjk2MDIzNDB8MA&amp;ixlib&#x3D;rb-4.0.3&amp;q&#x3D;80&amp;w&#x3D;2000 2000w"
            sizes="(max-width: 1000px) 400px, 800px"
            src="https://images.unsplash.com/photo-1618401471353-b98afee0b2eb?crop&#x3D;entropy&amp;cs&#x3D;tinysrgb&amp;fit&#x3D;max&amp;fm&#x3D;jpg&amp;ixid&#x3D;M3wxMTc3M3wwfDF8c2VhcmNofDJ8fGdpdHxlbnwwfHx8fDE3Mjk2MDIzNDB8MA&amp;ixlib&#x3D;rb-4.0.3&amp;q&#x3D;80&amp;w&#x3D;600"
            alt="20 Truques de Linha de Comando do Git que Todo Desenvolvedor Deveria Saber"
            loading="lazy"
        />


    </a>

    <div class="post-card-content">

        <a class="post-card-content-link" href="/20-truques-de-linha-de-comando-do-git-que-todo-desenvolvedor-deveria-saber/">
            <header class="post-card-header">
                <div class="post-card-tags">
                        <span class="post-card-primary-tag">Programação</span>
                        <span class="post-card-featured"><svg width="16" height="17" viewBox="0 0 16 17" fill="none" xmlns="http://www.w3.org/2000/svg">
    <path d="M4.49365 4.58752C3.53115 6.03752 2.74365 7.70002 2.74365 9.25002C2.74365 10.6424 3.29678 11.9778 4.28134 12.9623C5.26591 13.9469 6.60127 14.5 7.99365 14.5C9.38604 14.5 10.7214 13.9469 11.706 12.9623C12.6905 11.9778 13.2437 10.6424 13.2437 9.25002C13.2437 6.00002 10.9937 3.50002 9.16865 1.68127L6.99365 6.25002L4.49365 4.58752Z" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"></path>
</svg> Featured</span>
                </div>
                <h2 class="post-card-title">
                    20 Truques de Linha de Comando do Git que Todo Desenvolvedor Deveria Saber
                </h2>
            </header>
                <div class="post-card-excerpt">O Git é uma ferramenta essencial de controle de versão para desenvolvedores. Embora ferramentas GUI possam simplificar algumas tarefas, dominar a linha de comando do Git oferece um controle mais profundo, flexibilidade e velocidade. Aqui estão 20 truques de linha de comando do Git que todo desenvolvedor deve conhecer para</div>
        </a>

        <footer class="post-card-meta">
            <time class="post-card-meta-date" datetime="2024-10-22">22 de Out de 2024</time>
                <span class="post-card-meta-length">3 min read</span>
        </footer>

    </div>

</article>
            
<article class="post-card post">

    <a class="post-card-image-link" href="/recuperando-a-primeira-ocorrencia-de-forma-eficiente-pick-vs-pluck-no-rails/">

        <img class="post-card-image"
            srcset="https://images.unsplash.com/photo-1603969409447-ba86143a03f6?crop&#x3D;entropy&amp;cs&#x3D;tinysrgb&amp;fit&#x3D;max&amp;fm&#x3D;jpg&amp;ixid&#x3D;M3wxMTc3M3wwfDF8c2VhcmNofDl8fGZhc3QlMjBwY3xlbnwwfHx8fDE3Mjc5ODQzMjZ8MA&amp;ixlib&#x3D;rb-4.0.3&amp;q&#x3D;80&amp;w&#x3D;300 300w,
                    https://images.unsplash.com/photo-1603969409447-ba86143a03f6?crop&#x3D;entropy&amp;cs&#x3D;tinysrgb&amp;fit&#x3D;max&amp;fm&#x3D;jpg&amp;ixid&#x3D;M3wxMTc3M3wwfDF8c2VhcmNofDl8fGZhc3QlMjBwY3xlbnwwfHx8fDE3Mjc5ODQzMjZ8MA&amp;ixlib&#x3D;rb-4.0.3&amp;q&#x3D;80&amp;w&#x3D;600 600w,
                    https://images.unsplash.com/photo-1603969409447-ba86143a03f6?crop&#x3D;entropy&amp;cs&#x3D;tinysrgb&amp;fit&#x3D;max&amp;fm&#x3D;jpg&amp;ixid&#x3D;M3wxMTc3M3wwfDF8c2VhcmNofDl8fGZhc3QlMjBwY3xlbnwwfHx8fDE3Mjc5ODQzMjZ8MA&amp;ixlib&#x3D;rb-4.0.3&amp;q&#x3D;80&amp;w&#x3D;1000 1000w,
                    https://images.unsplash.com/photo-1603969409447-ba86143a03f6?crop&#x3D;entropy&amp;cs&#x3D;tinysrgb&amp;fit&#x3D;max&amp;fm&#x3D;jpg&amp;ixid&#x3D;M3wxMTc3M3wwfDF8c2VhcmNofDl8fGZhc3QlMjBwY3xlbnwwfHx8fDE3Mjc5ODQzMjZ8MA&amp;ixlib&#x3D;rb-4.0.3&amp;q&#x3D;80&amp;w&#x3D;2000 2000w"
            sizes="(max-width: 1000px) 400px, 800px"
            src="https://images.unsplash.com/photo-1603969409447-ba86143a03f6?crop&#x3D;entropy&amp;cs&#x3D;tinysrgb&amp;fit&#x3D;max&amp;fm&#x3D;jpg&amp;ixid&#x3D;M3wxMTc3M3wwfDF8c2VhcmNofDl8fGZhc3QlMjBwY3xlbnwwfHx8fDE3Mjc5ODQzMjZ8MA&amp;ixlib&#x3D;rb-4.0.3&amp;q&#x3D;80&amp;w&#x3D;600"
            alt="Recuperando a Primeira Ocorrência de Forma Eficiente: pick vs pluck no Rails"
            loading="lazy"
        />


    </a>

    <div class="post-card-content">

        <a class="post-card-content-link" href="/recuperando-a-primeira-ocorrencia-de-forma-eficiente-pick-vs-pluck-no-rails/">
            <header class="post-card-header">
                <div class="post-card-tags">
                </div>
                <h2 class="post-card-title">
                    Recuperando a Primeira Ocorrência de Forma Eficiente: pick vs pluck no Rails
                </h2>
            </header>
                <div class="post-card-excerpt">No desenvolvimento com Ruby on Rails, frequentemente precisamos buscar dados específicos diretamente do banco de dados. Dois métodos comuns usados para isso são pick e pluck. Embora ambos sejam úteis para extrair dados, eles servem a propósitos diferentes, e é importante saber quando usar cada um para otimizar o desempenho</div>
        </a>

        <footer class="post-card-meta">
            <time class="post-card-meta-date" datetime="2024-10-03">3 de Out de 2024</time>
                <span class="post-card-meta-length">2 min read</span>
        </footer>

    </div>

</article>
            
<article class="post-card post">

    <a class="post-card-image-link" href="/definindo-versoes-minimas-de-navegadores-com-allow_browser-no-rails-de-forma-eficiente/">

        <img class="post-card-image"
            srcset="https://images.unsplash.com/photo-1655196601100-8bfb26cf99e9?crop&#x3D;entropy&amp;cs&#x3D;tinysrgb&amp;fit&#x3D;max&amp;fm&#x3D;jpg&amp;ixid&#x3D;M3wxMTc3M3wwfDF8c2VhcmNofDJ8fGludGVybmV0JTIwZXhwbG9yZXJ8ZW58MHx8fHwxNzI3OTg0MTkxfDA&amp;ixlib&#x3D;rb-4.0.3&amp;q&#x3D;80&amp;w&#x3D;300 300w,
                    https://images.unsplash.com/photo-1655196601100-8bfb26cf99e9?crop&#x3D;entropy&amp;cs&#x3D;tinysrgb&amp;fit&#x3D;max&amp;fm&#x3D;jpg&amp;ixid&#x3D;M3wxMTc3M3wwfDF8c2VhcmNofDJ8fGludGVybmV0JTIwZXhwbG9yZXJ8ZW58MHx8fHwxNzI3OTg0MTkxfDA&amp;ixlib&#x3D;rb-4.0.3&amp;q&#x3D;80&amp;w&#x3D;600 600w,
                    https://images.unsplash.com/photo-1655196601100-8bfb26cf99e9?crop&#x3D;entropy&amp;cs&#x3D;tinysrgb&amp;fit&#x3D;max&amp;fm&#x3D;jpg&amp;ixid&#x3D;M3wxMTc3M3wwfDF8c2VhcmNofDJ8fGludGVybmV0JTIwZXhwbG9yZXJ8ZW58MHx8fHwxNzI3OTg0MTkxfDA&amp;ixlib&#x3D;rb-4.0.3&amp;q&#x3D;80&amp;w&#x3D;1000 1000w,
                    https://images.unsplash.com/photo-1655196601100-8bfb26cf99e9?crop&#x3D;entropy&amp;cs&#x3D;tinysrgb&amp;fit&#x3D;max&amp;fm&#x3D;jpg&amp;ixid&#x3D;M3wxMTc3M3wwfDF8c2VhcmNofDJ8fGludGVybmV0JTIwZXhwbG9yZXJ8ZW58MHx8fHwxNzI3OTg0MTkxfDA&amp;ixlib&#x3D;rb-4.0.3&amp;q&#x3D;80&amp;w&#x3D;2000 2000w"
            sizes="(max-width: 1000px) 400px, 800px"
            src="https://images.unsplash.com/photo-1655196601100-8bfb26cf99e9?crop&#x3D;entropy&amp;cs&#x3D;tinysrgb&amp;fit&#x3D;max&amp;fm&#x3D;jpg&amp;ixid&#x3D;M3wxMTc3M3wwfDF8c2VhcmNofDJ8fGludGVybmV0JTIwZXhwbG9yZXJ8ZW58MHx8fHwxNzI3OTg0MTkxfDA&amp;ixlib&#x3D;rb-4.0.3&amp;q&#x3D;80&amp;w&#x3D;600"
            alt="Definindo Versões Mínimas de Navegadores com allow_browser no Rails de Forma Eficiente"
            loading="lazy"
        />


    </a>

    <div class="post-card-content">

        <a class="post-card-content-link" href="/definindo-versoes-minimas-de-navegadores-com-allow_browser-no-rails-de-forma-eficiente/">
            <header class="post-card-header">
                <div class="post-card-tags">
                </div>
                <h2 class="post-card-title">
                    Definindo Versões Mínimas de Navegadores com allow_browser no Rails de Forma Eficiente
                </h2>
            </header>
                <div class="post-card-excerpt">O Rails 8.0 introduz um recurso poderoso chamado allow_browser, que permite aos desenvolvedores especificar versões mínimas de navegadores para suas aplicações. Essa funcionalidade oferece várias vantagens significativas que valem a pena considerar.


Ao impor versões mínimas de navegadores, você mitiga vulnerabilidades de segurança não resolvidas, melhora a eficiência</div>
        </a>

        <footer class="post-card-meta">
            <time class="post-card-meta-date" datetime="2024-10-03">3 de Out de 2024</time>
                <span class="post-card-meta-length">2 min read</span>
        </footer>

    </div>

</article>
            
<article class="post-card post">

    <a class="post-card-image-link" href="/entendendo-as-diferencas-entre-os-metodos-any-exists-e-present-do-activerecord/">

        <img class="post-card-image"
            srcset="https://images.unsplash.com/photo-1667372459470-5f61c93c6d3f?crop&#x3D;entropy&amp;cs&#x3D;tinysrgb&amp;fit&#x3D;max&amp;fm&#x3D;jpg&amp;ixid&#x3D;M3wxMTc3M3wwfDF8c2VhcmNofDEwfHxkYXRhYmFzZXxlbnwwfHx8fDE3Mjc5ODM2MDR8MA&amp;ixlib&#x3D;rb-4.0.3&amp;q&#x3D;80&amp;w&#x3D;300 300w,
                    https://images.unsplash.com/photo-1667372459470-5f61c93c6d3f?crop&#x3D;entropy&amp;cs&#x3D;tinysrgb&amp;fit&#x3D;max&amp;fm&#x3D;jpg&amp;ixid&#x3D;M3wxMTc3M3wwfDF8c2VhcmNofDEwfHxkYXRhYmFzZXxlbnwwfHx8fDE3Mjc5ODM2MDR8MA&amp;ixlib&#x3D;rb-4.0.3&amp;q&#x3D;80&amp;w&#x3D;600 600w,
                    https://images.unsplash.com/photo-1667372459470-5f61c93c6d3f?crop&#x3D;entropy&amp;cs&#x3D;tinysrgb&amp;fit&#x3D;max&amp;fm&#x3D;jpg&amp;ixid&#x3D;M3wxMTc3M3wwfDF8c2VhcmNofDEwfHxkYXRhYmFzZXxlbnwwfHx8fDE3Mjc5ODM2MDR8MA&amp;ixlib&#x3D;rb-4.0.3&amp;q&#x3D;80&amp;w&#x3D;1000 1000w,
                    https://images.unsplash.com/photo-1667372459470-5f61c93c6d3f?crop&#x3D;entropy&amp;cs&#x3D;tinysrgb&amp;fit&#x3D;max&amp;fm&#x3D;jpg&amp;ixid&#x3D;M3wxMTc3M3wwfDF8c2VhcmNofDEwfHxkYXRhYmFzZXxlbnwwfHx8fDE3Mjc5ODM2MDR8MA&amp;ixlib&#x3D;rb-4.0.3&amp;q&#x3D;80&amp;w&#x3D;2000 2000w"
            sizes="(max-width: 1000px) 400px, 800px"
            src="https://images.unsplash.com/photo-1667372459470-5f61c93c6d3f?crop&#x3D;entropy&amp;cs&#x3D;tinysrgb&amp;fit&#x3D;max&amp;fm&#x3D;jpg&amp;ixid&#x3D;M3wxMTc3M3wwfDF8c2VhcmNofDEwfHxkYXRhYmFzZXxlbnwwfHx8fDE3Mjc5ODM2MDR8MA&amp;ixlib&#x3D;rb-4.0.3&amp;q&#x3D;80&amp;w&#x3D;600"
            alt="Entendendo as Diferenças Entre os Métodos any?, exists? e present? do ActiveRecord"
            loading="lazy"
        />


    </a>

    <div class="post-card-content">

        <a class="post-card-content-link" href="/entendendo-as-diferencas-entre-os-metodos-any-exists-e-present-do-activerecord/">
            <header class="post-card-header">
                <div class="post-card-tags">
                </div>
                <h2 class="post-card-title">
                    Entendendo as Diferenças Entre os Métodos any?, exists? e present? do ActiveRecord
                </h2>
            </header>
                <div class="post-card-excerpt">O ActiveRecord, a camada ORM (Object-Relational Mapping) do Ruby on Rails, fornece vários métodos para consultar seu banco de dados. Entre esses métodos estão any?, exists? e present?, cada um com suas nuances e casos de uso específicos. Compreender as diferenças entre esses métodos pode ajudar você a escrever um</div>
        </a>

        <footer class="post-card-meta">
            <time class="post-card-meta-date" datetime="2024-10-03">3 de Out de 2024</time>
                <span class="post-card-meta-length">3 min read</span>
        </footer>

    </div>

</article>
            
<article class="post-card post">

    <a class="post-card-image-link" href="/criando-colunas-virtuais-no-rails-7-um-guia-passo-a-passo/">

        <img class="post-card-image"
            srcset="https://images.unsplash.com/photo-1544383835-bda2bc66a55d?crop&#x3D;entropy&amp;cs&#x3D;tinysrgb&amp;fit&#x3D;max&amp;fm&#x3D;jpg&amp;ixid&#x3D;M3wxMTc3M3wwfDF8c2VhcmNofDN8fGRhdGFiYXNlfGVufDB8fHx8MTcyNzk4MzYwNHww&amp;ixlib&#x3D;rb-4.0.3&amp;q&#x3D;80&amp;w&#x3D;300 300w,
                    https://images.unsplash.com/photo-1544383835-bda2bc66a55d?crop&#x3D;entropy&amp;cs&#x3D;tinysrgb&amp;fit&#x3D;max&amp;fm&#x3D;jpg&amp;ixid&#x3D;M3wxMTc3M3wwfDF8c2VhcmNofDN8fGRhdGFiYXNlfGVufDB8fHx8MTcyNzk4MzYwNHww&amp;ixlib&#x3D;rb-4.0.3&amp;q&#x3D;80&amp;w&#x3D;600 600w,
                    https://images.unsplash.com/photo-1544383835-bda2bc66a55d?crop&#x3D;entropy&amp;cs&#x3D;tinysrgb&amp;fit&#x3D;max&amp;fm&#x3D;jpg&amp;ixid&#x3D;M3wxMTc3M3wwfDF8c2VhcmNofDN8fGRhdGFiYXNlfGVufDB8fHx8MTcyNzk4MzYwNHww&amp;ixlib&#x3D;rb-4.0.3&amp;q&#x3D;80&amp;w&#x3D;1000 1000w,
                    https://images.unsplash.com/photo-1544383835-bda2bc66a55d?crop&#x3D;entropy&amp;cs&#x3D;tinysrgb&amp;fit&#x3D;max&amp;fm&#x3D;jpg&amp;ixid&#x3D;M3wxMTc3M3wwfDF8c2VhcmNofDN8fGRhdGFiYXNlfGVufDB8fHx8MTcyNzk4MzYwNHww&amp;ixlib&#x3D;rb-4.0.3&amp;q&#x3D;80&amp;w&#x3D;2000 2000w"
            sizes="(max-width: 1000px) 400px, 800px"
            src="https://images.unsplash.com/photo-1544383835-bda2bc66a55d?crop&#x3D;entropy&amp;cs&#x3D;tinysrgb&amp;fit&#x3D;max&amp;fm&#x3D;jpg&amp;ixid&#x3D;M3wxMTc3M3wwfDF8c2VhcmNofDN8fGRhdGFiYXNlfGVufDB8fHx8MTcyNzk4MzYwNHww&amp;ixlib&#x3D;rb-4.0.3&amp;q&#x3D;80&amp;w&#x3D;600"
            alt="Criando Colunas Virtuais no Rails 7: Um Guia Passo a Passo"
            loading="lazy"
        />


    </a>

    <div class="post-card-content">

        <a class="post-card-content-link" href="/criando-colunas-virtuais-no-rails-7-um-guia-passo-a-passo/">
            <header class="post-card-header">
                <div class="post-card-tags">
                </div>
                <h2 class="post-card-title">
                    Criando Colunas Virtuais no Rails 7: Um Guia Passo a Passo
                </h2>
            </header>
                <div class="post-card-excerpt">O Rails 7 traz uma série de novos recursos e melhorias, tornando ainda mais fácil construir aplicações web robustas e de fácil manutenção. Um dos recursos poderosos disponíveis no Rails é a capacidade de criar colunas virtuais (ou computadas/geradas) nas tabelas do banco de dados. Neste post, exploraremos como</div>
        </a>

        <footer class="post-card-meta">
            <time class="post-card-meta-date" datetime="2024-10-03">3 de Out de 2024</time>
                <span class="post-card-meta-length">2 min read</span>
        </footer>

    </div>

</article>
            
<article class="post-card post">

    <a class="post-card-image-link" href="/indices-personalizados-no-banco-de-dados-em-rails/">

        <img class="post-card-image"
            srcset="https://images.unsplash.com/photo-1648459776041-cbeab708f17b?crop&#x3D;entropy&amp;cs&#x3D;tinysrgb&amp;fit&#x3D;max&amp;fm&#x3D;jpg&amp;ixid&#x3D;M3wxMTc3M3wwfDF8c2VhcmNofDI5fHxkYXRhYmFzZXxlbnwwfHx8fDE3Mjc5ODM2MDR8MA&amp;ixlib&#x3D;rb-4.0.3&amp;q&#x3D;80&amp;w&#x3D;300 300w,
                    https://images.unsplash.com/photo-1648459776041-cbeab708f17b?crop&#x3D;entropy&amp;cs&#x3D;tinysrgb&amp;fit&#x3D;max&amp;fm&#x3D;jpg&amp;ixid&#x3D;M3wxMTc3M3wwfDF8c2VhcmNofDI5fHxkYXRhYmFzZXxlbnwwfHx8fDE3Mjc5ODM2MDR8MA&amp;ixlib&#x3D;rb-4.0.3&amp;q&#x3D;80&amp;w&#x3D;600 600w,
                    https://images.unsplash.com/photo-1648459776041-cbeab708f17b?crop&#x3D;entropy&amp;cs&#x3D;tinysrgb&amp;fit&#x3D;max&amp;fm&#x3D;jpg&amp;ixid&#x3D;M3wxMTc3M3wwfDF8c2VhcmNofDI5fHxkYXRhYmFzZXxlbnwwfHx8fDE3Mjc5ODM2MDR8MA&amp;ixlib&#x3D;rb-4.0.3&amp;q&#x3D;80&amp;w&#x3D;1000 1000w,
                    https://images.unsplash.com/photo-1648459776041-cbeab708f17b?crop&#x3D;entropy&amp;cs&#x3D;tinysrgb&amp;fit&#x3D;max&amp;fm&#x3D;jpg&amp;ixid&#x3D;M3wxMTc3M3wwfDF8c2VhcmNofDI5fHxkYXRhYmFzZXxlbnwwfHx8fDE3Mjc5ODM2MDR8MA&amp;ixlib&#x3D;rb-4.0.3&amp;q&#x3D;80&amp;w&#x3D;2000 2000w"
            sizes="(max-width: 1000px) 400px, 800px"
            src="https://images.unsplash.com/photo-1648459776041-cbeab708f17b?crop&#x3D;entropy&amp;cs&#x3D;tinysrgb&amp;fit&#x3D;max&amp;fm&#x3D;jpg&amp;ixid&#x3D;M3wxMTc3M3wwfDF8c2VhcmNofDI5fHxkYXRhYmFzZXxlbnwwfHx8fDE3Mjc5ODM2MDR8MA&amp;ixlib&#x3D;rb-4.0.3&amp;q&#x3D;80&amp;w&#x3D;600"
            alt="Índices Personalizados no Banco de Dados em Rails"
            loading="lazy"
        />


    </a>

    <div class="post-card-content">

        <a class="post-card-content-link" href="/indices-personalizados-no-banco-de-dados-em-rails/">
            <header class="post-card-header">
                <div class="post-card-tags">
                </div>
                <h2 class="post-card-title">
                    Índices Personalizados no Banco de Dados em Rails
                </h2>
            </header>
                <div class="post-card-excerpt">Implementar um índice personalizado no banco de dados através de uma migration no Rails é uma maneira poderosa de otimizar consultas e melhorar o desempenho da aplicação. Índices podem acelerar significativamente as operações de recuperação de dados, permitindo que o banco de dados encontre linhas de maneira mais eficiente.


Aqui</div>
        </a>

        <footer class="post-card-meta">
            <time class="post-card-meta-date" datetime="2024-10-03">3 de Out de 2024</time>
                <span class="post-card-meta-length">3 min read</span>
        </footer>

    </div>

</article>
            
<article class="post-card post">

    <a class="post-card-image-link" href="/ruby-3-0-otimizando-aplicacoes-com-gc-compact/">

        <img class="post-card-image"
            srcset="https://images.unsplash.com/1/work-stations-plus-espresso.jpg?crop&#x3D;entropy&amp;cs&#x3D;tinysrgb&amp;fit&#x3D;max&amp;fm&#x3D;jpg&amp;ixid&#x3D;M3wxMTc3M3wwfDF8c2VhcmNofDE3fHxjb21wdXRlcnxlbnwwfHx8fDE3Mjc5ODM1MDB8MA&amp;ixlib&#x3D;rb-4.0.3&amp;q&#x3D;80&amp;w&#x3D;300 300w,
                    https://images.unsplash.com/1/work-stations-plus-espresso.jpg?crop&#x3D;entropy&amp;cs&#x3D;tinysrgb&amp;fit&#x3D;max&amp;fm&#x3D;jpg&amp;ixid&#x3D;M3wxMTc3M3wwfDF8c2VhcmNofDE3fHxjb21wdXRlcnxlbnwwfHx8fDE3Mjc5ODM1MDB8MA&amp;ixlib&#x3D;rb-4.0.3&amp;q&#x3D;80&amp;w&#x3D;600 600w,
                    https://images.unsplash.com/1/work-stations-plus-espresso.jpg?crop&#x3D;entropy&amp;cs&#x3D;tinysrgb&amp;fit&#x3D;max&amp;fm&#x3D;jpg&amp;ixid&#x3D;M3wxMTc3M3wwfDF8c2VhcmNofDE3fHxjb21wdXRlcnxlbnwwfHx8fDE3Mjc5ODM1MDB8MA&amp;ixlib&#x3D;rb-4.0.3&amp;q&#x3D;80&amp;w&#x3D;1000 1000w,
                    https://images.unsplash.com/1/work-stations-plus-espresso.jpg?crop&#x3D;entropy&amp;cs&#x3D;tinysrgb&amp;fit&#x3D;max&amp;fm&#x3D;jpg&amp;ixid&#x3D;M3wxMTc3M3wwfDF8c2VhcmNofDE3fHxjb21wdXRlcnxlbnwwfHx8fDE3Mjc5ODM1MDB8MA&amp;ixlib&#x3D;rb-4.0.3&amp;q&#x3D;80&amp;w&#x3D;2000 2000w"
            sizes="(max-width: 1000px) 400px, 800px"
            src="https://images.unsplash.com/1/work-stations-plus-espresso.jpg?crop&#x3D;entropy&amp;cs&#x3D;tinysrgb&amp;fit&#x3D;max&amp;fm&#x3D;jpg&amp;ixid&#x3D;M3wxMTc3M3wwfDF8c2VhcmNofDE3fHxjb21wdXRlcnxlbnwwfHx8fDE3Mjc5ODM1MDB8MA&amp;ixlib&#x3D;rb-4.0.3&amp;q&#x3D;80&amp;w&#x3D;600"
            alt="Ruby 3.0: Otimizando Aplicações com GC.compact"
            loading="lazy"
        />


    </a>

    <div class="post-card-content">

        <a class="post-card-content-link" href="/ruby-3-0-otimizando-aplicacoes-com-gc-compact/">
            <header class="post-card-header">
                <div class="post-card-tags">
                </div>
                <h2 class="post-card-title">
                    Ruby 3.0: Otimizando Aplicações com GC.compact
                </h2>
            </header>
                <div class="post-card-excerpt">O Ruby 3.0 introduziu um novo método no seu coletor de lixo chamado GC.compact, que oferece uma maneira poderosa de gerenciar memória ao reduzir a fragmentação em aplicações de longa duração. Esse recurso pode gerar melhorias significativas no uso da memória e no desempenho geral da aplicação, especialmente</div>
        </a>

        <footer class="post-card-meta">
            <time class="post-card-meta-date" datetime="2024-10-03">3 de Out de 2024</time>
                <span class="post-card-meta-length">3 min read</span>
        </footer>

    </div>

</article>
            
<article class="post-card post">

    <a class="post-card-image-link" href="/dominando-rails-params-com-with_defaults/">

        <img class="post-card-image"
            srcset="https://images.unsplash.com/photo-1522776851755-3914469f0ca2?crop&#x3D;entropy&amp;cs&#x3D;tinysrgb&amp;fit&#x3D;max&amp;fm&#x3D;jpg&amp;ixid&#x3D;M3wxMTc3M3wwfDF8c2VhcmNofDJ8fHJ1Ynl8ZW58MHx8fHwxNzI3OTgzMzE5fDA&amp;ixlib&#x3D;rb-4.0.3&amp;q&#x3D;80&amp;w&#x3D;300 300w,
                    https://images.unsplash.com/photo-1522776851755-3914469f0ca2?crop&#x3D;entropy&amp;cs&#x3D;tinysrgb&amp;fit&#x3D;max&amp;fm&#x3D;jpg&amp;ixid&#x3D;M3wxMTc3M3wwfDF8c2VhcmNofDJ8fHJ1Ynl8ZW58MHx8fHwxNzI3OTgzMzE5fDA&amp;ixlib&#x3D;rb-4.0.3&amp;q&#x3D;80&amp;w&#x3D;600 600w,
                    https://images.unsplash.com/photo-1522776851755-3914469f0ca2?crop&#x3D;entropy&amp;cs&#x3D;tinysrgb&amp;fit&#x3D;max&amp;fm&#x3D;jpg&amp;ixid&#x3D;M3wxMTc3M3wwfDF8c2VhcmNofDJ8fHJ1Ynl8ZW58MHx8fHwxNzI3OTgzMzE5fDA&amp;ixlib&#x3D;rb-4.0.3&amp;q&#x3D;80&amp;w&#x3D;1000 1000w,
                    https://images.unsplash.com/photo-1522776851755-3914469f0ca2?crop&#x3D;entropy&amp;cs&#x3D;tinysrgb&amp;fit&#x3D;max&amp;fm&#x3D;jpg&amp;ixid&#x3D;M3wxMTc3M3wwfDF8c2VhcmNofDJ8fHJ1Ynl8ZW58MHx8fHwxNzI3OTgzMzE5fDA&amp;ixlib&#x3D;rb-4.0.3&amp;q&#x3D;80&amp;w&#x3D;2000 2000w"
            sizes="(max-width: 1000px) 400px, 800px"
            src="https://images.unsplash.com/photo-1522776851755-3914469f0ca2?crop&#x3D;entropy&amp;cs&#x3D;tinysrgb&amp;fit&#x3D;max&amp;fm&#x3D;jpg&amp;ixid&#x3D;M3wxMTc3M3wwfDF8c2VhcmNofDJ8fHJ1Ynl8ZW58MHx8fHwxNzI3OTgzMzE5fDA&amp;ixlib&#x3D;rb-4.0.3&amp;q&#x3D;80&amp;w&#x3D;600"
            alt="Dominando Rails Params: com with_defaults"
            loading="lazy"
        />


    </a>

    <div class="post-card-content">

        <a class="post-card-content-link" href="/dominando-rails-params-com-with_defaults/">
            <header class="post-card-header">
                <div class="post-card-tags">
                </div>
                <h2 class="post-card-title">
                    Dominando Rails Params: com with_defaults
                </h2>
            </header>
                <div class="post-card-excerpt">Manipular parâmetros em Ruby on Rails é uma tarefa comum, especialmente ao trabalhar com formulários e parâmetros fortes (strong parameters). Um método poderoso, mas menos conhecido, que pode simplificar esse processo é o with_defaults. Esse método permite fornecer valores padrão para quaisquer chaves ausentes em um hash, tornando o</div>
        </a>

        <footer class="post-card-meta">
            <time class="post-card-meta-date" datetime="2024-10-03">3 de Out de 2024</time>
                <span class="post-card-meta-length">2 min read</span>
        </footer>

    </div>

</article>
            
<article class="post-card post">

    <a class="post-card-image-link" href="/aplicando-a-lei-de-demeter-na-programacao-orientada-a-objetos-com-rails/">

        <img class="post-card-image"
            srcset="https://images.unsplash.com/photo-1607798748738-b15c40d33d57?crop&#x3D;entropy&amp;cs&#x3D;tinysrgb&amp;fit&#x3D;max&amp;fm&#x3D;jpg&amp;ixid&#x3D;M3wxMTc3M3wwfDF8c2VhcmNofDl8fGNvZGluZ3xlbnwwfHx8fDE3Mjc5ODMxNjd8MA&amp;ixlib&#x3D;rb-4.0.3&amp;q&#x3D;80&amp;w&#x3D;300 300w,
                    https://images.unsplash.com/photo-1607798748738-b15c40d33d57?crop&#x3D;entropy&amp;cs&#x3D;tinysrgb&amp;fit&#x3D;max&amp;fm&#x3D;jpg&amp;ixid&#x3D;M3wxMTc3M3wwfDF8c2VhcmNofDl8fGNvZGluZ3xlbnwwfHx8fDE3Mjc5ODMxNjd8MA&amp;ixlib&#x3D;rb-4.0.3&amp;q&#x3D;80&amp;w&#x3D;600 600w,
                    https://images.unsplash.com/photo-1607798748738-b15c40d33d57?crop&#x3D;entropy&amp;cs&#x3D;tinysrgb&amp;fit&#x3D;max&amp;fm&#x3D;jpg&amp;ixid&#x3D;M3wxMTc3M3wwfDF8c2VhcmNofDl8fGNvZGluZ3xlbnwwfHx8fDE3Mjc5ODMxNjd8MA&amp;ixlib&#x3D;rb-4.0.3&amp;q&#x3D;80&amp;w&#x3D;1000 1000w,
                    https://images.unsplash.com/photo-1607798748738-b15c40d33d57?crop&#x3D;entropy&amp;cs&#x3D;tinysrgb&amp;fit&#x3D;max&amp;fm&#x3D;jpg&amp;ixid&#x3D;M3wxMTc3M3wwfDF8c2VhcmNofDl8fGNvZGluZ3xlbnwwfHx8fDE3Mjc5ODMxNjd8MA&amp;ixlib&#x3D;rb-4.0.3&amp;q&#x3D;80&amp;w&#x3D;2000 2000w"
            sizes="(max-width: 1000px) 400px, 800px"
            src="https://images.unsplash.com/photo-1607798748738-b15c40d33d57?crop&#x3D;entropy&amp;cs&#x3D;tinysrgb&amp;fit&#x3D;max&amp;fm&#x3D;jpg&amp;ixid&#x3D;M3wxMTc3M3wwfDF8c2VhcmNofDl8fGNvZGluZ3xlbnwwfHx8fDE3Mjc5ODMxNjd8MA&amp;ixlib&#x3D;rb-4.0.3&amp;q&#x3D;80&amp;w&#x3D;600"
            alt="Aplicando a Lei de Demeter na Programação Orientada a Objetos com Rails"
            loading="lazy"
        />


    </a>

    <div class="post-card-content">

        <a class="post-card-content-link" href="/aplicando-a-lei-de-demeter-na-programacao-orientada-a-objetos-com-rails/">
            <header class="post-card-header">
                <div class="post-card-tags">
                </div>
                <h2 class="post-card-title">
                    Aplicando a Lei de Demeter na Programação Orientada a Objetos com Rails
                </h2>
            </header>
                <div class="post-card-excerpt">Na programação orientada a objetos (OOP), aderir a princípios que promovem baixo acoplamento e encapsulamento é essencial para construir sistemas escaláveis e de fácil manutenção. Um desses princípios é a Lei de Demeter, também conhecida como o Princípio do Menor Conhecimento. Esse princípio ajuda a evitar que objetos saibam demais</div>
        </a>

        <footer class="post-card-meta">
            <time class="post-card-meta-date" datetime="2024-10-03">3 de Out de 2024</time>
                <span class="post-card-meta-length">4 min read</span>
        </footer>

    </div>

</article>
            
<article class="post-card post">

    <a class="post-card-image-link" href="/entendendo-struct-em-ruby-on-rails/">

        <img class="post-card-image"
            srcset="https://images.unsplash.com/photo-1483817101829-339b08e8d83f?crop&#x3D;entropy&amp;cs&#x3D;tinysrgb&amp;fit&#x3D;max&amp;fm&#x3D;jpg&amp;ixid&#x3D;M3wxMTc3M3wwfDF8c2VhcmNofDV8fHByb2dyYW1taW5nfGVufDB8fHx8MTcyNzk4Mjk5Mnww&amp;ixlib&#x3D;rb-4.0.3&amp;q&#x3D;80&amp;w&#x3D;300 300w,
                    https://images.unsplash.com/photo-1483817101829-339b08e8d83f?crop&#x3D;entropy&amp;cs&#x3D;tinysrgb&amp;fit&#x3D;max&amp;fm&#x3D;jpg&amp;ixid&#x3D;M3wxMTc3M3wwfDF8c2VhcmNofDV8fHByb2dyYW1taW5nfGVufDB8fHx8MTcyNzk4Mjk5Mnww&amp;ixlib&#x3D;rb-4.0.3&amp;q&#x3D;80&amp;w&#x3D;600 600w,
                    https://images.unsplash.com/photo-1483817101829-339b08e8d83f?crop&#x3D;entropy&amp;cs&#x3D;tinysrgb&amp;fit&#x3D;max&amp;fm&#x3D;jpg&amp;ixid&#x3D;M3wxMTc3M3wwfDF8c2VhcmNofDV8fHByb2dyYW1taW5nfGVufDB8fHx8MTcyNzk4Mjk5Mnww&amp;ixlib&#x3D;rb-4.0.3&amp;q&#x3D;80&amp;w&#x3D;1000 1000w,
                    https://images.unsplash.com/photo-1483817101829-339b08e8d83f?crop&#x3D;entropy&amp;cs&#x3D;tinysrgb&amp;fit&#x3D;max&amp;fm&#x3D;jpg&amp;ixid&#x3D;M3wxMTc3M3wwfDF8c2VhcmNofDV8fHByb2dyYW1taW5nfGVufDB8fHx8MTcyNzk4Mjk5Mnww&amp;ixlib&#x3D;rb-4.0.3&amp;q&#x3D;80&amp;w&#x3D;2000 2000w"
            sizes="(max-width: 1000px) 400px, 800px"
            src="https://images.unsplash.com/photo-1483817101829-339b08e8d83f?crop&#x3D;entropy&amp;cs&#x3D;tinysrgb&amp;fit&#x3D;max&amp;fm&#x3D;jpg&amp;ixid&#x3D;M3wxMTc3M3wwfDF8c2VhcmNofDV8fHByb2dyYW1taW5nfGVufDB8fHx8MTcyNzk4Mjk5Mnww&amp;ixlib&#x3D;rb-4.0.3&amp;q&#x3D;80&amp;w&#x3D;600"
            alt="Entendendo Struct em Ruby on Rails"
            loading="lazy"
        />


    </a>

    <div class="post-card-content">

        <a class="post-card-content-link" href="/entendendo-struct-em-ruby-on-rails/">
            <header class="post-card-header">
                <div class="post-card-tags">
                </div>
                <h2 class="post-card-title">
                    Entendendo Struct em Ruby on Rails
                </h2>
            </header>
                <div class="post-card-excerpt">O Ruby é conhecido por sua sintaxe elegante e flexibilidade, permitindo que os desenvolvedores criem códigos concisos e legíveis. Um dos recursos menos conhecidos, mas poderosos no Ruby, é o Struct, uma classe embutida que oferece uma maneira simples de agrupar atributos relacionados sem a sobrecarga de definir uma classe</div>
        </a>

        <footer class="post-card-meta">
            <time class="post-card-meta-date" datetime="2024-10-03">3 de Out de 2024</time>
                <span class="post-card-meta-length">3 min read</span>
        </footer>

    </div>

</article>
            
<article class="post-card post">

    <a class="post-card-image-link" href="/4-dicas-para-resolver-problemas-de-n-1-queries-em-ruby-on-rails/">

        <img class="post-card-image"
            srcset="https://images.unsplash.com/photo-1489875347897-49f64b51c1f8?crop&#x3D;entropy&amp;cs&#x3D;tinysrgb&amp;fit&#x3D;max&amp;fm&#x3D;jpg&amp;ixid&#x3D;M3wxMTc3M3wwfDF8c2VhcmNofDJ8fHNxbCUyMHF1ZXJpZXxlbnwwfHx8fDE3Mjc5ODI3OTR8MA&amp;ixlib&#x3D;rb-4.0.3&amp;q&#x3D;80&amp;w&#x3D;300 300w,
                    https://images.unsplash.com/photo-1489875347897-49f64b51c1f8?crop&#x3D;entropy&amp;cs&#x3D;tinysrgb&amp;fit&#x3D;max&amp;fm&#x3D;jpg&amp;ixid&#x3D;M3wxMTc3M3wwfDF8c2VhcmNofDJ8fHNxbCUyMHF1ZXJpZXxlbnwwfHx8fDE3Mjc5ODI3OTR8MA&amp;ixlib&#x3D;rb-4.0.3&amp;q&#x3D;80&amp;w&#x3D;600 600w,
                    https://images.unsplash.com/photo-1489875347897-49f64b51c1f8?crop&#x3D;entropy&amp;cs&#x3D;tinysrgb&amp;fit&#x3D;max&amp;fm&#x3D;jpg&amp;ixid&#x3D;M3wxMTc3M3wwfDF8c2VhcmNofDJ8fHNxbCUyMHF1ZXJpZXxlbnwwfHx8fDE3Mjc5ODI3OTR8MA&amp;ixlib&#x3D;rb-4.0.3&amp;q&#x3D;80&amp;w&#x3D;1000 1000w,
                    https://images.unsplash.com/photo-1489875347897-49f64b51c1f8?crop&#x3D;entropy&amp;cs&#x3D;tinysrgb&amp;fit&#x3D;max&amp;fm&#x3D;jpg&amp;ixid&#x3D;M3wxMTc3M3wwfDF8c2VhcmNofDJ8fHNxbCUyMHF1ZXJpZXxlbnwwfHx8fDE3Mjc5ODI3OTR8MA&amp;ixlib&#x3D;rb-4.0.3&amp;q&#x3D;80&amp;w&#x3D;2000 2000w"
            sizes="(max-width: 1000px) 400px, 800px"
            src="https://images.unsplash.com/photo-1489875347897-49f64b51c1f8?crop&#x3D;entropy&amp;cs&#x3D;tinysrgb&amp;fit&#x3D;max&amp;fm&#x3D;jpg&amp;ixid&#x3D;M3wxMTc3M3wwfDF8c2VhcmNofDJ8fHNxbCUyMHF1ZXJpZXxlbnwwfHx8fDE3Mjc5ODI3OTR8MA&amp;ixlib&#x3D;rb-4.0.3&amp;q&#x3D;80&amp;w&#x3D;600"
            alt="4 Dicas para Resolver Problemas de N+1 Queries em Ruby on Rails"
            loading="lazy"
        />


    </a>

    <div class="post-card-content">

        <a class="post-card-content-link" href="/4-dicas-para-resolver-problemas-de-n-1-queries-em-ruby-on-rails/">
            <header class="post-card-header">
                <div class="post-card-tags">
                </div>
                <h2 class="post-card-title">
                    4 Dicas para Resolver Problemas de N+1 Queries em Ruby on Rails
                </h2>
            </header>
                <div class="post-card-excerpt">Ruby on Rails


Os problemas de N+1 queries em Ruby on Rails ocorrem quando sua aplicação faz um número excessivo de consultas ao banco de dados devido ao carregamento das associações entre modelos. Isso pode causar uma degradação significativa no desempenho, especialmente conforme o volume de dados aumenta.


Neste</div>
        </a>

        <footer class="post-card-meta">
            <time class="post-card-meta-date" datetime="2024-10-03">3 de Out de 2024</time>
                <span class="post-card-meta-length">2 min read</span>
        </footer>

    </div>

</article>
            
<article class="post-card post">

    <a class="post-card-image-link" href="/hotwire-native-a-nova-era-para-desenvolvimento-de-aplicativos-moveis-nativos-com-abordagem-web-first/">

        <img class="post-card-image"
            srcset="/content/images/size/w300/2024/09/native-vs-web.jpg 300w,
                    /content/images/size/w600/2024/09/native-vs-web.jpg 600w,
                    /content/images/size/w1000/2024/09/native-vs-web.jpg 1000w,
                    /content/images/size/w2000/2024/09/native-vs-web.jpg 2000w"
            sizes="(max-width: 1000px) 400px, 800px"
            src="/content/images/size/w600/2024/09/native-vs-web.jpg"
            alt="Hotwire Native: A Nova Era para Desenvolvimento de Aplicativos Móveis Nativos com Abordagem Web-First"
            loading="lazy"
        />


    </a>

    <div class="post-card-content">

        <a class="post-card-content-link" href="/hotwire-native-a-nova-era-para-desenvolvimento-de-aplicativos-moveis-nativos-com-abordagem-web-first/">
            <header class="post-card-header">
                <div class="post-card-tags">
                </div>
                <h2 class="post-card-title">
                    Hotwire Native: A Nova Era para Desenvolvimento de Aplicativos Móveis Nativos com Abordagem Web-First
                </h2>
            </header>
                <div class="post-card-excerpt">No cenário atual de desenvolvimento de software, especialmente para dispositivos móveis, as demandas por agilidade, eficiência e simplicidade no processo de criação de aplicativos são maiores do que nunca. Tradicionalmente, o desenvolvimento de aplicativos móveis exige que equipes construam separadamente para as plataformas iOS e Android, resultando em trabalho duplicado</div>
        </a>

        <footer class="post-card-meta">
            <time class="post-card-meta-date" datetime="2024-09-27">27 de Set de 2024</time>
                <span class="post-card-meta-length">4 min read</span>
        </footer>

    </div>

</article>
            
<article class="post-card post">

    <a class="post-card-image-link" href="/voce-deve-diversificar-suas-habilidades-ou-se-especializar-descubra-o-melhor-caminho-para-sua-carreira-na-tecnologia/">

        <img class="post-card-image"
            srcset="https://images.unsplash.com/photo-1463680942456-e4230dbeaec7?crop&#x3D;entropy&amp;cs&#x3D;tinysrgb&amp;fit&#x3D;max&amp;fm&#x3D;jpg&amp;ixid&#x3D;M3wxMTc3M3wwfDF8c2VhcmNofDV8fHR3byUyMHdheXxlbnwwfHx8fDE3Mjc0MzcxNDd8MA&amp;ixlib&#x3D;rb-4.0.3&amp;q&#x3D;80&amp;w&#x3D;300 300w,
                    https://images.unsplash.com/photo-1463680942456-e4230dbeaec7?crop&#x3D;entropy&amp;cs&#x3D;tinysrgb&amp;fit&#x3D;max&amp;fm&#x3D;jpg&amp;ixid&#x3D;M3wxMTc3M3wwfDF8c2VhcmNofDV8fHR3byUyMHdheXxlbnwwfHx8fDE3Mjc0MzcxNDd8MA&amp;ixlib&#x3D;rb-4.0.3&amp;q&#x3D;80&amp;w&#x3D;600 600w,
                    https://images.unsplash.com/photo-1463680942456-e4230dbeaec7?crop&#x3D;entropy&amp;cs&#x3D;tinysrgb&amp;fit&#x3D;max&amp;fm&#x3D;jpg&amp;ixid&#x3D;M3wxMTc3M3wwfDF8c2VhcmNofDV8fHR3byUyMHdheXxlbnwwfHx8fDE3Mjc0MzcxNDd8MA&amp;ixlib&#x3D;rb-4.0.3&amp;q&#x3D;80&amp;w&#x3D;1000 1000w,
                    https://images.unsplash.com/photo-1463680942456-e4230dbeaec7?crop&#x3D;entropy&amp;cs&#x3D;tinysrgb&amp;fit&#x3D;max&amp;fm&#x3D;jpg&amp;ixid&#x3D;M3wxMTc3M3wwfDF8c2VhcmNofDV8fHR3byUyMHdheXxlbnwwfHx8fDE3Mjc0MzcxNDd8MA&amp;ixlib&#x3D;rb-4.0.3&amp;q&#x3D;80&amp;w&#x3D;2000 2000w"
            sizes="(max-width: 1000px) 400px, 800px"
            src="https://images.unsplash.com/photo-1463680942456-e4230dbeaec7?crop&#x3D;entropy&amp;cs&#x3D;tinysrgb&amp;fit&#x3D;max&amp;fm&#x3D;jpg&amp;ixid&#x3D;M3wxMTc3M3wwfDF8c2VhcmNofDV8fHR3byUyMHdheXxlbnwwfHx8fDE3Mjc0MzcxNDd8MA&amp;ixlib&#x3D;rb-4.0.3&amp;q&#x3D;80&amp;w&#x3D;600"
            alt="Você Deve Diversificar Suas Habilidades ou se Especializar? Descubra o Melhor Caminho para Sua Carreira na Tecnologia"
            loading="lazy"
        />


    </a>

    <div class="post-card-content">

        <a class="post-card-content-link" href="/voce-deve-diversificar-suas-habilidades-ou-se-especializar-descubra-o-melhor-caminho-para-sua-carreira-na-tecnologia/">
            <header class="post-card-header">
                <div class="post-card-tags">
                </div>
                <h2 class="post-card-title">
                    Você Deve Diversificar Suas Habilidades ou se Especializar? Descubra o Melhor Caminho para Sua Carreira na Tecnologia
                </h2>
            </header>
                <div class="post-card-excerpt">Imagine que você está em uma festa pós-conferência de tecnologia. Em um canto, há uma desenvolvedora listando uma série de linguagens nas quais é proficiente – de Python a Rust, React a Kotlin. Em outro canto, há um cara mergulhado nas complexidades da computação quântica, perdido em um mundo de qubits</div>
        </a>

        <footer class="post-card-meta">
            <time class="post-card-meta-date" datetime="2024-09-27">27 de Set de 2024</time>
                <span class="post-card-meta-length">3 min read</span>
        </footer>

    </div>

</article>
            
<article class="post-card post">

    <a class="post-card-image-link" href="/4-licoes-cruciais-de-design-de-software-que-aprendi-na-pratica-e-como-evitar-erros-comuns/">

        <img class="post-card-image"
            srcset="https://images.unsplash.com/photo-1573495782952-e42bd3ea5a4d?crop&#x3D;entropy&amp;cs&#x3D;tinysrgb&amp;fit&#x3D;max&amp;fm&#x3D;jpg&amp;ixid&#x3D;M3wxMTc3M3wwfDF8c2VhcmNofDE0fHxzb2Z0d2FyZSUyMGVuZ2luZWVyfGVufDB8fHx8MTcyNzQzNjkyN3ww&amp;ixlib&#x3D;rb-4.0.3&amp;q&#x3D;80&amp;w&#x3D;300 300w,
                    https://images.unsplash.com/photo-1573495782952-e42bd3ea5a4d?crop&#x3D;entropy&amp;cs&#x3D;tinysrgb&amp;fit&#x3D;max&amp;fm&#x3D;jpg&amp;ixid&#x3D;M3wxMTc3M3wwfDF8c2VhcmNofDE0fHxzb2Z0d2FyZSUyMGVuZ2luZWVyfGVufDB8fHx8MTcyNzQzNjkyN3ww&amp;ixlib&#x3D;rb-4.0.3&amp;q&#x3D;80&amp;w&#x3D;600 600w,
                    https://images.unsplash.com/photo-1573495782952-e42bd3ea5a4d?crop&#x3D;entropy&amp;cs&#x3D;tinysrgb&amp;fit&#x3D;max&amp;fm&#x3D;jpg&amp;ixid&#x3D;M3wxMTc3M3wwfDF8c2VhcmNofDE0fHxzb2Z0d2FyZSUyMGVuZ2luZWVyfGVufDB8fHx8MTcyNzQzNjkyN3ww&amp;ixlib&#x3D;rb-4.0.3&amp;q&#x3D;80&amp;w&#x3D;1000 1000w,
                    https://images.unsplash.com/photo-1573495782952-e42bd3ea5a4d?crop&#x3D;entropy&amp;cs&#x3D;tinysrgb&amp;fit&#x3D;max&amp;fm&#x3D;jpg&amp;ixid&#x3D;M3wxMTc3M3wwfDF8c2VhcmNofDE0fHxzb2Z0d2FyZSUyMGVuZ2luZWVyfGVufDB8fHx8MTcyNzQzNjkyN3ww&amp;ixlib&#x3D;rb-4.0.3&amp;q&#x3D;80&amp;w&#x3D;2000 2000w"
            sizes="(max-width: 1000px) 400px, 800px"
            src="https://images.unsplash.com/photo-1573495782952-e42bd3ea5a4d?crop&#x3D;entropy&amp;cs&#x3D;tinysrgb&amp;fit&#x3D;max&amp;fm&#x3D;jpg&amp;ixid&#x3D;M3wxMTc3M3wwfDF8c2VhcmNofDE0fHxzb2Z0d2FyZSUyMGVuZ2luZWVyfGVufDB8fHx8MTcyNzQzNjkyN3ww&amp;ixlib&#x3D;rb-4.0.3&amp;q&#x3D;80&amp;w&#x3D;600"
            alt="4 Lições Cruciais de Design de Software que Aprendi na Prática (e Como Evitar Erros Comuns)"
            loading="lazy"
        />


    </a>

    <div class="post-card-content">

        <a class="post-card-content-link" href="/4-licoes-cruciais-de-design-de-software-que-aprendi-na-pratica-e-como-evitar-erros-comuns/">
            <header class="post-card-header">
                <div class="post-card-tags">
                </div>
                <h2 class="post-card-title">
                    4 Lições Cruciais de Design de Software que Aprendi na Prática (e Como Evitar Erros Comuns)
                </h2>
            </header>
                <div class="post-card-excerpt">Se houver duas fontes de verdade, provavelmente uma está errada. E sim, por favor, repita a si mesmo.


Recentemente, construí e projetei um serviço massivo que (finalmente) foi lançado com sucesso no mês passado. Durante o processo de design e implementação, percebi que a lista a seguir de &quot;regras&</div>
        </a>

        <footer class="post-card-meta">
            <time class="post-card-meta-date" datetime="2024-09-27">27 de Set de 2024</time>
                <span class="post-card-meta-length">4 min read</span>
        </footer>

    </div>

</article>
            
<article class="post-card post tag-engenharia-de-software tag-dicas tag-programacao tag-performance">

    <a class="post-card-image-link" href="/7-habitos-simples-dos-melhores-engenheiros-de-software-do-mercado/">

        <img class="post-card-image"
            srcset="https://images.unsplash.com/photo-1484417894907-623942c8ee29?crop&#x3D;entropy&amp;cs&#x3D;tinysrgb&amp;fit&#x3D;max&amp;fm&#x3D;jpg&amp;ixid&#x3D;M3wxMTc3M3wwfDF8c2VhcmNofDZ8fHByb2dyYW1taW5nfGVufDB8fHx8MTcyNDc2MDA5OHww&amp;ixlib&#x3D;rb-4.0.3&amp;q&#x3D;80&amp;w&#x3D;300 300w,
                    https://images.unsplash.com/photo-1484417894907-623942c8ee29?crop&#x3D;entropy&amp;cs&#x3D;tinysrgb&amp;fit&#x3D;max&amp;fm&#x3D;jpg&amp;ixid&#x3D;M3wxMTc3M3wwfDF8c2VhcmNofDZ8fHByb2dyYW1taW5nfGVufDB8fHx8MTcyNDc2MDA5OHww&amp;ixlib&#x3D;rb-4.0.3&amp;q&#x3D;80&amp;w&#x3D;600 600w,
                    https://images.unsplash.com/photo-1484417894907-623942c8ee29?crop&#x3D;entropy&amp;cs&#x3D;tinysrgb&amp;fit&#x3D;max&amp;fm&#x3D;jpg&amp;ixid&#x3D;M3wxMTc3M3wwfDF8c2VhcmNofDZ8fHByb2dyYW1taW5nfGVufDB8fHx8MTcyNDc2MDA5OHww&amp;ixlib&#x3D;rb-4.0.3&amp;q&#x3D;80&amp;w&#x3D;1000 1000w,
                    https://images.unsplash.com/photo-1484417894907-623942c8ee29?crop&#x3D;entropy&amp;cs&#x3D;tinysrgb&amp;fit&#x3D;max&amp;fm&#x3D;jpg&amp;ixid&#x3D;M3wxMTc3M3wwfDF8c2VhcmNofDZ8fHByb2dyYW1taW5nfGVufDB8fHx8MTcyNDc2MDA5OHww&amp;ixlib&#x3D;rb-4.0.3&amp;q&#x3D;80&amp;w&#x3D;2000 2000w"
            sizes="(max-width: 1000px) 400px, 800px"
            src="https://images.unsplash.com/photo-1484417894907-623942c8ee29?crop&#x3D;entropy&amp;cs&#x3D;tinysrgb&amp;fit&#x3D;max&amp;fm&#x3D;jpg&amp;ixid&#x3D;M3wxMTc3M3wwfDF8c2VhcmNofDZ8fHByb2dyYW1taW5nfGVufDB8fHx8MTcyNDc2MDA5OHww&amp;ixlib&#x3D;rb-4.0.3&amp;q&#x3D;80&amp;w&#x3D;600"
            alt="7 hábitos simples dos melhores engenheiros de software do mercado"
            loading="lazy"
        />


    </a>

    <div class="post-card-content">

        <a class="post-card-content-link" href="/7-habitos-simples-dos-melhores-engenheiros-de-software-do-mercado/">
            <header class="post-card-header">
                <div class="post-card-tags">
                        <span class="post-card-primary-tag">Engenharia de Software</span>
                </div>
                <h2 class="post-card-title">
                    7 hábitos simples dos melhores engenheiros de software do mercado
                </h2>
            </header>
                <div class="post-card-excerpt">Como grandes engenheiros de software mantêm um desempenho superior..

Código para humanos, não apenas para computadores
“Qualquer idiota pode escrever um código que um computador entenda. Bons programadores escrevem código que humanos entendem.” – Martin Fowler.
O código é para os humanos na sua equipe que leem, mantêm e constroem sobre</div>
        </a>

        <footer class="post-card-meta">
            <time class="post-card-meta-date" datetime="2024-08-27">27 de Ago de 2024</time>
                <span class="post-card-meta-length">2 min read</span>
        </footer>

    </div>

</article>
            
<article class="post-card post">

    <a class="post-card-image-link" href="/guia-completo-para-encontrar-um-emprego-na-industria-de-tecnologia/">

        <img class="post-card-image"
            srcset="https://images.unsplash.com/photo-1587620962725-abab7fe55159?crop&#x3D;entropy&amp;cs&#x3D;tinysrgb&amp;fit&#x3D;max&amp;fm&#x3D;jpg&amp;ixid&#x3D;M3wxMTc3M3wwfDF8c2VhcmNofDN8fHByb2dyYW18ZW58MHx8fHwxNzIxMTI4ODAzfDA&amp;ixlib&#x3D;rb-4.0.3&amp;q&#x3D;80&amp;w&#x3D;300 300w,
                    https://images.unsplash.com/photo-1587620962725-abab7fe55159?crop&#x3D;entropy&amp;cs&#x3D;tinysrgb&amp;fit&#x3D;max&amp;fm&#x3D;jpg&amp;ixid&#x3D;M3wxMTc3M3wwfDF8c2VhcmNofDN8fHByb2dyYW18ZW58MHx8fHwxNzIxMTI4ODAzfDA&amp;ixlib&#x3D;rb-4.0.3&amp;q&#x3D;80&amp;w&#x3D;600 600w,
                    https://images.unsplash.com/photo-1587620962725-abab7fe55159?crop&#x3D;entropy&amp;cs&#x3D;tinysrgb&amp;fit&#x3D;max&amp;fm&#x3D;jpg&amp;ixid&#x3D;M3wxMTc3M3wwfDF8c2VhcmNofDN8fHByb2dyYW18ZW58MHx8fHwxNzIxMTI4ODAzfDA&amp;ixlib&#x3D;rb-4.0.3&amp;q&#x3D;80&amp;w&#x3D;1000 1000w,
                    https://images.unsplash.com/photo-1587620962725-abab7fe55159?crop&#x3D;entropy&amp;cs&#x3D;tinysrgb&amp;fit&#x3D;max&amp;fm&#x3D;jpg&amp;ixid&#x3D;M3wxMTc3M3wwfDF8c2VhcmNofDN8fHByb2dyYW18ZW58MHx8fHwxNzIxMTI4ODAzfDA&amp;ixlib&#x3D;rb-4.0.3&amp;q&#x3D;80&amp;w&#x3D;2000 2000w"
            sizes="(max-width: 1000px) 400px, 800px"
            src="https://images.unsplash.com/photo-1587620962725-abab7fe55159?crop&#x3D;entropy&amp;cs&#x3D;tinysrgb&amp;fit&#x3D;max&amp;fm&#x3D;jpg&amp;ixid&#x3D;M3wxMTc3M3wwfDF8c2VhcmNofDN8fHByb2dyYW18ZW58MHx8fHwxNzIxMTI4ODAzfDA&amp;ixlib&#x3D;rb-4.0.3&amp;q&#x3D;80&amp;w&#x3D;600"
            alt="Guia Completo para Encontrar um Emprego na Indústria de Tecnologia"
            loading="lazy"
        />


    </a>

    <div class="post-card-content">

        <a class="post-card-content-link" href="/guia-completo-para-encontrar-um-emprego-na-industria-de-tecnologia/">
            <header class="post-card-header">
                <div class="post-card-tags">
                </div>
                <h2 class="post-card-title">
                    Guia Completo para Encontrar um Emprego na Indústria de Tecnologia
                </h2>
            </header>
                <div class="post-card-excerpt">No mundo competitivo da tecnologia, encontrar um emprego pode ser um verdadeiro desafio. No entanto, com as estratégias certas e uma abordagem estruturada, você pode aumentar suas chances de sucesso. Este guia reúne algumas das melhores práticas discutidas pela comunidade Hacker News, que podem ajudar você a navegar com eficácia</div>
        </a>

        <footer class="post-card-meta">
            <time class="post-card-meta-date" datetime="2024-07-16">16 de Jul de 2024</time>
                <span class="post-card-meta-length">3 min read</span>
        </footer>

    </div>

</article>
            
<article class="post-card post">

    <a class="post-card-image-link" href="/a-mudanca-no-cenario-do-seo-de-reis-do-conteudo-a-indexacao-seletiva/">

        <img class="post-card-image"
            srcset="https://images.unsplash.com/photo-1600469984476-c713650f1b1b?crop&#x3D;entropy&amp;cs&#x3D;tinysrgb&amp;fit&#x3D;max&amp;fm&#x3D;jpg&amp;ixid&#x3D;M3wxMTc3M3wwfDF8c2VhcmNofDZ8fFNFT3xlbnwwfHx8fDE3MjExMjgzNjJ8MA&amp;ixlib&#x3D;rb-4.0.3&amp;q&#x3D;80&amp;w&#x3D;300 300w,
                    https://images.unsplash.com/photo-1600469984476-c713650f1b1b?crop&#x3D;entropy&amp;cs&#x3D;tinysrgb&amp;fit&#x3D;max&amp;fm&#x3D;jpg&amp;ixid&#x3D;M3wxMTc3M3wwfDF8c2VhcmNofDZ8fFNFT3xlbnwwfHx8fDE3MjExMjgzNjJ8MA&amp;ixlib&#x3D;rb-4.0.3&amp;q&#x3D;80&amp;w&#x3D;600 600w,
                    https://images.unsplash.com/photo-1600469984476-c713650f1b1b?crop&#x3D;entropy&amp;cs&#x3D;tinysrgb&amp;fit&#x3D;max&amp;fm&#x3D;jpg&amp;ixid&#x3D;M3wxMTc3M3wwfDF8c2VhcmNofDZ8fFNFT3xlbnwwfHx8fDE3MjExMjgzNjJ8MA&amp;ixlib&#x3D;rb-4.0.3&amp;q&#x3D;80&amp;w&#x3D;1000 1000w,
                    https://images.unsplash.com/photo-1600469984476-c713650f1b1b?crop&#x3D;entropy&amp;cs&#x3D;tinysrgb&amp;fit&#x3D;max&amp;fm&#x3D;jpg&amp;ixid&#x3D;M3wxMTc3M3wwfDF8c2VhcmNofDZ8fFNFT3xlbnwwfHx8fDE3MjExMjgzNjJ8MA&amp;ixlib&#x3D;rb-4.0.3&amp;q&#x3D;80&amp;w&#x3D;2000 2000w"
            sizes="(max-width: 1000px) 400px, 800px"
            src="https://images.unsplash.com/photo-1600469984476-c713650f1b1b?crop&#x3D;entropy&amp;cs&#x3D;tinysrgb&amp;fit&#x3D;max&amp;fm&#x3D;jpg&amp;ixid&#x3D;M3wxMTc3M3wwfDF8c2VhcmNofDZ8fFNFT3xlbnwwfHx8fDE3MjExMjgzNjJ8MA&amp;ixlib&#x3D;rb-4.0.3&amp;q&#x3D;80&amp;w&#x3D;600"
            alt="A Mudança no Cenário do SEO: De Reis do Conteúdo à Indexação Seletiva"
            loading="lazy"
        />


    </a>

    <div class="post-card-content">

        <a class="post-card-content-link" href="/a-mudanca-no-cenario-do-seo-de-reis-do-conteudo-a-indexacao-seletiva/">
            <header class="post-card-header">
                <div class="post-card-tags">
                </div>
                <h2 class="post-card-title">
                    A Mudança no Cenário do SEO: De Reis do Conteúdo à Indexação Seletiva
                </h2>
            </header>
                <div class="post-card-excerpt">Um Olhar para o Passado


Imagine isso: há dez anos, você acabou de lançar um novo blog no WordPress. Em questão de horas, às vezes até minutos, seu conteúdo era indexado pelo Google. Você procurava uma frase única do seu post mais recente e lá estava ele, bem na primeira</div>
        </a>

        <footer class="post-card-meta">
            <time class="post-card-meta-date" datetime="2024-07-16">16 de Jul de 2024</time>
                <span class="post-card-meta-length">5 min read</span>
        </footer>

    </div>

</article>
            
<article class="post-card post">

    <a class="post-card-image-link" href="/the-changing-landscape-of-seo-from-content-kings-to-selective-indexing/">

        <img class="post-card-image"
            srcset="https://images.unsplash.com/photo-1637606346315-d23ed32a6cfc?crop&#x3D;entropy&amp;cs&#x3D;tinysrgb&amp;fit&#x3D;max&amp;fm&#x3D;jpg&amp;ixid&#x3D;M3wxMTc3M3wwfDF8c2VhcmNofDR8fFNFT3xlbnwwfHx8fDE3MjExMjgzNjJ8MA&amp;ixlib&#x3D;rb-4.0.3&amp;q&#x3D;80&amp;w&#x3D;300 300w,
                    https://images.unsplash.com/photo-1637606346315-d23ed32a6cfc?crop&#x3D;entropy&amp;cs&#x3D;tinysrgb&amp;fit&#x3D;max&amp;fm&#x3D;jpg&amp;ixid&#x3D;M3wxMTc3M3wwfDF8c2VhcmNofDR8fFNFT3xlbnwwfHx8fDE3MjExMjgzNjJ8MA&amp;ixlib&#x3D;rb-4.0.3&amp;q&#x3D;80&amp;w&#x3D;600 600w,
                    https://images.unsplash.com/photo-1637606346315-d23ed32a6cfc?crop&#x3D;entropy&amp;cs&#x3D;tinysrgb&amp;fit&#x3D;max&amp;fm&#x3D;jpg&amp;ixid&#x3D;M3wxMTc3M3wwfDF8c2VhcmNofDR8fFNFT3xlbnwwfHx8fDE3MjExMjgzNjJ8MA&amp;ixlib&#x3D;rb-4.0.3&amp;q&#x3D;80&amp;w&#x3D;1000 1000w,
                    https://images.unsplash.com/photo-1637606346315-d23ed32a6cfc?crop&#x3D;entropy&amp;cs&#x3D;tinysrgb&amp;fit&#x3D;max&amp;fm&#x3D;jpg&amp;ixid&#x3D;M3wxMTc3M3wwfDF8c2VhcmNofDR8fFNFT3xlbnwwfHx8fDE3MjExMjgzNjJ8MA&amp;ixlib&#x3D;rb-4.0.3&amp;q&#x3D;80&amp;w&#x3D;2000 2000w"
            sizes="(max-width: 1000px) 400px, 800px"
            src="https://images.unsplash.com/photo-1637606346315-d23ed32a6cfc?crop&#x3D;entropy&amp;cs&#x3D;tinysrgb&amp;fit&#x3D;max&amp;fm&#x3D;jpg&amp;ixid&#x3D;M3wxMTc3M3wwfDF8c2VhcmNofDR8fFNFT3xlbnwwfHx8fDE3MjExMjgzNjJ8MA&amp;ixlib&#x3D;rb-4.0.3&amp;q&#x3D;80&amp;w&#x3D;600"
            alt="The Changing Landscape of SEO: From Content Kings to Selective Indexing"
            loading="lazy"
        />


    </a>

    <div class="post-card-content">

        <a class="post-card-content-link" href="/the-changing-landscape-of-seo-from-content-kings-to-selective-indexing/">
            <header class="post-card-header">
                <div class="post-card-tags">
                </div>
                <h2 class="post-card-title">
                    The Changing Landscape of SEO: From Content Kings to Selective Indexing
                </h2>
            </header>
                <div class="post-card-excerpt">A Glimpse into the Past


Imagine this: It&#39;s ten years ago, and you&#39;ve just launched a new WordPress blog. Within hours, sometimes even minutes, your content is indexed by Google. You search for a unique sentence from your latest post, and there it is, right on</div>
        </a>

        <footer class="post-card-meta">
            <time class="post-card-meta-date" datetime="2024-07-16">16 de Jul de 2024</time>
                <span class="post-card-meta-length">5 min read</span>
        </footer>

    </div>

</article>
            
<article class="post-card post tag-ruby tag-rails tag-software tag-engenharia-de-software tag-ruby-on-rails tag-programacao featured">

    <a class="post-card-image-link" href="/novidades-do-ruby-on-rails-7-2-um-guia-completo/">

        <img class="post-card-image"
            srcset="https://images.unsplash.com/photo-1522776851755-3914469f0ca2?crop&#x3D;entropy&amp;cs&#x3D;tinysrgb&amp;fit&#x3D;max&amp;fm&#x3D;jpg&amp;ixid&#x3D;M3wxMTc3M3wwfDF8c2VhcmNofDR8fHJ1YnklMjBvbiUyMHJhaWxzfGVufDB8fHx8MTcyMDg5MjA1OXww&amp;ixlib&#x3D;rb-4.0.3&amp;q&#x3D;80&amp;w&#x3D;300 300w,
                    https://images.unsplash.com/photo-1522776851755-3914469f0ca2?crop&#x3D;entropy&amp;cs&#x3D;tinysrgb&amp;fit&#x3D;max&amp;fm&#x3D;jpg&amp;ixid&#x3D;M3wxMTc3M3wwfDF8c2VhcmNofDR8fHJ1YnklMjBvbiUyMHJhaWxzfGVufDB8fHx8MTcyMDg5MjA1OXww&amp;ixlib&#x3D;rb-4.0.3&amp;q&#x3D;80&amp;w&#x3D;600 600w,
                    https://images.unsplash.com/photo-1522776851755-3914469f0ca2?crop&#x3D;entropy&amp;cs&#x3D;tinysrgb&amp;fit&#x3D;max&amp;fm&#x3D;jpg&amp;ixid&#x3D;M3wxMTc3M3wwfDF8c2VhcmNofDR8fHJ1YnklMjBvbiUyMHJhaWxzfGVufDB8fHx8MTcyMDg5MjA1OXww&amp;ixlib&#x3D;rb-4.0.3&amp;q&#x3D;80&amp;w&#x3D;1000 1000w,
                    https://images.unsplash.com/photo-1522776851755-3914469f0ca2?crop&#x3D;entropy&amp;cs&#x3D;tinysrgb&amp;fit&#x3D;max&amp;fm&#x3D;jpg&amp;ixid&#x3D;M3wxMTc3M3wwfDF8c2VhcmNofDR8fHJ1YnklMjBvbiUyMHJhaWxzfGVufDB8fHx8MTcyMDg5MjA1OXww&amp;ixlib&#x3D;rb-4.0.3&amp;q&#x3D;80&amp;w&#x3D;2000 2000w"
            sizes="(max-width: 1000px) 400px, 800px"
            src="https://images.unsplash.com/photo-1522776851755-3914469f0ca2?crop&#x3D;entropy&amp;cs&#x3D;tinysrgb&amp;fit&#x3D;max&amp;fm&#x3D;jpg&amp;ixid&#x3D;M3wxMTc3M3wwfDF8c2VhcmNofDR8fHJ1YnklMjBvbiUyMHJhaWxzfGVufDB8fHx8MTcyMDg5MjA1OXww&amp;ixlib&#x3D;rb-4.0.3&amp;q&#x3D;80&amp;w&#x3D;600"
            alt="Novidades do Ruby on Rails 7.2: Um Guia Completo"
            loading="lazy"
        />


    </a>

    <div class="post-card-content">

        <a class="post-card-content-link" href="/novidades-do-ruby-on-rails-7-2-um-guia-completo/">
            <header class="post-card-header">
                <div class="post-card-tags">
                        <span class="post-card-primary-tag">Ruby</span>
                        <span class="post-card-featured"><svg width="16" height="17" viewBox="0 0 16 17" fill="none" xmlns="http://www.w3.org/2000/svg">
    <path d="M4.49365 4.58752C3.53115 6.03752 2.74365 7.70002 2.74365 9.25002C2.74365 10.6424 3.29678 11.9778 4.28134 12.9623C5.26591 13.9469 6.60127 14.5 7.99365 14.5C9.38604 14.5 10.7214 13.9469 11.706 12.9623C12.6905 11.9778 13.2437 10.6424 13.2437 9.25002C13.2437 6.00002 10.9937 3.50002 9.16865 1.68127L6.99365 6.25002L4.49365 4.58752Z" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"></path>
</svg> Featured</span>
                </div>
                <h2 class="post-card-title">
                    Novidades do Ruby on Rails 7.2: Um Guia Completo
                </h2>
            </header>
                <div class="post-card-excerpt">Introdução


O Ruby on Rails é uma das frameworks mais populares para desenvolvimento web, conhecida por sua eficiência e simplicidade. A versão 7.2 do Ruby on Rails traz uma série de melhorias e novas funcionalidades que prometem facilitar ainda mais o desenvolvimento de aplicações web robustas e escaláveis. Neste</div>
        </a>

        <footer class="post-card-meta">
            <time class="post-card-meta-date" datetime="2024-07-13">13 de Jul de 2024</time>
                <span class="post-card-meta-length">5 min read</span>
        </footer>

    </div>

</article>
            
<article class="post-card post tag-software tag-engenheira-de-software tag-dicas featured">

    <a class="post-card-image-link" href="/coisas-que-voce-nao-deve-fazer-como-um-engenheiro-de-software/">

        <img class="post-card-image"
            srcset="https://images.unsplash.com/photo-1605379399642-870262d3d051?crop&#x3D;entropy&amp;cs&#x3D;tinysrgb&amp;fit&#x3D;max&amp;fm&#x3D;jpg&amp;ixid&#x3D;M3wxMTc3M3wwfDF8c2VhcmNofDN8fHNvZnR3YXJlJTIwZW5naW5lZXJ8ZW58MHx8fHwxNzE2NDY4ODI0fDA&amp;ixlib&#x3D;rb-4.0.3&amp;q&#x3D;80&amp;w&#x3D;300 300w,
                    https://images.unsplash.com/photo-1605379399642-870262d3d051?crop&#x3D;entropy&amp;cs&#x3D;tinysrgb&amp;fit&#x3D;max&amp;fm&#x3D;jpg&amp;ixid&#x3D;M3wxMTc3M3wwfDF8c2VhcmNofDN8fHNvZnR3YXJlJTIwZW5naW5lZXJ8ZW58MHx8fHwxNzE2NDY4ODI0fDA&amp;ixlib&#x3D;rb-4.0.3&amp;q&#x3D;80&amp;w&#x3D;600 600w,
                    https://images.unsplash.com/photo-1605379399642-870262d3d051?crop&#x3D;entropy&amp;cs&#x3D;tinysrgb&amp;fit&#x3D;max&amp;fm&#x3D;jpg&amp;ixid&#x3D;M3wxMTc3M3wwfDF8c2VhcmNofDN8fHNvZnR3YXJlJTIwZW5naW5lZXJ8ZW58MHx8fHwxNzE2NDY4ODI0fDA&amp;ixlib&#x3D;rb-4.0.3&amp;q&#x3D;80&amp;w&#x3D;1000 1000w,
                    https://images.unsplash.com/photo-1605379399642-870262d3d051?crop&#x3D;entropy&amp;cs&#x3D;tinysrgb&amp;fit&#x3D;max&amp;fm&#x3D;jpg&amp;ixid&#x3D;M3wxMTc3M3wwfDF8c2VhcmNofDN8fHNvZnR3YXJlJTIwZW5naW5lZXJ8ZW58MHx8fHwxNzE2NDY4ODI0fDA&amp;ixlib&#x3D;rb-4.0.3&amp;q&#x3D;80&amp;w&#x3D;2000 2000w"
            sizes="(max-width: 1000px) 400px, 800px"
            src="https://images.unsplash.com/photo-1605379399642-870262d3d051?crop&#x3D;entropy&amp;cs&#x3D;tinysrgb&amp;fit&#x3D;max&amp;fm&#x3D;jpg&amp;ixid&#x3D;M3wxMTc3M3wwfDF8c2VhcmNofDN8fHNvZnR3YXJlJTIwZW5naW5lZXJ8ZW58MHx8fHwxNzE2NDY4ODI0fDA&amp;ixlib&#x3D;rb-4.0.3&amp;q&#x3D;80&amp;w&#x3D;600"
            alt="Coisas que você não deve fazer como um Engenheiro de Software"
            loading="lazy"
        />


    </a>

    <div class="post-card-content">

        <a class="post-card-content-link" href="/coisas-que-voce-nao-deve-fazer-como-um-engenheiro-de-software/">
            <header class="post-card-header">
                <div class="post-card-tags">
                        <span class="post-card-primary-tag">Software</span>
                        <span class="post-card-featured"><svg width="16" height="17" viewBox="0 0 16 17" fill="none" xmlns="http://www.w3.org/2000/svg">
    <path d="M4.49365 4.58752C3.53115 6.03752 2.74365 7.70002 2.74365 9.25002C2.74365 10.6424 3.29678 11.9778 4.28134 12.9623C5.26591 13.9469 6.60127 14.5 7.99365 14.5C9.38604 14.5 10.7214 13.9469 11.706 12.9623C12.6905 11.9778 13.2437 10.6424 13.2437 9.25002C13.2437 6.00002 10.9937 3.50002 9.16865 1.68127L6.99365 6.25002L4.49365 4.58752Z" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"></path>
</svg> Featured</span>
                </div>
                <h2 class="post-card-title">
                    Coisas que você não deve fazer como um Engenheiro de Software
                </h2>
            </header>
                <div class="post-card-excerpt">Tenho trabalhado como engenheiro de software por mais de 8 anos. Isso não me torna um expert, mas tenho certeza de que cometi erros suficientes para compartilhar com você. Aqui estão as 10 coisas que você nunca deve fazer como engenheiro de software!



Ser Perfeccionista


Nada é perfeito, e tenho</div>
        </a>

        <footer class="post-card-meta">
            <time class="post-card-meta-date" datetime="2024-05-23">23 de Mai de 2024</time>
                <span class="post-card-meta-length">5 min read</span>
        </footer>

    </div>

</article>
            
<article class="post-card post tag-ruby tag-rails tag-performance tag-postgresql">

    <a class="post-card-image-link" href="/dicas-de-otimizacao-em-consultas-com-ruby-on-rails/">

        <img class="post-card-image"
            srcset="https://images.unsplash.com/photo-1516321318423-f06f85e504b3?crop&#x3D;entropy&amp;cs&#x3D;tinysrgb&amp;fit&#x3D;max&amp;fm&#x3D;jpg&amp;ixid&#x3D;M3wxMTc3M3wwfDF8c2VhcmNofDEwfHxjb21wdXRlcnxlbnwwfHx8fDE3MDk2Mzk5NTh8MA&amp;ixlib&#x3D;rb-4.0.3&amp;q&#x3D;80&amp;w&#x3D;300 300w,
                    https://images.unsplash.com/photo-1516321318423-f06f85e504b3?crop&#x3D;entropy&amp;cs&#x3D;tinysrgb&amp;fit&#x3D;max&amp;fm&#x3D;jpg&amp;ixid&#x3D;M3wxMTc3M3wwfDF8c2VhcmNofDEwfHxjb21wdXRlcnxlbnwwfHx8fDE3MDk2Mzk5NTh8MA&amp;ixlib&#x3D;rb-4.0.3&amp;q&#x3D;80&amp;w&#x3D;600 600w,
                    https://images.unsplash.com/photo-1516321318423-f06f85e504b3?crop&#x3D;entropy&amp;cs&#x3D;tinysrgb&amp;fit&#x3D;max&amp;fm&#x3D;jpg&amp;ixid&#x3D;M3wxMTc3M3wwfDF8c2VhcmNofDEwfHxjb21wdXRlcnxlbnwwfHx8fDE3MDk2Mzk5NTh8MA&amp;ixlib&#x3D;rb-4.0.3&amp;q&#x3D;80&amp;w&#x3D;1000 1000w,
                    https://images.unsplash.com/photo-1516321318423-f06f85e504b3?crop&#x3D;entropy&amp;cs&#x3D;tinysrgb&amp;fit&#x3D;max&amp;fm&#x3D;jpg&amp;ixid&#x3D;M3wxMTc3M3wwfDF8c2VhcmNofDEwfHxjb21wdXRlcnxlbnwwfHx8fDE3MDk2Mzk5NTh8MA&amp;ixlib&#x3D;rb-4.0.3&amp;q&#x3D;80&amp;w&#x3D;2000 2000w"
            sizes="(max-width: 1000px) 400px, 800px"
            src="https://images.unsplash.com/photo-1516321318423-f06f85e504b3?crop&#x3D;entropy&amp;cs&#x3D;tinysrgb&amp;fit&#x3D;max&amp;fm&#x3D;jpg&amp;ixid&#x3D;M3wxMTc3M3wwfDF8c2VhcmNofDEwfHxjb21wdXRlcnxlbnwwfHx8fDE3MDk2Mzk5NTh8MA&amp;ixlib&#x3D;rb-4.0.3&amp;q&#x3D;80&amp;w&#x3D;600"
            alt="Consultas Eficientes no Rails: Dicas Práticas para Turbinar seu App"
            loading="lazy"
        />


    </a>

    <div class="post-card-content">

        <a class="post-card-content-link" href="/dicas-de-otimizacao-em-consultas-com-ruby-on-rails/">
            <header class="post-card-header">
                <div class="post-card-tags">
                        <span class="post-card-primary-tag">Ruby</span>
                </div>
                <h2 class="post-card-title">
                    Consultas Eficientes no Rails: Dicas Práticas para Turbinar seu App
                </h2>
            </header>
                <div class="post-card-excerpt">Olá pessoal! 👋 Hoje, quero compartilhar com vocês um assunto crucial para o bom desempenho de qualquer aplicativo Rails: otimização de consultas.


Consultas mal elaboradas podem ser um gargalo terrível, atrasando o carregamento das páginas e frustrando seus usuários. Mas não se preocupe, pois neste post, você encontrará dicas práticas para</div>
        </a>

        <footer class="post-card-meta">
            <time class="post-card-meta-date" datetime="2024-03-05">5 de Mar de 2024</time>
                <span class="post-card-meta-length">2 min read</span>
        </footer>

    </div>

</article>
            
<article class="post-card post">

    <a class="post-card-image-link" href="/os-melhores-livros-para-dominar-ruby-e-rails-guia-de-aprendizado-2024/">

        <img class="post-card-image"
            srcset="https://images.unsplash.com/photo-1522776851755-3914469f0ca2?crop&#x3D;entropy&amp;cs&#x3D;tinysrgb&amp;fit&#x3D;max&amp;fm&#x3D;jpg&amp;ixid&#x3D;M3wxMTc3M3wwfDF8c2VhcmNofDR8fHJ1YnklMjBvbiUyMHJhaWxzfGVufDB8fHx8MTcwNjk2MDM5NXww&amp;ixlib&#x3D;rb-4.0.3&amp;q&#x3D;80&amp;w&#x3D;300 300w,
                    https://images.unsplash.com/photo-1522776851755-3914469f0ca2?crop&#x3D;entropy&amp;cs&#x3D;tinysrgb&amp;fit&#x3D;max&amp;fm&#x3D;jpg&amp;ixid&#x3D;M3wxMTc3M3wwfDF8c2VhcmNofDR8fHJ1YnklMjBvbiUyMHJhaWxzfGVufDB8fHx8MTcwNjk2MDM5NXww&amp;ixlib&#x3D;rb-4.0.3&amp;q&#x3D;80&amp;w&#x3D;600 600w,
                    https://images.unsplash.com/photo-1522776851755-3914469f0ca2?crop&#x3D;entropy&amp;cs&#x3D;tinysrgb&amp;fit&#x3D;max&amp;fm&#x3D;jpg&amp;ixid&#x3D;M3wxMTc3M3wwfDF8c2VhcmNofDR8fHJ1YnklMjBvbiUyMHJhaWxzfGVufDB8fHx8MTcwNjk2MDM5NXww&amp;ixlib&#x3D;rb-4.0.3&amp;q&#x3D;80&amp;w&#x3D;1000 1000w,
                    https://images.unsplash.com/photo-1522776851755-3914469f0ca2?crop&#x3D;entropy&amp;cs&#x3D;tinysrgb&amp;fit&#x3D;max&amp;fm&#x3D;jpg&amp;ixid&#x3D;M3wxMTc3M3wwfDF8c2VhcmNofDR8fHJ1YnklMjBvbiUyMHJhaWxzfGVufDB8fHx8MTcwNjk2MDM5NXww&amp;ixlib&#x3D;rb-4.0.3&amp;q&#x3D;80&amp;w&#x3D;2000 2000w"
            sizes="(max-width: 1000px) 400px, 800px"
            src="https://images.unsplash.com/photo-1522776851755-3914469f0ca2?crop&#x3D;entropy&amp;cs&#x3D;tinysrgb&amp;fit&#x3D;max&amp;fm&#x3D;jpg&amp;ixid&#x3D;M3wxMTc3M3wwfDF8c2VhcmNofDR8fHJ1YnklMjBvbiUyMHJhaWxzfGVufDB8fHx8MTcwNjk2MDM5NXww&amp;ixlib&#x3D;rb-4.0.3&amp;q&#x3D;80&amp;w&#x3D;600"
            alt="Os Melhores Livros para Dominar Ruby e Rails: Guia de Aprendizado 2024"
            loading="lazy"
        />


    </a>

    <div class="post-card-content">

        <a class="post-card-content-link" href="/os-melhores-livros-para-dominar-ruby-e-rails-guia-de-aprendizado-2024/">
            <header class="post-card-header">
                <div class="post-card-tags">
                </div>
                <h2 class="post-card-title">
                    Os Melhores Livros para Dominar Ruby e Rails: Guia de Aprendizado 2024
                </h2>
            </header>
                <div class="post-card-excerpt">A jornada no universo do desenvolvimento web é empolgante, especialmente quando se tem Ruby e Rails como aliados. Ruby, conhecida por sua simplicidade e código elegante, combinada com Rails, um framework robusto para desenvolvimento de aplicações web, oferece um caminho eficiente para criar soluções web sofisticadas. Este guia de aprendizado</div>
        </a>

        <footer class="post-card-meta">
            <time class="post-card-meta-date" datetime="2024-02-03">3 de Fev de 2024</time>
                <span class="post-card-meta-length">2 min read</span>
        </footer>

    </div>

</article>
            
<article class="post-card post tag-rails tag-ruby tag-ios tag-android tag-play-store tag-app-store tag-turbo-native">

    <a class="post-card-image-link" href="/impulsionando-seu-app-rails-com-turbo-native-nas-lojas-de-aplicativos-um-guia-pratico/">

        <img class="post-card-image"
            srcset="/content/images/size/w300/2024/02/1_l0KNzU9zp45oz-tenoNu6Q.png 300w,
                    /content/images/size/w600/2024/02/1_l0KNzU9zp45oz-tenoNu6Q.png 600w,
                    /content/images/size/w1000/2024/02/1_l0KNzU9zp45oz-tenoNu6Q.png 1000w,
                    /content/images/size/w2000/2024/02/1_l0KNzU9zp45oz-tenoNu6Q.png 2000w"
            sizes="(max-width: 1000px) 400px, 800px"
            src="/content/images/size/w600/2024/02/1_l0KNzU9zp45oz-tenoNu6Q.png"
            alt="Impulsionando seu App Rails com Turbo Native nas Lojas de Aplicativos: Um Guia Prático"
            loading="lazy"
        />


    </a>

    <div class="post-card-content">

        <a class="post-card-content-link" href="/impulsionando-seu-app-rails-com-turbo-native-nas-lojas-de-aplicativos-um-guia-pratico/">
            <header class="post-card-header">
                <div class="post-card-tags">
                        <span class="post-card-primary-tag">Rails</span>
                </div>
                <h2 class="post-card-title">
                    Impulsionando seu App Rails com Turbo Native nas Lojas de Aplicativos: Um Guia Prático
                </h2>
            </header>
                <div class="post-card-excerpt">Introdução


No mundo dinâmico do desenvolvimento de software, encontrar maneiras eficientes de lançar e atualizar aplicativos é fundamental. Turbo Native emerge como uma solução poderosa para apps Rails, permitindo uma presença sólida nas lojas de aplicativos com facilidade e eficiência.



Por que Turbo Native para Rails?


Turbo Native oferece uma</div>
        </a>

        <footer class="post-card-meta">
            <time class="post-card-meta-date" datetime="2024-02-02">2 de Fev de 2024</time>
                <span class="post-card-meta-length">2 min read</span>
        </footer>

    </div>

</article>
    </div>

    <nav class="pagination">
    <span class="page-number">Page 1 of 2</span>
        <a class="older-posts" href="/page/2/">Older Posts <span aria-hidden="true">&rarr;</span></a>
</nav>


</div>
</main>

    </div>

    <footer class="site-footer outer">
        <div class="inner">
            <section class="copyright"><a href="https://jcmaciel.com">JCMaciel Blog</a> &copy; 2026</section>
            <nav class="site-footer-nav">
                <ul class="nav">
    <li class="nav-contact-me"><a href="mailto:jcmacielp@gmail.com">Contact me :)</a></li>
    <li class="nav-hire-a-boosting-tech"><a href="https://boosting.tech">Hire a boosting.tech</a></li>
    <li class="nav-politica-de-privacidade"><a href="https://jcmaciel.com/politica-de-privacidade/">Politica de Privacidade</a></li>
</ul>

            </nav>
            <div class="gh-powered-by"><a href="https://ghost.org/" target="_blank" rel="noopener">Powered by Ghost</a></div>
        </div>
    </footer>

</div>


<script
    src="https://code.jquery.com/jquery-3.5.1.min.js"
    integrity="sha256-9/aliU8dGd2tb6OSsuzixeV4y/faTqgFtohetphbbj0="
    crossorigin="anonymous">
</script>
<script src="/assets/built/casper.js?v=8352fa42bd"></script>
<script>
$(document).ready(function () {
    // Mobile Menu Trigger
    $('.gh-burger').click(function () {
        $('body').toggleClass('gh-head-open');
    });
    // FitVids - Makes video embeds responsive
    $(".gh-content").fitVids();
});
</script>



</body>
</html>
