1<!DOCTYPE html><html lang="en"><head><meta charSet="utf-8"/><meta name="viewport" content="width=device-width, initial-scale=1"/><link rel="stylesheet" href="/_next/static/css/0d16c72050851854.css" data-precedence="next"/><link rel="stylesheet" href="/_next/static/css/7ffcc02a3c67389b.css" data-precedence="next"/><link rel="stylesheet" href="/_next/static/css/c20e76e7d11dec32.css" data-precedence="next"/><link rel="stylesheet" href="/_next/static/css/59fefb2212bd5b60.css" data-precedence="next"/><link rel="preload" as="script" fetchPriority="low" href="/_next/static/chunks/webpack-55b36f0cd6c208fe.js"/>
1<script src="/_next/static/chunks/4bd1b696-100b9d70ed4e49c1.js" async=""></script>
1<script src="/_next/static/chunks/9da6db1e-8a4e8c23641c31bf.js" async=""></script>
1<script src="/_next/static/chunks/1255-a242e0ce0372fddf.js" async=""></script>
1<script src="/_next/static/chunks/main-app-bda8a52fe841b3aa.js" async=""></script>
1<script src="/_next/static/chunks/4554-984b480a9db5f3fe.js" async=""></script>
1<script src="/_next/static/chunks/7563-4dfa0994a9b0e37c.js" async=""></script>
1<script src="/_next/static/chunks/9216-9272709ba40c1cfd.js" async=""></script>
1<script src="/_next/static/chunks/2810-6b74d77b4b0dc790.js" async=""></script>
1<script src="/_next/static/chunks/3091-bf1537ff6571a1bd.js" async=""></script>
1<script src="/_next/static/chunks/app/layout-6ae7b4b583d4bba3.js" async=""></script>
1<script src="/_next/static/chunks/app/not-found-b861935655c5698b.js" async=""></script>
1<script src="/_next/static/chunks/5001-fae0bebdd93f95e3.js" async=""></script>
1<script src="/_next/static/chunks/2423-c8b1388240338d7d.js" async=""></script>
1<script src="/_next/static/chunks/652-f40dcb480b4e356f.js" async=""></script>
1<script src="/_next/static/chunks/730-8191af9e9424b148.js" async=""></script>
1<script src="/_next/static/chunks/app/page-cc18ae1a3a7a5ed8.js" async=""></script>
1<meta name="next-size-adjust" content=""/><title>Max Wagner</title><meta name="description" content="Developer and software architect with a passion for DevOps. 2"/><link rel="canonical" href="https://wagner-dev.com"/><meta property="og:title" content="Max Wagner"/><meta property="og:description" content="Developer and software architect with a passion for DevOps. 3"/><meta property="og:url" content="https://wagner-dev.com"/><meta property="og:site_name" content="Max Wagner"/><meta property="og:image" content="https://wagner-dev.com/api/og/home?og=eyJ0aXRsZSI6Ik1heCUyMFdhZ25lciIsImlzRGVmYXVsdE1vZGVEYXJrIjp0cnVlLCJwaG90byI6Imh0dHBzOi8vY2RuLmhhc2hub2RlLmNvbS9yZXMvaGFzaG5vZGUvaW1hZ2UvdXBsb2FkL3YxNzIyODM4OTIzOTEwLzdlM2M4MjY4LTJhZDQtNDIwMS05ZDVjLWUwZjc0NzkyOWU4ZS5qcGVnIiwibG9nbyI6bnVsbCwibG9nb0RhcmsiOm51bGwsImlzVGVhbSI6dHJ1ZSwiZG9tYWluIjoid2FnbmVyLWRldi5jb20iLCJtZXRhIjoiRGV2ZWxvcGVyJTIwYW5kJTIwc29mdHdhcmUlMjBhcmNoaXRlY3QlMjB3aXRoJTIwYSUyMHBhc3Npb24lMjBmb3IlMjBEZXZPcHMuJTBBIiwiZm9sbG93ZXJzIjo1LCJhcnRpY2xlcyI6MCwiZmF2aWNvbiI6bnVsbH0="/><meta property="og:image:width" content="1200"/><meta property="og:image:height" content="630"/><meta property="og:type" content="website"/><meta name="twitter:card" content="summary_large_image"/><meta name="twitter:creator" content="https://x.com/MaxWagnerDev"/><meta name="twitter:title" content="Max Wagner"/><meta name="twitter:description" content="Developer and software architect with a passion for DevOps. 4"/><meta name="twitter:image" content="https://wagner-dev.com/api/og/home?og=eyJ0aXRsZSI6Ik1heCUyMFdhZ25lciIsImlzRGVmYXVsdE1vZGVEYXJrIjp0cnVlLCJwaG90byI6Imh0dHBzOi8vY2RuLmhhc2hub2RlLmNvbS9yZXMvaGFzaG5vZGUvaW1hZ2UvdXBsb2FkL3YxNzIyODM4OTIzOTEwLzdlM2M4MjY4LTJhZDQtNDIwMS05ZDVjLWUwZjc0NzkyOWU4ZS5qcGVnIiwibG9nbyI6bnVsbCwibG9nb0RhcmsiOm51bGwsImlzVGVhbSI6dHJ1ZSwiZG9tYWluIjoid2FnbmVyLWRldi5jb20iLCJtZXRhIjoiRGV2ZWxvcGVyJTIwYW5kJTIwc29mdHdhcmUlMjBhcmNoaXRlY3QlMjB3aXRoJTIwYSUyMHBhc3Npb24lMjBmb3IlMjBEZXZPcHMuJTBBIiwiZm9sbG93ZXJzIjo1LCJhcnRpY2xlcyI6MCwiZmF2aWNvbiI6bnVsbH0="/><link rel="icon" href="/favicon.ico"/>
4<script type="text/javascript">window.addEventListener('message',function(e){var d=e.data;if(!d||d.__hnWidget!==1||typeof d.h!=='number'||d.h<=0)return;var f=document.querySelectorAll('.hn-widget-frame');for(var i=0;i<f.length;i++){if(f[i].contentWindow===e.source){f[i].style.height=d.h+'px';break;}}});</script>
4<script src="/_next/static/chunks/polyfills-42372ed130431b0a.js" noModule=""></script>
4</head><body class="__variable_c2612a __variable_246ccd __variable_3069d5 bg-background dark:bg-background"><div hidden=""><!--$--><!--/$--></div>
4<script>((a2, b2, c4, d3, e2, f2, g4, h3) => { 5 let i3 = document.documentElement, j2 = ["light", "dark"]; 6 function k2(b3) { 7 var c5; 8 (Array.isArray(a2) ? a2 : [a2]).forEach((a3) => { 9 let c6 = a3 === "class", d4 = c6 && f2 ? e2.map((a4) => f2[a4] || a4) : e2; 10 c6 ? (i3.classList.remove(...d4), i3.classList.add(f2 && f2[b3] ? f2[b3] : b3)) : i3.setAttribute(a3, b3); 11 }), c5 = b3, h3 && j2.includes(c5) && (i3.style.colorScheme = c5); 12 } 13 if (d3) k2(d3); 14 else try { 15 let a3 = localStorage.getItem(b2) || c4, d4 = g4 && a3 === "system" ? window.matchMedia("(prefers-color-scheme: dark)").matches ? "dark" : "light" : a3; 16 k2(d4); 17 } catch { 18 } 19 })("class","theme","system",null,["light","dark"],null,true,true)</script>
19<main id="main-content" class="min-h-screen bg-background dark:bg-background"><header class="sticky top-0 z-50 w-full py-4 bg-background backdrop-blur-sm transition-transform duration-300 translate-y-0"><a href="#main-content" class="sr-only focus:not-sr-only focus:absolute focus:left-4 focus:top-4 focus:z-50 focus:rounded-md focus:bg-background focus:px-4 focus:py-2 focus:text-sm focus:shadow">Skip to main content</a><div class="relative w-full mx-auto xl:max-w-[80rem] 2xl:max-w-[90rem] px-4 sm:px-12 md:px-18 lg:px-16 xl:px-10"><div class="flex items-center justify-between gap-3 xl:hidden"><div class="flex items-center gap-3 min-w-0 flex-1"><a href="https://hashnode.com/?utm_source=https%3A%2F%2Fwagner-dev.com&utm_medium=referral&utm_campaign=blog_header_logo&utm_content=logo" class="inline-flex items-center justify-center text-lg text-muted-foreground hover:text-foreground transition border rounded-md h-9 w-9 shrink-0 border-border hover:bg-muted"><i class="text-xl fa-brands fa-hashnode" aria-hidden="true"></i><span class="sr-only">Hashnode</span></a><a title="Max Wagner" class="text-lg font-semibold text-foreground truncate min-w-0" href="/">Max Wagner</a></div><div class="flex items-center gap-2 shrink-0"><button class="gap-2 whitespace-nowrap rounded-md text-sm font-medium transition-colors focus-visible:outline-hidden focus-visible:ring-1 focus-visible:ring-ring disabled:pointer-events-none disabled:opacity-50 [&_svg]:pointer-events-none [&_svg]:size-4 [&_svg]:shrink-0 hover:bg-accent py-2 h-9 w-9 px-0 flex items-center justify-center text-muted-foreground hover:text-foreground bg-transparent border-border shadow-none" aria-label="Open search (press Control or Command and K)"><i class="fa-jelly fa-search text-sm" aria-hidden="true"></i><span class="sr-only">Open search (press Control or Command and K)</span></button><button class="inline-flex items-center justify-center gap-2 whitespace-nowrap rounded-md text-sm font-medium transition-colors focus-visible:outline-hidden focus-visible:ring-1 focus-visible:ring-ring disabled:pointer-events-none disabled:opacity-50 [&_svg]:pointer-events-none [&_svg]:size-4 [&_svg]:shrink-0 hover:bg-accent w-9 px-3 h-9 text-muted-foreground hover:text-foreground shadow-none" type="button" id="radix-_R_2j4lfalb_" aria-haspopup="menu" aria-expanded="false" data-state="closed" data-slot="dropdown-menu-trigger"><i class="fa-jelly fa-sun text-sm scale-100 rotate-0 transition-all dark:scale-0 dark:-rotate-90" aria-hidden="true"></i><i class="fa-jelly fa-moon absolute text-sm scale-0 rotate-90 transition-all dark:scale-100 dark:rotate-0" aria-hidden="true"></i><span class="sr-only">Toggle theme</span></button><button class="inline-flex items-center justify-center gap-2 whitespace-nowrap rounded-md text-sm font-medium transition-colors focus-visible:outline-hidden focus-visible:ring-1 focus-visible:ring-ring disabled:pointer-events-none disabled:opacity-50 [&_svg]:pointer-events-none [&_svg]:size-4 [&_svg]:shrink-0 border border-input bg-background hover:bg-accent hover:text-accent-foreground py-2 h-9 w-10 px-0 shadow-none" type="button" aria-haspopup="dialog" aria-expanded="false" aria-controls="radix-_R_3j4lfalb_" data-state="closed" data-slot="sheet-trigger"><i class="fa-jelly fa-bars" aria-hidden="true"></i><span class="sr-only">Open menu</span></button></div></div><div class="hidden xl:grid gap-4 items-center xl:grid-cols-[1fr_auto_1fr] xl:gap-6 max-w-full xl:mx-auto xl:max-w-[80rem] 2xl:max-w-[90rem]"><div class="flex items-center w-full gap-3 min-w-0"><a href="https://hashnode.com/?utm_source=https%3A%2F%2Fwagner-dev.com&utm_medium=referral&utm_campaign=blog_header_logo&utm_content=logo" class="inline-flex items-center justify-center text-lg text-muted-foreground hover:text-foreground transition border rounded-md h-9 w-9 border-border hover:bg-muted"><i class="text-xl fa-brands fa-hashnode" aria-hidden="true"></i><span class="sr-only">Hashnode</span></a><span class="h-6 border-l border-border"></span><p class="font-semibold text-foreground min-w-0 truncate text-lg sm:text-xl"><a title="Max Wagner" href="/">Max Wagner</a></p></div><div></div><div class="flex items-center justify-end gap-3 text-muted-foreground"><button class="gap-2 whitespace-nowrap rounded-md text-sm font-medium transition-colors focus-visible:outline-hidden focu
19s-visible:ring-1 focus-visible:ring-ring disabled:pointer-events-none disabled:opacity-50 [&_svg]:pointer-events-none [&_svg]:size-4 [&_svg]:shrink-0 hover:bg-accent py-2 h-9 w-9 px-0 flex items-center justify-center text-muted-foreground hover:text-foreground bg-transparent border-border shadow-none" aria-label="Open search (press Control or Command and K)"><i class="fa-jelly fa-search text-sm" aria-hidden="true"></i><span class="sr-only">Open search (press Control or Command and K)</span></button><div class="flex items-center gap-3"><button class="inline-flex items-center justify-center gap-2 whitespace-nowrap rounded-md text-sm font-medium transition-colors focus-visible:outline-hidden focus-visible:ring-1 focus-visible:ring-ring disabled:pointer-events-none disabled:opacity-50 [&_svg]:pointer-events-none [&_svg]:size-4 [&_svg]:shrink-0 hover:bg-accent w-9 px-3 h-9 text-muted-foreground hover:text-foreground shadow-none" type="button" id="radix-_R_6t4lfalb_" aria-haspopup="menu" aria-expanded="false" data-state="closed" data-slot="dropdown-menu-trigger"><i class="fa-jelly fa-sun text-sm scale-100 rotate-0 transition-all dark:scale-0 dark:-rotate-90" aria-hidden="true"></i><i class="fa-jelly fa-moon absolute text-sm scale-0 rotate-90 transition-all dark:scale-100 dark:rotate-0" aria-hidden="true"></i><span class="sr-only">Toggle theme</span></button><a target="_blank" rel="noopener" class="inline-flex items-center justify-center whitespace-nowrap rounded-md text-sm font-medium transition-colors focus-visible:outline-hidden focus-visible:ring-1 focus-visible:ring-ring disabled:pointer-events-none disabled:opacity-50 [&_svg]:pointer-events-none [&_svg]:size-4 [&_svg]:shrink-0 border border-input bg-background hover:bg-accent hover:text-accent-foreground py-2 gap-2 px-3 h-9 shadow-none" href="https://hashnode.com"><i class="text-sm fa-jelly fa-pencil" aria-hidden="true"></i>Write</a></div></div></div></div></header><div data-slot="dialog-header" class="flex flex-col gap-2 text-center sm:text-left sr-only"><h2 id="radix-_R_8lfalbH1_" data-slot="dialog-title" class="text-lg leading-none font-semibold">Command Palette</h2><p id="radix-_R_8lfalbH2_" data-slot="dialog-description" class="text-muted-foreground text-sm">Search for a command to run...</p></div><div class=""><div class="w-full mx-auto xl:max-w-[80rem] 2xl:max-w-[90rem] px-4 sm:px-12 md:px-18 lg:px-16 xl:px-10"><div class="flex flex-col gap-8 pt-2 sm:pt-10"><section class="pb-16"><div class="space-y-6 w-full mx-auto"><section aria-labelledby="_R_15falb_" class="flex flex-col gap-8"><h2 id="_R_15falb_" class="sr-only">Latest articles</h2><div class="flex flex-col gap-8"><div class="rounded-xl border border-border bg-card overflow-hidden"><div class="grid grid-cols-1 md:grid-cols-2 lg:grid-cols-4"><div class="order-2 md:order-2 lg:order-1 md:col-span-1 flex flex-col divide-y divide-border md:border-t lg:border-t-0 lg:border-r border-border"><div class="min-h-[140px] md:min-h-40 lg:min-h-[180px] flex-1"><article aria-labelledby="_R_lct5falb_" class="h-full"><a class="block h-full hover:bg-muted transition-colors" href="/upgrade-your-development-workflow-use-devspace-instead-of-docker"><div class="flex flex-col gap-3 p-4 h-full"><div class="relative overflow-hidden rounded-lg bg-muted aspect-[800/420]"><img alt="Upgrade your development workflow: Use DevSpace instead of Docker" loading="lazy" decoding="async" data-nimg="fill" class="object-cover object-center" style="position:absolute;height:100%;width:100%;left:0;top:0;right:0;bottom:0;color:transparent" src="https://cdn.hashnode.com/res/hashnode/image/upload/v1723024234347/e2d20975-17b2-4236-90a0-8d263019113f.png"/></div><header class="flex flex-col gap-1"><h3 id="_R_lct5falb_" class="text-foreground text-base font-bold leading-snug tracking-tight transition-colors line-clamp-2">Upgrade your development workflow: Use DevSpace instead of Docker</h3></header><div class="flex flex-wrap items-center gap-2 text-sm text-muted-foreground mt-auto"><span class="whitespace-nowrap">Aug 7, 2024</span><span class="whitespace-nowrap"><span class="mr-3" aria-hidden="true">·</span>4 min read</span><span class="whitespace-nowrap" title="292 views"><span class="mr-3" aria-hidden="true">·</span>292</span></div></div></a></article></div>
19<div class="min-h-[140px] md:min-h-40 lg:min-h-[180px] flex-1"><article aria-labelledby="_R_15ct5falb_" class="h-full"><a class="block h-full hover:bg-muted transition-colors" href="/how-to-set-up-strict-transport-security-hsts-in-istio"><div class="flex flex-col gap-3 p-4 h-full"><div class="relative overflow-hidden rounded-lg bg-muted aspect-[800/420]"><img alt="How to Set Up Strict-Transport-Security (HSTS) in Istio" loading="lazy" decoding="async" data-nimg="fill" class="object-cover object-center" style="position:absolute;height:100%;width:100%;left:0;top:0;right:0;bottom:0;color:transparent" src="https://cdn.hashnode.com/res/hashnode/image/upload/v1722928063051/35b7aaa4-832c-4bf0-b2d0-9c26a9e3e9de.png"/></div><header class="flex flex-col gap-1"><h3 id="_R_15ct5falb_" class="text-foreground text-base font-bold leading-snug tracking-tight transition-colors line-clamp-2">How to Set Up Strict-Transport-Security (HSTS) in Istio</h3></header><div class="flex flex-wrap items-center gap-2 text-sm text-muted-foreground mt-auto"><span class="whitespace-nowrap">Aug 5, 2024</span><span class="whitespace-nowrap"><span class="mr-3" aria-hidden="true">·</span>2 min read</span><span class="whitespace-nowrap" title="2,032 views"><span class="mr-3" aria-hidden="true">·</span>2.0K</span></div></div></a></article></div></div><div class="order-1 md:col-span-2 lg:col-span-2 border-b md:border-b-0 border-border"><article aria-labelledby="_R_2ct5falb_" class="h-full"><a class="block h-full hover:bg-muted transition-colors" href="/are-you-thinking-of-moving-from-php-to-go-read-this-first"><div class="flex flex-col gap-4 p-4 md:p-6 h-full"><div class="relative overflow-hidden rounded-lg bg-muted aspect-[800/420]"><img alt="Are you thinking of moving from PHP to Go? Read this first!" loading="lazy" decoding="async" data-nimg="fill" class="object-cover object-center" style="position:absolute;height:100%;width:100%;left:0;top:0;right:0;bottom:0;color:transparent" src="https://cdn.hashnode.com/res/hashnode/image/upload/v1723497652177/51f1a63e-ae91-421c-b26d-895bdd35b53e.png"/></div><header class="flex flex-col gap-2"><h3 id="_R_2ct5falb_" class="text-foreground text-xl sm:text-2xl font-bold leading-snug tracking-tight transition-colors line-clamp-3">Are you thinking of moving from PHP to Go? Read this first!</h3><p class="text-sm sm:text-base leading-relaxed text-muted-foreground line-clamp-3">Are you a PHP developer contemplating a switch to Go? You're not alone. As technology evolves, many developers find themselves reevaluating their choice of programming languages to keep up with industry trends, improve performance, and enhance their ...</p></header><div class="flex flex-wrap items-center gap-3 text-sm text-muted-foreground mt-auto"><span class="whitespace-nowrap">Aug 13, 2024</span><span class="whitespace-nowrap"><span class="mr-3" aria-hidden="true">·</span>8 min read</span><span class="whitespace-nowrap" title="2,471 views"><span class="mr-3" aria-hidden="true">·</span>2.5K</span></div></div></a></article></div><div class="order-3 md:col-span-1 flex flex-col divide-y divide-border border-t lg:border-t-0 lg:border-l border-border"><div class="min-h-[140px] md:min-h-40 lg:min-h-[180px] flex-1 bg-muted"></div><div class="min-h-[140px] md:min-h-40 lg:min-h-[180px] flex-1 bg-muted"></div></div></div></div><div class="grid grid-cols-1 gap-6 items-stretch"><aside aria-label="About the publication" class="h-full *:h-full"><div class="rounded-xl border bg-card text-card-foreground transition hover:border-slate-400 dark:hover:border-slate-600 p-5 flex flex-col"><div class="flex flex-col items-center text-center gap-5"><div class="flex flex-col items-center gap-3"><div class="flex h-16 w-16 shrink-0 items-center justify-center rounded-full bg-muted"><i class="text-2xl fa-brands fa-hashnode text-foreground" aria-hidden="true"></i></div><div class="space-y-1"><p class="text-base font-semibold text-foreground leading-tight">Max Wagner</p><p class="text-sm text-muted-foreground">3<!-- --> posts</p></div></div><div class="prose prose-sm dark:prose-invert max-w-xs mx-auto text-muted-foreground"><p>Developer and software architect with a passion for DevOps.</p> 20</div><div class="flex flex-wrap items-center justify-center gap-3"><a href="https://x.com/MaxWagnerDev" target="_blank" rel="noopener" class="text-muted-foreground transition-colors hover:text-foreground" aria-label="Twitter"><i class="fa-brands fa-x-twitter" aria-hidden="true"></i></a><a href="https://github.com/maxwagner-dev" target="_blank" rel="noopener" class="text-muted-foreground transition-colors hover:text-foreground" aria-label="GitHub"><i class="fa-brands fa-github" aria-hidden="true"></i></a><a href="https://www.linkedin.com/in/maxwagner-dev/" target="_blank" rel="noopener" class="text-muted-foreground transition-colors hover:text-foreground" aria-label="LinkedIn"><i class="fa-brands fa-linkedin" aria-hidden="true"></i></a><a href="https://www.wagner-dev.com" target="_blank" rel="noopener" class="text-muted-foreground transition-colors hover:text-foreground" aria-label="Website"><i class="fa-jelly fa-globe" aria-hidden="true"></i></a><a href="https://hashnode.com/@maxwagner" target="_blank" rel="noopener" class="text-muted-foreground transition-colors hover:text-foreground" aria-label="Hashnode"><i class="fa-brands fa-hashnode" aria-hidden="true"></i></a></div></div></div></aside></div></div></section></div></section></div></div></div>
20<script type="application/ld+json">{"@context":"https://schema.org","@type":"Blog","name":"Max Wagner","url":"https://wagner-dev.com","description":"Developer and software architect with a passion for DevOps.\n","mainEntityOfPage":{"@type":"WebPage","url":"https://wagner-dev.com"},"publisher":{"@type":"Organization","name":"Max Wagner","url":"https://wagner-dev.com"},"image":{"@type":"ImageObject","url":"https://wagner-dev.com/api/og/home?og=eyJ0aXRsZSI6Ik1heCUyMFdhZ25lciIsImlzRGVmYXVsdE1vZGVEYXJrIjp0cnVlLCJwaG90byI6Imh0dHBzOi8vY2RuLmhhc2hub2RlLmNvbS9yZXMvaGFzaG5vZGUvaW1hZ2UvdXBsb2FkL3YxNzIyODM4OTIzOTEwLzdlM2M4MjY4LTJhZDQtNDIwMS05ZDVjLWUwZjc0NzkyOWU4ZS5qcGVnIiwiaXNUZWFtIjp0cnVlLCJkb21haW4iOiJ3YWduZXItZGV2LmNvbSIsIm1ldGEiOiJEZXZlbG9wZXIlMjBhbmQlMjBzb2Z0d2FyZSUyMGFyY2hpdGVjdCUyMHdpdGglMjBhJTIwcGFzc2lvbiUyMGZvciUyMERldk9wcy4lMEEiLCJmb2xsb3dlcnMiOjUsImFydGljbGVzIjowfQ=="},"sameAs":["https://x.com/MaxWagnerDev","https://github.com/maxwagner-dev","https://www.wagner-dev.com","https://hashnode.com/@maxwagner","https://www.linkedin.com/in/maxwagner-dev/"]}</script>
20<footer class="px-4 pt-8 pb-20 sm:px-8 text-muted-foreground" aria-label="Footer"><div class="w-full max-w-4xl mx-auto"><div class="flex flex-col items-center gap-4 text-center text-sm"><p class="font-medium"><time dateTime="2026"><span class="font-sans">©</span> <!-- -->2026</time> <!-- -->Max Wagner</p><nav aria-label="Footer navigation"><ul class="flex flex-wrap justify-center gap-4 text-sm tracking-wide"><li><a class="transition hover:text-foreground" href="/members">Members</a></li><li><a class="transition hover:text-foreground" href="/archive">Archive</a></li><li><a class="transition hover:text-foreground" target="_blank" rel="noopener" href="https://hashnode.com/privacy-policy">Privacy</a></li><li><a class="transition hover:text-foreground" target="_blank" rel="noopener" href="https://hashnode.com/terms">Terms</a></li></ul></nav><div class="pt-8 flex justify-center gap-6"><a target="_blank" rel="noopener" class="flex items-center gap-2 text-sm transition hover:text-foreground" title="Sitemap" href="/sitemap.xml"><i class="fa-regular fa-sitemap"></i><span>Sitemap</span></a><a target="_blank" rel="noopener" class="flex items-center gap-2 text-sm transition hover:text-foreground" title="RSS Feed" href="/rss.xml"><i class="fa-regular fa-rss"></i><span>RSS</span></a></div><div class="pt-10 text-center"><a target="_blank" rel="noopener" aria-label="Visit Hashnode (opens in a new tab)" class="inline-flex items-center justify-center gap-2 whitespace-nowrap font-medium transition-colors focus-visible:outline-hidden focus-visible:ring-1 focus-visible:ring-ring disabled:pointer-events-none disabled:opacity-50 [&_svg]:pointer-events-none [&_svg]:size-4 [&_svg]:shrink-0 hover:bg-accent hover:text-accent-foreground h-10 rounded-md text-xl px-5 py-4" href="https://hashnode.com/?utm_source=https%3A%2F%2Fwagner-dev.com&utm_medium=referral&utm_campaign=blog_footer_logo&utm_content=logo"><svg fill="none" viewBox="0 0 282 39" aria-hidden="true" class="h-6 w-auto min-w-[9.5rem] text-muted-foreground transition hover:text-foreground"><path fill="currentColor" d="M2.68 13.032c-3.573 3.505-3.573 9.363 0 12.936L13.032 36.32c3.505 3.573 9.363 3.573 12.936 0L36.32 25.968c3.573-3.573 3.573-9.431 0-12.936L25.968 2.68c-3.573-3.573-9.431-3.573-12.936 0zm12.211 1.935c2.507-2.521 6.582-2.544 9.104-.038s2.544 6.582.038 9.104-6.582 2.544-9.104.038-2.544-6.582-.038-9.104"></path><path fill="currentColor" d="M268.379 39q-6.322 0-10.35-4.108-4.002-4.134-4.002-10.483 0-6.296 4.002-10.43 4-4.135 10.163-4.135 6.028 0 9.817 3.734 3.814 3.735 3.814 9.497v2.8h-24.248v-4.054h17.633q-.187-2.747-2.054-4.508-1.868-1.76-4.962-1.76-3.28-.001-5.388 2.374-2.108 2.373-2.108 6.375 0 4.188 2.348 6.695 2.347 2.481 5.895 2.481 1.68 0 2.934-.453a8.5 8.5 0 0 0 2.321-1.307q1.041-.854 2.268-2.614l4.694 2.96q-1.707 2.748-3.494 4.135a12.7 12.7 0 0 1-3.975 2.081q-2.187.72-5.308.72m-33.496 0q-5.575 0-9.283-4.028-3.681-4.029-3.681-10.484 0-6.43 3.761-10.51 3.76-4.108 9.47-4.108 2.8 0 5.175 1.2 2.4 1.174 3.628 3.148l.026-.08V0h7.016v38.2h-6.722v-4.722l.64.8-.694.133q-1.28 2.108-3.788 3.361Q237.924 39 234.883 39m1.627-6.002q3.308 0 5.495-2.428t2.188-6.135q0-3.762-2.214-6.109-2.214-2.374-5.469-2.374-3.28 0-5.522 2.347-2.214 2.348-2.214 6.163 0 3.76 2.214 6.162 2.214 2.374 5.522 2.374M205.811 39q-6.376 0-10.537-4.161-4.161-4.188-4.161-10.404 0-6.321 4.161-10.456 4.188-4.135 10.537-4.135 6.348 0 10.537 4.161 4.188 4.161 4.188 10.43 0 6.216-4.188 10.404Q212.186 39 205.811 39m0-6.162q3.307 0 5.575-2.374 2.267-2.374 2.267-6.055 0-3.707-2.294-6.056-2.267-2.347-5.548-2.347-3.308 0-5.575 2.374-2.268 2.348-2.268 6.029t2.241 6.055q2.268 2.374 5.602 2.374M162.586 38.2V10.644h6.802v5.015l-.8-.987h.906q1.308-2.187 3.762-3.494 2.48-1.335 5.228-1.334 4.615 0 7.256 2.8 2.667 2.776 2.667 7.603V38.2h-7.069V21.794q0-2.854-1.387-4.401t-4.134-1.547q-2.614 0-4.402 1.974-1.76 1.974-1.76 4.881V38.2zm-30.181 0V0h6.962v14.698h.134q1.2-2.187 3.574-3.521 2.375-1.335 5.229-1.334 4.615 0 7.255 2.828 2.668 2.801 2.668 7.522V38.2h-7.069V21.794q0-2.827-1.387-4.402-1.387-1.573-4.055-1.573-2.587 0-4.428 2.027-1.814 2.027-1.814 4.962v15.391zm-14.416.8q-2.882 0-5.015-.64-2.108-.614-3.761-1.84-1.654-1.228-2.668-2.695l-.987-1.467 4.695-3.174.773 1.067a9.1 9.1 0 0 0 1.788 1.814 8.2 8.2 0 0 0 2.32 1.2q1.308.4 3.068.4 2.161 0 3.441-.8 1.308-.8 1.307-2.294 0-1.36-1.147-2.108-1.12-.747-5.068-1.654-5.335-1.253-7.656-3.334-2.32-2.107-2.321-5.362 0-3.76 3.148-6.002 3.148-2.267 7.923-2.267 2.454 0 4.348.507t3.388 1.493q1.493.988 2.454 2.188l.987 1.2-4.482 3.255-.667-.774a7.4 7.4 0 0 0-1.627-1.387 6.4 6.4 0 0 0-2.054-.88 9.5 9.5 0 0 0-2.401-.294q-1.974 0-3.201.8-1.2.774-1.2 1.921 0 1.254 1.12 2.027 1.147.748 5.229 1.681 5.334 1.227 7.629 3.308 2.294 2.055 2.294 5.308 0 4.029-3.228 6.43Q123.217 39 117.989 39M87.61 39q-4.508 0-7.335-2.454-2.828-2.481-2.828-6.482 0-4.188 3.254-6.669t8.483-2.48q2.082 0 4.028.426 1.974.427 3.361 1.12v-1.6q0-2.588-1.813-4.082-1.788-1.493-4.615-1.493-1.628 0-2.801.373a8.7 8.7 0 0 0-2.188.987q-.987.614-1.84 1.414l-.854.8-4.081-3.788 1.307-1.173a18.7 18.7 0 0 1 2.934-2.108q1.601-.933 3.601-1.44t4.589-.507q5.868 0 9.229 2.88 3.361 2.882 3.361 8.084V38.2h-6.749v-5.922l1.654 2.187h-1.76q-1.308 2.055-3.655 3.308Q90.545 39 87.611 39m1.814-4.988q3.148 0 5.149-2.187 2-2.215 2-5.309v-.08q-1.12-.693-2.72-1.094a13 13 0 0 0-3.388-.426q-2.828 0-4.562 1.2-1.734 1.173-1.734 3.521 0 2.028 1.468 3.201t3.787 1.174M49 38.2V0h6.962v14.698h.134q1.2-2.187 3.574-3.521 2.375-1.335 5.229-1.334 4.615 0 7.255 2.828 2.668 2.801 2.668 7.522V38.2h-
207.07V21.794q0-2.827-1.386-4.402-1.387-1.573-4.055-1.573-2.587 0-4.428 2.027-1.815 2.027-1.814 4.962v15.391z"></path></svg></a></div></div></div></footer></main><!--$--><!--/$-->
20<script src="/_next/static/chunks/webpack-55b36f0cd6c208fe.js" id="_R_" async=""></script>
20<script>(self.__next_f=self.__next_f||[]).push([0])</script>
20<script>self.__next_f.push([1,"1:\"$Sreact.fragment\"\n2:I[16174,[\"4554\",\"static/chunks/4554-984b480a9db5f3fe.js\",\"7563\",\"static/chunks/7563-4dfa0994a9b0e37c.js\",\"9216\",\"static/chunks/9216-9272709ba40c1cfd.js\",\"2810\",\"static/chunks/2810-6b74d77b4b0dc790.js\",\"3091\",\"static/chunks/3091-bf1537ff6571a1bd.js\",\"7177\",\"static/chunks/app/layout-6ae7b4b583d4bba3.js\"],\"ThemeProvider\"]\n3:I[82180,[\"4554\",\"static/chunks/4554-984b480a9db5f3fe.js\",\"7563\",\"static/chunks/7563-4dfa0994a9b0e37c.js\",\"9216\",\"static/chunks/9216-9272709ba40c1cfd.js\",\"2810\",\"static/chunks/2810-6b74d77b4b0dc790.js\",\"3091\",\"static/chunks/3091-bf1537ff6571a1bd.js\",\"7177\",\"static/chunks/app/layout-6ae7b4b583d4bba3.js\"],\"TooltipProvider\"]\n4:I[63851,[\"4554\",\"static/chunks/4554-984b480a9db5f3fe.js\",\"7563\",\"static/chunks/7563-4dfa0994a9b0e37c.js\",\"9216\",\"static/chunks/9216-9272709ba40c1cfd.js\",\"2810\",\"static/chunks/2810-6b74d77b4b0dc790.js\",\"3091\",\"static/chunks/3091-bf1537ff6571a1bd.js\",\"7177\",\"static/chunks/app/layout-6ae7b4b583d4bba3.js\"],\"UrqlProvider\"]\n5:I[82714,[\"4554\",\"static/chunks/4554-984b480a9db5f3fe.js\",\"7563\",\"static/chunks/7563-4dfa0994a9b0e37c.js\",\"9216\",\"static/chunks/9216-9272709ba40c1cfd.js\",\"2810\",\"static/chunks/2810-6b74d77b4b0dc790.js\",\"3091\",\"static/chunks/3091-bf1537ff6571a1bd.js\",\"7177\",\"static/chunks/app/layout-6ae7b4b583d4bba3.js\"],\"ConsentManager\"]\n6:I[9766,[],\"\"]\n7:I[98924,[],\"\"]\n8:I[33293,[\"4554\",\"static/chunks/4554-984b480a9db5f3fe.js\",\"4345\",\"static/chunks/app/not-found-b861935655c5698b.js\"],\"default\"]\n9:I[21447,[\"4554\",\"static/chunks/4554-984b480a9db5f3fe.js\",\"7563\",\"static/chunks/7563-4dfa0994a9b0e37c.js\",\"9216\",\"static/chunks/9216-9272709ba40c1cfd.js\",\"2810\",\"static/chunks/2810-6b74d77b4b0dc790.js\",\"3091\",\"static/chunks/3091-bf1537ff6571a1bd.js\",\"7177\",\"static/chunks/app/layout-6ae7b4b583d4bba3.js\"],\"Integrations\"]\na:I[35514,[\"4554\",\"static/chunks/4554-984b480a9db5f3fe.js\",\"7563\",\"static/chunks/7563-4dfa0994a9b0e37c.js\",\"9216\",\"static/chunks/9216-9272709ba40c1cfd.js\",\"2810\",\"static/chunks/2810-6b74d77b4b0dc790.js\",\"3091\",\"static/chunks/3091-bf1537ff6571a1bd.js\",\"7177\",\"static/chunks/app/layout-6ae7b4b583d4bba3.js\"],\"Analytics\"]\nc:I[24431,[],\"OutletBoundary\"]\ne:I[15278,[],\"AsyncMetadataOutlet\"]\n10:I[24431,[],\"ViewportBoundary\"]\n12:I[24431,[],\"MetadataBoundary\"]\n13:\"$Sreact.suspense\"\n15:I[57150,[],\"\"]\n:HL[\"/_next/static/media/22a5144ee8d83bca-s.p.woff2\",\"font\",{\"crossOrigin\":\"\",\"type\":\"font/woff2\"}]\n:HL[\"/_next/static/media/72a2a501b11d0ccb.p.woff2\",\"font\",{\"crossOrigin\":\"\",\"type\":\"font/woff2\"}]\n:HL[\"/_next/static/media/8934b430a4adeb19-s.p.woff2\",\"font\",{\"crossOrigin\":\"\",\"type\":\"font/woff2\"}]\n:HL[\"/_next/static/media/8e9860b6e62d6359-s.p.woff2\",\"font\",{\"crossOrigin\":\"\",\"type\":\"font/woff2\"}]\n:HL[\"/_next/static/media/c4b700dcb2187787-s.p.woff2\",\"font\",{\"crossOrigin\":\"\",\"type\":\"font/woff2\"}]\n:HL[\"/_next/static/media/e4af272ccee01ff0-s.p.woff2\",\"font\",{\"crossOrigin\":\"\",\"type\":\"font/woff2\"}]\n:HL[\"/_next/static/css/0d16c72050851854.css\",\"style\"]\n:HL[\"/_next/static/css/7ffcc02a3c67389b.css\",\"style\"]\n:HL[\"/_next/static/css/c20e76e7d11dec32.css\",\"style\"]\n:HL[\"/_next/static/css/59fefb2212bd5b60.css\",\"style\"]\n0:{\"P\":null,\"b\":\"RrCGzNVHUG674hJ_sjvms\",\"p\":\"\",\"c\":[\"\",\"?x-host=wagner-dev.com\"],\"i\":false,\"f\":[[[\"\",{\"children\":[\"__PAGE__?{\\\"x-host\\\":\\\"wagner-dev.com\\\"}\",{}]},\"$undefined\",\"$undefined\",true],[\"\",[\"$\",\"$1\",\"c\",{\"children\":[[[\"$\",\"link\",\"0\",{\"rel\":\"stylesheet\",\"href\":\"/_next/static/css/0d16c72050851854.css\",\"precedence\":\"next\",\"crossOrigin\":\"$undefined\",\"nonce\":\"$undefined\"}],[\"$\",\"link\",\"1\",{\"rel\":\"stylesheet\",\"href\":\"/_next/static/css/7ffcc02a3c67389b.css\",\"precedence\":\"next\",\"crossOrigin\":\"$undefined\",\"nonce\":\"$undefined\"}],[\"$\",\"link\",\"2\",{\"rel\":\"stylesheet\",\"href\":\"/_next/static/css/c20e76e7d11dec32.css\",\"precedence\":\"next\",\"crossOrigin\":\"$undefined\",\"nonce\":\"$undefined\"}],[\"$\",\"link\",\"3\",{\"rel\":\"stylesheet\",\"href\":\"/_next/static/css/59fefb2212bd5b60.css\",\"precedence\":\"next\",\"crossOrigin\":\"$undefined\",\"nonce\":\"$undefined\"}]],[\"$\",\"html\",null,{\"lang\":\"en\",\"suppressHydrationWarning\":true,\"children\":[[\"$\",\"head\",null,{\"children\":[\"$\",\"script\",null,{\"type\":\"text/javascript\""])</script>
20<script>self.__next_f.push([1,",\"dangerouslySetInnerHTML\":{\"__html\":\"window.addEventListener('message',function(e){var d=e.data;if(!d||d.__hnWidget!==1||typeof d.h!=='number'||d.h\u003c=0)return;var f=document.querySelectorAll('.hn-widget-frame');for(var i=0;i\u003cf.length;i++){if(f[i].contentWindow===e.source){f[i].style.height=d.h+'px';break;}}});\"}}]}],[\"$\",\"body\",null,{\"className\":\"__variable_c2612a __variable_246ccd __variable_3069d5 bg-background dark:bg-background\",\"children\":[\"$\",\"$L2\",null,{\"attribute\":\"class\",\"defaultTheme\":\"system\",\"enableSystem\":true,\"disableTransitionOnChange\":true,\"children\":[\"$\",\"$L3\",null,{\"children\":[\"$\",\"$L4\",null,{\"children\":[\"$\",\"$L5\",null,{\"children\":[[\"$\",\"$L6\",null,{\"parallelRouterKey\":\"children\",\"error\":\"$undefined\",\"errorStyles\":\"$undefined\",\"errorScripts\":\"$undefined\",\"template\":[\"$\",\"$L7\",null,{}],\"templateStyles\":\"$undefined\",\"templateScripts\":\"$undefined\",\"notFound\":[[\"$\",\"$L8\",null,{}],[]],\"forbidden\":\"$undefined\",\"unauthorized\":\"$undefined\"}],[\"$\",\"$L9\",null,{}],[\"$\",\"$La\",null,{}]]}]}]}]}]}]]}]]}],{\"children\":[\"__PAGE__\",[\"$\",\"$1\",\"c\",{\"children\":[\"$Lb\",null,[\"$\",\"$Lc\",null,{\"children\":[\"$Ld\",[\"$\",\"$Le\",null,{\"promise\":\"$@f\"}]]}]]}],{},null,false]},null,false],[\"$\",\"$1\",\"h\",{\"children\":[null,[[\"$\",\"$L10\",null,{\"children\":\"$L11\"}],[\"$\",\"meta\",null,{\"name\":\"next-size-adjust\",\"content\":\"\"}]],[\"$\",\"$L12\",null,{\"children\":[\"$\",\"div\",null,{\"hidden\":true,\"children\":[\"$\",\"$13\",null,{\"fallback\":null,\"children\":\"$L14\"}]}]}]]}],false]],\"m\":\"$undefined\",\"G\":[\"$15\",[]],\"s\":false,\"S\":false}\n11:[[\"$\",\"meta\",\"0\",{\"charSet\":\"utf-8\"}],[\"$\",\"meta\",\"1\",{\"name\":\"viewport\",\"content\":\"width=device-width, initial-scale=1\"}]]\nd:null\n16:I[80622,[],\"IconMark\"]\nf:{\"metadata\":[[\"$\",\"title\",\"0\",{\"children\":\"Max Wagner\"}],[\"$\",\"meta\",\"1\",{\"name\":\"description\",\"content\":\"Developer and software architect with a passion for DevOps.\\n\"}],[\"$\",\"link\",\"2\",{\"rel\":\"canonical\",\"href\":\"https://wagner-dev.com\"}],[\"$\",\"meta\",\"3\",{\"property\":\"og:title\",\"content\":\"Max Wagner\"}],[\"$\",\"meta\",\"4\",{\"property\":\"og:description\",\"content\":\"Developer and software architect with a passion for DevOps.\\n\"}],[\"$\",\"meta\",\"5\",{\"property\":\"og:url\",\"content\":\"https://wagner-dev.com\"}],[\"$\",\"meta\",\"6\",{\"property\":\"og:site_name\",\"content\":\"Max Wagner\"}],[\"$\",\"meta\",\"7\",{\"property\":\"og:image\",\"content\":\"https://wagner-dev.com/api/og/home?og=eyJ0aXRsZSI6Ik1heCUyMFdhZ25lciIsImlzRGVmYXVsdE1vZGVEYXJrIjp0cnVlLCJwaG90byI6Imh0dHBzOi8vY2RuLmhhc2hub2RlLmNvbS9yZXMvaGFzaG5vZGUvaW1hZ2UvdXBsb2FkL3YxNzIyODM4OTIzOTEwLzdlM2M4MjY4LTJhZDQtNDIwMS05ZDVjLWUwZjc0NzkyOWU4ZS5qcGVnIiwibG9nbyI6bnVsbCwibG9nb0RhcmsiOm51bGwsImlzVGVhbSI6dHJ1ZSwiZG9tYWluIjoid2FnbmVyLWRldi5jb20iLCJtZXRhIjoiRGV2ZWxvcGVyJTIwYW5kJTIwc29mdHdhcmUlMjBhcmNoaXRlY3QlMjB3aXRoJTIwYSUyMHBhc3Npb24lMjBmb3IlMjBEZXZPcHMuJTBBIiwiZm9sbG93ZXJzIjo1LCJhcnRpY2xlcyI6MCwiZmF2aWNvbiI6bnVsbH0=\"}],[\"$\",\"meta\",\"8\",{\"property\":\"og:image:width\",\"content\":\"1200\"}],[\"$\",\"meta\",\"9\",{\"property\":\"og:image:height\",\"content\":\"630\"}],[\"$\",\"meta\",\"10\",{\"property\":\"og:type\",\"content\":\"website\"}],[\"$\",\"meta\",\"11\",{\"name\":\"twitter:card\",\"content\":\"summary_large_image\"}],[\"$\",\"meta\",\"12\",{\"name\":\"twitter:creator\",\"content\":\"https://x.com/MaxWagnerDev\"}],[\"$\",\"meta\",\"13\",{\"name\":\"twitter:title\",\"content\":\"Max Wagner\"}],[\"$\",\"meta\",\"14\",{\"name\":\"twitter:description\",\"content\":\"Developer and software architect with a passion for DevOps.\\n\"}],[\"$\",\"meta\",\"15\",{\"name\":\"twitter:image\",\"content\":\"https://wagner-dev.com/api/og/home?og=eyJ0aXRsZSI6Ik1heCUyMFdhZ25lciIsImlzRGVmYXVsdE1vZGVEYXJrIjp0cnVlLCJwaG90byI6Imh0dHBzOi8vY2RuLmhhc2hub2RlLmNvbS9yZXMvaGFzaG5vZGUvaW1hZ2UvdXBsb2FkL3YxNzIyODM4OTIzOTEwLzdlM2M4MjY4LTJhZDQtNDIwMS05ZDVjLWUwZjc0NzkyOWU4ZS5qcG
20VnIiwibG9nbyI6bnVsbCwibG9nb0RhcmsiOm51bGwsImlzVGVhbSI6dHJ1ZSwiZG9tYWluIjoid2FnbmVyLWRldi5jb20iLCJtZXRhIjoiRGV2ZWxvcGVyJTIwYW5kJTIwc29mdHdhcmUlMjBhcmNoaXRlY3QlMjB3aXRoJTIwYSUyMHBhc3Npb24lMjBmb3IlMjBEZXZPcHMuJTBBIiwiZm9sbG93ZXJzIjo1LCJhcnRpY2xlcyI6MCwiZmF2aWNvbiI6bnVsbH0=\"}],[\"$\",\"link\",\"16\",{\"rel\":\"icon\",\"href\":\"/favicon.ico\"}],[\"$\",\"$L16\",\"17\",{}]],\"error\":null,\"digest\":\"$undefined\"}\n14:\"$f:metadata\"\n17:I[652,[\"4554\",\"static/chu"])</script>
20<script>self.__next_f.push([1,"nks/4554-984b480a9db5f3fe.js\",\"7563\",\"static/chunks/7563-4dfa0994a9b0e37c.js\",\"5001\",\"static/chunks/5001-fae0bebdd93f95e3.js\",\"2423\",\"static/chunks/2423-c8b1388240338d7d.js\",\"9216\",\"static/chunks/9216-9272709ba40c1cfd.js\",\"3091\",\"static/chunks/3091-bf1537ff6571a1bd.js\",\"652\",\"static/chunks/652-f40dcb480b4e356f.js\",\"730\",\"static/chunks/730-8191af9e9424b148.js\",\"8974\",\"static/chunks/app/page-cc18ae1a3a7a5ed8.js\"],\"BlogHeader\"]\nb:[\"$\",\"main\",null,{\"id\":\"main-content\",\"className\":\"min-h-screen bg-background dark:bg-background\",\"children\":[[\"$\",\"$L17\",null,{\"publication\":{\"__typename\":\"Publication\",\"id\":\"66b06fb09dc34a5ac01b11f7\",\"url\":\"https://wagner-dev.com\",\"canonicalURL\":\"https://wagner-dev.com\",\"urlPattern\":\"simple\",\"title\":\"Max Wagner\",\"displayTitle\":null,\"hasBadges\":true,\"descriptionSEO\":\"Developer and software architect with a passion for DevOps.\",\"seo\":{\"title\":null,\"description\":null,\"__typename\":\"SEO\"},\"publicMembers\":{\"totalDocuments\":1,\"__typename\":\"PublicMembers\"},\"about\":{\"html\":\"\u003cp\u003eDeveloper and software architect with a passion for DevOps.\u003c/p\u003e\\n\",\"text\":\"Developer and software architect with a passion for DevOps.\\n\",\"__typename\":\"Content\",\"markdown\":\"Developer and software architect with a passion for DevOps.\"},\"features\":{\"proTeam\":{\"isEnabled\":false,\"__typename\":\"ProTeamFeature\"},\"newsletter\":{\"isEnabled\":false,\"__typename\":\"NewsletterFeature\"},\"viewCount\":{\"isEnabled\":true,\"__typename\":\"ViewCountFeature\"},\"readTime\":{\"isEnabled\":true,\"__typename\":\"ReadTimeFeature\"},\"textSelectionSharer\":{\"isEnabled\":true,\"__typename\":\"TextSelectionSharerFeature\"},\"gptBotCrawling\":{\"__typename\":\"GPTBotCrawlingFeature\",\"isEnabled\":false},\"headlessCMS\":{\"isEnabled\":false,\"__typename\":\"HeadlessCMSFeature\"},\"__typename\":\"PublicationFeatures\"},\"aeoSettings\":{\"isEnabled\":false,\"llmsTxtEnabled\":true,\"crawlers\":{\"gptBot\":false,\"claudeBot\":true,\"perplexityBot\":true,\"googleExtended\":true,\"ccBot\":true,\"__typename\":\"AeoCrawlerSettings\"},\"__typename\":\"PublicationAeoSettings\"},\"metaTags\":null,\"ogMetaData\":{\"image\":null,\"__typename\":\"OpenGraphMetaData\"},\"author\":{\"__typename\":\"User\",\"id\":\"66b06f8b47d8f1164ef1b0c1\",\"name\":\"Max Wagner\",\"username\":\"maxwagner\",\"profilePicture\":\"https://cdn.hashnode.com/res/hashnode/image/upload/v1722838923910/7e3c8268-2ad4-4201-9d5c-e0f747929e8e.jpeg\",\"followersCount\":4},\"preferences\":{\"__typename\":\"PublicationPreferences\",\"logo\":null,\"dar
20kMode\":{\"__typename\":\"DarkModePreferences\",\"logo\":null,\"enabled\":true},\"navbarItems\":[],\"enabledPages\":{\"__typename\":\"EnabledPages\",\"badges\":false,\"newsletter\":true,\"members\":true},\"layout\":\"magazine\",\"disableFooterBranding\":false,\"isSubscriptionModalDisabled\":false},\"favicon\":null,\"headerColor\":\"#000000\",\"integrations\":{\"fbPixelID\":null,\"fathomSiteID\":null,\"fathomCustomDomainEnabled\":false,\"fathomCustomDomain\":null,\"hotjarSiteID\":null,\"matomoSiteID\":null,\"matomoURL\":null,\"gaTrackingID\":null,\"gTagManagerID\":null,\"plausibleAnalyticsEnabled\":false,\"wmPaymentPointer\":null,\"koalaPublicKey\":null,\"msClarityID\":null,\"openPanelClientId\":null,\"consentManagement\":{\"enabled\":false,\"version\":1,\"privacyPolicyURL\":null,\"__typename\":\"ConsentManagement\"},\"__typename\":\"PublicationIntegrations\"},\"imprintV2\":null,\"postsCount\":{\"totalDocuments\":3,\"__typename\":\"PostConnection\"},\"isTeam\":true,\"links\":{\"twitter\":\"https://x.com/MaxWagnerDev\",\"instagram\":null,\"github\":\"https://github.com/maxwagner-dev\",\"website\":\"https://www.wagner-dev.com\",\"hashnode\":\"https://hashnode.com/@maxwagner\",\"youtube\":null,\"dailydev\":null,\"linkedin\":\"https://www.linkedin.com/in/maxwagner-dev/\",\"mastodon\":null,\"facebook\":null,\"bluesky\":null,\"__typename\":\"PublicationLinks\"},\"domainInfo\":{\"__typename\":\"DomainInfo\",\"hashnodeSubdomain\":\"maxwagner-dev\",\"domain\":{\"__typename\":\"Domain\",\"host\":\"wagner-dev.com\",\"ready\":true},\"wwwPrefixedDomain\":{\"__typename\":\"Domain\",\"host\":\"www.wagner-dev.com\",\"ready\":true}},\"redirectionRules\":[],\"customRules\":[{\"type\":301,\"path\":\"/istio-configure-strict-transport-security-hsts.html\",\"destination\":\"https://www.wagner-dev.com/how-to-set-up-strict-transport-security-hsts-in-istio\",\"__typename\":\"Custo"])</script>
20<script>self.__next_f.push([1,"mRule\"},{\"type\":301,\"path\":\"/azure-pipelines-automatic-app-versioning.html\",\"destination\":\"https://www.wagner-dev.com\",\"__typename\":\"CustomRule\"}],\"totalRecommendedPublications\":0,\"allowContributorEdits\":true,\"followersCount\":5,\"pinnedPost\":null,\"seriesList\":{\"edges\":[],\"__typename\":\"SeriesConnection\"},\"members\":{\"edges\":[{\"node\":{\"id\":\"674553711b8c712f137b4d04\",\"role\":\"author\",\"user\":{\"id\":\"66b06f8b47d8f1164ef1b0c1\",\"name\":\"Max Wagner\",\"username\":\"maxwagner\",\"profilePicture\":\"https://cdn.hashnode.com/res/hashnode/image/upload/v1722838923910/7e3c8268-2ad4-4201-9d5c-e0f747929e8e.jpeg\",\"__typename\":\"User\"},\"__typename\":\"PublicationMember\"},\"__typename\":\"PublicationMemberEdge\"}],\"__typename\":\"PublicationMemberConnection\"}},\"posts\":[{\"__typename\":\"Post\",\"id\":\"66bbaf9c3dbccfbca0b7bb84\",\"title\":\"Are you thinking of moving from PHP to Go? Read this first!\",\"slug\":\"are-you-thinking-of-moving-from-php-to-go-read-this-first\",\"publishedAt\":\"2024-08-13T19:10:20.150Z\",\"cuid\":\"clzsss2ye000009l210hm7vav\",\"url\":\"https://wagner-dev.com/are-you-thinking-of-moving-from-php-to-go-read-this-first\",\"subtitle\":null,\"brief\":\"Are you a PHP developer contemplating a switch to Go? You're not alone. As technology evolves, many developers find themselves reevaluating their choice of programming languages to keep up with industry trends, improve performance, and enhance their ...\",\"readTimeInMinutes\":8,\"views\":2471,\"tags\":[{\"id\":\"56744721958ef13879b94bd0\",\"slug\":\"go\",\"name\":\"Go Language\",\"__typename\":\"Tag\"},{\"id\":\"56744722958ef13879b94fd9\",\"slug\":\"php\",\"name\":\"PHP\",\"__typename\":\"Tag\"}],\"author\":{\"__typename\":\"User\",\"id\":\"66b06f8b47d8f1164ef1b0c1\",\"username\":\"maxwagner\",\"name\":\"Max Wagner\",\"profilePicture\":\"https://cdn.hashnode.com/res/hashnode/image/upload/v1722838923910/7e3c8268-2ad4-4201-9d5c-e0f747929e8e.jpeg\",\"followersCount\":4},\"coverImage\":{\"__typename\":\"CoverImage\",\"url\":\"https://cdn.hashnode.com/res/hashnode/image/upload/v1723497652177/51f1a63e-ae91-421c-b26d-895bdd35b53e.png\",\"isPortrait\":false,\"isAttributionHidden\":false}},{\"__typename\":\"Post\",\"id\":\"66b343b1cb35566e755a7ad8\",\"title\":\"Upgrade your development workflow: Use DevSpace instead of Docker\",\"slug\":\"upgrade-your-development-workflow-use-devspace-instead-of-docker\",\"publishedAt\":\"2024-08-07T09:51:45.157Z\",\"cuid\":\"clzjo6mmd002808jnhhoxdekw\",\"url\":\"https://wagner-dev.com/upgrade-your-development-workflow-use-devspace-instead-of-docker\",\"subtitle\":null,\"brief\":\"In the fast-paced world of software development, keeping an efficient workflow is crucial. Local Docker setups often face challenges like high resource use, complex configurations, and differences between development and production environments. Thes...\",\"readTimeInMinutes\":4,\"views\":292,\"tags\":[{\"id\":\"56744721958ef13879b94b77\",\"slug\":\"docker\",\"name\":\"Docker\",\"__typename\":\"Tag\"},{\"id\":\"62a0bbe3aa709871a80be32d\",\"slug\":\"dev-environment\",\"name\":\"dev environment\",\"__typename\":\"Tag\"},{\"id\":\"56744723958ef13879b9522c\",\"slug\":\"kubernetes\",\"name\":\"Kubernetes\",\"__typename\":\"Tag\"}],\"author\":{\"__typename\":\"User\",\"id\":\"66b06f8b47d8f1164ef1b0c1\",\"username\":\"maxwagner\",\"name\":\"Max Wagner\",\"profilePicture\":\"https://cdn.hashnode.com/res/hashnode/image/upload/v1722838923910/7e3c8268-2ad4-4201-9d5c-e0f747929e8e.jpeg\",\"followersCount\":4},\"coverImage\":{\"__typename\":\"CoverImage\",\"url\":\"https://cdn.hashnode.com/res/hashnode/image/upload/v1723024234347/e2d20975-17b2-4236-90a0-8d263019113f.png\",\"isPortrait\":false,\"isAttributionHidden\":false}},{\"__typename\":\"Post\",\"id\":\"66b130273ef9936bed849c3b\",\"title\":\"How to Set Up Strict-Transport-Security (HSTS) in Istio\",\"slug\":\"how-to-set-up-strict-transport-security-hsts-in-istio\",\"publishedAt\":\"2024-08-05T20:03:51.840Z\",\"cuid\":\"clzhf63rz000a0al4fssp065q\",\"url\":\"https://wagner-dev.com/how-to-set-up-strict-transport-security-hsts-in-istio\",\"subtitle\":null,\"brief\":\"Secure your website by setting the Strict-Transport-Security HTTP header, or HSTS. This header will inform the browser that it should never load your website using the HTTP protocol, instead, the browser should convert all requests to HTTPS. You can ...\""])</script>
20<script>self.__next_f.push([1,",\"readTimeInMinutes\":2,\"views\":2032,\"tags\":[{\"id\":\"5e255db67a1d3fcc59032976\",\"slug\":\"istio\",\"name\":\"#istio\",\"__typename\":\"Tag\"},{\"id\":\"56744722958ef13879b94fb7\",\"slug\":\"security\",\"name\":\"Security\",\"__typename\":\"Tag\"}],\"author\":{\"__typename\":\"User\",\"id\":\"66b06f8b47d8f1164ef1b0c1\",\"username\":\"maxwagner\",\"name\":\"Max Wagner\",\"profilePicture\":\"https://cdn.hashnode.com/res/hashnode/image/upload/v1722838923910/7e3c8268-2ad4-4201-9d5c-e0f747929e8e.jpeg\",\"followersCount\":4},\"coverImage\":{\"__typename\":\"CoverImage\",\"url\":\"https://cdn.hashnode.com/res/hashnode/image/upload/v1722928063051/35b7aaa4-832c-4bf0-b2d0-9c26a9e3e9de.png\",\"isPortrait\":false,\"isAttributionHidden\":false}}],\"host\":\"wagner-dev.com\"}],\"$L18\",\"$L19\",\"$L1a\"]}]\n1b:I[57254,[\"4554\",\"static/chunks/4554-984b480a9db5f3fe.js\",\"7563\",\"static/chunks/7563-4dfa0994a9b0e37c.js\",\"5001\",\"static/chunks/5001-fae0bebdd93f95e3.js\",\"2423\",\"static/chunks/2423-c8b1388240338d7d.js\",\"9216\",\"static/chunks/9216-9272709ba40c1cfd.js\",\"3091\",\"static/chunks/3091-bf1537ff6571a1bd.js\",\"652\",\"static/chunks/652-f40dcb480b4e356f.js\",\"730\",\"static/chunks/730-8191af9e9424b148.js\",\"8974\",\"static/chunks/app/page-cc18ae1a3a7a5ed8.js\"],\"PostsList\"]\n18:[\"$\",\"div\",null,{\"className\":\"\",\"children\":[\"$\",\"div\",null,{\"className\":\"w-full mx-auto xl:max-w-[80rem] 2xl:max-w-[90rem] px-4 sm:px-12 md:px-18 lg:px-16 xl:px-10\",\"children\":[\"$\",\"div\",null,{\"className\":\"flex flex-col gap-8 pt-2 sm:pt-10\",\"children\":[\"$\",\"section\",null,{\"className\":\"pb-16\",\"children\":[\"$\",\"div\",null,{\"className\":\"space-y-6 w-full mx-auto\",\"children\":[\"$\",\"$L1b\",null,{\"initialPosts\":[\"$b:props:children:0:props:posts:0\",\"$b:props:children:0:props:posts:1\",\"$b:props:children:0:props:posts:2\"],\"initialCursor\":\"3\",\"initialHasNextPage\":false,\"pinnedPostId\":null,\"aboutHtml\":\"\u003cp\u003eDeveloper and software architect with a passion for DevOps.\u003c/p\u003e\\n\",\"links\":\"$b:props:children:0:props:publication:links\",\"aboutAvatarUrl\":null,\"aboutAvatarFallback\":\"M\",\"totalPostsCount\":3,\"aboutHeading\":\"Max Wagner\",\"publication\":\"$b:props:children:0:props:publication\",\"isTeam\":true,\"showHashnodeIcon\":true,\"layout\":\"magazine\",\"isHashnodeSubdomain\":false}]}]}]}]}]}]\n1c:T405,{\"@context\":\"https://schema.org\",\"@type\":\"Blog\",\"name\":\"Max Wagner\",\"url\":\"https://wagner-dev.com\",\"description\":\"Developer and software architect with a passion for DevOps.\\n\",\"mainEntityOfPage\":{\"@type\":\"WebPage\",\"url\":\"https://wagner-dev.com\"},\"publisher\":{\"@type\":\"Organization\",\"name\":\"Max Wagner\",\"url\":\"https://wagner-dev.com\"},\"image\":{\"@type\":\"ImageObject\",\"url\":\"https://wagner-dev.com/api/og/home?og=eyJ0aXRsZSI6Ik1heCUyMFdhZ25lciIsImlzRGVmYXVsdE1vZGVEYXJrIjp0cnVlLCJwaG90byI6Imh0dHBzOi8vY2RuLmhhc2hub2RlLmNvbS9yZXMvaGFzaG5vZGUvaW1hZ2UvdXBsb2FkL3YxNzIyODM4OTIzOTEwLzdlM2M4MjY4LTJhZDQtNDIwMS05ZDVjLWUwZjc0NzkyOWU4ZS5qcGVnIiwiaXNUZWFtIjp0cnVlLCJkb21haW4iOiJ3YWduZXItZGV2LmNvbSIsIm1ldGEiOiJEZXZlbG9wZXIlMjBhbmQlMjBzb2Z0d2FyZSUyMGFyY2hpdGVjdCUyMHdpdGglMjBhJTIwcGFzc2lvbiUyMGZvciUyMERldk9wcy4lMEEiLCJmb2xsb3dlcnMiOjUsImFydGljbGVzIjowfQ==\"},\"sameAs\":[\"https://x.com/MaxWagnerDev\",\"https://github.com/maxwagner-dev\",\"https://www.wagner-dev.com\",\"https://hashnode.com/@maxwagner\",\"https://www.linkedin.com/in/maxwagner-dev/\"]}19:[\"$\",\"script\",null,{\"type\":\"application/ld+json\",\"dangerouslySetInnerHTML\":{\"__html\":\"$1c\"}}]\n1d:I[52619,[\"4554\",\"static/chunks/4554-984b480a9db5f3fe.js\",\"7563\",\"static/chunks/7563-4dfa0994a9b0e37c.js\",\"5001\",\"static/chunks/5001-fae0bebdd93f95e3.js\",\"2423\",\"static/chunks/2423-c8b1388240338d7d.js\",\"9216\",\"static/chunks/9216-9272709ba40c1cfd.js\",\"3091\",\"static/chunks/3091-bf1537ff6571a1bd.js\",\"652\",\"static/chunks/652-f40dcb480b4e356f.js\",\"730\",\"static/chunks/730-8191af9e9424b148.js\",\"8974\",\"static/chunks/app/page-cc18ae1a3a7a5ed8.js\"],\"\"]\n1e:Tc98,M268.379 39q-6.322 0-10.35-4.108-4.002-4.134-4.002-10.483 0-6.296 4.002-10.43 4-4.135 10.163-4.135 6.028 0 9.817 3.734 3.814 3.735 3.814 9.497v2.8h-24.248v-4.054h17.633q-.187-2.747-2.054-4.508-1.868-1.76-4.962-1.76-3.28-.001-5.388 2.374-2.108 2.373-2.108 6.375 0 4.188 2.348 6.695 2.347 2.481 5.895 2.481 1.68 0 2.934-.453a8.5 8.5 0 0 0 2.321-1.307q1.04"])</script>
20<script>self.__next_f.push([1,"1-.854 2.268-2.614l4.694 2.96q-1.707 2.748-3.494 4.135a12.7 12.7 0 0 1-3.975 2.081q-2.187.72-5.308.72m-33.496 0q-5.575 0-9.283-4.028-3.681-4.029-3.681-10.484 0-6.43 3.761-10.51 3.76-4.108 9.47-4.108 2.8 0 5.175 1.2 2.4 1.174 3.628 3.148l.026-.08V0h7.016v38.2h-6.722v-4.722l.64.8-.694.133q-1.28 2.108-3.788 3.361Q237.924 39 234.883 39m1.627-6.002q3.308 0 5.495-2.428t2.188-6.135q0-3.762-2.214-6.109-2.214-2.374-5.469-2.374-3.28 0-5.522 2.347-2.214 2.348-2.214 6.163 0 3.76 2.214 6.162 2.214 2.374 5.522 2.374M205.811 39q-6.376 0-10.537-4.161-4.161-4.188-4.161-10.404 0-6.321 4.161-10.456 4.188-4.135 10.537-4.135 6.348 0 10.537 4.161 4.188 4.161 4.188 10.43 0 6.216-4.188 10.404Q212.186 39 205.811 39m0-6.162q3.307 0 5.575-2.374 2.267-2.374 2.267-6.055 0-3.707-2.294-6.056-2.267-2.347-5.548-2.347-3.308 0-5.575 2.374-2.268 2.348-2.268 6.029t2.241 6.055q2.268 2.374 5.602 2.374M162.586 38.2V10.644h6.802v5.015l-.8-.987h.906q1.308-2.187 3.762-3.494 2.48-1.335 5.228-1.334 4.615 0 7.256 2.8 2.667 2.776 2.667 7.603V38.2h-7.069V21.794q0-2.854-1.387-4.401t-4.134-1.547q-2.614 0-4.402 1.974-1.76 1.974-1.76 4.881V38.2zm-30.181 0V0h6.962v14.698h.134q1.2-2.187 3.574-3.521 2.375-1.335 5.229-1.334 4.615 0 7.255 2.828 2.668 2.801 2.668 7.522V38.2h-7.069V21.794q0-2.827-1.387-4.402-1.387-1.573-4.055-1.573-2.587 0-4.428 2.027-1.814 2.027-1.814 4.962v15.391zm-14.416.8q-2.882 0-5.015-.64-2.108-.614-3.761-1.84-1.654-1.228-2.668-2.695l-.987-1.467 4.695-3.174.773 1.067a9.1 9.1 0 0 0 1.788 1.814 8.2 8.2 0 0 0 2.32 1.2q1.308.4 3.068.4 2.161 0 3.441-.8 1.308-.8 1.307-2.294 0-1.36-1.147-2.108-1.12-.747-5.068-1.654-5.335-1.253-7.656-3.334-2.32-2.107-2.321-5.362 0-3.76 3.148-6.002 3.148-2.267 7.923-2.267 2.454 0 4.348.507t3.388 1.493q1.493.988 2.454 2.188l.987 1.2-4.482 3.255-.667-.774a7.4 7.4 0 0 0-1.627-1.387 6.4 6.4 0 0 0-2.054-.88 9.5 9.5 0 0 0-2.401-.294q-1.974 0-3.201.8-1.2.774-1.2 1.921 0 1.254 1.12 2.027 1.147.748 5.229 1.681 5.334 1.227 7.629 3.308 2.294 2.055 2.294 5.308 0 4.029-3.228 6.43Q123.217 39 117.989 39M87.61 39q-4.508 0-7.335-2.454-2.828-2.481-2.828-6.482 0-4.188 3.254-6.669t8.483-2.48q2.082 0 4.028.426 1.974.427 3.361 1.12v-1.6q0-2.588-1.813-4.082-1.788-1.493-4.615-1.493-1.628 0-2.801.373a8.7 8.7 0 0 0-2.188.987q-.987.614-1.84 1.414l-.854.8-4.081-3.788 1.307-1.173a18.7 18.7 0 0 1 2.934-2.108q1.601-.933 3.601-1.44t4.589-.507q5.868 0 9.229 2.88 3.361 2.882 3.361 8.084V38.2h-6.749v-5.922l1.654 2.187h-1.76q-1.308 2.055-3.655 3.308Q90.545 39 87.611 39m1.814-4.988q3.148 0 5.149-2.187 2-2.215 2-5.309v-.08q-1.12-.693-2.72-1.094a13 13 0 0 0-3.388-.426q-2.828 0-4.562 1.2-1.734 1.173-1.734 3.521 0 2.028 1.468 3.201t3.787 1.174M49 38.2V0h6.962v14.698h.134q1.2-2.187 3.574-3.521 2.375-1.335 5.229-1.334 4.615 0 7.255 2.828 2.668 2.801 2.668 7.522V38.2h-7.07V21.794q0-2.827-1.386-4.402-1.387-1.573-4.055-1.573-2.587 0-4.428 2.027-1.815 2.027-1.814 4.962v15.391z1a:[\"$\",\"footer\",null,{\"className\":\"px-4 pt-8 pb-20 sm:px-8 text-muted-foreground\",\"aria-label\":\"Footer\",\"children\":[\"$\",\"div\",null,{\"className\":\"w-full max-w-4xl mx-auto\",\"children\":[\"$\",\"div\",null,{\"className\":\"flex flex-col items-center gap-4 text-center text-sm\",\"children\":[false,[\"$\",\"p\",null,{\"className\":\"font-medium\",\"children\":[[\"$\",\"time\",null,{\"dateTime\":\"2026\",\"children\":[[\"$\",\"span\",null,{\"className\":\"font-sans\",\"children\":\"©\"}],\" \",2026]}],\" \",\"Max Wagner\"]}],[\"$\",\"nav\",null,{\"aria-label\":\"Footer navigation\",\"children\":[\"$\",\"ul\",null,{\"className\":\"flex flex-wrap justify-center gap-4 text-sm tracking-wide\",\"children\":[[\"$\",\"li\",\"/members\",{\"children\":[\"$\",\"$L1d\",null,{\"href\":\"/members\",\"className\":\"transition hover:text-foreground\",\"target\":\"$undefined\",\"rel\":\"$undefined\",\"children\":\"Members\"}]}],[\"$\",\"li\",\"/archive\",{\"children\":[\"$\",\"$L1d\",null,{\"href\":\"/archive\",\"className\":\"transition hover:text-foreground\",\"target\":\"$undefined\",\"rel\":\"$undefined\",\"children\":\"Archive\"}]}],[\"$\",\"li\",\"https://hashnode.com/privacy-policy\",{\"children\":[\"$\",\"$L1d\",null,{\"href\":\"https://hashnode.com/privacy-policy\",\"className\":\"transition hover:text-foreground\",\"target\":\"_blank\",\"rel\":\"noopener\",\"children\":\"Priva"])</script>
20<script>self.__next_f.push([1,"cy\"}]}],[\"$\",\"li\",\"https://hashnode.com/terms\",{\"children\":[\"$\",\"$L1d\",null,{\"href\":\"https://hashnode.com/terms\",\"className\":\"transition hover:text-foreground\",\"target\":\"_blank\",\"rel\":\"noopener\",\"children\":\"Terms\"}]}]]}]}],[\"$\",\"div\",null,{\"className\":\"pt-8 flex justify-center gap-6\",\"children\":[[\"$\",\"$L1d\",null,{\"href\":\"/sitemap.xml\",\"target\":\"_blank\",\"rel\":\"noopener\",\"className\":\"flex items-center gap-2 text-sm transition hover:text-foreground\",\"title\":\"Sitemap\",\"children\":[[\"$\",\"i\",null,{\"className\":\"fa-regular fa-sitemap\"}],[\"$\",\"span\",null,{\"children\":\"Sitemap\"}]]}],[\"$\",\"$L1d\",null,{\"href\":\"/rss.xml\",\"target\":\"_blank\",\"rel\":\"noopener\",\"className\":\"flex items-center gap-2 text-sm transition hover:text-foreground\",\"title\":\"RSS Feed\",\"children\":[[\"$\",\"i\",null,{\"className\":\"fa-regular fa-rss\"}],[\"$\",\"span\",null,{\"children\":\"RSS\"}]]}]]}],[\"$\",\"div\",null,{\"className\":\"pt-10 text-center\",\"children\":[\"$\",\"$L1d\",null,{\"href\":\"https://hashnode.com/?utm_source=https%3A%2F%2Fwagner-dev.com\u0026utm_medium=referral\u0026utm_campaign=blog_footer_logo\u0026utm_content=logo\",\"target\":\"_blank\",\"rel\":\"noopener\",\"aria-label\":\"Visit Hashnode (opens in a new tab)\",\"children\":[\"$\",\"svg\",null,{\"fill\":\"none\",\"viewBox\":\"0 0 282 39\",\"aria-hidden\":\"true\",\"className\":\"h-6 w-auto min-w-[9.5rem] text-muted-foreground transition hover:text-foreground\",\"children\":[[\"$\",\"path\",null,{\"fill\":\"currentColor\",\"d\":\"M2.68 13.032c-3.573 3.505-3.573 9.363 0 12.936L13.032 36.32c3.505 3.573 9.363 3.573 12.936 0L36.32 25.968c3.573-3.573 3.573-9.431 0-12.936L25.968 2.68c-3.573-3.573-9.431-3.573-12.936 0zm12.211 1.935c2.507-2.521 6.582-2.544 9.104-.038s2.544 6.582.038 9.104-6.582 2.544-9.104.038-2.544-6.582-.038-9.104\"}],[\"$\",\"path\",null,{\"fill\":\"currentColor\",\"d\":\"$1e\"}]]}],\"className\":\"inline-flex items-center justify-center gap-2 whitespace-nowrap font-medium transition-colors focus-visible:outline-hidden focus-visible:ring-1 focus-visible:ring-ring disabled:pointer-events-none disabled:opacity-50 [\u0026_svg]:pointer-events-none [\u0026_svg]:size-4 [\u0026_svg]:shrink-0 hover:bg-accent hover:text-accent-foreground h-10 rounded-md text-xl px-5 py-4\",\"ref\":null}]}]]}]}]}]\n"])</script>
20</body></html>
Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.