CINXE.COM
Ruby on Rails - DEV Community
<!DOCTYPE html> <html lang="en"> <head> <meta charset="utf-8"> <title>Ruby on Rails - DEV Community</title> <meta name="last-updated" content="2024-11-24 06:29:10 UTC"> <meta name="user-signed-in" content="false"> <meta name="head-cached-at" content="1732429750"> <meta name="environment" content="production"> <link rel="stylesheet" href="https://assets.dev.to/assets/minimal-1029a3181a2002b43ea3fa90b914eb5dacfc0a92024c5addf6b57d9e589d6a96.css" media="all" id="main-minimal-stylesheet" /> <link rel="stylesheet" href="https://assets.dev.to/assets/views-64d5fff92cc913e57b90d60da8f10d00138c946bcd9212518cbdbd2fb73efe93.css" media="all" id="main-views-stylesheet" /> <link rel="stylesheet" href="https://assets.dev.to/assets/crayons-0a3711d92a5aeac98656e1629816ca6272674f32b83b3832df1a0588c877d33c.css" media="all" id="main-crayons-stylesheet" /> <script src="https://assets.dev.to/assets/base-8dcc8a97f0617dfbfe06690e34a9d71cb7dd6554611a24ec3f71fb6b96414828.js" defer="defer"></script> <script src="https://assets.dev.to/assets/application-147cebefc5c4cddde055e8f5eb0055e811469b08405170e2411fbd7944b5ac04.js" defer="defer"></script> <script src="https://assets.dev.to/assets/baseInitializers-bc498cfd7bb7d2a2da59d68d0b2055cc2dd26fee3669ab88edbb396d37bc3369.js" defer="defer"></script> <script src="https://assets.dev.to/assets/baseTracking-b6bf73e5ee66633e151e7d5b7c6bbccedfa4c59e3615be97b98c4c0f543ddae7.js" defer="defer"></script> <meta name="search-script" content="https://assets.dev.to/assets/Search-cc5e8a352578866203771def747f37c3ec6a0869de0458328e0fcba3d5d2fceb.js"> <link rel="canonical" href="https://dev.to/t/rails" /> <meta name="description" content="rails content on DEV Community"> <meta name="keywords" content="software development, engineering, rails"> <meta property="og:type" content="website" /> <meta property="og:url" content="https://dev.to/t/rails" /> <meta property="og:title" content="Ruby on Rails" /> <meta property="og:description" content="Ruby on Rails content on DEV Community" /> <meta property="og:site_name" content="DEV Community" /> <meta name="twitter:site" content="@thepracticaldev"> <meta name="twitter:creator" content="@Ruby on Rails"> <meta name="twitter:title" content="Ruby on Rails"> <meta name="twitter:description" content="Ruby on Rails content on DEV Community"> <meta name="twitter:card" content="summary_large_image"> <meta property="og:image" content="https://dev-to-uploads.s3.amazonaws.com/uploads/articles/3otvb2z646ytpt1hl2rv.jpg"> <meta name="twitter:image:src" content="https://dev-to-uploads.s3.amazonaws.com/uploads/articles/3otvb2z646ytpt1hl2rv.jpg"> <meta name="viewport" content="width=device-width, initial-scale=1.0, viewport-fit=cover"> <link rel="icon" type="image/x-icon" href="https://media2.dev.to/dynamic/image/width=32,height=,fit=scale-down,gravity=auto,format=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F8j7kvp660rqzt99zui8e.png" /> <link rel="apple-touch-icon" href="https://media2.dev.to/dynamic/image/width=180,height=,fit=scale-down,gravity=auto,format=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F8j7kvp660rqzt99zui8e.png"> <link rel="apple-touch-icon" sizes="152x152" href="https://media2.dev.to/dynamic/image/width=152,height=,fit=scale-down,gravity=auto,format=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F8j7kvp660rqzt99zui8e.png"> <link rel="apple-touch-icon" sizes="180x180" href="https://media2.dev.to/dynamic/image/width=180,height=,fit=scale-down,gravity=auto,format=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F8j7kvp660rqzt99zui8e.png"> <link rel="apple-touch-icon" sizes="167x167" href="https://media2.dev.to/dynamic/image/width=167,height=,fit=scale-down,gravity=auto,format=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F8j7kvp660rqzt99zui8e.png"> <link href="https://media2.dev.to/dynamic/image/width=192,height=,fit=scale-down,gravity=auto,format=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F8j7kvp660rqzt99zui8e.png" rel="icon" sizes="192x192" /> <link href="https://media2.dev.to/dynamic/image/width=128,height=,fit=scale-down,gravity=auto,format=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F8j7kvp660rqzt99zui8e.png" rel="icon" sizes="128x128" /> <meta name="apple-mobile-web-app-title" content="dev.to"> <meta name="application-name" content="dev.to"> <meta name="theme-color" content="#ffffff" media="(prefers-color-scheme: light)"> <meta name="theme-color" content="#000000" media="(prefers-color-scheme: dark)"> <link rel="search" href="https://dev.to/open-search.xml" type="application/opensearchdescription+xml" title="DEV Community" /> <meta property="forem:name" content="DEV Community" /> <meta property="forem:logo" content="https://media2.dev.to/dynamic/image/width=512,height=,fit=scale-down,gravity=auto,format=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F8j7kvp660rqzt99zui8e.png" /> <meta property="forem:domain" content="dev.to" /> </head> <body class="sans-serif-article-body default-header" data-user-status="logged-out" data-community-name="DEV Community" data-subscription-icon="https://assets.dev.to/assets/subscription-icon-805dfa7ac7dd660f07ed8d654877270825b07a92a03841aa99a1093bd00431b2.png" data-locale="en" data-honeybadger-key="hbp_nqu4Y66HuEKlD6YRGssZuRQnPOjDm50J8Zkr" data-deployed-at="2024-11-22T13:27:42Z" data-latest-commit-id="6052d86592113c374948207a1315ec11b16ef648" data-ga-tracking="UA-71991109-1" data-cookie-banner-user-context="logged_out_only" data-cookie-banner-platform-context="off" data-algolia-id="PRSOBFP46H" data-algolia-search-key="9aa7d31610cba78851c9b1f63776a9dd" data-algolia-display="true" data-ga4-tracking-id="G-TYEM8Y3JN3"> <link rel="stylesheet" href="https://assets.dev.to/assets/minimal-1029a3181a2002b43ea3fa90b914eb5dacfc0a92024c5addf6b57d9e589d6a96.css" media="all" id="secondary-minimal-stylesheet" /> <link rel="stylesheet" href="https://assets.dev.to/assets/views-64d5fff92cc913e57b90d60da8f10d00138c946bcd9212518cbdbd2fb73efe93.css" media="all" id="secondary-views-stylesheet" /> <link rel="stylesheet" href="https://assets.dev.to/assets/crayons-0a3711d92a5aeac98656e1629816ca6272674f32b83b3832df1a0588c877d33c.css" media="all" id="secondary-crayons-stylesheet" /> <div id="body-styles"> <style> :root { --accent-brand-lighter-rgb: 80, 99, 301; --accent-brand-rgb: 59, 73, 223; --accent-brand-darker-rgb: 47, 58, 178; } </style> </div> <div id="audiocontent" data-podcast=""> </div> <div class="navigation-progress" id="navigation-progress"></div> <header id="topbar" class="crayons-header topbar print-hidden"> <span id="route-change-target" tabindex="-1"></span> <a href="#main-content" class="skip-content-link">Skip to content</a> <div class="crayons-header__container"> <span class="inline-block m:hidden "> <button class="c-btn c-btn--icon-alone js-hamburger-trigger mx-2"> <svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" role="img" aria-labelledby="a921pmwnlwies19hz0qrztm2tsbc6ku3" class="crayons-icon"><title id="a921pmwnlwies19hz0qrztm2tsbc6ku3">Navigation menu</title> <path d="M3 4h18v2H3V4zm0 7h18v2H3v-2zm0 7h18v2H3v-2z"></path> </svg> </button> </span> <a href="/" class="site-logo" aria-label="DEV Community Home"> <img class="site-logo__img" src="https://media2.dev.to/dynamic/image/quality=100/https://dev-to-uploads.s3.amazonaws.com/uploads/logos/resized_logo_UQww2soKuUsjaOGNB38o.png" style="aspect-ratio: 10 / 8" alt="DEV Community"> </a> <div class="crayons-header--search js-search-form" id="header-search"> <form accept-charset="UTF-8" method="get" action="/search" role="search"> <div class="crayons-fields crayons-fields--horizontal"> <div class="crayons-field flex-1 relative"> <input id="search-input" class="crayons-header--search-input crayons-textfield js-search-input" type="text" id="nav-search" name="q" placeholder="Search..." autocomplete="off" /> <button type="submit" aria-label="Search" class="c-btn c-btn--icon-alone absolute inset-px right-auto mt-0 py-0"> <svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" role="img" aria-labelledby="ale1yq5bc5ws97n4zk5ffgcs4sgfb4ve" aria-hidden="true" class="crayons-icon"><title id="ale1yq5bc5ws97n4zk5ffgcs4sgfb4ve">Search</title> <path d="M18.031 16.617l4.283 4.282-1.415 1.415-4.282-4.283A8.96 8.96 0 0111 20c-4.968 0-9-4.032-9-9s4.032-9 9-9 9 4.032 9 9a8.96 8.96 0 01-1.969 5.617zm-2.006-.742A6.977 6.977 0 0018 11c0-3.868-3.133-7-7-7-3.868 0-7 3.132-7 7 0 3.867 3.132 7 7 7a6.977 6.977 0 004.875-1.975l.15-.15z"></path> </svg> </button> <a class="crayons-header--search-brand-indicator" href="https://www.algolia.com/developers/?utm_source=devto&utm_medium=referral" target="_blank" rel="noopener noreferrer"> Powered by <svg xmlns="http://www.w3.org/2000/svg" id="Layer_1" width="24" height="24" viewBox="0 0 500 500.34" role="img" aria-labelledby="ap1yklw1j36htpfjrz13hryythtx76np" aria-hidden="true" class="crayons-icon"><title id="ap1yklw1j36htpfjrz13hryythtx76np">Search</title> <defs></defs><path class="cls-1" d="M250,0C113.38,0,2,110.16,.03,246.32c-2,138.29,110.19,252.87,248.49,253.67,42.71,.25,83.85-10.2,120.38-30.05,3.56-1.93,4.11-6.83,1.08-9.52l-23.39-20.74c-4.75-4.22-11.52-5.41-17.37-2.92-25.5,10.85-53.21,16.39-81.76,16.04-111.75-1.37-202.04-94.35-200.26-206.1,1.76-110.33,92.06-199.55,202.8-199.55h202.83V407.68l-115.08-102.25c-3.72-3.31-9.43-2.66-12.43,1.31-18.47,24.46-48.56,39.67-81.98,37.36-46.36-3.2-83.92-40.52-87.4-86.86-4.15-55.28,39.65-101.58,94.07-101.58,49.21,0,89.74,37.88,93.97,86.01,.38,4.28,2.31,8.28,5.53,11.13l29.97,26.57c3.4,3.01,8.8,1.17,9.63-3.3,2.16-11.55,2.92-23.6,2.07-35.95-4.83-70.39-61.84-127.01-132.26-131.35-80.73-4.98-148.23,58.18-150.37,137.35-2.09,77.15,61.12,143.66,138.28,145.36,32.21,.71,62.07-9.42,86.2-26.97l150.36,133.29c6.45,5.71,16.62,1.14,16.62-7.48V9.49C500,4.25,495.75,0,490.51,0H250Z"></path> </svg> Algolia </a> </div> </div> </form> </div> <div class="flex items-center h-100 ml-auto"> <a class="c-link c-link--icon-alone c-link--block m:hidden mx-1" id="search-link" aria-label="Search" href="/search"> <svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" role="img" aria-labelledby="aacxkb9ojt8dau54sc361wkf050ln982" class="crayons-icon"><title id="aacxkb9ojt8dau54sc361wkf050ln982">Search</title> <path d="M18.031 16.617l4.283 4.282-1.415 1.415-4.282-4.283A8.96 8.96 0 0111 20c-4.968 0-9-4.032-9-9s4.032-9 9-9 9 4.032 9 9a8.96 8.96 0 01-1.969 5.617zm-2.006-.742A6.977 6.977 0 0018 11c0-3.868-3.133-7-7-7-3.868 0-7 3.132-7 7 0 3.867 3.132 7 7 7a6.977 6.977 0 004.875-1.975l.15-.15z"></path> </svg> </a> <div class="flex" id="authentication-top-nav-actions"> <span class="hidden m:block"> <a href="/enter" class="c-link c-link--block mr-2 whitespace-nowrap ml-auto" data-no-instant> Log in </a> </span> <a href="/enter?state=new-user" data-tracking-id="ca_top_nav" data-tracking-source="top_navbar" class="c-cta c-cta--branded whitespace-nowrap mr-2" data-no-instant> Create account </a> </div> </div> </div> </header> <div class="hamburger"> <div class="hamburger__content"> <header class="hamburger__content__header"> <h2 class="fs-l fw-bold flex-1 break-word lh-tight">DEV Community</h2> <button class="c-btn c-btn--icon-alone js-hamburger-trigger shrink-0" aria-label="Close"> <svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" role="img" aria-labelledby="a70nk5v8p6fw6b1r47w0fyposx3tjuh0" aria-hidden="true" class="crayons-icon c-btn__icon"><title id="a70nk5v8p6fw6b1r47w0fyposx3tjuh0">Close</title><path d="M12 10.586l4.95-4.95 1.414 1.414-4.95 4.95 4.95 4.95-1.414 1.414-4.95-4.95-4.95 4.95-1.414-1.414 4.95-4.95-4.95-4.95L7.05 5.636l4.95 4.95z"></path></svg> </button> </header> <div class="p-2 js-navigation-links-container" id="authentication-hamburger-actions"> </div> </div> <div class="hamburger__overlay js-hamburger-trigger"></div> </div> <div id="active-broadcast" class="broadcast-wrapper"></div> <div id="page-content" class="wrapper tagged_articles tagged_articles-index" data-current-page="tagged_articles-index"> <div id="page-content-inner" data-internal-nav="false"> <div id="page-route-change" class="screen-reader-only" aria-live="polite" aria-atomic="true"></div> <div data-tag-id="47" data-tag-name="rails" id="tag-47" class="crayons-layout js-tag-card"> <header class="crayons-card branded-4 p-4 l:p-6 spec__tag-header" style="border-top-color: #cc0000 "> <div class="flex"> <img src="https://media2.dev.to/dynamic/image/width=64,height=,fit=scale-down,gravity=auto,format=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Fbadge%2Fbadge_image%2F32%2Frails-badge.png" alt="" class="mr-4" style="transform: rotate(10deg); width: 64px; height: 64px;" /> <div class="flex flex-col w-100 justify-center"> <div class="flex justify-between items-center"> <h1 class="crayons-title"> Ruby on Rails </h1> <div id="tag-buttons-47" class="mt-auto flex items-end justify-between"> <div class="flex gap-2"> <button class="c-btn c-btn--primary js-follow-tag-button" aria-label="Follow tag: rails"> Follow </button> <button class="c-btn js-hide-tag-button" aria-label="Hide tag: rails"> Hide </button> </div> </div> </div> <p class="max-w-100 m:max-w-75 pt-2 s:pt-4"> Ruby on Rails is a popular web framework that happens to power dev.to ❤️ </p> </div> </div> </header> </div> <div class="home sub-home" id="index-container" data-params="{"tag":"rails","sort_by":"hotness_score","sort_direction":"desc"}" data-which="" data-tag="rails" data-feed="base-feed" data-requires-approval="false" data-articles-since=""> <div id="sidebar-wrapper-left" class="sidebar-wrapper sidebar-wrapper-left"> <div class="sidebar-bg" id="sidebar-bg-left"></div> <aside class="side-bar"> <div class="widget js-policy-article-create"> <a class="crayons-btn crayons-btn--s" href="/new/rails"> Create Post </a> </div> <div class="widget"> <header> <h4>about #rails</h4> </header> <div class="widget-body"> <p>Ruby on Rails, or Rails, is a server-side web application framework written in Ruby under the MIT License.</p> <p>It was released in 2005 and powers websites like GitHub, Basecamp, and many others.</p> <p>The framework and community prides itself on developer experience, sensible abstractions and empowering individual developers to accomplish a lot.</p> </div> </div> <div class="widget"> <header> <h4>tag moderators</h4> </header> <div class="widget-body"> <div class="widget-user-pic"> <a href="/andrewbrown" title="andrewbrown"> <img src="https://media2.dev.to/dynamic/image/width=90,height=90,fit=cover,gravity=auto,format=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Fuser%2Fprofile_image%2F108782%2F7a1520ae-c38f-46ad-94d6-2021f1a064d4.jpg" alt="andrewbrown profile image"> </a> </div> <div class="widget-user-pic"> <a href="/leewynne" title="leewynne"> <img src="https://media2.dev.to/dynamic/image/width=90,height=90,fit=cover,gravity=auto,format=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Fuser%2Fprofile_image%2F19958%2F5afa5845-0845-4da0-bb30-3069c724d4f3.jpg" alt="leewynne profile image"> </a> </div> <div class="widget-user-pic"> <a href="/yet_anotherdev" title="yet_anotherdev"> <img src="https://media2.dev.to/dynamic/image/width=90,height=90,fit=cover,gravity=auto,format=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Fuser%2Fprofile_image%2F1027021%2Fd37a677a-87c0-49d7-9e43-0bd2e452fce3.jpg" alt="yet_anotherdev profile image"> </a> </div> <div class="widget-user-pic"> <a href="/kanani_nirav" title="kanani_nirav"> <img src="https://media2.dev.to/dynamic/image/width=90,height=90,fit=cover,gravity=auto,format=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Fuser%2Fprofile_image%2F905171%2F547c88ac-4618-4349-86b2-5e5366ef6776.jpeg" alt="kanani_nirav profile image"> </a> </div> </div> </div> <div class="sidebar-data"> <div> 5299 Posts Published </div> <hr /> <div class="olderposts-header">Older #rails posts</div> <div class="olderposts-links"> <span class="olderposts-pagenumber">1</span> <a href="https://dev.to/t/rails/page/2" class="olderposts-pagenumber">2</a> <a href="https://dev.to/t/rails/page/3" class="olderposts-pagenumber">3</a> <a href="https://dev.to/t/rails/page/4" class="olderposts-pagenumber">4</a> <a href="https://dev.to/t/rails/page/5" class="olderposts-pagenumber">5</a> <a href="https://dev.to/t/rails/page/6" class="olderposts-pagenumber">6</a> <a href="https://dev.to/t/rails/page/7" class="olderposts-pagenumber">7</a> <a href="https://dev.to/t/rails/page/8" class="olderposts-pagenumber">8</a> <a href="https://dev.to/t/rails/page/9" class="olderposts-pagenumber">9</a> </div> </div> </aside> </div> <main class="articles-list" id="main-content" data-follow-button-container="true"> <header class="flex items-center p-2 m:p-0 m:pb-2" id="on-page-nav-controls"> <h1 class="screen-reader-only">Posts</h1> <button type="button" class="crayons-btn crayons-btn--ghost crayons-btn--icon mr-2 inline-block m:hidden mb-auto" id="on-page-nav-butt-left" aria-label="nav-button-left"> <div class="crayons-icon nav-icon "> <svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" role="img" aria-labelledby="att10h3qpfidzyv7zz9nnwkliuz7l4r4" class="crayons-icon"><title id="att10h3qpfidzyv7zz9nnwkliuz7l4r4">Left menu</title> <path d="M3 4h18v2H3V4zm0 7h18v2H3v-2zm0 7h18v2H3v-2z"></path> </svg> </div> </button> <div class="flex-1 flex items-center justify-between"> <div class="crayons-notice w-100" aria-live="polite">👋 <a href="/enter">Sign in</a> for the ability to sort posts by <strong>relevant</strong>, <strong>latest</strong>, or <strong>top</strong>.</div> </div> <button type="button" class="crayons-btn crayons-btn--ghost crayons-btn--icon ml-2 inline-block l:hidden mb-auto" id="on-page-nav-butt-right" aria-label="nav-button-right"> <div class="crayons-icon nav-icon "> <svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" role="img" aria-labelledby="a58yl87s5dut5lznzntjtw6nw84gl8xn" class="crayons-icon"><title id="a58yl87s5dut5lznzntjtw6nw84gl8xn">Right menu</title> <path d="M3 4h18v2H3V4zm0 7h18v2H3v-2zm0 7h18v2H3v-2z"></path> </svg> </div> </button> </header> <div class="substories" id="substories"> <div class="crayons-story " data-feed-content-id="2119007" data-content-user-id="907797"> <a href="/lucianghinda/what-i-wrote-about-ruby-this-week-2-4oek" aria-labelledby="article-link-2119007" class="crayons-story__hidden-navigation-link">What I wrote about Ruby this week #2</a> <div class="crayons-story__body"> <div class="crayons-story__top"> <div class="crayons-story__meta"> <div class="crayons-story__author-pic"> <a href="/lucianghinda" class="crayons-avatar crayons-avatar--l "> <img src="https://media2.dev.to/dynamic/image/width=90,height=90,fit=cover,gravity=auto,format=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Fuser%2Fprofile_image%2F907797%2Fcd901ef3-ad6b-4b2b-b33a-d533880aa3ef.jpg" alt="lucianghinda profile" class="crayons-avatar__image" loading="lazy" /> </a> </div> <div> <div> <a href="/lucianghinda" class="crayons-story__secondary fw-medium m:hidden"> Lucian Ghinda </a> <div class="profile-preview-card relative mb-4 s:mb-0 fw-medium hidden m:inline-block"> <button id="story-author-preview-trigger-2119007" aria-controls="story-author-preview-content-2119007" class="profile-preview-card__trigger fs-s p-1 -ml-1 -my-2 crayons-btn crayons-btn--ghost" aria-label="Lucian Ghinda profile details"> Lucian Ghinda </button> <div id="story-author-preview-content-2119007" class="profile-preview-card__content crayons-dropdown branded-7 p-4 pt-0" style="border-top-color: var(--card-color);" data-repositioning-dropdown="true" data-testid="profile-preview-card"> <div class="gap-4 grid"> <div class="-mt-4"> <a href="/lucianghinda" class="flex"> <span class="crayons-avatar crayons-avatar--xl mr-2 shrink-0"> <img src="https://media2.dev.to/dynamic/image/width=90,height=90,fit=cover,gravity=auto,format=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Fuser%2Fprofile_image%2F907797%2Fcd901ef3-ad6b-4b2b-b33a-d533880aa3ef.jpg" class="crayons-avatar__image" alt="" loading="lazy" /> </span> <span class="crayons-link crayons-subtitle-2 mt-5">Lucian Ghinda</span> </a> </div> <div class="print-hidden"> <button class="crayons-btn follow-action-button whitespace-nowrap follow-user w-100" data-info='{"style":"full","id":907797,"className":"User","name":"Lucian Ghinda"}'> Follow </button> </div> <div class="author-preview-metadata-container" data-author-id="907797"></div> </div> </div> </div> </div> <a href="/lucianghinda/what-i-wrote-about-ruby-this-week-2-4oek" class="crayons-story__tertiary fs-xs"><time datetime="2024-11-24T05:50:04Z">Nov 24</time><span class="time-ago-indicator-initial-placeholder" data-seconds="1732427404"></span></a> </div> </div> </div> <div class="crayons-story__indention"> <h2 class="crayons-story__title"> <a href="/lucianghinda/what-i-wrote-about-ruby-this-week-2-4oek" data-preload-image="https://media2.dev.to/dynamic/image/width=1000,height=420,fit=cover,gravity=auto,format=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F09ku7igk5rinpp6hn8dm.png" id="article-link-2119007"> What I wrote about Ruby this week #2 </a> </h2> <div class="crayons-story__tags"> <a class="crayons-tag crayons-tag--monochrome " style=" --tag-bg: rgba(204, 52, 45, 0.10); --tag-prefix: #CC342D; --tag-bg-hover: rgba(204, 52, 45, 0.10); --tag-prefix-hover: #CC342D; " href="/t/ruby"><span class="crayons-tag__prefix">#</span>ruby</a> <a class="crayons-tag crayons-tag--monochrome " style=" --tag-bg: rgba(204, 0, 0, 0.10); --tag-prefix: #cc0000; --tag-bg-hover: rgba(204, 0, 0, 0.10); --tag-prefix-hover: #cc0000; " href="/t/rails"><span class="crayons-tag__prefix">#</span>rails</a> <a class="crayons-tag crayons-tag--monochrome " style=" --tag-bg: rgba(86, 39, 101, 0.10); --tag-prefix: #562765; --tag-bg-hover: rgba(86, 39, 101, 0.10); --tag-prefix-hover: #562765; " href="/t/webdev"><span class="crayons-tag__prefix">#</span>webdev</a> </div> <div class="crayons-story__bottom"> <div class="crayons-story__details"> <a href="/lucianghinda/what-i-wrote-about-ruby-this-week-2-4oek#comments" class="crayons-btn crayons-btn--s crayons-btn--ghost crayons-btn--icon-left flex items-center" aria-label="Add a comment to post - What I wrote about Ruby this week #2"> <svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" role="img" aria-labelledby="ap2wd0ncp4mei6k4fdnov19i7hqzodoz" class="crayons-icon"><title id="ap2wd0ncp4mei6k4fdnov19i7hqzodoz">Comments</title><path d="M10.5 5h3a6 6 0 110 12v2.625c-3.75-1.5-9-3.75-9-8.625a6 6 0 016-6zM12 15.5h1.5a4.501 4.501 0 001.722-8.657A4.5 4.5 0 0013.5 6.5h-3A4.5 4.5 0 006 11c0 2.707 1.846 4.475 6 6.36V15.5z"></path></svg> <span class="hidden s:inline">Add Comment</span> </a> </div> <div class="crayons-story__save"> <small class="crayons-story__tertiary fs-xs mr-2"> 2 min read </small> <button type="button" id="article-save-button-2119007" class="c-btn c-btn--icon-alone bookmark-button" data-reactable-id="2119007" data-article-author-id="907797" aria-label="Save post What I wrote about Ruby this week #2 to reading list" title="Save post What I wrote about Ruby this week #2 to reading list"> <span class="bm-initial"> <svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" aria-hidden="true"><path d="M6.75 4.5h10.5a.75.75 0 01.75.75v14.357a.375.375 0 01-.575.318L12 16.523l-5.426 3.401A.375.375 0 016 19.607V5.25a.75.75 0 01.75-.75zM16.5 6h-9v11.574l4.5-2.82 4.5 2.82V6z"></path></svg> </span> <span class="bm-success"> <svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" aria-hidden="true"><path d="M6.75 4.5h10.5a.75.75 0 01.75.75v14.357a.375.375 0 01-.575.318L12 16.523l-5.426 3.401A.375.375 0 016 19.607V5.25a.75.75 0 01.75-.75z"></path></svg> </span> </button> </div> </div> </div> </div> </div> <div class="crayons-story " data-feed-content-id="2118644" data-content-user-id="559608"> <a href="/danielpenaloza/rails-api-cache-design-patterns-rspec-19bm" aria-labelledby="article-link-2118644" class="crayons-story__hidden-navigation-link">Rails API + Cache + Design Patterns + RSpec</a> <div class="crayons-story__body"> <div class="crayons-story__top"> <div class="crayons-story__meta"> <div class="crayons-story__author-pic"> <a href="/danielpenaloza" class="crayons-avatar crayons-avatar--l "> <img src="https://media2.dev.to/dynamic/image/width=90,height=90,fit=cover,gravity=auto,format=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Fuser%2Fprofile_image%2F559608%2F12b85f6b-0b50-4e9e-b574-4dad33154c42.jpeg" alt="danielpenaloza profile" class="crayons-avatar__image" loading="lazy" /> </a> </div> <div> <div> <a href="/danielpenaloza" class="crayons-story__secondary fw-medium m:hidden"> Daniel </a> <div class="profile-preview-card relative mb-4 s:mb-0 fw-medium hidden m:inline-block"> <button id="story-author-preview-trigger-2118644" aria-controls="story-author-preview-content-2118644" class="profile-preview-card__trigger fs-s p-1 -ml-1 -my-2 crayons-btn crayons-btn--ghost" aria-label="Daniel profile details"> Daniel </button> <div id="story-author-preview-content-2118644" class="profile-preview-card__content crayons-dropdown branded-7 p-4 pt-0" style="border-top-color: var(--card-color);" data-repositioning-dropdown="true" data-testid="profile-preview-card"> <div class="gap-4 grid"> <div class="-mt-4"> <a href="/danielpenaloza" class="flex"> <span class="crayons-avatar crayons-avatar--xl mr-2 shrink-0"> <img src="https://media2.dev.to/dynamic/image/width=90,height=90,fit=cover,gravity=auto,format=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Fuser%2Fprofile_image%2F559608%2F12b85f6b-0b50-4e9e-b574-4dad33154c42.jpeg" class="crayons-avatar__image" alt="" loading="lazy" /> </span> <span class="crayons-link crayons-subtitle-2 mt-5">Daniel</span> </a> </div> <div class="print-hidden"> <button class="crayons-btn follow-action-button whitespace-nowrap follow-user w-100" data-info='{"style":"full","id":559608,"className":"User","name":"Daniel"}'> Follow </button> </div> <div class="author-preview-metadata-container" data-author-id="559608"></div> </div> </div> </div> </div> <a href="/danielpenaloza/rails-api-cache-design-patterns-rspec-19bm" class="crayons-story__tertiary fs-xs"><time datetime="2024-11-23T20:13:28Z">Nov 23</time><span class="time-ago-indicator-initial-placeholder" data-seconds="1732392808"></span></a> </div> </div> </div> <div class="crayons-story__indention"> <h2 class="crayons-story__title"> <a href="/danielpenaloza/rails-api-cache-design-patterns-rspec-19bm" data-preload-image="" id="article-link-2118644"> Rails API + Cache + Design Patterns + RSpec </a> </h2> <div class="crayons-story__tags"> <a class="crayons-tag crayons-tag--monochrome " style=" --tag-bg: rgba(204, 52, 45, 0.10); --tag-prefix: #CC342D; --tag-bg-hover: rgba(204, 52, 45, 0.10); --tag-prefix-hover: #CC342D; " href="/t/ruby"><span class="crayons-tag__prefix">#</span>ruby</a> <a class="crayons-tag crayons-tag--monochrome " style=" --tag-bg: rgba(204, 0, 0, 0.10); --tag-prefix: #cc0000; --tag-bg-hover: rgba(204, 0, 0, 0.10); --tag-prefix-hover: #cc0000; " href="/t/rails"><span class="crayons-tag__prefix">#</span>rails</a> <a class="crayons-tag crayons-tag--monochrome " style=" --tag-bg: rgba(254, 255, 165, 0.10); --tag-prefix: #FEFFA5; --tag-bg-hover: rgba(254, 255, 165, 0.10); --tag-prefix-hover: #FEFFA5; " href="/t/tutorial"><span class="crayons-tag__prefix">#</span>tutorial</a> <a class="crayons-tag crayons-tag--monochrome " style=" --tag-bg: rgba(59, 73, 223, 0.10); --tag-prefix: #3b49df; --tag-bg-hover: rgba(59, 73, 223, 0.10); --tag-prefix-hover: #3b49df; " href="/t/designpatterns"><span class="crayons-tag__prefix">#</span>designpatterns</a> </div> <div class="crayons-story__bottom"> <div class="crayons-story__details"> <a href="/danielpenaloza/rails-api-cache-design-patterns-rspec-19bm#comments" class="crayons-btn crayons-btn--s crayons-btn--ghost crayons-btn--icon-left flex items-center" aria-label="Add a comment to post - Rails API + Cache + Design Patterns + RSpec"> <svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" role="img" aria-labelledby="agyw1z7cyvbsb7dyanfi5dib6k67bqvv" class="crayons-icon"><title id="agyw1z7cyvbsb7dyanfi5dib6k67bqvv">Comments</title><path d="M10.5 5h3a6 6 0 110 12v2.625c-3.75-1.5-9-3.75-9-8.625a6 6 0 016-6zM12 15.5h1.5a4.501 4.501 0 001.722-8.657A4.5 4.5 0 0013.5 6.5h-3A4.5 4.5 0 006 11c0 2.707 1.846 4.475 6 6.36V15.5z"></path></svg> <span class="hidden s:inline">Add Comment</span> </a> </div> <div class="crayons-story__save"> <small class="crayons-story__tertiary fs-xs mr-2"> 14 min read </small> <button type="button" id="article-save-button-2118644" class="c-btn c-btn--icon-alone bookmark-button" data-reactable-id="2118644" data-article-author-id="559608" aria-label="Save post Rails API + Cache + Design Patterns + RSpec to reading list" title="Save post Rails API + Cache + Design Patterns + RSpec to reading list"> <span class="bm-initial"> <svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" aria-hidden="true"><path d="M6.75 4.5h10.5a.75.75 0 01.75.75v14.357a.375.375 0 01-.575.318L12 16.523l-5.426 3.401A.375.375 0 016 19.607V5.25a.75.75 0 01.75-.75zM16.5 6h-9v11.574l4.5-2.82 4.5 2.82V6z"></path></svg> </span> <span class="bm-success"> <svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" aria-hidden="true"><path d="M6.75 4.5h10.5a.75.75 0 01.75.75v14.357a.375.375 0 01-.575.318L12 16.523l-5.426 3.401A.375.375 0 016 19.607V5.25a.75.75 0 01.75-.75z"></path></svg> </span> </button> </div> </div> </div> </div> </div> <div class="crayons-story " data-feed-content-id="2118645" data-content-user-id="559608"> <a href="/danielpenaloza/rails-api-cache-design-patterns-rspec-904" aria-labelledby="article-link-2118645" class="crayons-story__hidden-navigation-link">Rails API + Cache + Design Patterns + RSpec</a> <div class="crayons-story__body"> <div class="crayons-story__top"> <div class="crayons-story__meta"> <div class="crayons-story__author-pic"> <a href="/danielpenaloza" class="crayons-avatar crayons-avatar--l "> <img src="https://media2.dev.to/dynamic/image/width=90,height=90,fit=cover,gravity=auto,format=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Fuser%2Fprofile_image%2F559608%2F12b85f6b-0b50-4e9e-b574-4dad33154c42.jpeg" alt="danielpenaloza profile" class="crayons-avatar__image" loading="lazy" /> </a> </div> <div> <div> <a href="/danielpenaloza" class="crayons-story__secondary fw-medium m:hidden"> Daniel </a> <div class="profile-preview-card relative mb-4 s:mb-0 fw-medium hidden m:inline-block"> <button id="story-author-preview-trigger-2118645" aria-controls="story-author-preview-content-2118645" class="profile-preview-card__trigger fs-s p-1 -ml-1 -my-2 crayons-btn crayons-btn--ghost" aria-label="Daniel profile details"> Daniel </button> <div id="story-author-preview-content-2118645" class="profile-preview-card__content crayons-dropdown branded-7 p-4 pt-0" style="border-top-color: var(--card-color);" data-repositioning-dropdown="true" data-testid="profile-preview-card"> <div class="gap-4 grid"> <div class="-mt-4"> <a href="/danielpenaloza" class="flex"> <span class="crayons-avatar crayons-avatar--xl mr-2 shrink-0"> <img src="https://media2.dev.to/dynamic/image/width=90,height=90,fit=cover,gravity=auto,format=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Fuser%2Fprofile_image%2F559608%2F12b85f6b-0b50-4e9e-b574-4dad33154c42.jpeg" class="crayons-avatar__image" alt="" loading="lazy" /> </span> <span class="crayons-link crayons-subtitle-2 mt-5">Daniel</span> </a> </div> <div class="print-hidden"> <button class="crayons-btn follow-action-button whitespace-nowrap follow-user w-100" data-info='{"style":"full","id":559608,"className":"User","name":"Daniel"}'> Follow </button> </div> <div class="author-preview-metadata-container" data-author-id="559608"></div> </div> </div> </div> </div> <a href="/danielpenaloza/rails-api-cache-design-patterns-rspec-904" class="crayons-story__tertiary fs-xs"><time datetime="2024-11-23T20:13:29Z">Nov 23</time><span class="time-ago-indicator-initial-placeholder" data-seconds="1732392809"></span></a> </div> </div> </div> <div class="crayons-story__indention"> <h2 class="crayons-story__title"> <a href="/danielpenaloza/rails-api-cache-design-patterns-rspec-904" data-preload-image="" id="article-link-2118645"> Rails API + Cache + Design Patterns + RSpec </a> </h2> <div class="crayons-story__tags"> <a class="crayons-tag crayons-tag--monochrome " style=" --tag-bg: rgba(204, 52, 45, 0.10); --tag-prefix: #CC342D; --tag-bg-hover: rgba(204, 52, 45, 0.10); --tag-prefix-hover: #CC342D; " href="/t/ruby"><span class="crayons-tag__prefix">#</span>ruby</a> <a class="crayons-tag crayons-tag--monochrome " style=" --tag-bg: rgba(204, 0, 0, 0.10); --tag-prefix: #cc0000; --tag-bg-hover: rgba(204, 0, 0, 0.10); --tag-prefix-hover: #cc0000; " href="/t/rails"><span class="crayons-tag__prefix">#</span>rails</a> <a class="crayons-tag crayons-tag--monochrome " style=" --tag-bg: rgba(254, 255, 165, 0.10); --tag-prefix: #FEFFA5; --tag-bg-hover: rgba(254, 255, 165, 0.10); --tag-prefix-hover: #FEFFA5; " href="/t/tutorial"><span class="crayons-tag__prefix">#</span>tutorial</a> <a class="crayons-tag crayons-tag--monochrome " style=" --tag-bg: rgba(59, 73, 223, 0.10); --tag-prefix: #3b49df; --tag-bg-hover: rgba(59, 73, 223, 0.10); --tag-prefix-hover: #3b49df; " href="/t/designpatterns"><span class="crayons-tag__prefix">#</span>designpatterns</a> </div> <div class="crayons-story__bottom"> <div class="crayons-story__details"> <a href="/danielpenaloza/rails-api-cache-design-patterns-rspec-904#comments" class="crayons-btn crayons-btn--s crayons-btn--ghost crayons-btn--icon-left flex items-center" aria-label="Add a comment to post - Rails API + Cache + Design Patterns + RSpec"> <svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" role="img" aria-labelledby="ahii77niywe2req6lb7w4fj7dmfr0ia2" class="crayons-icon"><title id="ahii77niywe2req6lb7w4fj7dmfr0ia2">Comments</title><path d="M10.5 5h3a6 6 0 110 12v2.625c-3.75-1.5-9-3.75-9-8.625a6 6 0 016-6zM12 15.5h1.5a4.501 4.501 0 001.722-8.657A4.5 4.5 0 0013.5 6.5h-3A4.5 4.5 0 006 11c0 2.707 1.846 4.475 6 6.36V15.5z"></path></svg> <span class="hidden s:inline">Add Comment</span> </a> </div> <div class="crayons-story__save"> <small class="crayons-story__tertiary fs-xs mr-2"> 14 min read </small> <button type="button" id="article-save-button-2118645" class="c-btn c-btn--icon-alone bookmark-button" data-reactable-id="2118645" data-article-author-id="559608" aria-label="Save post Rails API + Cache + Design Patterns + RSpec to reading list" title="Save post Rails API + Cache + Design Patterns + RSpec to reading list"> <span class="bm-initial"> <svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" aria-hidden="true"><path d="M6.75 4.5h10.5a.75.75 0 01.75.75v14.357a.375.375 0 01-.575.318L12 16.523l-5.426 3.401A.375.375 0 016 19.607V5.25a.75.75 0 01.75-.75zM16.5 6h-9v11.574l4.5-2.82 4.5 2.82V6z"></path></svg> </span> <span class="bm-success"> <svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" aria-hidden="true"><path d="M6.75 4.5h10.5a.75.75 0 01.75.75v14.357a.375.375 0 01-.575.318L12 16.523l-5.426 3.401A.375.375 0 016 19.607V5.25a.75.75 0 01.75-.75z"></path></svg> </span> </button> </div> </div> </div> </div> </div> <div class="crayons-story " data-feed-content-id="2117117" data-content-user-id="2469487"> <a href="/coderyash/understanding-rails-initializers-configuring-your-application-easily-513f" aria-labelledby="article-link-2117117" class="crayons-story__hidden-navigation-link">Understanding Rails Initializers: Configuring Your Application Easily</a> <div class="crayons-story__body"> <div class="crayons-story__top"> <div class="crayons-story__meta"> <div class="crayons-story__author-pic"> <a href="/coderyash" class="crayons-avatar crayons-avatar--l "> <img src="https://media2.dev.to/dynamic/image/width=90,height=90,fit=cover,gravity=auto,format=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Fuser%2Fprofile_image%2F2469487%2F1936c1db-81a0-4fc4-8235-f29e1f1fa3bb.jpg" alt="coderyash profile" class="crayons-avatar__image" loading="lazy" /> </a> </div> <div> <div> <a href="/coderyash" class="crayons-story__secondary fw-medium m:hidden"> Yash Pandey </a> <div class="profile-preview-card relative mb-4 s:mb-0 fw-medium hidden m:inline-block"> <button id="story-author-preview-trigger-2117117" aria-controls="story-author-preview-content-2117117" class="profile-preview-card__trigger fs-s p-1 -ml-1 -my-2 crayons-btn crayons-btn--ghost" aria-label="Yash Pandey profile details"> Yash Pandey </button> <div id="story-author-preview-content-2117117" class="profile-preview-card__content crayons-dropdown branded-7 p-4 pt-0" style="border-top-color: var(--card-color);" data-repositioning-dropdown="true" data-testid="profile-preview-card"> <div class="gap-4 grid"> <div class="-mt-4"> <a href="/coderyash" class="flex"> <span class="crayons-avatar crayons-avatar--xl mr-2 shrink-0"> <img src="https://media2.dev.to/dynamic/image/width=90,height=90,fit=cover,gravity=auto,format=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Fuser%2Fprofile_image%2F2469487%2F1936c1db-81a0-4fc4-8235-f29e1f1fa3bb.jpg" class="crayons-avatar__image" alt="" loading="lazy" /> </span> <span class="crayons-link crayons-subtitle-2 mt-5">Yash Pandey</span> </a> </div> <div class="print-hidden"> <button class="crayons-btn follow-action-button whitespace-nowrap follow-user w-100" data-info='{"style":"full","id":2469487,"className":"User","name":"Yash Pandey"}'> Follow </button> </div> <div class="author-preview-metadata-container" data-author-id="2469487"></div> </div> </div> </div> </div> <a href="/coderyash/understanding-rails-initializers-configuring-your-application-easily-513f" class="crayons-story__tertiary fs-xs"><time datetime="2024-11-23T14:22:23Z">Nov 23</time><span class="time-ago-indicator-initial-placeholder" data-seconds="1732371743"></span></a> </div> </div> </div> <div class="crayons-story__indention"> <h2 class="crayons-story__title"> <a href="/coderyash/understanding-rails-initializers-configuring-your-application-easily-513f" data-preload-image="" id="article-link-2117117"> Understanding Rails Initializers: Configuring Your Application Easily </a> </h2> <div class="crayons-story__tags"> <a class="crayons-tag crayons-tag--monochrome " style=" --tag-bg: rgba(204, 0, 0, 0.10); --tag-prefix: #cc0000; --tag-bg-hover: rgba(204, 0, 0, 0.10); --tag-prefix-hover: #cc0000; " href="/t/rails"><span class="crayons-tag__prefix">#</span>rails</a> <a class="crayons-tag crayons-tag--monochrome " style=" --tag-bg: rgba(204, 52, 45, 0.10); --tag-prefix: #CC342D; --tag-bg-hover: rgba(204, 52, 45, 0.10); --tag-prefix-hover: #CC342D; " href="/t/ruby"><span class="crayons-tag__prefix">#</span>ruby</a> <a class="crayons-tag crayons-tag--monochrome " style=" --tag-bg: rgba(86, 39, 101, 0.10); --tag-prefix: #562765; --tag-bg-hover: rgba(86, 39, 101, 0.10); --tag-prefix-hover: #562765; " href="/t/webdev"><span class="crayons-tag__prefix">#</span>webdev</a> </div> <div class="crayons-story__bottom"> <div class="crayons-story__details"> <a href="/coderyash/understanding-rails-initializers-configuring-your-application-easily-513f" class="crayons-btn crayons-btn--s crayons-btn--ghost crayons-btn--icon-left" data-reaction-count data-reactable-id="2117117" aria-label="Add a comment to post - Understanding Rails Initializers: Configuring Your Application Easily"> <div class="multiple_reactions_aggregate"> <span class="multiple_reactions_icons_container" dir="rtl"> <span class="crayons_icon_container"> <img src="https://assets.dev.to/assets/sparkle-heart-5f9bee3767e18deb1bb725290cb151c25234768a0e9a2bd39370c382d02920cf.svg" width="18" height="18" /> </span> </span> <span class="aggregate_reactions_counter">1<span class="hidden s:inline"> reaction</span></span> </div> </a> <a href="/coderyash/understanding-rails-initializers-configuring-your-application-easily-513f#comments" class="crayons-btn crayons-btn--s crayons-btn--ghost crayons-btn--icon-left flex items-center" aria-label="Add a comment to post - Understanding Rails Initializers: Configuring Your Application Easily"> <svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" role="img" aria-labelledby="at0y2aqaqh2y8ji87qhwg3gaetp3jpfy" class="crayons-icon"><title id="at0y2aqaqh2y8ji87qhwg3gaetp3jpfy">Comments</title><path d="M10.5 5h3a6 6 0 110 12v2.625c-3.75-1.5-9-3.75-9-8.625a6 6 0 016-6zM12 15.5h1.5a4.501 4.501 0 001.722-8.657A4.5 4.5 0 0013.5 6.5h-3A4.5 4.5 0 006 11c0 2.707 1.846 4.475 6 6.36V15.5z"></path></svg> <span class="hidden s:inline">Add Comment</span> </a> </div> <div class="crayons-story__save"> <small class="crayons-story__tertiary fs-xs mr-2"> 1 min read </small> <button type="button" id="article-save-button-2117117" class="c-btn c-btn--icon-alone bookmark-button" data-reactable-id="2117117" data-article-author-id="2469487" aria-label="Save post Understanding Rails Initializers: Configuring Your Application Easily to reading list" title="Save post Understanding Rails Initializers: Configuring Your Application Easily to reading list"> <span class="bm-initial"> <svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" aria-hidden="true"><path d="M6.75 4.5h10.5a.75.75 0 01.75.75v14.357a.375.375 0 01-.575.318L12 16.523l-5.426 3.401A.375.375 0 016 19.607V5.25a.75.75 0 01.75-.75zM16.5 6h-9v11.574l4.5-2.82 4.5 2.82V6z"></path></svg> </span> <span class="bm-success"> <svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" aria-hidden="true"><path d="M6.75 4.5h10.5a.75.75 0 01.75.75v14.357a.375.375 0 01-.575.318L12 16.523l-5.426 3.401A.375.375 0 016 19.607V5.25a.75.75 0 01.75-.75z"></path></svg> </span> </button> </div> </div> </div> </div> </div> <div class="crayons-story " data-feed-content-id="2110811" data-content-user-id="1172988"> <a href="/railsdesigner/inheritance-with-stimulus-controller-g58" aria-labelledby="article-link-2110811" class="crayons-story__hidden-navigation-link">Inheritance with Stimulus Controller</a> <div class="crayons-story__body"> <div class="crayons-story__top"> <div class="crayons-story__meta"> <div class="crayons-story__author-pic"> <a href="/railsdesigner" class="crayons-avatar crayons-avatar--l "> <img src="https://media2.dev.to/dynamic/image/width=90,height=90,fit=cover,gravity=auto,format=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Fuser%2Fprofile_image%2F1172988%2F12fc6c7d-f168-4e28-bd6e-fb4d3715b8d5.jpg" alt="railsdesigner profile" class="crayons-avatar__image" loading="lazy" /> </a> </div> <div> <div> <a href="/railsdesigner" class="crayons-story__secondary fw-medium m:hidden"> Rails Designer </a> <div class="profile-preview-card relative mb-4 s:mb-0 fw-medium hidden m:inline-block"> <button id="story-author-preview-trigger-2110811" aria-controls="story-author-preview-content-2110811" class="profile-preview-card__trigger fs-s p-1 -ml-1 -my-2 crayons-btn crayons-btn--ghost" aria-label="Rails Designer profile details"> Rails Designer </button> <div id="story-author-preview-content-2110811" class="profile-preview-card__content crayons-dropdown branded-7 p-4 pt-0" style="border-top-color: var(--card-color);" data-repositioning-dropdown="true" data-testid="profile-preview-card"> <div class="gap-4 grid"> <div class="-mt-4"> <a href="/railsdesigner" class="flex"> <span class="crayons-avatar crayons-avatar--xl mr-2 shrink-0"> <img src="https://media2.dev.to/dynamic/image/width=90,height=90,fit=cover,gravity=auto,format=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Fuser%2Fprofile_image%2F1172988%2F12fc6c7d-f168-4e28-bd6e-fb4d3715b8d5.jpg" class="crayons-avatar__image" alt="" loading="lazy" /> </span> <span class="crayons-link crayons-subtitle-2 mt-5">Rails Designer</span> </a> </div> <div class="print-hidden"> <button class="crayons-btn follow-action-button whitespace-nowrap follow-user w-100" data-info='{"style":"full","id":1172988,"className":"User","name":"Rails Designer"}'> Follow </button> </div> <div class="author-preview-metadata-container" data-author-id="1172988"></div> </div> </div> </div> </div> <a href="/railsdesigner/inheritance-with-stimulus-controller-g58" class="crayons-story__tertiary fs-xs"><time datetime="2024-11-21T19:00:00Z">Nov 21</time><span class="time-ago-indicator-initial-placeholder" data-seconds="1732215600"></span></a> </div> </div> </div> <div class="crayons-story__indention"> <h2 class="crayons-story__title"> <a href="/railsdesigner/inheritance-with-stimulus-controller-g58" data-preload-image="https://media2.dev.to/dynamic/image/width=1000,height=420,fit=cover,gravity=auto,format=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Ffvt3xe3la72uo5sy6cd1.jpg" id="article-link-2110811"> Inheritance with Stimulus Controller </a> </h2> <div class="crayons-story__tags"> <a class="crayons-tag crayons-tag--monochrome " style=" --tag-bg: rgba(204, 52, 45, 0.10); --tag-prefix: #CC342D; --tag-bg-hover: rgba(204, 52, 45, 0.10); --tag-prefix-hover: #CC342D; " href="/t/ruby"><span class="crayons-tag__prefix">#</span>ruby</a> <a class="crayons-tag crayons-tag--monochrome " style=" --tag-bg: rgba(204, 0, 0, 0.10); --tag-prefix: #cc0000; --tag-bg-hover: rgba(204, 0, 0, 0.10); --tag-prefix-hover: #cc0000; " href="/t/rails"><span class="crayons-tag__prefix">#</span>rails</a> <a class="crayons-tag crayons-tag--monochrome " style=" --tag-bg: rgba(0, 0, 0, 0.10); --tag-prefix: #000000; --tag-bg-hover: rgba(0, 0, 0, 0.10); --tag-prefix-hover: #000000; " href="/t/hotwire"><span class="crayons-tag__prefix">#</span>hotwire</a> <a class="crayons-tag crayons-tag--monochrome " style=" --tag-bg: rgba(247, 223, 30, 0.10); --tag-prefix: #f7df1e; --tag-bg-hover: rgba(247, 223, 30, 0.10); --tag-prefix-hover: #f7df1e; " href="/t/javascript"><span class="crayons-tag__prefix">#</span>javascript</a> </div> <div class="crayons-story__bottom"> <div class="crayons-story__details"> <a href="/railsdesigner/inheritance-with-stimulus-controller-g58" class="crayons-btn crayons-btn--s crayons-btn--ghost crayons-btn--icon-left" data-reaction-count data-reactable-id="2110811" aria-label="Add a comment to post - Inheritance with Stimulus Controller"> <div class="multiple_reactions_aggregate"> <span class="multiple_reactions_icons_container" dir="rtl"> <span class="crayons_icon_container"> <img src="https://assets.dev.to/assets/sparkle-heart-5f9bee3767e18deb1bb725290cb151c25234768a0e9a2bd39370c382d02920cf.svg" width="18" height="18" /> </span> </span> <span class="aggregate_reactions_counter">1<span class="hidden s:inline"> reaction</span></span> </div> </a> <a href="/railsdesigner/inheritance-with-stimulus-controller-g58#comments" class="crayons-btn crayons-btn--s crayons-btn--ghost crayons-btn--icon-left flex items-center" aria-label="Add a comment to post - Inheritance with Stimulus Controller"> <svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" role="img" aria-labelledby="anisrrfvg4sjhewowf8eee43iqfjp96t" class="crayons-icon"><title id="anisrrfvg4sjhewowf8eee43iqfjp96t">Comments</title><path d="M10.5 5h3a6 6 0 110 12v2.625c-3.75-1.5-9-3.75-9-8.625a6 6 0 016-6zM12 15.5h1.5a4.501 4.501 0 001.722-8.657A4.5 4.5 0 0013.5 6.5h-3A4.5 4.5 0 006 11c0 2.707 1.846 4.475 6 6.36V15.5z"></path></svg> <span class="hidden s:inline">Add Comment</span> </a> </div> <div class="crayons-story__save"> <small class="crayons-story__tertiary fs-xs mr-2"> 3 min read </small> <button type="button" id="article-save-button-2110811" class="c-btn c-btn--icon-alone bookmark-button" data-reactable-id="2110811" data-article-author-id="1172988" aria-label="Save post Inheritance with Stimulus Controller to reading list" title="Save post Inheritance with Stimulus Controller to reading list"> <span class="bm-initial"> <svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" aria-hidden="true"><path d="M6.75 4.5h10.5a.75.75 0 01.75.75v14.357a.375.375 0 01-.575.318L12 16.523l-5.426 3.401A.375.375 0 016 19.607V5.25a.75.75 0 01.75-.75zM16.5 6h-9v11.574l4.5-2.82 4.5 2.82V6z"></path></svg> </span> <span class="bm-success"> <svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" aria-hidden="true"><path d="M6.75 4.5h10.5a.75.75 0 01.75.75v14.357a.375.375 0 01-.575.318L12 16.523l-5.426 3.401A.375.375 0 016 19.607V5.25a.75.75 0 01.75-.75z"></path></svg> </span> </button> </div> </div> </div> </div> </div> <div class="crayons-story " data-feed-content-id="2115713" data-content-user-id="928798"> <a href="/lcsm0n/transaction-safety-in-rails-identifying-and-addressing-non-atomic-interactions-4kf8" aria-labelledby="article-link-2115713" class="crayons-story__hidden-navigation-link">Transaction Safety in Rails: Identifying and Addressing Non-Atomic Interactions</a> <div class="crayons-story__body"> <div class="crayons-story__top"> <div class="crayons-story__meta"> <div class="crayons-story__author-pic"> <a href="/lcsm0n" class="crayons-avatar crayons-avatar--l "> <img src="https://media2.dev.to/dynamic/image/width=90,height=90,fit=cover,gravity=auto,format=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Fuser%2Fprofile_image%2F928798%2Fcbba1850-b59c-49b2-bc74-fde91a96e2cc.png" alt="lcsm0n profile" class="crayons-avatar__image" loading="lazy" /> </a> </div> <div> <div> <a href="/lcsm0n" class="crayons-story__secondary fw-medium m:hidden"> Lucas M. </a> <div class="profile-preview-card relative mb-4 s:mb-0 fw-medium hidden m:inline-block"> <button id="story-author-preview-trigger-2115713" aria-controls="story-author-preview-content-2115713" class="profile-preview-card__trigger fs-s p-1 -ml-1 -my-2 crayons-btn crayons-btn--ghost" aria-label="Lucas M. profile details"> Lucas M. </button> <div id="story-author-preview-content-2115713" class="profile-preview-card__content crayons-dropdown branded-7 p-4 pt-0" style="border-top-color: var(--card-color);" data-repositioning-dropdown="true" data-testid="profile-preview-card"> <div class="gap-4 grid"> <div class="-mt-4"> <a href="/lcsm0n" class="flex"> <span class="crayons-avatar crayons-avatar--xl mr-2 shrink-0"> <img src="https://media2.dev.to/dynamic/image/width=90,height=90,fit=cover,gravity=auto,format=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Fuser%2Fprofile_image%2F928798%2Fcbba1850-b59c-49b2-bc74-fde91a96e2cc.png" class="crayons-avatar__image" alt="" loading="lazy" /> </span> <span class="crayons-link crayons-subtitle-2 mt-5">Lucas M.</span> </a> </div> <div class="print-hidden"> <button class="crayons-btn follow-action-button whitespace-nowrap follow-user w-100" data-info='{"style":"full","id":928798,"className":"User","name":"Lucas M."}'> Follow </button> </div> <div class="author-preview-metadata-container" data-author-id="928798"></div> </div> </div> </div> </div> <a href="/lcsm0n/transaction-safety-in-rails-identifying-and-addressing-non-atomic-interactions-4kf8" class="crayons-story__tertiary fs-xs"><time datetime="2024-11-21T17:23:37Z">Nov 21</time><span class="time-ago-indicator-initial-placeholder" data-seconds="1732209817"></span></a> </div> </div> </div> <div class="crayons-story__indention"> <h2 class="crayons-story__title"> <a href="/lcsm0n/transaction-safety-in-rails-identifying-and-addressing-non-atomic-interactions-4kf8" data-preload-image="" id="article-link-2115713"> Transaction Safety in Rails: Identifying and Addressing Non-Atomic Interactions </a> </h2> <div class="crayons-story__tags"> <a class="crayons-tag crayons-tag--monochrome " style=" --tag-bg: rgba(204, 0, 0, 0.10); --tag-prefix: #cc0000; --tag-bg-hover: rgba(204, 0, 0, 0.10); --tag-prefix-hover: #cc0000; " href="/t/rails"><span class="crayons-tag__prefix">#</span>rails</a> <a class="crayons-tag crayons-tag--monochrome " style=" --tag-bg: rgba(204, 52, 45, 0.10); --tag-prefix: #CC342D; --tag-bg-hover: rgba(204, 52, 45, 0.10); --tag-prefix-hover: #CC342D; " href="/t/ruby"><span class="crayons-tag__prefix">#</span>ruby</a> <a class="crayons-tag crayons-tag--monochrome " style=" --tag-bg: rgba(255, 102, 237, 0.10); --tag-prefix: #ff66ed; --tag-bg-hover: rgba(255, 102, 237, 0.10); --tag-prefix-hover: #ff66ed; " href="/t/learning"><span class="crayons-tag__prefix">#</span>learning</a> <a class="crayons-tag crayons-tag--monochrome " style=" --tag-bg: rgba(237, 21, 86, 0.10); --tag-prefix: #ED1556; --tag-bg-hover: rgba(237, 21, 86, 0.10); --tag-prefix-hover: #ED1556; " href="/t/database"><span class="crayons-tag__prefix">#</span>database</a> </div> <div class="crayons-story__bottom"> <div class="crayons-story__details"> <a href="/lcsm0n/transaction-safety-in-rails-identifying-and-addressing-non-atomic-interactions-4kf8" class="crayons-btn crayons-btn--s crayons-btn--ghost crayons-btn--icon-left" data-reaction-count data-reactable-id="2115713" aria-label="Add a comment to post - Transaction Safety in Rails: Identifying and Addressing Non-Atomic Interactions"> <div class="multiple_reactions_aggregate"> <span class="multiple_reactions_icons_container" dir="rtl"> <span class="crayons_icon_container"> <img src="https://assets.dev.to/assets/sparkle-heart-5f9bee3767e18deb1bb725290cb151c25234768a0e9a2bd39370c382d02920cf.svg" width="18" height="18" /> </span> </span> <span class="aggregate_reactions_counter">1<span class="hidden s:inline"> reaction</span></span> </div> </a> <a href="/lcsm0n/transaction-safety-in-rails-identifying-and-addressing-non-atomic-interactions-4kf8#comments" class="crayons-btn crayons-btn--s crayons-btn--ghost crayons-btn--icon-left flex items-center" aria-label="Add a comment to post - Transaction Safety in Rails: Identifying and Addressing Non-Atomic Interactions"> <svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" role="img" aria-labelledby="ajh3418kjfnvfh2hjkhzkuzo9eithabi" class="crayons-icon"><title id="ajh3418kjfnvfh2hjkhzkuzo9eithabi">Comments</title><path d="M10.5 5h3a6 6 0 110 12v2.625c-3.75-1.5-9-3.75-9-8.625a6 6 0 016-6zM12 15.5h1.5a4.501 4.501 0 001.722-8.657A4.5 4.5 0 0013.5 6.5h-3A4.5 4.5 0 006 11c0 2.707 1.846 4.475 6 6.36V15.5z"></path></svg> <span class="hidden s:inline">Add Comment</span> </a> </div> <div class="crayons-story__save"> <small class="crayons-story__tertiary fs-xs mr-2"> 4 min read </small> <button type="button" id="article-save-button-2115713" class="c-btn c-btn--icon-alone bookmark-button" data-reactable-id="2115713" data-article-author-id="928798" aria-label="Save post Transaction Safety in Rails: Identifying and Addressing Non-Atomic Interactions to reading list" title="Save post Transaction Safety in Rails: Identifying and Addressing Non-Atomic Interactions to reading list"> <span class="bm-initial"> <svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" aria-hidden="true"><path d="M6.75 4.5h10.5a.75.75 0 01.75.75v14.357a.375.375 0 01-.575.318L12 16.523l-5.426 3.401A.375.375 0 016 19.607V5.25a.75.75 0 01.75-.75zM16.5 6h-9v11.574l4.5-2.82 4.5 2.82V6z"></path></svg> </span> <span class="bm-success"> <svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" aria-hidden="true"><path d="M6.75 4.5h10.5a.75.75 0 01.75.75v14.357a.375.375 0 01-.575.318L12 16.523l-5.426 3.401A.375.375 0 016 19.607V5.25a.75.75 0 01.75-.75z"></path></svg> </span> </button> </div> </div> </div> </div> </div> <div class="crayons-story " data-feed-content-id="2112884" data-content-user-id="1378891"> <a href="/adityabhuyan/django-vs-rails-for-api-development-performance-productivity-and-scalability-comparison-4g8k" aria-labelledby="article-link-2112884" class="crayons-story__hidden-navigation-link">Django vs Rails for API Development: Performance, Productivity, and Scalability Comparison</a> <div class="crayons-story__body"> <div class="crayons-story__top"> <div class="crayons-story__meta"> <div class="crayons-story__author-pic"> <a href="/adityabhuyan" class="crayons-avatar crayons-avatar--l "> <img src="https://media2.dev.to/dynamic/image/width=90,height=90,fit=cover,gravity=auto,format=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Fuser%2Fprofile_image%2F1378891%2F16c522ae-5c4a-4c38-a403-550298cc23be.jpeg" alt="adityabhuyan profile" class="crayons-avatar__image" loading="lazy" /> </a> </div> <div> <div> <a href="/adityabhuyan" class="crayons-story__secondary fw-medium m:hidden"> Aditya Pratap Bhuyan </a> <div class="profile-preview-card relative mb-4 s:mb-0 fw-medium hidden m:inline-block"> <button id="story-author-preview-trigger-2112884" aria-controls="story-author-preview-content-2112884" class="profile-preview-card__trigger fs-s p-1 -ml-1 -my-2 crayons-btn crayons-btn--ghost" aria-label="Aditya Pratap Bhuyan profile details"> Aditya Pratap Bhuyan </button> <div id="story-author-preview-content-2112884" class="profile-preview-card__content crayons-dropdown branded-7 p-4 pt-0" style="border-top-color: var(--card-color);" data-repositioning-dropdown="true" data-testid="profile-preview-card"> <div class="gap-4 grid"> <div class="-mt-4"> <a href="/adityabhuyan" class="flex"> <span class="crayons-avatar crayons-avatar--xl mr-2 shrink-0"> <img src="https://media2.dev.to/dynamic/image/width=90,height=90,fit=cover,gravity=auto,format=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Fuser%2Fprofile_image%2F1378891%2F16c522ae-5c4a-4c38-a403-550298cc23be.jpeg" class="crayons-avatar__image" alt="" loading="lazy" /> </span> <span class="crayons-link crayons-subtitle-2 mt-5">Aditya Pratap Bhuyan</span> </a> </div> <div class="print-hidden"> <button class="crayons-btn follow-action-button whitespace-nowrap follow-user w-100" data-info='{"style":"full","id":1378891,"className":"User","name":"Aditya Pratap Bhuyan"}'> Follow </button> </div> <div class="author-preview-metadata-container" data-author-id="1378891"></div> </div> </div> </div> </div> <a href="/adityabhuyan/django-vs-rails-for-api-development-performance-productivity-and-scalability-comparison-4g8k" class="crayons-story__tertiary fs-xs"><time datetime="2024-11-20T02:35:50Z">Nov 20</time><span class="time-ago-indicator-initial-placeholder" data-seconds="1732070150"></span></a> </div> </div> </div> <div class="crayons-story__indention"> <h2 class="crayons-story__title"> <a href="/adityabhuyan/django-vs-rails-for-api-development-performance-productivity-and-scalability-comparison-4g8k" data-preload-image="" id="article-link-2112884"> Django vs Rails for API Development: Performance, Productivity, and Scalability Comparison </a> </h2> <div class="crayons-story__tags"> <a class="crayons-tag crayons-tag--monochrome " style=" --tag-bg: rgba(16, 62, 46, 0.10); --tag-prefix: #103e2e; --tag-bg-hover: rgba(16, 62, 46, 0.10); --tag-prefix-hover: #103e2e; " href="/t/django"><span class="crayons-tag__prefix">#</span>django</a> <a class="crayons-tag crayons-tag--monochrome " style=" --tag-bg: rgba(204, 0, 0, 0.10); --tag-prefix: #cc0000; --tag-bg-hover: rgba(204, 0, 0, 0.10); --tag-prefix-hover: #cc0000; " href="/t/rails"><span class="crayons-tag__prefix">#</span>rails</a> </div> <div class="crayons-story__bottom"> <div class="crayons-story__details"> <a href="/adityabhuyan/django-vs-rails-for-api-development-performance-productivity-and-scalability-comparison-4g8k" class="crayons-btn crayons-btn--s crayons-btn--ghost crayons-btn--icon-left" data-reaction-count data-reactable-id="2112884" aria-label="Add a comment to post - Django vs Rails for API Development: Performance, Productivity, and Scalability Comparison"> <div class="multiple_reactions_aggregate"> <span class="multiple_reactions_icons_container" dir="rtl"> <span class="crayons_icon_container"> <img src="https://assets.dev.to/assets/sparkle-heart-5f9bee3767e18deb1bb725290cb151c25234768a0e9a2bd39370c382d02920cf.svg" width="18" height="18" /> </span> </span> <span class="aggregate_reactions_counter">1<span class="hidden s:inline"> reaction</span></span> </div> </a> <a href="/adityabhuyan/django-vs-rails-for-api-development-performance-productivity-and-scalability-comparison-4g8k#comments" class="crayons-btn crayons-btn--s crayons-btn--ghost crayons-btn--icon-left flex items-center" aria-label="Add a comment to post - Django vs Rails for API Development: Performance, Productivity, and Scalability Comparison"> <svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" role="img" aria-labelledby="akqtefc4ufotrpm926vki70e1paqatm8" class="crayons-icon"><title id="akqtefc4ufotrpm926vki70e1paqatm8">Comments</title><path d="M10.5 5h3a6 6 0 110 12v2.625c-3.75-1.5-9-3.75-9-8.625a6 6 0 016-6zM12 15.5h1.5a4.501 4.501 0 001.722-8.657A4.5 4.5 0 0013.5 6.5h-3A4.5 4.5 0 006 11c0 2.707 1.846 4.475 6 6.36V15.5z"></path></svg> <span class="hidden s:inline">Add Comment</span> </a> </div> <div class="crayons-story__save"> <small class="crayons-story__tertiary fs-xs mr-2"> 7 min read </small> <button type="button" id="article-save-button-2112884" class="c-btn c-btn--icon-alone bookmark-button" data-reactable-id="2112884" data-article-author-id="1378891" aria-label="Save post Django vs Rails for API Development: Performance, Productivity, and Scalability Comparison to reading list" title="Save post Django vs Rails for API Development: Performance, Productivity, and Scalability Comparison to reading list"> <span class="bm-initial"> <svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" aria-hidden="true"><path d="M6.75 4.5h10.5a.75.75 0 01.75.75v14.357a.375.375 0 01-.575.318L12 16.523l-5.426 3.401A.375.375 0 016 19.607V5.25a.75.75 0 01.75-.75zM16.5 6h-9v11.574l4.5-2.82 4.5 2.82V6z"></path></svg> </span> <span class="bm-success"> <svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" aria-hidden="true"><path d="M6.75 4.5h10.5a.75.75 0 01.75.75v14.357a.375.375 0 01-.575.318L12 16.523l-5.426 3.401A.375.375 0 016 19.607V5.25a.75.75 0 01.75-.75z"></path></svg> </span> </button> </div> </div> </div> </div> </div> <div class="crayons-story " data-feed-content-id="2111394" data-content-user-id="2022732"> <a href="/aamfahim/release-03-2-2mgm" aria-labelledby="article-link-2111394" class="crayons-story__hidden-navigation-link">Release 0.3 #2</a> <div class="crayons-story__body"> <div class="crayons-story__top"> <div class="crayons-story__meta"> <div class="crayons-story__author-pic"> <a href="/aamfahim" class="crayons-avatar crayons-avatar--l "> <img src="https://media2.dev.to/dynamic/image/width=90,height=90,fit=cover,gravity=auto,format=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Fuser%2Fprofile_image%2F2022732%2Fcc5fa456-2719-4743-8410-458c81fcdaa4.png" alt="aamfahim profile" class="crayons-avatar__image" loading="lazy" /> </a> </div> <div> <div> <a href="/aamfahim" class="crayons-story__secondary fw-medium m:hidden"> Abdullah Al Mamun Fahim </a> <div class="profile-preview-card relative mb-4 s:mb-0 fw-medium hidden m:inline-block"> <button id="story-author-preview-trigger-2111394" aria-controls="story-author-preview-content-2111394" class="profile-preview-card__trigger fs-s p-1 -ml-1 -my-2 crayons-btn crayons-btn--ghost" aria-label="Abdullah Al Mamun Fahim profile details"> Abdullah Al Mamun Fahim </button> <div id="story-author-preview-content-2111394" class="profile-preview-card__content crayons-dropdown branded-7 p-4 pt-0" style="border-top-color: var(--card-color);" data-repositioning-dropdown="true" data-testid="profile-preview-card"> <div class="gap-4 grid"> <div class="-mt-4"> <a href="/aamfahim" class="flex"> <span class="crayons-avatar crayons-avatar--xl mr-2 shrink-0"> <img src="https://media2.dev.to/dynamic/image/width=90,height=90,fit=cover,gravity=auto,format=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Fuser%2Fprofile_image%2F2022732%2Fcc5fa456-2719-4743-8410-458c81fcdaa4.png" class="crayons-avatar__image" alt="" loading="lazy" /> </span> <span class="crayons-link crayons-subtitle-2 mt-5">Abdullah Al Mamun Fahim</span> </a> </div> <div class="print-hidden"> <button class="crayons-btn follow-action-button whitespace-nowrap follow-user w-100" data-info='{"style":"full","id":2022732,"className":"User","name":"Abdullah Al Mamun Fahim"}'> Follow </button> </div> <div class="author-preview-metadata-container" data-author-id="2022732"></div> </div> </div> </div> </div> <a href="/aamfahim/release-03-2-2mgm" class="crayons-story__tertiary fs-xs"><time datetime="2024-11-19T03:51:59Z">Nov 19</time><span class="time-ago-indicator-initial-placeholder" data-seconds="1731988319"></span></a> </div> </div> </div> <div class="crayons-story__indention"> <h2 class="crayons-story__title"> <a href="/aamfahim/release-03-2-2mgm" data-preload-image="" id="article-link-2111394"> Release 0.3 #2 </a> </h2> <div class="crayons-story__tags"> <a class="crayons-tag crayons-tag--monochrome " style=" --tag-bg: rgba(204, 52, 45, 0.10); --tag-prefix: #CC342D; --tag-bg-hover: rgba(204, 52, 45, 0.10); --tag-prefix-hover: #CC342D; " href="/t/ruby"><span class="crayons-tag__prefix">#</span>ruby</a> <a class="crayons-tag crayons-tag--monochrome " style=" --tag-bg: rgba(204, 0, 0, 0.10); --tag-prefix: #cc0000; --tag-bg-hover: rgba(204, 0, 0, 0.10); --tag-prefix-hover: #cc0000; " href="/t/rails"><span class="crayons-tag__prefix">#</span>rails</a> <a class="crayons-tag crayons-tag--monochrome " style=" --tag-bg: rgba(38, 190, 0, 0.10); --tag-prefix: #26BE00; --tag-bg-hover: rgba(38, 190, 0, 0.10); --tag-prefix-hover: #26BE00; " href="/t/opensource"><span class="crayons-tag__prefix">#</span>opensource</a> <a class="crayons-tag crayons-tag--monochrome " style=" --tag-bg: rgba(0, 0, 0, 0.10); --tag-prefix: #000000; --tag-bg-hover: rgba(0, 0, 0, 0.10); --tag-prefix-hover: #000000; " href="/t/github"><span class="crayons-tag__prefix">#</span>github</a> </div> <div class="crayons-story__bottom"> <div class="crayons-story__details"> <a href="/aamfahim/release-03-2-2mgm#comments" class="crayons-btn crayons-btn--s crayons-btn--ghost crayons-btn--icon-left flex items-center" aria-label="Add a comment to post - Release 0.3 #2"> <svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" role="img" aria-labelledby="a8ip2jmd0b40krcb67i41kb9ji7wjaki" class="crayons-icon"><title id="a8ip2jmd0b40krcb67i41kb9ji7wjaki">Comments</title><path d="M10.5 5h3a6 6 0 110 12v2.625c-3.75-1.5-9-3.75-9-8.625a6 6 0 016-6zM12 15.5h1.5a4.501 4.501 0 001.722-8.657A4.5 4.5 0 0013.5 6.5h-3A4.5 4.5 0 006 11c0 2.707 1.846 4.475 6 6.36V15.5z"></path></svg> <span class="hidden s:inline">Add Comment</span> </a> </div> <div class="crayons-story__save"> <small class="crayons-story__tertiary fs-xs mr-2"> 2 min read </small> <button type="button" id="article-save-button-2111394" class="c-btn c-btn--icon-alone bookmark-button" data-reactable-id="2111394" data-article-author-id="2022732" aria-label="Save post Release 0.3 #2 to reading list" title="Save post Release 0.3 #2 to reading list"> <span class="bm-initial"> <svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" aria-hidden="true"><path d="M6.75 4.5h10.5a.75.75 0 01.75.75v14.357a.375.375 0 01-.575.318L12 16.523l-5.426 3.401A.375.375 0 016 19.607V5.25a.75.75 0 01.75-.75zM16.5 6h-9v11.574l4.5-2.82 4.5 2.82V6z"></path></svg> </span> <span class="bm-success"> <svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" aria-hidden="true"><path d="M6.75 4.5h10.5a.75.75 0 01.75.75v14.357a.375.375 0 01-.575.318L12 16.523l-5.426 3.401A.375.375 0 016 19.607V5.25a.75.75 0 01.75-.75z"></path></svg> </span> </button> </div> </div> </div> </div> </div> <div class="crayons-story " data-feed-content-id="2117888" data-content-user-id="1467610"> <a href="/annavi11arrea1/custom-rake-file-for-ui-testing-csvs-and-faker-5gn9" aria-labelledby="article-link-2117888" class="crayons-story__hidden-navigation-link">Custom Rake File for UI testing: CSV's and Faker</a> <div class="crayons-story__body"> <div class="crayons-story__top"> <div class="crayons-story__meta"> <div class="crayons-story__author-pic"> <a href="/annavi11arrea1" class="crayons-avatar crayons-avatar--l "> <img src="https://media2.dev.to/dynamic/image/width=90,height=90,fit=cover,gravity=auto,format=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Fuser%2Fprofile_image%2F1467610%2F0accf23e-1ea1-4b83-9f68-548bd99935ce.jpg" alt="annavi11arrea1 profile" class="crayons-avatar__image" loading="lazy" /> </a> </div> <div> <div> <a href="/annavi11arrea1" class="crayons-story__secondary fw-medium m:hidden"> Anna Villarreal </a> <div class="profile-preview-card relative mb-4 s:mb-0 fw-medium hidden m:inline-block"> <button id="story-author-preview-trigger-2117888" aria-controls="story-author-preview-content-2117888" class="profile-preview-card__trigger fs-s p-1 -ml-1 -my-2 crayons-btn crayons-btn--ghost" aria-label="Anna Villarreal profile details"> Anna Villarreal </button> <div id="story-author-preview-content-2117888" class="profile-preview-card__content crayons-dropdown branded-7 p-4 pt-0" style="border-top-color: var(--card-color);" data-repositioning-dropdown="true" data-testid="profile-preview-card"> <div class="gap-4 grid"> <div class="-mt-4"> <a href="/annavi11arrea1" class="flex"> <span class="crayons-avatar crayons-avatar--xl mr-2 shrink-0"> <img src="https://media2.dev.to/dynamic/image/width=90,height=90,fit=cover,gravity=auto,format=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Fuser%2Fprofile_image%2F1467610%2F0accf23e-1ea1-4b83-9f68-548bd99935ce.jpg" class="crayons-avatar__image" alt="" loading="lazy" /> </span> <span class="crayons-link crayons-subtitle-2 mt-5">Anna Villarreal</span> </a> </div> <div class="print-hidden"> <button class="crayons-btn follow-action-button whitespace-nowrap follow-user w-100" data-info='{"style":"full","id":1467610,"className":"User","name":"Anna Villarreal"}'> Follow </button> </div> <div class="author-preview-metadata-container" data-author-id="1467610"></div> </div> </div> </div> </div> <a href="/annavi11arrea1/custom-rake-file-for-ui-testing-csvs-and-faker-5gn9" class="crayons-story__tertiary fs-xs"><time datetime="2024-11-23T05:44:59Z">Nov 23</time><span class="time-ago-indicator-initial-placeholder" data-seconds="1732340699"></span></a> </div> </div> </div> <div class="crayons-story__indention"> <h2 class="crayons-story__title"> <a href="/annavi11arrea1/custom-rake-file-for-ui-testing-csvs-and-faker-5gn9" data-preload-image="https://media2.dev.to/dynamic/image/width=1000,height=420,fit=cover,gravity=auto,format=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fks0runapjsovi5mo7x81.png" id="article-link-2117888"> Custom Rake File for UI testing: CSV's and Faker </a> </h2> <div class="crayons-story__tags"> <a class="crayons-tag crayons-tag--monochrome " style=" --tag-bg: rgba(204, 52, 45, 0.10); --tag-prefix: #CC342D; --tag-bg-hover: rgba(204, 52, 45, 0.10); --tag-prefix-hover: #CC342D; " href="/t/ruby"><span class="crayons-tag__prefix">#</span>ruby</a> <a class="crayons-tag crayons-tag--monochrome " style=" --tag-bg: rgba(204, 0, 0, 0.10); --tag-prefix: #cc0000; --tag-bg-hover: rgba(204, 0, 0, 0.10); --tag-prefix-hover: #cc0000; " href="/t/rails"><span class="crayons-tag__prefix">#</span>rails</a> <a class="crayons-tag crayons-tag--monochrome " style=" --tag-bg: rgba(86, 39, 101, 0.10); --tag-prefix: #562765; --tag-bg-hover: rgba(86, 39, 101, 0.10); --tag-prefix-hover: #562765; " href="/t/webdev"><span class="crayons-tag__prefix">#</span>webdev</a> <a class="crayons-tag crayons-tag--monochrome " style=" --tag-bg: rgba(137, 6, 6, 0.10); --tag-prefix: #890606; --tag-bg-hover: rgba(137, 6, 6, 0.10); --tag-prefix-hover: #890606; " href="/t/programming"><span class="crayons-tag__prefix">#</span>programming</a> </div> <div class="crayons-story__bottom"> <div class="crayons-story__details"> <a href="/annavi11arrea1/custom-rake-file-for-ui-testing-csvs-and-faker-5gn9" class="crayons-btn crayons-btn--s crayons-btn--ghost crayons-btn--icon-left" data-reaction-count data-reactable-id="2117888" aria-label="Add a comment to post - Custom Rake File for UI testing: CSV's and Faker"> <div class="multiple_reactions_aggregate"> <span class="multiple_reactions_icons_container" dir="rtl"> <span class="crayons_icon_container"> <img src="https://assets.dev.to/assets/sparkle-heart-5f9bee3767e18deb1bb725290cb151c25234768a0e9a2bd39370c382d02920cf.svg" width="18" height="18" /> </span> </span> <span class="aggregate_reactions_counter">1<span class="hidden s:inline"> reaction</span></span> </div> </a> <a href="/annavi11arrea1/custom-rake-file-for-ui-testing-csvs-and-faker-5gn9#comments" class="crayons-btn crayons-btn--s crayons-btn--ghost crayons-btn--icon-left flex items-center" aria-label="Add a comment to post - Custom Rake File for UI testing: CSV's and Faker"> <svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" role="img" aria-labelledby="a44ma7m3g5zkdxi22wo77ada4c8e239t" class="crayons-icon"><title id="a44ma7m3g5zkdxi22wo77ada4c8e239t">Comments</title><path d="M10.5 5h3a6 6 0 110 12v2.625c-3.75-1.5-9-3.75-9-8.625a6 6 0 016-6zM12 15.5h1.5a4.501 4.501 0 001.722-8.657A4.5 4.5 0 0013.5 6.5h-3A4.5 4.5 0 006 11c0 2.707 1.846 4.475 6 6.36V15.5z"></path></svg> <span class="hidden s:inline">Add Comment</span> </a> </div> <div class="crayons-story__save"> <small class="crayons-story__tertiary fs-xs mr-2"> 3 min read </small> <button type="button" id="article-save-button-2117888" class="c-btn c-btn--icon-alone bookmark-button" data-reactable-id="2117888" data-article-author-id="1467610" aria-label="Save post Custom Rake File for UI testing: CSV's and Faker to reading list" title="Save post Custom Rake File for UI testing: CSV's and Faker to reading list"> <span class="bm-initial"> <svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" aria-hidden="true"><path d="M6.75 4.5h10.5a.75.75 0 01.75.75v14.357a.375.375 0 01-.575.318L12 16.523l-5.426 3.401A.375.375 0 016 19.607V5.25a.75.75 0 01.75-.75zM16.5 6h-9v11.574l4.5-2.82 4.5 2.82V6z"></path></svg> </span> <span class="bm-success"> <svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" aria-hidden="true"><path d="M6.75 4.5h10.5a.75.75 0 01.75.75v14.357a.375.375 0 01-.575.318L12 16.523l-5.426 3.401A.375.375 0 016 19.607V5.25a.75.75 0 01.75-.75z"></path></svg> </span> </button> </div> </div> </div> </div> </div> <div class="crayons-story " data-feed-content-id="2102233" data-content-user-id="1172988"> <a href="/railsdesigner/rails-designer-v19-bulk-actions-fjf" aria-labelledby="article-link-2102233" class="crayons-story__hidden-navigation-link">Rails Designer v1.9: Bulk Actions 🚚</a> <div class="crayons-story__body"> <div class="crayons-story__top"> <div class="crayons-story__meta"> <div class="crayons-story__author-pic"> <a href="/railsdesigner" class="crayons-avatar crayons-avatar--l "> <img src="https://media2.dev.to/dynamic/image/width=90,height=90,fit=cover,gravity=auto,format=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Fuser%2Fprofile_image%2F1172988%2F12fc6c7d-f168-4e28-bd6e-fb4d3715b8d5.jpg" alt="railsdesigner profile" class="crayons-avatar__image" loading="lazy" /> </a> </div> <div> <div> <a href="/railsdesigner" class="crayons-story__secondary fw-medium m:hidden"> Rails Designer </a> <div class="profile-preview-card relative mb-4 s:mb-0 fw-medium hidden m:inline-block"> <button id="story-author-preview-trigger-2102233" aria-controls="story-author-preview-content-2102233" class="profile-preview-card__trigger fs-s p-1 -ml-1 -my-2 crayons-btn crayons-btn--ghost" aria-label="Rails Designer profile details"> Rails Designer </button> <div id="story-author-preview-content-2102233" class="profile-preview-card__content crayons-dropdown branded-7 p-4 pt-0" style="border-top-color: var(--card-color);" data-repositioning-dropdown="true" data-testid="profile-preview-card"> <div class="gap-4 grid"> <div class="-mt-4"> <a href="/railsdesigner" class="flex"> <span class="crayons-avatar crayons-avatar--xl mr-2 shrink-0"> <img src="https://media2.dev.to/dynamic/image/width=90,height=90,fit=cover,gravity=auto,format=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Fuser%2Fprofile_image%2F1172988%2F12fc6c7d-f168-4e28-bd6e-fb4d3715b8d5.jpg" class="crayons-avatar__image" alt="" loading="lazy" /> </span> <span class="crayons-link crayons-subtitle-2 mt-5">Rails Designer</span> </a> </div> <div class="print-hidden"> <button class="crayons-btn follow-action-button whitespace-nowrap follow-user w-100" data-info='{"style":"full","id":1172988,"className":"User","name":"Rails Designer"}'> Follow </button> </div> <div class="author-preview-metadata-container" data-author-id="1172988"></div> </div> </div> </div> </div> <a href="/railsdesigner/rails-designer-v19-bulk-actions-fjf" class="crayons-story__tertiary fs-xs"><time datetime="2024-11-18T15:15:00Z">Nov 18</time><span class="time-ago-indicator-initial-placeholder" data-seconds="1731942900"></span></a> </div> </div> </div> <div class="crayons-story__indention"> <h2 class="crayons-story__title"> <a href="/railsdesigner/rails-designer-v19-bulk-actions-fjf" data-preload-image="" id="article-link-2102233"> Rails Designer v1.9: Bulk Actions 🚚 </a> </h2> <div class="crayons-story__tags"> <a class="crayons-tag crayons-tag--monochrome " style=" --tag-bg: rgba(204, 0, 0, 0.10); --tag-prefix: #cc0000; --tag-bg-hover: rgba(204, 0, 0, 0.10); --tag-prefix-hover: #cc0000; " href="/t/rails"><span class="crayons-tag__prefix">#</span>rails</a> <a class="crayons-tag crayons-tag--monochrome " style=" --tag-bg: rgba(0, 0, 0, 0.10); --tag-prefix: #000000; --tag-bg-hover: rgba(0, 0, 0, 0.10); --tag-prefix-hover: #000000; " href="/t/tailwindcss"><span class="crayons-tag__prefix">#</span>tailwindcss</a> <a class="crayons-tag crayons-tag--monochrome " style=" --tag-bg: rgba(0, 0, 0, 0.10); --tag-prefix: #000000; --tag-bg-hover: rgba(0, 0, 0, 0.10); --tag-prefix-hover: #000000; " href="/t/hotwire"><span class="crayons-tag__prefix">#</span>hotwire</a> <a class="crayons-tag crayons-tag--monochrome " style=" --tag-bg: rgba(6, 255, 106, 0.10); --tag-prefix: #06ff6a; --tag-bg-hover: rgba(6, 255, 106, 0.10); --tag-prefix-hover: #06ff6a; " href="/t/design"><span class="crayons-tag__prefix">#</span>design</a> </div> <div class="crayons-story__bottom"> <div class="crayons-story__details"> <a href="/railsdesigner/rails-designer-v19-bulk-actions-fjf" class="crayons-btn crayons-btn--s crayons-btn--ghost crayons-btn--icon-left" data-reaction-count data-reactable-id="2102233" aria-label="Add a comment to post - Rails Designer v1.9: Bulk Actions 🚚"> <div class="multiple_reactions_aggregate"> <span class="multiple_reactions_icons_container" dir="rtl"> <span class="crayons_icon_container"> <img src="https://assets.dev.to/assets/sparkle-heart-5f9bee3767e18deb1bb725290cb151c25234768a0e9a2bd39370c382d02920cf.svg" width="18" height="18" /> </span> </span> <span class="aggregate_reactions_counter">2<span class="hidden s:inline"> reactions</span></span> </div> </a> <a href="/railsdesigner/rails-designer-v19-bulk-actions-fjf#comments" class="crayons-btn crayons-btn--s crayons-btn--ghost crayons-btn--icon-left flex items-center" aria-label="Add a comment to post - Rails Designer v1.9: Bulk Actions 🚚"> <svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" role="img" aria-labelledby="a4504pgr4qfwbfu6eyxy9jwr9kk0u2rv" class="crayons-icon"><title id="a4504pgr4qfwbfu6eyxy9jwr9kk0u2rv">Comments</title><path d="M10.5 5h3a6 6 0 110 12v2.625c-3.75-1.5-9-3.75-9-8.625a6 6 0 016-6zM12 15.5h1.5a4.501 4.501 0 001.722-8.657A4.5 4.5 0 0013.5 6.5h-3A4.5 4.5 0 006 11c0 2.707 1.846 4.475 6 6.36V15.5z"></path></svg> <span class="hidden s:inline">Add Comment</span> </a> </div> <div class="crayons-story__save"> <small class="crayons-story__tertiary fs-xs mr-2"> 2 min read </small> <button type="button" id="article-save-button-2102233" class="c-btn c-btn--icon-alone bookmark-button" data-reactable-id="2102233" data-article-author-id="1172988" aria-label="Save post Rails Designer v1.9: Bulk Actions 🚚 to reading list" title="Save post Rails Designer v1.9: Bulk Actions 🚚 to reading list"> <span class="bm-initial"> <svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" aria-hidden="true"><path d="M6.75 4.5h10.5a.75.75 0 01.75.75v14.357a.375.375 0 01-.575.318L12 16.523l-5.426 3.401A.375.375 0 016 19.607V5.25a.75.75 0 01.75-.75zM16.5 6h-9v11.574l4.5-2.82 4.5 2.82V6z"></path></svg> </span> <span class="bm-success"> <svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" aria-hidden="true"><path d="M6.75 4.5h10.5a.75.75 0 01.75.75v14.357a.375.375 0 01-.575.318L12 16.523l-5.426 3.401A.375.375 0 016 19.607V5.25a.75.75 0 01.75-.75z"></path></svg> </span> </button> </div> </div> </div> </div> </div> <div class="crayons-story " data-feed-content-id="2113485" data-content-user-id="991023"> <a href="/appsignal/optimize-database-performance-in-ruby-on-rails-and-activerecord-mcn" aria-labelledby="article-link-2113485" class="crayons-story__hidden-navigation-link">Optimize Database Performance in Ruby on Rails and ActiveRecord</a> <div class="crayons-story__body"> <div class="crayons-story__top"> <div class="crayons-story__meta"> <div class="crayons-story__author-pic"> <a class="crayons-logo crayons-logo--l" href="/appsignal"> <img alt="AppSignal logo" src="https://media2.dev.to/dynamic/image/width=90,height=90,fit=cover,gravity=auto,format=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Forganization%2Fprofile_image%2F232%2F7dc003c2-662a-43dd-a72d-59b6ce86cdb3.png" class="crayons-logo__image" loading="lazy" /> </a> <a href="/danldevio" class="crayons-avatar crayons-avatar--s absolute -right-2 -bottom-2 border-solid border-2 border-base-inverted "> <img src="https://media2.dev.to/dynamic/image/width=90,height=90,fit=cover,gravity=auto,format=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Fuser%2Fprofile_image%2F991023%2F99c0b5ff-746b-4d43-9ac5-a7cde8b5cbde.jpeg" alt="danldevio profile" class="crayons-avatar__image" loading="lazy" /> </a> </div> <div> <div> <a href="/danldevio" class="crayons-story__secondary fw-medium m:hidden"> Daniel </a> <div class="profile-preview-card relative mb-4 s:mb-0 fw-medium hidden m:inline-block"> <button id="story-author-preview-trigger-2113485" aria-controls="story-author-preview-content-2113485" class="profile-preview-card__trigger fs-s p-1 -ml-1 -my-2 crayons-btn crayons-btn--ghost" aria-label="Daniel profile details"> Daniel </button> <div id="story-author-preview-content-2113485" class="profile-preview-card__content crayons-dropdown branded-7 p-4 pt-0" style="border-top-color: var(--card-color);" data-repositioning-dropdown="true" data-testid="profile-preview-card"> <div class="gap-4 grid"> <div class="-mt-4"> <a href="/danldevio" class="flex"> <span class="crayons-avatar crayons-avatar--xl mr-2 shrink-0"> <img src="https://media2.dev.to/dynamic/image/width=90,height=90,fit=cover,gravity=auto,format=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Fuser%2Fprofile_image%2F991023%2F99c0b5ff-746b-4d43-9ac5-a7cde8b5cbde.jpeg" class="crayons-avatar__image" alt="" loading="lazy" /> </span> <span class="crayons-link crayons-subtitle-2 mt-5">Daniel</span> </a> </div> <div class="print-hidden"> <button class="crayons-btn follow-action-button whitespace-nowrap follow-user w-100" data-info='{"style":"full","id":991023,"className":"User","name":"Daniel"}'> Follow </button> </div> <div class="author-preview-metadata-container" data-author-id="991023"></div> </div> </div> </div> <span> <span class="crayons-story__tertiary fw-normal"> for </span><a href="/appsignal" class="crayons-story__secondary fw-medium">AppSignal</a> </span> </div> <a href="/appsignal/optimize-database-performance-in-ruby-on-rails-and-activerecord-mcn" class="crayons-story__tertiary fs-xs"><time datetime="2024-11-20T13:00:00Z">Nov 20</time><span class="time-ago-indicator-initial-placeholder" data-seconds="1732107600"></span></a> </div> </div> </div> <div class="crayons-story__indention"> <h2 class="crayons-story__title"> <a href="/appsignal/optimize-database-performance-in-ruby-on-rails-and-activerecord-mcn" data-preload-image="https://media2.dev.to/dynamic/image/width=1000,height=420,fit=cover,gravity=auto,format=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fzz85c33a11cz1300dh1d.jpg" id="article-link-2113485"> Optimize Database Performance in Ruby on Rails and ActiveRecord </a> </h2> <div class="crayons-story__tags"> <a class="crayons-tag crayons-tag--monochrome " style=" --tag-bg: rgba(204, 52, 45, 0.10); --tag-prefix: #CC342D; --tag-bg-hover: rgba(204, 52, 45, 0.10); --tag-prefix-hover: #CC342D; " href="/t/ruby"><span class="crayons-tag__prefix">#</span>ruby</a> <a class="crayons-tag crayons-tag--monochrome " style=" --tag-bg: rgba(204, 0, 0, 0.10); --tag-prefix: #cc0000; --tag-bg-hover: rgba(204, 0, 0, 0.10); --tag-prefix-hover: #cc0000; " href="/t/rails"><span class="crayons-tag__prefix">#</span>rails</a> </div> <div class="crayons-story__bottom"> <div class="crayons-story__details"> <a href="/appsignal/optimize-database-performance-in-ruby-on-rails-and-activerecord-mcn" class="crayons-btn crayons-btn--s crayons-btn--ghost crayons-btn--icon-left" data-reaction-count data-reactable-id="2113485" aria-label="Add a comment to post - Optimize Database Performance in Ruby on Rails and ActiveRecord"> <div class="multiple_reactions_aggregate"> <span class="multiple_reactions_icons_container" dir="rtl"> <span class="crayons_icon_container"> <img src="https://assets.dev.to/assets/multi-unicorn-b44d6f8c23cdd00964192bedc38af3e82463978aa611b4365bd33a0f1f4f3e97.svg" width="18" height="18" /> </span> <span class="crayons_icon_container"> <img src="https://assets.dev.to/assets/sparkle-heart-5f9bee3767e18deb1bb725290cb151c25234768a0e9a2bd39370c382d02920cf.svg" width="18" height="18" /> </span> </span> <span class="aggregate_reactions_counter">2<span class="hidden s:inline"> reactions</span></span> </div> </a> <a href="/appsignal/optimize-database-performance-in-ruby-on-rails-and-activerecord-mcn#comments" class="crayons-btn crayons-btn--s crayons-btn--ghost crayons-btn--icon-left flex items-center" aria-label="Add a comment to post - Optimize Database Performance in Ruby on Rails and ActiveRecord"> <svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" role="img" aria-labelledby="arbawnr0q92mbcvdg42erovuvmefyway" class="crayons-icon"><title id="arbawnr0q92mbcvdg42erovuvmefyway">Comments</title><path d="M10.5 5h3a6 6 0 110 12v2.625c-3.75-1.5-9-3.75-9-8.625a6 6 0 016-6zM12 15.5h1.5a4.501 4.501 0 001.722-8.657A4.5 4.5 0 0013.5 6.5h-3A4.5 4.5 0 006 11c0 2.707 1.846 4.475 6 6.36V15.5z"></path></svg> <span class="hidden s:inline">Add Comment</span> </a> </div> <div class="crayons-story__save"> <small class="crayons-story__tertiary fs-xs mr-2"> 13 min read </small> <button type="button" id="article-save-button-2113485" class="c-btn c-btn--icon-alone bookmark-button" data-reactable-id="2113485" data-article-author-id="991023" aria-label="Save post Optimize Database Performance in Ruby on Rails and ActiveRecord to reading list" title="Save post Optimize Database Performance in Ruby on Rails and ActiveRecord to reading list"> <span class="bm-initial"> <svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" aria-hidden="true"><path d="M6.75 4.5h10.5a.75.75 0 01.75.75v14.357a.375.375 0 01-.575.318L12 16.523l-5.426 3.401A.375.375 0 016 19.607V5.25a.75.75 0 01.75-.75zM16.5 6h-9v11.574l4.5-2.82 4.5 2.82V6z"></path></svg> </span> <span class="bm-success"> <svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" aria-hidden="true"><path d="M6.75 4.5h10.5a.75.75 0 01.75.75v14.357a.375.375 0 01-.575.318L12 16.523l-5.426 3.401A.375.375 0 016 19.607V5.25a.75.75 0 01.75-.75z"></path></svg> </span> </button> </div> </div> </div> </div> </div> <div class="crayons-story " data-feed-content-id="2107859" data-content-user-id="907797"> <a href="/lucianghinda/what-i-posted-this-week-about-ruby-4jkj" aria-labelledby="article-link-2107859" class="crayons-story__hidden-navigation-link">What I posted this week about Ruby</a> <div class="crayons-story__body"> <div class="crayons-story__top"> <div class="crayons-story__meta"> <div class="crayons-story__author-pic"> <a href="/lucianghinda" class="crayons-avatar crayons-avatar--l "> <img src="https://media2.dev.to/dynamic/image/width=90,height=90,fit=cover,gravity=auto,format=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Fuser%2Fprofile_image%2F907797%2Fcd901ef3-ad6b-4b2b-b33a-d533880aa3ef.jpg" alt="lucianghinda profile" class="crayons-avatar__image" loading="lazy" /> </a> </div> <div> <div> <a href="/lucianghinda" class="crayons-story__secondary fw-medium m:hidden"> Lucian Ghinda </a> <div class="profile-preview-card relative mb-4 s:mb-0 fw-medium hidden m:inline-block"> <button id="story-author-preview-trigger-2107859" aria-controls="story-author-preview-content-2107859" class="profile-preview-card__trigger fs-s p-1 -ml-1 -my-2 crayons-btn crayons-btn--ghost" aria-label="Lucian Ghinda profile details"> Lucian Ghinda </button> <div id="story-author-preview-content-2107859" class="profile-preview-card__content crayons-dropdown branded-7 p-4 pt-0" style="border-top-color: var(--card-color);" data-repositioning-dropdown="true" data-testid="profile-preview-card"> <div class="gap-4 grid"> <div class="-mt-4"> <a href="/lucianghinda" class="flex"> <span class="crayons-avatar crayons-avatar--xl mr-2 shrink-0"> <img src="https://media2.dev.to/dynamic/image/width=90,height=90,fit=cover,gravity=auto,format=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Fuser%2Fprofile_image%2F907797%2Fcd901ef3-ad6b-4b2b-b33a-d533880aa3ef.jpg" class="crayons-avatar__image" alt="" loading="lazy" /> </span> <span class="crayons-link crayons-subtitle-2 mt-5">Lucian Ghinda</span> </a> </div> <div class="print-hidden"> <button class="crayons-btn follow-action-button whitespace-nowrap follow-user w-100" data-info='{"style":"full","id":907797,"className":"User","name":"Lucian Ghinda"}'> Follow </button> </div> <div class="author-preview-metadata-container" data-author-id="907797"></div> </div> </div> </div> </div> <a href="/lucianghinda/what-i-posted-this-week-about-ruby-4jkj" class="crayons-story__tertiary fs-xs"><time datetime="2024-11-17T06:13:36Z">Nov 17</time><span class="time-ago-indicator-initial-placeholder" data-seconds="1731824016"></span></a> </div> </div> </div> <div class="crayons-story__indention"> <h2 class="crayons-story__title"> <a href="/lucianghinda/what-i-posted-this-week-about-ruby-4jkj" data-preload-image="https://media2.dev.to/dynamic/image/width=1000,height=420,fit=cover,gravity=auto,format=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fn9j3udt1dfjb3qoqlbsy.png" id="article-link-2107859"> What I posted this week about Ruby </a> </h2> <div class="crayons-story__tags"> <a class="crayons-tag crayons-tag--monochrome " style=" --tag-bg: rgba(204, 52, 45, 0.10); --tag-prefix: #CC342D; --tag-bg-hover: rgba(204, 52, 45, 0.10); --tag-prefix-hover: #CC342D; " href="/t/ruby"><span class="crayons-tag__prefix">#</span>ruby</a> <a class="crayons-tag crayons-tag--monochrome " style=" --tag-bg: rgba(204, 0, 0, 0.10); --tag-prefix: #cc0000; --tag-bg-hover: rgba(204, 0, 0, 0.10); --tag-prefix-hover: #cc0000; " href="/t/rails"><span class="crayons-tag__prefix">#</span>rails</a> <a class="crayons-tag crayons-tag--monochrome " style=" --tag-bg: rgba(59, 73, 223, 0.10); --tag-prefix: #3b49df; --tag-bg-hover: rgba(59, 73, 223, 0.10); --tag-prefix-hover: #3b49df; " href="/t/contentwriting"><span class="crayons-tag__prefix">#</span>contentwriting</a> </div> <div class="crayons-story__bottom"> <div class="crayons-story__details"> <a href="/lucianghinda/what-i-posted-this-week-about-ruby-4jkj" class="crayons-btn crayons-btn--s crayons-btn--ghost crayons-btn--icon-left" data-reaction-count data-reactable-id="2107859" aria-label="Add a comment to post - What I posted this week about Ruby"> <div class="multiple_reactions_aggregate"> <span class="multiple_reactions_icons_container" dir="rtl"> <span class="crayons_icon_container"> <img src="https://assets.dev.to/assets/sparkle-heart-5f9bee3767e18deb1bb725290cb151c25234768a0e9a2bd39370c382d02920cf.svg" width="18" height="18" /> </span> </span> <span class="aggregate_reactions_counter">1<span class="hidden s:inline"> reaction</span></span> </div> </a> <a href="/lucianghinda/what-i-posted-this-week-about-ruby-4jkj#comments" class="crayons-btn crayons-btn--s crayons-btn--ghost crayons-btn--icon-left flex items-center" aria-label="Add a comment to post - What I posted this week about Ruby"> <svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" role="img" aria-labelledby="aomme8o3he6vtzazczm8aebmcapwinc3" class="crayons-icon"><title id="aomme8o3he6vtzazczm8aebmcapwinc3">Comments</title><path d="M10.5 5h3a6 6 0 110 12v2.625c-3.75-1.5-9-3.75-9-8.625a6 6 0 016-6zM12 15.5h1.5a4.501 4.501 0 001.722-8.657A4.5 4.5 0 0013.5 6.5h-3A4.5 4.5 0 006 11c0 2.707 1.846 4.475 6 6.36V15.5z"></path></svg> <span class="hidden s:inline">Add Comment</span> </a> </div> <div class="crayons-story__save"> <small class="crayons-story__tertiary fs-xs mr-2"> 2 min read </small> <button type="button" id="article-save-button-2107859" class="c-btn c-btn--icon-alone bookmark-button" data-reactable-id="2107859" data-article-author-id="907797" aria-label="Save post What I posted this week about Ruby to reading list" title="Save post What I posted this week about Ruby to reading list"> <span class="bm-initial"> <svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" aria-hidden="true"><path d="M6.75 4.5h10.5a.75.75 0 01.75.75v14.357a.375.375 0 01-.575.318L12 16.523l-5.426 3.401A.375.375 0 016 19.607V5.25a.75.75 0 01.75-.75zM16.5 6h-9v11.574l4.5-2.82 4.5 2.82V6z"></path></svg> </span> <span class="bm-success"> <svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" aria-hidden="true"><path d="M6.75 4.5h10.5a.75.75 0 01.75.75v14.357a.375.375 0 01-.575.318L12 16.523l-5.426 3.401A.375.375 0 016 19.607V5.25a.75.75 0 01.75-.75z"></path></svg> </span> </button> </div> </div> </div> </div> </div> <div class="crayons-story " data-feed-content-id="2108259" data-content-user-id="1172988"> <a href="/railsdesigner/add-sign-up-to-rails-8-authentication-49mi" aria-labelledby="article-link-2108259" class="crayons-story__hidden-navigation-link">Add Sign Up to Rails 8' Authentication</a> <div class="crayons-story__body"> <div class="crayons-story__top"> <div class="crayons-story__meta"> <div class="crayons-story__author-pic"> <a href="/railsdesigner" class="crayons-avatar crayons-avatar--l "> <img src="https://media2.dev.to/dynamic/image/width=90,height=90,fit=cover,gravity=auto,format=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Fuser%2Fprofile_image%2F1172988%2F12fc6c7d-f168-4e28-bd6e-fb4d3715b8d5.jpg" alt="railsdesigner profile" class="crayons-avatar__image" loading="lazy" /> </a> </div> <div> <div> <a href="/railsdesigner" class="crayons-story__secondary fw-medium m:hidden"> Rails Designer </a> <div class="profile-preview-card relative mb-4 s:mb-0 fw-medium hidden m:inline-block"> <button id="story-author-preview-trigger-2108259" aria-controls="story-author-preview-content-2108259" class="profile-preview-card__trigger fs-s p-1 -ml-1 -my-2 crayons-btn crayons-btn--ghost" aria-label="Rails Designer profile details"> Rails Designer </button> <div id="story-author-preview-content-2108259" class="profile-preview-card__content crayons-dropdown branded-7 p-4 pt-0" style="border-top-color: var(--card-color);" data-repositioning-dropdown="true" data-testid="profile-preview-card"> <div class="gap-4 grid"> <div class="-mt-4"> <a href="/railsdesigner" class="flex"> <span class="crayons-avatar crayons-avatar--xl mr-2 shrink-0"> <img src="https://media2.dev.to/dynamic/image/width=90,height=90,fit=cover,gravity=auto,format=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Fuser%2Fprofile_image%2F1172988%2F12fc6c7d-f168-4e28-bd6e-fb4d3715b8d5.jpg" class="crayons-avatar__image" alt="" loading="lazy" /> </span> <span class="crayons-link crayons-subtitle-2 mt-5">Rails Designer</span> </a> </div> <div class="print-hidden"> <button class="crayons-btn follow-action-button whitespace-nowrap follow-user w-100" data-info='{"style":"full","id":1172988,"className":"User","name":"Rails Designer"}'> Follow </button> </div> <div class="author-preview-metadata-container" data-author-id="1172988"></div> </div> </div> </div> </div> <a href="/railsdesigner/add-sign-up-to-rails-8-authentication-49mi" class="crayons-story__tertiary fs-xs"><time datetime="2024-11-19T13:00:00Z">Nov 19</time><span class="time-ago-indicator-initial-placeholder" data-seconds="1732021200"></span></a> </div> </div> </div> <div class="crayons-story__indention"> <h2 class="crayons-story__title"> <a href="/railsdesigner/add-sign-up-to-rails-8-authentication-49mi" data-preload-image="" id="article-link-2108259"> Add Sign Up to Rails 8' Authentication </a> </h2> <div class="crayons-story__tags"> <a class="crayons-tag crayons-tag--monochrome " style=" --tag-bg: rgba(204, 0, 0, 0.10); --tag-prefix: #cc0000; --tag-bg-hover: rgba(204, 0, 0, 0.10); --tag-prefix-hover: #cc0000; " href="/t/rails"><span class="crayons-tag__prefix">#</span>rails</a> <a class="crayons-tag crayons-tag--monochrome " style=" --tag-bg: rgba(204, 52, 45, 0.10); --tag-prefix: #CC342D; --tag-bg-hover: rgba(204, 52, 45, 0.10); --tag-prefix-hover: #CC342D; " href="/t/ruby"><span class="crayons-tag__prefix">#</span>ruby</a> <a class="crayons-tag crayons-tag--monochrome " style=" --tag-bg: rgba(86, 39, 101, 0.10); --tag-prefix: #562765; --tag-bg-hover: rgba(86, 39, 101, 0.10); --tag-prefix-hover: #562765; " href="/t/webdev"><span class="crayons-tag__prefix">#</span>webdev</a> </div> <div class="crayons-story__bottom"> <div class="crayons-story__details"> <a href="/railsdesigner/add-sign-up-to-rails-8-authentication-49mi" class="crayons-btn crayons-btn--s crayons-btn--ghost crayons-btn--icon-left" data-reaction-count data-reactable-id="2108259" aria-label="Add a comment to post - Add Sign Up to Rails 8' Authentication"> <div class="multiple_reactions_aggregate"> <span class="multiple_reactions_icons_container" dir="rtl"> <span class="crayons_icon_container"> <img src="https://assets.dev.to/assets/sparkle-heart-5f9bee3767e18deb1bb725290cb151c25234768a0e9a2bd39370c382d02920cf.svg" width="18" height="18" /> </span> </span> <span class="aggregate_reactions_counter">2<span class="hidden s:inline"> reactions</span></span> </div> </a> <a href="/railsdesigner/add-sign-up-to-rails-8-authentication-49mi#comments" class="crayons-btn crayons-btn--s crayons-btn--ghost crayons-btn--icon-left flex items-center" aria-label="Add a comment to post - Add Sign Up to Rails 8' Authentication"> <svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" role="img" aria-labelledby="a22w4i364cm537u30o4fe8dnvtb4qnfg" class="crayons-icon"><title id="a22w4i364cm537u30o4fe8dnvtb4qnfg">Comments</title><path d="M10.5 5h3a6 6 0 110 12v2.625c-3.75-1.5-9-3.75-9-8.625a6 6 0 016-6zM12 15.5h1.5a4.501 4.501 0 001.722-8.657A4.5 4.5 0 0013.5 6.5h-3A4.5 4.5 0 006 11c0 2.707 1.846 4.475 6 6.36V15.5z"></path></svg> <span class="hidden s:inline">Add Comment</span> </a> </div> <div class="crayons-story__save"> <small class="crayons-story__tertiary fs-xs mr-2"> 5 min read </small> <button type="button" id="article-save-button-2108259" class="c-btn c-btn--icon-alone bookmark-button" data-reactable-id="2108259" data-article-author-id="1172988" aria-label="Save post Add Sign Up to Rails 8' Authentication to reading list" title="Save post Add Sign Up to Rails 8' Authentication to reading list"> <span class="bm-initial"> <svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" aria-hidden="true"><path d="M6.75 4.5h10.5a.75.75 0 01.75.75v14.357a.375.375 0 01-.575.318L12 16.523l-5.426 3.401A.375.375 0 016 19.607V5.25a.75.75 0 01.75-.75zM16.5 6h-9v11.574l4.5-2.82 4.5 2.82V6z"></path></svg> </span> <span class="bm-success"> <svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" aria-hidden="true"><path d="M6.75 4.5h10.5a.75.75 0 01.75.75v14.357a.375.375 0 01-.575.318L12 16.523l-5.426 3.401A.375.375 0 016 19.607V5.25a.75.75 0 01.75-.75z"></path></svg> </span> </button> </div> </div> </div> </div> </div> <div class="crayons-story " data-feed-content-id="2102049" data-content-user-id="391704"> <a href="/sparsh9/capistrano-the-ultimate-guide-to-automated-deployments-for-rails-applications-1ejh" aria-labelledby="article-link-2102049" class="crayons-story__hidden-navigation-link">Capistrano: The Ultimate Guide to Automated Deployments for Rails Applications</a> <div class="crayons-story__body"> <div class="crayons-story__top"> <div class="crayons-story__meta"> <div class="crayons-story__author-pic"> <a href="/sparsh9" class="crayons-avatar crayons-avatar--l "> <img src="https://media2.dev.to/dynamic/image/width=90,height=90,fit=cover,gravity=auto,format=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Fuser%2Fprofile_image%2F391704%2F67138e8e-1598-45f1-82fa-68fa4a93d2ea.jpg" alt="sparsh9 profile" class="crayons-avatar__image" loading="lazy" /> </a> </div> <div> <div> <a href="/sparsh9" class="crayons-story__secondary fw-medium m:hidden"> Sparsh Garg </a> <div class="profile-preview-card relative mb-4 s:mb-0 fw-medium hidden m:inline-block"> <button id="story-author-preview-trigger-2102049" aria-controls="story-author-preview-content-2102049" class="profile-preview-card__trigger fs-s p-1 -ml-1 -my-2 crayons-btn crayons-btn--ghost" aria-label="Sparsh Garg profile details"> Sparsh Garg </button> <div id="story-author-preview-content-2102049" class="profile-preview-card__content crayons-dropdown branded-7 p-4 pt-0" style="border-top-color: var(--card-color);" data-repositioning-dropdown="true" data-testid="profile-preview-card"> <div class="gap-4 grid"> <div class="-mt-4"> <a href="/sparsh9" class="flex"> <span class="crayons-avatar crayons-avatar--xl mr-2 shrink-0"> <img src="https://media2.dev.to/dynamic/image/width=90,height=90,fit=cover,gravity=auto,format=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Fuser%2Fprofile_image%2F391704%2F67138e8e-1598-45f1-82fa-68fa4a93d2ea.jpg" class="crayons-avatar__image" alt="" loading="lazy" /> </span> <span class="crayons-link crayons-subtitle-2 mt-5">Sparsh Garg</span> </a> </div> <div class="print-hidden"> <button class="crayons-btn follow-action-button whitespace-nowrap follow-user w-100" data-info='{"style":"full","id":391704,"className":"User","name":"Sparsh Garg"}'> Follow </button> </div> <div class="author-preview-metadata-container" data-author-id="391704"></div> </div> </div> </div> </div> <a href="/sparsh9/capistrano-the-ultimate-guide-to-automated-deployments-for-rails-applications-1ejh" class="crayons-story__tertiary fs-xs"><time datetime="2024-11-13T07:15:22Z">Nov 13</time><span class="time-ago-indicator-initial-placeholder" data-seconds="1731482122"></span></a> </div> </div> </div> <div class="crayons-story__indention"> <h2 class="crayons-story__title"> <a href="/sparsh9/capistrano-the-ultimate-guide-to-automated-deployments-for-rails-applications-1ejh" data-preload-image="https://media2.dev.to/dynamic/image/width=1000,height=420,fit=cover,gravity=auto,format=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fojjhtcckmzk60sbcciul.png" id="article-link-2102049"> Capistrano: The Ultimate Guide to Automated Deployments for Rails Applications </a> </h2> <div class="crayons-story__tags"> <a class="crayons-tag crayons-tag--monochrome " style=" --tag-bg: rgba(204, 0, 0, 0.10); --tag-prefix: #cc0000; --tag-bg-hover: rgba(204, 0, 0, 0.10); --tag-prefix-hover: #cc0000; " href="/t/rails"><span class="crayons-tag__prefix">#</span>rails</a> <a class="crayons-tag crayons-tag--monochrome " style=" --tag-bg: rgba(204, 52, 45, 0.10); --tag-prefix: #CC342D; --tag-bg-hover: rgba(204, 52, 45, 0.10); --tag-prefix-hover: #CC342D; " href="/t/ruby"><span class="crayons-tag__prefix">#</span>ruby</a> <a class="crayons-tag crayons-tag--monochrome " style=" --tag-bg: rgba(59, 73, 223, 0.10); --tag-prefix: #3b49df; --tag-bg-hover: rgba(59, 73, 223, 0.10); --tag-prefix-hover: #3b49df; " href="/t/capistrano"><span class="crayons-tag__prefix">#</span>capistrano</a> <a class="crayons-tag crayons-tag--monochrome " style=" --tag-bg: rgba(137, 6, 6, 0.10); --tag-prefix: #890606; --tag-bg-hover: rgba(137, 6, 6, 0.10); --tag-prefix-hover: #890606; " href="/t/programming"><span class="crayons-tag__prefix">#</span>programming</a> </div> <div class="crayons-story__bottom"> <div class="crayons-story__details"> <a href="/sparsh9/capistrano-the-ultimate-guide-to-automated-deployments-for-rails-applications-1ejh#comments" class="crayons-btn crayons-btn--s crayons-btn--ghost crayons-btn--icon-left flex items-center" aria-label="Add a comment to post - Capistrano: The Ultimate Guide to Automated Deployments for Rails Applications"> <svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" role="img" aria-labelledby="aoya1485x1057fpsw59fidm9ckr2h8jb" class="crayons-icon"><title id="aoya1485x1057fpsw59fidm9ckr2h8jb">Comments</title><path d="M10.5 5h3a6 6 0 110 12v2.625c-3.75-1.5-9-3.75-9-8.625a6 6 0 016-6zM12 15.5h1.5a4.501 4.501 0 001.722-8.657A4.5 4.5 0 0013.5 6.5h-3A4.5 4.5 0 006 11c0 2.707 1.846 4.475 6 6.36V15.5z"></path></svg> <span class="hidden s:inline">Add Comment</span> </a> </div> <div class="crayons-story__save"> <small class="crayons-story__tertiary fs-xs mr-2"> 4 min read </small> <button type="button" id="article-save-button-2102049" class="c-btn c-btn--icon-alone bookmark-button" data-reactable-id="2102049" data-article-author-id="391704" aria-label="Save post Capistrano: The Ultimate Guide to Automated Deployments for Rails Applications to reading list" title="Save post Capistrano: The Ultimate Guide to Automated Deployments for Rails Applications to reading list"> <span class="bm-initial"> <svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" aria-hidden="true"><path d="M6.75 4.5h10.5a.75.75 0 01.75.75v14.357a.375.375 0 01-.575.318L12 16.523l-5.426 3.401A.375.375 0 016 19.607V5.25a.75.75 0 01.75-.75zM16.5 6h-9v11.574l4.5-2.82 4.5 2.82V6z"></path></svg> </span> <span class="bm-success"> <svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" aria-hidden="true"><path d="M6.75 4.5h10.5a.75.75 0 01.75.75v14.357a.375.375 0 01-.575.318L12 16.523l-5.426 3.401A.375.375 0 016 19.607V5.25a.75.75 0 01.75-.75z"></path></svg> </span> </button> </div> </div> </div> </div> </div> <div class="crayons-story " data-feed-content-id="2094028" data-content-user-id="283252"> <a href="/kevinluo201/use-viterails-to-use-vue-sfcsingle-file-component-vue-in-rails7-51bn" aria-labelledby="article-link-2094028" class="crayons-story__hidden-navigation-link">Use vite_rails to use Vue SFC(single file component, .vue) in >= Rails7</a> <div class="crayons-story__body"> <div class="crayons-story__top"> <div class="crayons-story__meta"> <div class="crayons-story__author-pic"> <a href="/kevinluo201" class="crayons-avatar crayons-avatar--l "> <img src="https://media2.dev.to/dynamic/image/width=90,height=90,fit=cover,gravity=auto,format=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Fuser%2Fprofile_image%2F283252%2F07012131-5bb5-4aff-b73c-0dbd85e2439f.png" alt="kevinluo201 profile" class="crayons-avatar__image" loading="lazy" /> </a> </div> <div> <div> <a href="/kevinluo201" class="crayons-story__secondary fw-medium m:hidden"> Kevin Luo </a> <div class="profile-preview-card relative mb-4 s:mb-0 fw-medium hidden m:inline-block"> <button id="story-author-preview-trigger-2094028" aria-controls="story-author-preview-content-2094028" class="profile-preview-card__trigger fs-s p-1 -ml-1 -my-2 crayons-btn crayons-btn--ghost" aria-label="Kevin Luo profile details"> Kevin Luo </button> <div id="story-author-preview-content-2094028" class="profile-preview-card__content crayons-dropdown branded-7 p-4 pt-0" style="border-top-color: var(--card-color);" data-repositioning-dropdown="true" data-testid="profile-preview-card"> <div class="gap-4 grid"> <div class="-mt-4"> <a href="/kevinluo201" class="flex"> <span class="crayons-avatar crayons-avatar--xl mr-2 shrink-0"> <img src="https://media2.dev.to/dynamic/image/width=90,height=90,fit=cover,gravity=auto,format=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Fuser%2Fprofile_image%2F283252%2F07012131-5bb5-4aff-b73c-0dbd85e2439f.png" class="crayons-avatar__image" alt="" loading="lazy" /> </span> <span class="crayons-link crayons-subtitle-2 mt-5">Kevin Luo</span> </a> </div> <div class="print-hidden"> <button class="crayons-btn follow-action-button whitespace-nowrap follow-user w-100" data-info='{"style":"full","id":283252,"className":"User","name":"Kevin Luo"}'> Follow </button> </div> <div class="author-preview-metadata-container" data-author-id="283252"></div> </div> </div> </div> </div> <a href="/kevinluo201/use-viterails-to-use-vue-sfcsingle-file-component-vue-in-rails7-51bn" class="crayons-story__tertiary fs-xs"><time datetime="2024-11-11T01:27:58Z">Nov 11</time><span class="time-ago-indicator-initial-placeholder" data-seconds="1731288478"></span></a> </div> </div> </div> <div class="crayons-story__indention"> <h2 class="crayons-story__title"> <a href="/kevinluo201/use-viterails-to-use-vue-sfcsingle-file-component-vue-in-rails7-51bn" data-preload-image="" id="article-link-2094028"> Use vite_rails to use Vue SFC(single file component, .vue) in >= Rails7 </a> </h2> <div class="crayons-story__tags"> <a class="crayons-tag crayons-tag--monochrome " style=" --tag-bg: rgba(204, 0, 0, 0.10); --tag-prefix: #cc0000; --tag-bg-hover: rgba(204, 0, 0, 0.10); --tag-prefix-hover: #cc0000; " href="/t/rails"><span class="crayons-tag__prefix">#</span>rails</a> <a class="crayons-tag crayons-tag--monochrome " style=" --tag-bg: rgba(65, 184, 131, 0.10); --tag-prefix: #41b883; --tag-bg-hover: rgba(65, 184, 131, 0.10); --tag-prefix-hover: #41b883; " href="/t/vue"><span class="crayons-tag__prefix">#</span>vue</a> <a class="crayons-tag crayons-tag--monochrome " style=" --tag-bg: rgba(100, 108, 255, 0.10); --tag-prefix: #646cff; --tag-bg-hover: rgba(100, 108, 255, 0.10); --tag-prefix-hover: #646cff; " href="/t/vite"><span class="crayons-tag__prefix">#</span>vite</a> </div> <div class="crayons-story__bottom"> <div class="crayons-story__details"> <a href="/kevinluo201/use-viterails-to-use-vue-sfcsingle-file-component-vue-in-rails7-51bn" class="crayons-btn crayons-btn--s crayons-btn--ghost crayons-btn--icon-left" data-reaction-count data-reactable-id="2094028" aria-label="Add a comment to post - Use vite_rails to use Vue SFC(single file component, .vue) in >= Rails7"> <div class="multiple_reactions_aggregate"> <span class="multiple_reactions_icons_container" dir="rtl"> <span class="crayons_icon_container"> <img src="https://assets.dev.to/assets/sparkle-heart-5f9bee3767e18deb1bb725290cb151c25234768a0e9a2bd39370c382d02920cf.svg" width="18" height="18" /> </span> </span> <span class="aggregate_reactions_counter">1<span class="hidden s:inline"> reaction</span></span> </div> </a> <a href="/kevinluo201/use-viterails-to-use-vue-sfcsingle-file-component-vue-in-rails7-51bn#comments" class="crayons-btn crayons-btn--s crayons-btn--ghost crayons-btn--icon-left flex items-center" aria-label="Add a comment to post - Use vite_rails to use Vue SFC(single file component, .vue) in >= Rails7"> <svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" role="img" aria-labelledby="ahfqkqlijojisyk1pxs0icetiu06b6si" class="crayons-icon"><title id="ahfqkqlijojisyk1pxs0icetiu06b6si">Comments</title><path d="M10.5 5h3a6 6 0 110 12v2.625c-3.75-1.5-9-3.75-9-8.625a6 6 0 016-6zM12 15.5h1.5a4.501 4.501 0 001.722-8.657A4.5 4.5 0 0013.5 6.5h-3A4.5 4.5 0 006 11c0 2.707 1.846 4.475 6 6.36V15.5z"></path></svg> <span class="hidden s:inline">Add Comment</span> </a> </div> <div class="crayons-story__save"> <small class="crayons-story__tertiary fs-xs mr-2"> 4 min read </small> <button type="button" id="article-save-button-2094028" class="c-btn c-btn--icon-alone bookmark-button" data-reactable-id="2094028" data-article-author-id="283252" aria-label="Save post Use vite_rails to use Vue SFC(single file component, .vue) in >= Rails7 to reading list" title="Save post Use vite_rails to use Vue SFC(single file component, .vue) in >= Rails7 to reading list"> <span class="bm-initial"> <svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" aria-hidden="true"><path d="M6.75 4.5h10.5a.75.75 0 01.75.75v14.357a.375.375 0 01-.575.318L12 16.523l-5.426 3.401A.375.375 0 016 19.607V5.25a.75.75 0 01.75-.75zM16.5 6h-9v11.574l4.5-2.82 4.5 2.82V6z"></path></svg> </span> <span class="bm-success"> <svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" aria-hidden="true"><path d="M6.75 4.5h10.5a.75.75 0 01.75.75v14.357a.375.375 0 01-.575.318L12 16.523l-5.426 3.401A.375.375 0 016 19.607V5.25a.75.75 0 01.75-.75z"></path></svg> </span> </button> </div> </div> </div> </div> </div> <div class="crayons-story " data-feed-content-id="2091971" data-content-user-id="51393"> <a href="/eduardinni/kamal-how-to-use-grafana-loki-as-a-logging-driver-1hdc" aria-labelledby="article-link-2091971" class="crayons-story__hidden-navigation-link">Kamal: How to use Grafana Loki as a logging driver</a> <div class="crayons-story__body"> <div class="crayons-story__top"> <div class="crayons-story__meta"> <div class="crayons-story__author-pic"> <a href="/eduardinni" class="crayons-avatar crayons-avatar--l "> <img src="https://media2.dev.to/dynamic/image/width=90,height=90,fit=cover,gravity=auto,format=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Fuser%2Fprofile_image%2F51393%2F26a98cea-fb64-4ed4-abd2-9783ded31c6e.jpg" alt="eduardinni profile" class="crayons-avatar__image" loading="lazy" /> </a> </div> <div> <div> <a href="/eduardinni" class="crayons-story__secondary fw-medium m:hidden"> Eduardo Lomeli </a> <div class="profile-preview-card relative mb-4 s:mb-0 fw-medium hidden m:inline-block"> <button id="story-author-preview-trigger-2091971" aria-controls="story-author-preview-content-2091971" class="profile-preview-card__trigger fs-s p-1 -ml-1 -my-2 crayons-btn crayons-btn--ghost" aria-label="Eduardo Lomeli profile details"> Eduardo Lomeli </button> <div id="story-author-preview-content-2091971" class="profile-preview-card__content crayons-dropdown branded-7 p-4 pt-0" style="border-top-color: var(--card-color);" data-repositioning-dropdown="true" data-testid="profile-preview-card"> <div class="gap-4 grid"> <div class="-mt-4"> <a href="/eduardinni" class="flex"> <span class="crayons-avatar crayons-avatar--xl mr-2 shrink-0"> <img src="https://media2.dev.to/dynamic/image/width=90,height=90,fit=cover,gravity=auto,format=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Fuser%2Fprofile_image%2F51393%2F26a98cea-fb64-4ed4-abd2-9783ded31c6e.jpg" class="crayons-avatar__image" alt="" loading="lazy" /> </span> <span class="crayons-link crayons-subtitle-2 mt-5">Eduardo Lomeli</span> </a> </div> <div class="print-hidden"> <button class="crayons-btn follow-action-button whitespace-nowrap follow-user w-100" data-info='{"style":"full","id":51393,"className":"User","name":"Eduardo Lomeli"}'> Follow </button> </div> <div class="author-preview-metadata-container" data-author-id="51393"></div> </div> </div> </div> </div> <a href="/eduardinni/kamal-how-to-use-grafana-loki-as-a-logging-driver-1hdc" class="crayons-story__tertiary fs-xs"><time datetime="2024-11-10T07:14:27Z">Nov 10</time><span class="time-ago-indicator-initial-placeholder" data-seconds="1731222867"></span></a> </div> </div> </div> <div class="crayons-story__indention"> <h2 class="crayons-story__title"> <a href="/eduardinni/kamal-how-to-use-grafana-loki-as-a-logging-driver-1hdc" data-preload-image="" id="article-link-2091971"> Kamal: How to use Grafana Loki as a logging driver </a> </h2> <div class="crayons-story__tags"> <a class="crayons-tag crayons-tag--monochrome " style=" --tag-bg: rgba(59, 73, 223, 0.10); --tag-prefix: #3b49df; --tag-bg-hover: rgba(59, 73, 223, 0.10); --tag-prefix-hover: #3b49df; " href="/t/kamal"><span class="crayons-tag__prefix">#</span>kamal</a> <a class="crayons-tag crayons-tag--monochrome " style=" --tag-bg: rgba(204, 0, 0, 0.10); --tag-prefix: #cc0000; --tag-bg-hover: rgba(204, 0, 0, 0.10); --tag-prefix-hover: #cc0000; " href="/t/rails"><span class="crayons-tag__prefix">#</span>rails</a> </div> <div class="crayons-story__bottom"> <div class="crayons-story__details"> <a href="/eduardinni/kamal-how-to-use-grafana-loki-as-a-logging-driver-1hdc#comments" class="crayons-btn crayons-btn--s crayons-btn--ghost crayons-btn--icon-left flex items-center" aria-label="Add a comment to post - Kamal: How to use Grafana Loki as a logging driver"> <svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" role="img" aria-labelledby="a29m716hx1bni1amb3jo0xlbckrmlakd" class="crayons-icon"><title id="a29m716hx1bni1amb3jo0xlbckrmlakd">Comments</title><path d="M10.5 5h3a6 6 0 110 12v2.625c-3.75-1.5-9-3.75-9-8.625a6 6 0 016-6zM12 15.5h1.5a4.501 4.501 0 001.722-8.657A4.5 4.5 0 0013.5 6.5h-3A4.5 4.5 0 006 11c0 2.707 1.846 4.475 6 6.36V15.5z"></path></svg> <span class="hidden s:inline">Add Comment</span> </a> </div> <div class="crayons-story__save"> <small class="crayons-story__tertiary fs-xs mr-2"> 1 min read </small> <button type="button" id="article-save-button-2091971" class="c-btn c-btn--icon-alone bookmark-button" data-reactable-id="2091971" data-article-author-id="51393" aria-label="Save post Kamal: How to use Grafana Loki as a logging driver to reading list" title="Save post Kamal: How to use Grafana Loki as a logging driver to reading list"> <span class="bm-initial"> <svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" aria-hidden="true"><path d="M6.75 4.5h10.5a.75.75 0 01.75.75v14.357a.375.375 0 01-.575.318L12 16.523l-5.426 3.401A.375.375 0 016 19.607V5.25a.75.75 0 01.75-.75zM16.5 6h-9v11.574l4.5-2.82 4.5 2.82V6z"></path></svg> </span> <span class="bm-success"> <svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" aria-hidden="true"><path d="M6.75 4.5h10.5a.75.75 0 01.75.75v14.357a.375.375 0 01-.575.318L12 16.523l-5.426 3.401A.375.375 0 016 19.607V5.25a.75.75 0 01.75-.75z"></path></svg> </span> </button> </div> </div> </div> </div> </div> <div class="crayons-story " data-feed-content-id="2076807" data-content-user-id="1172988"> <a href="/railsdesigner/store-ui-state-in-localstorage-with-stimulus-2ehe" aria-labelledby="article-link-2076807" class="crayons-story__hidden-navigation-link">Store UI State in localStorage with Stimulus</a> <div class="crayons-story__body"> <div class="crayons-story__top"> <div class="crayons-story__meta"> <div class="crayons-story__author-pic"> <a href="/railsdesigner" class="crayons-avatar crayons-avatar--l "> <img src="https://media2.dev.to/dynamic/image/width=90,height=90,fit=cover,gravity=auto,format=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Fuser%2Fprofile_image%2F1172988%2F12fc6c7d-f168-4e28-bd6e-fb4d3715b8d5.jpg" alt="railsdesigner profile" class="crayons-avatar__image" loading="lazy" /> </a> </div> <div> <div> <a href="/railsdesigner" class="crayons-story__secondary fw-medium m:hidden"> Rails Designer </a> <div class="profile-preview-card relative mb-4 s:mb-0 fw-medium hidden m:inline-block"> <button id="story-author-preview-trigger-2076807" aria-controls="story-author-preview-content-2076807" class="profile-preview-card__trigger fs-s p-1 -ml-1 -my-2 crayons-btn crayons-btn--ghost" aria-label="Rails Designer profile details"> Rails Designer </button> <div id="story-author-preview-content-2076807" class="profile-preview-card__content crayons-dropdown branded-7 p-4 pt-0" style="border-top-color: var(--card-color);" data-repositioning-dropdown="true" data-testid="profile-preview-card"> <div class="gap-4 grid"> <div class="-mt-4"> <a href="/railsdesigner" class="flex"> <span class="crayons-avatar crayons-avatar--xl mr-2 shrink-0"> <img src="https://media2.dev.to/dynamic/image/width=90,height=90,fit=cover,gravity=auto,format=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Fuser%2Fprofile_image%2F1172988%2F12fc6c7d-f168-4e28-bd6e-fb4d3715b8d5.jpg" class="crayons-avatar__image" alt="" loading="lazy" /> </span> <span class="crayons-link crayons-subtitle-2 mt-5">Rails Designer</span> </a> </div> <div class="print-hidden"> <button class="crayons-btn follow-action-button whitespace-nowrap follow-user w-100" data-info='{"style":"full","id":1172988,"className":"User","name":"Rails Designer"}'> Follow </button> </div> <div class="author-preview-metadata-container" data-author-id="1172988"></div> </div> </div> </div> </div> <a href="/railsdesigner/store-ui-state-in-localstorage-with-stimulus-2ehe" class="crayons-story__tertiary fs-xs"><time datetime="2024-11-07T13:00:00Z">Nov 7</time><span class="time-ago-indicator-initial-placeholder" data-seconds="1730984400"></span></a> </div> </div> </div> <div class="crayons-story__indention"> <h2 class="crayons-story__title"> <a href="/railsdesigner/store-ui-state-in-localstorage-with-stimulus-2ehe" data-preload-image="https://media2.dev.to/dynamic/image/width=1000,height=420,fit=cover,gravity=auto,format=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F5un8naj596i0zh3ypq5g.png" id="article-link-2076807"> Store UI State in localStorage with Stimulus </a> </h2> <div class="crayons-story__tags"> <a class="crayons-tag crayons-tag--monochrome " style=" --tag-bg: rgba(204, 52, 45, 0.10); --tag-prefix: #CC342D; --tag-bg-hover: rgba(204, 52, 45, 0.10); --tag-prefix-hover: #CC342D; " href="/t/ruby"><span class="crayons-tag__prefix">#</span>ruby</a> <a class="crayons-tag crayons-tag--monochrome " style=" --tag-bg: rgba(204, 0, 0, 0.10); --tag-prefix: #cc0000; --tag-bg-hover: rgba(204, 0, 0, 0.10); --tag-prefix-hover: #cc0000; " href="/t/rails"><span class="crayons-tag__prefix">#</span>rails</a> <a class="crayons-tag crayons-tag--monochrome " style=" --tag-bg: rgba(0, 0, 0, 0.10); --tag-prefix: #000000; --tag-bg-hover: rgba(0, 0, 0, 0.10); --tag-prefix-hover: #000000; " href="/t/hotwire"><span class="crayons-tag__prefix">#</span>hotwire</a> <a class="crayons-tag crayons-tag--monochrome " style=" --tag-bg: rgba(247, 223, 30, 0.10); --tag-prefix: #f7df1e; --tag-bg-hover: rgba(247, 223, 30, 0.10); --tag-prefix-hover: #f7df1e; " href="/t/javascript"><span class="crayons-tag__prefix">#</span>javascript</a> </div> <div class="crayons-story__bottom"> <div class="crayons-story__details"> <a href="/railsdesigner/store-ui-state-in-localstorage-with-stimulus-2ehe" class="crayons-btn crayons-btn--s crayons-btn--ghost crayons-btn--icon-left" data-reaction-count data-reactable-id="2076807" aria-label="Add a comment to post - Store UI State in localStorage with Stimulus"> <div class="multiple_reactions_aggregate"> <span class="multiple_reactions_icons_container" dir="rtl"> <span class="crayons_icon_container"> <img src="https://assets.dev.to/assets/sparkle-heart-5f9bee3767e18deb1bb725290cb151c25234768a0e9a2bd39370c382d02920cf.svg" width="18" height="18" /> </span> </span> <span class="aggregate_reactions_counter">1<span class="hidden s:inline"> reaction</span></span> </div> </a> <a href="/railsdesigner/store-ui-state-in-localstorage-with-stimulus-2ehe#comments" class="crayons-btn crayons-btn--s crayons-btn--ghost crayons-btn--icon-left flex items-center" aria-label="Add a comment to post - Store UI State in localStorage with Stimulus"> <svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" role="img" aria-labelledby="a7tm4v3fomgk1oknxd1hoy7tpwvk47p3" class="crayons-icon"><title id="a7tm4v3fomgk1oknxd1hoy7tpwvk47p3">Comments</title><path d="M10.5 5h3a6 6 0 110 12v2.625c-3.75-1.5-9-3.75-9-8.625a6 6 0 016-6zM12 15.5h1.5a4.501 4.501 0 001.722-8.657A4.5 4.5 0 0013.5 6.5h-3A4.5 4.5 0 006 11c0 2.707 1.846 4.475 6 6.36V15.5z"></path></svg> 1<span class="hidden s:inline"> comment</span> </a> </div> <div class="crayons-story__save"> <small class="crayons-story__tertiary fs-xs mr-2"> 3 min read </small> <button type="button" id="article-save-button-2076807" class="c-btn c-btn--icon-alone bookmark-button" data-reactable-id="2076807" data-article-author-id="1172988" aria-label="Save post Store UI State in localStorage with Stimulus to reading list" title="Save post Store UI State in localStorage with Stimulus to reading list"> <span class="bm-initial"> <svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" aria-hidden="true"><path d="M6.75 4.5h10.5a.75.75 0 01.75.75v14.357a.375.375 0 01-.575.318L12 16.523l-5.426 3.401A.375.375 0 016 19.607V5.25a.75.75 0 01.75-.75zM16.5 6h-9v11.574l4.5-2.82 4.5 2.82V6z"></path></svg> </span> <span class="bm-success"> <svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" aria-hidden="true"><path d="M6.75 4.5h10.5a.75.75 0 01.75.75v14.357a.375.375 0 01-.575.318L12 16.523l-5.426 3.401A.375.375 0 016 19.607V5.25a.75.75 0 01.75-.75z"></path></svg> </span> </button> </div> </div> </div> </div> </div> <div class="crayons-story " data-feed-content-id="2079975" data-content-user-id="630941"> <a href="/ugifractal/gem-install-error-incompatible-function-pointer-types-passing-2jp0" aria-labelledby="article-link-2079975" class="crayons-story__hidden-navigation-link">gem install error: incompatible function pointer types passing</a> <div class="crayons-story__body"> <div class="crayons-story__top"> <div class="crayons-story__meta"> <div class="crayons-story__author-pic"> <a href="/ugifractal" class="crayons-avatar crayons-avatar--l "> <img src="https://media2.dev.to/dynamic/image/width=90,height=90,fit=cover,gravity=auto,format=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Fuser%2Fprofile_image%2F630941%2F44dbd8ac-7279-4cf6-89a6-9b23cac9683f.jpg" alt="ugifractal profile" class="crayons-avatar__image" loading="lazy" /> </a> </div> <div> <div> <a href="/ugifractal" class="crayons-story__secondary fw-medium m:hidden"> sugiarto </a> <div class="profile-preview-card relative mb-4 s:mb-0 fw-medium hidden m:inline-block"> <button id="story-author-preview-trigger-2079975" aria-controls="story-author-preview-content-2079975" class="profile-preview-card__trigger fs-s p-1 -ml-1 -my-2 crayons-btn crayons-btn--ghost" aria-label="sugiarto profile details"> sugiarto </button> <div id="story-author-preview-content-2079975" class="profile-preview-card__content crayons-dropdown branded-7 p-4 pt-0" style="border-top-color: var(--card-color);" data-repositioning-dropdown="true" data-testid="profile-preview-card"> <div class="gap-4 grid"> <div class="-mt-4"> <a href="/ugifractal" class="flex"> <span class="crayons-avatar crayons-avatar--xl mr-2 shrink-0"> <img src="https://media2.dev.to/dynamic/image/width=90,height=90,fit=cover,gravity=auto,format=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Fuser%2Fprofile_image%2F630941%2F44dbd8ac-7279-4cf6-89a6-9b23cac9683f.jpg" class="crayons-avatar__image" alt="" loading="lazy" /> </span> <span class="crayons-link crayons-subtitle-2 mt-5">sugiarto</span> </a> </div> <div class="print-hidden"> <button class="crayons-btn follow-action-button whitespace-nowrap follow-user w-100" data-info='{"style":"full","id":630941,"className":"User","name":"sugiarto"}'> Follow </button> </div> <div class="author-preview-metadata-container" data-author-id="630941"></div> </div> </div> </div> </div> <a href="/ugifractal/gem-install-error-incompatible-function-pointer-types-passing-2jp0" class="crayons-story__tertiary fs-xs"><time datetime="2024-11-06T00:17:58Z">Nov 6</time><span class="time-ago-indicator-initial-placeholder" data-seconds="1730852278"></span></a> </div> </div> </div> <div class="crayons-story__indention"> <h2 class="crayons-story__title"> <a href="/ugifractal/gem-install-error-incompatible-function-pointer-types-passing-2jp0" data-preload-image="" id="article-link-2079975"> gem install error: incompatible function pointer types passing </a> </h2> <div class="crayons-story__tags"> <a class="crayons-tag crayons-tag--monochrome " style=" --tag-bg: rgba(204, 52, 45, 0.10); --tag-prefix: #CC342D; --tag-bg-hover: rgba(204, 52, 45, 0.10); --tag-prefix-hover: #CC342D; " href="/t/ruby"><span class="crayons-tag__prefix">#</span>ruby</a> <a class="crayons-tag crayons-tag--monochrome " style=" --tag-bg: rgba(204, 0, 0, 0.10); --tag-prefix: #cc0000; --tag-bg-hover: rgba(204, 0, 0, 0.10); --tag-prefix-hover: #cc0000; " href="/t/rails"><span class="crayons-tag__prefix">#</span>rails</a> <a class="crayons-tag crayons-tag--monochrome " style=" --tag-bg: rgba(59, 73, 223, 0.10); --tag-prefix: #3b49df; --tag-bg-hover: rgba(59, 73, 223, 0.10); --tag-prefix-hover: #3b49df; " href="/t/gem"><span class="crayons-tag__prefix">#</span>gem</a> <a class="crayons-tag crayons-tag--monochrome " style=" --tag-bg: rgba(59, 73, 223, 0.10); --tag-prefix: #3b49df; --tag-bg-hover: rgba(59, 73, 223, 0.10); --tag-prefix-hover: #3b49df; " href="/t/bundler"><span class="crayons-tag__prefix">#</span>bundler</a> </div> <div class="crayons-story__bottom"> <div class="crayons-story__details"> <a href="/ugifractal/gem-install-error-incompatible-function-pointer-types-passing-2jp0#comments" class="crayons-btn crayons-btn--s crayons-btn--ghost crayons-btn--icon-left flex items-center" aria-label="Add a comment to post - gem install error: incompatible function pointer types passing"> <svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" role="img" aria-labelledby="atnm4hna0k1dyikkgjzidrfhy8fft3xj" class="crayons-icon"><title id="atnm4hna0k1dyikkgjzidrfhy8fft3xj">Comments</title><path d="M10.5 5h3a6 6 0 110 12v2.625c-3.75-1.5-9-3.75-9-8.625a6 6 0 016-6zM12 15.5h1.5a4.501 4.501 0 001.722-8.657A4.5 4.5 0 0013.5 6.5h-3A4.5 4.5 0 006 11c0 2.707 1.846 4.475 6 6.36V15.5z"></path></svg> <span class="hidden s:inline">Add Comment</span> </a> </div> <div class="crayons-story__save"> <small class="crayons-story__tertiary fs-xs mr-2"> 1 min read </small> <button type="button" id="article-save-button-2079975" class="c-btn c-btn--icon-alone bookmark-button" data-reactable-id="2079975" data-article-author-id="630941" aria-label="Save post gem install error: incompatible function pointer types passing to reading list" title="Save post gem install error: incompatible function pointer types passing to reading list"> <span class="bm-initial"> <svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" aria-hidden="true"><path d="M6.75 4.5h10.5a.75.75 0 01.75.75v14.357a.375.375 0 01-.575.318L12 16.523l-5.426 3.401A.375.375 0 016 19.607V5.25a.75.75 0 01.75-.75zM16.5 6h-9v11.574l4.5-2.82 4.5 2.82V6z"></path></svg> </span> <span class="bm-success"> <svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" aria-hidden="true"><path d="M6.75 4.5h10.5a.75.75 0 01.75.75v14.357a.375.375 0 01-.575.318L12 16.523l-5.426 3.401A.375.375 0 016 19.607V5.25a.75.75 0 01.75-.75z"></path></svg> </span> </button> </div> </div> </div> </div> </div> <div class="crayons-story " data-feed-content-id="2092075" data-content-user-id="51393"> <a href="/eduardinni/kamal-speed-up-the-image-builds-using-managed-third-party-builders-and-github-actions-40bj" aria-labelledby="article-link-2092075" class="crayons-story__hidden-navigation-link">Kamal: Speed up the image builds using managed third-party builders and GitHub Actions</a> <div class="crayons-story__body"> <div class="crayons-story__top"> <div class="crayons-story__meta"> <div class="crayons-story__author-pic"> <a href="/eduardinni" class="crayons-avatar crayons-avatar--l "> <img src="https://media2.dev.to/dynamic/image/width=90,height=90,fit=cover,gravity=auto,format=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Fuser%2Fprofile_image%2F51393%2F26a98cea-fb64-4ed4-abd2-9783ded31c6e.jpg" alt="eduardinni profile" class="crayons-avatar__image" loading="lazy" /> </a> </div> <div> <div> <a href="/eduardinni" class="crayons-story__secondary fw-medium m:hidden"> Eduardo Lomeli </a> <div class="profile-preview-card relative mb-4 s:mb-0 fw-medium hidden m:inline-block"> <button id="story-author-preview-trigger-2092075" aria-controls="story-author-preview-content-2092075" class="profile-preview-card__trigger fs-s p-1 -ml-1 -my-2 crayons-btn crayons-btn--ghost" aria-label="Eduardo Lomeli profile details"> Eduardo Lomeli </button> <div id="story-author-preview-content-2092075" class="profile-preview-card__content crayons-dropdown branded-7 p-4 pt-0" style="border-top-color: var(--card-color);" data-repositioning-dropdown="true" data-testid="profile-preview-card"> <div class="gap-4 grid"> <div class="-mt-4"> <a href="/eduardinni" class="flex"> <span class="crayons-avatar crayons-avatar--xl mr-2 shrink-0"> <img src="https://media2.dev.to/dynamic/image/width=90,height=90,fit=cover,gravity=auto,format=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Fuser%2Fprofile_image%2F51393%2F26a98cea-fb64-4ed4-abd2-9783ded31c6e.jpg" class="crayons-avatar__image" alt="" loading="lazy" /> </span> <span class="crayons-link crayons-subtitle-2 mt-5">Eduardo Lomeli</span> </a> </div> <div class="print-hidden"> <button class="crayons-btn follow-action-button whitespace-nowrap follow-user w-100" data-info='{"style":"full","id":51393,"className":"User","name":"Eduardo Lomeli"}'> Follow </button> </div> <div class="author-preview-metadata-container" data-author-id="51393"></div> </div> </div> </div> </div> <a href="/eduardinni/kamal-speed-up-the-image-builds-using-managed-third-party-builders-and-github-actions-40bj" class="crayons-story__tertiary fs-xs"><time datetime="2024-11-10T08:13:58Z">Nov 10</time><span class="time-ago-indicator-initial-placeholder" data-seconds="1731226438"></span></a> </div> </div> </div> <div class="crayons-story__indention"> <h2 class="crayons-story__title"> <a href="/eduardinni/kamal-speed-up-the-image-builds-using-managed-third-party-builders-and-github-actions-40bj" data-preload-image="" id="article-link-2092075"> Kamal: Speed up the image builds using managed third-party builders and GitHub Actions </a> </h2> <div class="crayons-story__tags"> <a class="crayons-tag crayons-tag--monochrome " style=" --tag-bg: rgba(59, 73, 223, 0.10); --tag-prefix: #3b49df; --tag-bg-hover: rgba(59, 73, 223, 0.10); --tag-prefix-hover: #3b49df; " href="/t/kamal"><span class="crayons-tag__prefix">#</span>kamal</a> <a class="crayons-tag crayons-tag--monochrome " style=" --tag-bg: rgba(204, 0, 0, 0.10); --tag-prefix: #cc0000; --tag-bg-hover: rgba(204, 0, 0, 0.10); --tag-prefix-hover: #cc0000; " href="/t/rails"><span class="crayons-tag__prefix">#</span>rails</a> </div> <div class="crayons-story__bottom"> <div class="crayons-story__details"> <a href="/eduardinni/kamal-speed-up-the-image-builds-using-managed-third-party-builders-and-github-actions-40bj#comments" class="crayons-btn crayons-btn--s crayons-btn--ghost crayons-btn--icon-left flex items-center" aria-label="Add a comment to post - Kamal: Speed up the image builds using managed third-party builders and GitHub Actions"> <svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" role="img" aria-labelledby="ain9adj818ikm6dei2u52tu171jtlaez" class="crayons-icon"><title id="ain9adj818ikm6dei2u52tu171jtlaez">Comments</title><path d="M10.5 5h3a6 6 0 110 12v2.625c-3.75-1.5-9-3.75-9-8.625a6 6 0 016-6zM12 15.5h1.5a4.501 4.501 0 001.722-8.657A4.5 4.5 0 0013.5 6.5h-3A4.5 4.5 0 006 11c0 2.707 1.846 4.475 6 6.36V15.5z"></path></svg> 2<span class="hidden s:inline"> comments</span> </a> </div> <div class="crayons-story__save"> <small class="crayons-story__tertiary fs-xs mr-2"> 1 min read </small> <button type="button" id="article-save-button-2092075" class="c-btn c-btn--icon-alone bookmark-button" data-reactable-id="2092075" data-article-author-id="51393" aria-label="Save post Kamal: Speed up the image builds using managed third-party builders and GitHub Actions to reading list" title="Save post Kamal: Speed up the image builds using managed third-party builders and GitHub Actions to reading list"> <span class="bm-initial"> <svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" aria-hidden="true"><path d="M6.75 4.5h10.5a.75.75 0 01.75.75v14.357a.375.375 0 01-.575.318L12 16.523l-5.426 3.401A.375.375 0 016 19.607V5.25a.75.75 0 01.75-.75zM16.5 6h-9v11.574l4.5-2.82 4.5 2.82V6z"></path></svg> </span> <span class="bm-success"> <svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" aria-hidden="true"><path d="M6.75 4.5h10.5a.75.75 0 01.75.75v14.357a.375.375 0 01-.575.318L12 16.523l-5.426 3.401A.375.375 0 016 19.607V5.25a.75.75 0 01.75-.75z"></path></svg> </span> </button> </div> </div> </div> </div> </div> <div class="crayons-story " data-feed-content-id="2079996" data-content-user-id="145919"> <a href="/dpaluy/implement-a-secure-dynamic-domain-approval-system-for-embeddable-widgets-in-ruby-on-rails-2f53" aria-labelledby="article-link-2079996" class="crayons-story__hidden-navigation-link">Implement a Secure, Dynamic Domain Approval System for Embeddable Widgets in Ruby on Rails</a> <div class="crayons-story__body"> <div class="crayons-story__top"> <div class="crayons-story__meta"> <div class="crayons-story__author-pic"> <a href="/dpaluy" class="crayons-avatar crayons-avatar--l "> <img src="https://media2.dev.to/dynamic/image/width=90,height=90,fit=cover,gravity=auto,format=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Fuser%2Fprofile_image%2F145919%2F547f5da7-55fe-44b2-a4ee-ebf2a85d9260.png" alt="dpaluy profile" class="crayons-avatar__image" loading="lazy" /> </a> </div> <div> <div> <a href="/dpaluy" class="crayons-story__secondary fw-medium m:hidden"> David Paluy </a> <div class="profile-preview-card relative mb-4 s:mb-0 fw-medium hidden m:inline-block"> <button id="story-author-preview-trigger-2079996" aria-controls="story-author-preview-content-2079996" class="profile-preview-card__trigger fs-s p-1 -ml-1 -my-2 crayons-btn crayons-btn--ghost" aria-label="David Paluy profile details"> David Paluy </button> <div id="story-author-preview-content-2079996" class="profile-preview-card__content crayons-dropdown branded-7 p-4 pt-0" style="border-top-color: var(--card-color);" data-repositioning-dropdown="true" data-testid="profile-preview-card"> <div class="gap-4 grid"> <div class="-mt-4"> <a href="/dpaluy" class="flex"> <span class="crayons-avatar crayons-avatar--xl mr-2 shrink-0"> <img src="https://media2.dev.to/dynamic/image/width=90,height=90,fit=cover,gravity=auto,format=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Fuser%2Fprofile_image%2F145919%2F547f5da7-55fe-44b2-a4ee-ebf2a85d9260.png" class="crayons-avatar__image" alt="" loading="lazy" /> </span> <span class="crayons-link crayons-subtitle-2 mt-5">David Paluy</span> </a> </div> <div class="print-hidden"> <button class="crayons-btn follow-action-button whitespace-nowrap follow-user w-100" data-info='{"style":"full","id":145919,"className":"User","name":"David Paluy"}'> Follow </button> </div> <div class="author-preview-metadata-container" data-author-id="145919"></div> </div> </div> </div> </div> <a href="/dpaluy/implement-a-secure-dynamic-domain-approval-system-for-embeddable-widgets-in-ruby-on-rails-2f53" class="crayons-story__tertiary fs-xs"><time datetime="2024-11-06T00:48:43Z">Nov 6</time><span class="time-ago-indicator-initial-placeholder" data-seconds="1730854123"></span></a> </div> </div> </div> <div class="crayons-story__indention"> <h2 class="crayons-story__title"> <a href="/dpaluy/implement-a-secure-dynamic-domain-approval-system-for-embeddable-widgets-in-ruby-on-rails-2f53" data-preload-image="" id="article-link-2079996"> Implement a Secure, Dynamic Domain Approval System for Embeddable Widgets in Ruby on Rails </a> </h2> <div class="crayons-story__tags"> <a class="crayons-tag crayons-tag--monochrome " style=" --tag-bg: rgba(204, 0, 0, 0.10); --tag-prefix: #cc0000; --tag-bg-hover: rgba(204, 0, 0, 0.10); --tag-prefix-hover: #cc0000; " href="/t/rails"><span class="crayons-tag__prefix">#</span>rails</a> <a class="crayons-tag crayons-tag--monochrome " style=" --tag-bg: rgba(59, 73, 223, 0.10); --tag-prefix: #3b49df; --tag-bg-hover: rgba(59, 73, 223, 0.10); --tag-prefix-hover: #3b49df; " href="/t/widget"><span class="crayons-tag__prefix">#</span>widget</a> <a class="crayons-tag crayons-tag--monochrome " style=" --tag-bg: rgba(27, 172, 128, 0.10); --tag-prefix: #1bac80; --tag-bg-hover: rgba(27, 172, 128, 0.10); --tag-prefix-hover: #1bac80; " href="/t/security"><span class="crayons-tag__prefix">#</span>security</a> <a class="crayons-tag crayons-tag--monochrome " style=" --tag-bg: rgba(59, 73, 223, 0.10); --tag-prefix: #3b49df; --tag-bg-hover: rgba(59, 73, 223, 0.10); --tag-prefix-hover: #3b49df; " href="/t/embed"><span class="crayons-tag__prefix">#</span>embed</a> </div> <div class="crayons-story__bottom"> <div class="crayons-story__details"> <a href="/dpaluy/implement-a-secure-dynamic-domain-approval-system-for-embeddable-widgets-in-ruby-on-rails-2f53#comments" class="crayons-btn crayons-btn--s crayons-btn--ghost crayons-btn--icon-left flex items-center" aria-label="Add a comment to post - Implement a Secure, Dynamic Domain Approval System for Embeddable Widgets in Ruby on Rails"> <svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" role="img" aria-labelledby="aqt2d0fyvt4xu0g1s8ndx5ivfr4bi6vv" class="crayons-icon"><title id="aqt2d0fyvt4xu0g1s8ndx5ivfr4bi6vv">Comments</title><path d="M10.5 5h3a6 6 0 110 12v2.625c-3.75-1.5-9-3.75-9-8.625a6 6 0 016-6zM12 15.5h1.5a4.501 4.501 0 001.722-8.657A4.5 4.5 0 0013.5 6.5h-3A4.5 4.5 0 006 11c0 2.707 1.846 4.475 6 6.36V15.5z"></path></svg> <span class="hidden s:inline">Add Comment</span> </a> </div> <div class="crayons-story__save"> <small class="crayons-story__tertiary fs-xs mr-2"> 3 min read </small> <button type="button" id="article-save-button-2079996" class="c-btn c-btn--icon-alone bookmark-button" data-reactable-id="2079996" data-article-author-id="145919" aria-label="Save post Implement a Secure, Dynamic Domain Approval System for Embeddable Widgets in Ruby on Rails to reading list" title="Save post Implement a Secure, Dynamic Domain Approval System for Embeddable Widgets in Ruby on Rails to reading list"> <span class="bm-initial"> <svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" aria-hidden="true"><path d="M6.75 4.5h10.5a.75.75 0 01.75.75v14.357a.375.375 0 01-.575.318L12 16.523l-5.426 3.401A.375.375 0 016 19.607V5.25a.75.75 0 01.75-.75zM16.5 6h-9v11.574l4.5-2.82 4.5 2.82V6z"></path></svg> </span> <span class="bm-success"> <svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" aria-hidden="true"><path d="M6.75 4.5h10.5a.75.75 0 01.75.75v14.357a.375.375 0 01-.575.318L12 16.523l-5.426 3.401A.375.375 0 016 19.607V5.25a.75.75 0 01.75-.75z"></path></svg> </span> </button> </div> </div> </div> </div> </div> <div class="crayons-story " data-feed-content-id="2107919" data-content-user-id="656148"> <a href="/guim/solid-queue-101-processamento-em-background-no-rails-8-4hfl" aria-labelledby="article-link-2107919" class="crayons-story__hidden-navigation-link">Solid Queue 101: Processamento em Background no Rails 8.</a> <div class="crayons-story__body"> <div class="crayons-story__top"> <div class="crayons-story__meta"> <div class="crayons-story__author-pic"> <a href="/guim" class="crayons-avatar crayons-avatar--l "> <img src="https://media2.dev.to/dynamic/image/width=90,height=90,fit=cover,gravity=auto,format=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Fuser%2Fprofile_image%2F656148%2F1f159222-5da5-4e0b-8f31-1dab5855995e.jpeg" alt="guim profile" class="crayons-avatar__image" loading="lazy" /> </a> </div> <div> <div> <a href="/guim" class="crayons-story__secondary fw-medium m:hidden"> Guilherme Silva </a> <div class="profile-preview-card relative mb-4 s:mb-0 fw-medium hidden m:inline-block"> <button id="story-author-preview-trigger-2107919" aria-controls="story-author-preview-content-2107919" class="profile-preview-card__trigger fs-s p-1 -ml-1 -my-2 crayons-btn crayons-btn--ghost" aria-label="Guilherme Silva profile details"> Guilherme Silva </button> <div id="story-author-preview-content-2107919" class="profile-preview-card__content crayons-dropdown branded-7 p-4 pt-0" style="border-top-color: var(--card-color);" data-repositioning-dropdown="true" data-testid="profile-preview-card"> <div class="gap-4 grid"> <div class="-mt-4"> <a href="/guim" class="flex"> <span class="crayons-avatar crayons-avatar--xl mr-2 shrink-0"> <img src="https://media2.dev.to/dynamic/image/width=90,height=90,fit=cover,gravity=auto,format=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Fuser%2Fprofile_image%2F656148%2F1f159222-5da5-4e0b-8f31-1dab5855995e.jpeg" class="crayons-avatar__image" alt="" loading="lazy" /> </span> <span class="crayons-link crayons-subtitle-2 mt-5">Guilherme Silva</span> </a> </div> <div class="print-hidden"> <button class="crayons-btn follow-action-button whitespace-nowrap follow-user w-100" data-info='{"style":"full","id":656148,"className":"User","name":"Guilherme Silva"}'> Follow </button> </div> <div class="author-preview-metadata-container" data-author-id="656148"></div> </div> </div> </div> </div> <a href="/guim/solid-queue-101-processamento-em-background-no-rails-8-4hfl" class="crayons-story__tertiary fs-xs"><time datetime="2024-11-18T13:32:50Z">Nov 18</time><span class="time-ago-indicator-initial-placeholder" data-seconds="1731936770"></span></a> </div> </div> </div> <div class="crayons-story__indention"> <h2 class="crayons-story__title"> <a href="/guim/solid-queue-101-processamento-em-background-no-rails-8-4hfl" data-preload-image="" id="article-link-2107919"> Solid Queue 101: Processamento em Background no Rails 8. </a> </h2> <div class="crayons-story__tags"> <a class="crayons-tag crayons-tag--monochrome " style=" --tag-bg: rgba(137, 6, 6, 0.10); --tag-prefix: #890606; --tag-bg-hover: rgba(137, 6, 6, 0.10); --tag-prefix-hover: #890606; " href="/t/programming"><span class="crayons-tag__prefix">#</span>programming</a> <a class="crayons-tag crayons-tag--monochrome " style=" --tag-bg: rgba(204, 52, 45, 0.10); --tag-prefix: #CC342D; --tag-bg-hover: rgba(204, 52, 45, 0.10); --tag-prefix-hover: #CC342D; " href="/t/ruby"><span class="crayons-tag__prefix">#</span>ruby</a> <a class="crayons-tag crayons-tag--monochrome " style=" --tag-bg: rgba(204, 0, 0, 0.10); --tag-prefix: #cc0000; --tag-bg-hover: rgba(204, 0, 0, 0.10); --tag-prefix-hover: #cc0000; " href="/t/rails"><span class="crayons-tag__prefix">#</span>rails</a> <a class="crayons-tag crayons-tag--monochrome " style=" --tag-bg: rgba(59, 73, 223, 0.10); --tag-prefix: #3b49df; --tag-bg-hover: rgba(59, 73, 223, 0.10); --tag-prefix-hover: #3b49df; " href="/t/backend"><span class="crayons-tag__prefix">#</span>backend</a> </div> <div class="crayons-story__bottom"> <div class="crayons-story__details"> <a href="/guim/solid-queue-101-processamento-em-background-no-rails-8-4hfl" class="crayons-btn crayons-btn--s crayons-btn--ghost crayons-btn--icon-left" data-reaction-count data-reactable-id="2107919" aria-label="Add a comment to post - Solid Queue 101: Processamento em Background no Rails 8."> <div class="multiple_reactions_aggregate"> <span class="multiple_reactions_icons_container" dir="rtl"> <span class="crayons_icon_container"> <img src="https://assets.dev.to/assets/sparkle-heart-5f9bee3767e18deb1bb725290cb151c25234768a0e9a2bd39370c382d02920cf.svg" width="18" height="18" /> </span> </span> <span class="aggregate_reactions_counter">8<span class="hidden s:inline"> reactions</span></span> </div> </a> <a href="/guim/solid-queue-101-processamento-em-background-no-rails-8-4hfl#comments" class="crayons-btn crayons-btn--s crayons-btn--ghost crayons-btn--icon-left flex items-center" aria-label="Add a comment to post - Solid Queue 101: Processamento em Background no Rails 8."> <svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" role="img" aria-labelledby="aii5doam7gprnsyclq8yve6tjx7p4n4i" class="crayons-icon"><title id="aii5doam7gprnsyclq8yve6tjx7p4n4i">Comments</title><path d="M10.5 5h3a6 6 0 110 12v2.625c-3.75-1.5-9-3.75-9-8.625a6 6 0 016-6zM12 15.5h1.5a4.501 4.501 0 001.722-8.657A4.5 4.5 0 0013.5 6.5h-3A4.5 4.5 0 006 11c0 2.707 1.846 4.475 6 6.36V15.5z"></path></svg> <span class="hidden s:inline">Add Comment</span> </a> </div> <div class="crayons-story__save"> <small class="crayons-story__tertiary fs-xs mr-2"> 5 min read </small> <button type="button" id="article-save-button-2107919" class="c-btn c-btn--icon-alone bookmark-button" data-reactable-id="2107919" data-article-author-id="656148" aria-label="Save post Solid Queue 101: Processamento em Background no Rails 8. to reading list" title="Save post Solid Queue 101: Processamento em Background no Rails 8. to reading list"> <span class="bm-initial"> <svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" aria-hidden="true"><path d="M6.75 4.5h10.5a.75.75 0 01.75.75v14.357a.375.375 0 01-.575.318L12 16.523l-5.426 3.401A.375.375 0 016 19.607V5.25a.75.75 0 01.75-.75zM16.5 6h-9v11.574l4.5-2.82 4.5 2.82V6z"></path></svg> </span> <span class="bm-success"> <svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" aria-hidden="true"><path d="M6.75 4.5h10.5a.75.75 0 01.75.75v14.357a.375.375 0 01-.575.318L12 16.523l-5.426 3.401A.375.375 0 016 19.607V5.25a.75.75 0 01.75-.75z"></path></svg> </span> </button> </div> </div> </div> </div> </div> <div class="crayons-story " data-feed-content-id="2104896" data-content-user-id="1353650"> <a href="/ryan_kopf/building-paindai-a-rails-powered-pain-journaling-app-to-help-chronic-pain-patients-advocate-for-l9g" aria-labelledby="article-link-2104896" class="crayons-story__hidden-navigation-link">Building Paindai: A Rails-Powered Pain Journaling App to Help Chronic Pain Patients Advocate for Themselves</a> <div class="crayons-story__body"> <div class="crayons-story__top"> <div class="crayons-story__meta"> <div class="crayons-story__author-pic"> <a href="/ryan_kopf" class="crayons-avatar crayons-avatar--l "> <img src="https://media2.dev.to/dynamic/image/width=90,height=90,fit=cover,gravity=auto,format=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Fuser%2Fprofile_image%2F1353650%2F52ba0e50-e068-4f82-aa53-87b8f0ee27e2.jpeg" alt="ryan_kopf profile" class="crayons-avatar__image" loading="lazy" /> </a> </div> <div> <div> <a href="/ryan_kopf" class="crayons-story__secondary fw-medium m:hidden"> Ryan Kopf </a> <div class="profile-preview-card relative mb-4 s:mb-0 fw-medium hidden m:inline-block"> <button id="story-author-preview-trigger-2104896" aria-controls="story-author-preview-content-2104896" class="profile-preview-card__trigger fs-s p-1 -ml-1 -my-2 crayons-btn crayons-btn--ghost" aria-label="Ryan Kopf profile details"> Ryan Kopf </button> <div id="story-author-preview-content-2104896" class="profile-preview-card__content crayons-dropdown branded-7 p-4 pt-0" style="border-top-color: var(--card-color);" data-repositioning-dropdown="true" data-testid="profile-preview-card"> <div class="gap-4 grid"> <div class="-mt-4"> <a href="/ryan_kopf" class="flex"> <span class="crayons-avatar crayons-avatar--xl mr-2 shrink-0"> <img src="https://media2.dev.to/dynamic/image/width=90,height=90,fit=cover,gravity=auto,format=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Fuser%2Fprofile_image%2F1353650%2F52ba0e50-e068-4f82-aa53-87b8f0ee27e2.jpeg" class="crayons-avatar__image" alt="" loading="lazy" /> </span> <span class="crayons-link crayons-subtitle-2 mt-5">Ryan Kopf</span> </a> </div> <div class="print-hidden"> <button class="crayons-btn follow-action-button whitespace-nowrap follow-user w-100" data-info='{"style":"full","id":1353650,"className":"User","name":"Ryan Kopf"}'> Follow </button> </div> <div class="author-preview-metadata-container" data-author-id="1353650"></div> </div> </div> </div> </div> <a href="/ryan_kopf/building-paindai-a-rails-powered-pain-journaling-app-to-help-chronic-pain-patients-advocate-for-l9g" class="crayons-story__tertiary fs-xs"><time datetime="2024-11-15T00:54:10Z">Nov 15</time><span class="time-ago-indicator-initial-placeholder" data-seconds="1731632050"></span></a> </div> </div> </div> <div class="crayons-story__indention"> <h2 class="crayons-story__title"> <a href="/ryan_kopf/building-paindai-a-rails-powered-pain-journaling-app-to-help-chronic-pain-patients-advocate-for-l9g" data-preload-image="" id="article-link-2104896"> Building Paindai: A Rails-Powered Pain Journaling App to Help Chronic Pain Patients Advocate for Themselves </a> </h2> <div class="crayons-story__tags"> <a class="crayons-tag crayons-tag--monochrome " style=" --tag-bg: rgba(204, 52, 45, 0.10); --tag-prefix: #CC342D; --tag-bg-hover: rgba(204, 52, 45, 0.10); --tag-prefix-hover: #CC342D; " href="/t/ruby"><span class="crayons-tag__prefix">#</span>ruby</a> <a class="crayons-tag crayons-tag--monochrome " style=" --tag-bg: rgba(204, 0, 0, 0.10); --tag-prefix: #cc0000; --tag-bg-hover: rgba(204, 0, 0, 0.10); --tag-prefix-hover: #cc0000; " href="/t/rails"><span class="crayons-tag__prefix">#</span>rails</a> <a class="crayons-tag crayons-tag--monochrome " style=" --tag-bg: rgba(86, 39, 101, 0.10); --tag-prefix: #562765; --tag-bg-hover: rgba(86, 39, 101, 0.10); --tag-prefix-hover: #562765; " href="/t/webdev"><span class="crayons-tag__prefix">#</span>webdev</a> <a class="crayons-tag crayons-tag--monochrome " style=" --tag-bg: rgba(128, 179, 255, 0.10); --tag-prefix: #80b3ff; --tag-bg-hover: rgba(128, 179, 255, 0.10); --tag-prefix-hover: #80b3ff; " href="/t/mentalhealth"><span class="crayons-tag__prefix">#</span>mentalhealth</a> </div> <div class="crayons-story__bottom"> <div class="crayons-story__details"> <a href="/ryan_kopf/building-paindai-a-rails-powered-pain-journaling-app-to-help-chronic-pain-patients-advocate-for-l9g#comments" class="crayons-btn crayons-btn--s crayons-btn--ghost crayons-btn--icon-left flex items-center" aria-label="Add a comment to post - Building Paindai: A Rails-Powered Pain Journaling App to Help Chronic Pain Patients Advocate for Themselves"> <svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" role="img" aria-labelledby="aqfekskvhc6z3sk46z5vjkc3vmuph0kf" class="crayons-icon"><title id="aqfekskvhc6z3sk46z5vjkc3vmuph0kf">Comments</title><path d="M10.5 5h3a6 6 0 110 12v2.625c-3.75-1.5-9-3.75-9-8.625a6 6 0 016-6zM12 15.5h1.5a4.501 4.501 0 001.722-8.657A4.5 4.5 0 0013.5 6.5h-3A4.5 4.5 0 006 11c0 2.707 1.846 4.475 6 6.36V15.5z"></path></svg> 1<span class="hidden s:inline"> comment</span> </a> </div> <div class="crayons-story__save"> <small class="crayons-story__tertiary fs-xs mr-2"> 5 min read </small> <button type="button" id="article-save-button-2104896" class="c-btn c-btn--icon-alone bookmark-button" data-reactable-id="2104896" data-article-author-id="1353650" aria-label="Save post Building Paindai: A Rails-Powered Pain Journaling App to Help Chronic Pain Patients Advocate for Themselves to reading list" title="Save post Building Paindai: A Rails-Powered Pain Journaling App to Help Chronic Pain Patients Advocate for Themselves to reading list"> <span class="bm-initial"> <svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" aria-hidden="true"><path d="M6.75 4.5h10.5a.75.75 0 01.75.75v14.357a.375.375 0 01-.575.318L12 16.523l-5.426 3.401A.375.375 0 016 19.607V5.25a.75.75 0 01.75-.75zM16.5 6h-9v11.574l4.5-2.82 4.5 2.82V6z"></path></svg> </span> <span class="bm-success"> <svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" aria-hidden="true"><path d="M6.75 4.5h10.5a.75.75 0 01.75.75v14.357a.375.375 0 01-.575.318L12 16.523l-5.426 3.401A.375.375 0 016 19.607V5.25a.75.75 0 01.75-.75z"></path></svg> </span> </button> </div> </div> </div> </div> </div> <div class="crayons-story " data-feed-content-id="2065193" data-content-user-id="595008"> <a href="/damuz91/multiple-deployments-and-high-availability-with-mina-and-ruby-on-rails-59nc" aria-labelledby="article-link-2065193" class="crayons-story__hidden-navigation-link">Multiple deployments and High Availability with Mina and Ruby on Rails</a> <div class="crayons-story__body"> <div class="crayons-story__top"> <div class="crayons-story__meta"> <div class="crayons-story__author-pic"> <a href="/damuz91" class="crayons-avatar crayons-avatar--l "> <img src="https://media2.dev.to/dynamic/image/width=90,height=90,fit=cover,gravity=auto,format=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Fuser%2Fprofile_image%2F595008%2F39f92790-5fe0-44b5-aef6-2d4ad746a400.jpeg" alt="damuz91 profile" class="crayons-avatar__image" loading="lazy" /> </a> </div> <div> <div> <a href="/damuz91" class="crayons-story__secondary fw-medium m:hidden"> David Muñoz </a> <div class="profile-preview-card relative mb-4 s:mb-0 fw-medium hidden m:inline-block"> <button id="story-author-preview-trigger-2065193" aria-controls="story-author-preview-content-2065193" class="profile-preview-card__trigger fs-s p-1 -ml-1 -my-2 crayons-btn crayons-btn--ghost" aria-label="David Muñoz profile details"> David Muñoz </button> <div id="story-author-preview-content-2065193" class="profile-preview-card__content crayons-dropdown branded-7 p-4 pt-0" style="border-top-color: var(--card-color);" data-repositioning-dropdown="true" data-testid="profile-preview-card"> <div class="gap-4 grid"> <div class="-mt-4"> <a href="/damuz91" class="flex"> <span class="crayons-avatar crayons-avatar--xl mr-2 shrink-0"> <img src="https://media2.dev.to/dynamic/image/width=90,height=90,fit=cover,gravity=auto,format=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Fuser%2Fprofile_image%2F595008%2F39f92790-5fe0-44b5-aef6-2d4ad746a400.jpeg" class="crayons-avatar__image" alt="" loading="lazy" /> </span> <span class="crayons-link crayons-subtitle-2 mt-5">David Muñoz</span> </a> </div> <div class="print-hidden"> <button class="crayons-btn follow-action-button whitespace-nowrap follow-user w-100" data-info='{"style":"full","id":595008,"className":"User","name":"David Muñoz"}'> Follow </button> </div> <div class="author-preview-metadata-container" data-author-id="595008"></div> </div> </div> </div> </div> <a href="/damuz91/multiple-deployments-and-high-availability-with-mina-and-ruby-on-rails-59nc" class="crayons-story__tertiary fs-xs"><time datetime="2024-10-29T18:57:52Z">Oct 29</time><span class="time-ago-indicator-initial-placeholder" data-seconds="1730228272"></span></a> </div> </div> </div> <div class="crayons-story__indention"> <h2 class="crayons-story__title"> <a href="/damuz91/multiple-deployments-and-high-availability-with-mina-and-ruby-on-rails-59nc" data-preload-image="" id="article-link-2065193"> Multiple deployments and High Availability with Mina and Ruby on Rails </a> </h2> <div class="crayons-story__tags"> <a class="crayons-tag crayons-tag--monochrome " style=" --tag-bg: rgba(204, 0, 0, 0.10); --tag-prefix: #cc0000; --tag-bg-hover: rgba(204, 0, 0, 0.10); --tag-prefix-hover: #cc0000; " href="/t/rails"><span class="crayons-tag__prefix">#</span>rails</a> <a class="crayons-tag crayons-tag--monochrome " style=" --tag-bg: rgba(204, 52, 45, 0.10); --tag-prefix: #CC342D; --tag-bg-hover: rgba(204, 52, 45, 0.10); --tag-prefix-hover: #CC342D; " href="/t/ruby"><span class="crayons-tag__prefix">#</span>ruby</a> <a class="crayons-tag crayons-tag--monochrome " style=" --tag-bg: rgba(59, 73, 223, 0.10); --tag-prefix: #3b49df; --tag-bg-hover: rgba(59, 73, 223, 0.10); --tag-prefix-hover: #3b49df; " href="/t/capistrano"><span class="crayons-tag__prefix">#</span>capistrano</a> <a class="crayons-tag crayons-tag--monochrome " style=" --tag-bg: rgba(233, 84, 32, 0.10); --tag-prefix: #E95420; --tag-bg-hover: rgba(233, 84, 32, 0.10); --tag-prefix-hover: #E95420; " href="/t/ubuntu"><span class="crayons-tag__prefix">#</span>ubuntu</a> </div> <div class="crayons-story__bottom"> <div class="crayons-story__details"> <a href="/damuz91/multiple-deployments-and-high-availability-with-mina-and-ruby-on-rails-59nc#comments" class="crayons-btn crayons-btn--s crayons-btn--ghost crayons-btn--icon-left flex items-center" aria-label="Add a comment to post - Multiple deployments and High Availability with Mina and Ruby on Rails"> <svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" role="img" aria-labelledby="a6vwh2hjyx4n7d8nmdc9y47gsoh1eskj" class="crayons-icon"><title id="a6vwh2hjyx4n7d8nmdc9y47gsoh1eskj">Comments</title><path d="M10.5 5h3a6 6 0 110 12v2.625c-3.75-1.5-9-3.75-9-8.625a6 6 0 016-6zM12 15.5h1.5a4.501 4.501 0 001.722-8.657A4.5 4.5 0 0013.5 6.5h-3A4.5 4.5 0 006 11c0 2.707 1.846 4.475 6 6.36V15.5z"></path></svg> <span class="hidden s:inline">Add Comment</span> </a> </div> <div class="crayons-story__save"> <small class="crayons-story__tertiary fs-xs mr-2"> 6 min read </small> <button type="button" id="article-save-button-2065193" class="c-btn c-btn--icon-alone bookmark-button" data-reactable-id="2065193" data-article-author-id="595008" aria-label="Save post Multiple deployments and High Availability with Mina and Ruby on Rails to reading list" title="Save post Multiple deployments and High Availability with Mina and Ruby on Rails to reading list"> <span class="bm-initial"> <svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" aria-hidden="true"><path d="M6.75 4.5h10.5a.75.75 0 01.75.75v14.357a.375.375 0 01-.575.318L12 16.523l-5.426 3.401A.375.375 0 016 19.607V5.25a.75.75 0 01.75-.75zM16.5 6h-9v11.574l4.5-2.82 4.5 2.82V6z"></path></svg> </span> <span class="bm-success"> <svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" aria-hidden="true"><path d="M6.75 4.5h10.5a.75.75 0 01.75.75v14.357a.375.375 0 01-.575.318L12 16.523l-5.426 3.401A.375.375 0 016 19.607V5.25a.75.75 0 01.75-.75z"></path></svg> </span> </button> </div> </div> </div> </div> </div> <div class="crayons-story " data-feed-content-id="2065177" data-content-user-id="595008"> <a href="/damuz91/como-desplegar-una-app-de-ruby-on-rails-en-ubuntu-22-f36" aria-labelledby="article-link-2065177" class="crayons-story__hidden-navigation-link">Cómo desplegar una app de Ruby on Rails en Ubuntu 22</a> <div class="crayons-story__body"> <div class="crayons-story__top"> <div class="crayons-story__meta"> <div class="crayons-story__author-pic"> <a href="/damuz91" class="crayons-avatar crayons-avatar--l "> <img src="https://media2.dev.to/dynamic/image/width=90,height=90,fit=cover,gravity=auto,format=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Fuser%2Fprofile_image%2F595008%2F39f92790-5fe0-44b5-aef6-2d4ad746a400.jpeg" alt="damuz91 profile" class="crayons-avatar__image" loading="lazy" /> </a> </div> <div> <div> <a href="/damuz91" class="crayons-story__secondary fw-medium m:hidden"> David Muñoz </a> <div class="profile-preview-card relative mb-4 s:mb-0 fw-medium hidden m:inline-block"> <button id="story-author-preview-trigger-2065177" aria-controls="story-author-preview-content-2065177" class="profile-preview-card__trigger fs-s p-1 -ml-1 -my-2 crayons-btn crayons-btn--ghost" aria-label="David Muñoz profile details"> David Muñoz </button> <div id="story-author-preview-content-2065177" class="profile-preview-card__content crayons-dropdown branded-7 p-4 pt-0" style="border-top-color: var(--card-color);" data-repositioning-dropdown="true" data-testid="profile-preview-card"> <div class="gap-4 grid"> <div class="-mt-4"> <a href="/damuz91" class="flex"> <span class="crayons-avatar crayons-avatar--xl mr-2 shrink-0"> <img src="https://media2.dev.to/dynamic/image/width=90,height=90,fit=cover,gravity=auto,format=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Fuser%2Fprofile_image%2F595008%2F39f92790-5fe0-44b5-aef6-2d4ad746a400.jpeg" class="crayons-avatar__image" alt="" loading="lazy" /> </span> <span class="crayons-link crayons-subtitle-2 mt-5">David Muñoz</span> </a> </div> <div class="print-hidden"> <button class="crayons-btn follow-action-button whitespace-nowrap follow-user w-100" data-info='{"style":"full","id":595008,"className":"User","name":"David Muñoz"}'> Follow </button> </div> <div class="author-preview-metadata-container" data-author-id="595008"></div> </div> </div> </div> </div> <a href="/damuz91/como-desplegar-una-app-de-ruby-on-rails-en-ubuntu-22-f36" class="crayons-story__tertiary fs-xs"><time datetime="2024-10-29T18:49:02Z">Oct 29</time><span class="time-ago-indicator-initial-placeholder" data-seconds="1730227742"></span></a> </div> </div> </div> <div class="crayons-story__indention"> <h2 class="crayons-story__title"> <a href="/damuz91/como-desplegar-una-app-de-ruby-on-rails-en-ubuntu-22-f36" data-preload-image="" id="article-link-2065177"> Cómo desplegar una app de Ruby on Rails en Ubuntu 22 </a> </h2> <div class="crayons-story__tags"> <a class="crayons-tag crayons-tag--monochrome " style=" --tag-bg: rgba(204, 0, 0, 0.10); --tag-prefix: #cc0000; --tag-bg-hover: rgba(204, 0, 0, 0.10); --tag-prefix-hover: #cc0000; " href="/t/rails"><span class="crayons-tag__prefix">#</span>rails</a> <a class="crayons-tag crayons-tag--monochrome " style=" --tag-bg: rgba(233, 84, 32, 0.10); --tag-prefix: #E95420; --tag-bg-hover: rgba(233, 84, 32, 0.10); --tag-prefix-hover: #E95420; " href="/t/ubuntu"><span class="crayons-tag__prefix">#</span>ubuntu</a> <a class="crayons-tag crayons-tag--monochrome " style=" --tag-bg: rgba(0, 0, 0, 0.10); --tag-prefix: #000000; --tag-bg-hover: rgba(0, 0, 0, 0.10); --tag-prefix-hover: #000000; " href="/t/nginx"><span class="crayons-tag__prefix">#</span>nginx</a> <a class="crayons-tag crayons-tag--monochrome " style=" --tag-bg: rgba(59, 73, 223, 0.10); --tag-prefix: #3b49df; --tag-bg-hover: rgba(59, 73, 223, 0.10); --tag-prefix-hover: #3b49df; " href="/t/puma"><span class="crayons-tag__prefix">#</span>puma</a> </div> <div class="crayons-story__bottom"> <div class="crayons-story__details"> <a href="/damuz91/como-desplegar-una-app-de-ruby-on-rails-en-ubuntu-22-f36#comments" class="crayons-btn crayons-btn--s crayons-btn--ghost crayons-btn--icon-left flex items-center" aria-label="Add a comment to post - Cómo desplegar una app de Ruby on Rails en Ubuntu 22"> <svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" role="img" aria-labelledby="absy3e0lvahqw24p3q2flz92mt9nqjy0" class="crayons-icon"><title id="absy3e0lvahqw24p3q2flz92mt9nqjy0">Comments</title><path d="M10.5 5h3a6 6 0 110 12v2.625c-3.75-1.5-9-3.75-9-8.625a6 6 0 016-6zM12 15.5h1.5a4.501 4.501 0 001.722-8.657A4.5 4.5 0 0013.5 6.5h-3A4.5 4.5 0 006 11c0 2.707 1.846 4.475 6 6.36V15.5z"></path></svg> <span class="hidden s:inline">Add Comment</span> </a> </div> <div class="crayons-story__save"> <small class="crayons-story__tertiary fs-xs mr-2"> 6 min read </small> <button type="button" id="article-save-button-2065177" class="c-btn c-btn--icon-alone bookmark-button" data-reactable-id="2065177" data-article-author-id="595008" aria-label="Save post Cómo desplegar una app de Ruby on Rails en Ubuntu 22 to reading list" title="Save post Cómo desplegar una app de Ruby on Rails en Ubuntu 22 to reading list"> <span class="bm-initial"> <svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" aria-hidden="true"><path d="M6.75 4.5h10.5a.75.75 0 01.75.75v14.357a.375.375 0 01-.575.318L12 16.523l-5.426 3.401A.375.375 0 016 19.607V5.25a.75.75 0 01.75-.75zM16.5 6h-9v11.574l4.5-2.82 4.5 2.82V6z"></path></svg> </span> <span class="bm-success"> <svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" aria-hidden="true"><path d="M6.75 4.5h10.5a.75.75 0 01.75.75v14.357a.375.375 0 01-.575.318L12 16.523l-5.426 3.401A.375.375 0 016 19.607V5.25a.75.75 0 01.75-.75z"></path></svg> </span> </button> </div> </div> </div> </div> </div> <div class="crayons-story " data-feed-content-id="2064153" data-content-user-id="2253083"> <a href="/yegorckv/ferrum-doesnt-work-on-heroku-5abm" aria-labelledby="article-link-2064153" class="crayons-story__hidden-navigation-link">Ferrum Doesn’t Work on Heroku?</a> <div class="crayons-story__body"> <div class="crayons-story__top"> <div class="crayons-story__meta"> <div class="crayons-story__author-pic"> <a href="/yegorckv" class="crayons-avatar crayons-avatar--l "> <img src="https://media2.dev.to/dynamic/image/width=90,height=90,fit=cover,gravity=auto,format=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Fuser%2Fprofile_image%2F2253083%2Fe1b0414b-ef25-4b68-8050-1538c8c41f84.jpg" alt="yegorckv profile" class="crayons-avatar__image" loading="lazy" /> </a> </div> <div> <div> <a href="/yegorckv" class="crayons-story__secondary fw-medium m:hidden"> Yegor Chsherbakov </a> <div class="profile-preview-card relative mb-4 s:mb-0 fw-medium hidden m:inline-block"> <button id="story-author-preview-trigger-2064153" aria-controls="story-author-preview-content-2064153" class="profile-preview-card__trigger fs-s p-1 -ml-1 -my-2 crayons-btn crayons-btn--ghost" aria-label="Yegor Chsherbakov profile details"> Yegor Chsherbakov </button> <div id="story-author-preview-content-2064153" class="profile-preview-card__content crayons-dropdown branded-7 p-4 pt-0" style="border-top-color: var(--card-color);" data-repositioning-dropdown="true" data-testid="profile-preview-card"> <div class="gap-4 grid"> <div class="-mt-4"> <a href="/yegorckv" class="flex"> <span class="crayons-avatar crayons-avatar--xl mr-2 shrink-0"> <img src="https://media2.dev.to/dynamic/image/width=90,height=90,fit=cover,gravity=auto,format=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Fuser%2Fprofile_image%2F2253083%2Fe1b0414b-ef25-4b68-8050-1538c8c41f84.jpg" class="crayons-avatar__image" alt="" loading="lazy" /> </span> <span class="crayons-link crayons-subtitle-2 mt-5">Yegor Chsherbakov</span> </a> </div> <div class="print-hidden"> <button class="crayons-btn follow-action-button whitespace-nowrap follow-user w-100" data-info='{"style":"full","id":2253083,"className":"User","name":"Yegor Chsherbakov"}'> Follow </button> </div> <div class="author-preview-metadata-container" data-author-id="2253083"></div> </div> </div> </div> </div> <a href="/yegorckv/ferrum-doesnt-work-on-heroku-5abm" class="crayons-story__tertiary fs-xs"><time datetime="2024-10-29T09:50:36Z">Oct 29</time><span class="time-ago-indicator-initial-placeholder" data-seconds="1730195436"></span></a> </div> </div> </div> <div class="crayons-story__indention"> <h2 class="crayons-story__title"> <a href="/yegorckv/ferrum-doesnt-work-on-heroku-5abm" data-preload-image="" id="article-link-2064153"> Ferrum Doesn’t Work on Heroku? </a> </h2> <div class="crayons-story__tags"> <a class="crayons-tag crayons-tag--monochrome " style=" --tag-bg: rgba(59, 73, 223, 0.10); --tag-prefix: #3b49df; --tag-bg-hover: rgba(59, 73, 223, 0.10); --tag-prefix-hover: #3b49df; " href="/t/ferrum"><span class="crayons-tag__prefix">#</span>ferrum</a> <a class="crayons-tag crayons-tag--monochrome " style=" --tag-bg: rgba(59, 73, 223, 0.10); --tag-prefix: #3b49df; --tag-bg-hover: rgba(59, 73, 223, 0.10); --tag-prefix-hover: #3b49df; " href="/t/pdf"><span class="crayons-tag__prefix">#</span>pdf</a> <a class="crayons-tag crayons-tag--monochrome " style=" --tag-bg: rgba(204, 0, 0, 0.10); --tag-prefix: #cc0000; --tag-bg-hover: rgba(204, 0, 0, 0.10); --tag-prefix-hover: #cc0000; " href="/t/rails"><span class="crayons-tag__prefix">#</span>rails</a> <a class="crayons-tag crayons-tag--monochrome " style=" --tag-bg: rgba(81, 55, 113, 0.10); --tag-prefix: #513771; --tag-bg-hover: rgba(81, 55, 113, 0.10); --tag-prefix-hover: #513771; " href="/t/heroku"><span class="crayons-tag__prefix">#</span>heroku</a> </div> <div class="crayons-story__bottom"> <div class="crayons-story__details"> <a href="/yegorckv/ferrum-doesnt-work-on-heroku-5abm#comments" class="crayons-btn crayons-btn--s crayons-btn--ghost crayons-btn--icon-left flex items-center" aria-label="Add a comment to post - Ferrum Doesn’t Work on Heroku?"> <svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" role="img" aria-labelledby="aa5gjfpnl9iu2attxcshi04bysmyrz7" class="crayons-icon"><title id="aa5gjfpnl9iu2attxcshi04bysmyrz7">Comments</title><path d="M10.5 5h3a6 6 0 110 12v2.625c-3.75-1.5-9-3.75-9-8.625a6 6 0 016-6zM12 15.5h1.5a4.501 4.501 0 001.722-8.657A4.5 4.5 0 0013.5 6.5h-3A4.5 4.5 0 006 11c0 2.707 1.846 4.475 6 6.36V15.5z"></path></svg> 1<span class="hidden s:inline"> comment</span> </a> </div> <div class="crayons-story__save"> <small class="crayons-story__tertiary fs-xs mr-2"> 1 min read </small> <button type="button" id="article-save-button-2064153" class="c-btn c-btn--icon-alone bookmark-button" data-reactable-id="2064153" data-article-author-id="2253083" aria-label="Save post Ferrum Doesn’t Work on Heroku? to reading list" title="Save post Ferrum Doesn’t Work on Heroku? to reading list"> <span class="bm-initial"> <svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" aria-hidden="true"><path d="M6.75 4.5h10.5a.75.75 0 01.75.75v14.357a.375.375 0 01-.575.318L12 16.523l-5.426 3.401A.375.375 0 016 19.607V5.25a.75.75 0 01.75-.75zM16.5 6h-9v11.574l4.5-2.82 4.5 2.82V6z"></path></svg> </span> <span class="bm-success"> <svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" aria-hidden="true"><path d="M6.75 4.5h10.5a.75.75 0 01.75.75v14.357a.375.375 0 01-.575.318L12 16.523l-5.426 3.401A.375.375 0 016 19.607V5.25a.75.75 0 01.75-.75z"></path></svg> </span> </button> </div> </div> </div> </div> </div> <div class="crayons-story " data-feed-content-id="2110940" data-content-user-id="1172988"> <a href="/railsdesigner/dont-expose-primary-ids-with-rails-domid-3e6k" aria-labelledby="article-link-2110940" class="crayons-story__hidden-navigation-link">Don't expose primary id's with Rails' dom_id</a> <div class="crayons-story__body"> <div class="crayons-story__top"> <div class="crayons-story__meta"> <div class="crayons-story__author-pic"> <a href="/railsdesigner" class="crayons-avatar crayons-avatar--l "> <img src="https://media2.dev.to/dynamic/image/width=90,height=90,fit=cover,gravity=auto,format=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Fuser%2Fprofile_image%2F1172988%2F12fc6c7d-f168-4e28-bd6e-fb4d3715b8d5.jpg" alt="railsdesigner profile" class="crayons-avatar__image" loading="lazy" /> </a> </div> <div> <div> <a href="/railsdesigner" class="crayons-story__secondary fw-medium m:hidden"> Rails Designer </a> <div class="profile-preview-card relative mb-4 s:mb-0 fw-medium hidden m:inline-block"> <button id="story-author-preview-trigger-2110940" aria-controls="story-author-preview-content-2110940" class="profile-preview-card__trigger fs-s p-1 -ml-1 -my-2 crayons-btn crayons-btn--ghost" aria-label="Rails Designer profile details"> Rails Designer </button> <div id="story-author-preview-content-2110940" class="profile-preview-card__content crayons-dropdown branded-7 p-4 pt-0" style="border-top-color: var(--card-color);" data-repositioning-dropdown="true" data-testid="profile-preview-card"> <div class="gap-4 grid"> <div class="-mt-4"> <a href="/railsdesigner" class="flex"> <span class="crayons-avatar crayons-avatar--xl mr-2 shrink-0"> <img src="https://media2.dev.to/dynamic/image/width=90,height=90,fit=cover,gravity=auto,format=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Fuser%2Fprofile_image%2F1172988%2F12fc6c7d-f168-4e28-bd6e-fb4d3715b8d5.jpg" class="crayons-avatar__image" alt="" loading="lazy" /> </span> <span class="crayons-link crayons-subtitle-2 mt-5">Rails Designer</span> </a> </div> <div class="print-hidden"> <button class="crayons-btn follow-action-button whitespace-nowrap follow-user w-100" data-info='{"style":"full","id":1172988,"className":"User","name":"Rails Designer"}'> Follow </button> </div> <div class="author-preview-metadata-container" data-author-id="1172988"></div> </div> </div> </div> </div> <a href="/railsdesigner/dont-expose-primary-ids-with-rails-domid-3e6k" class="crayons-story__tertiary fs-xs"><time datetime="2024-11-20T21:00:00Z">Nov 20</time><span class="time-ago-indicator-initial-placeholder" data-seconds="1732136400"></span></a> </div> </div> </div> <div class="crayons-story__indention"> <h2 class="crayons-story__title"> <a href="/railsdesigner/dont-expose-primary-ids-with-rails-domid-3e6k" data-preload-image="" id="article-link-2110940"> Don't expose primary id's with Rails' dom_id </a> </h2> <div class="crayons-story__tags"> <a class="crayons-tag crayons-tag--monochrome " style=" --tag-bg: rgba(204, 0, 0, 0.10); --tag-prefix: #cc0000; --tag-bg-hover: rgba(204, 0, 0, 0.10); --tag-prefix-hover: #cc0000; " href="/t/rails"><span class="crayons-tag__prefix">#</span>rails</a> <a class="crayons-tag crayons-tag--monochrome " style=" --tag-bg: rgba(204, 52, 45, 0.10); --tag-prefix: #CC342D; --tag-bg-hover: rgba(204, 52, 45, 0.10); --tag-prefix-hover: #CC342D; " href="/t/ruby"><span class="crayons-tag__prefix">#</span>ruby</a> <a class="crayons-tag crayons-tag--monochrome " style=" --tag-bg: rgba(86, 39, 101, 0.10); --tag-prefix: #562765; --tag-bg-hover: rgba(86, 39, 101, 0.10); --tag-prefix-hover: #562765; " href="/t/webdev"><span class="crayons-tag__prefix">#</span>webdev</a> </div> <div class="crayons-story__bottom"> <div class="crayons-story__details"> <a href="/railsdesigner/dont-expose-primary-ids-with-rails-domid-3e6k" class="crayons-btn crayons-btn--s crayons-btn--ghost crayons-btn--icon-left" data-reaction-count data-reactable-id="2110940" aria-label="Add a comment to post - Don't expose primary id's with Rails' dom_id"> <div class="multiple_reactions_aggregate"> <span class="multiple_reactions_icons_container" dir="rtl"> <span class="crayons_icon_container"> <img src="https://assets.dev.to/assets/sparkle-heart-5f9bee3767e18deb1bb725290cb151c25234768a0e9a2bd39370c382d02920cf.svg" width="18" height="18" /> </span> </span> <span class="aggregate_reactions_counter">5<span class="hidden s:inline"> reactions</span></span> </div> </a> <a href="/railsdesigner/dont-expose-primary-ids-with-rails-domid-3e6k#comments" class="crayons-btn crayons-btn--s crayons-btn--ghost crayons-btn--icon-left flex items-center" aria-label="Add a comment to post - Don't expose primary id's with Rails' dom_id"> <svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" role="img" aria-labelledby="ae3iw1xrx55chxmyb36njril77hb7vyb" class="crayons-icon"><title id="ae3iw1xrx55chxmyb36njril77hb7vyb">Comments</title><path d="M10.5 5h3a6 6 0 110 12v2.625c-3.75-1.5-9-3.75-9-8.625a6 6 0 016-6zM12 15.5h1.5a4.501 4.501 0 001.722-8.657A4.5 4.5 0 0013.5 6.5h-3A4.5 4.5 0 006 11c0 2.707 1.846 4.475 6 6.36V15.5z"></path></svg> 1<span class="hidden s:inline"> comment</span> </a> </div> <div class="crayons-story__save"> <small class="crayons-story__tertiary fs-xs mr-2"> 1 min read </small> <button type="button" id="article-save-button-2110940" class="c-btn c-btn--icon-alone bookmark-button" data-reactable-id="2110940" data-article-author-id="1172988" aria-label="Save post Don't expose primary id's with Rails' dom_id to reading list" title="Save post Don't expose primary id's with Rails' dom_id to reading list"> <span class="bm-initial"> <svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" aria-hidden="true"><path d="M6.75 4.5h10.5a.75.75 0 01.75.75v14.357a.375.375 0 01-.575.318L12 16.523l-5.426 3.401A.375.375 0 016 19.607V5.25a.75.75 0 01.75-.75zM16.5 6h-9v11.574l4.5-2.82 4.5 2.82V6z"></path></svg> </span> <span class="bm-success"> <svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" aria-hidden="true"><path d="M6.75 4.5h10.5a.75.75 0 01.75.75v14.357a.375.375 0 01-.575.318L12 16.523l-5.426 3.401A.375.375 0 016 19.607V5.25a.75.75 0 01.75-.75z"></path></svg> </span> </button> </div> </div> </div> </div> </div> <div class="crayons-story " data-feed-content-id="2112867" data-content-user-id="1537157"> <a href="/ritumka/how-to-easily-add-a-favicon-to-your-rails-app-1poo" aria-labelledby="article-link-2112867" class="crayons-story__hidden-navigation-link">How to easily add a favicon to your Rails App ✨</a> <div class="crayons-story__body"> <div class="crayons-story__top"> <div class="crayons-story__meta"> <div class="crayons-story__author-pic"> <a href="/ritumka" class="crayons-avatar crayons-avatar--l "> <img src="https://media2.dev.to/dynamic/image/width=90,height=90,fit=cover,gravity=auto,format=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Fuser%2Fprofile_image%2F1537157%2Faa1ce0cd-3207-4dcd-af0d-af1d984c22b1.jpeg" alt="ritumka profile" class="crayons-avatar__image" loading="lazy" /> </a> </div> <div> <div> <a href="/ritumka" class="crayons-story__secondary fw-medium m:hidden"> Margarita Potylitsyna </a> <div class="profile-preview-card relative mb-4 s:mb-0 fw-medium hidden m:inline-block"> <button id="story-author-preview-trigger-2112867" aria-controls="story-author-preview-content-2112867" class="profile-preview-card__trigger fs-s p-1 -ml-1 -my-2 crayons-btn crayons-btn--ghost" aria-label="Margarita Potylitsyna profile details"> Margarita Potylitsyna </button> <div id="story-author-preview-content-2112867" class="profile-preview-card__content crayons-dropdown branded-7 p-4 pt-0" style="border-top-color: var(--card-color);" data-repositioning-dropdown="true" data-testid="profile-preview-card"> <div class="gap-4 grid"> <div class="-mt-4"> <a href="/ritumka" class="flex"> <span class="crayons-avatar crayons-avatar--xl mr-2 shrink-0"> <img src="https://media2.dev.to/dynamic/image/width=90,height=90,fit=cover,gravity=auto,format=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Fuser%2Fprofile_image%2F1537157%2Faa1ce0cd-3207-4dcd-af0d-af1d984c22b1.jpeg" class="crayons-avatar__image" alt="" loading="lazy" /> </span> <span class="crayons-link crayons-subtitle-2 mt-5">Margarita Potylitsyna</span> </a> </div> <div class="print-hidden"> <button class="crayons-btn follow-action-button whitespace-nowrap follow-user w-100" data-info='{"style":"full","id":1537157,"className":"User","name":"Margarita Potylitsyna"}'> Follow </button> </div> <div class="author-preview-metadata-container" data-author-id="1537157"></div> </div> </div> </div> </div> <a href="/ritumka/how-to-easily-add-a-favicon-to-your-rails-app-1poo" class="crayons-story__tertiary fs-xs"><time datetime="2024-11-20T01:41:55Z">Nov 20</time><span class="time-ago-indicator-initial-placeholder" data-seconds="1732066915"></span></a> </div> </div> </div> <div class="crayons-story__indention"> <h2 class="crayons-story__title"> <a href="/ritumka/how-to-easily-add-a-favicon-to-your-rails-app-1poo" data-preload-image="https://media2.dev.to/dynamic/image/width=1000,height=420,fit=cover,gravity=auto,format=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Filcy1jr7nu0terj47aug.gif" id="article-link-2112867"> How to easily add a favicon to your Rails App ✨ </a> </h2> <div class="crayons-story__tags"> <a class="crayons-tag crayons-tag--monochrome " style=" --tag-bg: rgba(204, 52, 45, 0.10); --tag-prefix: #CC342D; --tag-bg-hover: rgba(204, 52, 45, 0.10); --tag-prefix-hover: #CC342D; " href="/t/ruby"><span class="crayons-tag__prefix">#</span>ruby</a> <a class="crayons-tag crayons-tag--monochrome " style=" --tag-bg: rgba(204, 0, 0, 0.10); --tag-prefix: #cc0000; --tag-bg-hover: rgba(204, 0, 0, 0.10); --tag-prefix-hover: #cc0000; " href="/t/rails"><span class="crayons-tag__prefix">#</span>rails</a> <a class="crayons-tag crayons-tag--monochrome " style=" --tag-bg: rgba(59, 73, 223, 0.10); --tag-prefix: #3b49df; --tag-bg-hover: rgba(59, 73, 223, 0.10); --tag-prefix-hover: #3b49df; " href="/t/favicon"><span class="crayons-tag__prefix">#</span>favicon</a> <a class="crayons-tag crayons-tag--monochrome " style=" --tag-bg: rgba(86, 39, 101, 0.10); --tag-prefix: #562765; --tag-bg-hover: rgba(86, 39, 101, 0.10); --tag-prefix-hover: #562765; " href="/t/webdev"><span class="crayons-tag__prefix">#</span>webdev</a> </div> <div class="crayons-story__bottom"> <div class="crayons-story__details"> <a href="/ritumka/how-to-easily-add-a-favicon-to-your-rails-app-1poo" class="crayons-btn crayons-btn--s crayons-btn--ghost crayons-btn--icon-left" data-reaction-count data-reactable-id="2112867" aria-label="Add a comment to post - How to easily add a favicon to your Rails App ✨"> <div class="multiple_reactions_aggregate"> <span class="multiple_reactions_icons_container" dir="rtl"> <span class="crayons_icon_container"> <img src="https://assets.dev.to/assets/fire-f60e7a582391810302117f987b22a8ef04a2fe0df7e3258a5f49332df1cec71e.svg" width="18" height="18" /> </span> <span class="crayons_icon_container"> <img src="https://assets.dev.to/assets/multi-unicorn-b44d6f8c23cdd00964192bedc38af3e82463978aa611b4365bd33a0f1f4f3e97.svg" width="18" height="18" /> </span> <span class="crayons_icon_container"> <img src="https://assets.dev.to/assets/sparkle-heart-5f9bee3767e18deb1bb725290cb151c25234768a0e9a2bd39370c382d02920cf.svg" width="18" height="18" /> </span> </span> <span class="aggregate_reactions_counter">9<span class="hidden s:inline"> reactions</span></span> </div> </a> <a href="/ritumka/how-to-easily-add-a-favicon-to-your-rails-app-1poo#comments" class="crayons-btn crayons-btn--s crayons-btn--ghost crayons-btn--icon-left flex items-center" aria-label="Add a comment to post - How to easily add a favicon to your Rails App ✨"> <svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" role="img" aria-labelledby="aax2924dftesu7tonpdkkz7z1crpel26" class="crayons-icon"><title id="aax2924dftesu7tonpdkkz7z1crpel26">Comments</title><path d="M10.5 5h3a6 6 0 110 12v2.625c-3.75-1.5-9-3.75-9-8.625a6 6 0 016-6zM12 15.5h1.5a4.501 4.501 0 001.722-8.657A4.5 4.5 0 0013.5 6.5h-3A4.5 4.5 0 006 11c0 2.707 1.846 4.475 6 6.36V15.5z"></path></svg> 1<span class="hidden s:inline"> comment</span> </a> </div> <div class="crayons-story__save"> <small class="crayons-story__tertiary fs-xs mr-2"> 1 min read </small> <button type="button" id="article-save-button-2112867" class="c-btn c-btn--icon-alone bookmark-button" data-reactable-id="2112867" data-article-author-id="1537157" aria-label="Save post How to easily add a favicon to your Rails App ✨ to reading list" title="Save post How to easily add a favicon to your Rails App ✨ to reading list"> <span class="bm-initial"> <svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" aria-hidden="true"><path d="M6.75 4.5h10.5a.75.75 0 01.75.75v14.357a.375.375 0 01-.575.318L12 16.523l-5.426 3.401A.375.375 0 016 19.607V5.25a.75.75 0 01.75-.75zM16.5 6h-9v11.574l4.5-2.82 4.5 2.82V6z"></path></svg> </span> <span class="bm-success"> <svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" aria-hidden="true"><path d="M6.75 4.5h10.5a.75.75 0 01.75.75v14.357a.375.375 0 01-.575.318L12 16.523l-5.426 3.401A.375.375 0 016 19.607V5.25a.75.75 0 01.75-.75z"></path></svg> </span> </button> </div> </div> </div> </div> </div> <div class="crayons-story " data-feed-content-id="2113798" data-content-user-id="917205"> <a href="/chmich/system-testing-1014" aria-labelledby="article-link-2113798" class="crayons-story__hidden-navigation-link">System Testing</a> <div class="crayons-story__body"> <div class="crayons-story__top"> <div class="crayons-story__meta"> <div class="crayons-story__author-pic"> <a href="/chmich" class="crayons-avatar crayons-avatar--l "> <img src="https://media2.dev.to/dynamic/image/width=90,height=90,fit=cover,gravity=auto,format=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Fuser%2Fprofile_image%2F917205%2Fcb6852d0-96a1-4526-b909-f303b0b802b4.jpeg" alt="chmich profile" class="crayons-avatar__image" loading="lazy" /> </a> </div> <div> <div> <a href="/chmich" class="crayons-story__secondary fw-medium m:hidden"> Christian Sedlmair </a> <div class="profile-preview-card relative mb-4 s:mb-0 fw-medium hidden m:inline-block"> <button id="story-author-preview-trigger-2113798" aria-controls="story-author-preview-content-2113798" class="profile-preview-card__trigger fs-s p-1 -ml-1 -my-2 crayons-btn crayons-btn--ghost" aria-label="Christian Sedlmair profile details"> Christian Sedlmair </button> <div id="story-author-preview-content-2113798" class="profile-preview-card__content crayons-dropdown branded-7 p-4 pt-0" style="border-top-color: var(--card-color);" data-repositioning-dropdown="true" data-testid="profile-preview-card"> <div class="gap-4 grid"> <div class="-mt-4"> <a href="/chmich" class="flex"> <span class="crayons-avatar crayons-avatar--xl mr-2 shrink-0"> <img src="https://media2.dev.to/dynamic/image/width=90,height=90,fit=cover,gravity=auto,format=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Fuser%2Fprofile_image%2F917205%2Fcb6852d0-96a1-4526-b909-f303b0b802b4.jpeg" class="crayons-avatar__image" alt="" loading="lazy" /> </span> <span class="crayons-link crayons-subtitle-2 mt-5">Christian Sedlmair</span> </a> </div> <div class="print-hidden"> <button class="crayons-btn follow-action-button whitespace-nowrap follow-user w-100" data-info='{"style":"full","id":917205,"className":"User","name":"Christian Sedlmair"}'> Follow </button> </div> <div class="author-preview-metadata-container" data-author-id="917205"></div> </div> </div> </div> </div> <a href="/chmich/system-testing-1014" class="crayons-story__tertiary fs-xs"><time datetime="2024-11-20T13:44:10Z">Nov 20</time><span class="time-ago-indicator-initial-placeholder" data-seconds="1732110250"></span></a> </div> </div> </div> <div class="crayons-story__indention"> <h2 class="crayons-story__title"> <a href="/chmich/system-testing-1014" data-preload-image="" id="article-link-2113798"> System Testing </a> </h2> <div class="crayons-story__tags"> <a class="crayons-tag crayons-tag--monochrome " style=" --tag-bg: rgba(29, 141, 34, 0.10); --tag-prefix: #1d8d22; --tag-bg-hover: rgba(29, 141, 34, 0.10); --tag-prefix-hover: #1d8d22; " href="/t/playwright"><span class="crayons-tag__prefix">#</span>playwright</a> <a class="crayons-tag crayons-tag--monochrome " style=" --tag-bg: rgba(204, 0, 0, 0.10); --tag-prefix: #cc0000; --tag-bg-hover: rgba(204, 0, 0, 0.10); --tag-prefix-hover: #cc0000; " href="/t/rails"><span class="crayons-tag__prefix">#</span>rails</a> <a class="crayons-tag crayons-tag--monochrome " style=" --tag-bg: rgba(247, 223, 30, 0.10); --tag-prefix: #f7df1e; --tag-bg-hover: rgba(247, 223, 30, 0.10); --tag-prefix-hover: #f7df1e; " href="/t/javascript"><span class="crayons-tag__prefix">#</span>javascript</a> </div> <div class="crayons-story__bottom"> <div class="crayons-story__details"> <a href="/chmich/system-testing-1014#comments" class="crayons-btn crayons-btn--s crayons-btn--ghost crayons-btn--icon-left flex items-center" aria-label="Add a comment to post - System Testing"> <svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" role="img" aria-labelledby="a9y0p5f9znx4vgv8mhfl3mqhpmqp96xq" class="crayons-icon"><title id="a9y0p5f9znx4vgv8mhfl3mqhpmqp96xq">Comments</title><path d="M10.5 5h3a6 6 0 110 12v2.625c-3.75-1.5-9-3.75-9-8.625a6 6 0 016-6zM12 15.5h1.5a4.501 4.501 0 001.722-8.657A4.5 4.5 0 0013.5 6.5h-3A4.5 4.5 0 006 11c0 2.707 1.846 4.475 6 6.36V15.5z"></path></svg> <span class="hidden s:inline">Add Comment</span> </a> </div> <div class="crayons-story__save"> <small class="crayons-story__tertiary fs-xs mr-2"> 2 min read </small> <button type="button" id="article-save-button-2113798" class="c-btn c-btn--icon-alone bookmark-button" data-reactable-id="2113798" data-article-author-id="917205" aria-label="Save post System Testing to reading list" title="Save post System Testing to reading list"> <span class="bm-initial"> <svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" aria-hidden="true"><path d="M6.75 4.5h10.5a.75.75 0 01.75.75v14.357a.375.375 0 01-.575.318L12 16.523l-5.426 3.401A.375.375 0 016 19.607V5.25a.75.75 0 01.75-.75zM16.5 6h-9v11.574l4.5-2.82 4.5 2.82V6z"></path></svg> </span> <span class="bm-success"> <svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" aria-hidden="true"><path d="M6.75 4.5h10.5a.75.75 0 01.75.75v14.357a.375.375 0 01-.575.318L12 16.523l-5.426 3.401A.375.375 0 016 19.607V5.25a.75.75 0 01.75-.75z"></path></svg> </span> </button> </div> </div> </div> </div> </div> <div class="crayons-story " data-feed-content-id="2111100" data-content-user-id="795109"> <a href="/alexandrecalaca/how-to-clean-up-repetitive-keys-in-htmlerb-templates-1c8b" aria-labelledby="article-link-2111100" class="crayons-story__hidden-navigation-link">How to clean up repetitive keys in .html.erb templates?</a> <div class="crayons-story__body"> <div class="crayons-story__top"> <div class="crayons-story__meta"> <div class="crayons-story__author-pic"> <a href="/alexandrecalaca" class="crayons-avatar crayons-avatar--l "> <img src="https://media2.dev.to/dynamic/image/width=90,height=90,fit=cover,gravity=auto,format=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Fuser%2Fprofile_image%2F795109%2F9bf23429-1053-4890-909d-96e25f3a7327.jpeg" alt="alexandrecalaca profile" class="crayons-avatar__image" loading="lazy" /> </a> </div> <div> <div> <a href="/alexandrecalaca" class="crayons-story__secondary fw-medium m:hidden"> Alexandre Calaça </a> <div class="profile-preview-card relative mb-4 s:mb-0 fw-medium hidden m:inline-block"> <button id="story-author-preview-trigger-2111100" aria-controls="story-author-preview-content-2111100" class="profile-preview-card__trigger fs-s p-1 -ml-1 -my-2 crayons-btn crayons-btn--ghost" aria-label="Alexandre Calaça profile details"> Alexandre Calaça </button> <div id="story-author-preview-content-2111100" class="profile-preview-card__content crayons-dropdown branded-7 p-4 pt-0" style="border-top-color: var(--card-color);" data-repositioning-dropdown="true" data-testid="profile-preview-card"> <div class="gap-4 grid"> <div class="-mt-4"> <a href="/alexandrecalaca" class="flex"> <span class="crayons-avatar crayons-avatar--xl mr-2 shrink-0"> <img src="https://media2.dev.to/dynamic/image/width=90,height=90,fit=cover,gravity=auto,format=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Fuser%2Fprofile_image%2F795109%2F9bf23429-1053-4890-909d-96e25f3a7327.jpeg" class="crayons-avatar__image" alt="" loading="lazy" /> </span> <span class="crayons-link crayons-subtitle-2 mt-5">Alexandre Calaça</span> </a> </div> <div class="print-hidden"> <button class="crayons-btn follow-action-button whitespace-nowrap follow-user w-100" data-info='{"style":"full","id":795109,"className":"User","name":"Alexandre Calaça"}'> Follow </button> </div> <div class="author-preview-metadata-container" data-author-id="795109"></div> </div> </div> </div> </div> <a href="/alexandrecalaca/how-to-clean-up-repetitive-keys-in-htmlerb-templates-1c8b" class="crayons-story__tertiary fs-xs"><time datetime="2024-11-18T20:40:55Z">Nov 18</time><span class="time-ago-indicator-initial-placeholder" data-seconds="1731962455"></span></a> </div> </div> </div> <div class="crayons-story__indention"> <h2 class="crayons-story__title"> <a href="/alexandrecalaca/how-to-clean-up-repetitive-keys-in-htmlerb-templates-1c8b" data-preload-image="https://media2.dev.to/dynamic/image/width=1000,height=420,fit=cover,gravity=auto,format=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fhlfp70i855vdtzhwf481.png" id="article-link-2111100"> How to clean up repetitive keys in .html.erb templates? </a> </h2> <div class="crayons-story__tags"> <a class="crayons-tag crayons-tag--monochrome " style=" --tag-bg: rgba(86, 39, 101, 0.10); --tag-prefix: #562765; --tag-bg-hover: rgba(86, 39, 101, 0.10); --tag-prefix-hover: #562765; " href="/t/webdev"><span class="crayons-tag__prefix">#</span>webdev</a> <a class="crayons-tag crayons-tag--monochrome " style=" --tag-bg: rgba(204, 52, 45, 0.10); --tag-prefix: #CC342D; --tag-bg-hover: rgba(204, 52, 45, 0.10); --tag-prefix-hover: #CC342D; " href="/t/ruby"><span class="crayons-tag__prefix">#</span>ruby</a> <a class="crayons-tag crayons-tag--monochrome " style=" --tag-bg: rgba(204, 0, 0, 0.10); --tag-prefix: #cc0000; --tag-bg-hover: rgba(204, 0, 0, 0.10); --tag-prefix-hover: #cc0000; " href="/t/rails"><span class="crayons-tag__prefix">#</span>rails</a> <a class="crayons-tag crayons-tag--monochrome " style=" --tag-bg: rgba(59, 73, 223, 0.10); --tag-prefix: #3b49df; --tag-bg-hover: rgba(59, 73, 223, 0.10); --tag-prefix-hover: #3b49df; " href="/t/alexandrecalaca"><span class="crayons-tag__prefix">#</span>alexandrecalaca</a> </div> <div class="crayons-story__bottom"> <div class="crayons-story__details"> <a href="/alexandrecalaca/how-to-clean-up-repetitive-keys-in-htmlerb-templates-1c8b#comments" class="crayons-btn crayons-btn--s crayons-btn--ghost crayons-btn--icon-left flex items-center" aria-label="Add a comment to post - How to clean up repetitive keys in .html.erb templates?"> <svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" role="img" aria-labelledby="amlnzwsa4f8mabmtcl7vtaf0pv9n6lv3" class="crayons-icon"><title id="amlnzwsa4f8mabmtcl7vtaf0pv9n6lv3">Comments</title><path d="M10.5 5h3a6 6 0 110 12v2.625c-3.75-1.5-9-3.75-9-8.625a6 6 0 016-6zM12 15.5h1.5a4.501 4.501 0 001.722-8.657A4.5 4.5 0 0013.5 6.5h-3A4.5 4.5 0 006 11c0 2.707 1.846 4.475 6 6.36V15.5z"></path></svg> 2<span class="hidden s:inline"> comments</span> </a> </div> <div class="crayons-story__save"> <small class="crayons-story__tertiary fs-xs mr-2"> 2 min read </small> <button type="button" id="article-save-button-2111100" class="c-btn c-btn--icon-alone bookmark-button" data-reactable-id="2111100" data-article-author-id="795109" aria-label="Save post How to clean up repetitive keys in .html.erb templates? to reading list" title="Save post How to clean up repetitive keys in .html.erb templates? to reading list"> <span class="bm-initial"> <svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" aria-hidden="true"><path d="M6.75 4.5h10.5a.75.75 0 01.75.75v14.357a.375.375 0 01-.575.318L12 16.523l-5.426 3.401A.375.375 0 016 19.607V5.25a.75.75 0 01.75-.75zM16.5 6h-9v11.574l4.5-2.82 4.5 2.82V6z"></path></svg> </span> <span class="bm-success"> <svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" aria-hidden="true"><path d="M6.75 4.5h10.5a.75.75 0 01.75.75v14.357a.375.375 0 01-.575.318L12 16.523l-5.426 3.401A.375.375 0 016 19.607V5.25a.75.75 0 01.75-.75z"></path></svg> </span> </button> </div> </div> </div> </div> </div> <div class="crayons-story " data-feed-content-id="2058573" data-content-user-id="761596"> <a href="/crespire/one-year-of-toronto-ruby-147" aria-labelledby="article-link-2058573" class="crayons-story__hidden-navigation-link">One Year of Toronto Ruby</a> <div class="crayons-story__body"> <div class="crayons-story__top"> <div class="crayons-story__meta"> <div class="crayons-story__author-pic"> <a href="/crespire" class="crayons-avatar crayons-avatar--l "> <img src="https://media2.dev.to/dynamic/image/width=90,height=90,fit=cover,gravity=auto,format=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Fuser%2Fprofile_image%2F761596%2F7c432c71-f294-4b80-a365-ed0f16c39fc4.jpg" alt="crespire profile" class="crayons-avatar__image" loading="lazy" /> </a> </div> <div> <div> <a href="/crespire" class="crayons-story__secondary fw-medium m:hidden"> crespire </a> <div class="profile-preview-card relative mb-4 s:mb-0 fw-medium hidden m:inline-block"> <button id="story-author-preview-trigger-2058573" aria-controls="story-author-preview-content-2058573" class="profile-preview-card__trigger fs-s p-1 -ml-1 -my-2 crayons-btn crayons-btn--ghost" aria-label="crespire profile details"> crespire </button> <div id="story-author-preview-content-2058573" class="profile-preview-card__content crayons-dropdown branded-7 p-4 pt-0" style="border-top-color: var(--card-color);" data-repositioning-dropdown="true" data-testid="profile-preview-card"> <div class="gap-4 grid"> <div class="-mt-4"> <a href="/crespire" class="flex"> <span class="crayons-avatar crayons-avatar--xl mr-2 shrink-0"> <img src="https://media2.dev.to/dynamic/image/width=90,height=90,fit=cover,gravity=auto,format=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Fuser%2Fprofile_image%2F761596%2F7c432c71-f294-4b80-a365-ed0f16c39fc4.jpg" class="crayons-avatar__image" alt="" loading="lazy" /> </span> <span class="crayons-link crayons-subtitle-2 mt-5">crespire</span> </a> </div> <div class="print-hidden"> <button class="crayons-btn follow-action-button whitespace-nowrap follow-user w-100" data-info='{"style":"full","id":761596,"className":"User","name":"crespire"}'> Follow </button> </div> <div class="author-preview-metadata-container" data-author-id="761596"></div> </div> </div> </div> </div> <a href="/crespire/one-year-of-toronto-ruby-147" class="crayons-story__tertiary fs-xs"><time datetime="2024-10-26T01:48:48Z">Oct 26</time><span class="time-ago-indicator-initial-placeholder" data-seconds="1729907328"></span></a> </div> </div> </div> <div class="crayons-story__indention"> <h2 class="crayons-story__title"> <a href="/crespire/one-year-of-toronto-ruby-147" data-preload-image="" id="article-link-2058573"> One Year of Toronto Ruby </a> </h2> <div class="crayons-story__tags"> <a class="crayons-tag crayons-tag--monochrome " style=" --tag-bg: rgba(204, 52, 45, 0.10); --tag-prefix: #CC342D; --tag-bg-hover: rgba(204, 52, 45, 0.10); --tag-prefix-hover: #CC342D; " href="/t/ruby"><span class="crayons-tag__prefix">#</span>ruby</a> <a class="crayons-tag crayons-tag--monochrome " style=" --tag-bg: rgba(204, 0, 0, 0.10); --tag-prefix: #cc0000; --tag-bg-hover: rgba(204, 0, 0, 0.10); --tag-prefix-hover: #cc0000; " href="/t/rails"><span class="crayons-tag__prefix">#</span>rails</a> <a class="crayons-tag crayons-tag--monochrome " style=" --tag-bg: rgba(59, 73, 223, 0.10); --tag-prefix: #3b49df; --tag-bg-hover: rgba(59, 73, 223, 0.10); --tag-prefix-hover: #3b49df; " href="/t/meetups"><span class="crayons-tag__prefix">#</span>meetups</a> </div> <div class="crayons-story__bottom"> <div class="crayons-story__details"> <a href="/crespire/one-year-of-toronto-ruby-147#comments" class="crayons-btn crayons-btn--s crayons-btn--ghost crayons-btn--icon-left flex items-center" aria-label="Add a comment to post - One Year of Toronto Ruby"> <svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" role="img" aria-labelledby="abtzymg0ynmxur2jtlir5nkxp7giioej" class="crayons-icon"><title id="abtzymg0ynmxur2jtlir5nkxp7giioej">Comments</title><path d="M10.5 5h3a6 6 0 110 12v2.625c-3.75-1.5-9-3.75-9-8.625a6 6 0 016-6zM12 15.5h1.5a4.501 4.501 0 001.722-8.657A4.5 4.5 0 0013.5 6.5h-3A4.5 4.5 0 006 11c0 2.707 1.846 4.475 6 6.36V15.5z"></path></svg> <span class="hidden s:inline">Add Comment</span> </a> </div> <div class="crayons-story__save"> <small class="crayons-story__tertiary fs-xs mr-2"> 2 min read </small> <button type="button" id="article-save-button-2058573" class="c-btn c-btn--icon-alone bookmark-button" data-reactable-id="2058573" data-article-author-id="761596" aria-label="Save post One Year of Toronto Ruby to reading list" title="Save post One Year of Toronto Ruby to reading list"> <span class="bm-initial"> <svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" aria-hidden="true"><path d="M6.75 4.5h10.5a.75.75 0 01.75.75v14.357a.375.375 0 01-.575.318L12 16.523l-5.426 3.401A.375.375 0 016 19.607V5.25a.75.75 0 01.75-.75zM16.5 6h-9v11.574l4.5-2.82 4.5 2.82V6z"></path></svg> </span> <span class="bm-success"> <svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" aria-hidden="true"><path d="M6.75 4.5h10.5a.75.75 0 01.75.75v14.357a.375.375 0 01-.575.318L12 16.523l-5.426 3.401A.375.375 0 016 19.607V5.25a.75.75 0 01.75-.75z"></path></svg> </span> </button> </div> </div> </div> </div> </div> <div class="crayons-story " data-feed-content-id="2015100" data-content-user-id="2126967"> <a href="/pepito2k/capybara-debugging-your-specs-with-saveandopenscreenshot-method-1lhi" aria-labelledby="article-link-2015100" class="crayons-story__hidden-navigation-link">Capybara: Debugging Your Specs with save_and_open_screenshot Method</a> <div class="crayons-story__body"> <div class="crayons-story__top"> <div class="crayons-story__meta"> <div class="crayons-story__author-pic"> <a href="/pepito2k" class="crayons-avatar crayons-avatar--l "> <img src="https://media2.dev.to/dynamic/image/width=90,height=90,fit=cover,gravity=auto,format=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Fuser%2Fprofile_image%2F2126967%2F8a632759-8365-4c1d-ae4c-aa2b71ef6c3a.jpg" alt="pepito2k profile" class="crayons-avatar__image" loading="lazy" /> </a> </div> <div> <div> <a href="/pepito2k" class="crayons-story__secondary fw-medium m:hidden"> Gonzalo Robaina </a> <div class="profile-preview-card relative mb-4 s:mb-0 fw-medium hidden m:inline-block"> <button id="story-author-preview-trigger-2015100" aria-controls="story-author-preview-content-2015100" class="profile-preview-card__trigger fs-s p-1 -ml-1 -my-2 crayons-btn crayons-btn--ghost" aria-label="Gonzalo Robaina profile details"> Gonzalo Robaina </button> <div id="story-author-preview-content-2015100" class="profile-preview-card__content crayons-dropdown branded-7 p-4 pt-0" style="border-top-color: var(--card-color);" data-repositioning-dropdown="true" data-testid="profile-preview-card"> <div class="gap-4 grid"> <div class="-mt-4"> <a href="/pepito2k" class="flex"> <span class="crayons-avatar crayons-avatar--xl mr-2 shrink-0"> <img src="https://media2.dev.to/dynamic/image/width=90,height=90,fit=cover,gravity=auto,format=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Fuser%2Fprofile_image%2F2126967%2F8a632759-8365-4c1d-ae4c-aa2b71ef6c3a.jpg" class="crayons-avatar__image" alt="" loading="lazy" /> </span> <span class="crayons-link crayons-subtitle-2 mt-5">Gonzalo Robaina</span> </a> </div> <div class="print-hidden"> <button class="crayons-btn follow-action-button whitespace-nowrap follow-user w-100" data-info='{"style":"full","id":2126967,"className":"User","name":"Gonzalo Robaina"}'> Follow </button> </div> <div class="author-preview-metadata-container" data-author-id="2126967"></div> </div> </div> </div> </div> <a href="/pepito2k/capybara-debugging-your-specs-with-saveandopenscreenshot-method-1lhi" class="crayons-story__tertiary fs-xs"><time datetime="2024-10-25T14:45:28Z">Oct 25</time><span class="time-ago-indicator-initial-placeholder" data-seconds="1729867528"></span></a> </div> </div> </div> <div class="crayons-story__indention"> <h2 class="crayons-story__title"> <a href="/pepito2k/capybara-debugging-your-specs-with-saveandopenscreenshot-method-1lhi" data-preload-image="https://media2.dev.to/dynamic/image/width=1000,height=420,fit=cover,gravity=auto,format=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Flic6b3yv76u9yotk1uwu.png" id="article-link-2015100"> Capybara: Debugging Your Specs with save_and_open_screenshot Method </a> </h2> <div class="crayons-story__tags"> <a class="crayons-tag crayons-tag--monochrome " style=" --tag-bg: rgba(204, 0, 0, 0.10); --tag-prefix: #cc0000; --tag-bg-hover: rgba(204, 0, 0, 0.10); --tag-prefix-hover: #cc0000; " href="/t/rails"><span class="crayons-tag__prefix">#</span>rails</a> <a class="crayons-tag crayons-tag--monochrome " style=" --tag-bg: rgba(204, 52, 45, 0.10); --tag-prefix: #CC342D; --tag-bg-hover: rgba(204, 52, 45, 0.10); --tag-prefix-hover: #CC342D; " href="/t/ruby"><span class="crayons-tag__prefix">#</span>ruby</a> <a class="crayons-tag crayons-tag--monochrome " style=" --tag-bg: rgba(1, 155, 101, 0.10); --tag-prefix: #019b65; --tag-bg-hover: rgba(1, 155, 101, 0.10); --tag-prefix-hover: #019b65; " href="/t/testing"><span class="crayons-tag__prefix">#</span>testing</a> </div> <div class="crayons-story__bottom"> <div class="crayons-story__details"> <a href="/pepito2k/capybara-debugging-your-specs-with-saveandopenscreenshot-method-1lhi#comments" class="crayons-btn crayons-btn--s crayons-btn--ghost crayons-btn--icon-left flex items-center" aria-label="Add a comment to post - Capybara: Debugging Your Specs with save_and_open_screenshot Method"> <svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" role="img" aria-labelledby="a9i2jr14tfvcoij3l2xdti2uzr5rn8ik" class="crayons-icon"><title id="a9i2jr14tfvcoij3l2xdti2uzr5rn8ik">Comments</title><path d="M10.5 5h3a6 6 0 110 12v2.625c-3.75-1.5-9-3.75-9-8.625a6 6 0 016-6zM12 15.5h1.5a4.501 4.501 0 001.722-8.657A4.5 4.5 0 0013.5 6.5h-3A4.5 4.5 0 006 11c0 2.707 1.846 4.475 6 6.36V15.5z"></path></svg> <span class="hidden s:inline">Add Comment</span> </a> </div> <div class="crayons-story__save"> <small class="crayons-story__tertiary fs-xs mr-2"> 2 min read </small> <button type="button" id="article-save-button-2015100" class="c-btn c-btn--icon-alone bookmark-button" data-reactable-id="2015100" data-article-author-id="2126967" aria-label="Save post Capybara: Debugging Your Specs with save_and_open_screenshot Method to reading list" title="Save post Capybara: Debugging Your Specs with save_and_open_screenshot Method to reading list"> <span class="bm-initial"> <svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" aria-hidden="true"><path d="M6.75 4.5h10.5a.75.75 0 01.75.75v14.357a.375.375 0 01-.575.318L12 16.523l-5.426 3.401A.375.375 0 016 19.607V5.25a.75.75 0 01.75-.75zM16.5 6h-9v11.574l4.5-2.82 4.5 2.82V6z"></path></svg> </span> <span class="bm-success"> <svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" aria-hidden="true"><path d="M6.75 4.5h10.5a.75.75 0 01.75.75v14.357a.375.375 0 01-.575.318L12 16.523l-5.426 3.401A.375.375 0 016 19.607V5.25a.75.75 0 01.75-.75z"></path></svg> </span> </button> </div> </div> </div> </div> </div> <div class="crayons-story " data-feed-content-id="2080057" data-content-user-id="1072952"> <a href="/nnm/problem-with-rails-572i" aria-labelledby="article-link-2080057" class="crayons-story__hidden-navigation-link">Problem with Rails...</a> <div class="crayons-story__body"> <div class="crayons-story__top"> <div class="crayons-story__meta"> <div class="crayons-story__author-pic"> <a href="/nnm" class="crayons-avatar crayons-avatar--l "> <img src="https://media2.dev.to/dynamic/image/width=90,height=90,fit=cover,gravity=auto,format=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Fuser%2Fprofile_image%2F1072952%2F62e49ed1-8c77-4981-9776-661dece366c5.png" alt="nnm profile" class="crayons-avatar__image" loading="lazy" /> </a> </div> <div> <div> <a href="/nnm" class="crayons-story__secondary fw-medium m:hidden"> Antonio </a> <div class="profile-preview-card relative mb-4 s:mb-0 fw-medium hidden m:inline-block"> <button id="story-author-preview-trigger-2080057" aria-controls="story-author-preview-content-2080057" class="profile-preview-card__trigger fs-s p-1 -ml-1 -my-2 crayons-btn crayons-btn--ghost" aria-label="Antonio profile details"> Antonio </button> <div id="story-author-preview-content-2080057" class="profile-preview-card__content crayons-dropdown branded-7 p-4 pt-0" style="border-top-color: var(--card-color);" data-repositioning-dropdown="true" data-testid="profile-preview-card"> <div class="gap-4 grid"> <div class="-mt-4"> <a href="/nnm" class="flex"> <span class="crayons-avatar crayons-avatar--xl mr-2 shrink-0"> <img src="https://media2.dev.to/dynamic/image/width=90,height=90,fit=cover,gravity=auto,format=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Fuser%2Fprofile_image%2F1072952%2F62e49ed1-8c77-4981-9776-661dece366c5.png" class="crayons-avatar__image" alt="" loading="lazy" /> </span> <span class="crayons-link crayons-subtitle-2 mt-5">Antonio</span> </a> </div> <div class="print-hidden"> <button class="crayons-btn follow-action-button whitespace-nowrap follow-user w-100" data-info='{"style":"full","id":1072952,"className":"User","name":"Antonio"}'> Follow </button> </div> <div class="author-preview-metadata-container" data-author-id="1072952"></div> </div> </div> </div> </div> <a href="/nnm/problem-with-rails-572i" class="crayons-story__tertiary fs-xs"><time datetime="2024-11-06T01:33:02Z">Nov 6</time><span class="time-ago-indicator-initial-placeholder" data-seconds="1730856782"></span></a> </div> </div> </div> <div class="crayons-story__indention"> <h2 class="crayons-story__title"> <a href="/nnm/problem-with-rails-572i" data-preload-image="" id="article-link-2080057"> Problem with Rails... </a> </h2> <div class="crayons-story__tags"> <a class="crayons-tag crayons-tag--filled " style=" --tag-bg: rgba(255, 50, 50, 0.10); --tag-prefix: #ff3232; --tag-bg-hover: rgba(255, 50, 50, 0.10); --tag-prefix-hover: #ff3232; " href="/t/help"><span class="crayons-tag__prefix">#</span>help</a> <a class="crayons-tag crayons-tag--monochrome " style=" --tag-bg: rgba(36, 38, 112, 0.10); --tag-prefix: #242670; --tag-bg-hover: rgba(36, 38, 112, 0.10); --tag-prefix-hover: #242670; " href="/t/forem"><span class="crayons-tag__prefix">#</span>forem</a> <a class="crayons-tag crayons-tag--monochrome " style=" --tag-bg: rgba(204, 52, 45, 0.10); --tag-prefix: #CC342D; --tag-bg-hover: rgba(204, 52, 45, 0.10); --tag-prefix-hover: #CC342D; " href="/t/ruby"><span class="crayons-tag__prefix">#</span>ruby</a> <a class="crayons-tag crayons-tag--monochrome " style=" --tag-bg: rgba(204, 0, 0, 0.10); --tag-prefix: #cc0000; --tag-bg-hover: rgba(204, 0, 0, 0.10); --tag-prefix-hover: #cc0000; " href="/t/rails"><span class="crayons-tag__prefix">#</span>rails</a> </div> <div class="crayons-story__bottom"> <div class="crayons-story__details"> <a href="/nnm/problem-with-rails-572i#comments" class="crayons-btn crayons-btn--s crayons-btn--ghost crayons-btn--icon-left flex items-center" aria-label="Add a comment to post - Problem with Rails..."> <svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" role="img" aria-labelledby="ao8xmxw9kjup5pmk3j69t4l7qeyxcj0h" class="crayons-icon"><title id="ao8xmxw9kjup5pmk3j69t4l7qeyxcj0h">Comments</title><path d="M10.5 5h3a6 6 0 110 12v2.625c-3.75-1.5-9-3.75-9-8.625a6 6 0 016-6zM12 15.5h1.5a4.501 4.501 0 001.722-8.657A4.5 4.5 0 0013.5 6.5h-3A4.5 4.5 0 006 11c0 2.707 1.846 4.475 6 6.36V15.5z"></path></svg> 10<span class="hidden s:inline"> comments</span> </a> </div> <div class="crayons-story__save"> <small class="crayons-story__tertiary fs-xs mr-2"> 5 min read </small> <button type="button" id="article-save-button-2080057" class="c-btn c-btn--icon-alone bookmark-button" data-reactable-id="2080057" data-article-author-id="1072952" aria-label="Save post Problem with Rails... to reading list" title="Save post Problem with Rails... to reading list"> <span class="bm-initial"> <svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" aria-hidden="true"><path d="M6.75 4.5h10.5a.75.75 0 01.75.75v14.357a.375.375 0 01-.575.318L12 16.523l-5.426 3.401A.375.375 0 016 19.607V5.25a.75.75 0 01.75-.75zM16.5 6h-9v11.574l4.5-2.82 4.5 2.82V6z"></path></svg> </span> <span class="bm-success"> <svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" aria-hidden="true"><path d="M6.75 4.5h10.5a.75.75 0 01.75.75v14.357a.375.375 0 01-.575.318L12 16.523l-5.426 3.401A.375.375 0 016 19.607V5.25a.75.75 0 01.75-.75z"></path></svg> </span> </button> </div> </div> </div> </div> </div> <div class="crayons-story " data-feed-content-id="2050525" data-content-user-id="1172988"> <a href="/railsdesigner/broadcast-turbo-streams-without-redis-31i6" aria-labelledby="article-link-2050525" class="crayons-story__hidden-navigation-link">Broadcast Turbo Streams without Redis</a> <div class="crayons-story__body"> <div class="crayons-story__top"> <div class="crayons-story__meta"> <div class="crayons-story__author-pic"> <a href="/railsdesigner" class="crayons-avatar crayons-avatar--l "> <img src="https://media2.dev.to/dynamic/image/width=90,height=90,fit=cover,gravity=auto,format=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Fuser%2Fprofile_image%2F1172988%2F12fc6c7d-f168-4e28-bd6e-fb4d3715b8d5.jpg" alt="railsdesigner profile" class="crayons-avatar__image" loading="lazy" /> </a> </div> <div> <div> <a href="/railsdesigner" class="crayons-story__secondary fw-medium m:hidden"> Rails Designer </a> <div class="profile-preview-card relative mb-4 s:mb-0 fw-medium hidden m:inline-block"> <button id="story-author-preview-trigger-2050525" aria-controls="story-author-preview-content-2050525" class="profile-preview-card__trigger fs-s p-1 -ml-1 -my-2 crayons-btn crayons-btn--ghost" aria-label="Rails Designer profile details"> Rails Designer </button> <div id="story-author-preview-content-2050525" class="profile-preview-card__content crayons-dropdown branded-7 p-4 pt-0" style="border-top-color: var(--card-color);" data-repositioning-dropdown="true" data-testid="profile-preview-card"> <div class="gap-4 grid"> <div class="-mt-4"> <a href="/railsdesigner" class="flex"> <span class="crayons-avatar crayons-avatar--xl mr-2 shrink-0"> <img src="https://media2.dev.to/dynamic/image/width=90,height=90,fit=cover,gravity=auto,format=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Fuser%2Fprofile_image%2F1172988%2F12fc6c7d-f168-4e28-bd6e-fb4d3715b8d5.jpg" class="crayons-avatar__image" alt="" loading="lazy" /> </span> <span class="crayons-link crayons-subtitle-2 mt-5">Rails Designer</span> </a> </div> <div class="print-hidden"> <button class="crayons-btn follow-action-button whitespace-nowrap follow-user w-100" data-info='{"style":"full","id":1172988,"className":"User","name":"Rails Designer"}'> Follow </button> </div> <div class="author-preview-metadata-container" data-author-id="1172988"></div> </div> </div> </div> </div> <a href="/railsdesigner/broadcast-turbo-streams-without-redis-31i6" class="crayons-story__tertiary fs-xs"><time datetime="2024-10-24T16:00:00Z">Oct 24</time><span class="time-ago-indicator-initial-placeholder" data-seconds="1729785600"></span></a> </div> </div> </div> <div class="crayons-story__indention"> <h2 class="crayons-story__title"> <a href="/railsdesigner/broadcast-turbo-streams-without-redis-31i6" data-preload-image="https://media2.dev.to/dynamic/image/width=1000,height=420,fit=cover,gravity=auto,format=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fcznt7pal04nb9mi8kvm9.jpg" id="article-link-2050525"> Broadcast Turbo Streams without Redis </a> </h2> <div class="crayons-story__tags"> <a class="crayons-tag crayons-tag--monochrome " style=" --tag-bg: rgba(204, 0, 0, 0.10); --tag-prefix: #cc0000; --tag-bg-hover: rgba(204, 0, 0, 0.10); --tag-prefix-hover: #cc0000; " href="/t/rails"><span class="crayons-tag__prefix">#</span>rails</a> <a class="crayons-tag crayons-tag--monochrome " style=" --tag-bg: rgba(204, 52, 45, 0.10); --tag-prefix: #CC342D; --tag-bg-hover: rgba(204, 52, 45, 0.10); --tag-prefix-hover: #CC342D; " href="/t/ruby"><span class="crayons-tag__prefix">#</span>ruby</a> <a class="crayons-tag crayons-tag--monochrome " style=" --tag-bg: rgba(0, 0, 0, 0.10); --tag-prefix: #000000; --tag-bg-hover: rgba(0, 0, 0, 0.10); --tag-prefix-hover: #000000; " href="/t/hotwire"><span class="crayons-tag__prefix">#</span>hotwire</a> </div> <div class="crayons-story__bottom"> <div class="crayons-story__details"> <a href="/railsdesigner/broadcast-turbo-streams-without-redis-31i6" class="crayons-btn crayons-btn--s crayons-btn--ghost crayons-btn--icon-left" data-reaction-count data-reactable-id="2050525" aria-label="Add a comment to post - Broadcast Turbo Streams without Redis"> <div class="multiple_reactions_aggregate"> <span class="multiple_reactions_icons_container" dir="rtl"> <span class="crayons_icon_container"> <img src="https://assets.dev.to/assets/sparkle-heart-5f9bee3767e18deb1bb725290cb151c25234768a0e9a2bd39370c382d02920cf.svg" width="18" height="18" /> </span> </span> <span class="aggregate_reactions_counter">1<span class="hidden s:inline"> reaction</span></span> </div> </a> <a href="/railsdesigner/broadcast-turbo-streams-without-redis-31i6#comments" class="crayons-btn crayons-btn--s crayons-btn--ghost crayons-btn--icon-left flex items-center" aria-label="Add a comment to post - Broadcast Turbo Streams without Redis"> <svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" role="img" aria-labelledby="a55u5ozvnb5v04c55g8yx7v0jmeqdqqu" class="crayons-icon"><title id="a55u5ozvnb5v04c55g8yx7v0jmeqdqqu">Comments</title><path d="M10.5 5h3a6 6 0 110 12v2.625c-3.75-1.5-9-3.75-9-8.625a6 6 0 016-6zM12 15.5h1.5a4.501 4.501 0 001.722-8.657A4.5 4.5 0 0013.5 6.5h-3A4.5 4.5 0 006 11c0 2.707 1.846 4.475 6 6.36V15.5z"></path></svg> 1<span class="hidden s:inline"> comment</span> </a> </div> <div class="crayons-story__save"> <small class="crayons-story__tertiary fs-xs mr-2"> 8 min read </small> <button type="button" id="article-save-button-2050525" class="c-btn c-btn--icon-alone bookmark-button" data-reactable-id="2050525" data-article-author-id="1172988" aria-label="Save post Broadcast Turbo Streams without Redis to reading list" title="Save post Broadcast Turbo Streams without Redis to reading list"> <span class="bm-initial"> <svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" aria-hidden="true"><path d="M6.75 4.5h10.5a.75.75 0 01.75.75v14.357a.375.375 0 01-.575.318L12 16.523l-5.426 3.401A.375.375 0 016 19.607V5.25a.75.75 0 01.75-.75zM16.5 6h-9v11.574l4.5-2.82 4.5 2.82V6z"></path></svg> </span> <span class="bm-success"> <svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" aria-hidden="true"><path d="M6.75 4.5h10.5a.75.75 0 01.75.75v14.357a.375.375 0 01-.575.318L12 16.523l-5.426 3.401A.375.375 0 016 19.607V5.25a.75.75 0 01.75-.75z"></path></svg> </span> </button> </div> </div> </div> </div> </div> <div class="crayons-story " data-feed-content-id="2078699" data-content-user-id="1172988"> <a href="/railsdesigner/rails-partial-features-you-didnt-know-p2g" aria-labelledby="article-link-2078699" class="crayons-story__hidden-navigation-link">Rails' Partial Features You (didn't) Know</a> <div class="crayons-story__body"> <div class="crayons-story__top"> <div class="crayons-story__meta"> <div class="crayons-story__author-pic"> <a href="/railsdesigner" class="crayons-avatar crayons-avatar--l "> <img src="https://media2.dev.to/dynamic/image/width=90,height=90,fit=cover,gravity=auto,format=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Fuser%2Fprofile_image%2F1172988%2F12fc6c7d-f168-4e28-bd6e-fb4d3715b8d5.jpg" alt="railsdesigner profile" class="crayons-avatar__image" loading="lazy" /> </a> </div> <div> <div> <a href="/railsdesigner" class="crayons-story__secondary fw-medium m:hidden"> Rails Designer </a> <div class="profile-preview-card relative mb-4 s:mb-0 fw-medium hidden m:inline-block"> <button id="story-author-preview-trigger-2078699" aria-controls="story-author-preview-content-2078699" class="profile-preview-card__trigger fs-s p-1 -ml-1 -my-2 crayons-btn crayons-btn--ghost" aria-label="Rails Designer profile details"> Rails Designer </button> <div id="story-author-preview-content-2078699" class="profile-preview-card__content crayons-dropdown branded-7 p-4 pt-0" style="border-top-color: var(--card-color);" data-repositioning-dropdown="true" data-testid="profile-preview-card"> <div class="gap-4 grid"> <div class="-mt-4"> <a href="/railsdesigner" class="flex"> <span class="crayons-avatar crayons-avatar--xl mr-2 shrink-0"> <img src="https://media2.dev.to/dynamic/image/width=90,height=90,fit=cover,gravity=auto,format=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Fuser%2Fprofile_image%2F1172988%2F12fc6c7d-f168-4e28-bd6e-fb4d3715b8d5.jpg" class="crayons-avatar__image" alt="" loading="lazy" /> </span> <span class="crayons-link crayons-subtitle-2 mt-5">Rails Designer</span> </a> </div> <div class="print-hidden"> <button class="crayons-btn follow-action-button whitespace-nowrap follow-user w-100" data-info='{"style":"full","id":1172988,"className":"User","name":"Rails Designer"}'> Follow </button> </div> <div class="author-preview-metadata-container" data-author-id="1172988"></div> </div> </div> </div> </div> <a href="/railsdesigner/rails-partial-features-you-didnt-know-p2g" class="crayons-story__tertiary fs-xs"><time datetime="2024-11-14T18:00:00Z">Nov 14</time><span class="time-ago-indicator-initial-placeholder" data-seconds="1731607200"></span></a> </div> </div> </div> <div class="crayons-story__indention"> <h2 class="crayons-story__title"> <a href="/railsdesigner/rails-partial-features-you-didnt-know-p2g" data-preload-image="https://media2.dev.to/dynamic/image/width=1000,height=420,fit=cover,gravity=auto,format=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F9vjjmwec3dj5a03towlu.jpg" id="article-link-2078699"> Rails' Partial Features You (didn't) Know </a> </h2> <div class="crayons-story__tags"> <a class="crayons-tag crayons-tag--monochrome " style=" --tag-bg: rgba(204, 0, 0, 0.10); --tag-prefix: #cc0000; --tag-bg-hover: rgba(204, 0, 0, 0.10); --tag-prefix-hover: #cc0000; " href="/t/rails"><span class="crayons-tag__prefix">#</span>rails</a> <a class="crayons-tag crayons-tag--monochrome " style=" --tag-bg: rgba(204, 52, 45, 0.10); --tag-prefix: #CC342D; --tag-bg-hover: rgba(204, 52, 45, 0.10); --tag-prefix-hover: #CC342D; " href="/t/ruby"><span class="crayons-tag__prefix">#</span>ruby</a> <a class="crayons-tag crayons-tag--monochrome " style=" --tag-bg: rgba(86, 39, 101, 0.10); --tag-prefix: #562765; --tag-bg-hover: rgba(86, 39, 101, 0.10); --tag-prefix-hover: #562765; " href="/t/webdev"><span class="crayons-tag__prefix">#</span>webdev</a> </div> <div class="crayons-story__bottom"> <div class="crayons-story__details"> <a href="/railsdesigner/rails-partial-features-you-didnt-know-p2g" class="crayons-btn crayons-btn--s crayons-btn--ghost crayons-btn--icon-left" data-reaction-count data-reactable-id="2078699" aria-label="Add a comment to post - Rails' Partial Features You (didn't) Know"> <div class="multiple_reactions_aggregate"> <span class="multiple_reactions_icons_container" dir="rtl"> <span class="crayons_icon_container"> <img src="https://assets.dev.to/assets/sparkle-heart-5f9bee3767e18deb1bb725290cb151c25234768a0e9a2bd39370c382d02920cf.svg" width="18" height="18" /> </span> </span> <span class="aggregate_reactions_counter">2<span class="hidden s:inline"> reactions</span></span> </div> </a> <a href="/railsdesigner/rails-partial-features-you-didnt-know-p2g#comments" class="crayons-btn crayons-btn--s crayons-btn--ghost crayons-btn--icon-left flex items-center" aria-label="Add a comment to post - Rails' Partial Features You (didn't) Know"> <svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" role="img" aria-labelledby="apk1e0jnvb8pz8yg0mwwi10vzc94be3b" class="crayons-icon"><title id="apk1e0jnvb8pz8yg0mwwi10vzc94be3b">Comments</title><path d="M10.5 5h3a6 6 0 110 12v2.625c-3.75-1.5-9-3.75-9-8.625a6 6 0 016-6zM12 15.5h1.5a4.501 4.501 0 001.722-8.657A4.5 4.5 0 0013.5 6.5h-3A4.5 4.5 0 006 11c0 2.707 1.846 4.475 6 6.36V15.5z"></path></svg> 1<span class="hidden s:inline"> comment</span> </a> </div> <div class="crayons-story__save"> <small class="crayons-story__tertiary fs-xs mr-2"> 4 min read </small> <button type="button" id="article-save-button-2078699" class="c-btn c-btn--icon-alone bookmark-button" data-reactable-id="2078699" data-article-author-id="1172988" aria-label="Save post Rails' Partial Features You (didn't) Know to reading list" title="Save post Rails' Partial Features You (didn't) Know to reading list"> <span class="bm-initial"> <svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" aria-hidden="true"><path d="M6.75 4.5h10.5a.75.75 0 01.75.75v14.357a.375.375 0 01-.575.318L12 16.523l-5.426 3.401A.375.375 0 016 19.607V5.25a.75.75 0 01.75-.75zM16.5 6h-9v11.574l4.5-2.82 4.5 2.82V6z"></path></svg> </span> <span class="bm-success"> <svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" aria-hidden="true"><path d="M6.75 4.5h10.5a.75.75 0 01.75.75v14.357a.375.375 0 01-.575.318L12 16.523l-5.426 3.401A.375.375 0 016 19.607V5.25a.75.75 0 01.75-.75z"></path></svg> </span> </button> </div> </div> </div> </div> </div> <div class="crayons-story " data-feed-content-id="2047715" data-content-user-id="1172988"> <a href="/railsdesigner/how-do-turbo-streams-work-behind-the-scenes-11mj" aria-labelledby="article-link-2047715" class="crayons-story__hidden-navigation-link">How do Turbo Streams Work (behind the scenes)</a> <div class="crayons-story__body"> <div class="crayons-story__top"> <div class="crayons-story__meta"> <div class="crayons-story__author-pic"> <a href="/railsdesigner" class="crayons-avatar crayons-avatar--l "> <img src="https://media2.dev.to/dynamic/image/width=90,height=90,fit=cover,gravity=auto,format=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Fuser%2Fprofile_image%2F1172988%2F12fc6c7d-f168-4e28-bd6e-fb4d3715b8d5.jpg" alt="railsdesigner profile" class="crayons-avatar__image" loading="lazy" /> </a> </div> <div> <div> <a href="/railsdesigner" class="crayons-story__secondary fw-medium m:hidden"> Rails Designer </a> <div class="profile-preview-card relative mb-4 s:mb-0 fw-medium hidden m:inline-block"> <button id="story-author-preview-trigger-2047715" aria-controls="story-author-preview-content-2047715" class="profile-preview-card__trigger fs-s p-1 -ml-1 -my-2 crayons-btn crayons-btn--ghost" aria-label="Rails Designer profile details"> Rails Designer </button> <div id="story-author-preview-content-2047715" class="profile-preview-card__content crayons-dropdown branded-7 p-4 pt-0" style="border-top-color: var(--card-color);" data-repositioning-dropdown="true" data-testid="profile-preview-card"> <div class="gap-4 grid"> <div class="-mt-4"> <a href="/railsdesigner" class="flex"> <span class="crayons-avatar crayons-avatar--xl mr-2 shrink-0"> <img src="https://media2.dev.to/dynamic/image/width=90,height=90,fit=cover,gravity=auto,format=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Fuser%2Fprofile_image%2F1172988%2F12fc6c7d-f168-4e28-bd6e-fb4d3715b8d5.jpg" class="crayons-avatar__image" alt="" loading="lazy" /> </span> <span class="crayons-link crayons-subtitle-2 mt-5">Rails Designer</span> </a> </div> <div class="print-hidden"> <button class="crayons-btn follow-action-button whitespace-nowrap follow-user w-100" data-info='{"style":"full","id":1172988,"className":"User","name":"Rails Designer"}'> Follow </button> </div> <div class="author-preview-metadata-container" data-author-id="1172988"></div> </div> </div> </div> </div> <a href="/railsdesigner/how-do-turbo-streams-work-behind-the-scenes-11mj" class="crayons-story__tertiary fs-xs"><time datetime="2024-10-22T13:00:00Z">Oct 22</time><span class="time-ago-indicator-initial-placeholder" data-seconds="1729602000"></span></a> </div> </div> </div> <div class="crayons-story__indention"> <h2 class="crayons-story__title"> <a href="/railsdesigner/how-do-turbo-streams-work-behind-the-scenes-11mj" data-preload-image="" id="article-link-2047715"> How do Turbo Streams Work (behind the scenes) </a> </h2> <div class="crayons-story__tags"> <a class="crayons-tag crayons-tag--monochrome " style=" --tag-bg: rgba(0, 0, 0, 0.10); --tag-prefix: #000000; --tag-bg-hover: rgba(0, 0, 0, 0.10); --tag-prefix-hover: #000000; " href="/t/hotwire"><span class="crayons-tag__prefix">#</span>hotwire</a> <a class="crayons-tag crayons-tag--monochrome " style=" --tag-bg: rgba(204, 52, 45, 0.10); --tag-prefix: #CC342D; --tag-bg-hover: rgba(204, 52, 45, 0.10); --tag-prefix-hover: #CC342D; " href="/t/ruby"><span class="crayons-tag__prefix">#</span>ruby</a> <a class="crayons-tag crayons-tag--monochrome " style=" --tag-bg: rgba(204, 0, 0, 0.10); --tag-prefix: #cc0000; --tag-bg-hover: rgba(204, 0, 0, 0.10); --tag-prefix-hover: #cc0000; " href="/t/rails"><span class="crayons-tag__prefix">#</span>rails</a> <a class="crayons-tag crayons-tag--monochrome " style=" --tag-bg: rgba(247, 223, 30, 0.10); --tag-prefix: #f7df1e; --tag-bg-hover: rgba(247, 223, 30, 0.10); --tag-prefix-hover: #f7df1e; " href="/t/javascript"><span class="crayons-tag__prefix">#</span>javascript</a> </div> <div class="crayons-story__bottom"> <div class="crayons-story__details"> <a href="/railsdesigner/how-do-turbo-streams-work-behind-the-scenes-11mj" class="crayons-btn crayons-btn--s crayons-btn--ghost crayons-btn--icon-left" data-reaction-count data-reactable-id="2047715" aria-label="Add a comment to post - How do Turbo Streams Work (behind the scenes)"> <div class="multiple_reactions_aggregate"> <span class="multiple_reactions_icons_container" dir="rtl"> <span class="crayons_icon_container"> <img src="https://assets.dev.to/assets/sparkle-heart-5f9bee3767e18deb1bb725290cb151c25234768a0e9a2bd39370c382d02920cf.svg" width="18" height="18" /> </span> </span> <span class="aggregate_reactions_counter">1<span class="hidden s:inline"> reaction</span></span> </div> </a> <a href="/railsdesigner/how-do-turbo-streams-work-behind-the-scenes-11mj#comments" class="crayons-btn crayons-btn--s crayons-btn--ghost crayons-btn--icon-left flex items-center" aria-label="Add a comment to post - How do Turbo Streams Work (behind the scenes)"> <svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" role="img" aria-labelledby="ai537g8kmajxbfpjc6dv5hp1y9zlsb2h" class="crayons-icon"><title id="ai537g8kmajxbfpjc6dv5hp1y9zlsb2h">Comments</title><path d="M10.5 5h3a6 6 0 110 12v2.625c-3.75-1.5-9-3.75-9-8.625a6 6 0 016-6zM12 15.5h1.5a4.501 4.501 0 001.722-8.657A4.5 4.5 0 0013.5 6.5h-3A4.5 4.5 0 006 11c0 2.707 1.846 4.475 6 6.36V15.5z"></path></svg> 1<span class="hidden s:inline"> comment</span> </a> </div> <div class="crayons-story__save"> <small class="crayons-story__tertiary fs-xs mr-2"> 3 min read </small> <button type="button" id="article-save-button-2047715" class="c-btn c-btn--icon-alone bookmark-button" data-reactable-id="2047715" data-article-author-id="1172988" aria-label="Save post How do Turbo Streams Work (behind the scenes) to reading list" title="Save post How do Turbo Streams Work (behind the scenes) to reading list"> <span class="bm-initial"> <svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" aria-hidden="true"><path d="M6.75 4.5h10.5a.75.75 0 01.75.75v14.357a.375.375 0 01-.575.318L12 16.523l-5.426 3.401A.375.375 0 016 19.607V5.25a.75.75 0 01.75-.75zM16.5 6h-9v11.574l4.5-2.82 4.5 2.82V6z"></path></svg> </span> <span class="bm-success"> <svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" aria-hidden="true"><path d="M6.75 4.5h10.5a.75.75 0 01.75.75v14.357a.375.375 0 01-.575.318L12 16.523l-5.426 3.401A.375.375 0 016 19.607V5.25a.75.75 0 01.75-.75z"></path></svg> </span> </button> </div> </div> </div> </div> </div> <div class="crayons-story " data-feed-content-id="2099577" data-content-user-id="4291"> <a href="/epigene/buffer-all-the-things-5dk" aria-labelledby="article-link-2099577" class="crayons-story__hidden-navigation-link">Buffer all the things</a> <div class="crayons-story__body"> <div class="crayons-story__top"> <div class="crayons-story__meta"> <div class="crayons-story__author-pic"> <a href="/epigene" class="crayons-avatar crayons-avatar--l "> <img src="https://media2.dev.to/dynamic/image/width=90,height=90,fit=cover,gravity=auto,format=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Fuser%2Fprofile_image%2F4291%2F4e7fca4b-6bed-45e7-9c2b-758af8f279cb.jpg" alt="epigene profile" class="crayons-avatar__image" loading="lazy" /> </a> </div> <div> <div> <a href="/epigene" class="crayons-story__secondary fw-medium m:hidden"> Augusts Bautra </a> <div class="profile-preview-card relative mb-4 s:mb-0 fw-medium hidden m:inline-block"> <button id="story-author-preview-trigger-2099577" aria-controls="story-author-preview-content-2099577" class="profile-preview-card__trigger fs-s p-1 -ml-1 -my-2 crayons-btn crayons-btn--ghost" aria-label="Augusts Bautra profile details"> Augusts Bautra </button> <div id="story-author-preview-content-2099577" class="profile-preview-card__content crayons-dropdown branded-7 p-4 pt-0" style="border-top-color: var(--card-color);" data-repositioning-dropdown="true" data-testid="profile-preview-card"> <div class="gap-4 grid"> <div class="-mt-4"> <a href="/epigene" class="flex"> <span class="crayons-avatar crayons-avatar--xl mr-2 shrink-0"> <img src="https://media2.dev.to/dynamic/image/width=90,height=90,fit=cover,gravity=auto,format=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Fuser%2Fprofile_image%2F4291%2F4e7fca4b-6bed-45e7-9c2b-758af8f279cb.jpg" class="crayons-avatar__image" alt="" loading="lazy" /> </span> <span class="crayons-link crayons-subtitle-2 mt-5">Augusts Bautra</span> </a> </div> <div class="print-hidden"> <button class="crayons-btn follow-action-button whitespace-nowrap follow-user w-100" data-info='{"style":"full","id":4291,"className":"User","name":"Augusts Bautra"}'> Follow </button> </div> <div class="author-preview-metadata-container" data-author-id="4291"></div> </div> </div> </div> </div> <a href="/epigene/buffer-all-the-things-5dk" class="crayons-story__tertiary fs-xs"><time datetime="2024-11-12T13:24:03Z">Nov 12</time><span class="time-ago-indicator-initial-placeholder" data-seconds="1731417843"></span></a> </div> </div> </div> <div class="crayons-story__indention"> <h2 class="crayons-story__title"> <a href="/epigene/buffer-all-the-things-5dk" data-preload-image="" id="article-link-2099577"> Buffer all the things </a> </h2> <div class="crayons-story__tags"> <a class="crayons-tag crayons-tag--monochrome " style=" --tag-bg: rgba(204, 0, 0, 0.10); --tag-prefix: #cc0000; --tag-bg-hover: rgba(204, 0, 0, 0.10); --tag-prefix-hover: #cc0000; " href="/t/rails"><span class="crayons-tag__prefix">#</span>rails</a> <a class="crayons-tag crayons-tag--monochrome " style=" --tag-bg: rgba(255, 163, 100, 0.10); --tag-prefix: #ffa364; --tag-bg-hover: rgba(255, 163, 100, 0.10); --tag-prefix-hover: #ffa364; " href="/t/performance"><span class="crayons-tag__prefix">#</span>performance</a> </div> <div class="crayons-story__bottom"> <div class="crayons-story__details"> <a href="/epigene/buffer-all-the-things-5dk#comments" class="crayons-btn crayons-btn--s crayons-btn--ghost crayons-btn--icon-left flex items-center" aria-label="Add a comment to post - Buffer all the things"> <svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" role="img" aria-labelledby="acm79n8yuqw38j5yrp8i8arsn12rwiog" class="crayons-icon"><title id="acm79n8yuqw38j5yrp8i8arsn12rwiog">Comments</title><path d="M10.5 5h3a6 6 0 110 12v2.625c-3.75-1.5-9-3.75-9-8.625a6 6 0 016-6zM12 15.5h1.5a4.501 4.501 0 001.722-8.657A4.5 4.5 0 0013.5 6.5h-3A4.5 4.5 0 006 11c0 2.707 1.846 4.475 6 6.36V15.5z"></path></svg> <span class="hidden s:inline">Add Comment</span> </a> </div> <div class="crayons-story__save"> <small class="crayons-story__tertiary fs-xs mr-2"> 2 min read </small> <button type="button" id="article-save-button-2099577" class="c-btn c-btn--icon-alone bookmark-button" data-reactable-id="2099577" data-article-author-id="4291" aria-label="Save post Buffer all the things to reading list" title="Save post Buffer all the things to reading list"> <span class="bm-initial"> <svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" aria-hidden="true"><path d="M6.75 4.5h10.5a.75.75 0 01.75.75v14.357a.375.375 0 01-.575.318L12 16.523l-5.426 3.401A.375.375 0 016 19.607V5.25a.75.75 0 01.75-.75zM16.5 6h-9v11.574l4.5-2.82 4.5 2.82V6z"></path></svg> </span> <span class="bm-success"> <svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" aria-hidden="true"><path d="M6.75 4.5h10.5a.75.75 0 01.75.75v14.357a.375.375 0 01-.575.318L12 16.523l-5.426 3.401A.375.375 0 016 19.607V5.25a.75.75 0 01.75-.75z"></path></svg> </span> </button> </div> </div> </div> </div> </div> <div class="crayons-story " data-feed-content-id="2044650" data-content-user-id="967300"> <a href="/tungnt1203/minds-on-rails-parametric-search-and-semantic-search-4f86" aria-labelledby="article-link-2044650" class="crayons-story__hidden-navigation-link">minds on rails parametric search and semantic search</a> <div class="crayons-story__body"> <div class="crayons-story__top"> <div class="crayons-story__meta"> <div class="crayons-story__author-pic"> <a href="/tungnt1203" class="crayons-avatar crayons-avatar--l "> <img src="https://media.dev.to/dynamic/image/width=90,height=90,fit=cover,gravity=auto,format=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Fuser%2Fprofile_image%2F967300%2F5972ca54-95f0-41af-b652-ce270e5f24f9.png" alt="tungnt1203 profile" class="crayons-avatar__image" loading="lazy" /> </a> </div> <div> <div> <a href="/tungnt1203" class="crayons-story__secondary fw-medium m:hidden"> Nguyễn Thanh Tùng </a> <div class="profile-preview-card relative mb-4 s:mb-0 fw-medium hidden m:inline-block"> <button id="story-author-preview-trigger-2044650" aria-controls="story-author-preview-content-2044650" class="profile-preview-card__trigger fs-s p-1 -ml-1 -my-2 crayons-btn crayons-btn--ghost" aria-label="Nguyễn Thanh Tùng profile details"> Nguyễn Thanh Tùng </button> <div id="story-author-preview-content-2044650" class="profile-preview-card__content crayons-dropdown branded-7 p-4 pt-0" style="border-top-color: var(--card-color);" data-repositioning-dropdown="true" data-testid="profile-preview-card"> <div class="gap-4 grid"> <div class="-mt-4"> <a href="/tungnt1203" class="flex"> <span class="crayons-avatar crayons-avatar--xl mr-2 shrink-0"> <img src="https://media.dev.to/dynamic/image/width=90,height=90,fit=cover,gravity=auto,format=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Fuser%2Fprofile_image%2F967300%2F5972ca54-95f0-41af-b652-ce270e5f24f9.png" class="crayons-avatar__image" alt="" loading="lazy" /> </span> <span class="crayons-link crayons-subtitle-2 mt-5">Nguyễn Thanh Tùng</span> </a> </div> <div class="print-hidden"> <button class="crayons-btn follow-action-button whitespace-nowrap follow-user w-100" data-info='{"style":"full","id":967300,"className":"User","name":"Nguyễn Thanh Tùng"}'> Follow </button> </div> <div class="author-preview-metadata-container" data-author-id="967300"></div> </div> </div> </div> </div> <a href="/tungnt1203/minds-on-rails-parametric-search-and-semantic-search-4f86" class="crayons-story__tertiary fs-xs"><time datetime="2024-10-19T13:07:19Z">Oct 19</time><span class="time-ago-indicator-initial-placeholder" data-seconds="1729343239"></span></a> </div> </div> </div> <div class="crayons-story__indention"> <h2 class="crayons-story__title"> <a href="/tungnt1203/minds-on-rails-parametric-search-and-semantic-search-4f86" data-preload-image="" id="article-link-2044650"> minds on rails parametric search and semantic search </a> </h2> <div class="crayons-story__tags"> <a class="crayons-tag crayons-tag--monochrome " style=" --tag-bg: rgba(204, 0, 0, 0.10); --tag-prefix: #cc0000; --tag-bg-hover: rgba(204, 0, 0, 0.10); --tag-prefix-hover: #cc0000; " href="/t/rails"><span class="crayons-tag__prefix">#</span>rails</a> <a class="crayons-tag crayons-tag--monochrome " style=" --tag-bg: rgba(204, 52, 45, 0.10); --tag-prefix: #CC342D; --tag-bg-hover: rgba(204, 52, 45, 0.10); --tag-prefix-hover: #CC342D; " href="/t/ruby"><span class="crayons-tag__prefix">#</span>ruby</a> <a class="crayons-tag crayons-tag--monochrome " style=" --tag-bg: rgba(254, 255, 165, 0.10); --tag-prefix: #FEFFA5; --tag-bg-hover: rgba(254, 255, 165, 0.10); --tag-prefix-hover: #FEFFA5; " href="/t/tutorial"><span class="crayons-tag__prefix">#</span>tutorial</a> </div> <div class="crayons-story__bottom"> <div class="crayons-story__details"> <a href="/tungnt1203/minds-on-rails-parametric-search-and-semantic-search-4f86#comments" class="crayons-btn crayons-btn--s crayons-btn--ghost crayons-btn--icon-left flex items-center" aria-label="Add a comment to post - minds on rails parametric search and semantic search"> <svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" role="img" aria-labelledby="a6ewoqh7g7csi7ft38jbsglro9wlseq6" class="crayons-icon"><title id="a6ewoqh7g7csi7ft38jbsglro9wlseq6">Comments</title><path d="M10.5 5h3a6 6 0 110 12v2.625c-3.75-1.5-9-3.75-9-8.625a6 6 0 016-6zM12 15.5h1.5a4.501 4.501 0 001.722-8.657A4.5 4.5 0 0013.5 6.5h-3A4.5 4.5 0 006 11c0 2.707 1.846 4.475 6 6.36V15.5z"></path></svg> <span class="hidden s:inline">Add Comment</span> </a> </div> <div class="crayons-story__save"> <small class="crayons-story__tertiary fs-xs mr-2"> 1 min read </small> <button type="button" id="article-save-button-2044650" class="c-btn c-btn--icon-alone bookmark-button" data-reactable-id="2044650" data-article-author-id="967300" aria-label="Save post minds on rails parametric search and semantic search to reading list" title="Save post minds on rails parametric search and semantic search to reading list"> <span class="bm-initial"> <svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" aria-hidden="true"><path d="M6.75 4.5h10.5a.75.75 0 01.75.75v14.357a.375.375 0 01-.575.318L12 16.523l-5.426 3.401A.375.375 0 016 19.607V5.25a.75.75 0 01.75-.75zM16.5 6h-9v11.574l4.5-2.82 4.5 2.82V6z"></path></svg> </span> <span class="bm-success"> <svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" aria-hidden="true"><path d="M6.75 4.5h10.5a.75.75 0 01.75.75v14.357a.375.375 0 01-.575.318L12 16.523l-5.426 3.401A.375.375 0 016 19.607V5.25a.75.75 0 01.75-.75z"></path></svg> </span> </button> </div> </div> </div> </div> </div> <div class="crayons-story " data-feed-content-id="2042080" data-content-user-id="4291"> <a href="/epigene/til-bundle-outdated-5hb4" aria-labelledby="article-link-2042080" class="crayons-story__hidden-navigation-link">TIL `bundle outdated`</a> <div class="crayons-story__body"> <div class="crayons-story__top"> <div class="crayons-story__meta"> <div class="crayons-story__author-pic"> <a href="/epigene" class="crayons-avatar crayons-avatar--l "> <img src="https://media.dev.to/dynamic/image/width=90,height=90,fit=cover,gravity=auto,format=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Fuser%2Fprofile_image%2F4291%2F4e7fca4b-6bed-45e7-9c2b-758af8f279cb.jpg" alt="epigene profile" class="crayons-avatar__image" loading="lazy" /> </a> </div> <div> <div> <a href="/epigene" class="crayons-story__secondary fw-medium m:hidden"> Augusts Bautra </a> <div class="profile-preview-card relative mb-4 s:mb-0 fw-medium hidden m:inline-block"> <button id="story-author-preview-trigger-2042080" aria-controls="story-author-preview-content-2042080" class="profile-preview-card__trigger fs-s p-1 -ml-1 -my-2 crayons-btn crayons-btn--ghost" aria-label="Augusts Bautra profile details"> Augusts Bautra </button> <div id="story-author-preview-content-2042080" class="profile-preview-card__content crayons-dropdown branded-7 p-4 pt-0" style="border-top-color: var(--card-color);" data-repositioning-dropdown="true" data-testid="profile-preview-card"> <div class="gap-4 grid"> <div class="-mt-4"> <a href="/epigene" class="flex"> <span class="crayons-avatar crayons-avatar--xl mr-2 shrink-0"> <img src="https://media.dev.to/dynamic/image/width=90,height=90,fit=cover,gravity=auto,format=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Fuser%2Fprofile_image%2F4291%2F4e7fca4b-6bed-45e7-9c2b-758af8f279cb.jpg" class="crayons-avatar__image" alt="" loading="lazy" /> </span> <span class="crayons-link crayons-subtitle-2 mt-5">Augusts Bautra</span> </a> </div> <div class="print-hidden"> <button class="crayons-btn follow-action-button whitespace-nowrap follow-user w-100" data-info='{"style":"full","id":4291,"className":"User","name":"Augusts Bautra"}'> Follow </button> </div> <div class="author-preview-metadata-container" data-author-id="4291"></div> </div> </div> </div> </div> <a href="/epigene/til-bundle-outdated-5hb4" class="crayons-story__tertiary fs-xs"><time datetime="2024-10-17T13:55:26Z">Oct 17</time><span class="time-ago-indicator-initial-placeholder" data-seconds="1729173326"></span></a> </div> </div> </div> <div class="crayons-story__indention"> <h2 class="crayons-story__title"> <a href="/epigene/til-bundle-outdated-5hb4" data-preload-image="" id="article-link-2042080"> TIL `bundle outdated` </a> </h2> <div class="crayons-story__tags"> <a class="crayons-tag crayons-tag--monochrome " style=" --tag-bg: rgba(204, 0, 0, 0.10); --tag-prefix: #cc0000; --tag-bg-hover: rgba(204, 0, 0, 0.10); --tag-prefix-hover: #cc0000; " href="/t/rails"><span class="crayons-tag__prefix">#</span>rails</a> <a class="crayons-tag crayons-tag--monochrome " style=" --tag-bg: rgba(204, 52, 45, 0.10); --tag-prefix: #CC342D; --tag-bg-hover: rgba(204, 52, 45, 0.10); --tag-prefix-hover: #CC342D; " href="/t/ruby"><span class="crayons-tag__prefix">#</span>ruby</a> </div> <div class="crayons-story__bottom"> <div class="crayons-story__details"> <a href="/epigene/til-bundle-outdated-5hb4#comments" class="crayons-btn crayons-btn--s crayons-btn--ghost crayons-btn--icon-left flex items-center" aria-label="Add a comment to post - TIL `bundle outdated`"> <svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" role="img" aria-labelledby="a7vqsyws5pgl14dtgb2akd5sfebmcox" class="crayons-icon"><title id="a7vqsyws5pgl14dtgb2akd5sfebmcox">Comments</title><path d="M10.5 5h3a6 6 0 110 12v2.625c-3.75-1.5-9-3.75-9-8.625a6 6 0 016-6zM12 15.5h1.5a4.501 4.501 0 001.722-8.657A4.5 4.5 0 0013.5 6.5h-3A4.5 4.5 0 006 11c0 2.707 1.846 4.475 6 6.36V15.5z"></path></svg> <span class="hidden s:inline">Add Comment</span> </a> </div> <div class="crayons-story__save"> <small class="crayons-story__tertiary fs-xs mr-2"> 1 min read </small> <button type="button" id="article-save-button-2042080" class="c-btn c-btn--icon-alone bookmark-button" data-reactable-id="2042080" data-article-author-id="4291" aria-label="Save post TIL `bundle outdated` to reading list" title="Save post TIL `bundle outdated` to reading list"> <span class="bm-initial"> <svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" aria-hidden="true"><path d="M6.75 4.5h10.5a.75.75 0 01.75.75v14.357a.375.375 0 01-.575.318L12 16.523l-5.426 3.401A.375.375 0 016 19.607V5.25a.75.75 0 01.75-.75zM16.5 6h-9v11.574l4.5-2.82 4.5 2.82V6z"></path></svg> </span> <span class="bm-success"> <svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" aria-hidden="true"><path d="M6.75 4.5h10.5a.75.75 0 01.75.75v14.357a.375.375 0 01-.575.318L12 16.523l-5.426 3.401A.375.375 0 016 19.607V5.25a.75.75 0 01.75-.75z"></path></svg> </span> </button> </div> </div> </div> </div> </div> <div class="crayons-story " data-feed-content-id="2086252" data-content-user-id="432482"> <a href="/jetthoughts/ruby-on-rails-8-custom-compression-for-encrypted-data-48n5" aria-labelledby="article-link-2086252" class="crayons-story__hidden-navigation-link">Ruby on Rails 8: Custom Compression for Encrypted Data</a> <div class="crayons-story__body"> <div class="crayons-story__top"> <div class="crayons-story__meta"> <div class="crayons-story__author-pic"> <a class="crayons-logo crayons-logo--l" href="/jetthoughts"> <img alt="JetThoughts logo" src="https://media2.dev.to/dynamic/image/width=90,height=90,fit=cover,gravity=auto,format=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Forganization%2Fprofile_image%2F2669%2Facd9cc11-3042-4c41-b4df-679a86ec90cc.jpg" class="crayons-logo__image" loading="lazy" /> </a> <a href="/jetthoughts-dev" class="crayons-avatar crayons-avatar--s absolute -right-2 -bottom-2 border-solid border-2 border-base-inverted "> <img src="https://media2.dev.to/dynamic/image/width=90,height=90,fit=cover,gravity=auto,format=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Fuser%2Fprofile_image%2F432482%2F8e0d29a4-85ee-4c5c-a549-20db3d431664.jpg" alt="jetthoughts-dev profile" class="crayons-avatar__image" loading="lazy" /> </a> </div> <div> <div> <a href="/jetthoughts-dev" class="crayons-story__secondary fw-medium m:hidden"> JetThoughts Dev </a> <div class="profile-preview-card relative mb-4 s:mb-0 fw-medium hidden m:inline-block"> <button id="story-author-preview-trigger-2086252" aria-controls="story-author-preview-content-2086252" class="profile-preview-card__trigger fs-s p-1 -ml-1 -my-2 crayons-btn crayons-btn--ghost" aria-label="JetThoughts Dev profile details"> JetThoughts Dev </button> <div id="story-author-preview-content-2086252" class="profile-preview-card__content crayons-dropdown branded-7 p-4 pt-0" style="border-top-color: var(--card-color);" data-repositioning-dropdown="true" data-testid="profile-preview-card"> <div class="gap-4 grid"> <div class="-mt-4"> <a href="/jetthoughts-dev" class="flex"> <span class="crayons-avatar crayons-avatar--xl mr-2 shrink-0"> <img src="https://media2.dev.to/dynamic/image/width=90,height=90,fit=cover,gravity=auto,format=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Fuser%2Fprofile_image%2F432482%2F8e0d29a4-85ee-4c5c-a549-20db3d431664.jpg" class="crayons-avatar__image" alt="" loading="lazy" /> </span> <span class="crayons-link crayons-subtitle-2 mt-5">JetThoughts Dev</span> </a> </div> <div class="print-hidden"> <button class="crayons-btn follow-action-button whitespace-nowrap follow-user w-100" data-info='{"style":"full","id":432482,"className":"User","name":"JetThoughts Dev"}'> Follow </button> </div> <div class="author-preview-metadata-container" data-author-id="432482"></div> </div> </div> </div> <span> <span class="crayons-story__tertiary fw-normal"> for </span><a href="/jetthoughts" class="crayons-story__secondary fw-medium">JetThoughts</a> </span> </div> <a href="/jetthoughts/ruby-on-rails-8-custom-compression-for-encrypted-data-48n5" class="crayons-story__tertiary fs-xs"><time datetime="2024-11-08T08:48:35Z">Nov 8</time><span class="time-ago-indicator-initial-placeholder" data-seconds="1731055715"></span></a> </div> </div> </div> <div class="crayons-story__indention"> <h2 class="crayons-story__title"> <a href="/jetthoughts/ruby-on-rails-8-custom-compression-for-encrypted-data-48n5" data-preload-image="https://media2.dev.to/dynamic/image/width=1000,height=420,fit=cover,gravity=auto,format=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fc47eir369t50c0r0x7bx.png" id="article-link-2086252"> Ruby on Rails 8: Custom Compression for Encrypted Data </a> </h2> <div class="crayons-story__tags"> <a class="crayons-tag crayons-tag--monochrome " style=" --tag-bg: rgba(204, 52, 45, 0.10); --tag-prefix: #CC342D; --tag-bg-hover: rgba(204, 52, 45, 0.10); --tag-prefix-hover: #CC342D; " href="/t/ruby"><span class="crayons-tag__prefix">#</span>ruby</a> <a class="crayons-tag crayons-tag--monochrome " style=" --tag-bg: rgba(204, 0, 0, 0.10); --tag-prefix: #cc0000; --tag-bg-hover: rgba(204, 0, 0, 0.10); --tag-prefix-hover: #cc0000; " href="/t/rails"><span class="crayons-tag__prefix">#</span>rails</a> <a class="crayons-tag crayons-tag--monochrome " style=" --tag-bg: rgba(86, 39, 101, 0.10); --tag-prefix: #562765; --tag-bg-hover: rgba(86, 39, 101, 0.10); --tag-prefix-hover: #562765; " href="/t/webdev"><span class="crayons-tag__prefix">#</span>webdev</a> <a class="crayons-tag crayons-tag--monochrome " style=" --tag-bg: rgba(254, 255, 165, 0.10); --tag-prefix: #FEFFA5; --tag-bg-hover: rgba(254, 255, 165, 0.10); --tag-prefix-hover: #FEFFA5; " href="/t/tutorial"><span class="crayons-tag__prefix">#</span>tutorial</a> </div> <div class="crayons-story__bottom"> <div class="crayons-story__details"> <a href="/jetthoughts/ruby-on-rails-8-custom-compression-for-encrypted-data-48n5" class="crayons-btn crayons-btn--s crayons-btn--ghost crayons-btn--icon-left" data-reaction-count data-reactable-id="2086252" aria-label="Add a comment to post - Ruby on Rails 8: Custom Compression for Encrypted Data"> <div class="multiple_reactions_aggregate"> <span class="multiple_reactions_icons_container" dir="rtl"> <span class="crayons_icon_container"> <img src="https://assets.dev.to/assets/fire-f60e7a582391810302117f987b22a8ef04a2fe0df7e3258a5f49332df1cec71e.svg" width="18" height="18" /> </span> <span class="crayons_icon_container"> <img src="https://assets.dev.to/assets/raised-hands-74b2099fd66a39f2d7eed9305ee0f4553df0eb7b4f11b01b6b1b499973048fe5.svg" width="18" height="18" /> </span> <span class="crayons_icon_container"> <img src="https://assets.dev.to/assets/exploding-head-daceb38d627e6ae9b730f36a1e390fca556a4289d5a41abb2c35068ad3e2c4b5.svg" width="18" height="18" /> </span> <span class="crayons_icon_container"> <img src="https://assets.dev.to/assets/multi-unicorn-b44d6f8c23cdd00964192bedc38af3e82463978aa611b4365bd33a0f1f4f3e97.svg" width="18" height="18" /> </span> <span class="crayons_icon_container"> <img src="https://assets.dev.to/assets/sparkle-heart-5f9bee3767e18deb1bb725290cb151c25234768a0e9a2bd39370c382d02920cf.svg" width="18" height="18" /> </span> </span> <span class="aggregate_reactions_counter">12<span class="hidden s:inline"> reactions</span></span> </div> </a> <a href="/jetthoughts/ruby-on-rails-8-custom-compression-for-encrypted-data-48n5#comments" class="crayons-btn crayons-btn--s crayons-btn--ghost crayons-btn--icon-left flex items-center" aria-label="Add a comment to post - Ruby on Rails 8: Custom Compression for Encrypted Data"> <svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" role="img" aria-labelledby="ai3g5hmg1ci0h0dsq1tb8u196tfkkzy0" class="crayons-icon"><title id="ai3g5hmg1ci0h0dsq1tb8u196tfkkzy0">Comments</title><path d="M10.5 5h3a6 6 0 110 12v2.625c-3.75-1.5-9-3.75-9-8.625a6 6 0 016-6zM12 15.5h1.5a4.501 4.501 0 001.722-8.657A4.5 4.5 0 0013.5 6.5h-3A4.5 4.5 0 006 11c0 2.707 1.846 4.475 6 6.36V15.5z"></path></svg> <span class="hidden s:inline">Add Comment</span> </a> </div> <div class="crayons-story__save"> <small class="crayons-story__tertiary fs-xs mr-2"> 2 min read </small> <button type="button" id="article-save-button-2086252" class="c-btn c-btn--icon-alone bookmark-button" data-reactable-id="2086252" data-article-author-id="432482" aria-label="Save post Ruby on Rails 8: Custom Compression for Encrypted Data to reading list" title="Save post Ruby on Rails 8: Custom Compression for Encrypted Data to reading list"> <span class="bm-initial"> <svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" aria-hidden="true"><path d="M6.75 4.5h10.5a.75.75 0 01.75.75v14.357a.375.375 0 01-.575.318L12 16.523l-5.426 3.401A.375.375 0 016 19.607V5.25a.75.75 0 01.75-.75zM16.5 6h-9v11.574l4.5-2.82 4.5 2.82V6z"></path></svg> </span> <span class="bm-success"> <svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" aria-hidden="true"><path d="M6.75 4.5h10.5a.75.75 0 01.75.75v14.357a.375.375 0 01-.575.318L12 16.523l-5.426 3.401A.375.375 0 016 19.607V5.25a.75.75 0 01.75-.75z"></path></svg> </span> </button> </div> </div> </div> </div> </div> <div class="crayons-story " data-feed-content-id="2039865" data-content-user-id="214941"> <a href="/nemuba/ruby-on-rails-autenticacao-utilizando-devise-keycloak-12ae" aria-labelledby="article-link-2039865" class="crayons-story__hidden-navigation-link">Ruby on Rails: Autenticação utilizando Devise + Keycloak</a> <div class="crayons-story__body"> <div class="crayons-story__top"> <div class="crayons-story__meta"> <div class="crayons-story__author-pic"> <a href="/nemuba" class="crayons-avatar crayons-avatar--l "> <img src="https://media.dev.to/dynamic/image/width=90,height=90,fit=cover,gravity=auto,format=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Fuser%2Fprofile_image%2F214941%2F5964545d-9699-4690-a30b-9e2328858860.jpeg" alt="nemuba profile" class="crayons-avatar__image" loading="lazy" /> </a> </div> <div> <div> <a href="/nemuba" class="crayons-story__secondary fw-medium m:hidden"> Alef Ojeda de Oliveira </a> <div class="profile-preview-card relative mb-4 s:mb-0 fw-medium hidden m:inline-block"> <button id="story-author-preview-trigger-2039865" aria-controls="story-author-preview-content-2039865" class="profile-preview-card__trigger fs-s p-1 -ml-1 -my-2 crayons-btn crayons-btn--ghost" aria-label="Alef Ojeda de Oliveira profile details"> Alef Ojeda de Oliveira </button> <div id="story-author-preview-content-2039865" class="profile-preview-card__content crayons-dropdown branded-7 p-4 pt-0" style="border-top-color: var(--card-color);" data-repositioning-dropdown="true" data-testid="profile-preview-card"> <div class="gap-4 grid"> <div class="-mt-4"> <a href="/nemuba" class="flex"> <span class="crayons-avatar crayons-avatar--xl mr-2 shrink-0"> <img src="https://media.dev.to/dynamic/image/width=90,height=90,fit=cover,gravity=auto,format=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Fuser%2Fprofile_image%2F214941%2F5964545d-9699-4690-a30b-9e2328858860.jpeg" class="crayons-avatar__image" alt="" loading="lazy" /> </span> <span class="crayons-link crayons-subtitle-2 mt-5">Alef Ojeda de Oliveira</span> </a> </div> <div class="print-hidden"> <button class="crayons-btn follow-action-button whitespace-nowrap follow-user w-100" data-info='{"style":"full","id":214941,"className":"User","name":"Alef Ojeda de Oliveira"}'> Follow </button> </div> <div class="author-preview-metadata-container" data-author-id="214941"></div> </div> </div> </div> </div> <a href="/nemuba/ruby-on-rails-autenticacao-utilizando-devise-keycloak-12ae" class="crayons-story__tertiary fs-xs"><time datetime="2024-10-16T01:56:36Z">Oct 16</time><span class="time-ago-indicator-initial-placeholder" data-seconds="1729043796"></span></a> </div> </div> </div> <div class="crayons-story__indention"> <h2 class="crayons-story__title"> <a href="/nemuba/ruby-on-rails-autenticacao-utilizando-devise-keycloak-12ae" data-preload-image="" id="article-link-2039865"> Ruby on Rails: Autenticação utilizando Devise + Keycloak </a> </h2> <div class="crayons-story__tags"> <a class="crayons-tag crayons-tag--monochrome " style=" --tag-bg: rgba(204, 52, 45, 0.10); --tag-prefix: #CC342D; --tag-bg-hover: rgba(204, 52, 45, 0.10); --tag-prefix-hover: #CC342D; " href="/t/ruby"><span class="crayons-tag__prefix">#</span>ruby</a> <a class="crayons-tag crayons-tag--monochrome " style=" --tag-bg: rgba(204, 0, 0, 0.10); --tag-prefix: #cc0000; --tag-bg-hover: rgba(204, 0, 0, 0.10); --tag-prefix-hover: #cc0000; " href="/t/rails"><span class="crayons-tag__prefix">#</span>rails</a> <a class="crayons-tag crayons-tag--monochrome " style=" --tag-bg: rgba(59, 73, 223, 0.10); --tag-prefix: #3b49df; --tag-bg-hover: rgba(59, 73, 223, 0.10); --tag-prefix-hover: #3b49df; " href="/t/devise"><span class="crayons-tag__prefix">#</span>devise</a> <a class="crayons-tag crayons-tag--monochrome " style=" --tag-bg: rgba(59, 73, 223, 0.10); --tag-prefix: #3b49df; --tag-bg-hover: rgba(59, 73, 223, 0.10); --tag-prefix-hover: #3b49df; " href="/t/authentication"><span class="crayons-tag__prefix">#</span>authentication</a> </div> <div class="crayons-story__bottom"> <div class="crayons-story__details"> <a href="/nemuba/ruby-on-rails-autenticacao-utilizando-devise-keycloak-12ae#comments" class="crayons-btn crayons-btn--s crayons-btn--ghost crayons-btn--icon-left flex items-center" aria-label="Add a comment to post - Ruby on Rails: Autenticação utilizando Devise + Keycloak"> <svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" role="img" aria-labelledby="a9zlfmo7hss01fdyyfj7haog7sifsizu" class="crayons-icon"><title id="a9zlfmo7hss01fdyyfj7haog7sifsizu">Comments</title><path d="M10.5 5h3a6 6 0 110 12v2.625c-3.75-1.5-9-3.75-9-8.625a6 6 0 016-6zM12 15.5h1.5a4.501 4.501 0 001.722-8.657A4.5 4.5 0 0013.5 6.5h-3A4.5 4.5 0 006 11c0 2.707 1.846 4.475 6 6.36V15.5z"></path></svg> <span class="hidden s:inline">Add Comment</span> </a> </div> <div class="crayons-story__save"> <small class="crayons-story__tertiary fs-xs mr-2"> 3 min read </small> <button type="button" id="article-save-button-2039865" class="c-btn c-btn--icon-alone bookmark-button" data-reactable-id="2039865" data-article-author-id="214941" aria-label="Save post Ruby on Rails: Autenticação utilizando Devise + Keycloak to reading list" title="Save post Ruby on Rails: Autenticação utilizando Devise + Keycloak to reading list"> <span class="bm-initial"> <svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" aria-hidden="true"><path d="M6.75 4.5h10.5a.75.75 0 01.75.75v14.357a.375.375 0 01-.575.318L12 16.523l-5.426 3.401A.375.375 0 016 19.607V5.25a.75.75 0 01.75-.75zM16.5 6h-9v11.574l4.5-2.82 4.5 2.82V6z"></path></svg> </span> <span class="bm-success"> <svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" aria-hidden="true"><path d="M6.75 4.5h10.5a.75.75 0 01.75.75v14.357a.375.375 0 01-.575.318L12 16.523l-5.426 3.401A.375.375 0 016 19.607V5.25a.75.75 0 01.75-.75z"></path></svg> </span> </button> </div> </div> </div> </div> </div> <div class="crayons-story " data-feed-content-id="2039101" data-content-user-id="625468"> <a href="/tsudhishnair/benchmarking-crunchy-data-for-latency-248o" aria-labelledby="article-link-2039101" class="crayons-story__hidden-navigation-link">Benchmarking Crunchy Data for latency</a> <div class="crayons-story__body"> <div class="crayons-story__top"> <div class="crayons-story__meta"> <div class="crayons-story__author-pic"> <a href="/tsudhishnair" class="crayons-avatar crayons-avatar--l "> <img src="https://media.dev.to/dynamic/image/width=90,height=90,fit=cover,gravity=auto,format=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Fuser%2Fprofile_image%2F625468%2Fd08515ae-1ea2-4baf-96e2-934598b63fd0.jpeg" alt="tsudhishnair profile" class="crayons-avatar__image" loading="lazy" /> </a> </div> <div> <div> <a href="/tsudhishnair" class="crayons-story__secondary fw-medium m:hidden"> T Sudhish Nair </a> <div class="profile-preview-card relative mb-4 s:mb-0 fw-medium hidden m:inline-block"> <button id="story-author-preview-trigger-2039101" aria-controls="story-author-preview-content-2039101" class="profile-preview-card__trigger fs-s p-1 -ml-1 -my-2 crayons-btn crayons-btn--ghost" aria-label="T Sudhish Nair profile details"> T Sudhish Nair </button> <div id="story-author-preview-content-2039101" class="profile-preview-card__content crayons-dropdown branded-7 p-4 pt-0" style="border-top-color: var(--card-color);" data-repositioning-dropdown="true" data-testid="profile-preview-card"> <div class="gap-4 grid"> <div class="-mt-4"> <a href="/tsudhishnair" class="flex"> <span class="crayons-avatar crayons-avatar--xl mr-2 shrink-0"> <img src="https://media.dev.to/dynamic/image/width=90,height=90,fit=cover,gravity=auto,format=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Fuser%2Fprofile_image%2F625468%2Fd08515ae-1ea2-4baf-96e2-934598b63fd0.jpeg" class="crayons-avatar__image" alt="" loading="lazy" /> </span> <span class="crayons-link crayons-subtitle-2 mt-5">T Sudhish Nair</span> </a> </div> <div class="print-hidden"> <button class="crayons-btn follow-action-button whitespace-nowrap follow-user w-100" data-info='{"style":"full","id":625468,"className":"User","name":"T Sudhish Nair"}'> Follow </button> </div> <div class="author-preview-metadata-container" data-author-id="625468"></div> </div> </div> </div> </div> <a href="/tsudhishnair/benchmarking-crunchy-data-for-latency-248o" class="crayons-story__tertiary fs-xs"><time datetime="2024-10-15T11:21:53Z">Oct 15</time><span class="time-ago-indicator-initial-placeholder" data-seconds="1728991313"></span></a> </div> </div> </div> <div class="crayons-story__indention"> <h2 class="crayons-story__title"> <a href="/tsudhishnair/benchmarking-crunchy-data-for-latency-248o" data-preload-image="" id="article-link-2039101"> Benchmarking Crunchy Data for latency </a> </h2> <div class="crayons-story__tags"> <a class="crayons-tag crayons-tag--monochrome " style=" --tag-bg: rgba(86, 39, 101, 0.10); --tag-prefix: #562765; --tag-bg-hover: rgba(86, 39, 101, 0.10); --tag-prefix-hover: #562765; " href="/t/webdev"><span class="crayons-tag__prefix">#</span>webdev</a> <a class="crayons-tag crayons-tag--monochrome " style=" --tag-bg: rgba(237, 21, 86, 0.10); --tag-prefix: #ED1556; --tag-bg-hover: rgba(237, 21, 86, 0.10); --tag-prefix-hover: #ED1556; " href="/t/database"><span class="crayons-tag__prefix">#</span>database</a> <a class="crayons-tag crayons-tag--monochrome " style=" --tag-bg: rgba(204, 0, 0, 0.10); --tag-prefix: #cc0000; --tag-bg-hover: rgba(204, 0, 0, 0.10); --tag-prefix-hover: #cc0000; " href="/t/rails"><span class="crayons-tag__prefix">#</span>rails</a> <a class="crayons-tag crayons-tag--monochrome " style=" --tag-bg: rgba(59, 73, 223, 0.10); --tag-prefix: #3b49df; --tag-bg-hover: rgba(59, 73, 223, 0.10); --tag-prefix-hover: #3b49df; " href="/t/backend"><span class="crayons-tag__prefix">#</span>backend</a> </div> <div class="crayons-story__bottom"> <div class="crayons-story__details"> <a href="/tsudhishnair/benchmarking-crunchy-data-for-latency-248o#comments" class="crayons-btn crayons-btn--s crayons-btn--ghost crayons-btn--icon-left flex items-center" aria-label="Add a comment to post - Benchmarking Crunchy Data for latency"> <svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" role="img" aria-labelledby="a592hq3q8p7p8e85futefa55wk8l44am" class="crayons-icon"><title id="a592hq3q8p7p8e85futefa55wk8l44am">Comments</title><path d="M10.5 5h3a6 6 0 110 12v2.625c-3.75-1.5-9-3.75-9-8.625a6 6 0 016-6zM12 15.5h1.5a4.501 4.501 0 001.722-8.657A4.5 4.5 0 0013.5 6.5h-3A4.5 4.5 0 006 11c0 2.707 1.846 4.475 6 6.36V15.5z"></path></svg> <span class="hidden s:inline">Add Comment</span> </a> </div> <div class="crayons-story__save"> <small class="crayons-story__tertiary fs-xs mr-2"> 1 min read </small> <button type="button" id="article-save-button-2039101" class="c-btn c-btn--icon-alone bookmark-button" data-reactable-id="2039101" data-article-author-id="625468" aria-label="Save post Benchmarking Crunchy Data for latency to reading list" title="Save post Benchmarking Crunchy Data for latency to reading list"> <span class="bm-initial"> <svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" aria-hidden="true"><path d="M6.75 4.5h10.5a.75.75 0 01.75.75v14.357a.375.375 0 01-.575.318L12 16.523l-5.426 3.401A.375.375 0 016 19.607V5.25a.75.75 0 01.75-.75zM16.5 6h-9v11.574l4.5-2.82 4.5 2.82V6z"></path></svg> </span> <span class="bm-success"> <svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" aria-hidden="true"><path d="M6.75 4.5h10.5a.75.75 0 01.75.75v14.357a.375.375 0 01-.575.318L12 16.523l-5.426 3.401A.375.375 0 016 19.607V5.25a.75.75 0 01.75-.75z"></path></svg> </span> </button> </div> </div> </div> </div> </div> <div class="crayons-story " data-feed-content-id="2106645" data-content-user-id="795109"> <a href="/alexandrecalaca/ruby-one-of-the-top-5-highest-paying-technologies-according-to-stack-overflow-5dc7" aria-labelledby="article-link-2106645" class="crayons-story__hidden-navigation-link">Ruby: One of the top 5 highest-paying technologies, according to Stack overflow</a> <div class="crayons-story__body"> <div class="crayons-story__top"> <div class="crayons-story__meta"> <div class="crayons-story__author-pic"> <a href="/alexandrecalaca" class="crayons-avatar crayons-avatar--l "> <img src="https://media2.dev.to/dynamic/image/width=90,height=90,fit=cover,gravity=auto,format=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Fuser%2Fprofile_image%2F795109%2F9bf23429-1053-4890-909d-96e25f3a7327.jpeg" alt="alexandrecalaca profile" class="crayons-avatar__image" loading="lazy" /> </a> </div> <div> <div> <a href="/alexandrecalaca" class="crayons-story__secondary fw-medium m:hidden"> Alexandre Calaça </a> <div class="profile-preview-card relative mb-4 s:mb-0 fw-medium hidden m:inline-block"> <button id="story-author-preview-trigger-2106645" aria-controls="story-author-preview-content-2106645" class="profile-preview-card__trigger fs-s p-1 -ml-1 -my-2 crayons-btn crayons-btn--ghost" aria-label="Alexandre Calaça profile details"> Alexandre Calaça </button> <div id="story-author-preview-content-2106645" class="profile-preview-card__content crayons-dropdown branded-7 p-4 pt-0" style="border-top-color: var(--card-color);" data-repositioning-dropdown="true" data-testid="profile-preview-card"> <div class="gap-4 grid"> <div class="-mt-4"> <a href="/alexandrecalaca" class="flex"> <span class="crayons-avatar crayons-avatar--xl mr-2 shrink-0"> <img src="https://media2.dev.to/dynamic/image/width=90,height=90,fit=cover,gravity=auto,format=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Fuser%2Fprofile_image%2F795109%2F9bf23429-1053-4890-909d-96e25f3a7327.jpeg" class="crayons-avatar__image" alt="" loading="lazy" /> </span> <span class="crayons-link crayons-subtitle-2 mt-5">Alexandre Calaça</span> </a> </div> <div class="print-hidden"> <button class="crayons-btn follow-action-button whitespace-nowrap follow-user w-100" data-info='{"style":"full","id":795109,"className":"User","name":"Alexandre Calaça"}'> Follow </button> </div> <div class="author-preview-metadata-container" data-author-id="795109"></div> </div> </div> </div> </div> <a href="/alexandrecalaca/ruby-one-of-the-top-5-highest-paying-technologies-according-to-stack-overflow-5dc7" class="crayons-story__tertiary fs-xs"><time datetime="2024-11-16T04:51:13Z">Nov 16</time><span class="time-ago-indicator-initial-placeholder" data-seconds="1731732673"></span></a> </div> </div> </div> <div class="crayons-story__indention"> <h2 class="crayons-story__title"> <a href="/alexandrecalaca/ruby-one-of-the-top-5-highest-paying-technologies-according-to-stack-overflow-5dc7" data-preload-image="https://media2.dev.to/dynamic/image/width=1000,height=420,fit=cover,gravity=auto,format=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F5y2l2qubq2ed6p5ndh3x.png" id="article-link-2106645"> Ruby: One of the top 5 highest-paying technologies, according to Stack overflow </a> </h2> <div class="crayons-story__tags"> <a class="crayons-tag crayons-tag--monochrome " style=" --tag-bg: rgba(204, 52, 45, 0.10); --tag-prefix: #CC342D; --tag-bg-hover: rgba(204, 52, 45, 0.10); --tag-prefix-hover: #CC342D; " href="/t/ruby"><span class="crayons-tag__prefix">#</span>ruby</a> <a class="crayons-tag crayons-tag--monochrome " style=" --tag-bg: rgba(86, 39, 101, 0.10); --tag-prefix: #562765; --tag-bg-hover: rgba(86, 39, 101, 0.10); --tag-prefix-hover: #562765; " href="/t/webdev"><span class="crayons-tag__prefix">#</span>webdev</a> <a class="crayons-tag crayons-tag--monochrome " style=" --tag-bg: rgba(204, 0, 0, 0.10); --tag-prefix: #cc0000; --tag-bg-hover: rgba(204, 0, 0, 0.10); --tag-prefix-hover: #cc0000; " href="/t/rails"><span class="crayons-tag__prefix">#</span>rails</a> <a class="crayons-tag crayons-tag--monochrome " style=" --tag-bg: rgba(137, 6, 6, 0.10); --tag-prefix: #890606; --tag-bg-hover: rgba(137, 6, 6, 0.10); --tag-prefix-hover: #890606; " href="/t/programming"><span class="crayons-tag__prefix">#</span>programming</a> </div> <div class="crayons-story__bottom"> <div class="crayons-story__details"> <a href="/alexandrecalaca/ruby-one-of-the-top-5-highest-paying-technologies-according-to-stack-overflow-5dc7" class="crayons-btn crayons-btn--s crayons-btn--ghost crayons-btn--icon-left" data-reaction-count data-reactable-id="2106645" aria-label="Add a comment to post - Ruby: One of the top 5 highest-paying technologies, according to Stack overflow"> <div class="multiple_reactions_aggregate"> <span class="multiple_reactions_icons_container" dir="rtl"> <span class="crayons_icon_container"> <img src="https://assets.dev.to/assets/fire-f60e7a582391810302117f987b22a8ef04a2fe0df7e3258a5f49332df1cec71e.svg" width="18" height="18" /> </span> <span class="crayons_icon_container"> <img src="https://assets.dev.to/assets/raised-hands-74b2099fd66a39f2d7eed9305ee0f4553df0eb7b4f11b01b6b1b499973048fe5.svg" width="18" height="18" /> </span> <span class="crayons_icon_container"> <img src="https://assets.dev.to/assets/exploding-head-daceb38d627e6ae9b730f36a1e390fca556a4289d5a41abb2c35068ad3e2c4b5.svg" width="18" height="18" /> </span> <span class="crayons_icon_container"> <img src="https://assets.dev.to/assets/multi-unicorn-b44d6f8c23cdd00964192bedc38af3e82463978aa611b4365bd33a0f1f4f3e97.svg" width="18" height="18" /> </span> <span class="crayons_icon_container"> <img src="https://assets.dev.to/assets/sparkle-heart-5f9bee3767e18deb1bb725290cb151c25234768a0e9a2bd39370c382d02920cf.svg" width="18" height="18" /> </span> </span> <span class="aggregate_reactions_counter">8<span class="hidden s:inline"> reactions</span></span> </div> </a> <a href="/alexandrecalaca/ruby-one-of-the-top-5-highest-paying-technologies-according-to-stack-overflow-5dc7#comments" class="crayons-btn crayons-btn--s crayons-btn--ghost crayons-btn--icon-left flex items-center" aria-label="Add a comment to post - Ruby: One of the top 5 highest-paying technologies, according to Stack overflow"> <svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" role="img" aria-labelledby="amp4o37n4qh5t3faf935ur6sg9b0pwxa" class="crayons-icon"><title id="amp4o37n4qh5t3faf935ur6sg9b0pwxa">Comments</title><path d="M10.5 5h3a6 6 0 110 12v2.625c-3.75-1.5-9-3.75-9-8.625a6 6 0 016-6zM12 15.5h1.5a4.501 4.501 0 001.722-8.657A4.5 4.5 0 0013.5 6.5h-3A4.5 4.5 0 006 11c0 2.707 1.846 4.475 6 6.36V15.5z"></path></svg> <span class="hidden s:inline">Add Comment</span> </a> </div> <div class="crayons-story__save"> <small class="crayons-story__tertiary fs-xs mr-2"> 6 min read </small> <button type="button" id="article-save-button-2106645" class="c-btn c-btn--icon-alone bookmark-button" data-reactable-id="2106645" data-article-author-id="795109" aria-label="Save post Ruby: One of the top 5 highest-paying technologies, according to Stack overflow to reading list" title="Save post Ruby: One of the top 5 highest-paying technologies, according to Stack overflow to reading list"> <span class="bm-initial"> <svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" aria-hidden="true"><path d="M6.75 4.5h10.5a.75.75 0 01.75.75v14.357a.375.375 0 01-.575.318L12 16.523l-5.426 3.401A.375.375 0 016 19.607V5.25a.75.75 0 01.75-.75zM16.5 6h-9v11.574l4.5-2.82 4.5 2.82V6z"></path></svg> </span> <span class="bm-success"> <svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" aria-hidden="true"><path d="M6.75 4.5h10.5a.75.75 0 01.75.75v14.357a.375.375 0 01-.575.318L12 16.523l-5.426 3.401A.375.375 0 016 19.607V5.25a.75.75 0 01.75-.75z"></path></svg> </span> </button> </div> </div> </div> </div> </div> <div class="crayons-story " data-feed-content-id="2039278" data-content-user-id="1172988"> <a href="/railsdesigner/changing-css-as-you-scroll-with-stimulus-5854" aria-labelledby="article-link-2039278" class="crayons-story__hidden-navigation-link">Changing CSS as You Scroll with Stimulus</a> <div class="crayons-story__body"> <div class="crayons-story__top"> <div class="crayons-story__meta"> <div class="crayons-story__author-pic"> <a href="/railsdesigner" class="crayons-avatar crayons-avatar--l "> <img src="https://media.dev.to/dynamic/image/width=90,height=90,fit=cover,gravity=auto,format=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Fuser%2Fprofile_image%2F1172988%2F12fc6c7d-f168-4e28-bd6e-fb4d3715b8d5.jpg" alt="railsdesigner profile" class="crayons-avatar__image" loading="lazy" /> </a> </div> <div> <div> <a href="/railsdesigner" class="crayons-story__secondary fw-medium m:hidden"> Rails Designer </a> <div class="profile-preview-card relative mb-4 s:mb-0 fw-medium hidden m:inline-block"> <button id="story-author-preview-trigger-2039278" aria-controls="story-author-preview-content-2039278" class="profile-preview-card__trigger fs-s p-1 -ml-1 -my-2 crayons-btn crayons-btn--ghost" aria-label="Rails Designer profile details"> Rails Designer </button> <div id="story-author-preview-content-2039278" class="profile-preview-card__content crayons-dropdown branded-7 p-4 pt-0" style="border-top-color: var(--card-color);" data-repositioning-dropdown="true" data-testid="profile-preview-card"> <div class="gap-4 grid"> <div class="-mt-4"> <a href="/railsdesigner" class="flex"> <span class="crayons-avatar crayons-avatar--xl mr-2 shrink-0"> <img src="https://media.dev.to/dynamic/image/width=90,height=90,fit=cover,gravity=auto,format=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Fuser%2Fprofile_image%2F1172988%2F12fc6c7d-f168-4e28-bd6e-fb4d3715b8d5.jpg" class="crayons-avatar__image" alt="" loading="lazy" /> </span> <span class="crayons-link crayons-subtitle-2 mt-5">Rails Designer</span> </a> </div> <div class="print-hidden"> <button class="crayons-btn follow-action-button whitespace-nowrap follow-user w-100" data-info='{"style":"full","id":1172988,"className":"User","name":"Rails Designer"}'> Follow </button> </div> <div class="author-preview-metadata-container" data-author-id="1172988"></div> </div> </div> </div> </div> <a href="/railsdesigner/changing-css-as-you-scroll-with-stimulus-5854" class="crayons-story__tertiary fs-xs"><time datetime="2024-10-17T14:00:00Z">Oct 17</time><span class="time-ago-indicator-initial-placeholder" data-seconds="1729173600"></span></a> </div> </div> </div> <div class="crayons-story__indention"> <h2 class="crayons-story__title"> <a href="/railsdesigner/changing-css-as-you-scroll-with-stimulus-5854" data-preload-image="https://media2.dev.to/dynamic/image/width=1000,height=420,fit=cover,gravity=auto,format=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Figsbe63lte4dmxq8f6r9.jpg" id="article-link-2039278"> Changing CSS as You Scroll with Stimulus </a> </h2> <div class="crayons-story__tags"> <a class="crayons-tag crayons-tag--monochrome " style=" --tag-bg: rgba(0, 0, 0, 0.10); --tag-prefix: #000000; --tag-bg-hover: rgba(0, 0, 0, 0.10); --tag-prefix-hover: #000000; " href="/t/hotwire"><span class="crayons-tag__prefix">#</span>hotwire</a> <a class="crayons-tag crayons-tag--monochrome " style=" --tag-bg: rgba(247, 223, 30, 0.10); --tag-prefix: #f7df1e; --tag-bg-hover: rgba(247, 223, 30, 0.10); --tag-prefix-hover: #f7df1e; " href="/t/javascript"><span class="crayons-tag__prefix">#</span>javascript</a> <a class="crayons-tag crayons-tag--monochrome " style=" --tag-bg: rgba(204, 0, 0, 0.10); --tag-prefix: #cc0000; --tag-bg-hover: rgba(204, 0, 0, 0.10); --tag-prefix-hover: #cc0000; " href="/t/rails"><span class="crayons-tag__prefix">#</span>rails</a> <a class="crayons-tag crayons-tag--monochrome " style=" --tag-bg: rgba(86, 39, 101, 0.10); --tag-prefix: #562765; --tag-bg-hover: rgba(86, 39, 101, 0.10); --tag-prefix-hover: #562765; " href="/t/webdev"><span class="crayons-tag__prefix">#</span>webdev</a> </div> <div class="crayons-story__bottom"> <div class="crayons-story__details"> <a href="/railsdesigner/changing-css-as-you-scroll-with-stimulus-5854" class="crayons-btn crayons-btn--s crayons-btn--ghost crayons-btn--icon-left" data-reaction-count data-reactable-id="2039278" aria-label="Add a comment to post - Changing CSS as You Scroll with Stimulus"> <div class="multiple_reactions_aggregate"> <span class="multiple_reactions_icons_container" dir="rtl"> <span class="crayons_icon_container"> <img src="https://assets.dev.to/assets/sparkle-heart-5f9bee3767e18deb1bb725290cb151c25234768a0e9a2bd39370c382d02920cf.svg" width="18" height="18" /> </span> </span> <span class="aggregate_reactions_counter">2<span class="hidden s:inline"> reactions</span></span> </div> </a> <a href="/railsdesigner/changing-css-as-you-scroll-with-stimulus-5854#comments" class="crayons-btn crayons-btn--s crayons-btn--ghost crayons-btn--icon-left flex items-center" aria-label="Add a comment to post - Changing CSS as You Scroll with Stimulus"> <svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" role="img" aria-labelledby="aove7atnst40qa8one5m6mj4lwxkydys" class="crayons-icon"><title id="aove7atnst40qa8one5m6mj4lwxkydys">Comments</title><path d="M10.5 5h3a6 6 0 110 12v2.625c-3.75-1.5-9-3.75-9-8.625a6 6 0 016-6zM12 15.5h1.5a4.501 4.501 0 001.722-8.657A4.5 4.5 0 0013.5 6.5h-3A4.5 4.5 0 006 11c0 2.707 1.846 4.475 6 6.36V15.5z"></path></svg> 1<span class="hidden s:inline"> comment</span> </a> </div> <div class="crayons-story__save"> <small class="crayons-story__tertiary fs-xs mr-2"> 2 min read </small> <button type="button" id="article-save-button-2039278" class="c-btn c-btn--icon-alone bookmark-button" data-reactable-id="2039278" data-article-author-id="1172988" aria-label="Save post Changing CSS as You Scroll with Stimulus to reading list" title="Save post Changing CSS as You Scroll with Stimulus to reading list"> <span class="bm-initial"> <svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" aria-hidden="true"><path d="M6.75 4.5h10.5a.75.75 0 01.75.75v14.357a.375.375 0 01-.575.318L12 16.523l-5.426 3.401A.375.375 0 016 19.607V5.25a.75.75 0 01.75-.75zM16.5 6h-9v11.574l4.5-2.82 4.5 2.82V6z"></path></svg> </span> <span class="bm-success"> <svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" aria-hidden="true"><path d="M6.75 4.5h10.5a.75.75 0 01.75.75v14.357a.375.375 0 01-.575.318L12 16.523l-5.426 3.401A.375.375 0 016 19.607V5.25a.75.75 0 01.75-.75z"></path></svg> </span> </button> </div> </div> </div> </div> </div> <div class="crayons-story " data-feed-content-id="2034812" data-content-user-id="1408667"> <a href="/couchbase/weekly-updates-october-11-2024-249a" aria-labelledby="article-link-2034812" class="crayons-story__hidden-navigation-link">Weekly Updates - October 11, 2024</a> <div class="crayons-story__body"> <div class="crayons-story__top"> <div class="crayons-story__meta"> <div class="crayons-story__author-pic"> <a class="crayons-logo crayons-logo--l" href="/couchbase"> <img alt="Couchbase logo" src="https://media.dev.to/dynamic/image/width=90,height=90,fit=cover,gravity=auto,format=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Forganization%2Fprofile_image%2F6926%2Fc8d4aa0d-13b7-4b86-a6b2-1dabc361daa2.png" class="crayons-logo__image" loading="lazy" /> </a> <a href="/carrieke" class="crayons-avatar crayons-avatar--s absolute -right-2 -bottom-2 border-solid border-2 border-base-inverted "> <img src="https://media.dev.to/dynamic/image/width=90,height=90,fit=cover,gravity=auto,format=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Fuser%2Fprofile_image%2F1408667%2F8235074d-3e96-485f-993d-e41846251d73.jpg" alt="carrieke profile" class="crayons-avatar__image" loading="lazy" /> </a> </div> <div> <div> <a href="/carrieke" class="crayons-story__secondary fw-medium m:hidden"> Caroline K </a> <div class="profile-preview-card relative mb-4 s:mb-0 fw-medium hidden m:inline-block"> <button id="story-author-preview-trigger-2034812" aria-controls="story-author-preview-content-2034812" class="profile-preview-card__trigger fs-s p-1 -ml-1 -my-2 crayons-btn crayons-btn--ghost" aria-label="Caroline K profile details"> Caroline K </button> <div id="story-author-preview-content-2034812" class="profile-preview-card__content crayons-dropdown branded-7 p-4 pt-0" style="border-top-color: var(--card-color);" data-repositioning-dropdown="true" data-testid="profile-preview-card"> <div class="gap-4 grid"> <div class="-mt-4"> <a href="/carrieke" class="flex"> <span class="crayons-avatar crayons-avatar--xl mr-2 shrink-0"> <img src="https://media.dev.to/dynamic/image/width=90,height=90,fit=cover,gravity=auto,format=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Fuser%2Fprofile_image%2F1408667%2F8235074d-3e96-485f-993d-e41846251d73.jpg" class="crayons-avatar__image" alt="" loading="lazy" /> </span> <span class="crayons-link crayons-subtitle-2 mt-5">Caroline K</span> </a> </div> <div class="print-hidden"> <button class="crayons-btn follow-action-button whitespace-nowrap follow-user w-100" data-info='{"style":"full","id":1408667,"className":"User","name":"Caroline K"}'> Follow </button> </div> <div class="author-preview-metadata-container" data-author-id="1408667"></div> </div> </div> </div> <span> <span class="crayons-story__tertiary fw-normal"> for </span><a href="/couchbase" class="crayons-story__secondary fw-medium">Couchbase</a> </span> </div> <a href="/couchbase/weekly-updates-october-11-2024-249a" class="crayons-story__tertiary fs-xs"><time datetime="2024-10-11T19:11:54Z">Oct 11</time><span class="time-ago-indicator-initial-placeholder" data-seconds="1728673914"></span></a> </div> </div> </div> <div class="crayons-story__indention"> <h2 class="crayons-story__title"> <a href="/couchbase/weekly-updates-october-11-2024-249a" data-preload-image="https://media2.dev.to/dynamic/image/width=1000,height=420,fit=cover,gravity=auto,format=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F35to2r6fenpu8c4rhumu.jpg" id="article-link-2034812"> Weekly Updates - October 11, 2024 </a> </h2> <div class="crayons-story__tags"> <a class="crayons-tag crayons-tag--monochrome " style=" --tag-bg: rgba(241, 0, 0, 0.10); --tag-prefix: #f10000; --tag-bg-hover: rgba(241, 0, 0, 0.10); --tag-prefix-hover: #f10000; " href="/t/couchbase"><span class="crayons-tag__prefix">#</span>couchbase</a> <a class="crayons-tag crayons-tag--monochrome " style=" --tag-bg: rgba(204, 0, 0, 0.10); --tag-prefix: #cc0000; --tag-bg-hover: rgba(204, 0, 0, 0.10); --tag-prefix-hover: #cc0000; " href="/t/rails"><span class="crayons-tag__prefix">#</span>rails</a> <a class="crayons-tag crayons-tag--monochrome " style=" --tag-bg: rgba(23, 253, 26, 0.10); --tag-prefix: #17fd1a; --tag-bg-hover: rgba(23, 253, 26, 0.10); --tag-prefix-hover: #17fd1a; " href="/t/ai"><span class="crayons-tag__prefix">#</span>ai</a> <a class="crayons-tag crayons-tag--monochrome " style=" --tag-bg: rgba(41, 22, 31, 0.10); --tag-prefix: #29161f; --tag-bg-hover: rgba(41, 22, 31, 0.10); --tag-prefix-hover: #29161f; " href="/t/hacktoberfest"><span class="crayons-tag__prefix">#</span>hacktoberfest</a> </div> <div class="crayons-story__bottom"> <div class="crayons-story__details"> <a href="/couchbase/weekly-updates-october-11-2024-249a#comments" class="crayons-btn crayons-btn--s crayons-btn--ghost crayons-btn--icon-left flex items-center" aria-label="Add a comment to post - Weekly Updates - October 11, 2024"> <svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" role="img" aria-labelledby="anzt6gt4ctb0w3s8v4y8e4zis3z3hlns" class="crayons-icon"><title id="anzt6gt4ctb0w3s8v4y8e4zis3z3hlns">Comments</title><path d="M10.5 5h3a6 6 0 110 12v2.625c-3.75-1.5-9-3.75-9-8.625a6 6 0 016-6zM12 15.5h1.5a4.501 4.501 0 001.722-8.657A4.5 4.5 0 0013.5 6.5h-3A4.5 4.5 0 006 11c0 2.707 1.846 4.475 6 6.36V15.5z"></path></svg> <span class="hidden s:inline">Add Comment</span> </a> </div> <div class="crayons-story__save"> <small class="crayons-story__tertiary fs-xs mr-2"> 1 min read </small> <button type="button" id="article-save-button-2034812" class="c-btn c-btn--icon-alone bookmark-button" data-reactable-id="2034812" data-article-author-id="1408667" aria-label="Save post Weekly Updates - October 11, 2024 to reading list" title="Save post Weekly Updates - October 11, 2024 to reading list"> <span class="bm-initial"> <svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" aria-hidden="true"><path d="M6.75 4.5h10.5a.75.75 0 01.75.75v14.357a.375.375 0 01-.575.318L12 16.523l-5.426 3.401A.375.375 0 016 19.607V5.25a.75.75 0 01.75-.75zM16.5 6h-9v11.574l4.5-2.82 4.5 2.82V6z"></path></svg> </span> <span class="bm-success"> <svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" aria-hidden="true"><path d="M6.75 4.5h10.5a.75.75 0 01.75.75v14.357a.375.375 0 01-.575.318L12 16.523l-5.426 3.401A.375.375 0 016 19.607V5.25a.75.75 0 01.75-.75z"></path></svg> </span> </button> </div> </div> </div> </div> </div> <div class="crayons-story " data-feed-content-id="2103920" data-content-user-id="432482"> <a href="/jetthoughts/ruby-on-rails-case-study-how-jetthoughts-improved-openapplys-code-and-ux-5acc" aria-labelledby="article-link-2103920" class="crayons-story__hidden-navigation-link">Ruby on Rails Case Study: How JetThoughts Improved OpenApply's Code and UX</a> <div class="crayons-story__body"> <div class="crayons-story__top"> <div class="crayons-story__meta"> <div class="crayons-story__author-pic"> <a class="crayons-logo crayons-logo--l" href="/jetthoughts"> <img alt="JetThoughts logo" src="https://media2.dev.to/dynamic/image/width=90,height=90,fit=cover,gravity=auto,format=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Forganization%2Fprofile_image%2F2669%2Facd9cc11-3042-4c41-b4df-679a86ec90cc.jpg" class="crayons-logo__image" loading="lazy" /> </a> <a href="/jetthoughts-dev" class="crayons-avatar crayons-avatar--s absolute -right-2 -bottom-2 border-solid border-2 border-base-inverted "> <img src="https://media2.dev.to/dynamic/image/width=90,height=90,fit=cover,gravity=auto,format=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Fuser%2Fprofile_image%2F432482%2F8e0d29a4-85ee-4c5c-a549-20db3d431664.jpg" alt="jetthoughts-dev profile" class="crayons-avatar__image" loading="lazy" /> </a> </div> <div> <div> <a href="/jetthoughts-dev" class="crayons-story__secondary fw-medium m:hidden"> JetThoughts Dev </a> <div class="profile-preview-card relative mb-4 s:mb-0 fw-medium hidden m:inline-block"> <button id="story-author-preview-trigger-2103920" aria-controls="story-author-preview-content-2103920" class="profile-preview-card__trigger fs-s p-1 -ml-1 -my-2 crayons-btn crayons-btn--ghost" aria-label="JetThoughts Dev profile details"> JetThoughts Dev </button> <div id="story-author-preview-content-2103920" class="profile-preview-card__content crayons-dropdown branded-7 p-4 pt-0" style="border-top-color: var(--card-color);" data-repositioning-dropdown="true" data-testid="profile-preview-card"> <div class="gap-4 grid"> <div class="-mt-4"> <a href="/jetthoughts-dev" class="flex"> <span class="crayons-avatar crayons-avatar--xl mr-2 shrink-0"> <img src="https://media2.dev.to/dynamic/image/width=90,height=90,fit=cover,gravity=auto,format=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Fuser%2Fprofile_image%2F432482%2F8e0d29a4-85ee-4c5c-a549-20db3d431664.jpg" class="crayons-avatar__image" alt="" loading="lazy" /> </span> <span class="crayons-link crayons-subtitle-2 mt-5">JetThoughts Dev</span> </a> </div> <div class="print-hidden"> <button class="crayons-btn follow-action-button whitespace-nowrap follow-user w-100" data-info='{"style":"full","id":432482,"className":"User","name":"JetThoughts Dev"}'> Follow </button> </div> <div class="author-preview-metadata-container" data-author-id="432482"></div> </div> </div> </div> <span> <span class="crayons-story__tertiary fw-normal"> for </span><a href="/jetthoughts" class="crayons-story__secondary fw-medium">JetThoughts</a> </span> </div> <a href="/jetthoughts/ruby-on-rails-case-study-how-jetthoughts-improved-openapplys-code-and-ux-5acc" class="crayons-story__tertiary fs-xs"><time datetime="2024-11-14T09:58:59Z">Nov 14</time><span class="time-ago-indicator-initial-placeholder" data-seconds="1731578339"></span></a> </div> </div> </div> <div class="crayons-story__indention"> <h2 class="crayons-story__title"> <a href="/jetthoughts/ruby-on-rails-case-study-how-jetthoughts-improved-openapplys-code-and-ux-5acc" data-preload-image="https://media2.dev.to/dynamic/image/width=1000,height=420,fit=cover,gravity=auto,format=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F9248brx9dxs87ib7r7kx.png" id="article-link-2103920"> Ruby on Rails Case Study: How JetThoughts Improved OpenApply's Code and UX </a> </h2> <div class="crayons-story__tags"> <a class="crayons-tag crayons-tag--monochrome " style=" --tag-bg: rgba(204, 52, 45, 0.10); --tag-prefix: #CC342D; --tag-bg-hover: rgba(204, 52, 45, 0.10); --tag-prefix-hover: #CC342D; " href="/t/ruby"><span class="crayons-tag__prefix">#</span>ruby</a> <a class="crayons-tag crayons-tag--monochrome " style=" --tag-bg: rgba(204, 0, 0, 0.10); --tag-prefix: #cc0000; --tag-bg-hover: rgba(204, 0, 0, 0.10); --tag-prefix-hover: #cc0000; " href="/t/rails"><span class="crayons-tag__prefix">#</span>rails</a> <a class="crayons-tag crayons-tag--monochrome " style=" --tag-bg: rgba(175, 39, 242, 0.10); --tag-prefix: #af27f2; --tag-bg-hover: rgba(175, 39, 242, 0.10); --tag-prefix-hover: #af27f2; " href="/t/coding"><span class="crayons-tag__prefix">#</span>coding</a> <a class="crayons-tag crayons-tag--monochrome " style=" --tag-bg: rgba(0, 101, 179, 0.10); --tag-prefix: #0065B3; --tag-bg-hover: rgba(0, 101, 179, 0.10); --tag-prefix-hover: #0065B3; " href="/t/ux"><span class="crayons-tag__prefix">#</span>ux</a> </div> <div class="crayons-story__bottom"> <div class="crayons-story__details"> <a href="/jetthoughts/ruby-on-rails-case-study-how-jetthoughts-improved-openapplys-code-and-ux-5acc" class="crayons-btn crayons-btn--s crayons-btn--ghost crayons-btn--icon-left" data-reaction-count data-reactable-id="2103920" aria-label="Add a comment to post - Ruby on Rails Case Study: How JetThoughts Improved OpenApply's Code and UX"> <div class="multiple_reactions_aggregate"> <span class="multiple_reactions_icons_container" dir="rtl"> <span class="crayons_icon_container"> <img src="https://assets.dev.to/assets/fire-f60e7a582391810302117f987b22a8ef04a2fe0df7e3258a5f49332df1cec71e.svg" width="18" height="18" /> </span> <span class="crayons_icon_container"> <img src="https://assets.dev.to/assets/raised-hands-74b2099fd66a39f2d7eed9305ee0f4553df0eb7b4f11b01b6b1b499973048fe5.svg" width="18" height="18" /> </span> <span class="crayons_icon_container"> <img src="https://assets.dev.to/assets/exploding-head-daceb38d627e6ae9b730f36a1e390fca556a4289d5a41abb2c35068ad3e2c4b5.svg" width="18" height="18" /> </span> <span class="crayons_icon_container"> <img src="https://assets.dev.to/assets/multi-unicorn-b44d6f8c23cdd00964192bedc38af3e82463978aa611b4365bd33a0f1f4f3e97.svg" width="18" height="18" /> </span> <span class="crayons_icon_container"> <img src="https://assets.dev.to/assets/sparkle-heart-5f9bee3767e18deb1bb725290cb151c25234768a0e9a2bd39370c382d02920cf.svg" width="18" height="18" /> </span> </span> <span class="aggregate_reactions_counter">6<span class="hidden s:inline"> reactions</span></span> </div> </a> <a href="/jetthoughts/ruby-on-rails-case-study-how-jetthoughts-improved-openapplys-code-and-ux-5acc#comments" class="crayons-btn crayons-btn--s crayons-btn--ghost crayons-btn--icon-left flex items-center" aria-label="Add a comment to post - Ruby on Rails Case Study: How JetThoughts Improved OpenApply's Code and UX"> <svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" role="img" aria-labelledby="aa08l8qfbuk7d7s7gal41ctds15ak7zh" class="crayons-icon"><title id="aa08l8qfbuk7d7s7gal41ctds15ak7zh">Comments</title><path d="M10.5 5h3a6 6 0 110 12v2.625c-3.75-1.5-9-3.75-9-8.625a6 6 0 016-6zM12 15.5h1.5a4.501 4.501 0 001.722-8.657A4.5 4.5 0 0013.5 6.5h-3A4.5 4.5 0 006 11c0 2.707 1.846 4.475 6 6.36V15.5z"></path></svg> <span class="hidden s:inline">Add Comment</span> </a> </div> <div class="crayons-story__save"> <small class="crayons-story__tertiary fs-xs mr-2"> 2 min read </small> <button type="button" id="article-save-button-2103920" class="c-btn c-btn--icon-alone bookmark-button" data-reactable-id="2103920" data-article-author-id="432482" aria-label="Save post Ruby on Rails Case Study: How JetThoughts Improved OpenApply's Code and UX to reading list" title="Save post Ruby on Rails Case Study: How JetThoughts Improved OpenApply's Code and UX to reading list"> <span class="bm-initial"> <svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" aria-hidden="true"><path d="M6.75 4.5h10.5a.75.75 0 01.75.75v14.357a.375.375 0 01-.575.318L12 16.523l-5.426 3.401A.375.375 0 016 19.607V5.25a.75.75 0 01.75-.75zM16.5 6h-9v11.574l4.5-2.82 4.5 2.82V6z"></path></svg> </span> <span class="bm-success"> <svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" aria-hidden="true"><path d="M6.75 4.5h10.5a.75.75 0 01.75.75v14.357a.375.375 0 01-.575.318L12 16.523l-5.426 3.401A.375.375 0 016 19.607V5.25a.75.75 0 01.75-.75z"></path></svg> </span> </button> </div> </div> </div> </div> </div> <div class="crayons-story " data-feed-content-id="2103782" data-content-user-id="1063015"> <a href="/edenwheeler/10-useful-tips-for-ruby-on-rails-developers-2l67" aria-labelledby="article-link-2103782" class="crayons-story__hidden-navigation-link">10 Useful Tips For Ruby On Rails Developers</a> <div class="crayons-story__body"> <div class="crayons-story__top"> <div class="crayons-story__meta"> <div class="crayons-story__author-pic"> <a href="/edenwheeler" class="crayons-avatar crayons-avatar--l "> <img src="https://media2.dev.to/dynamic/image/width=90,height=90,fit=cover,gravity=auto,format=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Fuser%2Fprofile_image%2F1063015%2Fe90795f5-bbb3-4aef-a37c-2b89caa972c4.jpg" alt="edenwheeler profile" class="crayons-avatar__image" loading="lazy" /> </a> </div> <div> <div> <a href="/edenwheeler" class="crayons-story__secondary fw-medium m:hidden"> Eden Wheeler </a> <div class="profile-preview-card relative mb-4 s:mb-0 fw-medium hidden m:inline-block"> <button id="story-author-preview-trigger-2103782" aria-controls="story-author-preview-content-2103782" class="profile-preview-card__trigger fs-s p-1 -ml-1 -my-2 crayons-btn crayons-btn--ghost" aria-label="Eden Wheeler profile details"> Eden Wheeler </button> <div id="story-author-preview-content-2103782" class="profile-preview-card__content crayons-dropdown branded-7 p-4 pt-0" style="border-top-color: var(--card-color);" data-repositioning-dropdown="true" data-testid="profile-preview-card"> <div class="gap-4 grid"> <div class="-mt-4"> <a href="/edenwheeler" class="flex"> <span class="crayons-avatar crayons-avatar--xl mr-2 shrink-0"> <img src="https://media2.dev.to/dynamic/image/width=90,height=90,fit=cover,gravity=auto,format=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Fuser%2Fprofile_image%2F1063015%2Fe90795f5-bbb3-4aef-a37c-2b89caa972c4.jpg" class="crayons-avatar__image" alt="" loading="lazy" /> </span> <span class="crayons-link crayons-subtitle-2 mt-5">Eden Wheeler</span> </a> </div> <div class="print-hidden"> <button class="crayons-btn follow-action-button whitespace-nowrap follow-user w-100" data-info='{"style":"full","id":1063015,"className":"User","name":"Eden Wheeler"}'> Follow </button> </div> <div class="author-preview-metadata-container" data-author-id="1063015"></div> </div> </div> </div> </div> <a href="/edenwheeler/10-useful-tips-for-ruby-on-rails-developers-2l67" class="crayons-story__tertiary fs-xs"><time datetime="2024-11-14T07:55:49Z">Nov 14</time><span class="time-ago-indicator-initial-placeholder" data-seconds="1731570949"></span></a> </div> </div> </div> <div class="crayons-story__indention"> <h2 class="crayons-story__title"> <a href="/edenwheeler/10-useful-tips-for-ruby-on-rails-developers-2l67" data-preload-image="https://media2.dev.to/dynamic/image/width=1000,height=420,fit=cover,gravity=auto,format=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F2zvbmskmqumyj6rb2cjx.png" id="article-link-2103782"> 10 Useful Tips For Ruby On Rails Developers </a> </h2> <div class="crayons-story__tags"> <a class="crayons-tag crayons-tag--monochrome " style=" --tag-bg: rgba(204, 52, 45, 0.10); --tag-prefix: #CC342D; --tag-bg-hover: rgba(204, 52, 45, 0.10); --tag-prefix-hover: #CC342D; " href="/t/ruby"><span class="crayons-tag__prefix">#</span>ruby</a> <a class="crayons-tag crayons-tag--monochrome " style=" --tag-bg: rgba(204, 0, 0, 0.10); --tag-prefix: #cc0000; --tag-bg-hover: rgba(204, 0, 0, 0.10); --tag-prefix-hover: #cc0000; " href="/t/rails"><span class="crayons-tag__prefix">#</span>rails</a> <a class="crayons-tag crayons-tag--monochrome " style=" --tag-bg: rgba(59, 73, 223, 0.10); --tag-prefix: #3b49df; --tag-bg-hover: rgba(59, 73, 223, 0.10); --tag-prefix-hover: #3b49df; " href="/t/developers"><span class="crayons-tag__prefix">#</span>developers</a> <a class="crayons-tag crayons-tag--monochrome " style=" --tag-bg: rgba(0, 131, 53, 0.10); --tag-prefix: #008335; --tag-bg-hover: rgba(0, 131, 53, 0.10); --tag-prefix-hover: #008335; " href="/t/beginners"><span class="crayons-tag__prefix">#</span>beginners</a> </div> <div class="crayons-story__bottom"> <div class="crayons-story__details"> <a href="/edenwheeler/10-useful-tips-for-ruby-on-rails-developers-2l67" class="crayons-btn crayons-btn--s crayons-btn--ghost crayons-btn--icon-left" data-reaction-count data-reactable-id="2103782" aria-label="Add a comment to post - 10 Useful Tips For Ruby On Rails Developers"> <div class="multiple_reactions_aggregate"> <span class="multiple_reactions_icons_container" dir="rtl"> <span class="crayons_icon_container"> <img src="https://assets.dev.to/assets/sparkle-heart-5f9bee3767e18deb1bb725290cb151c25234768a0e9a2bd39370c382d02920cf.svg" width="18" height="18" /> </span> </span> <span class="aggregate_reactions_counter">1<span class="hidden s:inline"> reaction</span></span> </div> </a> <a href="/edenwheeler/10-useful-tips-for-ruby-on-rails-developers-2l67#comments" class="crayons-btn crayons-btn--s crayons-btn--ghost crayons-btn--icon-left flex items-center" aria-label="Add a comment to post - 10 Useful Tips For Ruby On Rails Developers"> <svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" role="img" aria-labelledby="aam1bttfv0vmcqhum8hluysk9ypb7gfo" class="crayons-icon"><title id="aam1bttfv0vmcqhum8hluysk9ypb7gfo">Comments</title><path d="M10.5 5h3a6 6 0 110 12v2.625c-3.75-1.5-9-3.75-9-8.625a6 6 0 016-6zM12 15.5h1.5a4.501 4.501 0 001.722-8.657A4.5 4.5 0 0013.5 6.5h-3A4.5 4.5 0 006 11c0 2.707 1.846 4.475 6 6.36V15.5z"></path></svg> 1<span class="hidden s:inline"> comment</span> </a> </div> <div class="crayons-story__save"> <small class="crayons-story__tertiary fs-xs mr-2"> 5 min read </small> <button type="button" id="article-save-button-2103782" class="c-btn c-btn--icon-alone bookmark-button" data-reactable-id="2103782" data-article-author-id="1063015" aria-label="Save post 10 Useful Tips For Ruby On Rails Developers to reading list" title="Save post 10 Useful Tips For Ruby On Rails Developers to reading list"> <span class="bm-initial"> <svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" aria-hidden="true"><path d="M6.75 4.5h10.5a.75.75 0 01.75.75v14.357a.375.375 0 01-.575.318L12 16.523l-5.426 3.401A.375.375 0 016 19.607V5.25a.75.75 0 01.75-.75zM16.5 6h-9v11.574l4.5-2.82 4.5 2.82V6z"></path></svg> </span> <span class="bm-success"> <svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" aria-hidden="true"><path d="M6.75 4.5h10.5a.75.75 0 01.75.75v14.357a.375.375 0 01-.575.318L12 16.523l-5.426 3.401A.375.375 0 016 19.607V5.25a.75.75 0 01.75-.75z"></path></svg> </span> </button> </div> </div> </div> </div> </div> <div class="crayons-story " data-feed-content-id="2073265" data-content-user-id="145919"> <a href="/dpaluy/testing-external-services-with-rspec-vcr-and-webmock-in-ruby-on-rails-4ndo" aria-labelledby="article-link-2073265" class="crayons-story__hidden-navigation-link">Testing External Services with RSpec, VCR, and WebMock in Ruby on Rails</a> <div class="crayons-story__body"> <div class="crayons-story__top"> <div class="crayons-story__meta"> <div class="crayons-story__author-pic"> <a href="/dpaluy" class="crayons-avatar crayons-avatar--l "> <img src="https://media2.dev.to/dynamic/image/width=90,height=90,fit=cover,gravity=auto,format=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Fuser%2Fprofile_image%2F145919%2F547f5da7-55fe-44b2-a4ee-ebf2a85d9260.png" alt="dpaluy profile" class="crayons-avatar__image" loading="lazy" /> </a> </div> <div> <div> <a href="/dpaluy" class="crayons-story__secondary fw-medium m:hidden"> David Paluy </a> <div class="profile-preview-card relative mb-4 s:mb-0 fw-medium hidden m:inline-block"> <button id="story-author-preview-trigger-2073265" aria-controls="story-author-preview-content-2073265" class="profile-preview-card__trigger fs-s p-1 -ml-1 -my-2 crayons-btn crayons-btn--ghost" aria-label="David Paluy profile details"> David Paluy </button> <div id="story-author-preview-content-2073265" class="profile-preview-card__content crayons-dropdown branded-7 p-4 pt-0" style="border-top-color: var(--card-color);" data-repositioning-dropdown="true" data-testid="profile-preview-card"> <div class="gap-4 grid"> <div class="-mt-4"> <a href="/dpaluy" class="flex"> <span class="crayons-avatar crayons-avatar--xl mr-2 shrink-0"> <img src="https://media2.dev.to/dynamic/image/width=90,height=90,fit=cover,gravity=auto,format=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Fuser%2Fprofile_image%2F145919%2F547f5da7-55fe-44b2-a4ee-ebf2a85d9260.png" class="crayons-avatar__image" alt="" loading="lazy" /> </span> <span class="crayons-link crayons-subtitle-2 mt-5">David Paluy</span> </a> </div> <div class="print-hidden"> <button class="crayons-btn follow-action-button whitespace-nowrap follow-user w-100" data-info='{"style":"full","id":145919,"className":"User","name":"David Paluy"}'> Follow </button> </div> <div class="author-preview-metadata-container" data-author-id="145919"></div> </div> </div> </div> </div> <a href="/dpaluy/testing-external-services-with-rspec-vcr-and-webmock-in-ruby-on-rails-4ndo" class="crayons-story__tertiary fs-xs"><time datetime="2024-11-02T22:20:05Z">Nov 2</time><span class="time-ago-indicator-initial-placeholder" data-seconds="1730586005"></span></a> </div> </div> </div> <div class="crayons-story__indention"> <h2 class="crayons-story__title"> <a href="/dpaluy/testing-external-services-with-rspec-vcr-and-webmock-in-ruby-on-rails-4ndo" data-preload-image="" id="article-link-2073265"> Testing External Services with RSpec, VCR, and WebMock in Ruby on Rails </a> </h2> <div class="crayons-story__tags"> <a class="crayons-tag crayons-tag--monochrome " style=" --tag-bg: rgba(59, 73, 223, 0.10); --tag-prefix: #3b49df; --tag-bg-hover: rgba(59, 73, 223, 0.10); --tag-prefix-hover: #3b49df; " href="/t/rspec"><span class="crayons-tag__prefix">#</span>rspec</a> <a class="crayons-tag crayons-tag--monochrome " style=" --tag-bg: rgba(204, 0, 0, 0.10); --tag-prefix: #cc0000; --tag-bg-hover: rgba(204, 0, 0, 0.10); --tag-prefix-hover: #cc0000; " href="/t/rails"><span class="crayons-tag__prefix">#</span>rails</a> <a class="crayons-tag crayons-tag--monochrome " style=" --tag-bg: rgba(59, 73, 223, 0.10); --tag-prefix: #3b49df; --tag-bg-hover: rgba(59, 73, 223, 0.10); --tag-prefix-hover: #3b49df; " href="/t/vcr"><span class="crayons-tag__prefix">#</span>vcr</a> <a class="crayons-tag crayons-tag--monochrome " style=" --tag-bg: rgba(59, 73, 223, 0.10); --tag-prefix: #3b49df; --tag-bg-hover: rgba(59, 73, 223, 0.10); --tag-prefix-hover: #3b49df; " href="/t/webmock"><span class="crayons-tag__prefix">#</span>webmock</a> </div> <div class="crayons-story__bottom"> <div class="crayons-story__details"> <a href="/dpaluy/testing-external-services-with-rspec-vcr-and-webmock-in-ruby-on-rails-4ndo#comments" class="crayons-btn crayons-btn--s crayons-btn--ghost crayons-btn--icon-left flex items-center" aria-label="Add a comment to post - Testing External Services with RSpec, VCR, and WebMock in Ruby on Rails"> <svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" role="img" aria-labelledby="a2idue6cnlrojdyvljt8ithzssln8fsi" class="crayons-icon"><title id="a2idue6cnlrojdyvljt8ithzssln8fsi">Comments</title><path d="M10.5 5h3a6 6 0 110 12v2.625c-3.75-1.5-9-3.75-9-8.625a6 6 0 016-6zM12 15.5h1.5a4.501 4.501 0 001.722-8.657A4.5 4.5 0 0013.5 6.5h-3A4.5 4.5 0 006 11c0 2.707 1.846 4.475 6 6.36V15.5z"></path></svg> <span class="hidden s:inline">Add Comment</span> </a> </div> <div class="crayons-story__save"> <small class="crayons-story__tertiary fs-xs mr-2"> 3 min read </small> <button type="button" id="article-save-button-2073265" class="c-btn c-btn--icon-alone bookmark-button" data-reactable-id="2073265" data-article-author-id="145919" aria-label="Save post Testing External Services with RSpec, VCR, and WebMock in Ruby on Rails to reading list" title="Save post Testing External Services with RSpec, VCR, and WebMock in Ruby on Rails to reading list"> <span class="bm-initial"> <svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" aria-hidden="true"><path d="M6.75 4.5h10.5a.75.75 0 01.75.75v14.357a.375.375 0 01-.575.318L12 16.523l-5.426 3.401A.375.375 0 016 19.607V5.25a.75.75 0 01.75-.75zM16.5 6h-9v11.574l4.5-2.82 4.5 2.82V6z"></path></svg> </span> <span class="bm-success"> <svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" aria-hidden="true"><path d="M6.75 4.5h10.5a.75.75 0 01.75.75v14.357a.375.375 0 01-.575.318L12 16.523l-5.426 3.401A.375.375 0 016 19.607V5.25a.75.75 0 01.75-.75z"></path></svg> </span> </button> </div> </div> </div> </div> </div> <div class="crayons-story " data-feed-content-id="2099801" data-content-user-id="1175172"> <a href="/pimp_my_ruby/deploy-your-preprod-and-production-rails-application-using-kamal-139i" aria-labelledby="article-link-2099801" class="crayons-story__hidden-navigation-link">Deploy your Preprod and Production Rails Application using Kamal</a> <div class="crayons-story__body"> <div class="crayons-story__top"> <div class="crayons-story__meta"> <div class="crayons-story__author-pic"> <a href="/pimp_my_ruby" class="crayons-avatar crayons-avatar--l "> <img src="https://media2.dev.to/dynamic/image/width=90,height=90,fit=cover,gravity=auto,format=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Fuser%2Fprofile_image%2F1175172%2Ffdcae0e1-efbd-4087-97f5-c83c30db678d.jpeg" alt="pimp_my_ruby profile" class="crayons-avatar__image" loading="lazy" /> </a> </div> <div> <div> <a href="/pimp_my_ruby" class="crayons-story__secondary fw-medium m:hidden"> Pimp My Ruby </a> <div class="profile-preview-card relative mb-4 s:mb-0 fw-medium hidden m:inline-block"> <button id="story-author-preview-trigger-2099801" aria-controls="story-author-preview-content-2099801" class="profile-preview-card__trigger fs-s p-1 -ml-1 -my-2 crayons-btn crayons-btn--ghost" aria-label="Pimp My Ruby profile details"> Pimp My Ruby </button> <div id="story-author-preview-content-2099801" class="profile-preview-card__content crayons-dropdown branded-7 p-4 pt-0" style="border-top-color: var(--card-color);" data-repositioning-dropdown="true" data-testid="profile-preview-card"> <div class="gap-4 grid"> <div class="-mt-4"> <a href="/pimp_my_ruby" class="flex"> <span class="crayons-avatar crayons-avatar--xl mr-2 shrink-0"> <img src="https://media2.dev.to/dynamic/image/width=90,height=90,fit=cover,gravity=auto,format=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Fuser%2Fprofile_image%2F1175172%2Ffdcae0e1-efbd-4087-97f5-c83c30db678d.jpeg" class="crayons-avatar__image" alt="" loading="lazy" /> </span> <span class="crayons-link crayons-subtitle-2 mt-5">Pimp My Ruby</span> </a> </div> <div class="print-hidden"> <button class="crayons-btn follow-action-button whitespace-nowrap follow-user w-100" data-info='{"style":"full","id":1175172,"className":"User","name":"Pimp My Ruby"}'> Follow </button> </div> <div class="author-preview-metadata-container" data-author-id="1175172"></div> </div> </div> </div> </div> <a href="/pimp_my_ruby/deploy-your-preprod-and-production-rails-application-using-kamal-139i" class="crayons-story__tertiary fs-xs"><time datetime="2024-11-13T07:30:00Z">Nov 13</time><span class="time-ago-indicator-initial-placeholder" data-seconds="1731483000"></span></a> </div> </div> </div> <div class="crayons-story__indention"> <h2 class="crayons-story__title"> <a href="/pimp_my_ruby/deploy-your-preprod-and-production-rails-application-using-kamal-139i" data-preload-image="https://media2.dev.to/dynamic/image/width=1000,height=420,fit=cover,gravity=auto,format=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F9jjv0p3h9exc5nhcy19q.png" id="article-link-2099801"> Deploy your Preprod and Production Rails Application using Kamal </a> </h2> <div class="crayons-story__tags"> <a class="crayons-tag crayons-tag--monochrome " style=" --tag-bg: rgba(204, 0, 0, 0.10); --tag-prefix: #cc0000; --tag-bg-hover: rgba(204, 0, 0, 0.10); --tag-prefix-hover: #cc0000; " href="/t/rails"><span class="crayons-tag__prefix">#</span>rails</a> <a class="crayons-tag crayons-tag--monochrome " style=" --tag-bg: rgba(204, 52, 45, 0.10); --tag-prefix: #CC342D; --tag-bg-hover: rgba(204, 52, 45, 0.10); --tag-prefix-hover: #CC342D; " href="/t/ruby"><span class="crayons-tag__prefix">#</span>ruby</a> <a class="crayons-tag crayons-tag--monochrome " style=" --tag-bg: rgba(6, 181, 0, 0.10); --tag-prefix: #06B500; --tag-bg-hover: rgba(6, 181, 0, 0.10); --tag-prefix-hover: #06B500; " href="/t/devops"><span class="crayons-tag__prefix">#</span>devops</a> <a class="crayons-tag crayons-tag--monochrome " style=" --tag-bg: rgba(81, 55, 113, 0.10); --tag-prefix: #513771; --tag-bg-hover: rgba(81, 55, 113, 0.10); --tag-prefix-hover: #513771; " href="/t/heroku"><span class="crayons-tag__prefix">#</span>heroku</a> </div> <div class="crayons-story__bottom"> <div class="crayons-story__details"> <a href="/pimp_my_ruby/deploy-your-preprod-and-production-rails-application-using-kamal-139i" class="crayons-btn crayons-btn--s crayons-btn--ghost crayons-btn--icon-left" data-reaction-count data-reactable-id="2099801" aria-label="Add a comment to post - Deploy your Preprod and Production Rails Application using Kamal"> <div class="multiple_reactions_aggregate"> <span class="multiple_reactions_icons_container" dir="rtl"> <span class="crayons_icon_container"> <img src="https://assets.dev.to/assets/fire-f60e7a582391810302117f987b22a8ef04a2fe0df7e3258a5f49332df1cec71e.svg" width="18" height="18" /> </span> <span class="crayons_icon_container"> <img src="https://assets.dev.to/assets/raised-hands-74b2099fd66a39f2d7eed9305ee0f4553df0eb7b4f11b01b6b1b499973048fe5.svg" width="18" height="18" /> </span> <span class="crayons_icon_container"> <img src="https://assets.dev.to/assets/sparkle-heart-5f9bee3767e18deb1bb725290cb151c25234768a0e9a2bd39370c382d02920cf.svg" width="18" height="18" /> </span> </span> <span class="aggregate_reactions_counter">9<span class="hidden s:inline"> reactions</span></span> </div> </a> <a href="/pimp_my_ruby/deploy-your-preprod-and-production-rails-application-using-kamal-139i#comments" class="crayons-btn crayons-btn--s crayons-btn--ghost crayons-btn--icon-left flex items-center" aria-label="Add a comment to post - Deploy your Preprod and Production Rails Application using Kamal"> <svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" role="img" aria-labelledby="applxqjs9t7zwr4fpo0wyxxztadxhoqn" class="crayons-icon"><title id="applxqjs9t7zwr4fpo0wyxxztadxhoqn">Comments</title><path d="M10.5 5h3a6 6 0 110 12v2.625c-3.75-1.5-9-3.75-9-8.625a6 6 0 016-6zM12 15.5h1.5a4.501 4.501 0 001.722-8.657A4.5 4.5 0 0013.5 6.5h-3A4.5 4.5 0 006 11c0 2.707 1.846 4.475 6 6.36V15.5z"></path></svg> <span class="hidden s:inline">Add Comment</span> </a> </div> <div class="crayons-story__save"> <small class="crayons-story__tertiary fs-xs mr-2"> 4 min read </small> <button type="button" id="article-save-button-2099801" class="c-btn c-btn--icon-alone bookmark-button" data-reactable-id="2099801" data-article-author-id="1175172" aria-label="Save post Deploy your Preprod and Production Rails Application using Kamal to reading list" title="Save post Deploy your Preprod and Production Rails Application using Kamal to reading list"> <span class="bm-initial"> <svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" aria-hidden="true"><path d="M6.75 4.5h10.5a.75.75 0 01.75.75v14.357a.375.375 0 01-.575.318L12 16.523l-5.426 3.401A.375.375 0 016 19.607V5.25a.75.75 0 01.75-.75zM16.5 6h-9v11.574l4.5-2.82 4.5 2.82V6z"></path></svg> </span> <span class="bm-success"> <svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" aria-hidden="true"><path d="M6.75 4.5h10.5a.75.75 0 01.75.75v14.357a.375.375 0 01-.575.318L12 16.523l-5.426 3.401A.375.375 0 016 19.607V5.25a.75.75 0 01.75-.75z"></path></svg> </span> </button> </div> </div> </div> </div> </div> <div class="crayons-story " data-feed-content-id="2070668" data-content-user-id="4291"> <a href="/epigene/til-joining-with-like-49c2" aria-labelledby="article-link-2070668" class="crayons-story__hidden-navigation-link">TIL: joining with LIKE</a> <div class="crayons-story__body"> <div class="crayons-story__top"> <div class="crayons-story__meta"> <div class="crayons-story__author-pic"> <a href="/epigene" class="crayons-avatar crayons-avatar--l "> <img src="https://media2.dev.to/dynamic/image/width=90,height=90,fit=cover,gravity=auto,format=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Fuser%2Fprofile_image%2F4291%2F4e7fca4b-6bed-45e7-9c2b-758af8f279cb.jpg" alt="epigene profile" class="crayons-avatar__image" loading="lazy" /> </a> </div> <div> <div> <a href="/epigene" class="crayons-story__secondary fw-medium m:hidden"> Augusts Bautra </a> <div class="profile-preview-card relative mb-4 s:mb-0 fw-medium hidden m:inline-block"> <button id="story-author-preview-trigger-2070668" aria-controls="story-author-preview-content-2070668" class="profile-preview-card__trigger fs-s p-1 -ml-1 -my-2 crayons-btn crayons-btn--ghost" aria-label="Augusts Bautra profile details"> Augusts Bautra </button> <div id="story-author-preview-content-2070668" class="profile-preview-card__content crayons-dropdown branded-7 p-4 pt-0" style="border-top-color: var(--card-color);" data-repositioning-dropdown="true" data-testid="profile-preview-card"> <div class="gap-4 grid"> <div class="-mt-4"> <a href="/epigene" class="flex"> <span class="crayons-avatar crayons-avatar--xl mr-2 shrink-0"> <img src="https://media2.dev.to/dynamic/image/width=90,height=90,fit=cover,gravity=auto,format=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Fuser%2Fprofile_image%2F4291%2F4e7fca4b-6bed-45e7-9c2b-758af8f279cb.jpg" class="crayons-avatar__image" alt="" loading="lazy" /> </span> <span class="crayons-link crayons-subtitle-2 mt-5">Augusts Bautra</span> </a> </div> <div class="print-hidden"> <button class="crayons-btn follow-action-button whitespace-nowrap follow-user w-100" data-info='{"style":"full","id":4291,"className":"User","name":"Augusts Bautra"}'> Follow </button> </div> <div class="author-preview-metadata-container" data-author-id="4291"></div> </div> </div> </div> </div> <a href="/epigene/til-joining-with-like-49c2" class="crayons-story__tertiary fs-xs"><time datetime="2024-11-01T15:09:25Z">Nov 1</time><span class="time-ago-indicator-initial-placeholder" data-seconds="1730473765"></span></a> </div> </div> </div> <div class="crayons-story__indention"> <h2 class="crayons-story__title"> <a href="/epigene/til-joining-with-like-49c2" data-preload-image="" id="article-link-2070668"> TIL: joining with LIKE </a> </h2> <div class="crayons-story__tags"> <a class="crayons-tag crayons-tag--monochrome " style=" --tag-bg: rgba(237, 21, 86, 0.10); --tag-prefix: #ED1556; --tag-bg-hover: rgba(237, 21, 86, 0.10); --tag-prefix-hover: #ED1556; " href="/t/sql"><span class="crayons-tag__prefix">#</span>sql</a> <a class="crayons-tag crayons-tag--monochrome " style=" --tag-bg: rgba(204, 0, 0, 0.10); --tag-prefix: #cc0000; --tag-bg-hover: rgba(204, 0, 0, 0.10); --tag-prefix-hover: #cc0000; " href="/t/rails"><span class="crayons-tag__prefix">#</span>rails</a> </div> <div class="crayons-story__bottom"> <div class="crayons-story__details"> <a href="/epigene/til-joining-with-like-49c2" class="crayons-btn crayons-btn--s crayons-btn--ghost crayons-btn--icon-left" data-reaction-count data-reactable-id="2070668" aria-label="Add a comment to post - TIL: joining with LIKE"> <div class="multiple_reactions_aggregate"> <span class="multiple_reactions_icons_container" dir="rtl"> <span class="crayons_icon_container"> <img src="https://assets.dev.to/assets/multi-unicorn-b44d6f8c23cdd00964192bedc38af3e82463978aa611b4365bd33a0f1f4f3e97.svg" width="18" height="18" /> </span> <span class="crayons_icon_container"> <img src="https://assets.dev.to/assets/sparkle-heart-5f9bee3767e18deb1bb725290cb151c25234768a0e9a2bd39370c382d02920cf.svg" width="18" height="18" /> </span> </span> <span class="aggregate_reactions_counter">2<span class="hidden s:inline"> reactions</span></span> </div> </a> <a href="/epigene/til-joining-with-like-49c2#comments" class="crayons-btn crayons-btn--s crayons-btn--ghost crayons-btn--icon-left flex items-center" aria-label="Add a comment to post - TIL: joining with LIKE"> <svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" role="img" aria-labelledby="a978tfc3do1ixc1qyd7xjeofl03ys4hq" class="crayons-icon"><title id="a978tfc3do1ixc1qyd7xjeofl03ys4hq">Comments</title><path d="M10.5 5h3a6 6 0 110 12v2.625c-3.75-1.5-9-3.75-9-8.625a6 6 0 016-6zM12 15.5h1.5a4.501 4.501 0 001.722-8.657A4.5 4.5 0 0013.5 6.5h-3A4.5 4.5 0 006 11c0 2.707 1.846 4.475 6 6.36V15.5z"></path></svg> <span class="hidden s:inline">Add Comment</span> </a> </div> <div class="crayons-story__save"> <small class="crayons-story__tertiary fs-xs mr-2"> 1 min read </small> <button type="button" id="article-save-button-2070668" class="c-btn c-btn--icon-alone bookmark-button" data-reactable-id="2070668" data-article-author-id="4291" aria-label="Save post TIL: joining with LIKE to reading list" title="Save post TIL: joining with LIKE to reading list"> <span class="bm-initial"> <svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" aria-hidden="true"><path d="M6.75 4.5h10.5a.75.75 0 01.75.75v14.357a.375.375 0 01-.575.318L12 16.523l-5.426 3.401A.375.375 0 016 19.607V5.25a.75.75 0 01.75-.75zM16.5 6h-9v11.574l4.5-2.82 4.5 2.82V6z"></path></svg> </span> <span class="bm-success"> <svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" aria-hidden="true"><path d="M6.75 4.5h10.5a.75.75 0 01.75.75v14.357a.375.375 0 01-.575.318L12 16.523l-5.426 3.401A.375.375 0 016 19.607V5.25a.75.75 0 01.75-.75z"></path></svg> </span> </button> </div> </div> </div> </div> </div> <div class="crayons-story " data-feed-content-id="2093615" data-content-user-id="190621"> <a href="/nejremeslnici/speed-up-kamal-deploys-in-github-actions-oh0" aria-labelledby="article-link-2093615" class="crayons-story__hidden-navigation-link">Speed up Kamal deploys in GitHub Actions</a> <div class="crayons-story__body"> <div class="crayons-story__top"> <div class="crayons-story__meta"> <div class="crayons-story__author-pic"> <a class="crayons-logo crayons-logo--l" href="/nejremeslnici"> <img alt="NejŘemeslníci logo" src="https://media2.dev.to/dynamic/image/width=90,height=90,fit=cover,gravity=auto,format=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Forganization%2Fprofile_image%2F1044%2Fa752ea38-0725-43f0-8796-fe27fe8120e3.png" class="crayons-logo__image" loading="lazy" /> </a> <a href="/borama" class="crayons-avatar crayons-avatar--s absolute -right-2 -bottom-2 border-solid border-2 border-base-inverted "> <img src="https://media2.dev.to/dynamic/image/width=90,height=90,fit=cover,gravity=auto,format=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Fuser%2Fprofile_image%2F190621%2Fc2f062c6-120f-452b-9695-3b5607cb9122.jpg" alt="borama profile" class="crayons-avatar__image" loading="lazy" /> </a> </div> <div> <div> <a href="/borama" class="crayons-story__secondary fw-medium m:hidden"> Matouš Borák </a> <div class="profile-preview-card relative mb-4 s:mb-0 fw-medium hidden m:inline-block"> <button id="story-author-preview-trigger-2093615" aria-controls="story-author-preview-content-2093615" class="profile-preview-card__trigger fs-s p-1 -ml-1 -my-2 crayons-btn crayons-btn--ghost" aria-label="Matouš Borák profile details"> Matouš Borák </button> <div id="story-author-preview-content-2093615" class="profile-preview-card__content crayons-dropdown branded-7 p-4 pt-0" style="border-top-color: var(--card-color);" data-repositioning-dropdown="true" data-testid="profile-preview-card"> <div class="gap-4 grid"> <div class="-mt-4"> <a href="/borama" class="flex"> <span class="crayons-avatar crayons-avatar--xl mr-2 shrink-0"> <img src="https://media2.dev.to/dynamic/image/width=90,height=90,fit=cover,gravity=auto,format=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Fuser%2Fprofile_image%2F190621%2Fc2f062c6-120f-452b-9695-3b5607cb9122.jpg" class="crayons-avatar__image" alt="" loading="lazy" /> </span> <span class="crayons-link crayons-subtitle-2 mt-5">Matouš Borák</span> </a> </div> <div class="print-hidden"> <button class="crayons-btn follow-action-button whitespace-nowrap follow-user w-100" data-info='{"style":"full","id":190621,"className":"User","name":"Matouš Borák"}'> Follow </button> </div> <div class="author-preview-metadata-container" data-author-id="190621"></div> </div> </div> </div> <span> <span class="crayons-story__tertiary fw-normal"> for </span><a href="/nejremeslnici" class="crayons-story__secondary fw-medium">NejŘemeslníci</a> </span> </div> <a href="/nejremeslnici/speed-up-kamal-deploys-in-github-actions-oh0" class="crayons-story__tertiary fs-xs"><time datetime="2024-11-13T12:09:29Z">Nov 13</time><span class="time-ago-indicator-initial-placeholder" data-seconds="1731499769"></span></a> </div> </div> </div> <div class="crayons-story__indention"> <h2 class="crayons-story__title"> <a href="/nejremeslnici/speed-up-kamal-deploys-in-github-actions-oh0" data-preload-image="https://media2.dev.to/dynamic/image/width=1000,height=420,fit=cover,gravity=auto,format=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fvlfqvcafrqvf2fhflnpt.jpeg" id="article-link-2093615"> Speed up Kamal deploys in GitHub Actions </a> </h2> <div class="crayons-story__tags"> <a class="crayons-tag crayons-tag--monochrome " style=" --tag-bg: rgba(59, 73, 223, 0.10); --tag-prefix: #3b49df; --tag-bg-hover: rgba(59, 73, 223, 0.10); --tag-prefix-hover: #3b49df; " href="/t/kamal"><span class="crayons-tag__prefix">#</span>kamal</a> <a class="crayons-tag crayons-tag--monochrome " style=" --tag-bg: rgba(0, 0, 0, 0.10); --tag-prefix: #000000; --tag-bg-hover: rgba(0, 0, 0, 0.10); --tag-prefix-hover: #000000; " href="/t/githubactions"><span class="crayons-tag__prefix">#</span>githubactions</a> <a class="crayons-tag crayons-tag--monochrome " style=" --tag-bg: rgba(255, 163, 100, 0.10); --tag-prefix: #ffa364; --tag-bg-hover: rgba(255, 163, 100, 0.10); --tag-prefix-hover: #ffa364; " href="/t/performance"><span class="crayons-tag__prefix">#</span>performance</a> <a class="crayons-tag crayons-tag--monochrome " style=" --tag-bg: rgba(204, 0, 0, 0.10); --tag-prefix: #cc0000; --tag-bg-hover: rgba(204, 0, 0, 0.10); --tag-prefix-hover: #cc0000; " href="/t/rails"><span class="crayons-tag__prefix">#</span>rails</a> </div> <div class="crayons-story__bottom"> <div class="crayons-story__details"> <a href="/nejremeslnici/speed-up-kamal-deploys-in-github-actions-oh0" class="crayons-btn crayons-btn--s crayons-btn--ghost crayons-btn--icon-left" data-reaction-count data-reactable-id="2093615" aria-label="Add a comment to post - Speed up Kamal deploys in GitHub Actions"> <div class="multiple_reactions_aggregate"> <span class="multiple_reactions_icons_container" dir="rtl"> <span class="crayons_icon_container"> <img src="https://assets.dev.to/assets/sparkle-heart-5f9bee3767e18deb1bb725290cb151c25234768a0e9a2bd39370c382d02920cf.svg" width="18" height="18" /> </span> </span> <span class="aggregate_reactions_counter">2<span class="hidden s:inline"> reactions</span></span> </div> </a> <a href="/nejremeslnici/speed-up-kamal-deploys-in-github-actions-oh0#comments" class="crayons-btn crayons-btn--s crayons-btn--ghost crayons-btn--icon-left flex items-center" aria-label="Add a comment to post - Speed up Kamal deploys in GitHub Actions"> <svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" role="img" aria-labelledby="a478i4nmq32bogplzxfahsftjcrz1zox" class="crayons-icon"><title id="a478i4nmq32bogplzxfahsftjcrz1zox">Comments</title><path d="M10.5 5h3a6 6 0 110 12v2.625c-3.75-1.5-9-3.75-9-8.625a6 6 0 016-6zM12 15.5h1.5a4.501 4.501 0 001.722-8.657A4.5 4.5 0 0013.5 6.5h-3A4.5 4.5 0 006 11c0 2.707 1.846 4.475 6 6.36V15.5z"></path></svg> <span class="hidden s:inline">Add Comment</span> </a> </div> <div class="crayons-story__save"> <small class="crayons-story__tertiary fs-xs mr-2"> 6 min read </small> <button type="button" id="article-save-button-2093615" class="c-btn c-btn--icon-alone bookmark-button" data-reactable-id="2093615" data-article-author-id="190621" aria-label="Save post Speed up Kamal deploys in GitHub Actions to reading list" title="Save post Speed up Kamal deploys in GitHub Actions to reading list"> <span class="bm-initial"> <svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" aria-hidden="true"><path d="M6.75 4.5h10.5a.75.75 0 01.75.75v14.357a.375.375 0 01-.575.318L12 16.523l-5.426 3.401A.375.375 0 016 19.607V5.25a.75.75 0 01.75-.75zM16.5 6h-9v11.574l4.5-2.82 4.5 2.82V6z"></path></svg> </span> <span class="bm-success"> <svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" aria-hidden="true"><path d="M6.75 4.5h10.5a.75.75 0 01.75.75v14.357a.375.375 0 01-.575.318L12 16.523l-5.426 3.401A.375.375 0 016 19.607V5.25a.75.75 0 01.75-.75z"></path></svg> </span> </button> </div> </div> </div> </div> </div> <div class="crayons-story " data-feed-content-id="2032841" data-content-user-id="1172988"> <a href="/railsdesigner/rails-designer-v17-add-smooth-turbo-stream-transitions-4a58" aria-labelledby="article-link-2032841" class="crayons-story__hidden-navigation-link">Rails Designer v1.7: Add Smooth Turbo Stream Transitions</a> <div class="crayons-story__body"> <div class="crayons-story__top"> <div class="crayons-story__meta"> <div class="crayons-story__author-pic"> <a href="/railsdesigner" class="crayons-avatar crayons-avatar--l "> <img src="https://media.dev.to/dynamic/image/width=90,height=90,fit=cover,gravity=auto,format=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Fuser%2Fprofile_image%2F1172988%2F12fc6c7d-f168-4e28-bd6e-fb4d3715b8d5.jpg" alt="railsdesigner profile" class="crayons-avatar__image" loading="lazy" /> </a> </div> <div> <div> <a href="/railsdesigner" class="crayons-story__secondary fw-medium m:hidden"> Rails Designer </a> <div class="profile-preview-card relative mb-4 s:mb-0 fw-medium hidden m:inline-block"> <button id="story-author-preview-trigger-2032841" aria-controls="story-author-preview-content-2032841" class="profile-preview-card__trigger fs-s p-1 -ml-1 -my-2 crayons-btn crayons-btn--ghost" aria-label="Rails Designer profile details"> Rails Designer </button> <div id="story-author-preview-content-2032841" class="profile-preview-card__content crayons-dropdown branded-7 p-4 pt-0" style="border-top-color: var(--card-color);" data-repositioning-dropdown="true" data-testid="profile-preview-card"> <div class="gap-4 grid"> <div class="-mt-4"> <a href="/railsdesigner" class="flex"> <span class="crayons-avatar crayons-avatar--xl mr-2 shrink-0"> <img src="https://media.dev.to/dynamic/image/width=90,height=90,fit=cover,gravity=auto,format=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Fuser%2Fprofile_image%2F1172988%2F12fc6c7d-f168-4e28-bd6e-fb4d3715b8d5.jpg" class="crayons-avatar__image" alt="" loading="lazy" /> </span> <span class="crayons-link crayons-subtitle-2 mt-5">Rails Designer</span> </a> </div> <div class="print-hidden"> <button class="crayons-btn follow-action-button whitespace-nowrap follow-user w-100" data-info='{"style":"full","id":1172988,"className":"User","name":"Rails Designer"}'> Follow </button> </div> <div class="author-preview-metadata-container" data-author-id="1172988"></div> </div> </div> </div> </div> <a href="/railsdesigner/rails-designer-v17-add-smooth-turbo-stream-transitions-4a58" class="crayons-story__tertiary fs-xs"><time datetime="2024-10-14T14:00:00Z">Oct 14</time><span class="time-ago-indicator-initial-placeholder" data-seconds="1728914400"></span></a> </div> </div> </div> <div class="crayons-story__indention"> <h2 class="crayons-story__title"> <a href="/railsdesigner/rails-designer-v17-add-smooth-turbo-stream-transitions-4a58" data-preload-image="" id="article-link-2032841"> Rails Designer v1.7: Add Smooth Turbo Stream Transitions </a> </h2> <div class="crayons-story__tags"> <a class="crayons-tag crayons-tag--monochrome " style=" --tag-bg: rgba(204, 52, 45, 0.10); --tag-prefix: #CC342D; --tag-bg-hover: rgba(204, 52, 45, 0.10); --tag-prefix-hover: #CC342D; " href="/t/ruby"><span class="crayons-tag__prefix">#</span>ruby</a> <a class="crayons-tag crayons-tag--monochrome " style=" --tag-bg: rgba(204, 0, 0, 0.10); --tag-prefix: #cc0000; --tag-bg-hover: rgba(204, 0, 0, 0.10); --tag-prefix-hover: #cc0000; " href="/t/rails"><span class="crayons-tag__prefix">#</span>rails</a> <a class="crayons-tag crayons-tag--monochrome " style=" --tag-bg: rgba(0, 0, 0, 0.10); --tag-prefix: #000000; --tag-bg-hover: rgba(0, 0, 0, 0.10); --tag-prefix-hover: #000000; " href="/t/hotwire"><span class="crayons-tag__prefix">#</span>hotwire</a> <a class="crayons-tag crayons-tag--monochrome " style=" --tag-bg: rgba(0, 0, 0, 0.10); --tag-prefix: #000000; --tag-bg-hover: rgba(0, 0, 0, 0.10); --tag-prefix-hover: #000000; " href="/t/tailwindcss"><span class="crayons-tag__prefix">#</span>tailwindcss</a> </div> <div class="crayons-story__bottom"> <div class="crayons-story__details"> <a href="/railsdesigner/rails-designer-v17-add-smooth-turbo-stream-transitions-4a58" class="crayons-btn crayons-btn--s crayons-btn--ghost crayons-btn--icon-left" data-reaction-count data-reactable-id="2032841" aria-label="Add a comment to post - Rails Designer v1.7: Add Smooth Turbo Stream Transitions"> <div class="multiple_reactions_aggregate"> <span class="multiple_reactions_icons_container" dir="rtl"> <span class="crayons_icon_container"> <img src="https://assets.dev.to/assets/sparkle-heart-5f9bee3767e18deb1bb725290cb151c25234768a0e9a2bd39370c382d02920cf.svg" width="18" height="18" /> </span> </span> <span class="aggregate_reactions_counter">1<span class="hidden s:inline"> reaction</span></span> </div> </a> <a href="/railsdesigner/rails-designer-v17-add-smooth-turbo-stream-transitions-4a58#comments" class="crayons-btn crayons-btn--s crayons-btn--ghost crayons-btn--icon-left flex items-center" aria-label="Add a comment to post - Rails Designer v1.7: Add Smooth Turbo Stream Transitions"> <svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" role="img" aria-labelledby="aiojxc2ejfphgcizw4lr3dqkmee2jw9p" class="crayons-icon"><title id="aiojxc2ejfphgcizw4lr3dqkmee2jw9p">Comments</title><path d="M10.5 5h3a6 6 0 110 12v2.625c-3.75-1.5-9-3.75-9-8.625a6 6 0 016-6zM12 15.5h1.5a4.501 4.501 0 001.722-8.657A4.5 4.5 0 0013.5 6.5h-3A4.5 4.5 0 006 11c0 2.707 1.846 4.475 6 6.36V15.5z"></path></svg> 1<span class="hidden s:inline"> comment</span> </a> </div> <div class="crayons-story__save"> <small class="crayons-story__tertiary fs-xs mr-2"> 1 min read </small> <button type="button" id="article-save-button-2032841" class="c-btn c-btn--icon-alone bookmark-button" data-reactable-id="2032841" data-article-author-id="1172988" aria-label="Save post Rails Designer v1.7: Add Smooth Turbo Stream Transitions to reading list" title="Save post Rails Designer v1.7: Add Smooth Turbo Stream Transitions to reading list"> <span class="bm-initial"> <svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" aria-hidden="true"><path d="M6.75 4.5h10.5a.75.75 0 01.75.75v14.357a.375.375 0 01-.575.318L12 16.523l-5.426 3.401A.375.375 0 016 19.607V5.25a.75.75 0 01.75-.75zM16.5 6h-9v11.574l4.5-2.82 4.5 2.82V6z"></path></svg> </span> <span class="bm-success"> <svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" aria-hidden="true"><path d="M6.75 4.5h10.5a.75.75 0 01.75.75v14.357a.375.375 0 01-.575.318L12 16.523l-5.426 3.401A.375.375 0 016 19.607V5.25a.75.75 0 01.75-.75z"></path></svg> </span> </button> </div> </div> </div> </div> </div> <div class="crayons-story " data-feed-content-id="2037714" data-content-user-id="907797"> <a href="/lucianghinda/short-ruby-newsletter-edition-109-published-1pfb" aria-labelledby="article-link-2037714" class="crayons-story__hidden-navigation-link">Short Ruby Newsletter - edition 109 published</a> <div class="crayons-story__body"> <div class="crayons-story__top"> <div class="crayons-story__meta"> <div class="crayons-story__author-pic"> <a href="/lucianghinda" class="crayons-avatar crayons-avatar--l "> <img src="https://media.dev.to/dynamic/image/width=90,height=90,fit=cover,gravity=auto,format=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Fuser%2Fprofile_image%2F907797%2Fcd901ef3-ad6b-4b2b-b33a-d533880aa3ef.jpg" alt="lucianghinda profile" class="crayons-avatar__image" loading="lazy" /> </a> </div> <div> <div> <a href="/lucianghinda" class="crayons-story__secondary fw-medium m:hidden"> Lucian Ghinda </a> <div class="profile-preview-card relative mb-4 s:mb-0 fw-medium hidden m:inline-block"> <button id="story-author-preview-trigger-2037714" aria-controls="story-author-preview-content-2037714" class="profile-preview-card__trigger fs-s p-1 -ml-1 -my-2 crayons-btn crayons-btn--ghost" aria-label="Lucian Ghinda profile details"> Lucian Ghinda </button> <div id="story-author-preview-content-2037714" class="profile-preview-card__content crayons-dropdown branded-7 p-4 pt-0" style="border-top-color: var(--card-color);" data-repositioning-dropdown="true" data-testid="profile-preview-card"> <div class="gap-4 grid"> <div class="-mt-4"> <a href="/lucianghinda" class="flex"> <span class="crayons-avatar crayons-avatar--xl mr-2 shrink-0"> <img src="https://media.dev.to/dynamic/image/width=90,height=90,fit=cover,gravity=auto,format=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Fuser%2Fprofile_image%2F907797%2Fcd901ef3-ad6b-4b2b-b33a-d533880aa3ef.jpg" class="crayons-avatar__image" alt="" loading="lazy" /> </span> <span class="crayons-link crayons-subtitle-2 mt-5">Lucian Ghinda</span> </a> </div> <div class="print-hidden"> <button class="crayons-btn follow-action-button whitespace-nowrap follow-user w-100" data-info='{"style":"full","id":907797,"className":"User","name":"Lucian Ghinda"}'> Follow </button> </div> <div class="author-preview-metadata-container" data-author-id="907797"></div> </div> </div> </div> </div> <a href="/lucianghinda/short-ruby-newsletter-edition-109-published-1pfb" class="crayons-story__tertiary fs-xs"><time datetime="2024-10-14T11:21:20Z">Oct 14</time><span class="time-ago-indicator-initial-placeholder" data-seconds="1728904880"></span></a> </div> </div> </div> <div class="crayons-story__indention"> <h2 class="crayons-story__title"> <a href="/lucianghinda/short-ruby-newsletter-edition-109-published-1pfb" data-preload-image="" id="article-link-2037714"> Short Ruby Newsletter - edition 109 published </a> </h2> <div class="crayons-story__tags"> <a class="crayons-tag crayons-tag--monochrome " style=" --tag-bg: rgba(204, 52, 45, 0.10); --tag-prefix: #CC342D; --tag-bg-hover: rgba(204, 52, 45, 0.10); --tag-prefix-hover: #CC342D; " href="/t/ruby"><span class="crayons-tag__prefix">#</span>ruby</a> <a class="crayons-tag crayons-tag--monochrome " style=" --tag-bg: rgba(204, 0, 0, 0.10); --tag-prefix: #cc0000; --tag-bg-hover: rgba(204, 0, 0, 0.10); --tag-prefix-hover: #cc0000; " href="/t/rails"><span class="crayons-tag__prefix">#</span>rails</a> </div> <div class="crayons-story__bottom"> <div class="crayons-story__details"> <a href="/lucianghinda/short-ruby-newsletter-edition-109-published-1pfb" class="crayons-btn crayons-btn--s crayons-btn--ghost crayons-btn--icon-left" data-reaction-count data-reactable-id="2037714" aria-label="Add a comment to post - Short Ruby Newsletter - edition 109 published"> <div class="multiple_reactions_aggregate"> <span class="multiple_reactions_icons_container" dir="rtl"> <span class="crayons_icon_container"> <img src="https://assets.dev.to/assets/multi-unicorn-b44d6f8c23cdd00964192bedc38af3e82463978aa611b4365bd33a0f1f4f3e97.svg" width="18" height="18" /> </span> <span class="crayons_icon_container"> <img src="https://assets.dev.to/assets/sparkle-heart-5f9bee3767e18deb1bb725290cb151c25234768a0e9a2bd39370c382d02920cf.svg" width="18" height="18" /> </span> </span> <span class="aggregate_reactions_counter">2<span class="hidden s:inline"> reactions</span></span> </div> </a> <a href="/lucianghinda/short-ruby-newsletter-edition-109-published-1pfb#comments" class="crayons-btn crayons-btn--s crayons-btn--ghost crayons-btn--icon-left flex items-center" aria-label="Add a comment to post - Short Ruby Newsletter - edition 109 published"> <svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" role="img" aria-labelledby="a3w8mg06err7muuoupoup46zya7wksi7" class="crayons-icon"><title id="a3w8mg06err7muuoupoup46zya7wksi7">Comments</title><path d="M10.5 5h3a6 6 0 110 12v2.625c-3.75-1.5-9-3.75-9-8.625a6 6 0 016-6zM12 15.5h1.5a4.501 4.501 0 001.722-8.657A4.5 4.5 0 0013.5 6.5h-3A4.5 4.5 0 006 11c0 2.707 1.846 4.475 6 6.36V15.5z"></path></svg> <span class="hidden s:inline">Add Comment</span> </a> </div> <div class="crayons-story__save"> <small class="crayons-story__tertiary fs-xs mr-2"> 2 min read </small> <button type="button" id="article-save-button-2037714" class="c-btn c-btn--icon-alone bookmark-button" data-reactable-id="2037714" data-article-author-id="907797" aria-label="Save post Short Ruby Newsletter - edition 109 published to reading list" title="Save post Short Ruby Newsletter - edition 109 published to reading list"> <span class="bm-initial"> <svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" aria-hidden="true"><path d="M6.75 4.5h10.5a.75.75 0 01.75.75v14.357a.375.375 0 01-.575.318L12 16.523l-5.426 3.401A.375.375 0 016 19.607V5.25a.75.75 0 01.75-.75zM16.5 6h-9v11.574l4.5-2.82 4.5 2.82V6z"></path></svg> </span> <span class="bm-success"> <svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" aria-hidden="true"><path d="M6.75 4.5h10.5a.75.75 0 01.75.75v14.357a.375.375 0 01-.575.318L12 16.523l-5.426 3.401A.375.375 0 016 19.607V5.25a.75.75 0 01.75-.75z"></path></svg> </span> </button> </div> </div> </div> </div> </div> <div class="crayons-story " data-feed-content-id="2031384" data-content-user-id="29526"> <a href="/couchbase/ai-in-action-enhancing-and-not-replacing-jobs-31i2" aria-labelledby="article-link-2031384" class="crayons-story__hidden-navigation-link">AI in Action: Enhancing and Not Replacing Jobs</a> <div class="crayons-story__body"> <div class="crayons-story__top"> <div class="crayons-story__meta"> <div class="crayons-story__author-pic"> <a class="crayons-logo crayons-logo--l" href="/couchbase"> <img alt="Couchbase logo" src="https://media.dev.to/dynamic/image/width=90,height=90,fit=cover,gravity=auto,format=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Forganization%2Fprofile_image%2F6926%2Fc8d4aa0d-13b7-4b86-a6b2-1dabc361daa2.png" class="crayons-logo__image" loading="lazy" /> </a> <a href="/bengreenberg" class="crayons-avatar crayons-avatar--s absolute -right-2 -bottom-2 border-solid border-2 border-base-inverted "> <img src="https://media.dev.to/dynamic/image/width=90,height=90,fit=cover,gravity=auto,format=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Fuser%2Fprofile_image%2F29526%2Fab3873ff-b15d-48ee-90c2-0006c40df4a1.jpg" alt="bengreenberg profile" class="crayons-avatar__image" loading="lazy" /> </a> </div> <div> <div> <a href="/bengreenberg" class="crayons-story__secondary fw-medium m:hidden"> Ben Greenberg </a> <div class="profile-preview-card relative mb-4 s:mb-0 fw-medium hidden m:inline-block"> <button id="story-author-preview-trigger-2031384" aria-controls="story-author-preview-content-2031384" class="profile-preview-card__trigger fs-s p-1 -ml-1 -my-2 crayons-btn crayons-btn--ghost" aria-label="Ben Greenberg profile details"> Ben Greenberg </button> <div id="story-author-preview-content-2031384" class="profile-preview-card__content crayons-dropdown branded-7 p-4 pt-0" style="border-top-color: var(--card-color);" data-repositioning-dropdown="true" data-testid="profile-preview-card"> <div class="gap-4 grid"> <div class="-mt-4"> <a href="/bengreenberg" class="flex"> <span class="crayons-avatar crayons-avatar--xl mr-2 shrink-0"> <img src="https://media.dev.to/dynamic/image/width=90,height=90,fit=cover,gravity=auto,format=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Fuser%2Fprofile_image%2F29526%2Fab3873ff-b15d-48ee-90c2-0006c40df4a1.jpg" class="crayons-avatar__image" alt="" loading="lazy" /> </span> <span class="crayons-link crayons-subtitle-2 mt-5">Ben Greenberg</span> </a> </div> <div class="print-hidden"> <button class="crayons-btn follow-action-button whitespace-nowrap follow-user w-100" data-info='{"style":"full","id":29526,"className":"User","name":"Ben Greenberg"}'> Follow </button> </div> <div class="author-preview-metadata-container" data-author-id="29526"></div> </div> </div> </div> <span> <span class="crayons-story__tertiary fw-normal"> for </span><a href="/couchbase" class="crayons-story__secondary fw-medium">Couchbase</a> </span> </div> <a href="/couchbase/ai-in-action-enhancing-and-not-replacing-jobs-31i2" class="crayons-story__tertiary fs-xs"><time datetime="2024-10-09T09:01:36Z">Oct 9</time><span class="time-ago-indicator-initial-placeholder" data-seconds="1728464496"></span></a> </div> </div> </div> <div class="crayons-story__indention"> <h2 class="crayons-story__title"> <a href="/couchbase/ai-in-action-enhancing-and-not-replacing-jobs-31i2" data-preload-image="https://media2.dev.to/dynamic/image/width=1000,height=420,fit=cover,gravity=auto,format=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fzxp9opib8kyqjh8elmg3.png" id="article-link-2031384"> AI in Action: Enhancing and Not Replacing Jobs </a> </h2> <div class="crayons-story__tags"> <a class="crayons-tag crayons-tag--monochrome " style=" --tag-bg: rgba(254, 255, 165, 0.10); --tag-prefix: #FEFFA5; --tag-bg-hover: rgba(254, 255, 165, 0.10); --tag-prefix-hover: #FEFFA5; " href="/t/tutorial"><span class="crayons-tag__prefix">#</span>tutorial</a> <a class="crayons-tag crayons-tag--monochrome " style=" --tag-bg: rgba(23, 253, 26, 0.10); --tag-prefix: #17fd1a; --tag-bg-hover: rgba(23, 253, 26, 0.10); --tag-prefix-hover: #17fd1a; " href="/t/ai"><span class="crayons-tag__prefix">#</span>ai</a> <a class="crayons-tag crayons-tag--monochrome " style=" --tag-bg: rgba(204, 52, 45, 0.10); --tag-prefix: #CC342D; --tag-bg-hover: rgba(204, 52, 45, 0.10); --tag-prefix-hover: #CC342D; " href="/t/ruby"><span class="crayons-tag__prefix">#</span>ruby</a> <a class="crayons-tag crayons-tag--monochrome " style=" --tag-bg: rgba(204, 0, 0, 0.10); --tag-prefix: #cc0000; --tag-bg-hover: rgba(204, 0, 0, 0.10); --tag-prefix-hover: #cc0000; " href="/t/rails"><span class="crayons-tag__prefix">#</span>rails</a> </div> <div class="crayons-story__bottom"> <div class="crayons-story__details"> <a href="/couchbase/ai-in-action-enhancing-and-not-replacing-jobs-31i2#comments" class="crayons-btn crayons-btn--s crayons-btn--ghost crayons-btn--icon-left flex items-center" aria-label="Add a comment to post - AI in Action: Enhancing and Not Replacing Jobs"> <svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" role="img" aria-labelledby="aqw6gpzmjx7zu0fy72n0jn4tm6fss3q7" class="crayons-icon"><title id="aqw6gpzmjx7zu0fy72n0jn4tm6fss3q7">Comments</title><path d="M10.5 5h3a6 6 0 110 12v2.625c-3.75-1.5-9-3.75-9-8.625a6 6 0 016-6zM12 15.5h1.5a4.501 4.501 0 001.722-8.657A4.5 4.5 0 0013.5 6.5h-3A4.5 4.5 0 006 11c0 2.707 1.846 4.475 6 6.36V15.5z"></path></svg> <span class="hidden s:inline">Add Comment</span> </a> </div> <div class="crayons-story__save"> <small class="crayons-story__tertiary fs-xs mr-2"> 11 min read </small> <button type="button" id="article-save-button-2031384" class="c-btn c-btn--icon-alone bookmark-button" data-reactable-id="2031384" data-article-author-id="29526" aria-label="Save post AI in Action: Enhancing and Not Replacing Jobs to reading list" title="Save post AI in Action: Enhancing and Not Replacing Jobs to reading list"> <span class="bm-initial"> <svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" aria-hidden="true"><path d="M6.75 4.5h10.5a.75.75 0 01.75.75v14.357a.375.375 0 01-.575.318L12 16.523l-5.426 3.401A.375.375 0 016 19.607V5.25a.75.75 0 01.75-.75zM16.5 6h-9v11.574l4.5-2.82 4.5 2.82V6z"></path></svg> </span> <span class="bm-success"> <svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" aria-hidden="true"><path d="M6.75 4.5h10.5a.75.75 0 01.75.75v14.357a.375.375 0 01-.575.318L12 16.523l-5.426 3.401A.375.375 0 016 19.607V5.25a.75.75 0 01.75-.75z"></path></svg> </span> </button> </div> </div> </div> </div> </div> <div class="crayons-story " data-feed-content-id="2031707" data-content-user-id="108323"> <a href="/techcronusbs/why-ruby-on-rails-is-ideal-for-startups-4jf2" aria-labelledby="article-link-2031707" class="crayons-story__hidden-navigation-link">Why Ruby on Rails is Ideal for Startups</a> <div class="crayons-story__body"> <div class="crayons-story__top"> <div class="crayons-story__meta"> <div class="crayons-story__author-pic"> <a href="/techcronusbs" class="crayons-avatar crayons-avatar--l "> <img src="https://media.dev.to/dynamic/image/width=90,height=90,fit=cover,gravity=auto,format=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Fuser%2Fprofile_image%2F108323%2F9f2df210-f2d9-47ba-8e60-8b11b20a129a.png" alt="techcronusbs profile" class="crayons-avatar__image" loading="lazy" /> </a> </div> <div> <div> <a href="/techcronusbs" class="crayons-story__secondary fw-medium m:hidden"> Techcronus Business Solutions Pvt. Ltd. </a> <div class="profile-preview-card relative mb-4 s:mb-0 fw-medium hidden m:inline-block"> <button id="story-author-preview-trigger-2031707" aria-controls="story-author-preview-content-2031707" class="profile-preview-card__trigger fs-s p-1 -ml-1 -my-2 crayons-btn crayons-btn--ghost" aria-label="Techcronus Business Solutions Pvt. Ltd. profile details"> Techcronus Business Solutions Pvt. Ltd. </button> <div id="story-author-preview-content-2031707" class="profile-preview-card__content crayons-dropdown branded-7 p-4 pt-0" style="border-top-color: var(--card-color);" data-repositioning-dropdown="true" data-testid="profile-preview-card"> <div class="gap-4 grid"> <div class="-mt-4"> <a href="/techcronusbs" class="flex"> <span class="crayons-avatar crayons-avatar--xl mr-2 shrink-0"> <img src="https://media.dev.to/dynamic/image/width=90,height=90,fit=cover,gravity=auto,format=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Fuser%2Fprofile_image%2F108323%2F9f2df210-f2d9-47ba-8e60-8b11b20a129a.png" class="crayons-avatar__image" alt="" loading="lazy" /> </span> <span class="crayons-link crayons-subtitle-2 mt-5">Techcronus Business Solutions Pvt. Ltd.</span> </a> </div> <div class="print-hidden"> <button class="crayons-btn follow-action-button whitespace-nowrap follow-user w-100" data-info='{"style":"full","id":108323,"className":"User","name":"Techcronus Business Solutions Pvt. Ltd."}'> Follow </button> </div> <div class="author-preview-metadata-container" data-author-id="108323"></div> </div> </div> </div> </div> <a href="/techcronusbs/why-ruby-on-rails-is-ideal-for-startups-4jf2" class="crayons-story__tertiary fs-xs"><time datetime="2024-10-09T12:15:15Z">Oct 9</time><span class="time-ago-indicator-initial-placeholder" data-seconds="1728476115"></span></a> </div> </div> </div> <div class="crayons-story__indention"> <h2 class="crayons-story__title"> <a href="/techcronusbs/why-ruby-on-rails-is-ideal-for-startups-4jf2" data-preload-image="" id="article-link-2031707"> Why Ruby on Rails is Ideal for Startups </a> </h2> <div class="crayons-story__tags"> <a class="crayons-tag crayons-tag--monochrome " style=" --tag-bg: rgba(204, 0, 0, 0.10); --tag-prefix: #cc0000; --tag-bg-hover: rgba(204, 0, 0, 0.10); --tag-prefix-hover: #cc0000; " href="/t/rails"><span class="crayons-tag__prefix">#</span>rails</a> <a class="crayons-tag crayons-tag--monochrome " style=" --tag-bg: rgba(204, 52, 45, 0.10); --tag-prefix: #CC342D; --tag-bg-hover: rgba(204, 52, 45, 0.10); --tag-prefix-hover: #CC342D; " href="/t/ruby"><span class="crayons-tag__prefix">#</span>ruby</a> </div> <div class="crayons-story__bottom"> <div class="crayons-story__details"> <a href="/techcronusbs/why-ruby-on-rails-is-ideal-for-startups-4jf2#comments" class="crayons-btn crayons-btn--s crayons-btn--ghost crayons-btn--icon-left flex items-center" aria-label="Add a comment to post - Why Ruby on Rails is Ideal for Startups"> <svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" role="img" aria-labelledby="ae8fcwhpvaohouk56tkbznqne8cefwv8" class="crayons-icon"><title id="ae8fcwhpvaohouk56tkbznqne8cefwv8">Comments</title><path d="M10.5 5h3a6 6 0 110 12v2.625c-3.75-1.5-9-3.75-9-8.625a6 6 0 016-6zM12 15.5h1.5a4.501 4.501 0 001.722-8.657A4.5 4.5 0 0013.5 6.5h-3A4.5 4.5 0 006 11c0 2.707 1.846 4.475 6 6.36V15.5z"></path></svg> <span class="hidden s:inline">Add Comment</span> </a> </div> <div class="crayons-story__save"> <small class="crayons-story__tertiary fs-xs mr-2"> 2 min read </small> <button type="button" id="article-save-button-2031707" class="c-btn c-btn--icon-alone bookmark-button" data-reactable-id="2031707" data-article-author-id="108323" aria-label="Save post Why Ruby on Rails is Ideal for Startups to reading list" title="Save post Why Ruby on Rails is Ideal for Startups to reading list"> <span class="bm-initial"> <svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" aria-hidden="true"><path d="M6.75 4.5h10.5a.75.75 0 01.75.75v14.357a.375.375 0 01-.575.318L12 16.523l-5.426 3.401A.375.375 0 016 19.607V5.25a.75.75 0 01.75-.75zM16.5 6h-9v11.574l4.5-2.82 4.5 2.82V6z"></path></svg> </span> <span class="bm-success"> <svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" aria-hidden="true"><path d="M6.75 4.5h10.5a.75.75 0 01.75.75v14.357a.375.375 0 01-.575.318L12 16.523l-5.426 3.401A.375.375 0 016 19.607V5.25a.75.75 0 01.75-.75z"></path></svg> </span> </button> </div> </div> </div> </div> </div> <div class="crayons-story " data-feed-content-id="2030173" data-content-user-id="430053"> <a href="/slimgee/deploying-rails-apps-to-a-caprover-instance-1de1" aria-labelledby="article-link-2030173" class="crayons-story__hidden-navigation-link">Deploying Rails Apps to a Caprover Instance</a> <div class="crayons-story__body"> <div class="crayons-story__top"> <div class="crayons-story__meta"> <div class="crayons-story__author-pic"> <a href="/slimgee" class="crayons-avatar crayons-avatar--l "> <img src="https://media.dev.to/dynamic/image/width=90,height=90,fit=cover,gravity=auto,format=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Fuser%2Fprofile_image%2F430053%2F2a4a05c2-28e0-4a86-b60f-fcb1fa4a7225.png" alt="slimgee profile" class="crayons-avatar__image" loading="lazy" /> </a> </div> <div> <div> <a href="/slimgee" class="crayons-story__secondary fw-medium m:hidden"> Given Ncube </a> <div class="profile-preview-card relative mb-4 s:mb-0 fw-medium hidden m:inline-block"> <button id="story-author-preview-trigger-2030173" aria-controls="story-author-preview-content-2030173" class="profile-preview-card__trigger fs-s p-1 -ml-1 -my-2 crayons-btn crayons-btn--ghost" aria-label="Given Ncube profile details"> Given Ncube </button> <div id="story-author-preview-content-2030173" class="profile-preview-card__content crayons-dropdown branded-7 p-4 pt-0" style="border-top-color: var(--card-color);" data-repositioning-dropdown="true" data-testid="profile-preview-card"> <div class="gap-4 grid"> <div class="-mt-4"> <a href="/slimgee" class="flex"> <span class="crayons-avatar crayons-avatar--xl mr-2 shrink-0"> <img src="https://media.dev.to/dynamic/image/width=90,height=90,fit=cover,gravity=auto,format=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Fuser%2Fprofile_image%2F430053%2F2a4a05c2-28e0-4a86-b60f-fcb1fa4a7225.png" class="crayons-avatar__image" alt="" loading="lazy" /> </span> <span class="crayons-link crayons-subtitle-2 mt-5">Given Ncube</span> </a> </div> <div class="print-hidden"> <button class="crayons-btn follow-action-button whitespace-nowrap follow-user w-100" data-info='{"style":"full","id":430053,"className":"User","name":"Given Ncube"}'> Follow </button> </div> <div class="author-preview-metadata-container" data-author-id="430053"></div> </div> </div> </div> </div> <a href="/slimgee/deploying-rails-apps-to-a-caprover-instance-1de1" class="crayons-story__tertiary fs-xs"><time datetime="2024-10-08T12:43:45Z">Oct 8</time><span class="time-ago-indicator-initial-placeholder" data-seconds="1728391425"></span></a> </div> </div> </div> <div class="crayons-story__indention"> <h2 class="crayons-story__title"> <a href="/slimgee/deploying-rails-apps-to-a-caprover-instance-1de1" data-preload-image="https://media2.dev.to/dynamic/image/width=1000,height=420,fit=cover,gravity=auto,format=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fnrn1332jkt85hjojnu2v.png" id="article-link-2030173"> Deploying Rails Apps to a Caprover Instance </a> </h2> <div class="crayons-story__tags"> <a class="crayons-tag crayons-tag--monochrome " style=" --tag-bg: rgba(204, 52, 45, 0.10); --tag-prefix: #CC342D; --tag-bg-hover: rgba(204, 52, 45, 0.10); --tag-prefix-hover: #CC342D; " href="/t/ruby"><span class="crayons-tag__prefix">#</span>ruby</a> <a class="crayons-tag crayons-tag--monochrome " style=" --tag-bg: rgba(204, 0, 0, 0.10); --tag-prefix: #cc0000; --tag-bg-hover: rgba(204, 0, 0, 0.10); --tag-prefix-hover: #cc0000; " href="/t/rails"><span class="crayons-tag__prefix">#</span>rails</a> <a class="crayons-tag crayons-tag--monochrome " style=" --tag-bg: rgba(6, 181, 0, 0.10); --tag-prefix: #06B500; --tag-bg-hover: rgba(6, 181, 0, 0.10); --tag-prefix-hover: #06B500; " href="/t/devops"><span class="crayons-tag__prefix">#</span>devops</a> </div> <div class="crayons-story__bottom"> <div class="crayons-story__details"> <a href="/slimgee/deploying-rails-apps-to-a-caprover-instance-1de1#comments" class="crayons-btn crayons-btn--s crayons-btn--ghost crayons-btn--icon-left flex items-center" aria-label="Add a comment to post - Deploying Rails Apps to a Caprover Instance"> <svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" role="img" aria-labelledby="aeebqxmnb1n5aq6rfju2sdnyqrbuifms" class="crayons-icon"><title id="aeebqxmnb1n5aq6rfju2sdnyqrbuifms">Comments</title><path d="M10.5 5h3a6 6 0 110 12v2.625c-3.75-1.5-9-3.75-9-8.625a6 6 0 016-6zM12 15.5h1.5a4.501 4.501 0 001.722-8.657A4.5 4.5 0 0013.5 6.5h-3A4.5 4.5 0 006 11c0 2.707 1.846 4.475 6 6.36V15.5z"></path></svg> <span class="hidden s:inline">Add Comment</span> </a> </div> <div class="crayons-story__save"> <small class="crayons-story__tertiary fs-xs mr-2"> 3 min read </small> <button type="button" id="article-save-button-2030173" class="c-btn c-btn--icon-alone bookmark-button" data-reactable-id="2030173" data-article-author-id="430053" aria-label="Save post Deploying Rails Apps to a Caprover Instance to reading list" title="Save post Deploying Rails Apps to a Caprover Instance to reading list"> <span class="bm-initial"> <svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" aria-hidden="true"><path d="M6.75 4.5h10.5a.75.75 0 01.75.75v14.357a.375.375 0 01-.575.318L12 16.523l-5.426 3.401A.375.375 0 016 19.607V5.25a.75.75 0 01.75-.75zM16.5 6h-9v11.574l4.5-2.82 4.5 2.82V6z"></path></svg> </span> <span class="bm-success"> <svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" aria-hidden="true"><path d="M6.75 4.5h10.5a.75.75 0 01.75.75v14.357a.375.375 0 01-.575.318L12 16.523l-5.426 3.401A.375.375 0 016 19.607V5.25a.75.75 0 01.75-.75z"></path></svg> </span> </button> </div> </div> </div> </div> </div> <div class="crayons-story " data-feed-content-id="2093596" data-content-user-id="204623"> <a href="/cirdes/why-your-company-should-sponsor-events-4e04" aria-labelledby="article-link-2093596" class="crayons-story__hidden-navigation-link">Why Your Company Should Sponsor Events</a> <div class="crayons-story__body"> <div class="crayons-story__top"> <div class="crayons-story__meta"> <div class="crayons-story__author-pic"> <a href="/cirdes" class="crayons-avatar crayons-avatar--l "> <img src="https://media2.dev.to/dynamic/image/width=90,height=90,fit=cover,gravity=auto,format=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Fuser%2Fprofile_image%2F204623%2Fa32b15f3-e52e-4358-9348-3308ca575d31.png" alt="cirdes profile" class="crayons-avatar__image" loading="lazy" /> </a> </div> <div> <div> <a href="/cirdes" class="crayons-story__secondary fw-medium m:hidden"> Cirdes Henrique </a> <div class="profile-preview-card relative mb-4 s:mb-0 fw-medium hidden m:inline-block"> <button id="story-author-preview-trigger-2093596" aria-controls="story-author-preview-content-2093596" class="profile-preview-card__trigger fs-s p-1 -ml-1 -my-2 crayons-btn crayons-btn--ghost" aria-label="Cirdes Henrique profile details"> Cirdes Henrique </button> <div id="story-author-preview-content-2093596" class="profile-preview-card__content crayons-dropdown branded-7 p-4 pt-0" style="border-top-color: var(--card-color);" data-repositioning-dropdown="true" data-testid="profile-preview-card"> <div class="gap-4 grid"> <div class="-mt-4"> <a href="/cirdes" class="flex"> <span class="crayons-avatar crayons-avatar--xl mr-2 shrink-0"> <img src="https://media2.dev.to/dynamic/image/width=90,height=90,fit=cover,gravity=auto,format=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Fuser%2Fprofile_image%2F204623%2Fa32b15f3-e52e-4358-9348-3308ca575d31.png" class="crayons-avatar__image" alt="" loading="lazy" /> </span> <span class="crayons-link crayons-subtitle-2 mt-5">Cirdes Henrique</span> </a> </div> <div class="print-hidden"> <button class="crayons-btn follow-action-button whitespace-nowrap follow-user w-100" data-info='{"style":"full","id":204623,"className":"User","name":"Cirdes Henrique"}'> Follow </button> </div> <div class="author-preview-metadata-container" data-author-id="204623"></div> </div> </div> </div> </div> <a href="/cirdes/why-your-company-should-sponsor-events-4e04" class="crayons-story__tertiary fs-xs"><time datetime="2024-11-10T21:19:52Z">Nov 10</time><span class="time-ago-indicator-initial-placeholder" data-seconds="1731273592"></span></a> </div> </div> </div> <div class="crayons-story__indention"> <h2 class="crayons-story__title"> <a href="/cirdes/why-your-company-should-sponsor-events-4e04" data-preload-image="https://media2.dev.to/dynamic/image/width=1000,height=420,fit=cover,gravity=auto,format=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fychtviop836hthwvsdl7.jpg" id="article-link-2093596"> Why Your Company Should Sponsor Events </a> </h2> <div class="crayons-story__tags"> <a class="crayons-tag crayons-tag--filled " style=" --tag-bg: rgba(49, 26, 153, 0.10); --tag-prefix: #311a99; --tag-bg-hover: rgba(49, 26, 153, 0.10); --tag-prefix-hover: #311a99; " href="/t/techtalks"><span class="crayons-tag__prefix">#</span>techtalks</a> <a class="crayons-tag crayons-tag--monochrome " style=" --tag-bg: rgba(204, 0, 0, 0.10); --tag-prefix: #cc0000; --tag-bg-hover: rgba(204, 0, 0, 0.10); --tag-prefix-hover: #cc0000; " href="/t/rails"><span class="crayons-tag__prefix">#</span>rails</a> <a class="crayons-tag crayons-tag--monochrome " style=" --tag-bg: rgba(204, 52, 45, 0.10); --tag-prefix: #CC342D; --tag-bg-hover: rgba(204, 52, 45, 0.10); --tag-prefix-hover: #CC342D; " href="/t/ruby"><span class="crayons-tag__prefix">#</span>ruby</a> <a class="crayons-tag crayons-tag--monochrome " style=" --tag-bg: rgba(247, 150, 0, 0.10); --tag-prefix: #f79600; --tag-bg-hover: rgba(247, 150, 0, 0.10); --tag-prefix-hover: #f79600; " href="/t/community"><span class="crayons-tag__prefix">#</span>community</a> </div> <div class="crayons-story__bottom"> <div class="crayons-story__details"> <a href="/cirdes/why-your-company-should-sponsor-events-4e04" class="crayons-btn crayons-btn--s crayons-btn--ghost crayons-btn--icon-left" data-reaction-count data-reactable-id="2093596" aria-label="Add a comment to post - Why Your Company Should Sponsor Events"> <div class="multiple_reactions_aggregate"> <span class="multiple_reactions_icons_container" dir="rtl"> <span class="crayons_icon_container"> <img src="https://assets.dev.to/assets/fire-f60e7a582391810302117f987b22a8ef04a2fe0df7e3258a5f49332df1cec71e.svg" width="18" height="18" /> </span> <span class="crayons_icon_container"> <img src="https://assets.dev.to/assets/raised-hands-74b2099fd66a39f2d7eed9305ee0f4553df0eb7b4f11b01b6b1b499973048fe5.svg" width="18" height="18" /> </span> <span class="crayons_icon_container"> <img src="https://assets.dev.to/assets/exploding-head-daceb38d627e6ae9b730f36a1e390fca556a4289d5a41abb2c35068ad3e2c4b5.svg" width="18" height="18" /> </span> <span class="crayons_icon_container"> <img src="https://assets.dev.to/assets/sparkle-heart-5f9bee3767e18deb1bb725290cb151c25234768a0e9a2bd39370c382d02920cf.svg" width="18" height="18" /> </span> </span> <span class="aggregate_reactions_counter">12<span class="hidden s:inline"> reactions</span></span> </div> </a> <a href="/cirdes/why-your-company-should-sponsor-events-4e04#comments" class="crayons-btn crayons-btn--s crayons-btn--ghost crayons-btn--icon-left flex items-center" aria-label="Add a comment to post - Why Your Company Should Sponsor Events"> <svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" role="img" aria-labelledby="at1l2cqqn2oj667qvebuf1nsqnaqpsj2" class="crayons-icon"><title id="at1l2cqqn2oj667qvebuf1nsqnaqpsj2">Comments</title><path d="M10.5 5h3a6 6 0 110 12v2.625c-3.75-1.5-9-3.75-9-8.625a6 6 0 016-6zM12 15.5h1.5a4.501 4.501 0 001.722-8.657A4.5 4.5 0 0013.5 6.5h-3A4.5 4.5 0 006 11c0 2.707 1.846 4.475 6 6.36V15.5z"></path></svg> <span class="hidden s:inline">Add Comment</span> </a> </div> <div class="crayons-story__save"> <small class="crayons-story__tertiary fs-xs mr-2"> 4 min read </small> <button type="button" id="article-save-button-2093596" class="c-btn c-btn--icon-alone bookmark-button" data-reactable-id="2093596" data-article-author-id="204623" aria-label="Save post Why Your Company Should Sponsor Events to reading list" title="Save post Why Your Company Should Sponsor Events to reading list"> <span class="bm-initial"> <svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" aria-hidden="true"><path d="M6.75 4.5h10.5a.75.75 0 01.75.75v14.357a.375.375 0 01-.575.318L12 16.523l-5.426 3.401A.375.375 0 016 19.607V5.25a.75.75 0 01.75-.75zM16.5 6h-9v11.574l4.5-2.82 4.5 2.82V6z"></path></svg> </span> <span class="bm-success"> <svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" aria-hidden="true"><path d="M6.75 4.5h10.5a.75.75 0 01.75.75v14.357a.375.375 0 01-.575.318L12 16.523l-5.426 3.401A.375.375 0 016 19.607V5.25a.75.75 0 01.75-.75z"></path></svg> </span> </button> </div> </div> </div> </div> </div> <div class="crayons-story " data-feed-content-id="2093002" data-content-user-id="90428"> <a href="/krmbzds/new-release-turkishid-v170-7go" aria-labelledby="article-link-2093002" class="crayons-story__hidden-navigation-link">New Release: turkish_id v1.7.0</a> <div class="crayons-story__body"> <div class="crayons-story__top"> <div class="crayons-story__meta"> <div class="crayons-story__author-pic"> <a href="/krmbzds" class="crayons-avatar crayons-avatar--l "> <img src="https://media2.dev.to/dynamic/image/width=90,height=90,fit=cover,gravity=auto,format=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Fuser%2Fprofile_image%2F90428%2F465378c8-1f9c-4ec0-9f4e-c46c9d361d34.jpg" alt="krmbzds profile" class="crayons-avatar__image" loading="lazy" /> </a> </div> <div> <div> <a href="/krmbzds" class="crayons-story__secondary fw-medium m:hidden"> Kerem Bozdas </a> <div class="profile-preview-card relative mb-4 s:mb-0 fw-medium hidden m:inline-block"> <button id="story-author-preview-trigger-2093002" aria-controls="story-author-preview-content-2093002" class="profile-preview-card__trigger fs-s p-1 -ml-1 -my-2 crayons-btn crayons-btn--ghost" aria-label="Kerem Bozdas profile details"> Kerem Bozdas </button> <div id="story-author-preview-content-2093002" class="profile-preview-card__content crayons-dropdown branded-7 p-4 pt-0" style="border-top-color: var(--card-color);" data-repositioning-dropdown="true" data-testid="profile-preview-card"> <div class="gap-4 grid"> <div class="-mt-4"> <a href="/krmbzds" class="flex"> <span class="crayons-avatar crayons-avatar--xl mr-2 shrink-0"> <img src="https://media2.dev.to/dynamic/image/width=90,height=90,fit=cover,gravity=auto,format=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Fuser%2Fprofile_image%2F90428%2F465378c8-1f9c-4ec0-9f4e-c46c9d361d34.jpg" class="crayons-avatar__image" alt="" loading="lazy" /> </span> <span class="crayons-link crayons-subtitle-2 mt-5">Kerem Bozdas</span> </a> </div> <div class="print-hidden"> <button class="crayons-btn follow-action-button whitespace-nowrap follow-user w-100" data-info='{"style":"full","id":90428,"className":"User","name":"Kerem Bozdas"}'> Follow </button> </div> <div class="author-preview-metadata-container" data-author-id="90428"></div> </div> </div> </div> </div> <a href="/krmbzds/new-release-turkishid-v170-7go" class="crayons-story__tertiary fs-xs"><time datetime="2024-11-10T15:15:21Z">Nov 10</time><span class="time-ago-indicator-initial-placeholder" data-seconds="1731251721"></span></a> </div> </div> </div> <div class="crayons-story__indention"> <h2 class="crayons-story__title"> <a href="/krmbzds/new-release-turkishid-v170-7go" data-preload-image="https://media2.dev.to/dynamic/image/width=1000,height=420,fit=cover,gravity=auto,format=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fg0h7zt4xyh9rhxserxms.png" id="article-link-2093002"> New Release: turkish_id v1.7.0 </a> </h2> <div class="crayons-story__tags"> <a class="crayons-tag crayons-tag--monochrome " style=" --tag-bg: rgba(204, 52, 45, 0.10); --tag-prefix: #CC342D; --tag-bg-hover: rgba(204, 52, 45, 0.10); --tag-prefix-hover: #CC342D; " href="/t/ruby"><span class="crayons-tag__prefix">#</span>ruby</a> <a class="crayons-tag crayons-tag--monochrome " style=" --tag-bg: rgba(38, 190, 0, 0.10); --tag-prefix: #26BE00; --tag-bg-hover: rgba(38, 190, 0, 0.10); --tag-prefix-hover: #26BE00; " href="/t/opensource"><span class="crayons-tag__prefix">#</span>opensource</a> <a class="crayons-tag crayons-tag--monochrome " style=" --tag-bg: rgba(204, 0, 0, 0.10); --tag-prefix: #cc0000; --tag-bg-hover: rgba(204, 0, 0, 0.10); --tag-prefix-hover: #cc0000; " href="/t/rails"><span class="crayons-tag__prefix">#</span>rails</a> </div> <div class="crayons-story__bottom"> <div class="crayons-story__details"> <a href="/krmbzds/new-release-turkishid-v170-7go" class="crayons-btn crayons-btn--s crayons-btn--ghost crayons-btn--icon-left" data-reaction-count data-reactable-id="2093002" aria-label="Add a comment to post - New Release: turkish_id v1.7.0"> <div class="multiple_reactions_aggregate"> <span class="multiple_reactions_icons_container" dir="rtl"> <span class="crayons_icon_container"> <img src="https://assets.dev.to/assets/fire-f60e7a582391810302117f987b22a8ef04a2fe0df7e3258a5f49332df1cec71e.svg" width="18" height="18" /> </span> <span class="crayons_icon_container"> <img src="https://assets.dev.to/assets/multi-unicorn-b44d6f8c23cdd00964192bedc38af3e82463978aa611b4365bd33a0f1f4f3e97.svg" width="18" height="18" /> </span> <span class="crayons_icon_container"> <img src="https://assets.dev.to/assets/sparkle-heart-5f9bee3767e18deb1bb725290cb151c25234768a0e9a2bd39370c382d02920cf.svg" width="18" height="18" /> </span> </span> <span class="aggregate_reactions_counter">7<span class="hidden s:inline"> reactions</span></span> </div> </a> <a href="/krmbzds/new-release-turkishid-v170-7go#comments" class="crayons-btn crayons-btn--s crayons-btn--ghost crayons-btn--icon-left flex items-center" aria-label="Add a comment to post - New Release: turkish_id v1.7.0"> <svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" role="img" aria-labelledby="akkj4w7ys9bgc6uc9w7rilqofez0djwj" class="crayons-icon"><title id="akkj4w7ys9bgc6uc9w7rilqofez0djwj">Comments</title><path d="M10.5 5h3a6 6 0 110 12v2.625c-3.75-1.5-9-3.75-9-8.625a6 6 0 016-6zM12 15.5h1.5a4.501 4.501 0 001.722-8.657A4.5 4.5 0 0013.5 6.5h-3A4.5 4.5 0 006 11c0 2.707 1.846 4.475 6 6.36V15.5z"></path></svg> <span class="hidden s:inline">Add Comment</span> </a> </div> <div class="crayons-story__save"> <small class="crayons-story__tertiary fs-xs mr-2"> 3 min read </small> <button type="button" id="article-save-button-2093002" class="c-btn c-btn--icon-alone bookmark-button" data-reactable-id="2093002" data-article-author-id="90428" aria-label="Save post New Release: turkish_id v1.7.0 to reading list" title="Save post New Release: turkish_id v1.7.0 to reading list"> <span class="bm-initial"> <svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" aria-hidden="true"><path d="M6.75 4.5h10.5a.75.75 0 01.75.75v14.357a.375.375 0 01-.575.318L12 16.523l-5.426 3.401A.375.375 0 016 19.607V5.25a.75.75 0 01.75-.75zM16.5 6h-9v11.574l4.5-2.82 4.5 2.82V6z"></path></svg> </span> <span class="bm-success"> <svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" aria-hidden="true"><path d="M6.75 4.5h10.5a.75.75 0 01.75.75v14.357a.375.375 0 01-.575.318L12 16.523l-5.426 3.401A.375.375 0 016 19.607V5.25a.75.75 0 01.75-.75z"></path></svg> </span> </button> </div> </div> </div> </div> </div> <div class="crayons-story " data-feed-content-id="2086654" data-content-user-id="928798"> <a href="/lcsm0n/streamlining-rails-controllers-with-simple-poro-validators-4h9a" aria-labelledby="article-link-2086654" class="crayons-story__hidden-navigation-link">Streamlining Rails Controllers with Simple PORO Validators</a> <div class="crayons-story__body"> <div class="crayons-story__top"> <div class="crayons-story__meta"> <div class="crayons-story__author-pic"> <a href="/lcsm0n" class="crayons-avatar crayons-avatar--l "> <img src="https://media2.dev.to/dynamic/image/width=90,height=90,fit=cover,gravity=auto,format=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Fuser%2Fprofile_image%2F928798%2Fcbba1850-b59c-49b2-bc74-fde91a96e2cc.png" alt="lcsm0n profile" class="crayons-avatar__image" loading="lazy" /> </a> </div> <div> <div> <a href="/lcsm0n" class="crayons-story__secondary fw-medium m:hidden"> Lucas M. </a> <div class="profile-preview-card relative mb-4 s:mb-0 fw-medium hidden m:inline-block"> <button id="story-author-preview-trigger-2086654" aria-controls="story-author-preview-content-2086654" class="profile-preview-card__trigger fs-s p-1 -ml-1 -my-2 crayons-btn crayons-btn--ghost" aria-label="Lucas M. profile details"> Lucas M. </button> <div id="story-author-preview-content-2086654" class="profile-preview-card__content crayons-dropdown branded-7 p-4 pt-0" style="border-top-color: var(--card-color);" data-repositioning-dropdown="true" data-testid="profile-preview-card"> <div class="gap-4 grid"> <div class="-mt-4"> <a href="/lcsm0n" class="flex"> <span class="crayons-avatar crayons-avatar--xl mr-2 shrink-0"> <img src="https://media2.dev.to/dynamic/image/width=90,height=90,fit=cover,gravity=auto,format=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Fuser%2Fprofile_image%2F928798%2Fcbba1850-b59c-49b2-bc74-fde91a96e2cc.png" class="crayons-avatar__image" alt="" loading="lazy" /> </span> <span class="crayons-link crayons-subtitle-2 mt-5">Lucas M.</span> </a> </div> <div class="print-hidden"> <button class="crayons-btn follow-action-button whitespace-nowrap follow-user w-100" data-info='{"style":"full","id":928798,"className":"User","name":"Lucas M."}'> Follow </button> </div> <div class="author-preview-metadata-container" data-author-id="928798"></div> </div> </div> </div> </div> <a href="/lcsm0n/streamlining-rails-controllers-with-simple-poro-validators-4h9a" class="crayons-story__tertiary fs-xs"><time datetime="2024-11-08T11:50:10Z">Nov 8</time><span class="time-ago-indicator-initial-placeholder" data-seconds="1731066610"></span></a> </div> </div> </div> <div class="crayons-story__indention"> <h2 class="crayons-story__title"> <a href="/lcsm0n/streamlining-rails-controllers-with-simple-poro-validators-4h9a" data-preload-image="" id="article-link-2086654"> Streamlining Rails Controllers with Simple PORO Validators </a> </h2> <div class="crayons-story__tags"> <a class="crayons-tag crayons-tag--monochrome " style=" --tag-bg: rgba(204, 0, 0, 0.10); --tag-prefix: #cc0000; --tag-bg-hover: rgba(204, 0, 0, 0.10); --tag-prefix-hover: #cc0000; " href="/t/rails"><span class="crayons-tag__prefix">#</span>rails</a> <a class="crayons-tag crayons-tag--monochrome " style=" --tag-bg: rgba(204, 52, 45, 0.10); --tag-prefix: #CC342D; --tag-bg-hover: rgba(204, 52, 45, 0.10); --tag-prefix-hover: #CC342D; " href="/t/ruby"><span class="crayons-tag__prefix">#</span>ruby</a> <a class="crayons-tag crayons-tag--monochrome " style=" --tag-bg: rgba(59, 73, 223, 0.10); --tag-prefix: #3b49df; --tag-bg-hover: rgba(59, 73, 223, 0.10); --tag-prefix-hover: #3b49df; " href="/t/cleancode"><span class="crayons-tag__prefix">#</span>cleancode</a> <a class="crayons-tag crayons-tag--monochrome " style=" --tag-bg: rgba(255, 102, 237, 0.10); --tag-prefix: #ff66ed; --tag-bg-hover: rgba(255, 102, 237, 0.10); --tag-prefix-hover: #ff66ed; " href="/t/learning"><span class="crayons-tag__prefix">#</span>learning</a> </div> <div class="crayons-story__bottom"> <div class="crayons-story__details"> <a href="/lcsm0n/streamlining-rails-controllers-with-simple-poro-validators-4h9a" class="crayons-btn crayons-btn--s crayons-btn--ghost crayons-btn--icon-left" data-reaction-count data-reactable-id="2086654" aria-label="Add a comment to post - Streamlining Rails Controllers with Simple PORO Validators"> <div class="multiple_reactions_aggregate"> <span class="multiple_reactions_icons_container" dir="rtl"> <span class="crayons_icon_container"> <img src="https://assets.dev.to/assets/fire-f60e7a582391810302117f987b22a8ef04a2fe0df7e3258a5f49332df1cec71e.svg" width="18" height="18" /> </span> <span class="crayons_icon_container"> <img src="https://assets.dev.to/assets/raised-hands-74b2099fd66a39f2d7eed9305ee0f4553df0eb7b4f11b01b6b1b499973048fe5.svg" width="18" height="18" /> </span> <span class="crayons_icon_container"> <img src="https://assets.dev.to/assets/exploding-head-daceb38d627e6ae9b730f36a1e390fca556a4289d5a41abb2c35068ad3e2c4b5.svg" width="18" height="18" /> </span> <span class="crayons_icon_container"> <img src="https://assets.dev.to/assets/multi-unicorn-b44d6f8c23cdd00964192bedc38af3e82463978aa611b4365bd33a0f1f4f3e97.svg" width="18" height="18" /> </span> <span class="crayons_icon_container"> <img src="https://assets.dev.to/assets/sparkle-heart-5f9bee3767e18deb1bb725290cb151c25234768a0e9a2bd39370c382d02920cf.svg" width="18" height="18" /> </span> </span> <span class="aggregate_reactions_counter">15<span class="hidden s:inline"> reactions</span></span> </div> </a> <a href="/lcsm0n/streamlining-rails-controllers-with-simple-poro-validators-4h9a#comments" class="crayons-btn crayons-btn--s crayons-btn--ghost crayons-btn--icon-left flex items-center" aria-label="Add a comment to post - Streamlining Rails Controllers with Simple PORO Validators"> <svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" role="img" aria-labelledby="a1vxdd3cpcwntlnfq9m0ooyj29gpaio4" class="crayons-icon"><title id="a1vxdd3cpcwntlnfq9m0ooyj29gpaio4">Comments</title><path d="M10.5 5h3a6 6 0 110 12v2.625c-3.75-1.5-9-3.75-9-8.625a6 6 0 016-6zM12 15.5h1.5a4.501 4.501 0 001.722-8.657A4.5 4.5 0 0013.5 6.5h-3A4.5 4.5 0 006 11c0 2.707 1.846 4.475 6 6.36V15.5z"></path></svg> 3<span class="hidden s:inline"> comments</span> </a> </div> <div class="crayons-story__save"> <small class="crayons-story__tertiary fs-xs mr-2"> 3 min read </small> <button type="button" id="article-save-button-2086654" class="c-btn c-btn--icon-alone bookmark-button" data-reactable-id="2086654" data-article-author-id="928798" aria-label="Save post Streamlining Rails Controllers with Simple PORO Validators to reading list" title="Save post Streamlining Rails Controllers with Simple PORO Validators to reading list"> <span class="bm-initial"> <svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" aria-hidden="true"><path d="M6.75 4.5h10.5a.75.75 0 01.75.75v14.357a.375.375 0 01-.575.318L12 16.523l-5.426 3.401A.375.375 0 016 19.607V5.25a.75.75 0 01.75-.75zM16.5 6h-9v11.574l4.5-2.82 4.5 2.82V6z"></path></svg> </span> <span class="bm-success"> <svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" aria-hidden="true"><path d="M6.75 4.5h10.5a.75.75 0 01.75.75v14.357a.375.375 0 01-.575.318L12 16.523l-5.426 3.401A.375.375 0 016 19.607V5.25a.75.75 0 01.75-.75z"></path></svg> </span> </button> </div> </div> </div> </div> </div> <div class="crayons-story " data-feed-content-id="2028858" data-content-user-id="1539739"> <a href="/zaparka/senior-vs-junior-4bfg" aria-labelledby="article-link-2028858" class="crayons-story__hidden-navigation-link">Senior vs Junior</a> <div class="crayons-story__body"> <div class="crayons-story__top"> <div class="crayons-story__meta"> <div class="crayons-story__author-pic"> <a href="/zaparka" class="crayons-avatar crayons-avatar--l "> <img src="https://media.dev.to/dynamic/image/width=90,height=90,fit=cover,gravity=auto,format=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Fuser%2Fprofile_image%2F1539739%2F2b74617b-99a2-4cd6-9472-a4ded53b9b91.jpg" alt="zaparka profile" class="crayons-avatar__image" loading="lazy" /> </a> </div> <div> <div> <a href="/zaparka" class="crayons-story__secondary fw-medium m:hidden"> Petr Zaparka </a> <div class="profile-preview-card relative mb-4 s:mb-0 fw-medium hidden m:inline-block"> <button id="story-author-preview-trigger-2028858" aria-controls="story-author-preview-content-2028858" class="profile-preview-card__trigger fs-s p-1 -ml-1 -my-2 crayons-btn crayons-btn--ghost" aria-label="Petr Zaparka profile details"> Petr Zaparka </button> <div id="story-author-preview-content-2028858" class="profile-preview-card__content crayons-dropdown branded-7 p-4 pt-0" style="border-top-color: var(--card-color);" data-repositioning-dropdown="true" data-testid="profile-preview-card"> <div class="gap-4 grid"> <div class="-mt-4"> <a href="/zaparka" class="flex"> <span class="crayons-avatar crayons-avatar--xl mr-2 shrink-0"> <img src="https://media.dev.to/dynamic/image/width=90,height=90,fit=cover,gravity=auto,format=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Fuser%2Fprofile_image%2F1539739%2F2b74617b-99a2-4cd6-9472-a4ded53b9b91.jpg" class="crayons-avatar__image" alt="" loading="lazy" /> </span> <span class="crayons-link crayons-subtitle-2 mt-5">Petr Zaparka</span> </a> </div> <div class="print-hidden"> <button class="crayons-btn follow-action-button whitespace-nowrap follow-user w-100" data-info='{"style":"full","id":1539739,"className":"User","name":"Petr Zaparka"}'> Follow </button> </div> <div class="author-preview-metadata-container" data-author-id="1539739"></div> </div> </div> </div> </div> <a href="/zaparka/senior-vs-junior-4bfg" class="crayons-story__tertiary fs-xs"><time datetime="2024-10-07T13:27:19Z">Oct 7</time><span class="time-ago-indicator-initial-placeholder" data-seconds="1728307639"></span></a> </div> </div> </div> <div class="crayons-story__indention"> <h2 class="crayons-story__title"> <a href="/zaparka/senior-vs-junior-4bfg" data-preload-image="https://media2.dev.to/dynamic/image/width=1000,height=420,fit=cover,gravity=auto,format=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fw2imqxva5fvan4n5qwvt.jpeg" id="article-link-2028858"> Senior vs Junior </a> </h2> <div class="crayons-story__tags"> <a class="crayons-tag crayons-tag--monochrome " style=" --tag-bg: rgba(86, 39, 101, 0.10); --tag-prefix: #562765; --tag-bg-hover: rgba(86, 39, 101, 0.10); --tag-prefix-hover: #562765; " href="/t/webdev"><span class="crayons-tag__prefix">#</span>webdev</a> <a class="crayons-tag crayons-tag--monochrome " style=" --tag-bg: rgba(204, 52, 45, 0.10); --tag-prefix: #CC342D; --tag-bg-hover: rgba(204, 52, 45, 0.10); --tag-prefix-hover: #CC342D; " href="/t/ruby"><span class="crayons-tag__prefix">#</span>ruby</a> <a class="crayons-tag crayons-tag--monochrome " style=" --tag-bg: rgba(204, 0, 0, 0.10); --tag-prefix: #cc0000; --tag-bg-hover: rgba(204, 0, 0, 0.10); --tag-prefix-hover: #cc0000; " href="/t/rails"><span class="crayons-tag__prefix">#</span>rails</a> <a class="crayons-tag crayons-tag--monochrome " style=" --tag-bg: rgba(59, 73, 223, 0.10); --tag-prefix: #3b49df; --tag-bg-hover: rgba(59, 73, 223, 0.10); --tag-prefix-hover: #3b49df; " href="/t/developers"><span class="crayons-tag__prefix">#</span>developers</a> </div> <div class="crayons-story__bottom"> <div class="crayons-story__details"> <a href="/zaparka/senior-vs-junior-4bfg#comments" class="crayons-btn crayons-btn--s crayons-btn--ghost crayons-btn--icon-left flex items-center" aria-label="Add a comment to post - Senior vs Junior"> <svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" role="img" aria-labelledby="alqb27k7f2ia0g3zhaqu3gvqmo8i6fiw" class="crayons-icon"><title id="alqb27k7f2ia0g3zhaqu3gvqmo8i6fiw">Comments</title><path d="M10.5 5h3a6 6 0 110 12v2.625c-3.75-1.5-9-3.75-9-8.625a6 6 0 016-6zM12 15.5h1.5a4.501 4.501 0 001.722-8.657A4.5 4.5 0 0013.5 6.5h-3A4.5 4.5 0 006 11c0 2.707 1.846 4.475 6 6.36V15.5z"></path></svg> <span class="hidden s:inline">Add Comment</span> </a> </div> <div class="crayons-story__save"> <small class="crayons-story__tertiary fs-xs mr-2"> 1 min read </small> <button type="button" id="article-save-button-2028858" class="c-btn c-btn--icon-alone bookmark-button" data-reactable-id="2028858" data-article-author-id="1539739" aria-label="Save post Senior vs Junior to reading list" title="Save post Senior vs Junior to reading list"> <span class="bm-initial"> <svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" aria-hidden="true"><path d="M6.75 4.5h10.5a.75.75 0 01.75.75v14.357a.375.375 0 01-.575.318L12 16.523l-5.426 3.401A.375.375 0 016 19.607V5.25a.75.75 0 01.75-.75zM16.5 6h-9v11.574l4.5-2.82 4.5 2.82V6z"></path></svg> </span> <span class="bm-success"> <svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" aria-hidden="true"><path d="M6.75 4.5h10.5a.75.75 0 01.75.75v14.357a.375.375 0 01-.575.318L12 16.523l-5.426 3.401A.375.375 0 016 19.607V5.25a.75.75 0 01.75-.75z"></path></svg> </span> </button> </div> </div> </div> </div> </div> <div class="crayons-story " data-feed-content-id="2091851" data-content-user-id="51393"> <a href="/eduardinni/kamal-how-to-integrate-with-github-actions-with-multiple-destinations-3gmm" aria-labelledby="article-link-2091851" class="crayons-story__hidden-navigation-link">Kamal: How to integrate with GitHub Actions using multiple destinations</a> <div class="crayons-story__body"> <div class="crayons-story__top"> <div class="crayons-story__meta"> <div class="crayons-story__author-pic"> <a href="/eduardinni" class="crayons-avatar crayons-avatar--l "> <img src="https://media2.dev.to/dynamic/image/width=90,height=90,fit=cover,gravity=auto,format=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Fuser%2Fprofile_image%2F51393%2F26a98cea-fb64-4ed4-abd2-9783ded31c6e.jpg" alt="eduardinni profile" class="crayons-avatar__image" loading="lazy" /> </a> </div> <div> <div> <a href="/eduardinni" class="crayons-story__secondary fw-medium m:hidden"> Eduardo Lomeli </a> <div class="profile-preview-card relative mb-4 s:mb-0 fw-medium hidden m:inline-block"> <button id="story-author-preview-trigger-2091851" aria-controls="story-author-preview-content-2091851" class="profile-preview-card__trigger fs-s p-1 -ml-1 -my-2 crayons-btn crayons-btn--ghost" aria-label="Eduardo Lomeli profile details"> Eduardo Lomeli </button> <div id="story-author-preview-content-2091851" class="profile-preview-card__content crayons-dropdown branded-7 p-4 pt-0" style="border-top-color: var(--card-color);" data-repositioning-dropdown="true" data-testid="profile-preview-card"> <div class="gap-4 grid"> <div class="-mt-4"> <a href="/eduardinni" class="flex"> <span class="crayons-avatar crayons-avatar--xl mr-2 shrink-0"> <img src="https://media2.dev.to/dynamic/image/width=90,height=90,fit=cover,gravity=auto,format=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Fuser%2Fprofile_image%2F51393%2F26a98cea-fb64-4ed4-abd2-9783ded31c6e.jpg" class="crayons-avatar__image" alt="" loading="lazy" /> </span> <span class="crayons-link crayons-subtitle-2 mt-5">Eduardo Lomeli</span> </a> </div> <div class="print-hidden"> <button class="crayons-btn follow-action-button whitespace-nowrap follow-user w-100" data-info='{"style":"full","id":51393,"className":"User","name":"Eduardo Lomeli"}'> Follow </button> </div> <div class="author-preview-metadata-container" data-author-id="51393"></div> </div> </div> </div> </div> <a href="/eduardinni/kamal-how-to-integrate-with-github-actions-with-multiple-destinations-3gmm" class="crayons-story__tertiary fs-xs"><time datetime="2024-11-10T06:28:53Z">Nov 10</time><span class="time-ago-indicator-initial-placeholder" data-seconds="1731220133"></span></a> </div> </div> </div> <div class="crayons-story__indention"> <h2 class="crayons-story__title"> <a href="/eduardinni/kamal-how-to-integrate-with-github-actions-with-multiple-destinations-3gmm" data-preload-image="" id="article-link-2091851"> Kamal: How to integrate with GitHub Actions using multiple destinations </a> </h2> <div class="crayons-story__tags"> <a class="crayons-tag crayons-tag--monochrome " style=" --tag-bg: rgba(59, 73, 223, 0.10); --tag-prefix: #3b49df; --tag-bg-hover: rgba(59, 73, 223, 0.10); --tag-prefix-hover: #3b49df; " href="/t/kamal"><span class="crayons-tag__prefix">#</span>kamal</a> <a class="crayons-tag crayons-tag--monochrome " style=" --tag-bg: rgba(204, 0, 0, 0.10); --tag-prefix: #cc0000; --tag-bg-hover: rgba(204, 0, 0, 0.10); --tag-prefix-hover: #cc0000; " href="/t/rails"><span class="crayons-tag__prefix">#</span>rails</a> </div> <div class="crayons-story__bottom"> <div class="crayons-story__details"> <a href="/eduardinni/kamal-how-to-integrate-with-github-actions-with-multiple-destinations-3gmm" class="crayons-btn crayons-btn--s crayons-btn--ghost crayons-btn--icon-left" data-reaction-count data-reactable-id="2091851" aria-label="Add a comment to post - Kamal: How to integrate with GitHub Actions using multiple destinations"> <div class="multiple_reactions_aggregate"> <span class="multiple_reactions_icons_container" dir="rtl"> <span class="crayons_icon_container"> <img src="https://assets.dev.to/assets/fire-f60e7a582391810302117f987b22a8ef04a2fe0df7e3258a5f49332df1cec71e.svg" width="18" height="18" /> </span> <span class="crayons_icon_container"> <img src="https://assets.dev.to/assets/raised-hands-74b2099fd66a39f2d7eed9305ee0f4553df0eb7b4f11b01b6b1b499973048fe5.svg" width="18" height="18" /> </span> <span class="crayons_icon_container"> <img src="https://assets.dev.to/assets/multi-unicorn-b44d6f8c23cdd00964192bedc38af3e82463978aa611b4365bd33a0f1f4f3e97.svg" width="18" height="18" /> </span> <span class="crayons_icon_container"> <img src="https://assets.dev.to/assets/sparkle-heart-5f9bee3767e18deb1bb725290cb151c25234768a0e9a2bd39370c382d02920cf.svg" width="18" height="18" /> </span> </span> <span class="aggregate_reactions_counter">5<span class="hidden s:inline"> reactions</span></span> </div> </a> <a href="/eduardinni/kamal-how-to-integrate-with-github-actions-with-multiple-destinations-3gmm#comments" class="crayons-btn crayons-btn--s crayons-btn--ghost crayons-btn--icon-left flex items-center" aria-label="Add a comment to post - Kamal: How to integrate with GitHub Actions using multiple destinations"> <svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" role="img" aria-labelledby="as6eph2zu9oxgo0ti328u35q3fl75x3y" class="crayons-icon"><title id="as6eph2zu9oxgo0ti328u35q3fl75x3y">Comments</title><path d="M10.5 5h3a6 6 0 110 12v2.625c-3.75-1.5-9-3.75-9-8.625a6 6 0 016-6zM12 15.5h1.5a4.501 4.501 0 001.722-8.657A4.5 4.5 0 0013.5 6.5h-3A4.5 4.5 0 006 11c0 2.707 1.846 4.475 6 6.36V15.5z"></path></svg> <span class="hidden s:inline">Add Comment</span> </a> </div> <div class="crayons-story__save"> <small class="crayons-story__tertiary fs-xs mr-2"> 3 min read </small> <button type="button" id="article-save-button-2091851" class="c-btn c-btn--icon-alone bookmark-button" data-reactable-id="2091851" data-article-author-id="51393" aria-label="Save post Kamal: How to integrate with GitHub Actions using multiple destinations to reading list" title="Save post Kamal: How to integrate with GitHub Actions using multiple destinations to reading list"> <span class="bm-initial"> <svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" aria-hidden="true"><path d="M6.75 4.5h10.5a.75.75 0 01.75.75v14.357a.375.375 0 01-.575.318L12 16.523l-5.426 3.401A.375.375 0 016 19.607V5.25a.75.75 0 01.75-.75zM16.5 6h-9v11.574l4.5-2.82 4.5 2.82V6z"></path></svg> </span> <span class="bm-success"> <svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" aria-hidden="true"><path d="M6.75 4.5h10.5a.75.75 0 01.75.75v14.357a.375.375 0 01-.575.318L12 16.523l-5.426 3.401A.375.375 0 016 19.607V5.25a.75.75 0 01.75-.75z"></path></svg> </span> </button> </div> </div> </div> </div> </div> <div class="placeholder-div"></div> <div class="single-article-small-pic" id="article-index-hidden-div" style="display:none"></div> </div> <div class="loading-articles" id="loading-articles"> loading... </div> </main> <div id="sidebar-wrapper-right" class="sidebar-wrapper sidebar-wrapper-right"> <div class="sidebar-bg" id="sidebar-bg-right"></div> <aside class="side-bar sidebar-additional showing" id="sidebar-additional"> <div class="widget"> <header> <h4>#discuss</h4> </header> <div class="widget-body"> <div class="widget-link-list"> <a class="crayons-link crayons-link--contentful" href="/ben/anybody-upgraded-to-ruby-on-rails-8-thoughts-1ej4"> Anybody upgraded to Ruby on Rails 8? Thoughts? <div class="crayons-link__secondary"> <span class="c-indicator c-indicator--warning">New</span> </div> </a> <a class="crayons-link crayons-link--contentful" href="/w3ndo/today-i-learned-about-the-splat-operator-in-ruby-376g"> Today I learned about the splat operator in Ruby. <div class="crayons-link__secondary"> 5 comments </div> </a> <a class="crayons-link crayons-link--contentful" href="/salanoid/the-evolution-of-ruby-version-management-5f1d"> The Evolution of Ruby Version Management <div class="crayons-link__secondary"> <span class="c-indicator c-indicator--warning">New</span> </div> </a> <a class="crayons-link crayons-link--contentful" href="/cristiano/is-going-for-devise-for-user-authentication-a-good-choice-for-a-first-rails-app-or-should-i-write-it-from-scratch-47hn"> Is going for Devise for user authentication a good choice for a first Rails app or should I write... <div class="crayons-link__secondary"> 8 comments </div> </a> <a class="crayons-link crayons-link--contentful" href="/scrabill/which-ruby-book-would-you-recommend-1hgo"> Which ruby book would you recommend? <div class="crayons-link__secondary"> 20 comments </div> </a> <a class="crayons-link crayons-link--contentful" href="/nickytonline/what-are-your-thoughts-on-the-rails-community-3p3o"> What are your thoughts on the Rails community? <div class="crayons-link__secondary"> 1 comment </div> </a> <a class="crayons-link crayons-link--contentful" href="/srebalaji/show-dev-klip-space---copy-paste-text-across-multiple-devices-51b5"> Show Dev: Klip Space - Copy, paste text across multiple devices <div class="crayons-link__secondary"> 3 comments </div> </a> <a class="crayons-link crayons-link--contentful" href="/maestromac/how-to-best-organize-a-rails-app-folder-18of"> How to best organize a Rails app folder? <div class="crayons-link__secondary"> 12 comments </div> </a> <a class="crayons-link crayons-link--contentful" href="/ark/is-there-good-ruby-rails-repos-to-read-and-learn-good-architecture-coding-manners-49ap"> Is there good Ruby/Rails repos to read and learn good architecture/coding manners? <div class="crayons-link__secondary"> 4 comments </div> </a> <a class="crayons-link crayons-link--contentful" href="/w3ndo/my-mistakes-lessons-for-the-week-1hao"> My mistakes & lessons for the Week <div class="crayons-link__secondary"> 9 comments </div> </a> </div> </div> </div> <div class="widget"> <header> <h4>trending guides/resources</h4> </header> <div class="widget-body"> <div class="widget-link-list"> <a class="crayons-link crayons-link--contentful" href="/jetthoughts/rails-8-introducing-the-new-default-asset-pipeline-propshaft-5cpp"> Rails 8: Introducing the New Default Asset Pipeline – Propshaft </a> <a class="crayons-link crayons-link--contentful" href="/alexandrecalaca/error-rbenv-install-334-ruby-build-definition-not-found-334-921"> Error: rbenv install 3.3.4 - ruby-build: definition not found: 3.3.4 </a> <a class="crayons-link crayons-link--contentful" href="/alexandrecalaca/how-to-temporarily-skip-the-pending-migration-check-in-rails-4ahk"> How to temporarily skip the pending migration check in Rails </a> <a class="crayons-link crayons-link--contentful" href="/mrispoli24/format-on-save-for-erb-and-ruby-files-in-zed-ide-568g"> Format on save for ERB and Ruby files in Zed IDE </a> <a class="crayons-link crayons-link--contentful" href="/daviducolo/efficient-chunked-file-downloads-in-rails-streaming-csv-exports-42g8"> Efficient Chunked File Downloads in Rails: Streaming CSV Exports </a> <a class="crayons-link crayons-link--contentful" href="/maxx_ok/deploying-a-rails-api-only-app-with-kamal-2-3781"> Deploying a Rails API-Only App with Postgres using Kamal 2 </a> <a class="crayons-link crayons-link--contentful" href="/pimp_my_ruby/deploy-your-preprod-and-production-rails-application-using-kamal-139i"> Deploy your Preprod and Production Rails Application using Kamal </a> <a class="crayons-link crayons-link--contentful" href="/exterminate/add-custom-fields-to-your-activerecord-models-with-activefields-gem-1olk"> Add custom fields to your Rails models with ActiveFields gem </a> <a class="crayons-link crayons-link--contentful" href="/daviducolo/a-deep-dive-into-the-statesman-gem-for-ruby-building-flexible-state-machines-5b83"> A Deep Dive into the Statesman Gem for Ruby: Building Flexible State Machines </a> <a class="crayons-link crayons-link--contentful" href="/jetthoughts/ruby-on-rails-8-simplifying-sharding-with-new-methods-48m9"> Ruby on Rails 8: Simplifying Sharding with New Methods </a> <a class="crayons-link crayons-link--contentful" href="/railsdesigner/store-ui-state-in-localstorage-with-stimulus-2ehe"> Store UI State in localStorage with Stimulus </a> <a class="crayons-link crayons-link--contentful" href="/upsun/deploy-your-first-rails-8-application-from-zero-to-production-in-under-10-minutes-29b4"> Deploy your first Rails 8 application: from zero to production in under 10 minutes 🚀 </a> <a class="crayons-link crayons-link--contentful" href="/epigene/til-joining-with-like-49c2"> TIL: joining with LIKE </a> <a class="crayons-link crayons-link--contentful" href="/hamajyotan/smart-way-to-update-multiple-models-simultaneously-in-rails-51b6"> Smart way to update multiple models simultaneously in Rails </a> <a class="crayons-link crayons-link--contentful" href="/yegorov/how-to-continue-to-use-railsapplicationsecrets-in-rails-72-32c7"> How to continue to use Rails.application.secrets in Rails >= 7.2 </a> <a class="crayons-link crayons-link--contentful" href="/jetthoughts/ruby-on-rails-8-how-to-batch-with-custom-columns-510p"> Ruby on Rails 8: How to Batch with Custom Columns </a> <a class="crayons-link crayons-link--contentful" href="/jetthoughts/why-your-form-submission-fails-hotwire-cloudflare-and-missing-validation-messages-1a3o"> Why Your Form Submission Fails: Hotwire/Turbo 1.x, Cloudflare, and Missing Validation Messages </a> <a class="crayons-link crayons-link--contentful" href="/epigene/use-gem-oj-for-free-json-performance-1k28"> Use `gem "oj"` for free JSON performance </a> <a class="crayons-link crayons-link--contentful" href="/railsdesigner/connected-and-disconnected-target-callbacks-with-stimulus-1dm3"> Connected and Disconnected Target Callbacks with Stimulus </a> <a class="crayons-link crayons-link--contentful" href="/railsdesigner/drag-drop-images-with-preview-using-stimulus-outlets-4k9h"> Drag & Drop Images with Preview using Stimulus Outlets </a> </div> </div> </div> <div class="widget"> <header> <h4>recently queried</h4> </header> <div class="widget-body"> <div class="widget-link-list"> <a class="crayons-link crayons-link--contentful" href="/sulmanweb/active-record-transactions-in-ruby-on-rails-3ok6"> Rails Transaction </a> <a class="crayons-link crayons-link--contentful" href="/isalevine/pros-and-cons-of-ruby-s-tap-method-2m3j"> Ruby Tap </a> <a class="crayons-link crayons-link--contentful" href="/eligoh/dependency-injection-in-ruby-55ja"> Injection Ruby </a> <a class="crayons-link crayons-link--contentful" href="/farleyknight/how-to-deploy-a-rails-application-to-aws-with-docker-2fnc"> Docker Rails Deployment </a> <a class="crayons-link crayons-link--contentful" href="/neshaz/everything-there-is-to-know-about-associations-in-rails-52ii"> Rails Associations </a> <a class="crayons-link crayons-link--contentful" href="/tanakaworld/how-to-resolve-you-must-use-bundler-2-or-greater-with-this-lockfile-2pf7"> You Must Use Bundler 2 or Greater With This Lockfile. </a> </div> </div> </div> </aside> </div> </div> <script src="https://assets.dev.to/assets/storiesList-b9c50cbd898a3a64258a3a49db1c531651b0a4a11937be35ed4651111802b5b5.js" defer="defer"></script> <script src="https://assets.dev.to/assets/followButtons-f2455d1f50a862b83fa006b1953e3a1644598781243cae25d3e75b13c04184fd.js" defer="defer"></script> <script src="https://assets.dev.to/assets/tagFollows-25496b4e3bf8bec41c7881be6b330ac8e9aa612d1ce876863a984d934d839384.js" defer="defer"></script> <script src="https://assets.dev.to/assets/feedPreviewCards-8d16b0b656456a28c0a290f756cf6e21e19833111c4796f48c631bfea8323d51.js" defer="defer"></script> <script src="https://assets.dev.to/assets/hideBookmarkButtons-0cc08aac1c422e6b6f75e5284b5350215abf211b59fb3eb8d8a4ef85e205b607.js" defer="defer"></script> <script src="https://assets.dev.to/assets/drawerSliders-823098a874684cfb50f32368b8dd1c7854954b83a588b8b6cfaef1e8fd30d858.js" defer="defer"></script> <script src="https://assets.dev.to/assets/localizeArticleDates-70147c5c6bfe350b42e020ebb2a3dd37419d83978982b5a67b6389119bf162ac.js" defer="defer"></script> <div id="runtime-banner-container"></div> </div> </div> <footer id="footer" class="crayons-footer print-hidden"> <div id="footer-container" class="crayons-footer__container"> <div style="" data-display-unit data-id="146443" data-category-click="click" data-category-impression="impression" data-context-type="home" data-special="nothing" data-article-id="1079620" data-type-of="in_house"> <p style="font-weight: bold;margin-bottom: 10px"> Thank you to our Diamond Sponsor <a href="https://neon.tech/">Neon</a> for supporting our community. </p> </div> <p class="fs-s crayons-footer__description"> <a class="c-link c-link--branded fw-medium" aria-label="DEV Community Home" href="/">DEV Community</a> — A constructive and inclusive social network for software developers. With you every step of your journey. </p> <ul class="footer__nav-links flex gap-2 justify-center flex-wrap fs-s p-0" style="" /> <li class="footer__nav-link flex items-center"> <a href="/"> Home </a> <span class="dot ml-2"></span> </li> <li class="footer__nav-link flex items-center"> <a href="/++"> DEV++ </a> <span class="dot ml-2"></span> </li> <li class="footer__nav-link flex items-center"> <a href="/pod"> Podcasts </a> <span class="dot ml-2"></span> </li> <li class="footer__nav-link flex items-center"> <a href="/videos"> Videos </a> <span class="dot ml-2"></span> </li> <li class="footer__nav-link flex items-center"> <a href="/tags"> Tags </a> <span class="dot ml-2"></span> </li> <li class="footer__nav-link flex items-center"> <a href="/help"> DEV Help </a> <span class="dot ml-2"></span> </li> <li class="footer__nav-link flex items-center"> <a href="https://shop.forem.com/"> Forem Shop </a> <span class="dot ml-2"></span> </li> <li class="footer__nav-link flex items-center"> <a href="/advertise"> Advertise on DEV </a> <span class="dot ml-2"></span> </li> <li class="footer__nav-link flex items-center"> <a href="/challenges"> DEV Challenges </a> <span class="dot ml-2"></span> </li> <li class="footer__nav-link flex items-center"> <a href="/showcase"> DEV Showcase </a> <span class="dot ml-2"></span> </li> <li class="footer__nav-link flex items-center"> <a href="/about"> About </a> <span class="dot ml-2"></span> </li> <li class="footer__nav-link flex items-center"> <a href="/contact"> Contact </a> <span class="dot ml-2"></span> </li> <li class="footer__nav-link flex items-center"> <a href="/free-postgres-database-tier"> Free Postgres Database </a> <span class="dot ml-2"></span> </li> <li class="footer__nav-link flex items-center"> <a href="/guides"> Guides </a> <span class="dot ml-2"></span> </li> <li class="footer__nav-link flex items-center"> <a href="/software-comparisons"> Software comparisons </a> <span class="dot ml-2"></span> </li> </ul> <ul class="footer__nav-links flex gap-2 justify-center flex-wrap fs-s p-0" style="" /> <li class="footer__nav-link flex items-center"> <a href="/code-of-conduct"> Code of Conduct </a> <span class="dot ml-2"></span> </li> <li class="footer__nav-link flex items-center"> <a href="/privacy"> Privacy Policy </a> <span class="dot ml-2"></span> </li> <li class="footer__nav-link flex items-center"> <a href="/terms"> Terms of use </a> <span class="dot ml-2"></span> </li> </ul> <div class="fs-s"> <p>Built on <a class="c-link c-link--branded" target="_blank" rel="noopener" href="https://www.forem.com">Forem</a> — the <a target="_blank" rel="noopener" class="c-link c-link--branded" href="https://dev.to/t/opensource">open source</a> software that powers <a target="_blank" rel="noopener" class="c-link c-link--branded" href="https://dev.to">DEV</a> and other inclusive communities.</p> <p>Made with love and <a target="_blank" rel="noopener" class="c-link c-link--branded" href="https://dev.to/t/rails">Ruby on Rails</a>. DEV Community <span title="copyright">©</span> 2016 - 2024.</p> </div> </div> </footer> <div id="snack-zone"></div> <div id="global-signup-modal" class="authentication-modal hidden"> <div class="authentication-modal__container"> <figure class="authentication-modal__image-container"> <img class="authentication-modal__image" src="https://media2.dev.to/dynamic/image/width=190,height=,fit=scale-down,gravity=auto,format=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F8j7kvp660rqzt99zui8e.png" alt="DEV Community" loading="lazy" /> </figure> <div class="authentication-modal__content"> <p class="authentication-modal__description"> We're a place where coders share, stay up-to-date and grow their careers. </p> </div> <div class="authentication-modal__actions"> <a href="/enter" class="crayons-btn" aria-label="Log in" data-no-instant> Log in </a> <a href="/enter?state=new-user" class="crayons-btn crayons-btn--ghost-brand js-global-signup-modal__create-account" aria-label="Create new account" data-no-instant> Create account </a> </div> </div> </div> <script src="https://assets.dev.to/assets/signupModalShortcuts-0b25469b985100a01e94cbd7fccaf7f0a4d776e129aac65c766aa32cb28ab29a.js" defer="defer"></script> <div id="cookie-consent"></div> <div id="i18n-translations" data-translations="{"en":{"core":{"add_comment":"Add comment","beta":"beta","comment":"Comment","copy_link":"Copy link","edit_profile":"Edit profile","follow":"Follow","follow_back":"Follow back","following":"Following","like":"Like","loading":"loading...","reaction":"Reaction","report_abuse":"Report abuse","search":"Search","success_settings":"Successfully updated settings.","counted_organization":{"one":"%{count} organization","other":"%{count} organizations"},"counted_user":{"one":"%{count} person","other":"%{count} people"},"not_following":"You're not following anyone","following_everyone":"You're following %{details} (everyone)","you_are_following":"You're following","and":"and"}}}"></div> <div id="reaction-category-resources" class="hidden" aria-hidden="true"> <img data-name="Like" data-slug="like" data-position="1" src="https://assets.dev.to/assets/sparkle-heart-5f9bee3767e18deb1bb725290cb151c25234768a0e9a2bd39370c382d02920cf.svg" width="18" height="18" /> <img data-name="Unicorn" data-slug="unicorn" data-position="2" src="https://assets.dev.to/assets/multi-unicorn-b44d6f8c23cdd00964192bedc38af3e82463978aa611b4365bd33a0f1f4f3e97.svg" width="18" height="18" /> <img data-name="Exploding Head" data-slug="exploding_head" data-position="3" src="https://assets.dev.to/assets/exploding-head-daceb38d627e6ae9b730f36a1e390fca556a4289d5a41abb2c35068ad3e2c4b5.svg" width="18" height="18" /> <img data-name="Raised Hands" data-slug="raised_hands" data-position="4" src="https://assets.dev.to/assets/raised-hands-74b2099fd66a39f2d7eed9305ee0f4553df0eb7b4f11b01b6b1b499973048fe5.svg" width="18" height="18" /> <img data-name="Fire" data-slug="fire" data-position="5" src="https://assets.dev.to/assets/fire-f60e7a582391810302117f987b22a8ef04a2fe0df7e3258a5f49332df1cec71e.svg" width="18" height="18" /> </div> </body> </html>