CINXE.COM

DEV Community

<!DOCTYPE html> <html lang="en"> <head> <meta charset="utf-8"> <title>DEV Community</title> <meta name="last-updated" content="2025-01-07 13:26:46 UTC"> <meta name="user-signed-in" content="false"> <meta name="head-cached-at" content="1736256406"> <meta name="environment" content="production"> <link rel="stylesheet" href="https://assets.dev.to/assets/minimal-1be4230b8ec9f13239b8d6cfe8d9065ceefcbb79eac80b47e4779f5ba094b63a.css" media="all" id="main-minimal-stylesheet" /> <link rel="stylesheet" href="https://assets.dev.to/assets/views-252792a124dd89807543985e593596806e3983f484a61770ac9da06c26e5aa9e.css" media="all" id="main-views-stylesheet" /> <link rel="stylesheet" href="https://assets.dev.to/assets/crayons-c04ad8a7afa1453c505f39a8d02e5df1ecce688d9144c4a2f6b9aa8776ed9a09.css" media="all" id="main-crayons-stylesheet" /> <script src="https://assets.dev.to/assets/base-e0fa4f0ebd0f1ec157e6b07c08f9222f8c0cca3d10cfde4cd8c951b43985b10b.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/" /> <meta name="description" content="A constructive and inclusive social network for software developers. With you every step of your journey."> <meta name="keywords" content="software development, engineering, rails, javascript, ruby"> <meta property="og:type" content="website" /> <meta property="og:url" content="https://dev.to/" /> <meta property="og:title" content="DEV Community" /> <meta property="og:image" content="https://dev-to-uploads.s3.amazonaws.com/uploads/articles/3otvb2z646ytpt1hl2rv.jpg"> <meta property="og:description" content="A constructive and inclusive social network for software developers. With you every step of your journey." /> <meta property="og:site_name" content="DEV Community" /> <meta name="twitter:site" content="@thepracticaldev"> <meta name="twitter:title" content="DEV Community"> <meta name="twitter:description" content="A constructive and inclusive social network for software developers. With you every step of your journey."> <meta name="twitter:image:src" content="https://dev-to-uploads.s3.amazonaws.com/uploads/articles/3otvb2z646ytpt1hl2rv.jpg"> <meta name="twitter:card" content="summary_large_image"> <link rel="alternate" type="application/rss+xml" title="DEV Community RSS Feed" href="https://dev.to/feed" /> <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="2025-01-03T19:13:54Z" data-latest-commit-id="9c1b4a24a79f182ef5c51951e780280792cb0d08" 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-1be4230b8ec9f13239b8d6cfe8d9065ceefcbb79eac80b47e4779f5ba094b63a.css" media="all" id="secondary-minimal-stylesheet" /> <link rel="stylesheet" href="https://assets.dev.to/assets/views-252792a124dd89807543985e593596806e3983f484a61770ac9da06c26e5aa9e.css" media="all" id="secondary-views-stylesheet" /> <link rel="stylesheet" href="https://assets.dev.to/assets/crayons-c04ad8a7afa1453c505f39a8d02e5df1ecce688d9144c4a2f6b9aa8776ed9a09.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="ala7jm0lzw0tyoixsl67gz01avrknatv" class="crayons-icon"><title id="ala7jm0lzw0tyoixsl67gz01avrknatv">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="a20tifufllln638el5ujgwpz40co4pjp" aria-hidden="true" class="crayons-icon"><title id="a20tifufllln638el5ujgwpz40co4pjp">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="a9rspd1i2las7gqga1jbmjs3t76qpd6d" aria-hidden="true" class="crayons-icon"><title id="a9rspd1i2las7gqga1jbmjs3t76qpd6d">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="ar06orejtg7cqslox8r69ecxkz09mnab" class="crayons-icon"><title id="ar06orejtg7cqslox8r69ecxkz09mnab">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="a68k8apzt4bfxhxmi2j8crfcwjq72mgu" aria-hidden="true" class="crayons-icon c-btn__icon"><title id="a68k8apzt4bfxhxmi2j8crfcwjq72mgu">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 stories stories-index" data-current-page="stories-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> <script src="https://assets.dev.to/assets/homePage-bf89a74420b9dbac11511291b11c9fff64932b2b88dd5f46a870fd8f0b652a02.js" defer="defer"></script> <div class="crayons-layout crayons-layout--3-cols crayons-layout--3-cols--drop-right-left" id="index-container" data-params="{&quot;sort_by&quot;:&quot;hotness_score&quot;,&quot;sort_direction&quot;:&quot;desc&quot;}" data-which="" data-tag="" data-feed="base-feed" data-feed-use-stories-endpoint="false" data-feed-context-type="home" data-feed-category-impression="impression" data-feed-category-click="click" data-feed-category-reaction="reaction" data-feed-category-comment="comment" data-feed-category-extended_pageview="extended_pageview" data-articles-since=""> <div id="sidebar-wrapper-left" class="sidebar-wrapper sidebar-wrapper-left crayons-layout__sidebar-left crayons-layout__content"> <aside class="side-bar" aria-label="Primary sidebar"> <div class="crayons-card crayons-card--secondary p-4"> <h2 class="crayons-subtitle-2 lh-tight mb-4"> DEV Community is a community of 2,638,210 amazing developers </h2> <p class="color-base-70 mb-4"> We&#39;re a place where coders share, stay up-to-date and grow their careers. </p> <div> <a href="/enter?state=new-user" data-tracking-id="ca_left_sidebar_home_page" data-tracking-source="left_sidebar" class="c-cta c-cta--branded justify-center w-100 mb-1" aria-label="Create new account">Create account</a> <a href="/enter" class="c-link c-link--block justify-center" aria-label="Log in">Log in</a> </div> </div> <nav class="mb-4 mt-4" data-testid="main-nav" aria-label="DEV Community"> <ul class="default-navigation-links sidebar-navigation-links spec-sidebar-navigation-links"> <li> <a href="/" class="sidebar-navigation-link c-link c-link--block c-link--icon-left"> <span class="c-link__icon"> <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 44 44" width="24" height="24"> <g class="nc-icon-wrapper"> <path fill="#A0041E" d="M13.344 18.702h-2a.5.5 0 01-.5-.5v-7a.5.5 0 01.5-.5h2a.5.5 0 01.5.5v7a.5.5 0 01-.5.5z"/> <path fill="#FFE8B6" d="M9 20L22 7l13 13v17H9z"/> <path fill="#FFCC4D" d="M22 20h1v16h-1z"/> <path fill="#66757F" d="M35 21a.997.997 0 01-.707-.293L22 8.414 9.707 20.707a1 1 0 11-1.414-1.414l13-13a.999.999 0 011.414 0l13 13A.999.999 0 0135 21z"/> <path fill="#66757F" d="M22 21a.999.999 0 01-.707-1.707l6.5-6.5a1 1 0 111.414 1.414l-6.5 6.5A.997.997 0 0122 21z"/> <path fill="#C1694F" d="M14 30h4v6h-4z"/> <path fill="#55ACEE" d="M14 21h4v4h-4zm12.5 0h4v4h-4zm0 9h4v4h-4z"/> <path fill="#5C913B" d="M37.5 37.5A1.5 1.5 0 0136 39H8a1.5 1.5 0 010-3h28a1.5 1.5 0 011.5 1.5z"/> </g> </svg> </span> Home </a> </li> <li> <a href="/++" class="sidebar-navigation-link c-link c-link--block c-link--icon-left"> <span class="c-link__icon"> <svg version="1.0" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 166.000000 102.000000" preserveAspectRatio="xMidYMid meet" fill="#3b49df"> <g transform="translate(0.000000,102.000000) scale(0.100000,-0.100000)" fill="#3b49df" stroke="none"> <path d="M305 953 c-42 -22 -64 -43 -83 -78 -14 -25 -18 -76 -22 -305 -7 -313 -12 -336 -96 -450 -24 -33 -44 -62 -44 -65 0 -3 318 -4 708 -3 l707 3 47 27 c32 20 52 41 67 72 21 43 22 54 19 374 l-3 330 -31 39 c-61 76 -30 73 -669 73 -500 -1 -574 -3 -600 -17z m405 -278 l0 -84 83 -3 82 -3 0 -75 0 -75 -82 -3 -83 -3 0 -84 0 -85 -75 0 -75 0 0 85 0 85 -75 0 c-41 0 -75 3 -75 8 0 4 8 39 18 77 l18 70 57 3 57 3 0 84 0 85 75 0 75 0 0 -85z m578 -2 l3 -82 82 -3 82 -3 0 -75 0 -75 -82 -3 -82 -3 -3 -82 -3 -82 -75 0 -75 0 -3 83 -3 82 -79 0 -80 0 0 80 0 80 80 0 80 0 0 78 c0 43 3 82 7 86 4 4 39 5 78 4 l70 -3 3 -82z"/> </g> </svg> </span> DEV++ </a> </li> <li> <a href="/pod" class="sidebar-navigation-link c-link c-link--block c-link--icon-left"> <span class="c-link__icon"> <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 44 44" width="24" height="24"> <g class="nc-icon-wrapper"> <path fill="#292F33" d="M10 19h24v2H10zm15 15c0 2.208-.792 4-3 4-2.209 0-3-1.792-3-4s.791-2 3-2c2.208 0 3-.208 3 2z"/> <path fill="#66757F" d="M22 35c-6.627 0-10 1.343-10 3v2h20v-2c0-1.657-3.373-3-10-3z"/> <path fill="#99AAB5" d="M22 4a9 9 0 00-9 9v7h18v-7a9 9 0 00-9-9z"/> <g fill="#292F33" transform="translate(4 4)"> <circle cx="15.5" cy="2.5" r="1.5"/> <circle cx="20.5" cy="2.5" r="1.5"/> <circle cx="17.5" cy="6.5" r="1.5"/> <circle cx="22.5" cy="6.5" r="1.5"/> <circle cx="12.5" cy="6.5" r="1.5"/> <circle cx="15.5" cy="10.5" r="1.5"/> <circle cx="10.5" cy="10.5" r="1.5"/> <circle cx="20.5" cy="10.5" r="1.5"/> <circle cx="25.5" cy="10.5" r="1.5"/> <circle cx="17.5" cy="14.5" r="1.5"/> <circle cx="22.5" cy="14.5" r="1.5"/> <circle cx="12.5" cy="14.5" r="1.5"/> </g> <path fill="#66757F" d="M13 19.062V21c0 4.971 4.029 9 9 9s9-4.029 9-9v-1.938H13z"/> <path fill="#66757F" d="M34 18a1 1 0 00-1 1v2c0 6.074-4.925 11-11 11s-11-4.926-11-11v-2a1 1 0 00-2 0v2c0 7.18 5.82 13 13 13s13-5.82 13-13v-2a1 1 0 00-1-1z"/> </g> </svg> </span> Podcasts </a> </li> <li> <a href="/videos" class="sidebar-navigation-link c-link c-link--block c-link--icon-left"> <span class="c-link__icon"> <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 44 44" width="24" height="24"> <g transform="translate(4 4)"> <path fill="#31373D" d="M34.074 18l-4.832 3H28v-4c0-.088-.02-.169-.026-.256C31.436 15.864 34 12.735 34 9a8 8 0 00-16.001 0c0 1.463.412 2.822 1.099 4H14.92c.047-.328.08-.66.08-1a7 7 0 10-14 0 6.995 6.995 0 004 6.317V29a4 4 0 004 4h15a4 4 0 004-4v-3h1.242l4.832 3H35V18h-.926zM28.727 3.977a5.713 5.713 0 012.984 4.961L28.18 8.35a2.276 2.276 0 00-.583-.982l1.13-3.391zm-.9 6.342l3.552.592a5.713 5.713 0 01-4.214 3.669 3.985 3.985 0 00-1.392-1.148l.625-2.19a2.425 2.425 0 001.429-.923zM26 3.285c.282 0 .557.027.828.067l-1.131 3.392c-.404.054-.772.21-1.081.446L21.42 5.592A5.703 5.703 0 0126 3.285zM20.285 9c0-.563.085-1.106.236-1.62l3.194 1.597-.002.023c0 .657.313 1.245.771 1.662L23.816 13h-1.871a5.665 5.665 0 01-1.66-4zm-9.088-.385A4.64 4.64 0 0112.667 12c0 .344-.043.677-.113 1H10.1c.145-.304.233-.641.233-1a2.32 2.32 0 00-.392-1.292l1.256-2.093zM8 7.333c.519 0 1.01.105 1.476.261L8.22 9.688c-.073-.007-.145-.022-.22-.022a2.32 2.32 0 00-1.292.392L4.615 8.803A4.64 4.64 0 018 7.333zM3.333 12c0-.519.105-1.01.261-1.477l2.095 1.257c-.007.073-.022.144-.022.22 0 .75.36 1.41.91 1.837a3.987 3.987 0 00-1.353 1.895C4.083 14.881 3.333 13.533 3.333 12z"/> <circle fill="#8899A6" cx="24" cy="19" r="2"/> <circle fill="#8899A6" cx="9" cy="19" r="2"/> <path fill="#8899A6" d="M24 27a2 2 0 00-2-2H11a2 2 0 00-2 2v6a2 2 0 002 2h11a2 2 0 002-2v-6z"/> </g> </svg> </span> Videos </a> </li> <li> <a href="/tags" class="sidebar-navigation-link c-link c-link--block c-link--icon-left"> <span class="c-link__icon"> <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 44 44" width="24" height="24"> <g class="nc-icon-wrapper"> <path fill="#FFD983" d="M36.017 24.181L21.345 9.746C20.687 9.087 19.823 9 18.96 9H8.883C7.029 9 6 10.029 6 11.883v10.082c0 .861.089 1.723.746 2.38L21.3 39.017a3.287 3.287 0 004.688 0l10.059-10.088c1.31-1.312 1.28-3.438-.03-4.748zm-23.596-8.76a1.497 1.497 0 11-2.118-2.117 1.497 1.497 0 012.118 2.117z"/> <path fill="#D99E82" d="M13.952 11.772a3.66 3.66 0 00-5.179 0 3.663 3.663 0 105.18 5.18 3.664 3.664 0 00-.001-5.18zm-1.53 3.65a1.499 1.499 0 11-2.119-2.12 1.499 1.499 0 012.119 2.12z"/> <path fill="#C1694F" d="M12.507 14.501a1 1 0 11-1.415-1.414l8.485-8.485a1 1 0 111.415 1.414l-8.485 8.485z"/> </g> </svg> </span> Tags </a> </li> <li> <a href="/help" class="sidebar-navigation-link c-link c-link--block c-link--icon-left"> <span class="c-link__icon"> <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 44 44" width="24" height="24"> <g class="nc-icon-wrapper"> <path fill="#FFD983" d="M33 15.06c0 6.439-5 7.439-5 13.44 0 3.098-3.123 3.359-5.5 3.359-2.053 0-6.586-.779-6.586-3.361C15.914 22.5 11 21.5 11 15.06c0-6.031 5.285-10.92 11.083-10.92C27.883 4.14 33 9.029 33 15.06z"/> <path fill="#CCD6DD" d="M26.167 36.5c0 .828-2.234 2.5-4.167 2.5-1.933 0-4.167-1.672-4.167-2.5 0-.828 2.233-.5 4.167-.5 1.933 0 4.167-.328 4.167.5z"/> <path fill="#FFCC4D" d="M26.707 14.293a.999.999 0 00-1.414 0L22 17.586l-3.293-3.293a1 1 0 10-1.414 1.414L21 19.414V30a1 1 0 102 0V19.414l3.707-3.707a.999.999 0 000-1.414z"/> <path fill="#99AAB5" d="M28 35a2 2 0 01-2 2h-8a2 2 0 01-2-2v-6h12v6z"/> <path fill="#CCD6DD" d="M15.999 36a1 1 0 01-.163-1.986l12-2a.994.994 0 011.15.822.999.999 0 01-.822 1.15l-12 2a.927.927 0 01-.165.014zm0-4a1 1 0 01-.163-1.986l12-2a.995.995 0 011.15.822.999.999 0 01-.822 1.15l-12 2a.927.927 0 01-.165.014z"/> </g> </svg> </span> DEV Help </a> </li> <li> <a href="https://shop.forem.com/" class="sidebar-navigation-link c-link c-link--block c-link--icon-left"> <span class="c-link__icon"> <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 36 36"><path fill="#F4900C" d="M11 0C6.582 0 3 3.582 3 8v8h2V8c0-3.313 2.687-6 6-6 3.314 0 6 2.687 6 6v8h2V8c0-4.418-3.582-8-8-8z"/><path fill="#DD2E44" d="M1 8l2 2 2-2 2 2 2-2 2 2 2-2 2 2 2-2 2 2 2-2v23H1z"/><path fill="#FFCC4D" d="M25 5c-4.418 0-8 3.582-8 8v8h2v-8c0-3.314 2.688-6 6-6 3.315 0 6 2.686 6 6v8h2v-8c0-4.418-3.582-8-8-8z"/><path fill="#744EAA" d="M15 13l2 2 2-2 2 2 2-2 2 2 2-2 2 2 2-2 2 2 2-2v23H15z"/></svg> </span> Forem Shop </a> </li> <li> <a href="/advertise" class="sidebar-navigation-link c-link c-link--block c-link--icon-left"> <span class="c-link__icon"> <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 44 44" width="24" height="24"> <path fill="#DD2E44" d="M39.885 15.833c0-5.45-4.418-9.868-9.867-9.868-3.308 0-6.227 1.633-8.018 4.129-1.791-2.496-4.71-4.129-8.017-4.129-5.45 0-9.868 4.417-9.868 9.868 0 .772.098 1.52.266 2.241C5.751 26.587 15.216 35.568 22 38.034c6.783-2.466 16.249-11.447 17.617-19.959.17-.721.268-1.469.268-2.242z"/> </svg> </span> Advertise on DEV </a> </li> <li> <a href="/challenges" class="sidebar-navigation-link c-link c-link--block c-link--icon-left"> <span class="c-link__icon"> <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 36 36"><path fill="#FFAC33" d="M5.123 5h6C12.227 5 13 4.896 13 6V4c0-1.104-.773-2-1.877-2h-8c-2 0-3.583 2.125-3 5 0 0 1.791 9.375 1.917 9.958C2.373 18.5 4.164 20 6.081 20h6.958c1.105 0-.039-1.896-.039-3v-2c0 1.104-.773 2-1.877 2h-4c-1.104 0-1.833-1.042-2-2S3.539 7.667 3.539 7.667C3.206 5.75 4.018 5 5.123 5zm25.812 0h-6C23.831 5 22 4.896 22 6V4c0-1.104 1.831-2 2.935-2h8c2 0 3.584 2.125 3 5 0 0-1.633 9.419-1.771 10-.354 1.5-2.042 3-4 3h-7.146C21.914 20 22 18.104 22 17v-2c0 1.104 1.831 2 2.935 2h4c1.104 0 1.834-1.042 2-2s1.584-7.333 1.584-7.333C32.851 5.75 32.04 5 30.935 5zM20.832 22c0-6.958-2.709 0-2.709 0s-3-6.958-3 0-3.291 10-3.291 10h12.292c-.001 0-3.292-3.042-3.292-10z"/><path fill="#FFCC4D" d="M29.123 6.577c0 6.775-6.77 18.192-11 18.192-4.231 0-11-11.417-11-18.192 0-5.195 1-6.319 3-6.319 1.374 0 6.025-.027 8-.027l7-.001c2.917-.001 4 .684 4 6.347z"/><path fill="#C1694F" d="M27 33c0 1.104.227 2-.877 2h-16C9.018 35 9 34.104 9 33v-1c0-1.104 1.164-2 2.206-2h13.917c1.042 0 1.877.896 1.877 2v1z"/><path fill="#C1694F" d="M29 34.625c0 .76.165 1.375-1.252 1.375H8.498C7.206 36 7 35.385 7 34.625v-.25C7 33.615 7.738 33 8.498 33h19.25c.759 0 1.252.615 1.252 1.375v.25z"/></svg> </span> DEV Challenges </a> </li> <li> <a href="/showcase" class="sidebar-navigation-link c-link c-link--block c-link--icon-left"> <span class="c-link__icon"> <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 36 36"><path fill="#FFAC33" d="M34.347 16.893l-8.899-3.294-3.323-10.891c-.128-.42-.517-.708-.956-.708-.439 0-.828.288-.956.708l-3.322 10.891-8.9 3.294c-.393.146-.653.519-.653.938 0 .418.26.793.653.938l8.895 3.293 3.324 11.223c.126.424.516.715.959.715.442 0 .833-.291.959-.716l3.324-11.223 8.896-3.293c.391-.144.652-.518.652-.937 0-.418-.261-.792-.653-.938z"/><path fill="#FFCC4D" d="M14.347 27.894l-2.314-.856-.9-3.3c-.118-.436-.513-.738-.964-.738-.451 0-.846.302-.965.737l-.9 3.3-2.313.856c-.393.145-.653.52-.653.938 0 .418.26.793.653.938l2.301.853.907 3.622c.112.444.511.756.97.756.459 0 .858-.312.97-.757l.907-3.622 2.301-.853c.393-.144.653-.519.653-.937 0-.418-.26-.793-.653-.937zM10.009 6.231l-2.364-.875-.876-2.365c-.145-.393-.519-.653-.938-.653-.418 0-.792.26-.938.653l-.875 2.365-2.365.875c-.393.146-.653.52-.653.938 0 .418.26.793.653.938l2.365.875.875 2.365c.146.393.52.653.938.653.418 0 .792-.26.938-.653l.875-2.365 2.365-.875c.393-.146.653-.52.653-.938 0-.418-.26-.792-.653-.938z"/></svg> </span> DEV Showcase </a> </li> <li> <a href="/about" class="sidebar-navigation-link c-link c-link--block c-link--icon-left"> <span class="c-link__icon"> <svg id="Layer_1" data-name="Layer 1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" viewBox="0 0 864 864"> <defs> <style> .cls-2 { clip-path: url(#clippath); } .cls-3 { fill: #fff; } .cls-4 { fill: #0f0f0f; } </style> <clipPath id="clippath"> <rect class="cls-1" width="864" height="864"/> </clipPath> </defs> <g class="cls-2"> <rect x="-3.85" y="-28.35" width="871.71" height="920.7"/> <rect class="cls-3" x="105.43" y="211.09" width="651.13" height="491.58"/> <g> <path class="cls-4" d="M811.52-35.36c-263.17-.01-526.35-.01-789.52,0-32.21,0-60.2,18.9-71.43,48.82-2.14,5.7-3.17,12.16-3.17,18.28-.15,266.9-.13,533.8-.13,800.69,0,30.23,17.2,55.53,45.61,66.98,4.86,1.96,9.8,3.71,14.7,5.56H825.55c10.35-4.91,21.61-8.52,30.85-15,20.83-14.61,31.31-35.48,31.32-61.1,.06-262.5,.05-525,.06-787.51,0-42.82-33.65-76.71-76.26-76.72ZM306.58,506.45c-.79,36.65-35.76,70.78-73.17,72.19-31.04,1.17-62.16,.25-93.25,.21-.87,0-1.74-.47-3.09-.85V282.12c1.75-.3,3.52-.85,5.3-.86,30.14-.05,60.3-.55,90.43,.12,36.94,.82,73.06,35.65,73.8,72.61,1.03,50.8,1.07,101.66-.03,152.46Zm182.9,72.08c-2.86,.14-5.86,.4-8.87,.4-34.55,.03-69.1,.04-103.64,0-19.44-.02-33.95-13.13-35.82-32.43-.51-5.3-.68-10.64-.68-15.97-.04-68.77,.01-137.54-.07-206.31-.01-12.95,1.52-25.52,12.5-33.89,5.49-4.18,12.61-8.57,19.08-8.7,38.9-.8,77.82-.4,117.41-.4v53.47c-22.23,0-44.13-.08-66.03,.04-9.05,.05-21.91-2.92-26.14,1.74-4.84,5.33-2.29,17.62-2.47,26.9-.25,12.78-.06,25.57-.06,39.77h57.77v53.98h-57.09v67.83h94.12v53.57Zm243.21-247.2c-18.03,67.91-35.68,135.93-54.59,203.6-3.31,11.86-10.43,23.59-18.57,32.97-13.96,16.09-37.39,16.28-51.56,.38-8.27-9.27-15.65-20.96-18.91-32.8-22.82-82.77-44.46-165.86-66.44-248.87-.39-1.46-.25-3.07-.42-5.38,18.47,0,36.65-.21,54.81,.31,1.95,.06,4.81,4.07,5.51,6.71,15.81,59.77,31.36,119.62,46.99,179.44,1.06,4.06,2.3,8.08,5.06,11.86,17.18-66.02,34.35-132.03,51.54-198.07h59.54c-4.4,16.96-8.58,33.43-12.94,49.86Z"/> <path class="cls-4" d="M190.38,525.05v-189.03c13.36,0,26.62-1.48,39.39,.39,14.83,2.16,23.31,13.98,23.47,30.76,.41,42.02,.5,84.05-.04,126.07-.25,19.16-10.84,29.89-30.15,31.65-10.51,.96-21.18,.17-32.67,.17Z"/> </g> </g> </svg> </span> About </a> </li> <li> <a href="/contact" class="sidebar-navigation-link c-link c-link--block c-link--icon-left"> <span class="c-link__icon"> <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 44 44" width="24" height="24"> <g class="nc-icon-wrapper"> <path fill="#FFAC33" d="M38.724 33.656c-1.239-.01-1.241 1.205-1.241 1.205H22.5c-5.246 0-9.5-4.254-9.5-9.5s4.254-9.5 9.5-9.5 9.5 4.254 9.5 9.5c0 3.062-1.6 5.897-3.852 7.633h5.434C35.022 30.849 36 28.139 36 25.361c0-7.456-6.045-13.5-13.5-13.5-7.456 0-13.5 6.044-13.5 13.5 0 7.455 6.044 13.5 13.5 13.5h14.982s-.003 1.127 1.241 1.139c1.238.012 1.228-1.245 1.228-1.245l.014-3.821s.001-1.267-1.241-1.278zM9 18.26a16.047 16.047 0 014-4.739V13c0-5 5-7 5-8s-1-1-1-1H5C4 4 4 5 4 5c0 1 5 3.333 5 7.69v5.57z"/> <path fill="#BE1931" d="M17.091 33.166a9.487 9.487 0 01-4.045-8.72l-3.977-.461c-.046.452-.069.911-.069 1.376 0 4.573 2.28 8.608 5.76 11.051l2.331-3.246z"/> <path fill="#BE1931" d="M10 29.924s-5.188-.812-5 1 5-1 5-1zm0 .312s-4.125 2.688-2.938 3.75S10 30.236 10 30.236z"/> </g> </svg> </span> Contact </a> </li> <li> <a href="/free-postgres-database-tier" class="sidebar-navigation-link c-link c-link--block c-link--icon-left"> <span class="c-link__icon"> <svg xmlns="http://www.w3.org/2000/svg" height="64" viewBox="0 0 25.6 25.6" width="64"><style><![CDATA[.B{stroke-linecap:round}.C{stroke-linejoin:round}.D{stroke-linejoin:miter}.E{stroke-width:.716}]]></style><g fill="none" stroke="#fff"><path d="M18.983 18.636c.163-1.357.114-1.555 1.124-1.336l.257.023c.777.035 1.793-.125 2.4-.402 1.285-.596 2.047-1.592.78-1.33-2.89.596-3.1-.383-3.1-.383 3.053-4.53 4.33-10.28 3.227-11.687-3.004-3.84-8.205-2.024-8.292-1.976l-.028.005c-.57-.12-1.2-.19-1.93-.2-1.308-.02-2.3.343-3.054.914 0 0-9.277-3.822-8.846 4.807.092 1.836 2.63 13.9 5.66 10.25C8.29 15.987 9.36 14.86 9.36 14.86c.53.353 1.167.533 1.834.468l.052-.044a2.01 2.01 0 0 0 .021.518c-.78.872-.55 1.025-2.11 1.346-1.578.325-.65.904-.046 1.056.734.184 2.432.444 3.58-1.162l-.046.183c.306.245.285 1.76.33 2.842s.116 2.093.337 2.688.48 2.13 2.53 1.7c1.713-.367 3.023-.896 3.143-5.81" fill="#000" stroke="#000" stroke-linecap="butt" stroke-width="2.149" class="D"/><path d="M23.535 15.6c-2.89.596-3.1-.383-3.1-.383 3.053-4.53 4.33-10.28 3.228-11.687-3.004-3.84-8.205-2.023-8.292-1.976l-.028.005a10.31 10.31 0 0 0-1.929-.201c-1.308-.02-2.3.343-3.054.914 0 0-9.278-3.822-8.846 4.807.092 1.836 2.63 13.9 5.66 10.25C8.29 15.987 9.36 14.86 9.36 14.86c.53.353 1.167.533 1.834.468l.052-.044a2.02 2.02 0 0 0 .021.518c-.78.872-.55 1.025-2.11 1.346-1.578.325-.65.904-.046 1.056.734.184 2.432.444 3.58-1.162l-.046.183c.306.245.52 1.593.484 2.815s-.06 2.06.18 2.716.48 2.13 2.53 1.7c1.713-.367 2.6-1.32 2.725-2.906.088-1.128.286-.962.3-1.97l.16-.478c.183-1.53.03-2.023 1.085-1.793l.257.023c.777.035 1.794-.125 2.39-.402 1.285-.596 2.047-1.592.78-1.33z" fill="#336791" stroke="none"/><g class="E"><g class="B"><path d="M12.814 16.467c-.08 2.846.02 5.712.298 6.4s.875 2.05 2.926 1.612c1.713-.367 2.337-1.078 2.607-2.647l.633-5.017M10.356 2.2S1.072-1.596 1.504 7.033c.092 1.836 2.63 13.9 5.66 10.25C8.27 15.95 9.27 14.907 9.27 14.907m6.1-13.4c-.32.1 5.164-2.005 8.282 1.978 1.1 1.407-.175 7.157-3.228 11.687" class="C"/><path d="M20.425 15.17s.2.98 3.1.382c1.267-.262.504.734-.78 1.33-1.054.49-3.418.615-3.457-.06-.1-1.745 1.244-1.215 1.147-1.652-.088-.394-.69-.78-1.086-1.744-.347-.84-4.76-7.29 1.224-6.333.22-.045-1.56-5.7-7.16-5.782S7.99 8.196 7.99 8.196" stroke-linejoin="bevel"/></g><g class="C"><path d="M11.247 15.768c-.78.872-.55 1.025-2.11 1.346-1.578.325-.65.904-.046 1.056.734.184 2.432.444 3.58-1.163.35-.49-.002-1.27-.482-1.468-.232-.096-.542-.216-.94.23z"/><path d="M11.196 15.753c-.08-.513.168-1.122.433-1.836.398-1.07 1.316-2.14.582-5.537-.547-2.53-4.22-.527-4.22-.184s.166 1.74-.06 3.365c-.297 2.122 1.35 3.916 3.246 3.733" class="B"/></g></g><g fill="#fff" class="D"><path d="M10.322 8.145c-.017.117.215.43.516.472s.558-.202.575-.32-.215-.246-.516-.288-.56.02-.575.136z" stroke-width=".239"/><path d="M19.486 7.906c.016.117-.215.43-.516.472s-.56-.202-.575-.32.215-.246.516-.288.56.02.575.136z" stroke-width=".119"/></g><path d="M20.562 7.095c.05.92-.198 1.545-.23 2.524-.046 1.422.678 3.05-.413 4.68" class="B C E"/></g></svg> </span> Free Postgres Database </a> </li> <li> <a href="/guides" class="sidebar-navigation-link c-link c-link--block c-link--icon-left"> <span class="c-link__icon"> <?xml version="1.0" encoding="UTF-8" standalone="no"?><svg xmlns:svg="http://www.w3.org/2000/svg" xmlns="http://www.w3.org/2000/svg" version="1.1" viewBox="0 0 47.5 47.5" style="enable-background:new 0 0 47.5 47.5;" id="svg2" xml:space="preserve"><defs id="defs6"><clipPath id="clipPath18"><path d="M 0,38 38,38 38,0 0,0 0,38 z" id="path20"/></clipPath></defs><g transform="matrix(1.25,0,0,-1.25,0,47.5)" id="g12"><g id="g14"><g clip-path="url(#clipPath18)" id="g16"><g transform="translate(33,30)" id="g22"><path d="m 0,0 -28,0 c -2.209,0 -4,-1.791 -4,-4 l 0,-15 c 0,-2.209 1.791,-4 4,-4 l 11.416,0 c 0.52,-0.596 1.477,-1 2.584,-1 1.107,0 2.064,0.404 2.584,1 L 0,-23 c 2.209,0 4,1.791 4,4 L 4,-4 C 4,-1.791 2.209,0 0,0" id="path24" style="fill:#226699;fill-opacity:1;fill-rule:nonzero;stroke:none"/></g><g transform="translate(21,10)" id="g26"><path d="m 0,0 c 0,-1.104 -0.896,-2 -2,-2 -1.104,0 -2,0.896 -2,2 l 0,18 c 0,1.104 0.896,2 2,2 1.104,0 2,-0.896 2,-2 L 0,0 z" id="path28" style="fill:#292f33;fill-opacity:1;fill-rule:nonzero;stroke:none"/></g><g transform="translate(19,11)" id="g30"><path d="m 0,0 c 0,-1.104 -0.896,-2 -2,-2 l -12,0 c -1.104,0 -2,0.896 -2,2 l 0,18 c 0,1.104 0.896,2 2,2 l 12,0 c 1.104,0 2,-0.896 2,-2 L 0,0 z" id="path32" style="fill:#99aab5;fill-opacity:1;fill-rule:nonzero;stroke:none"/></g><g transform="translate(19,11)" id="g34"><path d="m 0,0 c -0.999,1.998 -3.657,2 -4,2 -2,0 -5,-2 -8,-2 -1,0 -2,0.896 -2,2 l 0,16 c 0,1.104 1,2 2,2 3.255,0 6,2 8,2 3,0 4,-1.896 4,-3 L 0,0 z" id="path36" style="fill:#e1e8ed;fill-opacity:1;fill-rule:nonzero;stroke:none"/></g><g transform="translate(35,11)" id="g38"><path d="m 0,0 c 0,-1.104 -0.896,-2 -2,-2 l -12,0 c -1.104,0 -2,0.896 -2,2 l 0,18 c 0,1.104 0.896,2 2,2 l 12,0 c 1.104,0 2,-0.896 2,-2 L 0,0 z" id="path40" style="fill:#99aab5;fill-opacity:1;fill-rule:nonzero;stroke:none"/></g><g transform="translate(19,11)" id="g42"><path d="m 0,0 c 0.999,1.998 3.657,2 4,2 2,0 5,-2 8,-2 1,0 2,0.896 2,2 l 0,16 c 0,1.104 -1,2 -2,2 C 8.744,20 6,22 4,22 1,22 0,20.104 0,19 L 0,0 z" id="path44" style="fill:#ccd6dd;fill-opacity:1;fill-rule:nonzero;stroke:none"/></g></g></g></g></svg> </span> Guides </a> </li> <li> <a href="/software-comparisons" class="sidebar-navigation-link c-link c-link--block c-link--icon-left"> <span class="c-link__icon"> <?xml version="1.0" encoding="UTF-8" standalone="no"?><svg xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:cc="http://creativecommons.org/ns#" xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:svg="http://www.w3.org/2000/svg" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 45 45" style="enable-background:new 0 0 45 45;" xml:space="preserve" version="1.1" id="svg2"><metadata id="metadata8"><rdf:RDF><cc:Work rdf:about=""><dc:format>image/svg+xml</dc:format><dc:type rdf:resource="http://purl.org/dc/dcmitype/StillImage"/></cc:Work></rdf:RDF></metadata><defs id="defs6"><clipPath id="clipPath16" clipPathUnits="userSpaceOnUse"><path id="path18" d="M 0,36 36,36 36,0 0,0 0,36 Z"/></clipPath></defs><g transform="matrix(1.25,0,0,-1.25,0,45)" id="g10"><g id="g12"><g clip-path="url(#clipPath16)" id="g14"><g transform="translate(2,20)" id="g20"><path id="path22" style="fill:#ffcc4d;fill-opacity:1;fill-rule:nonzero;stroke:none" d="m 0,0 c 0,-8.837 7.164,-16 16,-16 8.837,0 16,7.163 16,16 C 32,8.836 24.837,16 16,16 7.164,16 0,8.836 0,0"/></g><g transform="translate(15.4063,25.5)" id="g24"><path id="path26" style="fill:#664500;fill-opacity:1;fill-rule:nonzero;stroke:none" d="m 0,0 c 0,-1.381 -0.896,-2.5 -2,-2.5 -1.104,0 -2,1.119 -2,2.5 0,1.38 0.896,2.5 2,2.5 1.104,0 2,-1.12 2,-2.5"/></g><g transform="translate(26,24.5)" id="g28"><path id="path30" style="fill:#664500;fill-opacity:1;fill-rule:nonzero;stroke:none" d="m 0,0 c 0,-1.381 -0.895,-2.5 -2,-2.5 -1.104,0 -2,1.119 -2,2.5 0,1.38 0.896,2.5 2,2.5 1.105,0 2,-1.12 2,-2.5"/></g><g transform="translate(9.6709,29.667)" id="g32"><path id="path34" style="fill:#664500;fill-opacity:1;fill-rule:nonzero;stroke:none" d="M 0,0 C -0.164,0.087 -0.303,0.223 -0.391,0.398 -0.607,0.827 -0.431,1.325 0.002,1.511 4.268,3.341 7.701,1.554 7.845,1.477 8.278,1.246 8.453,0.729 8.236,0.323 8.02,-0.082 7.496,-0.223 7.063,0.005 6.94,0.069 4.231,1.437 0.785,-0.042 0.528,-0.151 0.238,-0.127 0,0"/></g><g transform="translate(14.7427,16.4277)" id="g36"><path id="path38" style="fill:#664500;fill-opacity:1;fill-rule:nonzero;stroke:none" d="M 0,0 C -0.136,0.127 -0.236,0.293 -0.276,0.486 -0.375,0.955 -0.078,1.392 0.389,1.46 4.981,2.138 7.841,-0.469 7.962,-0.58 8.322,-0.914 8.357,-1.457 8.044,-1.795 7.732,-2.131 7.189,-2.133 6.83,-1.801 6.726,-1.709 4.458,0.307 0.748,-0.24 0.471,-0.281 0.197,-0.184 0,0"/></g><g transform="translate(20.4307,25.917)" id="g40"><path id="path42" style="fill:#664500;fill-opacity:1;fill-rule:nonzero;stroke:none" d="M 0,0 C -0.156,0.098 -0.286,0.243 -0.362,0.424 -0.549,0.866 -0.339,1.352 0.105,1.508 4.486,3.044 7.79,1.028 7.929,0.941 8.344,0.681 8.483,0.154 8.24,-0.237 7.998,-0.627 7.464,-0.732 7.049,-0.475 6.929,-0.402 4.321,1.146 0.782,-0.095 0.518,-0.187 0.23,-0.143 0,0"/></g><g transform="translate(17.2764,0.8682)" id="g44"><path id="path46" style="fill:#f4900c;fill-opacity:1;fill-rule:nonzero;stroke:none" d="m 0,0 c 0,0 1.265,0.411 1.429,1.352 0.173,0.971 -0.624,1.167 -0.624,1.167 0,0 1.041,0.208 1.172,1.376 0.123,1.1 -0.862,1.363 -0.862,1.363 0,0 0.97,0.4 1.016,1.539 0.038,0.959 -0.995,1.428 -0.995,1.428 0,0 5.038,1.22 5.555,1.34 0.516,0.121 1.321,0.616 1.07,1.695 -0.249,1.08 -1.204,1.118 -1.698,1.003 -0.494,-0.116 -6.744,-1.567 -8.9,-2.069 -0.23,-0.053 -1.308,-0.302 -1.439,-0.334 -0.54,-0.127 -0.785,0.111 -0.405,0.512 0.509,0.536 0.833,1.129 0.947,2.113 0.119,1.036 -0.232,2.314 -0.433,2.809 -0.374,0.921 -1.005,1.649 -1.734,1.899 -1.138,0.39 -1.946,-0.321 -1.542,-1.561 0.604,-1.855 0.209,-3.375 -0.833,-4.293 -2.449,-2.157 -3.589,-3.695 -2.83,-6.973 0.827,-3.575 4.377,-5.876 7.952,-5.048 C -2.965,-0.64 0,0 0,0"/></g></g></g></g></svg> </span> Software comparisons </a> </li> </ul> </nav> <nav class="mb-4" data-testid="other-nav" aria-labelledby="other-nav-heading-sidebar"> <h2 id="other-nav-heading-sidebar" class="crayons-subtitle-3 py-2 pl-3"> Other </h2> <ul class="other-navigation-links sidebar-navigation-links spec-sidebar-navigation-links"> <li> <a href="/code-of-conduct" class="sidebar-navigation-link c-link c-link--block c-link--icon-left"> <span class="c-link__icon"> <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 44 44" width="24" height="24"> <g class="nc-icon-wrapper"> <path fill="#FFDB5E" d="M38.956 21.916c0-.503-.12-.975-.321-1.404-1.341-4.326-7.619-4.01-16.549-4.221-1.493-.035-.639-1.798-.115-5.668.341-2.517-1.282-6.382-4.01-6.382-4.498 0-.171 3.548-4.148 12.322-2.125 4.688-6.875 2.062-6.875 6.771v10.719c0 1.833.18 3.595 2.758 3.885 2.499.281 1.937 2.062 5.542 2.062h18.044a3.337 3.337 0 003.333-3.334c0-.762-.267-1.456-.698-2.018 1.02-.571 1.72-1.649 1.72-2.899 0-.76-.266-1.454-.696-2.015 1.023-.57 1.725-1.649 1.725-2.901 0-.909-.368-1.733-.961-2.336a3.311 3.311 0 001.251-2.581z"/> <path fill="#EE9547" d="M27.02 25.249h8.604c1.17 0 2.268-.626 2.866-1.633a.876.876 0 00-1.506-.892 1.588 1.588 0 01-1.361.775h-8.81c-.873 0-1.583-.71-1.583-1.583s.71-1.583 1.583-1.583H32.7a.875.875 0 000-1.75h-5.888a3.337 3.337 0 00-3.333 3.333c0 1.025.475 1.932 1.205 2.544a3.32 3.32 0 00-.998 2.373c0 1.028.478 1.938 1.212 2.549a3.318 3.318 0 00.419 5.08 3.305 3.305 0 00-.852 2.204 3.337 3.337 0 003.333 3.333h5.484a3.35 3.35 0 002.867-1.632.875.875 0 00-1.504-.894 1.594 1.594 0 01-1.363.776h-5.484c-.873 0-1.583-.71-1.583-1.583s.71-1.583 1.583-1.583h6.506a3.35 3.35 0 002.867-1.633.875.875 0 10-1.504-.894 1.572 1.572 0 01-1.363.777h-7.063a1.585 1.585 0 010-3.167h8.091a3.35 3.35 0 002.867-1.632.875.875 0 00-1.504-.894 1.573 1.573 0 01-1.363.776H27.02a1.585 1.585 0 010-3.167z"/> </g> </svg> </span> Code of Conduct </a> </li> <li> <a href="/privacy" class="sidebar-navigation-link c-link c-link--block c-link--icon-left"> <span class="c-link__icon"> <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 44 44" width="24" height="24"> <g transform="translate(4 4)"> <circle fill="#FFCC4D" cx="18" cy="18" r="18"/> <path fill="#664500" d="M27.335 23.629a.501.501 0 00-.635-.029c-.039.029-3.922 2.9-8.7 2.9-4.766 0-8.662-2.871-8.7-2.9a.5.5 0 10-.729.657C8.7 24.472 11.788 29.5 18 29.5s9.301-5.028 9.429-5.243a.499.499 0 00-.094-.628z"/> <path fill="#65471B" d="M18 26.591c-.148 0-.291-.011-.438-.016v4.516h.875v-4.517c-.145.005-.289.017-.437.017z"/> <path fill="#FFF" d="M22 26c.016-.004-1.45.378-2.446.486-.366.042-.737.076-1.117.089v4.517H20c1.1 0 2-.9 2-2V26zm-8 0c-.016-.004 1.45.378 2.446.486.366.042.737.076 1.117.089v4.517H16c-1.1 0-2-.9-2-2V26z"/> <path fill="#65471B" d="M27.335 23.629a.501.501 0 00-.635-.029c-.03.022-2.259 1.668-5.411 2.47-.443.113-1.864.43-3.286.431-1.424 0-2.849-.318-3.292-.431-3.152-.802-5.381-2.448-5.411-2.47a.501.501 0 00-.729.657c.097.162 1.885 3.067 5.429 4.481v-1.829c-.016-.004 1.45.378 2.446.486.366.042.737.076 1.117.089.146.005.289.016.437.016.148 0 .291-.011.438-.016.38-.013.751-.046 1.117-.089.996-.108 2.462-.49 2.446-.486v1.829c3.544-1.414 5.332-4.319 5.429-4.481a.5.5 0 00-.095-.628zm-.711-9.605c0 1.714-.938 3.104-2.096 3.104-1.157 0-2.096-1.39-2.096-3.104s.938-3.104 2.096-3.104c1.158 0 2.096 1.39 2.096 3.104zm-17.167 0c0 1.714.938 3.104 2.096 3.104 1.157 0 2.096-1.39 2.096-3.104s-.938-3.104-2.096-3.104c-1.158 0-2.096 1.39-2.096 3.104z"/> <path fill="#292F33" d="M34.808 9.627c-.171-.166-1.267.274-2.376-.291-2.288-1.166-8.07-2.291-11.834.376-.403.285-2.087.333-2.558.313-.471.021-2.155-.027-2.558-.313-3.763-2.667-9.545-1.542-11.833-.376-1.109.565-2.205.125-2.376.291-.247.239-.247 1.196.001 1.436.246.239 1.477.515 1.722 1.232.247.718.249 4.958 2.213 6.424 1.839 1.372 6.129 1.785 8.848.238 2.372-1.349 2.289-4.189 2.724-5.881.155-.603.592-.907 1.26-.907s1.105.304 1.26.907c.435 1.691.351 4.532 2.724 5.881 2.719 1.546 7.009 1.133 8.847-.238 1.965-1.465 1.967-5.706 2.213-6.424.245-.717 1.476-.994 1.722-1.232.248-.24.249-1.197.001-1.436zm-20.194 3.65c-.077 1.105-.274 3.227-1.597 3.98-.811.462-1.868.743-2.974.743h-.001c-1.225 0-2.923-.347-3.587-.842-.83-.619-1.146-3.167-1.265-4.12-.076-.607-.28-2.09.388-2.318 1.06-.361 2.539-.643 4.052-.643.693 0 3.021.043 4.155.741 1.005.617.872 1.851.829 2.459zm16.278-.253c-.119.954-.435 3.515-1.265 4.134-.664.495-2.362.842-3.587.842h-.001c-1.107 0-2.163-.281-2.975-.743-1.323-.752-1.52-2.861-1.597-3.966-.042-.608-.176-1.851.829-2.468 1.135-.698 3.462-.746 4.155-.746 1.513 0 2.991.277 4.052.638.668.228.465 1.702.389 2.309z"/> </g> </svg> </span> Privacy Policy </a> </li> <li> <a href="/terms" class="sidebar-navigation-link c-link c-link--block c-link--icon-left"> <span class="c-link__icon"> <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 44 44" width="24" height="24"> <g transform="translate(4 4)"> <ellipse fill="#F5F8FA" cx="8.828" cy="18" rx="7.953" ry="13.281"/> <path fill="#E1E8ED" d="M8.828 32.031C3.948 32.031.125 25.868.125 18S3.948 3.969 8.828 3.969 17.531 10.132 17.531 18s-3.823 14.031-8.703 14.031zm0-26.562C4.856 5.469 1.625 11.09 1.625 18s3.231 12.531 7.203 12.531S16.031 24.91 16.031 18 12.8 5.469 8.828 5.469z"/> <circle fill="#8899A6" cx="6.594" cy="18" r="4.96"/> <circle fill="#292F33" cx="6.594" cy="18" r="3.565"/> <circle fill="#F5F8FA" cx="7.911" cy="15.443" r="1.426"/> <ellipse fill="#F5F8FA" cx="27.234" cy="18" rx="7.953" ry="13.281"/> <path fill="#E1E8ED" d="M27.234 32.031c-4.88 0-8.703-6.163-8.703-14.031s3.823-14.031 8.703-14.031S35.938 10.132 35.938 18s-3.824 14.031-8.704 14.031zm0-26.562c-3.972 0-7.203 5.622-7.203 12.531 0 6.91 3.231 12.531 7.203 12.531S34.438 24.91 34.438 18 31.206 5.469 27.234 5.469z"/> <circle fill="#8899A6" cx="25" cy="18" r="4.96"/> <circle fill="#292F33" cx="25" cy="18" r="3.565"/> <circle fill="#F5F8FA" cx="26.317" cy="15.443" r="1.426"/> </g> </svg> </span> Terms of use </a> </li> </ul> </nav> <div class="mb-4"> <a href="https://x.com/thepracticaldev" target="_blank" class="c-link c-link--icon-alone c-link--block " rel="noopener me"> <svg xmlns="http://www.w3.org/2000/svg" fill="none" viewBox="-50 -50 620 620" role="img" aria-labelledby="ats641g4ohu7rz5eb96koxdmjjbol9xk" class="crayons-icon c-link__icon" width="24" height="24"><title id="ats641g4ohu7rz5eb96koxdmjjbol9xk">Twitter</title> <path d="M394.033.25h76.67L303.202 191.693l197.052 260.511h-154.29L225.118 294.205 86.844 452.204H10.127l179.16-204.77L.254.25H158.46l109.234 144.417zm-26.908 406.063h42.483L135.377 43.73h-45.59z" fill="#000"></path> </svg> </a> <a href="https://facebook.com/thepracticaldev" target="_blank" class="c-link c-link--icon-alone c-link--block " rel="noopener me"> <svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" role="img" aria-labelledby="agke6nak38h4p852msgtn70jvnerzhii" class="crayons-icon c-link__icon"><title id="agke6nak38h4p852msgtn70jvnerzhii">Facebook</title> <path d="M15.402 21v-6.966h2.333l.349-2.708h-2.682V9.598c0-.784.218-1.319 1.342-1.319h1.434V5.857a19.188 19.188 0 00-2.09-.107c-2.067 0-3.482 1.262-3.482 3.58v1.996h-2.338v2.708h2.338V21H4a1 1 0 01-1-1V4a1 1 0 011-1h16a1 1 0 011 1v16a1 1 0 01-1 1h-4.598z"></path> </svg> </a> <a href="https://github.com/forem" target="_blank" class="c-link c-link--icon-alone c-link--block " rel="noopener me"> <svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" role="img" aria-labelledby="asd9ekkfsbswrxte37yakmwi2i2fl513" class="crayons-icon c-link__icon"><title id="asd9ekkfsbswrxte37yakmwi2i2fl513">Github</title> <path d="M12 2C6.475 2 2 6.475 2 12a9.994 9.994 0 006.838 9.488c.5.087.687-.213.687-.476 0-.237-.013-1.024-.013-1.862-2.512.463-3.162-.612-3.362-1.175-.113-.288-.6-1.175-1.025-1.413-.35-.187-.85-.65-.013-.662.788-.013 1.35.725 1.538 1.025.9 1.512 2.338 1.087 2.912.825.088-.65.35-1.087.638-1.337-2.225-.25-4.55-1.113-4.55-4.938 0-1.088.387-1.987 1.025-2.688-.1-.25-.45-1.275.1-2.65 0 0 .837-.262 2.75 1.026a9.28 9.28 0 012.5-.338c.85 0 1.7.112 2.5.337 1.912-1.3 2.75-1.024 2.75-1.024.55 1.375.2 2.4.1 2.65.637.7 1.025 1.587 1.025 2.687 0 3.838-2.337 4.688-4.562 4.938.362.312.675.912.675 1.85 0 1.337-.013 2.412-.013 2.75 0 .262.188.574.688.474A10.016 10.016 0 0022 12c0-5.525-4.475-10-10-10z"></path> </svg> </a> <a href="https://instagram.com/thepracticaldev" target="_blank" class="c-link c-link--icon-alone c-link--block " rel="noopener me"> <svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" role="img" aria-labelledby="a5lx6bgpne5szaa1uw9hsukur8lxnn40" class="crayons-icon c-link__icon"><title id="a5lx6bgpne5szaa1uw9hsukur8lxnn40">Instagram</title> <path d="M12 2c2.717 0 3.056.01 4.122.06 1.065.05 1.79.217 2.428.465.66.254 1.216.598 1.772 1.153.509.5.902 1.105 1.153 1.772.247.637.415 1.363.465 2.428.047 1.066.06 1.405.06 4.122 0 2.717-.01 3.056-.06 4.122-.05 1.065-.218 1.79-.465 2.428a4.883 4.883 0 01-1.153 1.772c-.5.508-1.105.902-1.772 1.153-.637.247-1.363.415-2.428.465-1.066.047-1.405.06-4.122.06-2.717 0-3.056-.01-4.122-.06-1.065-.05-1.79-.218-2.428-.465a4.89 4.89 0 01-1.772-1.153 4.904 4.904 0 01-1.153-1.772c-.248-.637-.415-1.363-.465-2.428C2.013 15.056 2 14.717 2 12c0-2.717.01-3.056.06-4.122.05-1.066.217-1.79.465-2.428a4.88 4.88 0 011.153-1.772A4.897 4.897 0 015.45 2.525c.638-.248 1.362-.415 2.428-.465C8.944 2.013 9.283 2 12 2zm0 5a5 5 0 100 10 5 5 0 000-10zm6.5-.25a1.25 1.25 0 10-2.5 0 1.25 1.25 0 002.5 0zM12 9a3 3 0 110 6 3 3 0 010-6z"></path> </svg> </a> <a href="https://twitch.com/thepracticaldev" target="_blank" class="c-link c-link--icon-alone c-link--block " rel="noopener me"> <svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" role="img" aria-labelledby="ado3r7p85dkx3uxc3u8vidbyjucjyivo" class="crayons-icon c-link__icon"><title id="ado3r7p85dkx3uxc3u8vidbyjucjyivo">Twitch</title> <path d="M4.3 3H21v11.7l-4.7 4.7h-3.9l-2.5 2.4H7v-2.4H3V6.2L4.3 3zM5 17.4h4v2.4h.095l2.5-2.4h3.877L19 13.872V5H5v12.4zM15 8h2v4.7h-2V8zm0 0h2v4.7h-2V8zm-5 0h2v4.7h-2V8z"></path> </svg> </a> <a href="https://fosstodon.org/@thepracticaldev" target="_blank" class="c-link c-link--icon-alone c-link--block " rel="noopener me"> <svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" role="img" aria-labelledby="aotue41a7x5e4ux5mwgpz84fvh79rkh8" class="crayons-icon c-link__icon"><title id="aotue41a7x5e4ux5mwgpz84fvh79rkh8">Mastodon</title> <path d="M21.258 13.99c-.274 1.41-2.456 2.955-4.962 3.254-1.306.156-2.593.3-3.965.236-2.243-.103-4.014-.535-4.014-.535 0 .218.014.426.04.62.292 2.215 2.196 2.347 4 2.41 1.82.062 3.44-.45 3.44-.45l.076 1.646s-1.274.684-3.542.81c-1.25.068-2.803-.032-4.612-.51-3.923-1.039-4.598-5.22-4.701-9.464-.031-1.26-.012-2.447-.012-3.44 0-4.34 2.843-5.611 2.843-5.611 1.433-.658 3.892-.935 6.45-.956h.062c2.557.02 5.018.298 6.451.956 0 0 2.843 1.272 2.843 5.61 0 0 .036 3.201-.397 5.424zm-2.956-5.087c0-1.074-.273-1.927-.822-2.558-.567-.631-1.308-.955-2.229-.955-1.065 0-1.871.41-2.405 1.228l-.518.87-.519-.87C11.276 5.8 10.47 5.39 9.405 5.39c-.921 0-1.663.324-2.229.955-.549.631-.822 1.484-.822 2.558v5.253h2.081V9.057c0-1.075.452-1.62 1.357-1.62 1 0 1.501.647 1.501 1.927v2.79h2.07v-2.79c0-1.28.5-1.927 1.5-1.927.905 0 1.358.545 1.358 1.62v5.1h2.08V8.902l.001.001z"></path> </svg> </a> <a href="https://bsky.app/profile/dev.to" target="_blank" class="c-link c-link--icon-alone c-link--block " rel="noopener me"> <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 -3.268 64 68.414" width="24" height="24" role="img" aria-labelledby="alt2mfn24p75qymub1jfa2qejvovyb67" class="crayons-icon c-link__icon"><title id="alt2mfn24p75qymub1jfa2qejvovyb67">Bluesky</title><path fill="#0085ff" d="M13.873 3.805C21.21 9.332 29.103 20.537 32 26.55v15.882c0-.338-.13.044-.41.867-1.512 4.456-7.418 21.847-20.923 7.944-7.111-7.32-3.819-14.64 9.125-16.85-7.405 1.264-15.73-.825-18.014-9.015C1.12 23.022 0 8.51 0 6.55 0-3.268 8.579-.182 13.873 3.805zm36.254 0C42.79 9.332 34.897 20.537 32 26.55v15.882c0-.338.13.044.41.867 1.512 4.456 7.418 21.847 20.923 7.944 7.111-7.32 3.819-14.64-9.125-16.85 7.405 1.264 15.73-.825 18.014-9.015C62.88 23.022 64 8.51 64 6.55c0-9.818-8.578-6.732-13.873-2.745z"></path></svg> </a> </div> <nav class="mb-6" aria-label="Secondary sidebar nav"> <h3 class="crayons-subtitle-3 p-2">Popular Tags</h3> <div id="sidebar-nav-default-tags" class="overflow-y-auto" style="max-height: 42vh"> <div class="sidebar-nav-element" id="default-sidebar-element-webdev"> <a class="c-link c-link--block" href="/t/webdev"> #webdev </a> </div> <div class="sidebar-nav-element" id="default-sidebar-element-javascript"> <a class="c-link c-link--block" href="/t/javascript"> #javascript </a> </div> <div class="sidebar-nav-element" id="default-sidebar-element-programming"> <a class="c-link c-link--block" href="/t/programming"> #programming </a> </div> <div class="sidebar-nav-element" id="default-sidebar-element-beginners"> <a class="c-link c-link--block" href="/t/beginners"> #beginners </a> </div> <div class="sidebar-nav-element" id="default-sidebar-element-tutorial"> <a class="c-link c-link--block" href="/t/tutorial"> #tutorial </a> </div> <div class="sidebar-nav-element" id="default-sidebar-element-ai"> <a class="c-link c-link--block" href="/t/ai"> #ai </a> </div> <div class="sidebar-nav-element" id="default-sidebar-element-python"> <a class="c-link c-link--block" href="/t/python"> #python </a> </div> <div class="sidebar-nav-element" id="default-sidebar-element-react"> <a class="c-link c-link--block" href="/t/react"> #react </a> </div> <div class="sidebar-nav-element" id="default-sidebar-element-devops"> <a class="c-link c-link--block" href="/t/devops"> #devops </a> </div> <div class="sidebar-nav-element" id="default-sidebar-element-productivity"> <a class="c-link c-link--block" href="/t/productivity"> #productivity </a> </div> <div class="sidebar-nav-element" id="default-sidebar-element-aws"> <a class="c-link c-link--block" href="/t/aws"> #aws </a> </div> <div class="sidebar-nav-element" id="default-sidebar-element-career"> <a class="c-link c-link--block" href="/t/career"> #career </a> </div> <div class="sidebar-nav-element" id="default-sidebar-element-discuss"> <a class="c-link c-link--block" href="/t/discuss"> #discuss </a> </div> <div class="sidebar-nav-element" id="default-sidebar-element-learning"> <a class="c-link c-link--block" href="/t/learning"> #learning </a> </div> <div class="sidebar-nav-element" id="default-sidebar-element-node"> <a class="c-link c-link--block" href="/t/node"> #node </a> </div> <div class="sidebar-nav-element" id="default-sidebar-element-typescript"> <a class="c-link c-link--block" href="/t/typescript"> #typescript </a> </div> <div class="sidebar-nav-element" id="default-sidebar-element-opensource"> <a class="c-link c-link--block" href="/t/opensource"> #opensource </a> </div> <div class="sidebar-nav-element" id="default-sidebar-element-java"> <a class="c-link c-link--block" href="/t/java"> #java </a> </div> <div class="sidebar-nav-element" id="default-sidebar-element-css"> <a class="c-link c-link--block" href="/t/css"> #css </a> </div> <div class="sidebar-nav-element" id="default-sidebar-element-cloud"> <a class="c-link c-link--block" href="/t/cloud"> #cloud </a> </div> <div class="sidebar-nav-element" id="default-sidebar-element-machinelearning"> <a class="c-link c-link--block" href="/t/machinelearning"> #machinelearning </a> </div> <div class="sidebar-nav-element" id="default-sidebar-element-security"> <a class="c-link c-link--block" href="/t/security"> #security </a> </div> <div class="sidebar-nav-element" id="default-sidebar-element-database"> <a class="c-link c-link--block" href="/t/database"> #database </a> </div> <div class="sidebar-nav-element" id="default-sidebar-element-android"> <a class="c-link c-link--block" href="/t/android"> #android </a> </div> <div class="sidebar-nav-element" id="default-sidebar-element-php"> <a class="c-link c-link--block" href="/t/php"> #php </a> </div> <div class="sidebar-nav-element" id="default-sidebar-element-softwaredevelopment"> <a class="c-link c-link--block" href="/t/softwaredevelopment"> #softwaredevelopment </a> </div> <div class="sidebar-nav-element" id="default-sidebar-element-frontend"> <a class="c-link c-link--block" href="/t/frontend"> #frontend </a> </div> <div class="sidebar-nav-element" id="default-sidebar-element-news"> <a class="c-link c-link--block" href="/t/news"> #news </a> </div> <div class="sidebar-nav-element" id="default-sidebar-element-linux"> <a class="c-link c-link--block" href="/t/linux"> #linux </a> </div> <div class="sidebar-nav-element" id="default-sidebar-element-github"> <a class="c-link c-link--block" href="/t/github"> #github </a> </div> </div> </nav> <div class="js-billboard-container" data-async-url="/billboards/sidebar_left"></div> <div class="js-billboard-container pt-4" data-async-url="/billboards/sidebar_left_2"></div> <footer class="mt-6 fs-s sidebar-footer"> <p> <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> <p class="mt-4">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 class="mt-4">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">&copy;</span> 2016 - 2025.</p> </footer> </aside> </div> <script src="https://assets.dev.to/assets/billboard-a7ffd2b38d410444a4ef2d42c6ce905699d84b1520aed314b817a767ddc3b362.js" defer="defer"></script> <main class="articles-list crayons-layout__content" id="main-content" data-follow-button-container="true"> <header class="p-2 px-3 m:p-0 m:px-0 m:mb-2 fs-l"> <h1 class="screen-reader-only">Posts</h1> <nav class="-mx-3 m:mx-0 s:flex items-center justify-between" aria-label="View posts by"> <ul class="crayons-navigation crayons-navigation--horizontal"> <li> <a data-text="Relevant" href="/" class="crayons-navigation__item crayons-navigation__item--current" aria-current="page">Relevant</a> </li> <li> <a data-text="Latest" href="/latest" class="crayons-navigation__item "> Latest </a> </li> <li> <a data-text="Top" href="/top/week" class="crayons-navigation__item " > Top </a> </li> </ul> </nav> </header> <div class="crayons-story crayons-story__billboard bb-placement js-billboard" style="" data-display-unit data-id="201105" data-category-click="click" data-category-impression="impression" data-context-type="home" data-dismissal-sku="dev_challenge_jan_1_25" data-special="nothing" data-article-id="" data-type-of="in_house"> <div class="crayons-story__body"> <div class="crayons-story__top flex"> <div class="crayons-bb__header relative"> <div class="crayons-bb__title">👋 The next DEV Challenge is live</div> <button id="sponsorship-dropdown-trigger-201105" aria-controls="sponsorship-dropdown-201105" aria-expanded="false" aria-haspopup="true" class="dropBtn crayons-bb__dropdown crayons-btn crayons-btn--s crayons-btn--ghost crayons-btn--icon" aria-label="Toggle dropdown menu"> <svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" role="img" aria-labelledby="att66z7goujft2v84dcidnyfj3wp9gkc" class="crayons-icon pointer-events-none"><title id="att66z7goujft2v84dcidnyfj3wp9gkc">Dropdown menu</title> <path fill-rule="evenodd" clip-rule="evenodd" d="M8.25 12a1.5 1.5 0 11-3 0 1.5 1.5 0 013 0zm5.25 0a1.5 1.5 0 11-3 0 1.5 1.5 0 013 0zm3.75 1.5a1.5 1.5 0 100-3 1.5 1.5 0 000 3z"></path> </svg> </button> <div id="sponsorship-dropdown-201105" class="crayons-dropdown bb-dropdown right-0"> <ul class="list-none m-0"> <li> <a class="crayons-link crayons-link--block" href='/billboards'> <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" width="16" height="16" role="img" aria-hidden="true" class="crayons-icon c-btn__icon"> <path d="M12 22C6.477 22 2 17.523 2 12S6.477 2 12 2s10 4.477 10 10-4.477 10-10 10zm0-2a8 8 0 100-16 8 8 0 000 16zM11 7h2v2h-2V7zm0 4h2v6h-2v-6z"></path> </svg> What&#39;s a billboard? </a> </li> <li> <a class="crayons-link crayons-link--block" href='/settings/customization#sponsors'> <svg xmlns="http://www.w3.org/2000/svg" width="16" height="16" viewBox="0 0 24 24" fill="none" role="img" aria-hidden="true" class="crayons-icon c-btn__icon"> <path d="M3.34 16.9999C2.91727 16.2689 2.58866 15.4874 2.362 14.6739C2.85531 14.423 3.26959 14.0406 3.55903 13.5688C3.84846 13.0971 4.00176 12.5545 4.00197 12.0011C4.00218 11.4476 3.84928 10.9049 3.5602 10.4329C3.27112 9.961 2.85712 9.57821 2.364 9.32694C2.81604 7.69243 3.67673 6.1999 4.865 4.98994C5.32909 5.29167 5.86762 5.45911 6.42098 5.47373C6.97434 5.48834 7.52095 5.34958 8.00033 5.07278C8.47971 4.79598 8.87315 4.39194 9.13713 3.90539C9.4011 3.41883 9.52531 2.86872 9.496 2.31594C11.1381 1.89157 12.8612 1.89226 14.503 2.31795C14.474 2.87071 14.5984 3.42073 14.8626 3.90715C15.1268 4.39357 15.5204 4.79742 15.9998 5.07401C16.4793 5.35059 17.0259 5.48913 17.5793 5.4743C18.1326 5.45946 18.671 5.29183 19.135 4.98994C19.714 5.57994 20.228 6.25095 20.66 6.99995C21.093 7.74895 21.417 8.52995 21.638 9.32595C21.1447 9.57685 20.7304 9.95932 20.441 10.4311C20.1515 10.9028 19.9982 11.4454 19.998 11.9988C19.9978 12.5523 20.1507 13.095 20.4398 13.5669C20.7289 14.0389 21.1429 14.4217 21.636 14.6729C21.184 16.3075 20.3233 17.8 19.135 19.0099C18.6709 18.7082 18.1324 18.5408 17.579 18.5262C17.0257 18.5115 16.479 18.6503 15.9997 18.9271C15.5203 19.2039 15.1268 19.6079 14.8629 20.0945C14.5989 20.5811 14.4747 21.1312 14.504 21.6839C12.8619 22.1083 11.1388 22.1076 9.497 21.6819C9.52605 21.1292 9.4016 20.5792 9.13742 20.0927C8.87324 19.6063 8.47964 19.2025 8.00017 18.9259C7.5207 18.6493 6.97405 18.5108 6.42073 18.5256C5.8674 18.5404 5.32896 18.7081 4.865 19.0099C4.27399 18.4069 3.76159 17.7315 3.34 16.9999ZM9 17.1959C10.0656 17.8106 10.8668 18.797 11.25 19.9659C11.749 20.0129 12.25 20.0139 12.749 19.9669C13.1324 18.7978 13.934 17.8114 15 17.1969C16.0652 16.5806 17.3205 16.3794 18.525 16.6319C18.815 16.2239 19.065 15.7889 19.273 15.3339C18.4524 14.4174 17.9991 13.2302 18 11.9999C18 10.7399 18.47 9.56295 19.273 8.66595C19.0635 8.21109 18.8125 7.77658 18.523 7.36795C17.3193 7.62025 16.0648 7.41942 15 6.80395C13.9344 6.18932 13.1332 5.20293 12.75 4.03394C12.251 3.98694 11.75 3.98594 11.251 4.03294C10.8676 5.20209 10.066 6.1885 9 6.80295C7.93478 7.41926 6.67948 7.62046 5.475 7.36795C5.18556 7.77623 4.93513 8.21081 4.727 8.66595C5.54757 9.5825 6.00088 10.7697 6 11.9999C6 13.2599 5.53 14.4369 4.727 15.3339C4.93647 15.7888 5.18754 16.2233 5.477 16.6319C6.68072 16.3796 7.93521 16.5805 9 17.1959ZM12 14.9999C11.2044 14.9999 10.4413 14.6839 9.87868 14.1213C9.31607 13.5587 9 12.7956 9 11.9999C9 11.2043 9.31607 10.4412 9.87868 9.87862C10.4413 9.31602 11.2044 8.99995 12 8.99995C12.7956 8.99995 13.5587 9.31602 14.1213 9.87862C14.6839 10.4412 15 11.2043 15 11.9999C15 12.7956 14.6839 13.5587 14.1213 14.1213C13.5587 14.6839 12.7956 14.9999 12 14.9999ZM12 12.9999C12.2652 12.9999 12.5196 12.8946 12.7071 12.7071C12.8946 12.5195 13 12.2652 13 11.9999C13 11.7347 12.8946 11.4804 12.7071 11.2928C12.5196 11.1053 12.2652 10.9999 12 10.9999C11.7348 10.9999 11.4804 11.1053 11.2929 11.2928C11.1054 11.4804 11 11.7347 11 11.9999C11 12.2652 11.1054 12.5195 11.2929 12.7071C11.4804 12.8946 11.7348 12.9999 12 12.9999Z" fill="black"></path> </svg> Manage preferences </a> </li> <hr /> <li> <a class="crayons-link crayons-link--block" href="/report-abuse?billboard=201105"> <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" width="16" height="16" role="img" aria-hidden="true" class="crayons-icon c-btn__icon"> <path d="M12.382 3a1 1 0 0 1 .894.553L14 5h6a1 1 0 0 1 1 1v11a1 1 0 0 1-1 1h-6.382a1 1 0 0 1-.894-.553L12 16H5v6H3V3h9.382Zm-.618 2H5v9h8.236l1 2H19V7h-6.236l-1-2Z"></path> </svg> Report billboard </a> </li> </ul> </div> </div> <button id="sponsorship-close-trigger-201105" aria-controls="sponsorship-close-201105" class="crayons-btn crayons-btn--s crayons-btn--ghost crayons-btn--icon"> <svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" role="img" aria-labelledby="a55252vsliize8ic0j0bmzxz4teq6ohk" class="crayons-icon pointer-events-none"><title id="a55252vsliize8ic0j0bmzxz4teq6ohk">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> </div> <div class="crayons-story__indention-billboard"> <div class="text-styles text-styles--billboard"> <p><a href="https://dev.to/devteam/happy-11111101001-join-our-new-year-writing-challenge-43g4?bb=201105"><img src="https://media2.dev.to/dynamic/image/width=775%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F6wt9wdq5crve78v8nh51.png" alt="Join the New Year Challenge" width="4096" height="1720" loading="lazy"></a></p> <h2> <a name="plan-your-2025-roadmap" href="#plan-your-2025-roadmap"> </a> Plan Your 2025 Roadmap 🗺️</h2> <div class="ltag__link"> <a href="/devteam?bb=201105" class="ltag__link__link"> <div class="ltag__link__org__pic"> <img src="https://media2.dev.to/dynamic/image/width=775%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Forganization%2Fprofile_image%2F1%2Fd908a186-5651-4a5a-9f76-15200bc6801f.jpg" alt="The DEV Team" width="150" height="150" loading="lazy"> <div class="ltag__link__user__pic"> <img src="https://media2.dev.to/dynamic/image/width=775%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Fuser%2Fprofile_image%2F264%2F40d89fb9-4de0-414d-8a06-f52ddda0bc75.jpg" alt="" width="150" height="150" loading="lazy"> </div> </div> </a> <a href="https://dev.to/devteam/happy-11111101001-join-our-new-year-writing-challenge-43g4?bb=201105" class="ltag__link__link"> <div class="ltag__link__content"> <h2>Happy 11111101001! Join our New Year Writing Challenge 🔮</h2> <h3>Jess Lee for The DEV Team ・ Jan 1</h3> <div class="ltag__link__taglist"> <span class="ltag__link__tag">#devchallenge</span> <span class="ltag__link__tag">#newyearchallenge</span> <span class="ltag__link__tag">#career</span> <span class="ltag__link__tag">#future</span> </div> </div> </a> </div> </div> </div> </div> </div> <div class="crayons-story crayons-story--featured" data-feed-content-id="2188107" data-content-user-id="186199"> <a href="https://dev.to/this-is-learning/javascript-frameworks-heading-into-2025-hkb" aria-labelledby="article-link-2188107" class="crayons-story__hidden-navigation-link">JavaScript Frameworks - Heading into 2025</a> <div id="featured-story-marker" data-featured-article="articles-2188107"></div> <div class="crayons-article__cover crayons-article__cover__image__feed" style="aspect-ratio: auto 1000 / 420;"> <a href="https://dev.to/this-is-learning/javascript-frameworks-heading-into-2025-hkb" title="JavaScript Frameworks - Heading into 2025" aria-label="article" class="crayons-article__cover__image__feed crayons-story__cover__image"> <img src="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%2Fnw0xwk1ucdejb38jshg4.png" width="1000" height="420" style="background-color:#dddddd;" class="crayons-article__cover__image__feed" alt="Cover image for JavaScript Frameworks - Heading into 2025"> </a> </div> <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="/this-is-learning"> <img alt="This is Learning 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%2F3314%2Fdc73eb74-08f9-4592-b599-c08f2bb14b4d.png" class="crayons-logo__image" loading="lazy" /> </a> <a href="/ryansolid" 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%2F186199%2Fa3d1cfed-a1ca-41cd-a146-9db4e65711d4.jpeg" alt="ryansolid profile" class="crayons-avatar__image" loading="lazy" /> </a> </div> <div> <div> <a href="/ryansolid" class="crayons-story__secondary fw-medium m:hidden"> Ryan Carniato </a> <div class="profile-preview-card relative mb-4 s:mb-0 fw-medium hidden m:inline-block"> <button id="story-author-preview-trigger-2188107" aria-controls="story-author-preview-content-2188107" class="profile-preview-card__trigger fs-s p-1 -ml-1 -my-2 crayons-btn crayons-btn--ghost" aria-label="Ryan Carniato profile details"> Ryan Carniato </button> <div id="story-author-preview-content-2188107" 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="/ryansolid" 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%2F186199%2Fa3d1cfed-a1ca-41cd-a146-9db4e65711d4.jpeg" class="crayons-avatar__image" alt="" loading="lazy" /> </span> <span class="crayons-link crayons-subtitle-2 mt-5">Ryan Carniato</span> </a> </div> <div class="print-hidden"> <button class="crayons-btn follow-action-button whitespace-nowrap follow-user w-100" data-info='{&quot;style&quot;:&quot;full&quot;,&quot;id&quot;:186199,&quot;className&quot;:&quot;User&quot;,&quot;name&quot;:&quot;Ryan Carniato&quot;}'> Follow </button> </div> <div class="author-preview-metadata-container" data-author-id="186199"></div> </div> </div> </div> <span> <span class="crayons-story__tertiary fw-normal"> for </span><a href="/this-is-learning" class="crayons-story__secondary fw-medium">This is Learning</a> </span> </div> <a href="https://dev.to/this-is-learning/javascript-frameworks-heading-into-2025-hkb" class="crayons-story__tertiary fs-xs"><time datetime="2025-01-06T17:13:46Z">Jan 6</time><span class="time-ago-indicator-initial-placeholder" data-seconds="1736183626"></span></a> </div> </div> </div> <div class="crayons-story__indention"> <h2 class="crayons-story__title"> <a href="https://dev.to/this-is-learning/javascript-frameworks-heading-into-2025-hkb" 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%2Fnw0xwk1ucdejb38jshg4.png" id="article-link-2188107"> JavaScript Frameworks - Heading into 2025 </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(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(143, 16, 12, 0.10); --tag-prefix: #8f100c; --tag-bg-hover: rgba(143, 16, 12, 0.10); --tag-prefix-hover: #8f100c; " href="/t/webperf"><span class="crayons-tag__prefix">#</span>webperf</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/frameworks"><span class="crayons-tag__prefix">#</span>frameworks</a> </div> <div class="crayons-story__bottom"> <div class="crayons-story__details"> <a href="https://dev.to/this-is-learning/javascript-frameworks-heading-into-2025-hkb" class="crayons-btn crayons-btn--s crayons-btn--ghost crayons-btn--icon-left" data-reaction-count data-reactable-id="2188107" aria-label="Add a comment to post - JavaScript Frameworks - Heading into 2025"> <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">93<span class="hidden s:inline"> reactions</span></span> </div> </a> <a href="https://dev.to/this-is-learning/javascript-frameworks-heading-into-2025-hkb#comments" class="crayons-btn crayons-btn--s crayons-btn--ghost crayons-btn--icon-left flex items-center" aria-label="Add a comment to post - JavaScript Frameworks - Heading into 2025"> <svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" role="img" aria-labelledby="al25kln3ppfyu8prs4dcyyn8j14o2eis" class="crayons-icon"><title id="al25kln3ppfyu8prs4dcyyn8j14o2eis">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> 20<span class="hidden s:inline"> comments</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-2188107" class="c-btn c-btn--icon-alone bookmark-button" data-reactable-id="2188107" data-article-author-id="186199" aria-label="Save post JavaScript Frameworks - Heading into 2025 to reading list" title="Save post JavaScript Frameworks - Heading into 2025 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 id="article-index-podcast-div"></div> <div class="substories" id="substories"> <div class="crayons-story crayons-story__billboard bb-placement js-billboard" style="" data-display-unit data-id="2025" data-category-click="click" data-category-impression="impression" data-context-type="home" data-dismissal-sku="" data-special="nothing" data-article-id="" data-type-of="in_house"> <div class="crayons-story__body"> <div class="crayons-story__top flex"> <div class="crayons-bb__header relative"> <div class="crayons-bb__title">DEV Community</div> <button id="sponsorship-dropdown-trigger-2025" aria-controls="sponsorship-dropdown-2025" aria-expanded="false" aria-haspopup="true" class="dropBtn crayons-bb__dropdown crayons-btn crayons-btn--s crayons-btn--ghost crayons-btn--icon" aria-label="Toggle dropdown menu"> <svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" role="img" aria-labelledby="aesxop89o9ljgni9yhy2mxko4r1uyyyv" class="crayons-icon pointer-events-none"><title id="aesxop89o9ljgni9yhy2mxko4r1uyyyv">Dropdown menu</title> <path fill-rule="evenodd" clip-rule="evenodd" d="M8.25 12a1.5 1.5 0 11-3 0 1.5 1.5 0 013 0zm5.25 0a1.5 1.5 0 11-3 0 1.5 1.5 0 013 0zm3.75 1.5a1.5 1.5 0 100-3 1.5 1.5 0 000 3z"></path> </svg> </button> <div id="sponsorship-dropdown-2025" class="crayons-dropdown bb-dropdown right-0"> <ul class="list-none m-0"> <li> <a class="crayons-link crayons-link--block" href='/billboards'> <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" width="16" height="16" role="img" aria-hidden="true" class="crayons-icon c-btn__icon"> <path d="M12 22C6.477 22 2 17.523 2 12S6.477 2 12 2s10 4.477 10 10-4.477 10-10 10zm0-2a8 8 0 100-16 8 8 0 000 16zM11 7h2v2h-2V7zm0 4h2v6h-2v-6z"></path> </svg> What&#39;s a billboard? </a> </li> <li> <a class="crayons-link crayons-link--block" href='/settings/customization#sponsors'> <svg xmlns="http://www.w3.org/2000/svg" width="16" height="16" viewBox="0 0 24 24" fill="none" role="img" aria-hidden="true" class="crayons-icon c-btn__icon"> <path d="M3.34 16.9999C2.91727 16.2689 2.58866 15.4874 2.362 14.6739C2.85531 14.423 3.26959 14.0406 3.55903 13.5688C3.84846 13.0971 4.00176 12.5545 4.00197 12.0011C4.00218 11.4476 3.84928 10.9049 3.5602 10.4329C3.27112 9.961 2.85712 9.57821 2.364 9.32694C2.81604 7.69243 3.67673 6.1999 4.865 4.98994C5.32909 5.29167 5.86762 5.45911 6.42098 5.47373C6.97434 5.48834 7.52095 5.34958 8.00033 5.07278C8.47971 4.79598 8.87315 4.39194 9.13713 3.90539C9.4011 3.41883 9.52531 2.86872 9.496 2.31594C11.1381 1.89157 12.8612 1.89226 14.503 2.31795C14.474 2.87071 14.5984 3.42073 14.8626 3.90715C15.1268 4.39357 15.5204 4.79742 15.9998 5.07401C16.4793 5.35059 17.0259 5.48913 17.5793 5.4743C18.1326 5.45946 18.671 5.29183 19.135 4.98994C19.714 5.57994 20.228 6.25095 20.66 6.99995C21.093 7.74895 21.417 8.52995 21.638 9.32595C21.1447 9.57685 20.7304 9.95932 20.441 10.4311C20.1515 10.9028 19.9982 11.4454 19.998 11.9988C19.9978 12.5523 20.1507 13.095 20.4398 13.5669C20.7289 14.0389 21.1429 14.4217 21.636 14.6729C21.184 16.3075 20.3233 17.8 19.135 19.0099C18.6709 18.7082 18.1324 18.5408 17.579 18.5262C17.0257 18.5115 16.479 18.6503 15.9997 18.9271C15.5203 19.2039 15.1268 19.6079 14.8629 20.0945C14.5989 20.5811 14.4747 21.1312 14.504 21.6839C12.8619 22.1083 11.1388 22.1076 9.497 21.6819C9.52605 21.1292 9.4016 20.5792 9.13742 20.0927C8.87324 19.6063 8.47964 19.2025 8.00017 18.9259C7.5207 18.6493 6.97405 18.5108 6.42073 18.5256C5.8674 18.5404 5.32896 18.7081 4.865 19.0099C4.27399 18.4069 3.76159 17.7315 3.34 16.9999ZM9 17.1959C10.0656 17.8106 10.8668 18.797 11.25 19.9659C11.749 20.0129 12.25 20.0139 12.749 19.9669C13.1324 18.7978 13.934 17.8114 15 17.1969C16.0652 16.5806 17.3205 16.3794 18.525 16.6319C18.815 16.2239 19.065 15.7889 19.273 15.3339C18.4524 14.4174 17.9991 13.2302 18 11.9999C18 10.7399 18.47 9.56295 19.273 8.66595C19.0635 8.21109 18.8125 7.77658 18.523 7.36795C17.3193 7.62025 16.0648 7.41942 15 6.80395C13.9344 6.18932 13.1332 5.20293 12.75 4.03394C12.251 3.98694 11.75 3.98594 11.251 4.03294C10.8676 5.20209 10.066 6.1885 9 6.80295C7.93478 7.41926 6.67948 7.62046 5.475 7.36795C5.18556 7.77623 4.93513 8.21081 4.727 8.66595C5.54757 9.5825 6.00088 10.7697 6 11.9999C6 13.2599 5.53 14.4369 4.727 15.3339C4.93647 15.7888 5.18754 16.2233 5.477 16.6319C6.68072 16.3796 7.93521 16.5805 9 17.1959ZM12 14.9999C11.2044 14.9999 10.4413 14.6839 9.87868 14.1213C9.31607 13.5587 9 12.7956 9 11.9999C9 11.2043 9.31607 10.4412 9.87868 9.87862C10.4413 9.31602 11.2044 8.99995 12 8.99995C12.7956 8.99995 13.5587 9.31602 14.1213 9.87862C14.6839 10.4412 15 11.2043 15 11.9999C15 12.7956 14.6839 13.5587 14.1213 14.1213C13.5587 14.6839 12.7956 14.9999 12 14.9999ZM12 12.9999C12.2652 12.9999 12.5196 12.8946 12.7071 12.7071C12.8946 12.5195 13 12.2652 13 11.9999C13 11.7347 12.8946 11.4804 12.7071 11.2928C12.5196 11.1053 12.2652 10.9999 12 10.9999C11.7348 10.9999 11.4804 11.1053 11.2929 11.2928C11.1054 11.4804 11 11.7347 11 11.9999C11 12.2652 11.1054 12.5195 11.2929 12.7071C11.4804 12.8946 11.7348 12.9999 12 12.9999Z" fill="black"></path> </svg> Manage preferences </a> </li> <hr /> <li> <a class="crayons-link crayons-link--block" href="/report-abuse?billboard=2025"> <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" width="16" height="16" role="img" aria-hidden="true" class="crayons-icon c-btn__icon"> <path d="M12.382 3a1 1 0 0 1 .894.553L14 5h6a1 1 0 0 1 1 1v11a1 1 0 0 1-1 1h-6.382a1 1 0 0 1-.894-.553L12 16H5v6H3V3h9.382Zm-.618 2H5v9h8.236l1 2H19V7h-6.236l-1-2Z"></path> </svg> Report billboard </a> </li> </ul> </div> </div> </div> <div class="crayons-story__indention-billboard"> <div class="text-styles text-styles--billboard"> <p><a href="https://dev.to/enter?state=new-user&bb=2025"><img src="https://media2.dev.to/dynamic/image/width=775%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fwixrm7ejmrua4su7agha.jpg" alt="DEV" width="3000" height="1575" loading="lazy"></a></p> <h3> <a name="want-to-stay-uptodate-with-the-most-relevant-trends-in-software" href="#want-to-stay-uptodate-with-the-most-relevant-trends-in-software"> </a> Want to stay up-to-date with the most relevant trends in software?</h3> <p>Look no further.</p> <p>You can do so much more once you <strong>create your account</strong>. Follow the devs and topics you care about, and keep up-to-date.</p> <h2> <a name="start-now" href="#start-now"> </a> <strong><a href="https://dev.to/enter?state=new-user&bb=2025">Start now</a></strong> </h2> <p>Happy coding ❤️</p> </div> </div> </div> </div> <div class="crayons-story " data-feed-content-id="2192016" data-content-user-id="21408"> <a href="https://dev.to/link2twenty/native-html-accordion-revisited-6ai" aria-labelledby="article-link-2192016" class="crayons-story__hidden-navigation-link">Native HTML: Accordion Revisited</a> <div class="crayons-story__body"> <div class="crayons-story__top"> <div class="crayons-story__meta"> <div class="crayons-story__author-pic"> <a href="/link2twenty" 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%2F21408%2F3d055d92-0f51-4627-bdb7-9de09e3f408e.jpg" alt="link2twenty profile" class="crayons-avatar__image" loading="lazy" /> </a> </div> <div> <div> <a href="/link2twenty" class="crayons-story__secondary fw-medium m:hidden"> Andrew Bone </a> <div class="profile-preview-card relative mb-4 s:mb-0 fw-medium hidden m:inline-block"> <button id="story-author-preview-trigger-2192016" aria-controls="story-author-preview-content-2192016" class="profile-preview-card__trigger fs-s p-1 -ml-1 -my-2 crayons-btn crayons-btn--ghost" aria-label="Andrew Bone profile details"> Andrew Bone </button> <div id="story-author-preview-content-2192016" 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="/link2twenty" 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%2F21408%2F3d055d92-0f51-4627-bdb7-9de09e3f408e.jpg" class="crayons-avatar__image" alt="" loading="lazy" /> </span> <span class="crayons-link crayons-subtitle-2 mt-5">Andrew Bone</span> </a> </div> <div class="print-hidden"> <button class="crayons-btn follow-action-button whitespace-nowrap follow-user w-100" data-info='{&quot;style&quot;:&quot;full&quot;,&quot;id&quot;:21408,&quot;className&quot;:&quot;User&quot;,&quot;name&quot;:&quot;Andrew Bone&quot;}'> Follow </button> </div> <div class="author-preview-metadata-container" data-author-id="21408"></div> </div> </div> </div> </div> <a href="https://dev.to/link2twenty/native-html-accordion-revisited-6ai" class="crayons-story__tertiary fs-xs"><time datetime="2025-01-06T20:46:10Z">Jan 6</time><span class="time-ago-indicator-initial-placeholder" data-seconds="1736196370"></span></a> </div> </div> </div> <div class="crayons-story__indention"> <h2 class="crayons-story__title"> <a href="https://dev.to/link2twenty/native-html-accordion-revisited-6ai" 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%2Fvaht7gb8djg41vccvhfj.png" id="article-link-2192016"> Native HTML: Accordion Revisited </a> </h2> <div class="crayons-story__tags"> <a class="crayons-tag crayons-tag--monochrome " style=" --tag-bg: rgba(245, 57, 0, 0.10); --tag-prefix: #F53900; --tag-bg-hover: rgba(245, 57, 0, 0.10); --tag-prefix-hover: #F53900; " href="/t/html"><span class="crayons-tag__prefix">#</span>html</a> <a class="crayons-tag crayons-tag--monochrome " style=" --tag-bg: rgba(41, 101, 241, 0.10); --tag-prefix: #2965F1; --tag-bg-hover: rgba(41, 101, 241, 0.10); --tag-prefix-hover: #2965F1; " href="/t/css"><span class="crayons-tag__prefix">#</span>css</a> <a class="crayons-tag crayons-tag--monochrome " style=" --tag-bg: rgba(8, 59, 21, 0.10); --tag-prefix: #083b15; --tag-bg-hover: rgba(8, 59, 21, 0.10); --tag-prefix-hover: #083b15; " href="/t/a11y"><span class="crayons-tag__prefix">#</span>a11y</a> </div> <div class="crayons-story__bottom"> <div class="crayons-story__details"> <a href="https://dev.to/link2twenty/native-html-accordion-revisited-6ai" class="crayons-btn crayons-btn--s crayons-btn--ghost crayons-btn--icon-left" data-reaction-count data-reactable-id="2192016" aria-label="Add a comment to post - Native HTML: Accordion Revisited"> <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">29<span class="hidden s:inline"> reactions</span></span> </div> </a> <a href="https://dev.to/link2twenty/native-html-accordion-revisited-6ai#comments" class="crayons-btn crayons-btn--s crayons-btn--ghost crayons-btn--icon-left flex items-center" aria-label="Add a comment to post - Native HTML: Accordion Revisited"> <svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" role="img" aria-labelledby="aa5yw5ktw7nvrdtfus0qrq925juo3jho" class="crayons-icon"><title id="aa5yw5ktw7nvrdtfus0qrq925juo3jho">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> 7<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-2192016" class="c-btn c-btn--icon-alone bookmark-button" data-reactable-id="2192016" data-article-author-id="21408" aria-label="Save post Native HTML: Accordion Revisited to reading list" title="Save post Native HTML: Accordion Revisited 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="2185769" data-content-user-id="898740"> <a href="https://dev.to/composiodev/13-top-open-source-tools-you-must-use-for-your-next-big-project-in-2025-5gld" aria-labelledby="article-link-2185769" class="crayons-story__hidden-navigation-link">13 top open-source tools you must use for your next big project in 2025🚀</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="/composiodev"> <img alt="Composio 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%2F9157%2F363db417-2225-40ec-8fbe-2f5c816ffeb7.png" class="crayons-logo__image" loading="lazy" /> </a> <a href="/sunilkumrdash" 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%2F898740%2Fbe1827e3-0e8a-40dc-8b74-90c2913aa39e.jpg" alt="sunilkumrdash profile" class="crayons-avatar__image" loading="lazy" /> </a> </div> <div> <div> <a href="/sunilkumrdash" class="crayons-story__secondary fw-medium m:hidden"> Sunil Kumar Dash </a> <div class="profile-preview-card relative mb-4 s:mb-0 fw-medium hidden m:inline-block"> <button id="story-author-preview-trigger-2185769" aria-controls="story-author-preview-content-2185769" class="profile-preview-card__trigger fs-s p-1 -ml-1 -my-2 crayons-btn crayons-btn--ghost" aria-label="Sunil Kumar Dash profile details"> Sunil Kumar Dash <a style="display: inline;" href="/++"><img alt="Subscriber" class="subscription-icon" src="https://assets.dev.to/assets/subscription-icon-805dfa7ac7dd660f07ed8d654877270825b07a92a03841aa99a1093bd00431b2.png" /></a> </button> <div id="story-author-preview-content-2185769" 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="/sunilkumrdash" 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%2F898740%2Fbe1827e3-0e8a-40dc-8b74-90c2913aa39e.jpg" class="crayons-avatar__image" alt="" loading="lazy" /> </span> <span class="crayons-link crayons-subtitle-2 mt-5">Sunil Kumar Dash</span> </a> </div> <div class="print-hidden"> <button class="crayons-btn follow-action-button whitespace-nowrap follow-user w-100" data-info='{&quot;style&quot;:&quot;full&quot;,&quot;id&quot;:898740,&quot;className&quot;:&quot;User&quot;,&quot;name&quot;:&quot;Sunil Kumar Dash&quot;}'> Follow </button> </div> <div class="author-preview-metadata-container" data-author-id="898740"></div> </div> </div> </div> <span> <span class="crayons-story__tertiary fw-normal"> for </span><a href="/composiodev" class="crayons-story__secondary fw-medium">Composio</a> </span> </div> <a href="https://dev.to/composiodev/13-top-open-source-tools-you-must-use-for-your-next-big-project-in-2025-5gld" class="crayons-story__tertiary fs-xs"><time datetime="2025-01-06T13:31:54Z">Jan 6</time><span class="time-ago-indicator-initial-placeholder" data-seconds="1736170314"></span></a> </div> </div> </div> <div class="crayons-story__indention"> <h2 class="crayons-story__title"> <a href="https://dev.to/composiodev/13-top-open-source-tools-you-must-use-for-your-next-big-project-in-2025-5gld" 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%2Fmbot3tnrkp5kdq2lfwkf.png" id="article-link-2185769"> 13 top open-source tools you must use for your next big project in 2025🚀 </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(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(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(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> </div> <div class="crayons-story__bottom"> <div class="crayons-story__details"> <a href="https://dev.to/composiodev/13-top-open-source-tools-you-must-use-for-your-next-big-project-in-2025-5gld" class="crayons-btn crayons-btn--s crayons-btn--ghost crayons-btn--icon-left" data-reaction-count data-reactable-id="2185769" aria-label="Add a comment to post - 13 top open-source tools you must use for your next big project in 2025🚀"> <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">232<span class="hidden s:inline"> reactions</span></span> </div> </a> <a href="https://dev.to/composiodev/13-top-open-source-tools-you-must-use-for-your-next-big-project-in-2025-5gld#comments" class="crayons-btn crayons-btn--s crayons-btn--ghost crayons-btn--icon-left flex items-center" aria-label="Add a comment to post - 13 top open-source tools you must use for your next big project in 2025🚀"> <svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" role="img" aria-labelledby="arcv4qoa0tmxse83l4asydnz8jd7xgya" class="crayons-icon"><title id="arcv4qoa0tmxse83l4asydnz8jd7xgya">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> 8<span class="hidden s:inline"> comments</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-2185769" class="c-btn c-btn--icon-alone bookmark-button" data-reactable-id="2185769" data-article-author-id="898740" aria-label="Save post 13 top open-source tools you must use for your next big project in 2025🚀 to reading list" title="Save post 13 top open-source tools you must use for your next big project in 2025🚀 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="2191466" data-content-user-id="1"> <a href="https://dev.to/ben/meme-monday-179k" aria-labelledby="article-link-2191466" class="crayons-story__hidden-navigation-link">Meme Monday</a> <div class="crayons-story__body"> <div class="crayons-story__top"> <div class="crayons-story__meta"> <div class="crayons-story__author-pic"> <a href="/ben" 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%2F1%2Ff451a206-11c8-4e3d-8936-143d0a7e65bb.png" alt="ben profile" class="crayons-avatar__image" loading="lazy" /> </a> </div> <div> <div> <a href="/ben" class="crayons-story__secondary fw-medium m:hidden"> Ben Halpern </a> <div class="profile-preview-card relative mb-4 s:mb-0 fw-medium hidden m:inline-block"> <button id="story-author-preview-trigger-2191466" aria-controls="story-author-preview-content-2191466" class="profile-preview-card__trigger fs-s p-1 -ml-1 -my-2 crayons-btn crayons-btn--ghost" aria-label="Ben Halpern profile details"> Ben Halpern <a style="display: inline;" href="/++"><img alt="Subscriber" class="subscription-icon" src="https://assets.dev.to/assets/subscription-icon-805dfa7ac7dd660f07ed8d654877270825b07a92a03841aa99a1093bd00431b2.png" /></a> </button> <div id="story-author-preview-content-2191466" 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="/ben" 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%2F1%2Ff451a206-11c8-4e3d-8936-143d0a7e65bb.png" class="crayons-avatar__image" alt="" loading="lazy" /> </span> <span class="crayons-link crayons-subtitle-2 mt-5">Ben Halpern</span> </a> </div> <div class="print-hidden"> <button class="crayons-btn follow-action-button whitespace-nowrap follow-user w-100" data-info='{&quot;style&quot;:&quot;full&quot;,&quot;id&quot;:1,&quot;className&quot;:&quot;User&quot;,&quot;name&quot;:&quot;Ben Halpern&quot;}'> Follow </button> </div> <div class="author-preview-metadata-container" data-author-id="1"></div> </div> </div> </div> </div> <a href="https://dev.to/ben/meme-monday-179k" class="crayons-story__tertiary fs-xs"><time datetime="2025-01-06T14:35:26Z">Jan 6</time><span class="time-ago-indicator-initial-placeholder" data-seconds="1736174126"></span></a> </div> </div> </div> <div class="crayons-story__indention"> <h2 class="crayons-story__title"> <a href="https://dev.to/ben/meme-monday-179k" 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%2F131epp9pfm2yo8bw4dua.png" id="article-link-2191466"> Meme Monday </a> </h2> <div class="crayons-story__tags"> <a class="crayons-tag crayons-tag--filled " style=" --tag-bg: rgba(113, 234, 139, 0.10); --tag-prefix: #71EA8B; --tag-bg-hover: rgba(113, 234, 139, 0.10); --tag-prefix-hover: #71EA8B; " href="/t/discuss"><span class="crayons-tag__prefix">#</span>discuss</a> <a class="crayons-tag crayons-tag--monochrome " style=" --tag-bg: rgba(208, 236, 255, 0.10); --tag-prefix: #D0ECFF; --tag-bg-hover: rgba(208, 236, 255, 0.10); --tag-prefix-hover: #D0ECFF; " href="/t/watercooler"><span class="crayons-tag__prefix">#</span>watercooler</a> <a class="crayons-tag crayons-tag--monochrome " style=" --tag-bg: rgba(246, 41, 140, 0.10); --tag-prefix: #F6298C; --tag-bg-hover: rgba(246, 41, 140, 0.10); --tag-prefix-hover: #F6298C; " href="/t/jokes"><span class="crayons-tag__prefix">#</span>jokes</a> </div> <div class="crayons-story__bottom"> <div class="crayons-story__details"> <a href="https://dev.to/ben/meme-monday-179k" class="crayons-btn crayons-btn--s crayons-btn--ghost crayons-btn--icon-left" data-reaction-count data-reactable-id="2191466" aria-label="Add a comment to post - Meme Monday"> <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/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">19<span class="hidden s:inline"> reactions</span></span> </div> </a> <a href="https://dev.to/ben/meme-monday-179k#comments" class="crayons-btn crayons-btn--s crayons-btn--ghost crayons-btn--icon-left flex items-center" aria-label="Add a comment to post - Meme Monday"> <svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" role="img" aria-labelledby="ah8528wd2bbqcytsshfw589wn0mwidew" class="crayons-icon"><title id="ah8528wd2bbqcytsshfw589wn0mwidew">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> 32<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-2191466" class="c-btn c-btn--icon-alone bookmark-button" data-reactable-id="2191466" data-article-author-id="1" aria-label="Save post Meme Monday to reading list" title="Save post Meme Monday 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="2189549" data-content-user-id="158999"> <a href="https://dev.to/nataliedeweerd/my-ai-predictions-for-2025-b90" aria-labelledby="article-link-2189549" class="crayons-story__hidden-navigation-link">My AI Predictions for 2025</a> <div class="crayons-story__body"> <div class="crayons-story__top"> <div class="crayons-story__meta"> <div class="crayons-story__author-pic"> <a href="/nataliedeweerd" 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%2F158999%2F4d56b44c-b55e-4fa3-8f85-77331779f44b.png" alt="nataliedeweerd profile" class="crayons-avatar__image" loading="lazy" /> </a> </div> <div> <div> <a href="/nataliedeweerd" class="crayons-story__secondary fw-medium m:hidden"> 𝐍𝐚𝐭𝐚𝐥𝐢𝐞 𝐝𝐞 𝐖𝐞𝐞𝐫𝐝 </a> <div class="profile-preview-card relative mb-4 s:mb-0 fw-medium hidden m:inline-block"> <button id="story-author-preview-trigger-2189549" aria-controls="story-author-preview-content-2189549" class="profile-preview-card__trigger fs-s p-1 -ml-1 -my-2 crayons-btn crayons-btn--ghost" aria-label="𝐍𝐚𝐭𝐚𝐥𝐢𝐞 𝐝𝐞 𝐖𝐞𝐞𝐫𝐝 profile details"> 𝐍𝐚𝐭𝐚𝐥𝐢𝐞 𝐝𝐞 𝐖𝐞𝐞𝐫𝐝 </button> <div id="story-author-preview-content-2189549" 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="/nataliedeweerd" 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%2F158999%2F4d56b44c-b55e-4fa3-8f85-77331779f44b.png" class="crayons-avatar__image" alt="" loading="lazy" /> </span> <span class="crayons-link crayons-subtitle-2 mt-5">𝐍𝐚𝐭𝐚𝐥𝐢𝐞 𝐝𝐞 𝐖𝐞𝐞𝐫𝐝</span> </a> </div> <div class="print-hidden"> <button class="crayons-btn follow-action-button whitespace-nowrap follow-user w-100" data-info='{&quot;style&quot;:&quot;full&quot;,&quot;id&quot;:158999,&quot;className&quot;:&quot;User&quot;,&quot;name&quot;:&quot;𝐍𝐚𝐭𝐚𝐥𝐢𝐞 𝐝𝐞 𝐖𝐞𝐞𝐫𝐝&quot;}'> Follow </button> </div> <div class="author-preview-metadata-container" data-author-id="158999"></div> </div> </div> </div> </div> <a href="https://dev.to/nataliedeweerd/my-ai-predictions-for-2025-b90" class="crayons-story__tertiary fs-xs"><time datetime="2025-01-06T17:36:59Z">Jan 6</time><span class="time-ago-indicator-initial-placeholder" data-seconds="1736185019"></span></a> </div> </div> </div> <div class="crayons-story__indention"> <h2 class="crayons-story__title"> <a href="https://dev.to/nataliedeweerd/my-ai-predictions-for-2025-b90" 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%2Fc2uvahabxpt2smfjycr4.png" id="article-link-2189549"> My AI Predictions for 2025 </a> </h2> <div class="crayons-story__tags"> <a class="crayons-tag crayons-tag--monochrome " style=" --tag-bg: rgba(132, 206, 249, 0.10); --tag-prefix: #84CEF9; --tag-bg-hover: rgba(132, 206, 249, 0.10); --tag-prefix-hover: #84CEF9; " href="/t/devchallenge"><span class="crayons-tag__prefix">#</span>devchallenge</a> <a class="crayons-tag crayons-tag--monochrome " style=" --tag-bg: rgba(65, 65, 253, 0.10); --tag-prefix: #4141FD; --tag-bg-hover: rgba(65, 65, 253, 0.10); --tag-prefix-hover: #4141FD; " href="/t/newyearchallenge"><span class="crayons-tag__prefix">#</span>newyearchallenge</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/future"><span class="crayons-tag__prefix">#</span>future</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> </div> <div class="crayons-story__bottom"> <div class="crayons-story__details"> <a href="https://dev.to/nataliedeweerd/my-ai-predictions-for-2025-b90" class="crayons-btn crayons-btn--s crayons-btn--ghost crayons-btn--icon-left" data-reaction-count data-reactable-id="2189549" aria-label="Add a comment to post - My AI Predictions for 2025"> <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/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">5<span class="hidden s:inline"> reactions</span></span> </div> </a> <a href="https://dev.to/nataliedeweerd/my-ai-predictions-for-2025-b90#comments" class="crayons-btn crayons-btn--s crayons-btn--ghost crayons-btn--icon-left flex items-center" aria-label="Add a comment to post - My AI Predictions for 2025"> <svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" role="img" aria-labelledby="a9kellh8nxgbmjqjsq55fbbj0yqadjq2" class="crayons-icon"><title id="a9kellh8nxgbmjqjsq55fbbj0yqadjq2">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> 5<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-2189549" class="c-btn c-btn--icon-alone bookmark-button" data-reactable-id="2189549" data-article-author-id="158999" aria-label="Save post My AI Predictions for 2025 to reading list" title="Save post My AI Predictions for 2025 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="2192817" data-content-user-id="126345"> <a href="https://dev.to/highcenburg/whats-your-tech-stack-56oi" aria-labelledby="article-link-2192817" class="crayons-story__hidden-navigation-link">What&#39;s your tech stack?</a> <div class="crayons-story__body"> <div class="crayons-story__top"> <div class="crayons-story__meta"> <div class="crayons-story__author-pic"> <a href="/highcenburg" 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%2F126345%2F62810e43-bfa7-45ad-bef5-60961fc22f0c.JPEG" alt="highcenburg profile" class="crayons-avatar__image" loading="lazy" /> </a> </div> <div> <div> <a href="/highcenburg" class="crayons-story__secondary fw-medium m:hidden"> Vicente G. Reyes </a> <div class="profile-preview-card relative mb-4 s:mb-0 fw-medium hidden m:inline-block"> <button id="story-author-preview-trigger-2192817" aria-controls="story-author-preview-content-2192817" class="profile-preview-card__trigger fs-s p-1 -ml-1 -my-2 crayons-btn crayons-btn--ghost" aria-label="Vicente G. Reyes profile details"> Vicente G. Reyes </button> <div id="story-author-preview-content-2192817" 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="/highcenburg" 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%2F126345%2F62810e43-bfa7-45ad-bef5-60961fc22f0c.JPEG" class="crayons-avatar__image" alt="" loading="lazy" /> </span> <span class="crayons-link crayons-subtitle-2 mt-5">Vicente G. Reyes</span> </a> </div> <div class="print-hidden"> <button class="crayons-btn follow-action-button whitespace-nowrap follow-user w-100" data-info='{&quot;style&quot;:&quot;full&quot;,&quot;id&quot;:126345,&quot;className&quot;:&quot;User&quot;,&quot;name&quot;:&quot;Vicente G. Reyes&quot;}'> Follow </button> </div> <div class="author-preview-metadata-container" data-author-id="126345"></div> </div> </div> </div> </div> <a href="https://dev.to/highcenburg/whats-your-tech-stack-56oi" class="crayons-story__tertiary fs-xs"><time datetime="2025-01-07T09:50:06Z">Jan 7</time><span class="time-ago-indicator-initial-placeholder" data-seconds="1736243406"></span></a> </div> </div> </div> <div class="crayons-story__indention"> <h2 class="crayons-story__title"> <a href="https://dev.to/highcenburg/whats-your-tech-stack-56oi" 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%2F2czibvmpjb2gq7ogy5r0.jpg" id="article-link-2192817"> What&#39;s your tech stack? </a> </h2> <div class="crayons-story__tags"> <a class="crayons-tag crayons-tag--filled " style=" --tag-bg: rgba(113, 234, 139, 0.10); --tag-prefix: #71EA8B; --tag-bg-hover: rgba(113, 234, 139, 0.10); --tag-prefix-hover: #71EA8B; " href="/t/discuss"><span class="crayons-tag__prefix">#</span>discuss</a> <a class="crayons-tag crayons-tag--monochrome " style=" --tag-bg: rgba(208, 236, 255, 0.10); --tag-prefix: #D0ECFF; --tag-bg-hover: rgba(208, 236, 255, 0.10); --tag-prefix-hover: #D0ECFF; " href="/t/watercooler"><span class="crayons-tag__prefix">#</span>watercooler</a> </div> <div class="crayons-story__bottom"> <div class="crayons-story__details"> <a href="https://dev.to/highcenburg/whats-your-tech-stack-56oi#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&#39;s your tech stack?"> <svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" role="img" aria-labelledby="a4c06pl280si6qyxbdowjr8yjvdvhhos" class="crayons-icon"><title id="a4c06pl280si6qyxbdowjr8yjvdvhhos">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> 4<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-2192817" class="c-btn c-btn--icon-alone bookmark-button" data-reactable-id="2192817" data-article-author-id="126345" aria-label="Save post What&#39;s your tech stack? to reading list" title="Save post What&#39;s your tech stack? 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="2192910" data-content-user-id="126345"> <a href="https://dev.to/highcenburg/building-a-contact-form-backend-with-fastapi-and-discord-integration-12c8" aria-labelledby="article-link-2192910" class="crayons-story__hidden-navigation-link">Building a Contact Form Backend with FastAPI and Discord Integration</a> <div class="crayons-story__body"> <div class="crayons-story__top"> <div class="crayons-story__meta"> <div class="crayons-story__author-pic"> <a href="/highcenburg" 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%2F126345%2F62810e43-bfa7-45ad-bef5-60961fc22f0c.JPEG" alt="highcenburg profile" class="crayons-avatar__image" loading="lazy" /> </a> </div> <div> <div> <a href="/highcenburg" class="crayons-story__secondary fw-medium m:hidden"> Vicente G. Reyes </a> <div class="profile-preview-card relative mb-4 s:mb-0 fw-medium hidden m:inline-block"> <button id="story-author-preview-trigger-2192910" aria-controls="story-author-preview-content-2192910" class="profile-preview-card__trigger fs-s p-1 -ml-1 -my-2 crayons-btn crayons-btn--ghost" aria-label="Vicente G. Reyes profile details"> Vicente G. Reyes </button> <div id="story-author-preview-content-2192910" 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="/highcenburg" 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%2F126345%2F62810e43-bfa7-45ad-bef5-60961fc22f0c.JPEG" class="crayons-avatar__image" alt="" loading="lazy" /> </span> <span class="crayons-link crayons-subtitle-2 mt-5">Vicente G. Reyes</span> </a> </div> <div class="print-hidden"> <button class="crayons-btn follow-action-button whitespace-nowrap follow-user w-100" data-info='{&quot;style&quot;:&quot;full&quot;,&quot;id&quot;:126345,&quot;className&quot;:&quot;User&quot;,&quot;name&quot;:&quot;Vicente G. Reyes&quot;}'> Follow </button> </div> <div class="author-preview-metadata-container" data-author-id="126345"></div> </div> </div> </div> </div> <a href="https://dev.to/highcenburg/building-a-contact-form-backend-with-fastapi-and-discord-integration-12c8" class="crayons-story__tertiary fs-xs"><time datetime="2025-01-07T10:47:08Z">Jan 7</time><span class="time-ago-indicator-initial-placeholder" data-seconds="1736246828"></span></a> </div> </div> </div> <div class="crayons-story__indention"> <h2 class="crayons-story__title"> <a href="https://dev.to/highcenburg/building-a-contact-form-backend-with-fastapi-and-discord-integration-12c8" 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%2Fo2mt8rik1omuxfo3f039.jpg" id="article-link-2192910"> Building a Contact Form Backend with FastAPI and Discord Integration </a> </h2> <div class="crayons-story__tags"> <a class="crayons-tag crayons-tag--monochrome " style=" --tag-bg: rgba(30, 56, 187, 0.10); --tag-prefix: #1E38BB; --tag-bg-hover: rgba(30, 56, 187, 0.10); --tag-prefix-hover: #1E38BB; " href="/t/python"><span class="crayons-tag__prefix">#</span>python</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(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="https://dev.to/highcenburg/building-a-contact-form-backend-with-fastapi-and-discord-integration-12c8" class="crayons-btn crayons-btn--s crayons-btn--ghost crayons-btn--icon-left" data-reaction-count data-reactable-id="2192910" aria-label="Add a comment to post - Building a Contact Form Backend with FastAPI and Discord Integration"> <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">5<span class="hidden s:inline"> reactions</span></span> </div> </a> <a href="https://dev.to/highcenburg/building-a-contact-form-backend-with-fastapi-and-discord-integration-12c8#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 a Contact Form Backend with FastAPI and Discord Integration"> <svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" role="img" aria-labelledby="astv3u0s8p7wsl06590ylmufof05xl5e" class="crayons-icon"><title id="astv3u0s8p7wsl06590ylmufof05xl5e">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-2192910" class="c-btn c-btn--icon-alone bookmark-button" data-reactable-id="2192910" data-article-author-id="126345" aria-label="Save post Building a Contact Form Backend with FastAPI and Discord Integration to reading list" title="Save post Building a Contact Form Backend with FastAPI and Discord Integration 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="2191078" data-content-user-id="288063"> <a href="https://dev.to/alexanderop/the-future-of-work-in-the-ai-age-three-possible-paths-4j6a" aria-labelledby="article-link-2191078" class="crayons-story__hidden-navigation-link">The Future of Work in the AI Age: Three Possible Paths</a> <div class="crayons-story__body"> <div class="crayons-story__top"> <div class="crayons-story__meta"> <div class="crayons-story__author-pic"> <a href="/alexanderop" 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%2F288063%2F515c37ba-8c94-4991-a41e-966461463bbb.jpg" alt="alexanderop profile" class="crayons-avatar__image" loading="lazy" /> </a> </div> <div> <div> <a href="/alexanderop" class="crayons-story__secondary fw-medium m:hidden"> Alexander Opalic </a> <div class="profile-preview-card relative mb-4 s:mb-0 fw-medium hidden m:inline-block"> <button id="story-author-preview-trigger-2191078" aria-controls="story-author-preview-content-2191078" class="profile-preview-card__trigger fs-s p-1 -ml-1 -my-2 crayons-btn crayons-btn--ghost" aria-label="Alexander Opalic profile details"> Alexander Opalic </button> <div id="story-author-preview-content-2191078" 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="/alexanderop" 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%2F288063%2F515c37ba-8c94-4991-a41e-966461463bbb.jpg" class="crayons-avatar__image" alt="" loading="lazy" /> </span> <span class="crayons-link crayons-subtitle-2 mt-5">Alexander Opalic</span> </a> </div> <div class="print-hidden"> <button class="crayons-btn follow-action-button whitespace-nowrap follow-user w-100" data-info='{&quot;style&quot;:&quot;full&quot;,&quot;id&quot;:288063,&quot;className&quot;:&quot;User&quot;,&quot;name&quot;:&quot;Alexander Opalic&quot;}'> Follow </button> </div> <div class="author-preview-metadata-container" data-author-id="288063"></div> </div> </div> </div> </div> <a href="https://dev.to/alexanderop/the-future-of-work-in-the-ai-age-three-possible-paths-4j6a" class="crayons-story__tertiary fs-xs"><time datetime="2025-01-06T10:57:29Z">Jan 6</time><span class="time-ago-indicator-initial-placeholder" data-seconds="1736161049"></span></a> </div> </div> </div> <div class="crayons-story__indention"> <h2 class="crayons-story__title"> <a href="https://dev.to/alexanderop/the-future-of-work-in-the-ai-age-three-possible-paths-4j6a" 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%2Fdi7o084yjrakmddl6psi.png" id="article-link-2191078"> The Future of Work in the AI Age: Three Possible Paths </a> </h2> <div class="crayons-story__tags"> <a class="crayons-tag crayons-tag--monochrome " style=" --tag-bg: rgba(132, 206, 249, 0.10); --tag-prefix: #84CEF9; --tag-bg-hover: rgba(132, 206, 249, 0.10); --tag-prefix-hover: #84CEF9; " href="/t/devchallenge"><span class="crayons-tag__prefix">#</span>devchallenge</a> <a class="crayons-tag crayons-tag--monochrome " style=" --tag-bg: rgba(65, 65, 253, 0.10); --tag-prefix: #4141FD; --tag-bg-hover: rgba(65, 65, 253, 0.10); --tag-prefix-hover: #4141FD; " href="/t/newyearchallenge"><span class="crayons-tag__prefix">#</span>newyearchallenge</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/future"><span class="crayons-tag__prefix">#</span>future</a> </div> <div class="crayons-story__bottom"> <div class="crayons-story__details"> <a href="https://dev.to/alexanderop/the-future-of-work-in-the-ai-age-three-possible-paths-4j6a" class="crayons-btn crayons-btn--s crayons-btn--ghost crayons-btn--icon-left" data-reaction-count data-reactable-id="2191078" aria-label="Add a comment to post - The Future of Work in the AI Age: Three Possible Paths"> <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">19<span class="hidden s:inline"> reactions</span></span> </div> </a> <a href="https://dev.to/alexanderop/the-future-of-work-in-the-ai-age-three-possible-paths-4j6a#comments" class="crayons-btn crayons-btn--s crayons-btn--ghost crayons-btn--icon-left flex items-center" aria-label="Add a comment to post - The Future of Work in the AI Age: Three Possible Paths"> <svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" role="img" aria-labelledby="abnbzinolwaxoc65imksyjdcrhygk3nt" class="crayons-icon"><title id="abnbzinolwaxoc65imksyjdcrhygk3nt">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-2191078" class="c-btn c-btn--icon-alone bookmark-button" data-reactable-id="2191078" data-article-author-id="288063" aria-label="Save post The Future of Work in the AI Age: Three Possible Paths to reading list" title="Save post The Future of Work in the AI Age: Three Possible Paths 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="2192019" data-content-user-id="18899"> <a href="https://dev.to/pancy/how-to-set-better-2025-goals-ocg" aria-labelledby="article-link-2192019" class="crayons-story__hidden-navigation-link">How to set better 2025 Goals</a> <div class="crayons-story__body"> <div class="crayons-story__top"> <div class="crayons-story__meta"> <div class="crayons-story__author-pic"> <a href="/pancy" 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%2F18899%2Fc0aa0964-3c20-46a6-a9a4-a541ae3a9554.jpeg" alt="pancy profile" class="crayons-avatar__image" loading="lazy" /> </a> </div> <div> <div> <a href="/pancy" class="crayons-story__secondary fw-medium m:hidden"> Pan Chasinga </a> <div class="profile-preview-card relative mb-4 s:mb-0 fw-medium hidden m:inline-block"> <button id="story-author-preview-trigger-2192019" aria-controls="story-author-preview-content-2192019" class="profile-preview-card__trigger fs-s p-1 -ml-1 -my-2 crayons-btn crayons-btn--ghost" aria-label="Pan Chasinga profile details"> Pan Chasinga </button> <div id="story-author-preview-content-2192019" 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="/pancy" 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%2F18899%2Fc0aa0964-3c20-46a6-a9a4-a541ae3a9554.jpeg" class="crayons-avatar__image" alt="" loading="lazy" /> </span> <span class="crayons-link crayons-subtitle-2 mt-5">Pan Chasinga</span> </a> </div> <div class="print-hidden"> <button class="crayons-btn follow-action-button whitespace-nowrap follow-user w-100" data-info='{&quot;style&quot;:&quot;full&quot;,&quot;id&quot;:18899,&quot;className&quot;:&quot;User&quot;,&quot;name&quot;:&quot;Pan Chasinga&quot;}'> Follow </button> </div> <div class="author-preview-metadata-container" data-author-id="18899"></div> </div> </div> </div> </div> <a href="https://dev.to/pancy/how-to-set-better-2025-goals-ocg" class="crayons-story__tertiary fs-xs"><time datetime="2025-01-06T20:26:58Z">Jan 6</time><span class="time-ago-indicator-initial-placeholder" data-seconds="1736195218"></span></a> </div> </div> </div> <div class="crayons-story__indention"> <h2 class="crayons-story__title"> <a href="https://dev.to/pancy/how-to-set-better-2025-goals-ocg" 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%2Fzvdm3zwl2n8a6m606s7t.jpg" id="article-link-2192019"> How to set better 2025 Goals </a> </h2> <div class="crayons-story__tags"> <a class="crayons-tag crayons-tag--monochrome " style=" --tag-bg: rgba(65, 65, 253, 0.10); --tag-prefix: #4141FD; --tag-bg-hover: rgba(65, 65, 253, 0.10); --tag-prefix-hover: #4141FD; " href="/t/newyearchallenge"><span class="crayons-tag__prefix">#</span>newyearchallenge</a> <a class="crayons-tag crayons-tag--monochrome " style=" --tag-bg: rgba(252, 71, 71, 0.10); --tag-prefix: #FC4747; --tag-bg-hover: rgba(252, 71, 71, 0.10); --tag-prefix-hover: #FC4747; " href="/t/devresolutions2024"><span class="crayons-tag__prefix">#</span>devresolutions2024</a> <a class="crayons-tag crayons-tag--monochrome " style=" --tag-bg: rgba(42, 7, 152, 0.10); --tag-prefix: #2A0798; --tag-bg-hover: rgba(42, 7, 152, 0.10); --tag-prefix-hover: #2A0798; " href="/t/productivity"><span class="crayons-tag__prefix">#</span>productivity</a> </div> <div class="crayons-story__bottom"> <div class="crayons-story__details"> <a href="https://dev.to/pancy/how-to-set-better-2025-goals-ocg" class="crayons-btn crayons-btn--s crayons-btn--ghost crayons-btn--icon-left" data-reaction-count data-reactable-id="2192019" aria-label="Add a comment to post - How to set better 2025 Goals"> <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/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">5<span class="hidden s:inline"> reactions</span></span> </div> </a> <a href="https://dev.to/pancy/how-to-set-better-2025-goals-ocg#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 set better 2025 Goals"> <svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" role="img" aria-labelledby="anne2copy7ykqli2d2ttmueqdjy07qx1" class="crayons-icon"><title id="anne2copy7ykqli2d2ttmueqdjy07qx1">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-2192019" class="c-btn c-btn--icon-alone bookmark-button" data-reactable-id="2192019" data-article-author-id="18899" aria-label="Save post How to set better 2025 Goals to reading list" title="Save post How to set better 2025 Goals 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="2191457" data-content-user-id="568576"> <a href="https://dev.to/patos/um-ano-de-magalu-cloud-e-ai-48e7" aria-labelledby="article-link-2191457" class="crayons-story__hidden-navigation-link">Um ano de Magalu Cloud, e aí?</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="/patos"> <img alt="patos 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%2F8767%2Fe3d2ac45-d9ee-43db-a773-f02eac97b7c6.png" class="crayons-logo__image" loading="lazy" /> </a> <a href="/lombardidaniel" 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%2F568576%2Fa7b2d24b-f64c-45fb-8caa-0834864bc042.png" alt="lombardidaniel profile" class="crayons-avatar__image" loading="lazy" /> </a> </div> <div> <div> <a href="/lombardidaniel" class="crayons-story__secondary fw-medium m:hidden"> Daniel Lombardi </a> <div class="profile-preview-card relative mb-4 s:mb-0 fw-medium hidden m:inline-block"> <button id="story-author-preview-trigger-2191457" aria-controls="story-author-preview-content-2191457" class="profile-preview-card__trigger fs-s p-1 -ml-1 -my-2 crayons-btn crayons-btn--ghost" aria-label="Daniel Lombardi profile details"> Daniel Lombardi </button> <div id="story-author-preview-content-2191457" 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="/lombardidaniel" 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%2F568576%2Fa7b2d24b-f64c-45fb-8caa-0834864bc042.png" class="crayons-avatar__image" alt="" loading="lazy" /> </span> <span class="crayons-link crayons-subtitle-2 mt-5">Daniel Lombardi</span> </a> </div> <div class="print-hidden"> <button class="crayons-btn follow-action-button whitespace-nowrap follow-user w-100" data-info='{&quot;style&quot;:&quot;full&quot;,&quot;id&quot;:568576,&quot;className&quot;:&quot;User&quot;,&quot;name&quot;:&quot;Daniel Lombardi&quot;}'> Follow </button> </div> <div class="author-preview-metadata-container" data-author-id="568576"></div> </div> </div> </div> <span> <span class="crayons-story__tertiary fw-normal"> for </span><a href="/patos" class="crayons-story__secondary fw-medium">patos</a> </span> </div> <a href="https://dev.to/patos/um-ano-de-magalu-cloud-e-ai-48e7" class="crayons-story__tertiary fs-xs"><time datetime="2025-01-07T12:18:30Z">Jan 7</time><span class="time-ago-indicator-initial-placeholder" data-seconds="1736252310"></span></a> </div> </div> </div> <div class="crayons-story__indention"> <h2 class="crayons-story__title"> <a href="https://dev.to/patos/um-ano-de-magalu-cloud-e-ai-48e7" 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%2F3heh19juxxxqwpsmto5u.png" id="article-link-2191457"> Um ano de Magalu Cloud, e aí? </a> </h2> <div class="crayons-story__tags"> <a class="crayons-tag crayons-tag--monochrome " style=" --tag-bg: rgba(205, 205, 0, 0.10); --tag-prefix: #cdcd00; --tag-bg-hover: rgba(205, 205, 0, 0.10); --tag-prefix-hover: #cdcd00; " href="/t/braziliandevs"><span class="crayons-tag__prefix">#</span>braziliandevs</a> <a class="crayons-tag crayons-tag--monochrome " style=" --tag-bg: rgba(255, 153, 0, 0.10); --tag-prefix: #FF9900; --tag-bg-hover: rgba(255, 153, 0, 0.10); --tag-prefix-hover: #FF9900; " href="/t/cloud"><span class="crayons-tag__prefix">#</span>cloud</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/magalucloud"><span class="crayons-tag__prefix">#</span>magalucloud</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/mgc"><span class="crayons-tag__prefix">#</span>mgc</a> </div> <div class="crayons-story__bottom"> <div class="crayons-story__details"> <a href="https://dev.to/patos/um-ano-de-magalu-cloud-e-ai-48e7" class="crayons-btn crayons-btn--s crayons-btn--ghost crayons-btn--icon-left" data-reaction-count data-reactable-id="2191457" aria-label="Add a comment to post - Um ano de Magalu Cloud, e aí?"> <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">7<span class="hidden s:inline"> reactions</span></span> </div> </a> <a href="https://dev.to/patos/um-ano-de-magalu-cloud-e-ai-48e7#comments" class="crayons-btn crayons-btn--s crayons-btn--ghost crayons-btn--icon-left flex items-center" aria-label="Add a comment to post - Um ano de Magalu Cloud, e aí?"> <svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" role="img" aria-labelledby="a77pvdbsx364duhbtzsw0oqhm69xoa3q" class="crayons-icon"><title id="a77pvdbsx364duhbtzsw0oqhm69xoa3q">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-2191457" class="c-btn c-btn--icon-alone bookmark-button" data-reactable-id="2191457" data-article-author-id="568576" aria-label="Save post Um ano de Magalu Cloud, e aí? to reading list" title="Save post Um ano de Magalu Cloud, e aí? 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="2193028" data-content-user-id="1823324"> <a href="https://dev.to/apilover/top-10-websocket-testing-tools-for-real-time-applications-2025-2i8" aria-labelledby="article-link-2193028" class="crayons-story__hidden-navigation-link">Top 10 WebSocket Testing Tools for Real-Time Applications 2025</a> <div class="crayons-story__body"> <div class="crayons-story__top"> <div class="crayons-story__meta"> <div class="crayons-story__author-pic"> <a href="/apilover" 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%2F1823324%2Fa1099364-7e04-4aec-990e-c38b9182db4f.jpg" alt="apilover profile" class="crayons-avatar__image" loading="lazy" /> </a> </div> <div> <div> <a href="/apilover" class="crayons-story__secondary fw-medium m:hidden"> Wanda </a> <div class="profile-preview-card relative mb-4 s:mb-0 fw-medium hidden m:inline-block"> <button id="story-author-preview-trigger-2193028" aria-controls="story-author-preview-content-2193028" class="profile-preview-card__trigger fs-s p-1 -ml-1 -my-2 crayons-btn crayons-btn--ghost" aria-label="Wanda profile details"> Wanda </button> <div id="story-author-preview-content-2193028" 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="/apilover" 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%2F1823324%2Fa1099364-7e04-4aec-990e-c38b9182db4f.jpg" class="crayons-avatar__image" alt="" loading="lazy" /> </span> <span class="crayons-link crayons-subtitle-2 mt-5">Wanda</span> </a> </div> <div class="print-hidden"> <button class="crayons-btn follow-action-button whitespace-nowrap follow-user w-100" data-info='{&quot;style&quot;:&quot;full&quot;,&quot;id&quot;:1823324,&quot;className&quot;:&quot;User&quot;,&quot;name&quot;:&quot;Wanda&quot;}'> Follow </button> </div> <div class="author-preview-metadata-container" data-author-id="1823324"></div> </div> </div> </div> </div> <a href="https://dev.to/apilover/top-10-websocket-testing-tools-for-real-time-applications-2025-2i8" class="crayons-story__tertiary fs-xs"><time datetime="2025-01-07T11:50:31Z">Jan 7</time><span class="time-ago-indicator-initial-placeholder" data-seconds="1736250631"></span></a> </div> </div> </div> <div class="crayons-story__indention"> <h2 class="crayons-story__title"> <a href="https://dev.to/apilover/top-10-websocket-testing-tools-for-real-time-applications-2025-2i8" data-preload-image="" id="article-link-2193028"> Top 10 WebSocket Testing Tools for Real-Time Applications 2025 </a> </h2> <div class="crayons-story__tags"> </div> <div class="crayons-story__bottom"> <div class="crayons-story__details"> <a href="https://dev.to/apilover/top-10-websocket-testing-tools-for-real-time-applications-2025-2i8" class="crayons-btn crayons-btn--s crayons-btn--ghost crayons-btn--icon-left" data-reaction-count data-reactable-id="2193028" aria-label="Add a comment to post - Top 10 WebSocket Testing Tools for Real-Time Applications 2025"> <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">5<span class="hidden s:inline"> reactions</span></span> </div> </a> <a href="https://dev.to/apilover/top-10-websocket-testing-tools-for-real-time-applications-2025-2i8#comments" class="crayons-btn crayons-btn--s crayons-btn--ghost crayons-btn--icon-left flex items-center" aria-label="Add a comment to post - Top 10 WebSocket Testing Tools for Real-Time Applications 2025"> <svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" role="img" aria-labelledby="a3166ffm2jh7n8pevd48f8mdot5xg4js" class="crayons-icon"><title id="a3166ffm2jh7n8pevd48f8mdot5xg4js">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-2193028" class="c-btn c-btn--icon-alone bookmark-button" data-reactable-id="2193028" data-article-author-id="1823324" aria-label="Save post Top 10 WebSocket Testing Tools for Real-Time Applications 2025 to reading list" title="Save post Top 10 WebSocket Testing Tools for Real-Time Applications 2025 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="2193016" data-content-user-id="981638"> <a href="https://dev.to/respect17/-lets-start-2025-strong-how-to-achieve-more-as-a-developer-this-yea-5g44" aria-labelledby="article-link-2193016" class="crayons-story__hidden-navigation-link">Let&#39;s Start 2025 Strong: How to Achieve More as a Developer This Yea</a> <div class="crayons-story__body"> <div class="crayons-story__top"> <div class="crayons-story__meta"> <div class="crayons-story__author-pic"> <a href="/respect17" 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%2F981638%2Fe955e6f6-c04a-4341-b6cb-ce5287cf75e7.jpeg" alt="respect17 profile" class="crayons-avatar__image" loading="lazy" /> </a> </div> <div> <div> <a href="/respect17" class="crayons-story__secondary fw-medium m:hidden"> Kudzai Murimi </a> <div class="profile-preview-card relative mb-4 s:mb-0 fw-medium hidden m:inline-block"> <button id="story-author-preview-trigger-2193016" aria-controls="story-author-preview-content-2193016" class="profile-preview-card__trigger fs-s p-1 -ml-1 -my-2 crayons-btn crayons-btn--ghost" aria-label="Kudzai Murimi profile details"> Kudzai Murimi </button> <div id="story-author-preview-content-2193016" 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="/respect17" 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%2F981638%2Fe955e6f6-c04a-4341-b6cb-ce5287cf75e7.jpeg" class="crayons-avatar__image" alt="" loading="lazy" /> </span> <span class="crayons-link crayons-subtitle-2 mt-5">Kudzai Murimi</span> </a> </div> <div class="print-hidden"> <button class="crayons-btn follow-action-button whitespace-nowrap follow-user w-100" data-info='{&quot;style&quot;:&quot;full&quot;,&quot;id&quot;:981638,&quot;className&quot;:&quot;User&quot;,&quot;name&quot;:&quot;Kudzai Murimi&quot;}'> Follow </button> </div> <div class="author-preview-metadata-container" data-author-id="981638"></div> </div> </div> </div> </div> <a href="https://dev.to/respect17/-lets-start-2025-strong-how-to-achieve-more-as-a-developer-this-yea-5g44" class="crayons-story__tertiary fs-xs"><time datetime="2025-01-07T11:41:42Z">Jan 7</time><span class="time-ago-indicator-initial-placeholder" data-seconds="1736250102"></span></a> </div> </div> </div> <div class="crayons-story__indention"> <h2 class="crayons-story__title"> <a href="https://dev.to/respect17/-lets-start-2025-strong-how-to-achieve-more-as-a-developer-this-yea-5g44" 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%2Fnwxm31zk47rx2ajgdgqz.png" id="article-link-2193016"> Let&#39;s Start 2025 Strong: How to Achieve More as a Developer This Yea </a> </h2> <div class="crayons-story__tags"> </div> <div class="crayons-story__bottom"> <div class="crayons-story__details"> <a href="https://dev.to/respect17/-lets-start-2025-strong-how-to-achieve-more-as-a-developer-this-yea-5g44#comments" class="crayons-btn crayons-btn--s crayons-btn--ghost crayons-btn--icon-left flex items-center" aria-label="Add a comment to post - Let&#39;s Start 2025 Strong: How to Achieve More as a Developer This Yea"> <svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" role="img" aria-labelledby="akc6s87f3drc6gkz1vhbpjhuujo5umen" class="crayons-icon"><title id="akc6s87f3drc6gkz1vhbpjhuujo5umen">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-2193016" class="c-btn c-btn--icon-alone bookmark-button" data-reactable-id="2193016" data-article-author-id="981638" aria-label="Save post Let&#39;s Start 2025 Strong: How to Achieve More as a Developer This Yea to reading list" title="Save post Let&#39;s Start 2025 Strong: How to Achieve More as a Developer This Yea 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="2192605" data-content-user-id="1971849"> <a href="https://dev.to/nozibul_islam_113b1d5334f/understand-event-loop-in-simple-words-184n" aria-labelledby="article-link-2192605" class="crayons-story__hidden-navigation-link">Understand event loop in simple words!</a> <div class="crayons-story__body"> <div class="crayons-story__top"> <div class="crayons-story__meta"> <div class="crayons-story__author-pic"> <a href="/nozibul_islam_113b1d5334f" 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%2F1971849%2Fe97063c6-1893-40f0-af60-b650acae49cd.png" alt="nozibul_islam_113b1d5334f profile" class="crayons-avatar__image" loading="lazy" /> </a> </div> <div> <div> <a href="/nozibul_islam_113b1d5334f" class="crayons-story__secondary fw-medium m:hidden"> Nozibul Islam </a> <div class="profile-preview-card relative mb-4 s:mb-0 fw-medium hidden m:inline-block"> <button id="story-author-preview-trigger-2192605" aria-controls="story-author-preview-content-2192605" class="profile-preview-card__trigger fs-s p-1 -ml-1 -my-2 crayons-btn crayons-btn--ghost" aria-label="Nozibul Islam profile details"> Nozibul Islam </button> <div id="story-author-preview-content-2192605" 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="/nozibul_islam_113b1d5334f" 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%2F1971849%2Fe97063c6-1893-40f0-af60-b650acae49cd.png" class="crayons-avatar__image" alt="" loading="lazy" /> </span> <span class="crayons-link crayons-subtitle-2 mt-5">Nozibul Islam</span> </a> </div> <div class="print-hidden"> <button class="crayons-btn follow-action-button whitespace-nowrap follow-user w-100" data-info='{&quot;style&quot;:&quot;full&quot;,&quot;id&quot;:1971849,&quot;className&quot;:&quot;User&quot;,&quot;name&quot;:&quot;Nozibul Islam&quot;}'> Follow </button> </div> <div class="author-preview-metadata-container" data-author-id="1971849"></div> </div> </div> </div> </div> <a href="https://dev.to/nozibul_islam_113b1d5334f/understand-event-loop-in-simple-words-184n" class="crayons-story__tertiary fs-xs"><time datetime="2025-01-07T06:46:00Z">Jan 7</time><span class="time-ago-indicator-initial-placeholder" data-seconds="1736232360"></span></a> </div> </div> </div> <div class="crayons-story__indention"> <h2 class="crayons-story__title"> <a href="https://dev.to/nozibul_islam_113b1d5334f/understand-event-loop-in-simple-words-184n" data-preload-image="" id="article-link-2192605"> Understand event loop in simple words! </a> </h2> <div class="crayons-story__tags"> <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(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> <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="https://dev.to/nozibul_islam_113b1d5334f/understand-event-loop-in-simple-words-184n" class="crayons-btn crayons-btn--s crayons-btn--ghost crayons-btn--icon-left" data-reaction-count data-reactable-id="2192605" aria-label="Add a comment to post - Understand event loop in simple words!"> <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">16<span class="hidden s:inline"> reactions</span></span> </div> </a> <a href="https://dev.to/nozibul_islam_113b1d5334f/understand-event-loop-in-simple-words-184n#comments" class="crayons-btn crayons-btn--s crayons-btn--ghost crayons-btn--icon-left flex items-center" aria-label="Add a comment to post - Understand event loop in simple words!"> <svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" role="img" aria-labelledby="a9hqn17iv3gqz2yo5cbelmi0qy192t6o" class="crayons-icon"><title id="a9hqn17iv3gqz2yo5cbelmi0qy192t6o">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-2192605" class="c-btn c-btn--icon-alone bookmark-button" data-reactable-id="2192605" data-article-author-id="1971849" aria-label="Save post Understand event loop in simple words! to reading list" title="Save post Understand event loop in simple words! 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="2193102" data-content-user-id="716305"> <a href="https://dev.to/mshidlov/using-apache-parquet-to-optimize-data-handling-in-a-real-time-ad-exchange-platform-2l37" aria-labelledby="article-link-2193102" class="crayons-story__hidden-navigation-link">Using Apache Parquet to Optimize Data Handling in a Real-Time Ad Exchange Platform</a> <div class="crayons-story__body"> <div class="crayons-story__top"> <div class="crayons-story__meta"> <div class="crayons-story__author-pic"> <a href="/mshidlov" 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%2F716305%2F732221a1-6a11-40ad-bef8-c623598d876b.jpg" alt="mshidlov profile" class="crayons-avatar__image" loading="lazy" /> </a> </div> <div> <div> <a href="/mshidlov" class="crayons-story__secondary fw-medium m:hidden"> Matan Shidlov </a> <div class="profile-preview-card relative mb-4 s:mb-0 fw-medium hidden m:inline-block"> <button id="story-author-preview-trigger-2193102" aria-controls="story-author-preview-content-2193102" class="profile-preview-card__trigger fs-s p-1 -ml-1 -my-2 crayons-btn crayons-btn--ghost" aria-label="Matan Shidlov profile details"> Matan Shidlov </button> <div id="story-author-preview-content-2193102" 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="/mshidlov" 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%2F716305%2F732221a1-6a11-40ad-bef8-c623598d876b.jpg" class="crayons-avatar__image" alt="" loading="lazy" /> </span> <span class="crayons-link crayons-subtitle-2 mt-5">Matan Shidlov</span> </a> </div> <div class="print-hidden"> <button class="crayons-btn follow-action-button whitespace-nowrap follow-user w-100" data-info='{&quot;style&quot;:&quot;full&quot;,&quot;id&quot;:716305,&quot;className&quot;:&quot;User&quot;,&quot;name&quot;:&quot;Matan Shidlov&quot;}'> Follow </button> </div> <div class="author-preview-metadata-container" data-author-id="716305"></div> </div> </div> </div> </div> <a href="https://dev.to/mshidlov/using-apache-parquet-to-optimize-data-handling-in-a-real-time-ad-exchange-platform-2l37" class="crayons-story__tertiary fs-xs"><time datetime="2025-01-07T12:48:12Z">Jan 7</time><span class="time-ago-indicator-initial-placeholder" data-seconds="1736254092"></span></a> </div> </div> </div> <div class="crayons-story__indention"> <h2 class="crayons-story__title"> <a href="https://dev.to/mshidlov/using-apache-parquet-to-optimize-data-handling-in-a-real-time-ad-exchange-platform-2l37" data-preload-image="" id="article-link-2193102"> Using Apache Parquet to Optimize Data Handling in a Real-Time Ad Exchange Platform </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/bigdata"><span class="crayons-tag__prefix">#</span>bigdata</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/dataengineering"><span class="crayons-tag__prefix">#</span>dataengineering</a> <a class="crayons-tag crayons-tag--monochrome " style=" --tag-bg: rgba(0, 153, 153, 0.10); --tag-prefix: #009999; --tag-bg-hover: rgba(0, 153, 153, 0.10); --tag-prefix-hover: #009999; " href="/t/datascience"><span class="crayons-tag__prefix">#</span>datascience</a> <a class="crayons-tag crayons-tag--monochrome " style=" --tag-bg: rgba(229, 255, 227, 0.10); --tag-prefix: #E5FFE3; --tag-bg-hover: rgba(229, 255, 227, 0.10); --tag-prefix-hover: #E5FFE3; " href="/t/machinelearning"><span class="crayons-tag__prefix">#</span>machinelearning</a> </div> <div class="crayons-story__bottom"> <div class="crayons-story__details"> <a href="https://dev.to/mshidlov/using-apache-parquet-to-optimize-data-handling-in-a-real-time-ad-exchange-platform-2l37" class="crayons-btn crayons-btn--s crayons-btn--ghost crayons-btn--icon-left" data-reaction-count data-reactable-id="2193102" aria-label="Add a comment to post - Using Apache Parquet to Optimize Data Handling in a Real-Time Ad Exchange Platform"> <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="https://dev.to/mshidlov/using-apache-parquet-to-optimize-data-handling-in-a-real-time-ad-exchange-platform-2l37#comments" class="crayons-btn crayons-btn--s crayons-btn--ghost crayons-btn--icon-left flex items-center" aria-label="Add a comment to post - Using Apache Parquet to Optimize Data Handling in a Real-Time Ad Exchange Platform"> <svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" role="img" aria-labelledby="as8f6660jjny62iw0v8ogb946li2s5yd" class="crayons-icon"><title id="as8f6660jjny62iw0v8ogb946li2s5yd">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-2193102" class="c-btn c-btn--icon-alone bookmark-button" data-reactable-id="2193102" data-article-author-id="716305" aria-label="Save post Using Apache Parquet to Optimize Data Handling in a Real-Time Ad Exchange Platform to reading list" title="Save post Using Apache Parquet to Optimize Data Handling in a Real-Time Ad Exchange Platform 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="2192786" data-content-user-id="1191782"> <a href="https://dev.to/esproc_spl/this-is-probably-the-most-perfect-programming-for-solving-sql-data-analysis-pain-points-26cd" aria-labelledby="article-link-2192786" class="crayons-story__hidden-navigation-link">This Is Probably the Most Perfect Programming for Solving SQL Data Analysis Pain Points</a> <div class="crayons-story__body"> <div class="crayons-story__top"> <div class="crayons-story__meta"> <div class="crayons-story__author-pic"> <a href="/esproc_spl" 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%2F1191782%2F7fade77f-b998-4a28-b752-8255446502e0.jpg" alt="esproc_spl profile" class="crayons-avatar__image" loading="lazy" /> </a> </div> <div> <div> <a href="/esproc_spl" class="crayons-story__secondary fw-medium m:hidden"> Judy </a> <div class="profile-preview-card relative mb-4 s:mb-0 fw-medium hidden m:inline-block"> <button id="story-author-preview-trigger-2192786" aria-controls="story-author-preview-content-2192786" class="profile-preview-card__trigger fs-s p-1 -ml-1 -my-2 crayons-btn crayons-btn--ghost" aria-label="Judy profile details"> Judy </button> <div id="story-author-preview-content-2192786" 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="/esproc_spl" 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%2F1191782%2F7fade77f-b998-4a28-b752-8255446502e0.jpg" class="crayons-avatar__image" alt="" loading="lazy" /> </span> <span class="crayons-link crayons-subtitle-2 mt-5">Judy</span> </a> </div> <div class="print-hidden"> <button class="crayons-btn follow-action-button whitespace-nowrap follow-user w-100" data-info='{&quot;style&quot;:&quot;full&quot;,&quot;id&quot;:1191782,&quot;className&quot;:&quot;User&quot;,&quot;name&quot;:&quot;Judy&quot;}'> Follow </button> </div> <div class="author-preview-metadata-container" data-author-id="1191782"></div> </div> </div> </div> </div> <a href="https://dev.to/esproc_spl/this-is-probably-the-most-perfect-programming-for-solving-sql-data-analysis-pain-points-26cd" class="crayons-story__tertiary fs-xs"><time datetime="2025-01-07T09:21:59Z">Jan 7</time><span class="time-ago-indicator-initial-placeholder" data-seconds="1736241719"></span></a> </div> </div> </div> <div class="crayons-story__indention"> <h2 class="crayons-story__title"> <a href="https://dev.to/esproc_spl/this-is-probably-the-most-perfect-programming-for-solving-sql-data-analysis-pain-points-26cd" data-preload-image="" id="article-link-2192786"> This Is Probably the Most Perfect Programming for Solving SQL Data Analysis Pain Points </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(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(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(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="https://dev.to/esproc_spl/this-is-probably-the-most-perfect-programming-for-solving-sql-data-analysis-pain-points-26cd" class="crayons-btn crayons-btn--s crayons-btn--ghost crayons-btn--icon-left" data-reaction-count data-reactable-id="2192786" aria-label="Add a comment to post - This Is Probably the Most Perfect Programming for Solving SQL Data Analysis Pain Points"> <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">5<span class="hidden s:inline"> reactions</span></span> </div> </a> <a href="https://dev.to/esproc_spl/this-is-probably-the-most-perfect-programming-for-solving-sql-data-analysis-pain-points-26cd#comments" class="crayons-btn crayons-btn--s crayons-btn--ghost crayons-btn--icon-left flex items-center" aria-label="Add a comment to post - This Is Probably the Most Perfect Programming for Solving SQL Data Analysis Pain Points"> <svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" role="img" aria-labelledby="ambol34am2nztahme52ishga6n5zeicu" class="crayons-icon"><title id="ambol34am2nztahme52ishga6n5zeicu">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-2192786" class="c-btn c-btn--icon-alone bookmark-button" data-reactable-id="2192786" data-article-author-id="1191782" aria-label="Save post This Is Probably the Most Perfect Programming for Solving SQL Data Analysis Pain Points to reading list" title="Save post This Is Probably the Most Perfect Programming for Solving SQL Data Analysis Pain Points 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="2193056" data-content-user-id="1877322"> <a href="https://dev.to/devjordan/building-type-safe-apis-integrating-nestjs-with-prisma-and-typescript-3dgk" aria-labelledby="article-link-2193056" class="crayons-story__hidden-navigation-link">Building Type-Safe APIs: Integrating NestJS with Prisma and TypeScript</a> <div class="crayons-story__body"> <div class="crayons-story__top"> <div class="crayons-story__meta"> <div class="crayons-story__author-pic"> <a href="/devjordan" 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%2F1877322%2Fa287fb79-5a17-4e08-90ea-da8d713fbc75.jpg" alt="devjordan profile" class="crayons-avatar__image" loading="lazy" /> </a> </div> <div> <div> <a href="/devjordan" class="crayons-story__secondary fw-medium m:hidden"> jordan wilfry </a> <div class="profile-preview-card relative mb-4 s:mb-0 fw-medium hidden m:inline-block"> <button id="story-author-preview-trigger-2193056" aria-controls="story-author-preview-content-2193056" class="profile-preview-card__trigger fs-s p-1 -ml-1 -my-2 crayons-btn crayons-btn--ghost" aria-label="jordan wilfry profile details"> jordan wilfry </button> <div id="story-author-preview-content-2193056" 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="/devjordan" 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%2F1877322%2Fa287fb79-5a17-4e08-90ea-da8d713fbc75.jpg" class="crayons-avatar__image" alt="" loading="lazy" /> </span> <span class="crayons-link crayons-subtitle-2 mt-5">jordan wilfry</span> </a> </div> <div class="print-hidden"> <button class="crayons-btn follow-action-button whitespace-nowrap follow-user w-100" data-info='{&quot;style&quot;:&quot;full&quot;,&quot;id&quot;:1877322,&quot;className&quot;:&quot;User&quot;,&quot;name&quot;:&quot;jordan wilfry&quot;}'> Follow </button> </div> <div class="author-preview-metadata-container" data-author-id="1877322"></div> </div> </div> </div> </div> <a href="https://dev.to/devjordan/building-type-safe-apis-integrating-nestjs-with-prisma-and-typescript-3dgk" class="crayons-story__tertiary fs-xs"><time datetime="2025-01-07T12:10:05Z">Jan 7</time><span class="time-ago-indicator-initial-placeholder" data-seconds="1736251805"></span></a> </div> </div> </div> <div class="crayons-story__indention"> <h2 class="crayons-story__title"> <a href="https://dev.to/devjordan/building-type-safe-apis-integrating-nestjs-with-prisma-and-typescript-3dgk" 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%2F0jvzlnld48wnjtaxonbd.jpg" id="article-link-2193056"> Building Type-Safe APIs: Integrating NestJS with Prisma and TypeScript </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/nextjs"><span class="crayons-tag__prefix">#</span>nextjs</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> <a class="crayons-tag crayons-tag--monochrome " style=" --tag-bg: rgba(35, 74, 132, 0.10); --tag-prefix: #234A84; --tag-bg-hover: rgba(35, 74, 132, 0.10); --tag-prefix-hover: #234A84; " href="/t/typescript"><span class="crayons-tag__prefix">#</span>typescript</a> <a class="crayons-tag crayons-tag--monochrome " style=" --tag-bg: rgba(76, 81, 191, 0.10); --tag-prefix: #4C51BF; --tag-bg-hover: rgba(76, 81, 191, 0.10); --tag-prefix-hover: #4C51BF; " href="/t/prisma"><span class="crayons-tag__prefix">#</span>prisma</a> </div> <div class="crayons-story__bottom"> <div class="crayons-story__details"> <a href="https://dev.to/devjordan/building-type-safe-apis-integrating-nestjs-with-prisma-and-typescript-3dgk" class="crayons-btn crayons-btn--s crayons-btn--ghost crayons-btn--icon-left" data-reaction-count data-reactable-id="2193056" aria-label="Add a comment to post - Building Type-Safe APIs: Integrating NestJS with Prisma and TypeScript"> <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/exploding-head-daceb38d627e6ae9b730f36a1e390fca556a4289d5a41abb2c35068ad3e2c4b5.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="https://dev.to/devjordan/building-type-safe-apis-integrating-nestjs-with-prisma-and-typescript-3dgk#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 Type-Safe APIs: Integrating NestJS with Prisma and TypeScript"> <svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" role="img" aria-labelledby="aa9jxi2goyttd4zg29gug28zmacdbr9t" class="crayons-icon"><title id="aa9jxi2goyttd4zg29gug28zmacdbr9t">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-2193056" class="c-btn c-btn--icon-alone bookmark-button" data-reactable-id="2193056" data-article-author-id="1877322" aria-label="Save post Building Type-Safe APIs: Integrating NestJS with Prisma and TypeScript to reading list" title="Save post Building Type-Safe APIs: Integrating NestJS with Prisma and TypeScript 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="2192931" data-content-user-id="2351622"> <a href="https://dev.to/auyeungdavid_2847435260/microsoft-certified-azure-administrator-associate-exam-az-104-lab-preparation-5-azure-disk-5268" aria-labelledby="article-link-2192931" class="crayons-story__hidden-navigation-link">Microsoft Certified Azure Administrator Associate Exam (AZ-104) Lab Preparation #5: Azure Disk Encryption</a> <div class="crayons-story__body"> <div class="crayons-story__top"> <div class="crayons-story__meta"> <div class="crayons-story__author-pic"> <a href="/auyeungdavid_2847435260" 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%2F2351622%2Fcb769046-bc63-446f-8640-4da513dd98c9.png" alt="auyeungdavid_2847435260 profile" class="crayons-avatar__image" loading="lazy" /> </a> </div> <div> <div> <a href="/auyeungdavid_2847435260" class="crayons-story__secondary fw-medium m:hidden"> David Au Yeung </a> <div class="profile-preview-card relative mb-4 s:mb-0 fw-medium hidden m:inline-block"> <button id="story-author-preview-trigger-2192931" aria-controls="story-author-preview-content-2192931" class="profile-preview-card__trigger fs-s p-1 -ml-1 -my-2 crayons-btn crayons-btn--ghost" aria-label="David Au Yeung profile details"> David Au Yeung </button> <div id="story-author-preview-content-2192931" 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="/auyeungdavid_2847435260" 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%2F2351622%2Fcb769046-bc63-446f-8640-4da513dd98c9.png" class="crayons-avatar__image" alt="" loading="lazy" /> </span> <span class="crayons-link crayons-subtitle-2 mt-5">David Au Yeung</span> </a> </div> <div class="print-hidden"> <button class="crayons-btn follow-action-button whitespace-nowrap follow-user w-100" data-info='{&quot;style&quot;:&quot;full&quot;,&quot;id&quot;:2351622,&quot;className&quot;:&quot;User&quot;,&quot;name&quot;:&quot;David Au Yeung&quot;}'> Follow </button> </div> <div class="author-preview-metadata-container" data-author-id="2351622"></div> </div> </div> </div> </div> <a href="https://dev.to/auyeungdavid_2847435260/microsoft-certified-azure-administrator-associate-exam-az-104-lab-preparation-5-azure-disk-5268" class="crayons-story__tertiary fs-xs"><time datetime="2025-01-07T11:08:25Z">Jan 7</time><span class="time-ago-indicator-initial-placeholder" data-seconds="1736248105"></span></a> </div> </div> </div> <div class="crayons-story__indention"> <h2 class="crayons-story__title"> <a href="https://dev.to/auyeungdavid_2847435260/microsoft-certified-azure-administrator-associate-exam-az-104-lab-preparation-5-azure-disk-5268" 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%2Fzyxpxpol4i40zqkedy9s.jpeg" id="article-link-2192931"> Microsoft Certified Azure Administrator Associate Exam (AZ-104) Lab Preparation #5: Azure Disk Encryption </a> </h2> <div class="crayons-story__tags"> <a class="crayons-tag crayons-tag--monochrome " style=" --tag-bg: rgba(0, 127, 255, 0.10); --tag-prefix: #007fff; --tag-bg-hover: rgba(0, 127, 255, 0.10); --tag-prefix-hover: #007fff; " href="/t/azure"><span class="crayons-tag__prefix">#</span>azure</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/exam"><span class="crayons-tag__prefix">#</span>exam</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/az104"><span class="crayons-tag__prefix">#</span>az104</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/encryption"><span class="crayons-tag__prefix">#</span>encryption</a> </div> <div class="crayons-story__bottom"> <div class="crayons-story__details"> <a href="https://dev.to/auyeungdavid_2847435260/microsoft-certified-azure-administrator-associate-exam-az-104-lab-preparation-5-azure-disk-5268" class="crayons-btn crayons-btn--s crayons-btn--ghost crayons-btn--icon-left" data-reaction-count data-reactable-id="2192931" aria-label="Add a comment to post - Microsoft Certified Azure Administrator Associate Exam (AZ-104) Lab Preparation #5: Azure Disk Encryption"> <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="https://dev.to/auyeungdavid_2847435260/microsoft-certified-azure-administrator-associate-exam-az-104-lab-preparation-5-azure-disk-5268#comments" class="crayons-btn crayons-btn--s crayons-btn--ghost crayons-btn--icon-left flex items-center" aria-label="Add a comment to post - Microsoft Certified Azure Administrator Associate Exam (AZ-104) Lab Preparation #5: Azure Disk Encryption"> <svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" role="img" aria-labelledby="al9ym82hvx7qevzjgafow9de76swbhiu" class="crayons-icon"><title id="al9ym82hvx7qevzjgafow9de76swbhiu">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-2192931" class="c-btn c-btn--icon-alone bookmark-button" data-reactable-id="2192931" data-article-author-id="2351622" aria-label="Save post Microsoft Certified Azure Administrator Associate Exam (AZ-104) Lab Preparation #5: Azure Disk Encryption to reading list" title="Save post Microsoft Certified Azure Administrator Associate Exam (AZ-104) Lab Preparation #5: Azure Disk Encryption 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="2193068" data-content-user-id="2153584"> <a href="https://dev.to/daky2024/sayonara-2024-1385" aria-labelledby="article-link-2193068" class="crayons-story__hidden-navigation-link">SAYONARA 2024</a> <div class="crayons-story__body"> <div class="crayons-story__top"> <div class="crayons-story__meta"> <div class="crayons-story__author-pic"> <a href="/daky2024" 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%2F2153584%2F299dbbaa-73b1-413c-8902-c6fdf4af2717.jpeg" alt="daky2024 profile" class="crayons-avatar__image" loading="lazy" /> </a> </div> <div> <div> <a href="/daky2024" class="crayons-story__secondary fw-medium m:hidden"> Dakshata </a> <div class="profile-preview-card relative mb-4 s:mb-0 fw-medium hidden m:inline-block"> <button id="story-author-preview-trigger-2193068" aria-controls="story-author-preview-content-2193068" class="profile-preview-card__trigger fs-s p-1 -ml-1 -my-2 crayons-btn crayons-btn--ghost" aria-label="Dakshata profile details"> Dakshata </button> <div id="story-author-preview-content-2193068" 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="/daky2024" 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%2F2153584%2F299dbbaa-73b1-413c-8902-c6fdf4af2717.jpeg" class="crayons-avatar__image" alt="" loading="lazy" /> </span> <span class="crayons-link crayons-subtitle-2 mt-5">Dakshata</span> </a> </div> <div class="print-hidden"> <button class="crayons-btn follow-action-button whitespace-nowrap follow-user w-100" data-info='{&quot;style&quot;:&quot;full&quot;,&quot;id&quot;:2153584,&quot;className&quot;:&quot;User&quot;,&quot;name&quot;:&quot;Dakshata&quot;}'> Follow </button> </div> <div class="author-preview-metadata-container" data-author-id="2153584"></div> </div> </div> </div> </div> <a href="https://dev.to/daky2024/sayonara-2024-1385" class="crayons-story__tertiary fs-xs"><time datetime="2025-01-07T12:20:29Z">Jan 7</time><span class="time-ago-indicator-initial-placeholder" data-seconds="1736252429"></span></a> </div> </div> </div> <div class="crayons-story__indention"> <h2 class="crayons-story__title"> <a href="https://dev.to/daky2024/sayonara-2024-1385" 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%2F6ge3d4lmmkl4xq0etu8v.jpeg" id="article-link-2193068"> SAYONARA 2024 </a> </h2> <div class="crayons-story__tags"> <a class="crayons-tag crayons-tag--monochrome " style=" --tag-bg: rgba(132, 206, 249, 0.10); --tag-prefix: #84CEF9; --tag-bg-hover: rgba(132, 206, 249, 0.10); --tag-prefix-hover: #84CEF9; " href="/t/devchallenge"><span class="crayons-tag__prefix">#</span>devchallenge</a> <a class="crayons-tag crayons-tag--monochrome " style=" --tag-bg: rgba(65, 65, 253, 0.10); --tag-prefix: #4141FD; --tag-bg-hover: rgba(65, 65, 253, 0.10); --tag-prefix-hover: #4141FD; " href="/t/newyearchallenge"><span class="crayons-tag__prefix">#</span>newyearchallenge</a> <a class="crayons-tag crayons-tag--monochrome " style=" --tag-bg: rgba(42, 37, 102, 0.10); --tag-prefix: #2A2566; --tag-bg-hover: rgba(42, 37, 102, 0.10); --tag-prefix-hover: #2A2566; " href="/t/career"><span class="crayons-tag__prefix">#</span>career</a> <a class="crayons-tag crayons-tag--monochrome " style=" --tag-bg: rgba(252, 71, 71, 0.10); --tag-prefix: #FC4747; --tag-bg-hover: rgba(252, 71, 71, 0.10); --tag-prefix-hover: #FC4747; " href="/t/devresolutions2024"><span class="crayons-tag__prefix">#</span>devresolutions2024</a> </div> <div class="crayons-story__bottom"> <div class="crayons-story__details"> <a href="https://dev.to/daky2024/sayonara-2024-1385" class="crayons-btn crayons-btn--s crayons-btn--ghost crayons-btn--icon-left" data-reaction-count data-reactable-id="2193068" aria-label="Add a comment to post - SAYONARA 2024"> <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/raised-hands-74b2099fd66a39f2d7eed9305ee0f4553df0eb7b4f11b01b6b1b499973048fe5.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="https://dev.to/daky2024/sayonara-2024-1385#comments" class="crayons-btn crayons-btn--s crayons-btn--ghost crayons-btn--icon-left flex items-center" aria-label="Add a comment to post - SAYONARA 2024"> <svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" role="img" aria-labelledby="a8xlqyft01wub3ph72kt4vsuzbtj9fu3" class="crayons-icon"><title id="a8xlqyft01wub3ph72kt4vsuzbtj9fu3">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-2193068" class="c-btn c-btn--icon-alone bookmark-button" data-reactable-id="2193068" data-article-author-id="2153584" aria-label="Save post SAYONARA 2024 to reading list" title="Save post SAYONARA 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="2193118" data-content-user-id="2669604"> <a href="https://dev.to/maria_bueno/how-automated-accessibility-testing-boosts-user-experience-and-compliance-4ol2" aria-labelledby="article-link-2193118" class="crayons-story__hidden-navigation-link">How Automated Accessibility Testing Boosts User Experience and Compliance</a> <div class="crayons-story__body"> <div class="crayons-story__top"> <div class="crayons-story__meta"> <div class="crayons-story__author-pic"> <a href="/maria_bueno" 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%2F2669604%2F955ce38f-1d08-4404-ba29-8ab81138cec3.png" alt="maria_bueno profile" class="crayons-avatar__image" loading="lazy" /> </a> </div> <div> <div> <a href="/maria_bueno" class="crayons-story__secondary fw-medium m:hidden"> Maria Bueno </a> <div class="profile-preview-card relative mb-4 s:mb-0 fw-medium hidden m:inline-block"> <button id="story-author-preview-trigger-2193118" aria-controls="story-author-preview-content-2193118" class="profile-preview-card__trigger fs-s p-1 -ml-1 -my-2 crayons-btn crayons-btn--ghost" aria-label="Maria Bueno profile details"> Maria Bueno </button> <div id="story-author-preview-content-2193118" 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="/maria_bueno" 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%2F2669604%2F955ce38f-1d08-4404-ba29-8ab81138cec3.png" class="crayons-avatar__image" alt="" loading="lazy" /> </span> <span class="crayons-link crayons-subtitle-2 mt-5">Maria Bueno</span> </a> </div> <div class="print-hidden"> <button class="crayons-btn follow-action-button whitespace-nowrap follow-user w-100" data-info='{&quot;style&quot;:&quot;full&quot;,&quot;id&quot;:2669604,&quot;className&quot;:&quot;User&quot;,&quot;name&quot;:&quot;Maria Bueno&quot;}'> Follow </button> </div> <div class="author-preview-metadata-container" data-author-id="2669604"></div> </div> </div> </div> </div> <a href="https://dev.to/maria_bueno/how-automated-accessibility-testing-boosts-user-experience-and-compliance-4ol2" class="crayons-story__tertiary fs-xs"><time datetime="2025-01-07T13:07:23Z">Jan 7</time><span class="time-ago-indicator-initial-placeholder" data-seconds="1736255243"></span></a> </div> </div> </div> <div class="crayons-story__indention"> <h2 class="crayons-story__title"> <a href="https://dev.to/maria_bueno/how-automated-accessibility-testing-boosts-user-experience-and-compliance-4ol2" 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%2F1vhk66f2j9c51cat082w.png" id="article-link-2193118"> How Automated Accessibility Testing Boosts User Experience and Compliance </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/automatedtesting"><span class="crayons-tag__prefix">#</span>automatedtesting</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/accessibilitytesting"><span class="crayons-tag__prefix">#</span>accessibilitytesting</a> </div> <div class="crayons-story__bottom"> <div class="crayons-story__details"> <a href="https://dev.to/maria_bueno/how-automated-accessibility-testing-boosts-user-experience-and-compliance-4ol2#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 Automated Accessibility Testing Boosts User Experience and Compliance"> <svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" role="img" aria-labelledby="a5r6o188ml6e9flc7uenngmq47rrlrbk" class="crayons-icon"><title id="a5r6o188ml6e9flc7uenngmq47rrlrbk">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-2193118" class="c-btn c-btn--icon-alone bookmark-button" data-reactable-id="2193118" data-article-author-id="2669604" aria-label="Save post How Automated Accessibility Testing Boosts User Experience and Compliance to reading list" title="Save post How Automated Accessibility Testing Boosts User Experience and Compliance 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="2193058" data-content-user-id="662369"> <a href="https://dev.to/manojspace/react-19-automatic-optimization-goodbye-memo-usememo-and-usecallback-555h" aria-labelledby="article-link-2193058" class="crayons-story__hidden-navigation-link">React 19 Automatic Optimization: Goodbye memo, useMemo, and useCallback?</a> <div class="crayons-story__body"> <div class="crayons-story__top"> <div class="crayons-story__meta"> <div class="crayons-story__author-pic"> <a href="/manojspace" 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%2F662369%2F249799ab-f15b-4a02-ad15-d7567e080f38.jpg" alt="manojspace profile" class="crayons-avatar__image" loading="lazy" /> </a> </div> <div> <div> <a href="/manojspace" class="crayons-story__secondary fw-medium m:hidden"> Manoj Swami </a> <div class="profile-preview-card relative mb-4 s:mb-0 fw-medium hidden m:inline-block"> <button id="story-author-preview-trigger-2193058" aria-controls="story-author-preview-content-2193058" class="profile-preview-card__trigger fs-s p-1 -ml-1 -my-2 crayons-btn crayons-btn--ghost" aria-label="Manoj Swami profile details"> Manoj Swami </button> <div id="story-author-preview-content-2193058" 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="/manojspace" 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%2F662369%2F249799ab-f15b-4a02-ad15-d7567e080f38.jpg" class="crayons-avatar__image" alt="" loading="lazy" /> </span> <span class="crayons-link crayons-subtitle-2 mt-5">Manoj Swami</span> </a> </div> <div class="print-hidden"> <button class="crayons-btn follow-action-button whitespace-nowrap follow-user w-100" data-info='{&quot;style&quot;:&quot;full&quot;,&quot;id&quot;:662369,&quot;className&quot;:&quot;User&quot;,&quot;name&quot;:&quot;Manoj Swami&quot;}'> Follow </button> </div> <div class="author-preview-metadata-container" data-author-id="662369"></div> </div> </div> </div> </div> <a href="https://dev.to/manojspace/react-19-automatic-optimization-goodbye-memo-usememo-and-usecallback-555h" class="crayons-story__tertiary fs-xs"><time datetime="2025-01-07T12:13:45Z">Jan 7</time><span class="time-ago-indicator-initial-placeholder" data-seconds="1736252025"></span></a> </div> </div> </div> <div class="crayons-story__indention"> <h2 class="crayons-story__title"> <a href="https://dev.to/manojspace/react-19-automatic-optimization-goodbye-memo-usememo-and-usecallback-555h" data-preload-image="" id="article-link-2193058"> React 19 Automatic Optimization: Goodbye memo, useMemo, and useCallback? </a> </h2> <div class="crayons-story__tags"> <a class="crayons-tag crayons-tag--monochrome " style=" --tag-bg: rgba(34, 34, 34, 0.10); --tag-prefix: #222222; --tag-bg-hover: rgba(34, 34, 34, 0.10); --tag-prefix-hover: #222222; " href="/t/react"><span class="crayons-tag__prefix">#</span>react</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(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="https://dev.to/manojspace/react-19-automatic-optimization-goodbye-memo-usememo-and-usecallback-555h" class="crayons-btn crayons-btn--s crayons-btn--ghost crayons-btn--icon-left" data-reaction-count data-reactable-id="2193058" aria-label="Add a comment to post - React 19 Automatic Optimization: Goodbye memo, useMemo, and useCallback?"> <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="https://dev.to/manojspace/react-19-automatic-optimization-goodbye-memo-usememo-and-usecallback-555h#comments" class="crayons-btn crayons-btn--s crayons-btn--ghost crayons-btn--icon-left flex items-center" aria-label="Add a comment to post - React 19 Automatic Optimization: Goodbye memo, useMemo, and useCallback?"> <svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" role="img" aria-labelledby="a3ysi0i75o4m07q4rpvtkt6zlm6nha5x" class="crayons-icon"><title id="a3ysi0i75o4m07q4rpvtkt6zlm6nha5x">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-2193058" class="c-btn c-btn--icon-alone bookmark-button" data-reactable-id="2193058" data-article-author-id="662369" aria-label="Save post React 19 Automatic Optimization: Goodbye memo, useMemo, and useCallback? to reading list" title="Save post React 19 Automatic Optimization: Goodbye memo, useMemo, and useCallback? 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="2193119" data-content-user-id="931084"> <a href="https://dev.to/asithalakshan/can-you-find-the-output-of-this-java-code-520a" aria-labelledby="article-link-2193119" class="crayons-story__hidden-navigation-link">Can you find the Output of this Java Code</a> <div class="crayons-story__body"> <div class="crayons-story__top"> <div class="crayons-story__meta"> <div class="crayons-story__author-pic"> <a href="/asithalakshan" 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%2F931084%2F804a5a3e-003a-467e-a18c-195376ddffd0.jpeg" alt="asithalakshan profile" class="crayons-avatar__image" loading="lazy" /> </a> </div> <div> <div> <a href="/asithalakshan" class="crayons-story__secondary fw-medium m:hidden"> Asitha Lakshan </a> <div class="profile-preview-card relative mb-4 s:mb-0 fw-medium hidden m:inline-block"> <button id="story-author-preview-trigger-2193119" aria-controls="story-author-preview-content-2193119" class="profile-preview-card__trigger fs-s p-1 -ml-1 -my-2 crayons-btn crayons-btn--ghost" aria-label="Asitha Lakshan profile details"> Asitha Lakshan </button> <div id="story-author-preview-content-2193119" 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="/asithalakshan" 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%2F931084%2F804a5a3e-003a-467e-a18c-195376ddffd0.jpeg" class="crayons-avatar__image" alt="" loading="lazy" /> </span> <span class="crayons-link crayons-subtitle-2 mt-5">Asitha Lakshan</span> </a> </div> <div class="print-hidden"> <button class="crayons-btn follow-action-button whitespace-nowrap follow-user w-100" data-info='{&quot;style&quot;:&quot;full&quot;,&quot;id&quot;:931084,&quot;className&quot;:&quot;User&quot;,&quot;name&quot;:&quot;Asitha Lakshan&quot;}'> Follow </button> </div> <div class="author-preview-metadata-container" data-author-id="931084"></div> </div> </div> </div> </div> <a href="https://dev.to/asithalakshan/can-you-find-the-output-of-this-java-code-520a" class="crayons-story__tertiary fs-xs"><time datetime="2025-01-07T13:08:45Z">Jan 7</time><span class="time-ago-indicator-initial-placeholder" data-seconds="1736255325"></span></a> </div> </div> </div> <div class="crayons-story__indention"> <h2 class="crayons-story__title"> <a href="https://dev.to/asithalakshan/can-you-find-the-output-of-this-java-code-520a" 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%2Fj0mnw8fxxpil21nxbpre.png" id="article-link-2193119"> Can you find the Output of this Java Code </a> </h2> <div class="crayons-story__tags"> <a class="crayons-tag crayons-tag--monochrome " style=" --tag-bg: rgba(126, 72, 16, 0.10); --tag-prefix: #7e4810; --tag-bg-hover: rgba(126, 72, 16, 0.10); --tag-prefix-hover: #7e4810; " href="/t/java"><span class="crayons-tag__prefix">#</span>java</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> <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/spring"><span class="crayons-tag__prefix">#</span>spring</a> <a class="crayons-tag crayons-tag--monochrome " style=" --tag-bg: rgba(197, 152, 255, 0.10); --tag-prefix: #C598FF; --tag-bg-hover: rgba(197, 152, 255, 0.10); --tag-prefix-hover: #C598FF; " href="/t/codenewbie"><span class="crayons-tag__prefix">#</span>codenewbie</a> </div> <div class="crayons-story__bottom"> <div class="crayons-story__details"> <a href="https://dev.to/asithalakshan/can-you-find-the-output-of-this-java-code-520a#comments" class="crayons-btn crayons-btn--s crayons-btn--ghost crayons-btn--icon-left flex items-center" aria-label="Add a comment to post - Can you find the Output of this Java Code"> <svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" role="img" aria-labelledby="a3f8c32ptcdc7qmtkf1th9z2q4jm9ta8" class="crayons-icon"><title id="a3f8c32ptcdc7qmtkf1th9z2q4jm9ta8">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-2193119" class="c-btn c-btn--icon-alone bookmark-button" data-reactable-id="2193119" data-article-author-id="931084" aria-label="Save post Can you find the Output of this Java Code to reading list" title="Save post Can you find the Output of this Java Code 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="1865503" data-content-user-id="858698"> <a href="https://dev.to/leriaetnasta/part-1-serverless-project-with-cdk-aws-lambdaedge-cognito-and-amplify-33hc" aria-labelledby="article-link-1865503" class="crayons-story__hidden-navigation-link">Part 1 : Serverless project with CDK, AWS Lambda@Edge, Cognito and Amplify</a> <div class="crayons-story__body"> <div class="crayons-story__top"> <div class="crayons-story__meta"> <div class="crayons-story__author-pic"> <a href="/leriaetnasta" 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%2F858698%2F75e1f778-0dda-4048-bb66-adc1fc8a5852.jpg" alt="leriaetnasta profile" class="crayons-avatar__image" loading="lazy" /> </a> </div> <div> <div> <a href="/leriaetnasta" class="crayons-story__secondary fw-medium m:hidden"> lou </a> <div class="profile-preview-card relative mb-4 s:mb-0 fw-medium hidden m:inline-block"> <button id="story-author-preview-trigger-1865503" aria-controls="story-author-preview-content-1865503" class="profile-preview-card__trigger fs-s p-1 -ml-1 -my-2 crayons-btn crayons-btn--ghost" aria-label="lou profile details"> lou </button> <div id="story-author-preview-content-1865503" 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="/leriaetnasta" 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%2F858698%2F75e1f778-0dda-4048-bb66-adc1fc8a5852.jpg" class="crayons-avatar__image" alt="" loading="lazy" /> </span> <span class="crayons-link crayons-subtitle-2 mt-5">lou</span> </a> </div> <div class="print-hidden"> <button class="crayons-btn follow-action-button whitespace-nowrap follow-user w-100" data-info='{&quot;style&quot;:&quot;full&quot;,&quot;id&quot;:858698,&quot;className&quot;:&quot;User&quot;,&quot;name&quot;:&quot;lou&quot;}'> Follow </button> </div> <div class="author-preview-metadata-container" data-author-id="858698"></div> </div> </div> </div> </div> <a href="https://dev.to/leriaetnasta/part-1-serverless-project-with-cdk-aws-lambdaedge-cognito-and-amplify-33hc" class="crayons-story__tertiary fs-xs"><time datetime="2025-01-07T13:06:50Z">Jan 7</time><span class="time-ago-indicator-initial-placeholder" data-seconds="1736255210"></span></a> </div> </div> </div> <div class="crayons-story__indention"> <h2 class="crayons-story__title"> <a href="https://dev.to/leriaetnasta/part-1-serverless-project-with-cdk-aws-lambdaedge-cognito-and-amplify-33hc" data-preload-image="" id="article-link-1865503"> Part 1 : Serverless project with CDK, AWS Lambda@Edge, Cognito and Amplify </a> </h2> <div class="crayons-story__tags"> <a class="crayons-tag crayons-tag--monochrome " style=" --tag-bg: rgba(33, 43, 58, 0.10); --tag-prefix: #212b3a; --tag-bg-hover: rgba(33, 43, 58, 0.10); --tag-prefix-hover: #212b3a; " href="/t/aws"><span class="crayons-tag__prefix">#</span>aws</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/amplify"><span class="crayons-tag__prefix">#</span>amplify</a> <a class="crayons-tag crayons-tag--monochrome " style=" --tag-bg: rgba(28, 28, 28, 0.10); --tag-prefix: #1C1C1C; --tag-bg-hover: rgba(28, 28, 28, 0.10); --tag-prefix-hover: #1C1C1C; " href="/t/serverless"><span class="crayons-tag__prefix">#</span>serverless</a> </div> <div class="crayons-story__bottom"> <div class="crayons-story__details"> <a href="https://dev.to/leriaetnasta/part-1-serverless-project-with-cdk-aws-lambdaedge-cognito-and-amplify-33hc#comments" class="crayons-btn crayons-btn--s crayons-btn--ghost crayons-btn--icon-left flex items-center" aria-label="Add a comment to post - Part 1 : Serverless project with CDK, AWS Lambda@Edge, Cognito and Amplify"> <svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" role="img" aria-labelledby="aryzv0u4tg4e8z9stfcwjh7lpbrxp369" class="crayons-icon"><title id="aryzv0u4tg4e8z9stfcwjh7lpbrxp369">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-1865503" class="c-btn c-btn--icon-alone bookmark-button" data-reactable-id="1865503" data-article-author-id="858698" aria-label="Save post Part 1 : Serverless project with CDK, AWS Lambda@Edge, Cognito and Amplify to reading list" title="Save post Part 1 : Serverless project with CDK, AWS Lambda@Edge, Cognito and Amplify 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="2193126" data-content-user-id="2665324"> <a href="https://dev.to/nitrate/2100-day-golang-challenge-3mdc" aria-labelledby="article-link-2193126" class="crayons-story__hidden-navigation-link">2/100 day golang challenge</a> <div class="crayons-story__body"> <div class="crayons-story__top"> <div class="crayons-story__meta"> <div class="crayons-story__author-pic"> <a href="/nitrate" 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%2F2665324%2F93c84015-d62e-48f0-828c-733bbf498494.png" alt="nitrate profile" class="crayons-avatar__image" loading="lazy" /> </a> </div> <div> <div> <a href="/nitrate" class="crayons-story__secondary fw-medium m:hidden"> Mike </a> <div class="profile-preview-card relative mb-4 s:mb-0 fw-medium hidden m:inline-block"> <button id="story-author-preview-trigger-2193126" aria-controls="story-author-preview-content-2193126" class="profile-preview-card__trigger fs-s p-1 -ml-1 -my-2 crayons-btn crayons-btn--ghost" aria-label="Mike profile details"> Mike </button> <div id="story-author-preview-content-2193126" 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="/nitrate" 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%2F2665324%2F93c84015-d62e-48f0-828c-733bbf498494.png" class="crayons-avatar__image" alt="" loading="lazy" /> </span> <span class="crayons-link crayons-subtitle-2 mt-5">Mike</span> </a> </div> <div class="print-hidden"> <button class="crayons-btn follow-action-button whitespace-nowrap follow-user w-100" data-info='{&quot;style&quot;:&quot;full&quot;,&quot;id&quot;:2665324,&quot;className&quot;:&quot;User&quot;,&quot;name&quot;:&quot;Mike&quot;}'> Follow </button> </div> <div class="author-preview-metadata-container" data-author-id="2665324"></div> </div> </div> </div> </div> <a href="https://dev.to/nitrate/2100-day-golang-challenge-3mdc" class="crayons-story__tertiary fs-xs"><time datetime="2025-01-07T13:13:59Z">Jan 7</time><span class="time-ago-indicator-initial-placeholder" data-seconds="1736255639"></span></a> </div> </div> </div> <div class="crayons-story__indention"> <h2 class="crayons-story__title"> <a href="https://dev.to/nitrate/2100-day-golang-challenge-3mdc" 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%2Fydidc5ajlu8c4v3omv6f.jpg" id="article-link-2193126"> 2/100 day golang challenge </a> </h2> <div class="crayons-story__tags"> <a class="crayons-tag crayons-tag--monochrome " style=" --tag-bg: rgba(0, 77, 77, 0.10); --tag-prefix: #004d4d; --tag-bg-hover: rgba(0, 77, 77, 0.10); --tag-prefix-hover: #004d4d; " href="/t/100daysofcode"><span class="crayons-tag__prefix">#</span>100daysofcode</a> <a class="crayons-tag crayons-tag--monochrome " style=" --tag-bg: rgba(41, 190, 176, 0.10); --tag-prefix: #29BEB0; --tag-bg-hover: rgba(41, 190, 176, 0.10); --tag-prefix-hover: #29BEB0; " href="/t/go"><span class="crayons-tag__prefix">#</span>go</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="https://dev.to/nitrate/2100-day-golang-challenge-3mdc#comments" class="crayons-btn crayons-btn--s crayons-btn--ghost crayons-btn--icon-left flex items-center" aria-label="Add a comment to post - 2/100 day golang challenge"> <svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" role="img" aria-labelledby="ae7cynwz0hd8ghghj0chtyk81slne36" class="crayons-icon"><title id="ae7cynwz0hd8ghghj0chtyk81slne36">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-2193126" class="c-btn c-btn--icon-alone bookmark-button" data-reactable-id="2193126" data-article-author-id="2665324" aria-label="Save post 2/100 day golang challenge to reading list" title="Save post 2/100 day golang challenge 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="2193130" data-content-user-id="1073428"> <a href="https://dev.to/gervaisamoah/understanding-reacts-fiber-tree-a-deep-dive-into-reacts-architecture-and-rendering-process-2loo" aria-labelledby="article-link-2193130" class="crayons-story__hidden-navigation-link">Understanding React&#39;s Fiber Tree: A Deep Dive into React&#39;s Architecture and Rendering Process</a> <div class="crayons-story__body"> <div class="crayons-story__top"> <div class="crayons-story__meta"> <div class="crayons-story__author-pic"> <a href="/gervaisamoah" 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%2F1073428%2F0e7e01c4-bee9-4c6a-ae84-80b3ab7b5d00.jpg" alt="gervaisamoah profile" class="crayons-avatar__image" loading="lazy" /> </a> </div> <div> <div> <a href="/gervaisamoah" class="crayons-story__secondary fw-medium m:hidden"> Gervais Yao Amoah </a> <div class="profile-preview-card relative mb-4 s:mb-0 fw-medium hidden m:inline-block"> <button id="story-author-preview-trigger-2193130" aria-controls="story-author-preview-content-2193130" class="profile-preview-card__trigger fs-s p-1 -ml-1 -my-2 crayons-btn crayons-btn--ghost" aria-label="Gervais Yao Amoah profile details"> Gervais Yao Amoah </button> <div id="story-author-preview-content-2193130" 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="/gervaisamoah" 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%2F1073428%2F0e7e01c4-bee9-4c6a-ae84-80b3ab7b5d00.jpg" class="crayons-avatar__image" alt="" loading="lazy" /> </span> <span class="crayons-link crayons-subtitle-2 mt-5">Gervais Yao Amoah</span> </a> </div> <div class="print-hidden"> <button class="crayons-btn follow-action-button whitespace-nowrap follow-user w-100" data-info='{&quot;style&quot;:&quot;full&quot;,&quot;id&quot;:1073428,&quot;className&quot;:&quot;User&quot;,&quot;name&quot;:&quot;Gervais Yao Amoah&quot;}'> Follow </button> </div> <div class="author-preview-metadata-container" data-author-id="1073428"></div> </div> </div> </div> </div> <a href="https://dev.to/gervaisamoah/understanding-reacts-fiber-tree-a-deep-dive-into-reacts-architecture-and-rendering-process-2loo" class="crayons-story__tertiary fs-xs"><time datetime="2025-01-07T13:18:06Z">Jan 7</time><span class="time-ago-indicator-initial-placeholder" data-seconds="1736255886"></span></a> </div> </div> </div> <div class="crayons-story__indention"> <h2 class="crayons-story__title"> <a href="https://dev.to/gervaisamoah/understanding-reacts-fiber-tree-a-deep-dive-into-reacts-architecture-and-rendering-process-2loo" 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%2Fbw0whd1fvx5lu1ancott.png" id="article-link-2193130"> Understanding React&#39;s Fiber Tree: A Deep Dive into React&#39;s Architecture and Rendering Process </a> </h2> <div class="crayons-story__tags"> <a class="crayons-tag crayons-tag--monochrome " style=" --tag-bg: rgba(34, 34, 34, 0.10); --tag-prefix: #222222; --tag-bg-hover: rgba(34, 34, 34, 0.10); --tag-prefix-hover: #222222; " href="/t/react"><span class="crayons-tag__prefix">#</span>react</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(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="https://dev.to/gervaisamoah/understanding-reacts-fiber-tree-a-deep-dive-into-reacts-architecture-and-rendering-process-2loo#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 React&#39;s Fiber Tree: A Deep Dive into React&#39;s Architecture and Rendering Process"> <svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" role="img" aria-labelledby="a3m7k7tmhwwziohcv64sivoib7ux48ck" class="crayons-icon"><title id="a3m7k7tmhwwziohcv64sivoib7ux48ck">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-2193130" class="c-btn c-btn--icon-alone bookmark-button" data-reactable-id="2193130" data-article-author-id="1073428" aria-label="Save post Understanding React&#39;s Fiber Tree: A Deep Dive into React&#39;s Architecture and Rendering Process to reading list" title="Save post Understanding React&#39;s Fiber Tree: A Deep Dive into React&#39;s Architecture and Rendering Process 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="2193128" data-content-user-id="2448722"> <a href="https://dev.to/hexa-home/mastering-xpath-in-cypress-best-practices-for-effective-testing-1656" aria-labelledby="article-link-2193128" class="crayons-story__hidden-navigation-link">Mastering XPath in Cypress: Best Practices for Effective 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="/hexa-home" 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%2F2448722%2F8ccc17e2-e83e-4f52-ad41-90b1322538b2.png" alt="hexa-home profile" class="crayons-avatar__image" loading="lazy" /> </a> </div> <div> <div> <a href="/hexa-home" class="crayons-story__secondary fw-medium m:hidden"> seo2 </a> <div class="profile-preview-card relative mb-4 s:mb-0 fw-medium hidden m:inline-block"> <button id="story-author-preview-trigger-2193128" aria-controls="story-author-preview-content-2193128" class="profile-preview-card__trigger fs-s p-1 -ml-1 -my-2 crayons-btn crayons-btn--ghost" aria-label="seo2 profile details"> seo2 </button> <div id="story-author-preview-content-2193128" 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="/hexa-home" 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%2F2448722%2F8ccc17e2-e83e-4f52-ad41-90b1322538b2.png" class="crayons-avatar__image" alt="" loading="lazy" /> </span> <span class="crayons-link crayons-subtitle-2 mt-5">seo2</span> </a> </div> <div class="print-hidden"> <button class="crayons-btn follow-action-button whitespace-nowrap follow-user w-100" data-info='{&quot;style&quot;:&quot;full&quot;,&quot;id&quot;:2448722,&quot;className&quot;:&quot;User&quot;,&quot;name&quot;:&quot;seo2&quot;}'> Follow </button> </div> <div class="author-preview-metadata-container" data-author-id="2448722"></div> </div> </div> </div> </div> <a href="https://dev.to/hexa-home/mastering-xpath-in-cypress-best-practices-for-effective-testing-1656" class="crayons-story__tertiary fs-xs"><time datetime="2025-01-07T13:17:22Z">Jan 7</time><span class="time-ago-indicator-initial-placeholder" data-seconds="1736255842"></span></a> </div> </div> </div> <div class="crayons-story__indention"> <h2 class="crayons-story__title"> <a href="https://dev.to/hexa-home/mastering-xpath-in-cypress-best-practices-for-effective-testing-1656" data-preload-image="" id="article-link-2193128"> Mastering XPath in Cypress: Best Practices for Effective Testing </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(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(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(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="https://dev.to/hexa-home/mastering-xpath-in-cypress-best-practices-for-effective-testing-1656#comments" class="crayons-btn crayons-btn--s crayons-btn--ghost crayons-btn--icon-left flex items-center" aria-label="Add a comment to post - Mastering XPath in Cypress: Best Practices for Effective Testing"> <svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" role="img" aria-labelledby="a9u6pdo88gp8ai2hr53a7ycidyb2iwbx" class="crayons-icon"><title id="a9u6pdo88gp8ai2hr53a7ycidyb2iwbx">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-2193128" class="c-btn c-btn--icon-alone bookmark-button" data-reactable-id="2193128" data-article-author-id="2448722" aria-label="Save post Mastering XPath in Cypress: Best Practices for Effective Testing to reading list" title="Save post Mastering XPath in Cypress: Best Practices for Effective 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="2193060" data-content-user-id="2383144"> <a href="https://dev.to/karthika_murugesan_c51100/-choosing-the-right-time-series-database-for-your-use-case-54bn" aria-labelledby="article-link-2193060" class="crayons-story__hidden-navigation-link">Choosing the Right Time Series Database for Your Use Case</a> <div class="crayons-story__body"> <div class="crayons-story__top"> <div class="crayons-story__meta"> <div class="crayons-story__author-pic"> <a href="/karthika_murugesan_c51100" 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%2F2383144%2Fde92c02c-eac8-4a61-853f-70bab1b84ebc.png" alt="karthika_murugesan_c51100 profile" class="crayons-avatar__image" loading="lazy" /> </a> </div> <div> <div> <a href="/karthika_murugesan_c51100" class="crayons-story__secondary fw-medium m:hidden"> Karthika Murugesan </a> <div class="profile-preview-card relative mb-4 s:mb-0 fw-medium hidden m:inline-block"> <button id="story-author-preview-trigger-2193060" aria-controls="story-author-preview-content-2193060" class="profile-preview-card__trigger fs-s p-1 -ml-1 -my-2 crayons-btn crayons-btn--ghost" aria-label="Karthika Murugesan profile details"> Karthika Murugesan </button> <div id="story-author-preview-content-2193060" 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="/karthika_murugesan_c51100" 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%2F2383144%2Fde92c02c-eac8-4a61-853f-70bab1b84ebc.png" class="crayons-avatar__image" alt="" loading="lazy" /> </span> <span class="crayons-link crayons-subtitle-2 mt-5">Karthika Murugesan</span> </a> </div> <div class="print-hidden"> <button class="crayons-btn follow-action-button whitespace-nowrap follow-user w-100" data-info='{&quot;style&quot;:&quot;full&quot;,&quot;id&quot;:2383144,&quot;className&quot;:&quot;User&quot;,&quot;name&quot;:&quot;Karthika Murugesan&quot;}'> Follow </button> </div> <div class="author-preview-metadata-container" data-author-id="2383144"></div> </div> </div> </div> </div> <a href="https://dev.to/karthika_murugesan_c51100/-choosing-the-right-time-series-database-for-your-use-case-54bn" class="crayons-story__tertiary fs-xs"><time datetime="2025-01-07T12:16:03Z">Jan 7</time><span class="time-ago-indicator-initial-placeholder" data-seconds="1736252163"></span></a> </div> </div> </div> <div class="crayons-story__indention"> <h2 class="crayons-story__title"> <a href="https://dev.to/karthika_murugesan_c51100/-choosing-the-right-time-series-database-for-your-use-case-54bn" 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%2F2cyh1dz2vs0aerdgp9bp.png" id="article-link-2193060"> Choosing the Right Time Series Database for Your Use Case </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/database"><span class="crayons-tag__prefix">#</span>database</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/postgres"><span class="crayons-tag__prefix">#</span>postgres</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/mysql"><span class="crayons-tag__prefix">#</span>mysql</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="https://dev.to/karthika_murugesan_c51100/-choosing-the-right-time-series-database-for-your-use-case-54bn" class="crayons-btn crayons-btn--s crayons-btn--ghost crayons-btn--icon-left" data-reaction-count data-reactable-id="2193060" aria-label="Add a comment to post - Choosing the Right Time Series Database for Your Use Case"> <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="https://dev.to/karthika_murugesan_c51100/-choosing-the-right-time-series-database-for-your-use-case-54bn#comments" class="crayons-btn crayons-btn--s crayons-btn--ghost crayons-btn--icon-left flex items-center" aria-label="Add a comment to post - Choosing the Right Time Series Database for Your Use Case"> <svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" role="img" aria-labelledby="ar1agz1n1c58ka9n9shqjb872wv3xwsa" class="crayons-icon"><title id="ar1agz1n1c58ka9n9shqjb872wv3xwsa">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-2193060" class="c-btn c-btn--icon-alone bookmark-button" data-reactable-id="2193060" data-article-author-id="2383144" aria-label="Save post Choosing the Right Time Series Database for Your Use Case to reading list" title="Save post Choosing the Right Time Series Database for Your Use Case 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="2192899" data-content-user-id="1932674"> <a href="https://dev.to/prevailexcellent/how-nigerians-can-access-lucrative-web3-jobs-in-2025-a-complete-guide-to-building-a-career-in-3hgl" aria-labelledby="article-link-2192899" class="crayons-story__hidden-navigation-link">How Nigerians Can Access Lucrative Web3 Jobs in 2025: A Complete Guide to Building a Career in Blockchain and Crypto</a> <div class="crayons-story__body"> <div class="crayons-story__top"> <div class="crayons-story__meta"> <div class="crayons-story__author-pic"> <a href="/prevailexcellent" 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%2F1932674%2F85242209-2611-4455-8e19-2b64b10423cb.jpg" alt="prevailexcellent profile" class="crayons-avatar__image" loading="lazy" /> </a> </div> <div> <div> <a href="/prevailexcellent" class="crayons-story__secondary fw-medium m:hidden"> Chimeremeze Prevail Ejimadu </a> <div class="profile-preview-card relative mb-4 s:mb-0 fw-medium hidden m:inline-block"> <button id="story-author-preview-trigger-2192899" aria-controls="story-author-preview-content-2192899" class="profile-preview-card__trigger fs-s p-1 -ml-1 -my-2 crayons-btn crayons-btn--ghost" aria-label="Chimeremeze Prevail Ejimadu profile details"> Chimeremeze Prevail Ejimadu </button> <div id="story-author-preview-content-2192899" 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="/prevailexcellent" 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%2F1932674%2F85242209-2611-4455-8e19-2b64b10423cb.jpg" class="crayons-avatar__image" alt="" loading="lazy" /> </span> <span class="crayons-link crayons-subtitle-2 mt-5">Chimeremeze Prevail Ejimadu</span> </a> </div> <div class="print-hidden"> <button class="crayons-btn follow-action-button whitespace-nowrap follow-user w-100" data-info='{&quot;style&quot;:&quot;full&quot;,&quot;id&quot;:1932674,&quot;className&quot;:&quot;User&quot;,&quot;name&quot;:&quot;Chimeremeze Prevail Ejimadu&quot;}'> Follow </button> </div> <div class="author-preview-metadata-container" data-author-id="1932674"></div> </div> </div> </div> </div> <a href="https://dev.to/prevailexcellent/how-nigerians-can-access-lucrative-web3-jobs-in-2025-a-complete-guide-to-building-a-career-in-3hgl" class="crayons-story__tertiary fs-xs"><time datetime="2025-01-07T13:07:07Z">Jan 7</time><span class="time-ago-indicator-initial-placeholder" data-seconds="1736255227"></span></a> </div> </div> </div> <div class="crayons-story__indention"> <h2 class="crayons-story__title"> <a href="https://dev.to/prevailexcellent/how-nigerians-can-access-lucrative-web3-jobs-in-2025-a-complete-guide-to-building-a-career-in-3hgl" 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%2Fyuld4rhus4sgw9slryhu.jpg" id="article-link-2192899"> How Nigerians Can Access Lucrative Web3 Jobs in 2025: A Complete Guide to Building a Career in Blockchain and Crypto </a> </h2> <div class="crayons-story__tags"> <a class="crayons-tag crayons-tag--monochrome " style=" --tag-bg: rgba(0, 255, 220, 0.10); --tag-prefix: #00ffdc; --tag-bg-hover: rgba(0, 255, 220, 0.10); --tag-prefix-hover: #00ffdc; " href="/t/web3"><span class="crayons-tag__prefix">#</span>web3</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/cryptocurrency"><span class="crayons-tag__prefix">#</span>cryptocurrency</a> <a class="crayons-tag crayons-tag--monochrome " style=" --tag-bg: rgba(17, 58, 98, 0.10); --tag-prefix: #113a62; --tag-bg-hover: rgba(17, 58, 98, 0.10); --tag-prefix-hover: #113a62; " href="/t/blockchain"><span class="crayons-tag__prefix">#</span>blockchain</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="https://dev.to/prevailexcellent/how-nigerians-can-access-lucrative-web3-jobs-in-2025-a-complete-guide-to-building-a-career-in-3hgl#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 Nigerians Can Access Lucrative Web3 Jobs in 2025: A Complete Guide to Building a Career in Blockchain and Crypto"> <svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" role="img" aria-labelledby="a2r2ottq5d2dnnwkj7axwsuyeq3n8n0t" class="crayons-icon"><title id="a2r2ottq5d2dnnwkj7axwsuyeq3n8n0t">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-2192899" class="c-btn c-btn--icon-alone bookmark-button" data-reactable-id="2192899" data-article-author-id="1932674" aria-label="Save post How Nigerians Can Access Lucrative Web3 Jobs in 2025: A Complete Guide to Building a Career in Blockchain and Crypto to reading list" title="Save post How Nigerians Can Access Lucrative Web3 Jobs in 2025: A Complete Guide to Building a Career in Blockchain and Crypto 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="2191388" data-content-user-id="2664344"> <a href="https://dev.to/flnzba/when-github-actions-build-fails-due-to-pnpm-lockfile-32lb" aria-labelledby="article-link-2191388" class="crayons-story__hidden-navigation-link">When GitHub Actions Build Fails Due to pnpm-lockfile</a> <div class="crayons-story__body"> <div class="crayons-story__top"> <div class="crayons-story__meta"> <div class="crayons-story__author-pic"> <a href="/flnzba" 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%2F2664344%2F433b204f-010b-4674-ad5b-0be4ac72c8d0.jpg" alt="flnzba profile" class="crayons-avatar__image" loading="lazy" /> </a> </div> <div> <div> <a href="/flnzba" class="crayons-story__secondary fw-medium m:hidden"> Florian Zeba </a> <div class="profile-preview-card relative mb-4 s:mb-0 fw-medium hidden m:inline-block"> <button id="story-author-preview-trigger-2191388" aria-controls="story-author-preview-content-2191388" class="profile-preview-card__trigger fs-s p-1 -ml-1 -my-2 crayons-btn crayons-btn--ghost" aria-label="Florian Zeba profile details"> Florian Zeba </button> <div id="story-author-preview-content-2191388" 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="/flnzba" 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%2F2664344%2F433b204f-010b-4674-ad5b-0be4ac72c8d0.jpg" class="crayons-avatar__image" alt="" loading="lazy" /> </span> <span class="crayons-link crayons-subtitle-2 mt-5">Florian Zeba</span> </a> </div> <div class="print-hidden"> <button class="crayons-btn follow-action-button whitespace-nowrap follow-user w-100" data-info='{&quot;style&quot;:&quot;full&quot;,&quot;id&quot;:2664344,&quot;className&quot;:&quot;User&quot;,&quot;name&quot;:&quot;Florian Zeba&quot;}'> Follow </button> </div> <div class="author-preview-metadata-container" data-author-id="2664344"></div> </div> </div> </div> </div> <a href="https://dev.to/flnzba/when-github-actions-build-fails-due-to-pnpm-lockfile-32lb" class="crayons-story__tertiary fs-xs"><time datetime="2025-01-07T13:00:00Z">Jan 7</time><span class="time-ago-indicator-initial-placeholder" data-seconds="1736254800"></span></a> </div> </div> </div> <div class="crayons-story__indention"> <h2 class="crayons-story__title"> <a href="https://dev.to/flnzba/when-github-actions-build-fails-due-to-pnpm-lockfile-32lb" 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%2Foi67c2qzfe0rv1jszrn3.jpg" id="article-link-2191388"> When GitHub Actions Build Fails Due to pnpm-lockfile </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(203, 56, 55, 0.10); --tag-prefix: #cb3837; --tag-bg-hover: rgba(203, 56, 55, 0.10); --tag-prefix-hover: #cb3837; " href="/t/npm"><span class="crayons-tag__prefix">#</span>npm</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> <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> </div> <div class="crayons-story__bottom"> <div class="crayons-story__details"> <a href="https://dev.to/flnzba/when-github-actions-build-fails-due-to-pnpm-lockfile-32lb#comments" class="crayons-btn crayons-btn--s crayons-btn--ghost crayons-btn--icon-left flex items-center" aria-label="Add a comment to post - When GitHub Actions Build Fails Due to pnpm-lockfile"> <svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" role="img" aria-labelledby="a7ph8yoa5ci3e5vl9z544jc0b6u41oka" class="crayons-icon"><title id="a7ph8yoa5ci3e5vl9z544jc0b6u41oka">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-2191388" class="c-btn c-btn--icon-alone bookmark-button" data-reactable-id="2191388" data-article-author-id="2664344" aria-label="Save post When GitHub Actions Build Fails Due to pnpm-lockfile to reading list" title="Save post When GitHub Actions Build Fails Due to pnpm-lockfile 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="2193111" data-content-user-id="1168538"> <a href="https://dev.to/keploy/chatgpt-vs-copilot-choosing-the-right-ai-assistant-for-your-needs-367g" aria-labelledby="article-link-2193111" class="crayons-story__hidden-navigation-link">ChatGPT vs Copilot: Choosing the Right AI Assistant for Your Needs</a> <div class="crayons-story__body"> <div class="crayons-story__top"> <div class="crayons-story__meta"> <div class="crayons-story__author-pic"> <a href="/keploy" 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%2F1168538%2F3953214c-124c-46fc-b7c1-1ce50c8ec4ab.png" alt="keploy profile" class="crayons-avatar__image" loading="lazy" /> </a> </div> <div> <div> <a href="/keploy" class="crayons-story__secondary fw-medium m:hidden"> keploy </a> <div class="profile-preview-card relative mb-4 s:mb-0 fw-medium hidden m:inline-block"> <button id="story-author-preview-trigger-2193111" aria-controls="story-author-preview-content-2193111" class="profile-preview-card__trigger fs-s p-1 -ml-1 -my-2 crayons-btn crayons-btn--ghost" aria-label="keploy profile details"> keploy </button> <div id="story-author-preview-content-2193111" 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="/keploy" 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%2F1168538%2F3953214c-124c-46fc-b7c1-1ce50c8ec4ab.png" class="crayons-avatar__image" alt="" loading="lazy" /> </span> <span class="crayons-link crayons-subtitle-2 mt-5">keploy</span> </a> </div> <div class="print-hidden"> <button class="crayons-btn follow-action-button whitespace-nowrap follow-user w-100" data-info='{&quot;style&quot;:&quot;full&quot;,&quot;id&quot;:1168538,&quot;className&quot;:&quot;User&quot;,&quot;name&quot;:&quot;keploy&quot;}'> Follow </button> </div> <div class="author-preview-metadata-container" data-author-id="1168538"></div> </div> </div> </div> </div> <a href="https://dev.to/keploy/chatgpt-vs-copilot-choosing-the-right-ai-assistant-for-your-needs-367g" class="crayons-story__tertiary fs-xs"><time datetime="2025-01-07T12:58:00Z">Jan 7</time><span class="time-ago-indicator-initial-placeholder" data-seconds="1736254680"></span></a> </div> </div> </div> <div class="crayons-story__indention"> <h2 class="crayons-story__title"> <a href="https://dev.to/keploy/chatgpt-vs-copilot-choosing-the-right-ai-assistant-for-your-needs-367g" data-preload-image="" id="article-link-2193111"> ChatGPT vs Copilot: Choosing the Right AI Assistant for Your Needs </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(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(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="https://dev.to/keploy/chatgpt-vs-copilot-choosing-the-right-ai-assistant-for-your-needs-367g#comments" class="crayons-btn crayons-btn--s crayons-btn--ghost crayons-btn--icon-left flex items-center" aria-label="Add a comment to post - ChatGPT vs Copilot: Choosing the Right AI Assistant for Your Needs"> <svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" role="img" aria-labelledby="a87ekafctwe767y493zeb5v1a6ee3ux4" class="crayons-icon"><title id="a87ekafctwe767y493zeb5v1a6ee3ux4">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-2193111" class="c-btn c-btn--icon-alone bookmark-button" data-reactable-id="2193111" data-article-author-id="1168538" aria-label="Save post ChatGPT vs Copilot: Choosing the Right AI Assistant for Your Needs to reading list" title="Save post ChatGPT vs Copilot: Choosing the Right AI Assistant for Your Needs 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="2193114" data-content-user-id="1297865"> <a href="https://dev.to/qa3emnik/understanding-reacts-reconciliation-process-write-faster-apps-3b59" aria-labelledby="article-link-2193114" class="crayons-story__hidden-navigation-link">Understanding React’s Reconciliation Process: Write Faster Apps</a> <div class="crayons-story__body"> <div class="crayons-story__top"> <div class="crayons-story__meta"> <div class="crayons-story__author-pic"> <a href="/qa3emnik" 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%2F1297865%2Fec6b4e84-c8ce-481a-b9a0-71816c96110e.jpeg" alt="qa3emnik profile" class="crayons-avatar__image" loading="lazy" /> </a> </div> <div> <div> <a href="/qa3emnik" class="crayons-story__secondary fw-medium m:hidden"> Qasem Nik </a> <div class="profile-preview-card relative mb-4 s:mb-0 fw-medium hidden m:inline-block"> <button id="story-author-preview-trigger-2193114" aria-controls="story-author-preview-content-2193114" class="profile-preview-card__trigger fs-s p-1 -ml-1 -my-2 crayons-btn crayons-btn--ghost" aria-label="Qasem Nik profile details"> Qasem Nik </button> <div id="story-author-preview-content-2193114" 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="/qa3emnik" 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%2F1297865%2Fec6b4e84-c8ce-481a-b9a0-71816c96110e.jpeg" class="crayons-avatar__image" alt="" loading="lazy" /> </span> <span class="crayons-link crayons-subtitle-2 mt-5">Qasem Nik</span> </a> </div> <div class="print-hidden"> <button class="crayons-btn follow-action-button whitespace-nowrap follow-user w-100" data-info='{&quot;style&quot;:&quot;full&quot;,&quot;id&quot;:1297865,&quot;className&quot;:&quot;User&quot;,&quot;name&quot;:&quot;Qasem Nik&quot;}'> Follow </button> </div> <div class="author-preview-metadata-container" data-author-id="1297865"></div> </div> </div> </div> </div> <a href="https://dev.to/qa3emnik/understanding-reacts-reconciliation-process-write-faster-apps-3b59" class="crayons-story__tertiary fs-xs"><time datetime="2025-01-07T13:01:22Z">Jan 7</time><span class="time-ago-indicator-initial-placeholder" data-seconds="1736254882"></span></a> </div> </div> </div> <div class="crayons-story__indention"> <h2 class="crayons-story__title"> <a href="https://dev.to/qa3emnik/understanding-reacts-reconciliation-process-write-faster-apps-3b59" data-preload-image="" id="article-link-2193114"> Understanding React’s Reconciliation Process: Write Faster Apps </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(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(34, 34, 34, 0.10); --tag-prefix: #222222; --tag-bg-hover: rgba(34, 34, 34, 0.10); --tag-prefix-hover: #222222; " href="/t/react"><span class="crayons-tag__prefix">#</span>react</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="https://dev.to/qa3emnik/understanding-reacts-reconciliation-process-write-faster-apps-3b59#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 React’s Reconciliation Process: Write Faster Apps"> <svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" role="img" aria-labelledby="acrut7ufmuroea2wgkvkgpvjdttrg0f3" class="crayons-icon"><title id="acrut7ufmuroea2wgkvkgpvjdttrg0f3">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-2193114" class="c-btn c-btn--icon-alone bookmark-button" data-reactable-id="2193114" data-article-author-id="1297865" aria-label="Save post Understanding React’s Reconciliation Process: Write Faster Apps to reading list" title="Save post Understanding React’s Reconciliation Process: Write Faster Apps 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="2193107" data-content-user-id="239315"> <a href="https://dev.to/sjustesen/beginner-tutorial-linuxunix-logins-overview-and-a-bit-clever-tricks-with-history-3jkh" aria-labelledby="article-link-2193107" class="crayons-story__hidden-navigation-link">Beginner tutorial: Linux/Unix logins overview and a bit of clever tricks with &quot;history&quot;</a> <div class="crayons-story__body"> <div class="crayons-story__top"> <div class="crayons-story__meta"> <div class="crayons-story__author-pic"> <a href="/sjustesen" 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%2F239315%2Ff3fb744e-5461-4590-a152-f01fadcd605f.jpeg" alt="sjustesen profile" class="crayons-avatar__image" loading="lazy" /> </a> </div> <div> <div> <a href="/sjustesen" class="crayons-story__secondary fw-medium m:hidden"> Simon Justesen </a> <div class="profile-preview-card relative mb-4 s:mb-0 fw-medium hidden m:inline-block"> <button id="story-author-preview-trigger-2193107" aria-controls="story-author-preview-content-2193107" class="profile-preview-card__trigger fs-s p-1 -ml-1 -my-2 crayons-btn crayons-btn--ghost" aria-label="Simon Justesen profile details"> Simon Justesen </button> <div id="story-author-preview-content-2193107" 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="/sjustesen" 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%2F239315%2Ff3fb744e-5461-4590-a152-f01fadcd605f.jpeg" class="crayons-avatar__image" alt="" loading="lazy" /> </span> <span class="crayons-link crayons-subtitle-2 mt-5">Simon Justesen</span> </a> </div> <div class="print-hidden"> <button class="crayons-btn follow-action-button whitespace-nowrap follow-user w-100" data-info='{&quot;style&quot;:&quot;full&quot;,&quot;id&quot;:239315,&quot;className&quot;:&quot;User&quot;,&quot;name&quot;:&quot;Simon Justesen&quot;}'> Follow </button> </div> <div class="author-preview-metadata-container" data-author-id="239315"></div> </div> </div> </div> </div> <a href="https://dev.to/sjustesen/beginner-tutorial-linuxunix-logins-overview-and-a-bit-clever-tricks-with-history-3jkh" class="crayons-story__tertiary fs-xs"><time datetime="2025-01-07T12:56:09Z">Jan 7</time><span class="time-ago-indicator-initial-placeholder" data-seconds="1736254569"></span></a> </div> </div> </div> <div class="crayons-story__indention"> <h2 class="crayons-story__title"> <a href="https://dev.to/sjustesen/beginner-tutorial-linuxunix-logins-overview-and-a-bit-clever-tricks-with-history-3jkh" data-preload-image="" id="article-link-2193107"> Beginner tutorial: Linux/Unix logins overview and a bit of clever tricks with &quot;history&quot; </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/linux"><span class="crayons-tag__prefix">#</span>linux</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/unix"><span class="crayons-tag__prefix">#</span>unix</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="https://dev.to/sjustesen/beginner-tutorial-linuxunix-logins-overview-and-a-bit-clever-tricks-with-history-3jkh#comments" class="crayons-btn crayons-btn--s crayons-btn--ghost crayons-btn--icon-left flex items-center" aria-label="Add a comment to post - Beginner tutorial: Linux/Unix logins overview and a bit of clever tricks with &quot;history&quot;"> <svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" role="img" aria-labelledby="ajax31zn1x1oivw7gidn4kuevmr7fff8" class="crayons-icon"><title id="ajax31zn1x1oivw7gidn4kuevmr7fff8">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-2193107" class="c-btn c-btn--icon-alone bookmark-button" data-reactable-id="2193107" data-article-author-id="239315" aria-label="Save post Beginner tutorial: Linux/Unix logins overview and a bit of clever tricks with &quot;history&quot; to reading list" title="Save post Beginner tutorial: Linux/Unix logins overview and a bit of clever tricks with &quot;history&quot; 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="2193106" data-content-user-id="1527282"> <a href="https://dev.to/mauricemakafui/creating-a-weather-dashboard-with-aws-s3-buckets-and-openweather-api-242e" aria-labelledby="article-link-2193106" class="crayons-story__hidden-navigation-link">Creating a Weather Dashboard with AWS S3 buckets and OpenWeather API</a> <div class="crayons-story__body"> <div class="crayons-story__top"> <div class="crayons-story__meta"> <div class="crayons-story__author-pic"> <a href="/mauricemakafui" 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%2F1527282%2Fa1d84869-75fb-4488-a655-2d2ce1ecbb39.png" alt="mauricemakafui profile" class="crayons-avatar__image" loading="lazy" /> </a> </div> <div> <div> <a href="/mauricemakafui" class="crayons-story__secondary fw-medium m:hidden"> Maurice Makafui 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-2193106" aria-controls="story-author-preview-content-2193106" class="profile-preview-card__trigger fs-s p-1 -ml-1 -my-2 crayons-btn crayons-btn--ghost" aria-label="Maurice Makafui A. profile details"> Maurice Makafui A. </button> <div id="story-author-preview-content-2193106" 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="/mauricemakafui" 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%2F1527282%2Fa1d84869-75fb-4488-a655-2d2ce1ecbb39.png" class="crayons-avatar__image" alt="" loading="lazy" /> </span> <span class="crayons-link crayons-subtitle-2 mt-5">Maurice Makafui A.</span> </a> </div> <div class="print-hidden"> <button class="crayons-btn follow-action-button whitespace-nowrap follow-user w-100" data-info='{&quot;style&quot;:&quot;full&quot;,&quot;id&quot;:1527282,&quot;className&quot;:&quot;User&quot;,&quot;name&quot;:&quot;Maurice Makafui A.&quot;}'> Follow </button> </div> <div class="author-preview-metadata-container" data-author-id="1527282"></div> </div> </div> </div> </div> <a href="https://dev.to/mauricemakafui/creating-a-weather-dashboard-with-aws-s3-buckets-and-openweather-api-242e" class="crayons-story__tertiary fs-xs"><time datetime="2025-01-07T12:55:21Z">Jan 7</time><span class="time-ago-indicator-initial-placeholder" data-seconds="1736254521"></span></a> </div> </div> </div> <div class="crayons-story__indention"> <h2 class="crayons-story__title"> <a href="https://dev.to/mauricemakafui/creating-a-weather-dashboard-with-aws-s3-buckets-and-openweather-api-242e" 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%2Fm1hqgelb99fjzzyu96t2.png" id="article-link-2193106"> Creating a Weather Dashboard with AWS S3 buckets and OpenWeather API </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/30daysdevopschallenge"><span class="crayons-tag__prefix">#</span>30daysdevopschallenge</a> <a class="crayons-tag crayons-tag--monochrome " style=" --tag-bg: rgba(33, 43, 58, 0.10); --tag-prefix: #212b3a; --tag-bg-hover: rgba(33, 43, 58, 0.10); --tag-prefix-hover: #212b3a; " href="/t/aws"><span class="crayons-tag__prefix">#</span>aws</a> <a class="crayons-tag crayons-tag--monochrome " style=" --tag-bg: rgba(151, 37, 234, 0.10); --tag-prefix: #9725ea; --tag-bg-hover: rgba(151, 37, 234, 0.10); --tag-prefix-hover: #9725ea; " href="/t/api"><span class="crayons-tag__prefix">#</span>api</a> </div> <div class="crayons-story__bottom"> <div class="crayons-story__details"> <a href="https://dev.to/mauricemakafui/creating-a-weather-dashboard-with-aws-s3-buckets-and-openweather-api-242e#comments" class="crayons-btn crayons-btn--s crayons-btn--ghost crayons-btn--icon-left flex items-center" aria-label="Add a comment to post - Creating a Weather Dashboard with AWS S3 buckets and OpenWeather API"> <svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" role="img" aria-labelledby="aoheq4oadgt3mq75n5c4ngfuzdcjjn8l" class="crayons-icon"><title id="aoheq4oadgt3mq75n5c4ngfuzdcjjn8l">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-2193106" class="c-btn c-btn--icon-alone bookmark-button" data-reactable-id="2193106" data-article-author-id="1527282" aria-label="Save post Creating a Weather Dashboard with AWS S3 buckets and OpenWeather API to reading list" title="Save post Creating a Weather Dashboard with AWS S3 buckets and OpenWeather API 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="2193101" data-content-user-id="1284773"> <a href="https://dev.to/if-els/figma-for-programmers-omg" aria-labelledby="article-link-2193101" class="crayons-story__hidden-navigation-link">Figma for Programmers</a> <div class="crayons-story__body"> <div class="crayons-story__top"> <div class="crayons-story__meta"> <div class="crayons-story__author-pic"> <a href="/if-els" 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%2F1284773%2Fa1e37e4e-d3b1-4222-a55f-7d8bc4211938.jpeg" alt="if-els profile" class="crayons-avatar__image" loading="lazy" /> </a> </div> <div> <div> <a href="/if-els" class="crayons-story__secondary fw-medium m:hidden"> tyrael </a> <div class="profile-preview-card relative mb-4 s:mb-0 fw-medium hidden m:inline-block"> <button id="story-author-preview-trigger-2193101" aria-controls="story-author-preview-content-2193101" class="profile-preview-card__trigger fs-s p-1 -ml-1 -my-2 crayons-btn crayons-btn--ghost" aria-label="tyrael profile details"> tyrael </button> <div id="story-author-preview-content-2193101" 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="/if-els" 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%2F1284773%2Fa1e37e4e-d3b1-4222-a55f-7d8bc4211938.jpeg" class="crayons-avatar__image" alt="" loading="lazy" /> </span> <span class="crayons-link crayons-subtitle-2 mt-5">tyrael</span> </a> </div> <div class="print-hidden"> <button class="crayons-btn follow-action-button whitespace-nowrap follow-user w-100" data-info='{&quot;style&quot;:&quot;full&quot;,&quot;id&quot;:1284773,&quot;className&quot;:&quot;User&quot;,&quot;name&quot;:&quot;tyrael&quot;}'> Follow </button> </div> <div class="author-preview-metadata-container" data-author-id="1284773"></div> </div> </div> </div> </div> <a href="https://dev.to/if-els/figma-for-programmers-omg" class="crayons-story__tertiary fs-xs"><time datetime="2025-01-07T12:53:22Z">Jan 7</time><span class="time-ago-indicator-initial-placeholder" data-seconds="1736254402"></span></a> </div> </div> </div> <div class="crayons-story__indention"> <h2 class="crayons-story__title"> <a href="https://dev.to/if-els/figma-for-programmers-omg" 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%2F5s90a770f6odrco5yz5j.png" id="article-link-2193101"> Figma for Programmers </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(59, 73, 223, 0.10); --tag-prefix: #3b49df; --tag-bg-hover: rgba(59, 73, 223, 0.10); --tag-prefix-hover: #3b49df; " href="/t/figma"><span class="crayons-tag__prefix">#</span>figma</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> <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="https://dev.to/if-els/figma-for-programmers-omg#comments" class="crayons-btn crayons-btn--s crayons-btn--ghost crayons-btn--icon-left flex items-center" aria-label="Add a comment to post - Figma for Programmers"> <svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" role="img" aria-labelledby="aq1esm3ptb4hb0rl2tup0ex9oo7hdjw2" class="crayons-icon"><title id="aq1esm3ptb4hb0rl2tup0ex9oo7hdjw2">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-2193101" class="c-btn c-btn--icon-alone bookmark-button" data-reactable-id="2193101" data-article-author-id="1284773" aria-label="Save post Figma for Programmers to reading list" title="Save post Figma for Programmers 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="2193099" data-content-user-id="2660416"> <a href="https://dev.to/aezvenkov/the-role-of-android-in-iot-development-38gf" aria-labelledby="article-link-2193099" class="crayons-story__hidden-navigation-link">The Role of Android in IoT Development</a> <div class="crayons-story__body"> <div class="crayons-story__top"> <div class="crayons-story__meta"> <div class="crayons-story__author-pic"> <a href="/aezvenkov" 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%2F2660416%2Fbb5129e0-7b89-4d13-ad54-c2dad9aa3f08.jpg" alt="aezvenkov profile" class="crayons-avatar__image" loading="lazy" /> </a> </div> <div> <div> <a href="/aezvenkov" class="crayons-story__secondary fw-medium m:hidden"> Artsem Yezviankou </a> <div class="profile-preview-card relative mb-4 s:mb-0 fw-medium hidden m:inline-block"> <button id="story-author-preview-trigger-2193099" aria-controls="story-author-preview-content-2193099" class="profile-preview-card__trigger fs-s p-1 -ml-1 -my-2 crayons-btn crayons-btn--ghost" aria-label="Artsem Yezviankou profile details"> Artsem Yezviankou </button> <div id="story-author-preview-content-2193099" 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="/aezvenkov" 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%2F2660416%2Fbb5129e0-7b89-4d13-ad54-c2dad9aa3f08.jpg" class="crayons-avatar__image" alt="" loading="lazy" /> </span> <span class="crayons-link crayons-subtitle-2 mt-5">Artsem Yezviankou</span> </a> </div> <div class="print-hidden"> <button class="crayons-btn follow-action-button whitespace-nowrap follow-user w-100" data-info='{&quot;style&quot;:&quot;full&quot;,&quot;id&quot;:2660416,&quot;className&quot;:&quot;User&quot;,&quot;name&quot;:&quot;Artsem Yezviankou&quot;}'> Follow </button> </div> <div class="author-preview-metadata-container" data-author-id="2660416"></div> </div> </div> </div> </div> <a href="https://dev.to/aezvenkov/the-role-of-android-in-iot-development-38gf" class="crayons-story__tertiary fs-xs"><time datetime="2025-01-07T12:45:56Z">Jan 7</time><span class="time-ago-indicator-initial-placeholder" data-seconds="1736253956"></span></a> </div> </div> </div> <div class="crayons-story__indention"> <h2 class="crayons-story__title"> <a href="https://dev.to/aezvenkov/the-role-of-android-in-iot-development-38gf" data-preload-image="" id="article-link-2193099"> The Role of Android in IoT Development </a> </h2> <div class="crayons-story__tags"> <a class="crayons-tag crayons-tag--monochrome " style=" --tag-bg: rgba(86, 160, 54, 0.10); --tag-prefix: #56a036; --tag-bg-hover: rgba(86, 160, 54, 0.10); --tag-prefix-hover: #56a036; " href="/t/android"><span class="crayons-tag__prefix">#</span>android</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> <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/software"><span class="crayons-tag__prefix">#</span>software</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/softwaredevelopment"><span class="crayons-tag__prefix">#</span>softwaredevelopment</a> </div> <div class="crayons-story__bottom"> <div class="crayons-story__details"> <a href="https://dev.to/aezvenkov/the-role-of-android-in-iot-development-38gf#comments" class="crayons-btn crayons-btn--s crayons-btn--ghost crayons-btn--icon-left flex items-center" aria-label="Add a comment to post - The Role of Android in IoT Development"> <svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" role="img" aria-labelledby="anritjavzrqrpop0xs2u0jqlsnmwnjn4" class="crayons-icon"><title id="anritjavzrqrpop0xs2u0jqlsnmwnjn4">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-2193099" class="c-btn c-btn--icon-alone bookmark-button" data-reactable-id="2193099" data-article-author-id="2660416" aria-label="Save post The Role of Android in IoT Development to reading list" title="Save post The Role of Android in IoT Development 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="2193015" data-content-user-id="1936420"> <a href="https://dev.to/ethanleetech/validate-email-address-format-and-domain-libraries-for-use-in-nextjs-17be" aria-labelledby="article-link-2193015" class="crayons-story__hidden-navigation-link">Validate Email Address Format and Domain Libraries for Use in Next.js</a> <div class="crayons-story__body"> <div class="crayons-story__top"> <div class="crayons-story__meta"> <div class="crayons-story__author-pic"> <a href="/ethanleetech" 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%2F1936420%2F394fa133-ff74-4a84-aebf-0da66a3595e1.jpg" alt="ethanleetech profile" class="crayons-avatar__image" loading="lazy" /> </a> </div> <div> <div> <a href="/ethanleetech" class="crayons-story__secondary fw-medium m:hidden"> Ethan Lee </a> <div class="profile-preview-card relative mb-4 s:mb-0 fw-medium hidden m:inline-block"> <button id="story-author-preview-trigger-2193015" aria-controls="story-author-preview-content-2193015" class="profile-preview-card__trigger fs-s p-1 -ml-1 -my-2 crayons-btn crayons-btn--ghost" aria-label="Ethan Lee profile details"> Ethan Lee </button> <div id="story-author-preview-content-2193015" 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="/ethanleetech" 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%2F1936420%2F394fa133-ff74-4a84-aebf-0da66a3595e1.jpg" class="crayons-avatar__image" alt="" loading="lazy" /> </span> <span class="crayons-link crayons-subtitle-2 mt-5">Ethan Lee</span> </a> </div> <div class="print-hidden"> <button class="crayons-btn follow-action-button whitespace-nowrap follow-user w-100" data-info='{&quot;style&quot;:&quot;full&quot;,&quot;id&quot;:1936420,&quot;className&quot;:&quot;User&quot;,&quot;name&quot;:&quot;Ethan Lee&quot;}'> Follow </button> </div> <div class="author-preview-metadata-container" data-author-id="1936420"></div> </div> </div> </div> </div> <a href="https://dev.to/ethanleetech/validate-email-address-format-and-domain-libraries-for-use-in-nextjs-17be" class="crayons-story__tertiary fs-xs"><time datetime="2025-01-07T11:40:22Z">Jan 7</time><span class="time-ago-indicator-initial-placeholder" data-seconds="1736250022"></span></a> </div> </div> </div> <div class="crayons-story__indention"> <h2 class="crayons-story__title"> <a href="https://dev.to/ethanleetech/validate-email-address-format-and-domain-libraries-for-use-in-nextjs-17be" data-preload-image="" id="article-link-2193015"> Validate Email Address Format and Domain Libraries for Use in Next.js </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/nextjs"><span class="crayons-tag__prefix">#</span>nextjs</a> <a class="crayons-tag crayons-tag--monochrome " style=" --tag-bg: rgba(230, 255, 251, 0.10); --tag-prefix: #E6FFFB; --tag-bg-hover: rgba(230, 255, 251, 0.10); --tag-prefix-hover: #E6FFFB; " href="/t/startup"><span class="crayons-tag__prefix">#</span>startup</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/mvp"><span class="crayons-tag__prefix">#</span>mvp</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="https://dev.to/ethanleetech/validate-email-address-format-and-domain-libraries-for-use-in-nextjs-17be" class="crayons-btn crayons-btn--s crayons-btn--ghost crayons-btn--icon-left" data-reaction-count data-reactable-id="2193015" aria-label="Add a comment to post - Validate Email Address Format and Domain Libraries for Use in Next.js"> <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="https://dev.to/ethanleetech/validate-email-address-format-and-domain-libraries-for-use-in-nextjs-17be#comments" class="crayons-btn crayons-btn--s crayons-btn--ghost crayons-btn--icon-left flex items-center" aria-label="Add a comment to post - Validate Email Address Format and Domain Libraries for Use in Next.js"> <svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" role="img" aria-labelledby="ale6oncx3fsryldpssgo2lyf5tys9127" class="crayons-icon"><title id="ale6oncx3fsryldpssgo2lyf5tys9127">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-2193015" class="c-btn c-btn--icon-alone bookmark-button" data-reactable-id="2193015" data-article-author-id="1936420" aria-label="Save post Validate Email Address Format and Domain Libraries for Use in Next.js to reading list" title="Save post Validate Email Address Format and Domain Libraries for Use in Next.js 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="2193026" data-content-user-id="2581316"> <a href="https://dev.to/ernest_yoyowah/compiling-2025-year-of-growth-17j9" aria-labelledby="article-link-2193026" class="crayons-story__hidden-navigation-link">Compiling 2025: Year of Growth 🌱</a> <div class="crayons-story__body"> <div class="crayons-story__top"> <div class="crayons-story__meta"> <div class="crayons-story__author-pic"> <a href="/ernest_yoyowah" 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%2F2581316%2F4e003d13-fc2b-40c4-8857-239cebbf9a82.png" alt="ernest_yoyowah profile" class="crayons-avatar__image" loading="lazy" /> </a> </div> <div> <div> <a href="/ernest_yoyowah" class="crayons-story__secondary fw-medium m:hidden"> Ernest Yoyowah </a> <div class="profile-preview-card relative mb-4 s:mb-0 fw-medium hidden m:inline-block"> <button id="story-author-preview-trigger-2193026" aria-controls="story-author-preview-content-2193026" class="profile-preview-card__trigger fs-s p-1 -ml-1 -my-2 crayons-btn crayons-btn--ghost" aria-label="Ernest Yoyowah profile details"> Ernest Yoyowah </button> <div id="story-author-preview-content-2193026" 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="/ernest_yoyowah" 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%2F2581316%2F4e003d13-fc2b-40c4-8857-239cebbf9a82.png" class="crayons-avatar__image" alt="" loading="lazy" /> </span> <span class="crayons-link crayons-subtitle-2 mt-5">Ernest Yoyowah</span> </a> </div> <div class="print-hidden"> <button class="crayons-btn follow-action-button whitespace-nowrap follow-user w-100" data-info='{&quot;style&quot;:&quot;full&quot;,&quot;id&quot;:2581316,&quot;className&quot;:&quot;User&quot;,&quot;name&quot;:&quot;Ernest Yoyowah&quot;}'> Follow </button> </div> <div class="author-preview-metadata-container" data-author-id="2581316"></div> </div> </div> </div> </div> <a href="https://dev.to/ernest_yoyowah/compiling-2025-year-of-growth-17j9" class="crayons-story__tertiary fs-xs"><time datetime="2025-01-07T11:49:48Z">Jan 7</time><span class="time-ago-indicator-initial-placeholder" data-seconds="1736250588"></span></a> </div> </div> </div> <div class="crayons-story__indention"> <h2 class="crayons-story__title"> <a href="https://dev.to/ernest_yoyowah/compiling-2025-year-of-growth-17j9" data-preload-image="" id="article-link-2193026"> Compiling 2025: Year of Growth 🌱 </a> </h2> <div class="crayons-story__tags"> <a class="crayons-tag crayons-tag--monochrome " style=" --tag-bg: rgba(132, 206, 249, 0.10); --tag-prefix: #84CEF9; --tag-bg-hover: rgba(132, 206, 249, 0.10); --tag-prefix-hover: #84CEF9; " href="/t/devchallenge"><span class="crayons-tag__prefix">#</span>devchallenge</a> <a class="crayons-tag crayons-tag--monochrome " style=" --tag-bg: rgba(65, 65, 253, 0.10); --tag-prefix: #4141FD; --tag-bg-hover: rgba(65, 65, 253, 0.10); --tag-prefix-hover: #4141FD; " href="/t/newyearchallenge"><span class="crayons-tag__prefix">#</span>newyearchallenge</a> <a class="crayons-tag crayons-tag--monochrome " style=" --tag-bg: rgba(42, 37, 102, 0.10); --tag-prefix: #2A2566; --tag-bg-hover: rgba(42, 37, 102, 0.10); --tag-prefix-hover: #2A2566; " href="/t/career"><span class="crayons-tag__prefix">#</span>career</a> </div> <div class="crayons-story__bottom"> <div class="crayons-story__details"> <a href="https://dev.to/ernest_yoyowah/compiling-2025-year-of-growth-17j9" class="crayons-btn crayons-btn--s crayons-btn--ghost crayons-btn--icon-left" data-reaction-count data-reactable-id="2193026" aria-label="Add a comment to post - Compiling 2025: Year of Growth 🌱"> <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="https://dev.to/ernest_yoyowah/compiling-2025-year-of-growth-17j9#comments" class="crayons-btn crayons-btn--s crayons-btn--ghost crayons-btn--icon-left flex items-center" aria-label="Add a comment to post - Compiling 2025: Year of Growth 🌱"> <svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" role="img" aria-labelledby="aqlgh30pb2ucn3lg16rmpvbeunyce2sn" class="crayons-icon"><title id="aqlgh30pb2ucn3lg16rmpvbeunyce2sn">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-2193026" class="c-btn c-btn--icon-alone bookmark-button" data-reactable-id="2193026" data-article-author-id="2581316" aria-label="Save post Compiling 2025: Year of Growth 🌱 to reading list" title="Save post Compiling 2025: Year of Growth 🌱 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="2193089" data-content-user-id="2668176"> <a href="https://dev.to/charles_maddock/how-to-build-ai-agents-that-can-use-any-website-cpb" aria-labelledby="article-link-2193089" class="crayons-story__hidden-navigation-link">How to Build AI Agents that can Use any Website</a> <div class="crayons-story__body"> <div class="crayons-story__top"> <div class="crayons-story__meta"> <div class="crayons-story__author-pic"> <a href="/charles_maddock" 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%2F2668176%2F61fffa34-acf1-4b23-8858-d90da32fd30d.jpg" alt="charles_maddock profile" class="crayons-avatar__image" loading="lazy" /> </a> </div> <div> <div> <a href="/charles_maddock" class="crayons-story__secondary fw-medium m:hidden"> charles Maddock </a> <div class="profile-preview-card relative mb-4 s:mb-0 fw-medium hidden m:inline-block"> <button id="story-author-preview-trigger-2193089" aria-controls="story-author-preview-content-2193089" class="profile-preview-card__trigger fs-s p-1 -ml-1 -my-2 crayons-btn crayons-btn--ghost" aria-label="charles Maddock profile details"> charles Maddock </button> <div id="story-author-preview-content-2193089" 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="/charles_maddock" 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%2F2668176%2F61fffa34-acf1-4b23-8858-d90da32fd30d.jpg" class="crayons-avatar__image" alt="" loading="lazy" /> </span> <span class="crayons-link crayons-subtitle-2 mt-5">charles Maddock</span> </a> </div> <div class="print-hidden"> <button class="crayons-btn follow-action-button whitespace-nowrap follow-user w-100" data-info='{&quot;style&quot;:&quot;full&quot;,&quot;id&quot;:2668176,&quot;className&quot;:&quot;User&quot;,&quot;name&quot;:&quot;charles Maddock&quot;}'> Follow </button> </div> <div class="author-preview-metadata-container" data-author-id="2668176"></div> </div> </div> </div> </div> <a href="https://dev.to/charles_maddock/how-to-build-ai-agents-that-can-use-any-website-cpb" class="crayons-story__tertiary fs-xs"><time datetime="2025-01-07T12:30:09Z">Jan 7</time><span class="time-ago-indicator-initial-placeholder" data-seconds="1736253009"></span></a> </div> </div> </div> <div class="crayons-story__indention"> <h2 class="crayons-story__title"> <a href="https://dev.to/charles_maddock/how-to-build-ai-agents-that-can-use-any-website-cpb" 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%2Fki3um6azkz8df6o88usn.jpeg" id="article-link-2193089"> How to Build AI Agents that can Use any Website </a> </h2> <div class="crayons-story__tags"> <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(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(30, 56, 187, 0.10); --tag-prefix: #1E38BB; --tag-bg-hover: rgba(30, 56, 187, 0.10); --tag-prefix-hover: #1E38BB; " href="/t/python"><span class="crayons-tag__prefix">#</span>python</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> </div> <div class="crayons-story__bottom"> <div class="crayons-story__details"> <a href="https://dev.to/charles_maddock/how-to-build-ai-agents-that-can-use-any-website-cpb#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 Build AI Agents that can Use any Website"> <svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" role="img" aria-labelledby="aijop9ay42uwhoygzp8gh7s326map5bn" class="crayons-icon"><title id="aijop9ay42uwhoygzp8gh7s326map5bn">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-2193089" class="c-btn c-btn--icon-alone bookmark-button" data-reactable-id="2193089" data-article-author-id="2668176" aria-label="Save post How to Build AI Agents that can Use any Website to reading list" title="Save post How to Build AI Agents that can Use any Website 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="2193091" data-content-user-id="2669763"> <a href="https://dev.to/sattavatakshat/from-url-to-ip-address-understanding-the-dns-resolution-journey-10jm" aria-labelledby="article-link-2193091" class="crayons-story__hidden-navigation-link">From URL to IP Address: Understanding the DNS Resolution Journey</a> <div class="crayons-story__body"> <div class="crayons-story__top"> <div class="crayons-story__meta"> <div class="crayons-story__author-pic"> <a href="/sattavatakshat" 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%2F2669763%2Fa6d3c9bf-5677-40ec-b448-0c9600811fa1.jpg" alt="sattavatakshat profile" class="crayons-avatar__image" loading="lazy" /> </a> </div> <div> <div> <a href="/sattavatakshat" class="crayons-story__secondary fw-medium m:hidden"> Akshat Jain </a> <div class="profile-preview-card relative mb-4 s:mb-0 fw-medium hidden m:inline-block"> <button id="story-author-preview-trigger-2193091" aria-controls="story-author-preview-content-2193091" class="profile-preview-card__trigger fs-s p-1 -ml-1 -my-2 crayons-btn crayons-btn--ghost" aria-label="Akshat Jain profile details"> Akshat Jain </button> <div id="story-author-preview-content-2193091" 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="/sattavatakshat" 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%2F2669763%2Fa6d3c9bf-5677-40ec-b448-0c9600811fa1.jpg" class="crayons-avatar__image" alt="" loading="lazy" /> </span> <span class="crayons-link crayons-subtitle-2 mt-5">Akshat Jain</span> </a> </div> <div class="print-hidden"> <button class="crayons-btn follow-action-button whitespace-nowrap follow-user w-100" data-info='{&quot;style&quot;:&quot;full&quot;,&quot;id&quot;:2669763,&quot;className&quot;:&quot;User&quot;,&quot;name&quot;:&quot;Akshat Jain&quot;}'> Follow </button> </div> <div class="author-preview-metadata-container" data-author-id="2669763"></div> </div> </div> </div> </div> <a href="https://dev.to/sattavatakshat/from-url-to-ip-address-understanding-the-dns-resolution-journey-10jm" class="crayons-story__tertiary fs-xs"><time datetime="2025-01-07T12:31:37Z">Jan 7</time><span class="time-ago-indicator-initial-placeholder" data-seconds="1736253097"></span></a> </div> </div> </div> <div class="crayons-story__indention"> <h2 class="crayons-story__title"> <a href="https://dev.to/sattavatakshat/from-url-to-ip-address-understanding-the-dns-resolution-journey-10jm" 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%2F5pmgrbxa2qlwhvv5xuu9.jpg" id="article-link-2193091"> From URL to IP Address: Understanding the DNS Resolution Journey </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(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(59, 73, 223, 0.10); --tag-prefix: #3b49df; --tag-bg-hover: rgba(59, 73, 223, 0.10); --tag-prefix-hover: #3b49df; " href="/t/development"><span class="crayons-tag__prefix">#</span>development</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="https://dev.to/sattavatakshat/from-url-to-ip-address-understanding-the-dns-resolution-journey-10jm#comments" class="crayons-btn crayons-btn--s crayons-btn--ghost crayons-btn--icon-left flex items-center" aria-label="Add a comment to post - From URL to IP Address: Understanding the DNS Resolution Journey"> <svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" role="img" aria-labelledby="ab2dfjd6jzyeicdnvmr2njhbo2t8a0p6" class="crayons-icon"><title id="ab2dfjd6jzyeicdnvmr2njhbo2t8a0p6">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-2193091" class="c-btn c-btn--icon-alone bookmark-button" data-reactable-id="2193091" data-article-author-id="2669763" aria-label="Save post From URL to IP Address: Understanding the DNS Resolution Journey to reading list" title="Save post From URL to IP Address: Understanding the DNS Resolution Journey 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="2193087" data-content-user-id="1380032"> <a href="https://dev.to/pravin_niceguy/hi-i-am-new-here-is-there-a-cross-platform-posting-available-here-43ce" aria-labelledby="article-link-2193087" class="crayons-story__hidden-navigation-link">hi i am new here :) is there a cross platform posting available here?</a> <div class="crayons-story__body"> <div class="crayons-story__top"> <div class="crayons-story__meta"> <div class="crayons-story__author-pic"> <a href="/pravin_niceguy" 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%2F1380032%2Fa3c46a16-d72e-4003-9fed-7213a1a124c7.jpg" alt="pravin_niceguy profile" class="crayons-avatar__image" loading="lazy" /> </a> </div> <div> <div> <a href="/pravin_niceguy" class="crayons-story__secondary fw-medium m:hidden"> pravin boppuri </a> <div class="profile-preview-card relative mb-4 s:mb-0 fw-medium hidden m:inline-block"> <button id="story-author-preview-trigger-2193087" aria-controls="story-author-preview-content-2193087" class="profile-preview-card__trigger fs-s p-1 -ml-1 -my-2 crayons-btn crayons-btn--ghost" aria-label="pravin boppuri profile details"> pravin boppuri </button> <div id="story-author-preview-content-2193087" 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="/pravin_niceguy" 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%2F1380032%2Fa3c46a16-d72e-4003-9fed-7213a1a124c7.jpg" class="crayons-avatar__image" alt="" loading="lazy" /> </span> <span class="crayons-link crayons-subtitle-2 mt-5">pravin boppuri</span> </a> </div> <div class="print-hidden"> <button class="crayons-btn follow-action-button whitespace-nowrap follow-user w-100" data-info='{&quot;style&quot;:&quot;full&quot;,&quot;id&quot;:1380032,&quot;className&quot;:&quot;User&quot;,&quot;name&quot;:&quot;pravin boppuri&quot;}'> Follow </button> </div> <div class="author-preview-metadata-container" data-author-id="1380032"></div> </div> </div> </div> </div> <a href="https://dev.to/pravin_niceguy/hi-i-am-new-here-is-there-a-cross-platform-posting-available-here-43ce" class="crayons-story__tertiary fs-xs"><time datetime="2025-01-07T12:28:15Z">Jan 7</time><span class="time-ago-indicator-initial-placeholder" data-seconds="1736252895"></span></a> </div> </div> </div> <div class="crayons-story__indention"> <h2 class="crayons-story__title"> <a href="https://dev.to/pravin_niceguy/hi-i-am-new-here-is-there-a-cross-platform-posting-available-here-43ce" data-preload-image="" id="article-link-2193087"> hi i am new here :) is there a cross platform posting available here? </a> </h2> <div class="crayons-story__tags"> </div> <div class="crayons-story__bottom"> <div class="crayons-story__details"> <a href="https://dev.to/pravin_niceguy/hi-i-am-new-here-is-there-a-cross-platform-posting-available-here-43ce#comments" class="crayons-btn crayons-btn--s crayons-btn--ghost crayons-btn--icon-left flex items-center" aria-label="Add a comment to post - hi i am new here :) is there a cross platform posting available here?"> <svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" role="img" aria-labelledby="aokujwsgntfed7bup0izbfcyc5v2032d" class="crayons-icon"><title id="aokujwsgntfed7bup0izbfcyc5v2032d">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-2193087" class="c-btn c-btn--icon-alone bookmark-button" data-reactable-id="2193087" data-article-author-id="1380032" aria-label="Save post hi i am new here :) is there a cross platform posting available here? to reading list" title="Save post hi i am new here :) is there a cross platform posting available here? 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="2193080" data-content-user-id="662369"> <a href="https://dev.to/manojspace/understanding-react-19-new-hooks-4dkb" aria-labelledby="article-link-2193080" class="crayons-story__hidden-navigation-link">Understanding React 19 New Hooks</a> <div class="crayons-story__body"> <div class="crayons-story__top"> <div class="crayons-story__meta"> <div class="crayons-story__author-pic"> <a href="/manojspace" 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%2F662369%2F249799ab-f15b-4a02-ad15-d7567e080f38.jpg" alt="manojspace profile" class="crayons-avatar__image" loading="lazy" /> </a> </div> <div> <div> <a href="/manojspace" class="crayons-story__secondary fw-medium m:hidden"> Manoj Swami </a> <div class="profile-preview-card relative mb-4 s:mb-0 fw-medium hidden m:inline-block"> <button id="story-author-preview-trigger-2193080" aria-controls="story-author-preview-content-2193080" class="profile-preview-card__trigger fs-s p-1 -ml-1 -my-2 crayons-btn crayons-btn--ghost" aria-label="Manoj Swami profile details"> Manoj Swami </button> <div id="story-author-preview-content-2193080" 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="/manojspace" 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%2F662369%2F249799ab-f15b-4a02-ad15-d7567e080f38.jpg" class="crayons-avatar__image" alt="" loading="lazy" /> </span> <span class="crayons-link crayons-subtitle-2 mt-5">Manoj Swami</span> </a> </div> <div class="print-hidden"> <button class="crayons-btn follow-action-button whitespace-nowrap follow-user w-100" data-info='{&quot;style&quot;:&quot;full&quot;,&quot;id&quot;:662369,&quot;className&quot;:&quot;User&quot;,&quot;name&quot;:&quot;Manoj Swami&quot;}'> Follow </button> </div> <div class="author-preview-metadata-container" data-author-id="662369"></div> </div> </div> </div> </div> <a href="https://dev.to/manojspace/understanding-react-19-new-hooks-4dkb" class="crayons-story__tertiary fs-xs"><time datetime="2025-01-07T12:22:30Z">Jan 7</time><span class="time-ago-indicator-initial-placeholder" data-seconds="1736252550"></span></a> </div> </div> </div> <div class="crayons-story__indention"> <h2 class="crayons-story__title"> <a href="https://dev.to/manojspace/understanding-react-19-new-hooks-4dkb" data-preload-image="" id="article-link-2193080"> Understanding React 19 New Hooks </a> </h2> <div class="crayons-story__tags"> <a class="crayons-tag crayons-tag--monochrome " style=" --tag-bg: rgba(34, 34, 34, 0.10); --tag-prefix: #222222; --tag-bg-hover: rgba(34, 34, 34, 0.10); --tag-prefix-hover: #222222; " href="/t/react"><span class="crayons-tag__prefix">#</span>react</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(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="https://dev.to/manojspace/understanding-react-19-new-hooks-4dkb#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 React 19 New Hooks"> <svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" role="img" aria-labelledby="arwlkicfquua72bg01tr0zkwrkxd3ioq" class="crayons-icon"><title id="arwlkicfquua72bg01tr0zkwrkxd3ioq">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-2193080" class="c-btn c-btn--icon-alone bookmark-button" data-reactable-id="2193080" data-article-author-id="662369" aria-label="Save post Understanding React 19 New Hooks to reading list" title="Save post Understanding React 19 New Hooks 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="2193045" data-content-user-id="956570"> <a href="https://dev.to/nadeemshaik/fit-vs-fittransform-4ae5" aria-labelledby="article-link-2193045" class="crayons-story__hidden-navigation-link">Fit vs Fit_transform</a> <div class="crayons-story__body"> <div class="crayons-story__top"> <div class="crayons-story__meta"> <div class="crayons-story__author-pic"> <a href="/nadeemshaik" 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%2F956570%2F73033d3b-3702-4168-a16d-4cea59e4cd31.png" alt="nadeemshaik profile" class="crayons-avatar__image" loading="lazy" /> </a> </div> <div> <div> <a href="/nadeemshaik" class="crayons-story__secondary fw-medium m:hidden"> NADEEM SHAIK </a> <div class="profile-preview-card relative mb-4 s:mb-0 fw-medium hidden m:inline-block"> <button id="story-author-preview-trigger-2193045" aria-controls="story-author-preview-content-2193045" class="profile-preview-card__trigger fs-s p-1 -ml-1 -my-2 crayons-btn crayons-btn--ghost" aria-label="NADEEM SHAIK profile details"> NADEEM SHAIK </button> <div id="story-author-preview-content-2193045" 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="/nadeemshaik" 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%2F956570%2F73033d3b-3702-4168-a16d-4cea59e4cd31.png" class="crayons-avatar__image" alt="" loading="lazy" /> </span> <span class="crayons-link crayons-subtitle-2 mt-5">NADEEM SHAIK</span> </a> </div> <div class="print-hidden"> <button class="crayons-btn follow-action-button whitespace-nowrap follow-user w-100" data-info='{&quot;style&quot;:&quot;full&quot;,&quot;id&quot;:956570,&quot;className&quot;:&quot;User&quot;,&quot;name&quot;:&quot;NADEEM SHAIK&quot;}'> Follow </button> </div> <div class="author-preview-metadata-container" data-author-id="956570"></div> </div> </div> </div> </div> <a href="https://dev.to/nadeemshaik/fit-vs-fittransform-4ae5" class="crayons-story__tertiary fs-xs"><time datetime="2025-01-07T12:04:57Z">Jan 7</time><span class="time-ago-indicator-initial-placeholder" data-seconds="1736251497"></span></a> </div> </div> </div> <div class="crayons-story__indention"> <h2 class="crayons-story__title"> <a href="https://dev.to/nadeemshaik/fit-vs-fittransform-4ae5" 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%2Faau9267u1l9nmqcipi1t.jpg" id="article-link-2193045"> Fit vs Fit_transform </a> </h2> <div class="crayons-story__tags"> <a class="crayons-tag crayons-tag--monochrome " style=" --tag-bg: rgba(229, 255, 227, 0.10); --tag-prefix: #E5FFE3; --tag-bg-hover: rgba(229, 255, 227, 0.10); --tag-prefix-hover: #E5FFE3; " href="/t/machinelearning"><span class="crayons-tag__prefix">#</span>machinelearning</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/datapreprocessing"><span class="crayons-tag__prefix">#</span>datapreprocessing</a> <a class="crayons-tag crayons-tag--monochrome " style=" --tag-bg: rgba(30, 56, 187, 0.10); --tag-prefix: #1E38BB; --tag-bg-hover: rgba(30, 56, 187, 0.10); --tag-prefix-hover: #1E38BB; " href="/t/python"><span class="crayons-tag__prefix">#</span>python</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/sklearn"><span class="crayons-tag__prefix">#</span>sklearn</a> </div> <div class="crayons-story__bottom"> <div class="crayons-story__details"> <a href="https://dev.to/nadeemshaik/fit-vs-fittransform-4ae5#comments" class="crayons-btn crayons-btn--s crayons-btn--ghost crayons-btn--icon-left flex items-center" aria-label="Add a comment to post - Fit vs Fit_transform"> <svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" role="img" aria-labelledby="a8ns49oqv5oyxxj6swvjgkbdff1c7nbc" class="crayons-icon"><title id="a8ns49oqv5oyxxj6swvjgkbdff1c7nbc">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-2193045" class="c-btn c-btn--icon-alone bookmark-button" data-reactable-id="2193045" data-article-author-id="956570" aria-label="Save post Fit vs Fit_transform to reading list" title="Save post Fit vs Fit_transform 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="2193011" data-content-user-id="2589617"> <a href="https://dev.to/neelakandan_ravi_2000/systemoutprintln-1mjn" aria-labelledby="article-link-2193011" class="crayons-story__hidden-navigation-link">System.out.println()</a> <div class="crayons-story__body"> <div class="crayons-story__top"> <div class="crayons-story__meta"> <div class="crayons-story__author-pic"> <a href="/neelakandan_ravi_2000" 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%2F2589617%2F18f8cbcb-a60a-4bb3-800c-e18665c602a2.jpg" alt="neelakandan_ravi_2000 profile" class="crayons-avatar__image" loading="lazy" /> </a> </div> <div> <div> <a href="/neelakandan_ravi_2000" class="crayons-story__secondary fw-medium m:hidden"> Neelakandan R </a> <div class="profile-preview-card relative mb-4 s:mb-0 fw-medium hidden m:inline-block"> <button id="story-author-preview-trigger-2193011" aria-controls="story-author-preview-content-2193011" class="profile-preview-card__trigger fs-s p-1 -ml-1 -my-2 crayons-btn crayons-btn--ghost" aria-label="Neelakandan R profile details"> Neelakandan R </button> <div id="story-author-preview-content-2193011" 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="/neelakandan_ravi_2000" 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%2F2589617%2F18f8cbcb-a60a-4bb3-800c-e18665c602a2.jpg" class="crayons-avatar__image" alt="" loading="lazy" /> </span> <span class="crayons-link crayons-subtitle-2 mt-5">Neelakandan R</span> </a> </div> <div class="print-hidden"> <button class="crayons-btn follow-action-button whitespace-nowrap follow-user w-100" data-info='{&quot;style&quot;:&quot;full&quot;,&quot;id&quot;:2589617,&quot;className&quot;:&quot;User&quot;,&quot;name&quot;:&quot;Neelakandan R&quot;}'> Follow </button> </div> <div class="author-preview-metadata-container" data-author-id="2589617"></div> </div> </div> </div> </div> <a href="https://dev.to/neelakandan_ravi_2000/systemoutprintln-1mjn" class="crayons-story__tertiary fs-xs"><time datetime="2025-01-07T12:00:11Z">Jan 7</time><span class="time-ago-indicator-initial-placeholder" data-seconds="1736251211"></span></a> </div> </div> </div> <div class="crayons-story__indention"> <h2 class="crayons-story__title"> <a href="https://dev.to/neelakandan_ravi_2000/systemoutprintln-1mjn" data-preload-image="" id="article-link-2193011"> System.out.println() </a> </h2> <div class="crayons-story__tags"> <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> <a class="crayons-tag crayons-tag--monochrome " style=" --tag-bg: rgba(126, 72, 16, 0.10); --tag-prefix: #7e4810; --tag-bg-hover: rgba(126, 72, 16, 0.10); --tag-prefix-hover: #7e4810; " href="/t/java"><span class="crayons-tag__prefix">#</span>java</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/payilagam"><span class="crayons-tag__prefix">#</span>payilagam</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/fullstack"><span class="crayons-tag__prefix">#</span>fullstack</a> </div> <div class="crayons-story__bottom"> <div class="crayons-story__details"> <a href="https://dev.to/neelakandan_ravi_2000/systemoutprintln-1mjn#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.out.println()"> <svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" role="img" aria-labelledby="alrotuvu0nh10tr22jfehuj0obqssjtw" class="crayons-icon"><title id="alrotuvu0nh10tr22jfehuj0obqssjtw">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-2193011" class="c-btn c-btn--icon-alone bookmark-button" data-reactable-id="2193011" data-article-author-id="2589617" aria-label="Save post System.out.println() to reading list" title="Save post System.out.println() 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="2193039" data-content-user-id="2669671"> <a href="https://dev.to/laurl_wanjs42/coding-java-2ild" aria-labelledby="article-link-2193039" class="crayons-story__hidden-navigation-link">coding java</a> <div class="crayons-story__body"> <div class="crayons-story__top"> <div class="crayons-story__meta"> <div class="crayons-story__author-pic"> <a href="/laurl_wanjs42" 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%2F2669671%2F45959648-b743-4606-9346-0f95630bc2e1.png" alt="laurl_wanjs42 profile" class="crayons-avatar__image" loading="lazy" /> </a> </div> <div> <div> <a href="/laurl_wanjs42" class="crayons-story__secondary fw-medium m:hidden"> Laura Wanjala </a> <div class="profile-preview-card relative mb-4 s:mb-0 fw-medium hidden m:inline-block"> <button id="story-author-preview-trigger-2193039" aria-controls="story-author-preview-content-2193039" class="profile-preview-card__trigger fs-s p-1 -ml-1 -my-2 crayons-btn crayons-btn--ghost" aria-label="Laura Wanjala profile details"> Laura Wanjala </button> <div id="story-author-preview-content-2193039" 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="/laurl_wanjs42" 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%2F2669671%2F45959648-b743-4606-9346-0f95630bc2e1.png" class="crayons-avatar__image" alt="" loading="lazy" /> </span> <span class="crayons-link crayons-subtitle-2 mt-5">Laura Wanjala</span> </a> </div> <div class="print-hidden"> <button class="crayons-btn follow-action-button whitespace-nowrap follow-user w-100" data-info='{&quot;style&quot;:&quot;full&quot;,&quot;id&quot;:2669671,&quot;className&quot;:&quot;User&quot;,&quot;name&quot;:&quot;Laura Wanjala&quot;}'> Follow </button> </div> <div class="author-preview-metadata-container" data-author-id="2669671"></div> </div> </div> </div> </div> <a href="https://dev.to/laurl_wanjs42/coding-java-2ild" class="crayons-story__tertiary fs-xs"><time datetime="2025-01-07T12:00:01Z">Jan 7</time><span class="time-ago-indicator-initial-placeholder" data-seconds="1736251201"></span></a> </div> </div> </div> <div class="crayons-story__indention"> <h2 class="crayons-story__title"> <a href="https://dev.to/laurl_wanjs42/coding-java-2ild" data-preload-image="" id="article-link-2193039"> coding java </a> </h2> <div class="crayons-story__tags"> <a class="crayons-tag crayons-tag--monochrome " style=" --tag-bg: rgba(126, 72, 16, 0.10); --tag-prefix: #7e4810; --tag-bg-hover: rgba(126, 72, 16, 0.10); --tag-prefix-hover: #7e4810; " href="/t/java"><span class="crayons-tag__prefix">#</span>java</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="https://dev.to/laurl_wanjs42/coding-java-2ild#comments" class="crayons-btn crayons-btn--s crayons-btn--ghost crayons-btn--icon-left flex items-center" aria-label="Add a comment to post - coding java"> <svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" role="img" aria-labelledby="apda4b2a9vhz555jdwm5pq0fjr93mh9c" class="crayons-icon"><title id="apda4b2a9vhz555jdwm5pq0fjr93mh9c">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-2193039" class="c-btn c-btn--icon-alone bookmark-button" data-reactable-id="2193039" data-article-author-id="2669671" aria-label="Save post coding java to reading list" title="Save post coding java 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="2193037" data-content-user-id="1193413"> <a href="https://dev.to/nicholajones075/migrating-to-angular-standalone-components-a-step-by-step-guide-5a1c" aria-labelledby="article-link-2193037" class="crayons-story__hidden-navigation-link">Migrating to Angular Standalone Components: A Step-by-Step Guide</a> <div class="crayons-story__body"> <div class="crayons-story__top"> <div class="crayons-story__meta"> <div class="crayons-story__author-pic"> <a href="/nicholajones075" 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%2F1193413%2F69681306-e89c-4912-a964-aaed2149a562.jpg" alt="nicholajones075 profile" class="crayons-avatar__image" loading="lazy" /> </a> </div> <div> <div> <a href="/nicholajones075" class="crayons-story__secondary fw-medium m:hidden"> Nicholas Jones </a> <div class="profile-preview-card relative mb-4 s:mb-0 fw-medium hidden m:inline-block"> <button id="story-author-preview-trigger-2193037" aria-controls="story-author-preview-content-2193037" class="profile-preview-card__trigger fs-s p-1 -ml-1 -my-2 crayons-btn crayons-btn--ghost" aria-label="Nicholas Jones profile details"> Nicholas Jones </button> <div id="story-author-preview-content-2193037" 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="/nicholajones075" 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%2F1193413%2F69681306-e89c-4912-a964-aaed2149a562.jpg" class="crayons-avatar__image" alt="" loading="lazy" /> </span> <span class="crayons-link crayons-subtitle-2 mt-5">Nicholas Jones</span> </a> </div> <div class="print-hidden"> <button class="crayons-btn follow-action-button whitespace-nowrap follow-user w-100" data-info='{&quot;style&quot;:&quot;full&quot;,&quot;id&quot;:1193413,&quot;className&quot;:&quot;User&quot;,&quot;name&quot;:&quot;Nicholas Jones&quot;}'> Follow </button> </div> <div class="author-preview-metadata-container" data-author-id="1193413"></div> </div> </div> </div> </div> <a href="https://dev.to/nicholajones075/migrating-to-angular-standalone-components-a-step-by-step-guide-5a1c" class="crayons-story__tertiary fs-xs"><time datetime="2025-01-07T11:57:18Z">Jan 7</time><span class="time-ago-indicator-initial-placeholder" data-seconds="1736251038"></span></a> </div> </div> </div> <div class="crayons-story__indention"> <h2 class="crayons-story__title"> <a href="https://dev.to/nicholajones075/migrating-to-angular-standalone-components-a-step-by-step-guide-5a1c" 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%2Fs0e7v80r091kh2zc6ckg.png" id="article-link-2193037"> Migrating to Angular Standalone Components: A Step-by-Step Guide </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/angularstandalonecomponents"><span class="crayons-tag__prefix">#</span>angularstandalonecomponents</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/angularmigration"><span class="crayons-tag__prefix">#</span>angularmigration</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/standalonecomponents"><span class="crayons-tag__prefix">#</span>standalonecomponents</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/ngmodule"><span class="crayons-tag__prefix">#</span>ngmodule</a> </div> <div class="crayons-story__bottom"> <div class="crayons-story__details"> <a href="https://dev.to/nicholajones075/migrating-to-angular-standalone-components-a-step-by-step-guide-5a1c#comments" class="crayons-btn crayons-btn--s crayons-btn--ghost crayons-btn--icon-left flex items-center" aria-label="Add a comment to post - Migrating to Angular Standalone Components: A Step-by-Step Guide"> <svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" role="img" aria-labelledby="aj21tz39fr5wzpf4lasjodr464q1qmgq" class="crayons-icon"><title id="aj21tz39fr5wzpf4lasjodr464q1qmgq">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-2193037" class="c-btn c-btn--icon-alone bookmark-button" data-reactable-id="2193037" data-article-author-id="1193413" aria-label="Save post Migrating to Angular Standalone Components: A Step-by-Step Guide to reading list" title="Save post Migrating to Angular Standalone Components: A Step-by-Step Guide 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="2193055" data-content-user-id="993931"> <a href="https://dev.to/gluestackio/gluestack-ui-v2-stable-release-with-nativewind-v41-support-435a" aria-labelledby="article-link-2193055" class="crayons-story__hidden-navigation-link">gluestack-ui v2: Stable Release with NativeWind v4.1 Support 🚀</a> <div class="crayons-story__body"> <div class="crayons-story__top"> <div class="crayons-story__meta"> <div class="crayons-story__author-pic"> <a href="/gluestackio" 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%2F993931%2Fabf60159-7cf8-428a-ba74-610a7a95612f.png" alt="gluestackio profile" class="crayons-avatar__image" loading="lazy" /> </a> </div> <div> <div> <a href="/gluestackio" class="crayons-story__secondary fw-medium m:hidden"> gluestackio </a> <div class="profile-preview-card relative mb-4 s:mb-0 fw-medium hidden m:inline-block"> <button id="story-author-preview-trigger-2193055" aria-controls="story-author-preview-content-2193055" class="profile-preview-card__trigger fs-s p-1 -ml-1 -my-2 crayons-btn crayons-btn--ghost" aria-label="gluestackio profile details"> gluestackio </button> <div id="story-author-preview-content-2193055" 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="/gluestackio" 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%2F993931%2Fabf60159-7cf8-428a-ba74-610a7a95612f.png" class="crayons-avatar__image" alt="" loading="lazy" /> </span> <span class="crayons-link crayons-subtitle-2 mt-5">gluestackio</span> </a> </div> <div class="print-hidden"> <button class="crayons-btn follow-action-button whitespace-nowrap follow-user w-100" data-info='{&quot;style&quot;:&quot;full&quot;,&quot;id&quot;:993931,&quot;className&quot;:&quot;User&quot;,&quot;name&quot;:&quot;gluestackio&quot;}'> Follow </button> </div> <div class="author-preview-metadata-container" data-author-id="993931"></div> </div> </div> </div> </div> <a href="https://dev.to/gluestackio/gluestack-ui-v2-stable-release-with-nativewind-v41-support-435a" class="crayons-story__tertiary fs-xs"><time datetime="2025-01-07T12:10:03Z">Jan 7</time><span class="time-ago-indicator-initial-placeholder" data-seconds="1736251803"></span></a> </div> </div> </div> <div class="crayons-story__indention"> <h2 class="crayons-story__title"> <a href="https://dev.to/gluestackio/gluestack-ui-v2-stable-release-with-nativewind-v41-support-435a" 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%2Fpfaf3qnelycwjqy3mdli.png" id="article-link-2193055"> gluestack-ui v2: Stable Release with NativeWind v4.1 Support 🚀 </a> </h2> <div class="crayons-story__tags"> </div> <div class="crayons-story__bottom"> <div class="crayons-story__details"> <a href="https://dev.to/gluestackio/gluestack-ui-v2-stable-release-with-nativewind-v41-support-435a#comments" class="crayons-btn crayons-btn--s crayons-btn--ghost crayons-btn--icon-left flex items-center" aria-label="Add a comment to post - gluestack-ui v2: Stable Release with NativeWind v4.1 Support 🚀"> <svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" role="img" aria-labelledby="adtndjpr9evinvivmet2u2tjv1bafftp" class="crayons-icon"><title id="adtndjpr9evinvivmet2u2tjv1bafftp">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-2193055" class="c-btn c-btn--icon-alone bookmark-button" data-reactable-id="2193055" data-article-author-id="993931" aria-label="Save post gluestack-ui v2: Stable Release with NativeWind v4.1 Support 🚀 to reading list" title="Save post gluestack-ui v2: Stable Release with NativeWind v4.1 Support 🚀 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="2193044" data-content-user-id="1167819"> <a href="https://dev.to/thetoriqul/automating-your-leetcode-journey-building-an-enterprise-grade-leetcode-to-github-sync-system-3cig" aria-labelledby="article-link-2193044" class="crayons-story__hidden-navigation-link">Automating Your LeetCode Journey: Building an Enterprise-Grade LeetCode to GitHub Sync System</a> <div class="crayons-story__body"> <div class="crayons-story__top"> <div class="crayons-story__meta"> <div class="crayons-story__author-pic"> <a href="/thetoriqul" 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%2F1167819%2F44a589b5-58d1-416b-87d6-9b537f5350bb.jpeg" alt="thetoriqul profile" class="crayons-avatar__image" loading="lazy" /> </a> </div> <div> <div> <a href="/thetoriqul" class="crayons-story__secondary fw-medium m:hidden"> Md Toriqul Islam </a> <div class="profile-preview-card relative mb-4 s:mb-0 fw-medium hidden m:inline-block"> <button id="story-author-preview-trigger-2193044" aria-controls="story-author-preview-content-2193044" class="profile-preview-card__trigger fs-s p-1 -ml-1 -my-2 crayons-btn crayons-btn--ghost" aria-label="Md Toriqul Islam profile details"> Md Toriqul Islam </button> <div id="story-author-preview-content-2193044" 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="/thetoriqul" 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%2F1167819%2F44a589b5-58d1-416b-87d6-9b537f5350bb.jpeg" class="crayons-avatar__image" alt="" loading="lazy" /> </span> <span class="crayons-link crayons-subtitle-2 mt-5">Md Toriqul Islam</span> </a> </div> <div class="print-hidden"> <button class="crayons-btn follow-action-button whitespace-nowrap follow-user w-100" data-info='{&quot;style&quot;:&quot;full&quot;,&quot;id&quot;:1167819,&quot;className&quot;:&quot;User&quot;,&quot;name&quot;:&quot;Md Toriqul Islam&quot;}'> Follow </button> </div> <div class="author-preview-metadata-container" data-author-id="1167819"></div> </div> </div> </div> </div> <a href="https://dev.to/thetoriqul/automating-your-leetcode-journey-building-an-enterprise-grade-leetcode-to-github-sync-system-3cig" class="crayons-story__tertiary fs-xs"><time datetime="2025-01-07T12:04:43Z">Jan 7</time><span class="time-ago-indicator-initial-placeholder" data-seconds="1736251483"></span></a> </div> </div> </div> <div class="crayons-story__indention"> <h2 class="crayons-story__title"> <a href="https://dev.to/thetoriqul/automating-your-leetcode-journey-building-an-enterprise-grade-leetcode-to-github-sync-system-3cig" data-preload-image="" id="article-link-2193044"> Automating Your LeetCode Journey: Building an Enterprise-Grade LeetCode to GitHub Sync System </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/leetcode"><span class="crayons-tag__prefix">#</span>leetcode</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> <a class="crayons-tag crayons-tag--monochrome " style=" --tag-bg: rgba(30, 56, 187, 0.10); --tag-prefix: #1E38BB; --tag-bg-hover: rgba(30, 56, 187, 0.10); --tag-prefix-hover: #1E38BB; " href="/t/python"><span class="crayons-tag__prefix">#</span>python</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/automation"><span class="crayons-tag__prefix">#</span>automation</a> </div> <div class="crayons-story__bottom"> <div class="crayons-story__details"> <a href="https://dev.to/thetoriqul/automating-your-leetcode-journey-building-an-enterprise-grade-leetcode-to-github-sync-system-3cig#comments" class="crayons-btn crayons-btn--s crayons-btn--ghost crayons-btn--icon-left flex items-center" aria-label="Add a comment to post - Automating Your LeetCode Journey: Building an Enterprise-Grade LeetCode to GitHub Sync System"> <svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" role="img" aria-labelledby="a9q0r2g2ulfwwbvic4o34b0ih9rreop1" class="crayons-icon"><title id="a9q0r2g2ulfwwbvic4o34b0ih9rreop1">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"> 8 min read </small> <button type="button" id="article-save-button-2193044" class="c-btn c-btn--icon-alone bookmark-button" data-reactable-id="2193044" data-article-author-id="1167819" aria-label="Save post Automating Your LeetCode Journey: Building an Enterprise-Grade LeetCode to GitHub Sync System to reading list" title="Save post Automating Your LeetCode Journey: Building an Enterprise-Grade LeetCode to GitHub Sync System 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="2192945" data-content-user-id="1273359"> <a href="https://dev.to/just_ritik/mastering-react-quill-a-step-by-step-guide-to-implement-a-rich-text-editor-in-your-react-app-5edn" aria-labelledby="article-link-2192945" class="crayons-story__hidden-navigation-link">Mastering React Quill: A Step-by-Step Guide to Implement a Rich Text Editor in Your React 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="/just_ritik" 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%2F1273359%2F50643382-1b60-459d-8944-13d55cffb98f.jpeg" alt="just_ritik profile" class="crayons-avatar__image" loading="lazy" /> </a> </div> <div> <div> <a href="/just_ritik" class="crayons-story__secondary fw-medium m:hidden"> Ritik Pal </a> <div class="profile-preview-card relative mb-4 s:mb-0 fw-medium hidden m:inline-block"> <button id="story-author-preview-trigger-2192945" aria-controls="story-author-preview-content-2192945" class="profile-preview-card__trigger fs-s p-1 -ml-1 -my-2 crayons-btn crayons-btn--ghost" aria-label="Ritik Pal profile details"> Ritik Pal </button> <div id="story-author-preview-content-2192945" 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="/just_ritik" 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%2F1273359%2F50643382-1b60-459d-8944-13d55cffb98f.jpeg" class="crayons-avatar__image" alt="" loading="lazy" /> </span> <span class="crayons-link crayons-subtitle-2 mt-5">Ritik Pal</span> </a> </div> <div class="print-hidden"> <button class="crayons-btn follow-action-button whitespace-nowrap follow-user w-100" data-info='{&quot;style&quot;:&quot;full&quot;,&quot;id&quot;:1273359,&quot;className&quot;:&quot;User&quot;,&quot;name&quot;:&quot;Ritik Pal&quot;}'> Follow </button> </div> <div class="author-preview-metadata-container" data-author-id="1273359"></div> </div> </div> </div> </div> <a href="https://dev.to/just_ritik/mastering-react-quill-a-step-by-step-guide-to-implement-a-rich-text-editor-in-your-react-app-5edn" class="crayons-story__tertiary fs-xs"><time datetime="2025-01-07T11:13:36Z">Jan 7</time><span class="time-ago-indicator-initial-placeholder" data-seconds="1736248416"></span></a> </div> </div> </div> <div class="crayons-story__indention"> <h2 class="crayons-story__title"> <a href="https://dev.to/just_ritik/mastering-react-quill-a-step-by-step-guide-to-implement-a-rich-text-editor-in-your-react-app-5edn" 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%2Fncfgzcdzlbe5q51hwbtw.png" id="article-link-2192945"> Mastering React Quill: A Step-by-Step Guide to Implement a Rich Text Editor in Your React App </a> </h2> <div class="crayons-story__tags"> <a class="crayons-tag crayons-tag--monochrome " style=" --tag-bg: rgba(34, 34, 34, 0.10); --tag-prefix: #222222; --tag-bg-hover: rgba(34, 34, 34, 0.10); --tag-prefix-hover: #222222; " href="/t/react"><span class="crayons-tag__prefix">#</span>react</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(255, 51, 224, 0.10); --tag-prefix: #ff33e0; --tag-bg-hover: rgba(255, 51, 224, 0.10); --tag-prefix-hover: #ff33e0; " href="/t/frontend"><span class="crayons-tag__prefix">#</span>frontend</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="https://dev.to/just_ritik/mastering-react-quill-a-step-by-step-guide-to-implement-a-rich-text-editor-in-your-react-app-5edn" class="crayons-btn crayons-btn--s crayons-btn--ghost crayons-btn--icon-left" data-reaction-count data-reactable-id="2192945" aria-label="Add a comment to post - Mastering React Quill: A Step-by-Step Guide to Implement a Rich Text Editor in Your React 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/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="https://dev.to/just_ritik/mastering-react-quill-a-step-by-step-guide-to-implement-a-rich-text-editor-in-your-react-app-5edn#comments" class="crayons-btn crayons-btn--s crayons-btn--ghost crayons-btn--icon-left flex items-center" aria-label="Add a comment to post - Mastering React Quill: A Step-by-Step Guide to Implement a Rich Text Editor in Your React App"> <svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" role="img" aria-labelledby="ap8x2uog7u4s5zge0wwb3el9r7xpl2c5" class="crayons-icon"><title id="ap8x2uog7u4s5zge0wwb3el9r7xpl2c5">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-2192945" class="c-btn c-btn--icon-alone bookmark-button" data-reactable-id="2192945" data-article-author-id="1273359" aria-label="Save post Mastering React Quill: A Step-by-Step Guide to Implement a Rich Text Editor in Your React App to reading list" title="Save post Mastering React Quill: A Step-by-Step Guide to Implement a Rich Text Editor in Your React 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="2193027" data-content-user-id="2669634"> <a href="https://dev.to/bnbindu06rpt/how-do-i-encrypt-the-expo-sqlite-db-in-expo-sdk-52-version-3jnf" aria-labelledby="article-link-2193027" class="crayons-story__hidden-navigation-link">How do I encrypt the expo-sqlite DB in expo SDK 52 version?</a> <div class="crayons-story__body"> <div class="crayons-story__top"> <div class="crayons-story__meta"> <div class="crayons-story__author-pic"> <a href="/bnbindu06rpt" 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%2F2669634%2F51777005-b230-4d2e-923a-8e512ce850b7.png" alt="bnbindu06rpt profile" class="crayons-avatar__image" loading="lazy" /> </a> </div> <div> <div> <a href="/bnbindu06rpt" class="crayons-story__secondary fw-medium m:hidden"> bnbindu06rpt </a> <div class="profile-preview-card relative mb-4 s:mb-0 fw-medium hidden m:inline-block"> <button id="story-author-preview-trigger-2193027" aria-controls="story-author-preview-content-2193027" class="profile-preview-card__trigger fs-s p-1 -ml-1 -my-2 crayons-btn crayons-btn--ghost" aria-label="bnbindu06rpt profile details"> bnbindu06rpt </button> <div id="story-author-preview-content-2193027" 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="/bnbindu06rpt" 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%2F2669634%2F51777005-b230-4d2e-923a-8e512ce850b7.png" class="crayons-avatar__image" alt="" loading="lazy" /> </span> <span class="crayons-link crayons-subtitle-2 mt-5">bnbindu06rpt</span> </a> </div> <div class="print-hidden"> <button class="crayons-btn follow-action-button whitespace-nowrap follow-user w-100" data-info='{&quot;style&quot;:&quot;full&quot;,&quot;id&quot;:2669634,&quot;className&quot;:&quot;User&quot;,&quot;name&quot;:&quot;bnbindu06rpt&quot;}'> Follow </button> </div> <div class="author-preview-metadata-container" data-author-id="2669634"></div> </div> </div> </div> </div> <a href="https://dev.to/bnbindu06rpt/how-do-i-encrypt-the-expo-sqlite-db-in-expo-sdk-52-version-3jnf" class="crayons-story__tertiary fs-xs"><time datetime="2025-01-07T11:50:09Z">Jan 7</time><span class="time-ago-indicator-initial-placeholder" data-seconds="1736250609"></span></a> </div> </div> </div> <div class="crayons-story__indention"> <h2 class="crayons-story__title"> <a href="https://dev.to/bnbindu06rpt/how-do-i-encrypt-the-expo-sqlite-db-in-expo-sdk-52-version-3jnf" data-preload-image="" id="article-link-2193027"> How do I encrypt the expo-sqlite DB in expo SDK 52 version? </a> </h2> <div class="crayons-story__tags"> </div> <div class="crayons-story__bottom"> <div class="crayons-story__details"> <a href="https://dev.to/bnbindu06rpt/how-do-i-encrypt-the-expo-sqlite-db-in-expo-sdk-52-version-3jnf#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 I encrypt the expo-sqlite DB in expo SDK 52 version?"> <svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" role="img" aria-labelledby="aptl4cy4hdpqw4ptxt3ghi22e4cz6u4o" class="crayons-icon"><title id="aptl4cy4hdpqw4ptxt3ghi22e4cz6u4o">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-2193027" class="c-btn c-btn--icon-alone bookmark-button" data-reactable-id="2193027" data-article-author-id="2669634" aria-label="Save post How do I encrypt the expo-sqlite DB in expo SDK 52 version? to reading list" title="Save post How do I encrypt the expo-sqlite DB in expo SDK 52 version? 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="2193029" data-content-user-id="1240815"> <a href="https://dev.to/aws-builders/building-machine-learning-models-with-amazon-sagemaker-built-in-algorithms-and-ml-libraries-5bbn" aria-labelledby="article-link-2193029" class="crayons-story__hidden-navigation-link">Building Machine Learning Models with Amazon SageMaker Built-in Algorithms and ML Libraries</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="/aws-builders"> <img alt="AWS Community Builders 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%2F2794%2F88da75b6-aadd-4ea1-8083-ae2dfca8be94.png" class="crayons-logo__image" loading="lazy" /> </a> <a href="/sumsuzzaman" 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%2F1240815%2F05678616-911f-42d5-9e68-7f2f94ebafd5.jpg" alt="sumsuzzaman profile" class="crayons-avatar__image" loading="lazy" /> </a> </div> <div> <div> <a href="/sumsuzzaman" class="crayons-story__secondary fw-medium m:hidden"> Sumsuzzaman Chowdhury </a> <div class="profile-preview-card relative mb-4 s:mb-0 fw-medium hidden m:inline-block"> <button id="story-author-preview-trigger-2193029" aria-controls="story-author-preview-content-2193029" class="profile-preview-card__trigger fs-s p-1 -ml-1 -my-2 crayons-btn crayons-btn--ghost" aria-label="Sumsuzzaman Chowdhury profile details"> Sumsuzzaman Chowdhury </button> <div id="story-author-preview-content-2193029" 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="/sumsuzzaman" 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%2F1240815%2F05678616-911f-42d5-9e68-7f2f94ebafd5.jpg" class="crayons-avatar__image" alt="" loading="lazy" /> </span> <span class="crayons-link crayons-subtitle-2 mt-5">Sumsuzzaman Chowdhury</span> </a> </div> <div class="print-hidden"> <button class="crayons-btn follow-action-button whitespace-nowrap follow-user w-100" data-info='{&quot;style&quot;:&quot;full&quot;,&quot;id&quot;:1240815,&quot;className&quot;:&quot;User&quot;,&quot;name&quot;:&quot;Sumsuzzaman Chowdhury&quot;}'> Follow </button> </div> <div class="author-preview-metadata-container" data-author-id="1240815"></div> </div> </div> </div> <span> <span class="crayons-story__tertiary fw-normal"> for </span><a href="/aws-builders" class="crayons-story__secondary fw-medium">AWS Community Builders </a> </span> </div> <a href="https://dev.to/aws-builders/building-machine-learning-models-with-amazon-sagemaker-built-in-algorithms-and-ml-libraries-5bbn" class="crayons-story__tertiary fs-xs"><time datetime="2025-01-07T11:51:54Z">Jan 7</time><span class="time-ago-indicator-initial-placeholder" data-seconds="1736250714"></span></a> </div> </div> </div> <div class="crayons-story__indention"> <h2 class="crayons-story__title"> <a href="https://dev.to/aws-builders/building-machine-learning-models-with-amazon-sagemaker-built-in-algorithms-and-ml-libraries-5bbn" 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%2Fq6q1avxsjniy4c4f40i9.jpg" id="article-link-2193029"> Building Machine Learning Models with Amazon SageMaker Built-in Algorithms and ML Libraries </a> </h2> <div class="crayons-story__tags"> <a class="crayons-tag crayons-tag--monochrome " style=" --tag-bg: rgba(33, 43, 58, 0.10); --tag-prefix: #212b3a; --tag-bg-hover: rgba(33, 43, 58, 0.10); --tag-prefix-hover: #212b3a; " href="/t/aws"><span class="crayons-tag__prefix">#</span>aws</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(229, 255, 227, 0.10); --tag-prefix: #E5FFE3; --tag-bg-hover: rgba(229, 255, 227, 0.10); --tag-prefix-hover: #E5FFE3; " href="/t/machinelearning"><span class="crayons-tag__prefix">#</span>machinelearning</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/sagemaker"><span class="crayons-tag__prefix">#</span>sagemaker</a> </div> <div class="crayons-story__bottom"> <div class="crayons-story__details"> <a href="https://dev.to/aws-builders/building-machine-learning-models-with-amazon-sagemaker-built-in-algorithms-and-ml-libraries-5bbn#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 Machine Learning Models with Amazon SageMaker Built-in Algorithms and ML Libraries"> <svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" role="img" aria-labelledby="a3kyn2wvh5hiwp5ekloi0sj7cj2l6ypx" class="crayons-icon"><title id="a3kyn2wvh5hiwp5ekloi0sj7cj2l6ypx">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-2193029" class="c-btn c-btn--icon-alone bookmark-button" data-reactable-id="2193029" data-article-author-id="1240815" aria-label="Save post Building Machine Learning Models with Amazon SageMaker Built-in Algorithms and ML Libraries to reading list" title="Save post Building Machine Learning Models with Amazon SageMaker Built-in Algorithms and ML Libraries 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="2193021" data-content-user-id="1776861"> <a href="https://dev.to/gregharis/building-a-professional-ai-chatbot-with-react-typescript-and-groq-ai-api-2l5o" aria-labelledby="article-link-2193021" class="crayons-story__hidden-navigation-link">Building a Professional AI Chatbot with React, TypeScript, and Groq AI API</a> <div class="crayons-story__body"> <div class="crayons-story__top"> <div class="crayons-story__meta"> <div class="crayons-story__author-pic"> <a href="/gregharis" 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%2F1776861%2F2c72c32f-2d3b-444a-a958-20c968c29ae5.png" alt="gregharis profile" class="crayons-avatar__image" loading="lazy" /> </a> </div> <div> <div> <a href="/gregharis" class="crayons-story__secondary fw-medium m:hidden"> Grëg Häris </a> <div class="profile-preview-card relative mb-4 s:mb-0 fw-medium hidden m:inline-block"> <button id="story-author-preview-trigger-2193021" aria-controls="story-author-preview-content-2193021" class="profile-preview-card__trigger fs-s p-1 -ml-1 -my-2 crayons-btn crayons-btn--ghost" aria-label="Grëg Häris profile details"> Grëg Häris </button> <div id="story-author-preview-content-2193021" 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="/gregharis" 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%2F1776861%2F2c72c32f-2d3b-444a-a958-20c968c29ae5.png" class="crayons-avatar__image" alt="" loading="lazy" /> </span> <span class="crayons-link crayons-subtitle-2 mt-5">Grëg Häris</span> </a> </div> <div class="print-hidden"> <button class="crayons-btn follow-action-button whitespace-nowrap follow-user w-100" data-info='{&quot;style&quot;:&quot;full&quot;,&quot;id&quot;:1776861,&quot;className&quot;:&quot;User&quot;,&quot;name&quot;:&quot;Grëg Häris&quot;}'> Follow </button> </div> <div class="author-preview-metadata-container" data-author-id="1776861"></div> </div> </div> </div> </div> <a href="https://dev.to/gregharis/building-a-professional-ai-chatbot-with-react-typescript-and-groq-ai-api-2l5o" class="crayons-story__tertiary fs-xs"><time datetime="2025-01-07T11:45:27Z">Jan 7</time><span class="time-ago-indicator-initial-placeholder" data-seconds="1736250327"></span></a> </div> </div> </div> <div class="crayons-story__indention"> <h2 class="crayons-story__title"> <a href="https://dev.to/gregharis/building-a-professional-ai-chatbot-with-react-typescript-and-groq-ai-api-2l5o" 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%2Fvu279vpihizbien1ao9z.png" id="article-link-2193021"> Building a Professional AI Chatbot with React, TypeScript, and Groq AI API </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(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(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(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="https://dev.to/gregharis/building-a-professional-ai-chatbot-with-react-typescript-and-groq-ai-api-2l5o#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 a Professional AI Chatbot with React, TypeScript, and Groq AI API"> <svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" role="img" aria-labelledby="aakzml1aqbtbd5t3a0lh520o8wte1zmz" class="crayons-icon"><title id="aakzml1aqbtbd5t3a0lh520o8wte1zmz">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-2193021" class="c-btn c-btn--icon-alone bookmark-button" data-reactable-id="2193021" data-article-author-id="1776861" aria-label="Save post Building a Professional AI Chatbot with React, TypeScript, and Groq AI API to reading list" title="Save post Building a Professional AI Chatbot with React, TypeScript, and Groq AI API 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> <script src="https://assets.dev.to/assets/homePageFeedShortcuts-f7364bc2d6cb139c03e7fe80e32782ba5af34857d2b308e3caa8d902e579a3af.js" defer="defer"></script> <script src="https://assets.dev.to/assets/feedPreviewCards-8d16b0b656456a28c0a290f756cf6e21e19833111c4796f48c631bfea8323d51.js" defer="defer"></script> <div id="followed-podcasts" data-episodes="null"></div> <div class="loading-articles" id="loading-articles"> loading... </div> </main> <div id="sidebar-wrapper-right" class="sidebar-wrapper sidebar-wrapper-right crayons-layout__sidebar-right crayons-layout__content"> <aside class="side-bar sidebar-additional showing grid gap-4" id="sidebar-additional"> <section class="crayons-card crayons-card--secondary crayons-layout__content"> <header class="crayons-card__header"> <h3 class="crayons-subtitle-2"><a href="/t/discuss" class="crayons-link">#discuss</a></h3> <div class="fs-xs color-base-70"> Discussion threads targeting the whole community </div> </header> <div> <a class="crayons-link crayons-link--contentful" href="/highcenburg/whats-your-tech-stack-56oi"> What&#39;s your tech stack? <div class="crayons-link__secondary"> 4 comments </div> </a> <a class="crayons-link crayons-link--contentful" href="/ben/meme-monday-179k"> Meme Monday <div class="crayons-link__secondary"> 32 comments </div> </a> <a class="crayons-link crayons-link--contentful" href="/ganeshauti/is-there-any-good-article-for-custom-lint-rules-in-flutter-344j"> is there any good article for custom lint rules in flutter? <div class="crayons-link__secondary"> <span class="c-indicator c-indicator--warning">New</span> </div> </a> <a class="crayons-link crayons-link--contentful" href="/hana_sato/how-to-secure-apis-for-data-sharing-using-azure-api-management-1nh8"> How to Secure APIs for Data Sharing Using Azure API 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="/cryptosandy/nvidia-unveils-exciting-tech-at-ces-2025-a-game-changer-54dj"> 🚀 Nvidia Unveils Exciting Tech at CES 2025: A Game-Changer 💻 <div class="crayons-link__secondary"> <span class="c-indicator c-indicator--warning">New</span> </div> </a> </div> </section> <section class="crayons-card crayons-card--secondary crayons-layout__content"> <header class="crayons-card__header"> <h3 class="crayons-subtitle-2"><a href="/t/watercooler" class="crayons-link">#watercooler</a></h3> <div class="fs-xs color-base-70"> Light, and off-topic conversation. </div> </header> <div> <a class="crayons-link crayons-link--contentful" href="/highcenburg/whats-your-tech-stack-56oi"> What&#39;s your tech stack? <div class="crayons-link__secondary"> 4 comments </div> </a> <a class="crayons-link crayons-link--contentful" href="/srbhr/would-anyone-like-to-read-short-book-summaries-on-dev-mostly-about-productivity-and-small-snippets-29o1"> Would anyone like to read short book summaries on DEV? Mostly about productivity and small snippe... <div class="crayons-link__secondary"> 5 comments </div> </a> <a class="crayons-link crayons-link--contentful" href="/ben/meme-monday-179k"> Meme Monday <div class="crayons-link__secondary"> 32 comments </div> </a> <a class="crayons-link crayons-link--contentful" href="/web_dev-usman/a-pro-web-development-tip-4926"> A Pro Web Development Tip <div class="crayons-link__secondary"> <span class="c-indicator c-indicator--warning">New</span> </div> </a> <a class="crayons-link crayons-link--contentful" href="/atharvgyan/project-based-learning-in-stem-bridging-education-and-real-world-skills-1ee3"> Project Based Learning in STEM Bridging Education and Real World Skills <div class="crayons-link__secondary"> <span class="c-indicator c-indicator--warning">New</span> </div> </a> </div> </section> <section 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="/nevodavid/you-can-get-your-financial-freedom-with-open-source-in-2025-41i8"> You can get your financial freedom with open-source in 2025! 🤑 </a> <a class="crayons-link crayons-link--contentful" href="/somadevtoo/15-system-design-resources-for-interviews-including-cheat-sheets-4mak"> 15 System Design Resources for Interviews (including Cheat Sheets) </a> <a class="crayons-link crayons-link--contentful" href="/kafeel_ahmad/17-mindblowing-github-repositories-you-never-knew-existed-555g"> 17 Mindblowing Github Repositories You Never Knew Existed </a> <a class="crayons-link crayons-link--contentful" href="/somadevtoo/top-10-design-patterns-for-programming-interviews-8j4"> Top 10 Design Patterns for Programming Interviews </a> <a class="crayons-link crayons-link--contentful" href="/cortexflow/mastering-essential-software-architecture-patterns-a-comprehensive-guide-1j0p"> Mastering Essential Software Architecture Patterns: A Comprehensive Guide🛠️ </a> <a class="crayons-link crayons-link--contentful" href="/taipy/goodbye-power-bi-in-2025-build-aiml-dashboards-entirely-within-python-4l22"> 👋🏻Goodbye Power BI! 📊 In 2025 Build AI/ML Dashboards Entirely Within Python 🤖 </a> <a class="crayons-link crayons-link--contentful" href="/composiodev/25-top-open-source-tools-for-building-web-apps-you-cant-afford-to-miss-in-2025-5005"> 25 top open-source tools for building web apps you can&#39;t afford to miss in 2025🎉 🚀 </a> <a class="crayons-link crayons-link--contentful" href="/shishsingh/react-19-a-new-era-of-web-development-3o42"> React 19: A New Era of Web Development </a> <a class="crayons-link crayons-link--contentful" href="/rayenmabrouk/best-tech-stack-for-startups-in-2025-5h2l"> The Ultimate Tech Stack for Startups in 2025 </a> <a class="crayons-link crayons-link--contentful" href="/fast/procrastinators-guide-to-glory-open-source-projects-that-turn-wasted-time-into-career-gold-10l4"> Procrastinator&#39;s Guide to Glory: Open Source Projects That Turn Wasted Time Into Career Gold ⭐️ </a> <a class="crayons-link crayons-link--contentful" href="/daniel_jones/quick-guide-build-a-backend-api-service-in-minutes-with-cloudflare-pages-d1-database-nextjs-4njj"> Start Your Free Database and API Service in Just 10 Minutes!🔥🔥🔥(With GitHub repository) </a> <a class="crayons-link crayons-link--contentful" href="/maximsaplin/openai-o3-thinking-fast-and-slow-2g79"> OpenAI o3 - Thinking Fast and Slow </a> <a class="crayons-link crayons-link--contentful" href="/somadevtoo/15-system-design-tradeoffs-for-software-developer-interviews-613"> 15 System design tradeoffs for Software Developer Interviews </a> <a class="crayons-link crayons-link--contentful" href="/biomathcode/top-10-books-on-design-system-that-i-read-last-year-3n7i"> Top 10 Books on Design System that i Read last year </a> <a class="crayons-link crayons-link--contentful" href="/jaysaadana/top-open-source-projects-to-watch-in-2025-4bem"> Top Open Source Projects to Watch in 2025 </a> <a class="crayons-link crayons-link--contentful" href="/cyclops-ui/devops-vs-platform-engineering-3khn"> DevOps vs Platform Engineering </a> <a class="crayons-link crayons-link--contentful" href="/chiragagg5k/architecture-patterns-for-beginners-mvc-mvp-and-mvvm-2pe7"> Architecture Patterns for Beginners: MVC, MVP, and MVVM </a> <a class="crayons-link crayons-link--contentful" href="/moibra/important-topics-for-frontend-developers-to-master-in-2025-59jo"> Important Topics for Frontend Developers to Master in 2025 </a> <a class="crayons-link crayons-link--contentful" href="/kuvambhardwaj/i-tried-every-hot-programming-language-514f"> I Tried Every Hot Programming Language </a> <a class="crayons-link crayons-link--contentful" href="/balrajola/10-modern-browser-extensions-every-developer-should-use-in-2025-1aoi"> 10 Modern Browser Extensions Every Developer Should Use in 2025. </a> </div> </div> </section> <section 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="/gamegods3/how-to-install-gcc-in-windows-10-the-easier-way-422j"> GCC for Windows </a> <a class="crayons-link crayons-link--contentful" href="/htnguy/top-10-discord-servers-for-developers-559o"> Programming Discord </a> <a class="crayons-link crayons-link--contentful" href="/devmount/8-games-to-learn-css-the-fun-way-4e0f"> CSS Game </a> <a class="crayons-link crayons-link--contentful" href="/gajesh/the-complete-django-allauth-guide-la3"> Django Allauth </a> <a class="crayons-link crayons-link--contentful" href="/deammer/loading-environment-variables-in-js-apps-1p7p"> Javascript Environment Variables </a> <a class="crayons-link crayons-link--contentful" href="/atan/what-is-ctf-and-how-to-get-started-3f04"> CTF for Beginners </a> <a class="crayons-link crayons-link--contentful" href="/neshaz/a-tutorial-for-tagging-releases-in-git-147e"> Git Tag </a> <a class="crayons-link crayons-link--contentful" href="/tiffengineer/what-is-the-difference-between-a-function-and-a-method-in-javascript-3mkj"> Method vs Function </a> <a class="crayons-link crayons-link--contentful" href="/nabbisen/let-s-encrypt-wildcard-certificate-with-certbot-plo"> Letsencrypt Wildcard </a> <a class="crayons-link crayons-link--contentful" href="/thalesbruno/subplotting-with-matplotlib-and-seaborn-5ei8"> Seaborn Multiple Plots </a> <a class="crayons-link crayons-link--contentful" href="/anupa/beautify-your-windows-terminal-1la8"> Windows Terminal Themes </a> <a class="crayons-link crayons-link--contentful" href="/prahladyeri/underscores-camelcasing-and-pascalcasing-the-three-naming-conventions-every-programmer-should-be-aware-of-3aed"> Pascal Case </a> <a class="crayons-link crayons-link--contentful" href="/yjdoc2/making-a-simple-calculator-in-rust-d65"> Rust Calculator </a> <a class="crayons-link crayons-link--contentful" href="/utkarshdhiman48/regular-expressions-not-so-regular-2m9p"> Regular Expressions Not </a> <a class="crayons-link crayons-link--contentful" href="/kkentzo/deploying-a-service-using-ansible-and-systemd-4n11"> Ansible Systemd </a> <a class="crayons-link crayons-link--contentful" href="/jasmin/a-brief-difference-between-zsh-and-bash-5ebp"> Zsh vs Bash </a> <a class="crayons-link crayons-link--contentful" href="/theianjones/add-a-node-to-your-html-with-document-appendchild-1ajj"> Appendchild JavaScript </a> <a class="crayons-link crayons-link--contentful" href="/k_romek/making-a-visual-novel-with-unity-1-5-introduction-to-ink-2i5b"> Making a Visual Novel in Unity </a> <a class="crayons-link crayons-link--contentful" href="/thepracticaldev/daily-challenge-229-haiku-validator-d29"> Haiku Checker </a> <a class="crayons-link crayons-link--contentful" href="/javinpaul/top-5-places-to-learn-python-programming-for-free-m4c"> Learn Python for Free </a> </div> </div> </section> </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/feedPreviewCards-8d16b0b656456a28c0a290f756cf6e21e19833111c4796f48c631bfea8323d51.js" defer="defer"></script> <script src="https://assets.dev.to/assets/heroBannerClose-08daef9d8f6109d73b3876fb088e26e5a46a047f93d787c38871fdbfbfc56e95.js" defer="defer"></script> <script src="https://assets.dev.to/assets/localizeArticleDates-70147c5c6bfe350b42e020ebb2a3dd37419d83978982b5a67b6389119bf162ac.js" defer="defer"></script> <script src="https://assets.dev.to/assets/feedEvents-7af7cd698ce6285b3578c7f8435941b968d1866dd6ec40d8c5228ea1384acb03.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="" 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">&copy;</span> 2016 - 2025.</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&#39;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="{&quot;en&quot;:{&quot;core&quot;:{&quot;add_comment&quot;:&quot;Add comment&quot;,&quot;beta&quot;:&quot;beta&quot;,&quot;comment&quot;:&quot;Comment&quot;,&quot;copy_link&quot;:&quot;Copy link&quot;,&quot;edit_profile&quot;:&quot;Edit profile&quot;,&quot;follow&quot;:&quot;Follow&quot;,&quot;follow_back&quot;:&quot;Follow back&quot;,&quot;following&quot;:&quot;Following&quot;,&quot;like&quot;:&quot;Like&quot;,&quot;loading&quot;:&quot;loading...&quot;,&quot;reaction&quot;:&quot;Reaction&quot;,&quot;report_abuse&quot;:&quot;Report abuse&quot;,&quot;search&quot;:&quot;Search&quot;,&quot;success_settings&quot;:&quot;Successfully updated settings.&quot;,&quot;counted_organization&quot;:{&quot;one&quot;:&quot;%{count} organization&quot;,&quot;other&quot;:&quot;%{count} organizations&quot;},&quot;counted_user&quot;:{&quot;one&quot;:&quot;%{count} person&quot;,&quot;other&quot;:&quot;%{count} people&quot;},&quot;not_following&quot;:&quot;You&#39;re not following anyone&quot;,&quot;following_everyone&quot;:&quot;You&#39;re following %{details} (everyone)&quot;,&quot;you_are_following&quot;:&quot;You&#39;re following&quot;,&quot;and&quot;:&quot;and&quot;}}}"></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>

Pages: 1 2 3 4 5 6 7 8 9 10