<!DOCTYPE html><html lang="en" data-theme="light" class=""><head><meta charSet="UTF-8"/><meta name="viewport" content="width=device-width, initial-scale=1, shrink-to-fit=no"/><meta name="image" property="og:image" content="https://arda.beyazoglu.com/api/og/home?og=eyJ0aXRsZSI6IkFyZGEncyUyME5vdGVib29rIiwiZG9tYWluIjoiYXJkYS5iZXlhem9nbHUuY29tIiwiZm9sbG93ZXJzIjoyLCJpc1RlYW0iOnRydWUsIm1ldGEiOiJTb2Z0d2FyZSUyMGVuZ2luZWVyJTIwd2l0aCUyMDE1JTJCJTIweWVhcnMlMjBvZiUyMGV4cGVyaWVuY2UlMjBpbmNsdWRpbmclMjBzYWFzJTJDJTIwZGF0YWJhc2VzJTJDJTIwc3lzdGVtJTIwZGVzaWduJTJDJTIwZGV2b3BzJTJDJTIwYW5kJTIwdGVjaG5pY2FsJTIwbGVhZGVyc2hpcC4iLCJhcnRpY2xlcyI6eyJ0b3RhbERvY3VtZW50cyI6N319"/><link rel="canonical" href="https://arda.beyazoglu.com"/><title>Arda Beyazoglu&#x27;s Blog</title><meta name="description" content="Software engineer with 15+ years of experience including saas, databases, system design, devops, and technical leadership."/><meta property="og:title" content="Arda Beyazoglu&#x27;s Blog"/><meta property="og:description" content="Software engineer with 15+ years of experience including saas, databases, system design, devops, and technical leadership."/><meta property="og:site_name" content="Arda&#x27;s Notebook"/><meta property="og:type" content="website"/><meta property="og:url" content="https://arda.beyazoglu.com"/><link rel="apple-touch-icon" sizes="180x180" href="https://cdn.hashnode.com/res/hashnode/image/upload/v1611242155728/W3_BYVVVh.png"/><link rel="icon" type="image/png" sizes="32x32" href="https://cdn.hashnode.com/res/hashnode/image/upload/v1611242173172/AOX1gE2jc.png"/><link rel="icon" type="image/png" sizes="16x16" href="https://cdn.hashnode.com/res/hashnode/image/upload/v1611242187756/TRTNYp32O.png"/><link rel="mask-icon" href="/static/images/brand/safari-pinned-tab-new.svg" color="#2962ff"/><meta name="msapplication-TileColor" content="#ffffff"/><meta name="theme-color" content="#f6f7fb"/><meta name="google-site-verification" content="glJb0Hnwuc30jEE8AuLWWjBVEhTvetC99DGwjQ5fs6s"/><meta property="twitter:card" content="summary_large_image"/><meta property="twitter:title" content="Arda Beyazoglu&#x27;s Blog"/><meta property="twitter:description" content="Software engineer with 15+ years of experience including saas, databases, system design, devops, and technical leadership."/><meta property="twitter:image" content="https://arda.beyazoglu.com/api/og/home?og=eyJ0aXRsZSI6IkFyZGEncyUyME5vdGVib29rIiwiZG9tYWluIjoiYXJkYS5iZXlhem9nbHUuY29tIiwiZm9sbG93ZXJzIjoyLCJpc1RlYW0iOnRydWUsIm1ldGEiOiJTb2Z0d2FyZSUyMGVuZ2luZWVyJTIwd2l0aCUyMDE1JTJCJTIweWVhcnMlMjBvZiUyMGV4cGVyaWVuY2UlMjBpbmNsdWRpbmclMjBzYWFzJTJDJTIwZGF0YWJhc2VzJTJDJTIwc3lzdGVtJTIwZGVzaWduJTJDJTIwZGV2b3BzJTJDJTIwYW5kJTIwdGVjaG5pY2FsJTIwbGVhZGVyc2hpcC4iLCJhcnRpY2xlcyI6eyJ0b3RhbERvY3VtZW50cyI6N319"/><link rel="alternate" type="application/rss+xml" title="RSS Feed for Arda Beyazoglu&#x27;s Blog" href="https://arda.beyazoglu.com/rss.xml"/><meta name="next-head-count" content="23"/><style>#nprogress{pointer-events:none}#nprogress .bar{background:#29d;position:fixed;z-index:1031;top:0;left:0;width:100%;height:2px}#nprogress .peg{display:block;position:absolute;right:0;width:100px;height:100%;box-shadow:0 0 10px #29d,0 0 5px #29d;opacity:1;-webkit-transform:rotate(3deg) translate(0,-4px);-ms-transform:rotate(3deg) translate(0,-4px);transform:rotate(3deg) translate(0,-4px)}#nprogress .spinner{display:block;position:fixed;z-index:1031;top:15px;right:15px}#nprogress .spinner-icon{width:18px;height:18px;box-sizing:border-box;border:solid 2px transparent;border-top-color:#29d;border-left-color:#29d;border-radius:50%;-webkit-animation:nprogress-spinner .4s linear infinite;animation:nprogress-spinner .4s linear infinite}.nprogress-custom-parent{overflow:hidden;position:relative}.nprogress-custom-parent #nprogress .bar,.nprogress-custom-parent #nprogress .spinner{position:absolute}@-webkit-keyframes nprogress-spinner{0%{-webkit-transform:rotate(0)}100%{-webkit-transform:rotate(360deg)}}@keyframes nprogress-spinner{0%{transform:rotate(0)}100%{transform:rotate(360deg)}}</style><script async="" src="https://ping.hashnode.com/gtag/js?id=G-72XG3F8LNJ"></script><script type="text/javascript">
    window.dataLayer = window.dataLayer || [];
    function gtag(){window.dataLayer.push(arguments);}
    gtag('js', new Date());
  </script><link rel="preload" href="/_next/static/media/e4af272ccee01ff0-s.p.woff2" as="font" type="font/woff2" crossorigin="anonymous" data-next-font="size-adjust"/><link rel="preload" href="/_next/static/css/62323deb9f18e06c.css" as="style"/><link rel="stylesheet" href="/_next/static/css/62323deb9f18e06c.css" data-n-g=""/><noscript data-n-css=""></noscript><script defer="" nomodule="" src="/_next/static/chunks/polyfills-c67a75d1b6f99dc8.js"></script><script src="/_next/static/chunks/webpack-222680fed63bcd80.js" defer=""></script><script src="/_next/static/chunks/framework-ce84985cd166733a.js" defer=""></script><script src="/_next/static/chunks/main-7636331dc094a8a9.js" defer=""></script><script src="/_next/static/chunks/pages/_app-75660f2a45d790be.js" defer=""></script><script src="/_next/static/chunks/0b5ea8d6-208c5eca82a94965.js" defer=""></script><script src="/_next/static/chunks/6365-3d0e1852af604b43.js" defer=""></script><script src="/_next/static/chunks/8820-56721d947d773244.js" defer=""></script><script src="/_next/static/chunks/5772-330b7829e95060dd.js" defer=""></script><script src="/_next/static/chunks/6933-f312215db97b5535.js" defer=""></script><script src="/_next/static/chunks/4960-b70b6f04f379686e.js" defer=""></script><script src="/_next/static/chunks/pages/index-77bcfcca4712573b.js" defer=""></script><script src="/_next/static/mrbF4zruv5Es9KxmVbHDR/_buildManifest.js" defer=""></script><script src="/_next/static/mrbF4zruv5Es9KxmVbHDR/_ssgManifest.js" defer=""></script><style id="__jsx-229592980">@font-face{font-family:"Suisse Intl";src:url("/fonts/SuisseIntl-Book-WebXL.woff2")format("woff2"),url("/fonts/SuisseIntl-Book-WebXL.woff")format("woff");font-weight:450;font-style:normal;font-display:block}@font-face{font-family:"Suisse Intl";src:url("/fonts/SuisseIntl-Medium-WebXL.woff2")format("woff2"),url("/fonts/SuisseIntl-Medium-WebXL.woff")format("woff");font-weight:500;font-style:normal;font-display:block}@font-face{font-family:"Suisse Intl";src:url("/fonts/SuisseIntl-SemiBold-WebXL.woff2")format("woff2"),url("/fonts/SuisseIntl-SemiBold-WebXL.woff")format("woff");font-weight:600;font-style:normal;font-display:block}@font-face{font-family:"Suisse Intl";src:url("/fonts/SuisseIntl-Bold-WebXL.woff2")format("woff2"),url("/fonts/SuisseIntl-Bold-WebXL.woff")format("woff");font-weight:700;font-style:normal;font-display:block}html{--font-inter:__Inter_611a59;--font-suisse-intl:'Suisse Intl';--font-mermaid:var(--font-inter)}</style></head><body class="bg-white leading-normal antialiased dark:bg-slate-950"><input type="hidden" id="hn-user"/><style id="__jsx-229592980">@font-face{font-family:"Suisse Intl";src:url("/fonts/SuisseIntl-Book-WebXL.woff2")format("woff2"),url("/fonts/SuisseIntl-Book-WebXL.woff")format("woff");font-weight:450;font-style:normal;font-display:block}@font-face{font-family:"Suisse Intl";src:url("/fonts/SuisseIntl-Medium-WebXL.woff2")format("woff2"),url("/fonts/SuisseIntl-Medium-WebXL.woff")format("woff");font-weight:500;font-style:normal;font-display:block}@font-face{font-family:"Suisse Intl";src:url("/fonts/SuisseIntl-SemiBold-WebXL.woff2")format("woff2"),url("/fonts/SuisseIntl-SemiBold-WebXL.woff")format("woff");font-weight:600;font-style:normal;font-display:block}@font-face{font-family:"Suisse Intl";src:url("/fonts/SuisseIntl-Bold-WebXL.woff2")format("woff2"),url("/fonts/SuisseIntl-Bold-WebXL.woff")format("woff");font-weight:700;font-style:normal;font-display:block}html{--font-inter:__Inter_611a59;--font-suisse-intl:'Suisse Intl';--font-mermaid:var(--font-inter)}</style><div id="__next"><div class="bg-white dark:bg-slate-950" data-theme="light"><script type="application/ld+json">{"@context":"https://schema.org","@type":"Website","name":"Arda's Notebook","url":"https://arda.beyazoglu.com","description":"Software engineer with 15+ years of experience including saas, databases, system design, devops, and technical leadership.","mainEntityOfPage":{"@type":"WebPage","url":"https://arda.beyazoglu.com"},"image":{"@type":"ImageObject","url":"https://arda.beyazoglu.com/api/og/home?og=eyJ0aXRsZSI6IkFyZGEncyUyME5vdGVib29rIiwiZG9tYWluIjoiYXJkYS5iZXlhem9nbHUuY29tIiwiZm9sbG93ZXJzIjoyLCJpc1RlYW0iOnRydWUsIm1ldGEiOiJTb2Z0d2FyZSUyMGVuZ2luZWVyJTIwd2l0aCUyMDE1JTJCJTIweWVhcnMlMjBvZiUyMGV4cGVyaWVuY2UlMjBpbmNsdWRpbmclMjBzYWFzJTJDJTIwZGF0YWJhc2VzJTJDJTIwc3lzdGVtJTIwZGVzaWduJTJDJTIwZGV2b3BzJTJDJTIwYW5kJTIwdGVjaG5pY2FsJTIwbGVhZGVyc2hpcC4iLCJhcnRpY2xlcyI6eyJ0b3RhbERvY3VtZW50cyI6N319"},"publisher":{"@type":"Organization","name":"Arda's Notebook","url":"https://arda.beyazoglu.com"},"sameAs":"https://twitter.com/ardabeyazoglu"}</script><header class="blog-header z-50 w-full border-b relative border-black/10 bg-white bg-opacity-70 dark:border-white/10 dark:bg-slate-900 dark:bg-opacity-70"><div class="container mx-auto px-2 md:px-4 2xl:px-10"><div class="relative z-40 flex flex-row items-center justify-between pb-2 pt-8 md:mb-4"><div class="flex flex-row items-center py-1"><div class="md:hidden dark:text-white"><button type="button" aria-label="Open blog links" class="blog-bars-button focus-ring-base flex flex-row items-center rounded-full font-medium transition duration-100 ease-in-out focus-ring-colors-base hover:bg-black/10 dark:hover:bg-white/20 mr-2 p-2" data-state="closed"><svg class="h-6 w-6 stroke-current" viewBox="0 0 24 24" fill="none" xmlns="http://www.w3.org/2000/svg"><path d="M20.9889 11.9969H11.9945H3M20.9889 17.8745H3M21 6.12451H3" stroke-width="1.5" stroke-linecap="round" stroke-linejoin="round"></path></svg></button></div><div class="hidden md:block"><div class="blog-title text-xl md:text-2xl text-left break-words font-heading font-semibold leading-snug md:font-bold dark:text-white"><a href="/" class="focus-ring-base flex flex-row items-center focus-ring-colors-base" aria-label="Arda&#x27;s Notebook home page">Arda&#x27;s Notebook</a></div></div></div><div class="flex flex-row items-center dark:text-white"><button type="button" aria-label="Open blog search" class="blog-search-button focus-ring-base flex flex-row items-center rounded-full font-medium transition duration-100 ease-in-out focus-ring-colors-base hover:bg-black/10 dark:hover:bg-white/20 mr-2 p-2" data-state="closed"><svg class="h-6 w-6 stroke-current" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="none"><path d="M21 21L15.8091 15.8091M18 10.5C18 14.6421 14.6421 18 10.5 18C6.35786 18 3 14.6421 3 10.5C3 6.35786 6.35786 3 10.5 3C14.6421 3 18 6.35786 18 10.5Z" stroke-width="1.5" stroke-linecap="round" stroke-linejoin="round"></path></svg></button><button type="button" aria-label="Toggle blog theme" class="blog-theme-switcher focus-ring-base flex flex-row items-center rounded-full font-medium transition duration-100 ease-in-out focus-ring-colors-base hover:bg-black/10 dark:hover:bg-white/20 mr-2 p-2" data-state="closed"><svg class="h-6 w-6 stroke-current" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="none"><path d="M3 11.4489C3 16.7238 7.16904 21 12.3118 21C16.2709 21 19.6529 18.4657 21 14.8925C19.9331 15.4065 18.7418 15.6938 17.485 15.6938C12.9137 15.6938 9.20787 11.8928 9.20787 7.20396C9.20787 5.24299 9.85605 3.4373 10.9446 2C6.45002 2.6783 3 6.65034 3 11.4489Z" stroke-width="1.5" stroke-linecap="round" stroke-linejoin="round"></path></svg></button><div class="h-10 w-10 animate-pulse rounded-full border-1-1/2 bg-slate-100 dark:border-slate-900 dark:bg-slate-800"></div></div></div><div class="mx-auto my-5 flex w-2/3 flex-row items-center justify-center md:hidden"><div class="blog-title text-2xl text-center break-words font-heading font-semibold leading-snug md:font-bold dark:text-white"><a href="/" class="focus-ring-base flex flex-row items-center focus-ring-colors-base" aria-label="Arda&#x27;s Notebook home page">Arda&#x27;s Notebook</a></div></div><div class="blog-sub-header" data-testid="blog-sub-header"><div class="mx-0 mb-2 hidden w-full flex-row items-center md:flex"><div class="blog-social-media-section flex flex-row flex-wrap gap-y-2 justify-center gap-x-1.5 text-slate-700 dark:text-slate-300"><a href="https://twitter.com/ardabeyazoglu" aria-label="Find me on Twitter, external website, opens in new tab" target="_blank" rel="me noopener" class="focus-ring-base flex flex-row items-center justify-center rounded-full p-2 transition-colors duration-150 focus-ring-colors-base hover:bg-black/10 dark:hover:bg-white/20"><svg class="h-5 w-5 stroke-current" viewBox="0 0 24 24" fill="none" xmlns="http://www.w3.org/2000/svg"><path d="M10.643 13.346L4.26862 4.86856C3.85863 4.32329 4.2478 3.54408 4.93001 3.54431L7.2184 3.54508C7.47633 3.54517 7.71945 3.66557 7.87585 3.87066L12.9065 10.4675M10.643 13.346L5.19311 20.5093M10.643 13.346L15.8028 20.077C15.9588 20.2805 16.2003 20.4001 16.4567 20.4009L18.7925 20.4082C19.4778 20.4104 19.8683 19.6261 19.4536 19.0805L12.9065 10.4675M12.9065 10.4675L18.2181 3.50928" stroke-width="1.5" stroke-linecap="round"></path></svg></a><a href="https://github.com/ardabeyazoglu" aria-label="Find me on Github, opens in new tab" target="_blank" rel="me noopener" class="focus-ring-base flex flex-row items-center justify-center rounded-full p-2 transition-colors duration-150 focus-ring-colors-base hover:bg-black/10 dark:hover:bg-white/20"><svg class="h-5 w-5 fill-current" viewBox="0 0 496 512"><path d="M165.9 397.4c0 2-2.3 3.6-5.2 3.6-3.3.3-5.6-1.3-5.6-3.6 0-2 2.3-3.6 5.2-3.6 3-.3 5.6 1.3 5.6 3.6zm-31.1-4.5c-.7 2 1.3 4.3 4.3 4.9 2.6 1 5.6 0 6.2-2s-1.3-4.3-4.3-5.2c-2.6-.7-5.5.3-6.2 2.3zm44.2-1.7c-2.9.7-4.9 2.6-4.6 4.9.3 2 2.9 3.3 5.9 2.6 2.9-.7 4.9-2.6 4.6-4.6-.3-1.9-3-3.2-5.9-2.9zM244.8 8C106.1 8 0 113.3 0 252c0 110.9 69.8 205.8 169.5 239.2 12.8 2.3 17.3-5.6 17.3-12.1 0-6.2-.3-40.4-.3-61.4 0 0-70 15-84.7-29.8 0 0-11.4-29.1-27.8-36.6 0 0-22.9-15.7 1.6-15.4 0 0 24.9 2 38.6 25.8 21.9 38.6 58.6 27.5 72.9 20.9 2.3-16 8.8-27.1 16-33.7-55.9-6.2-112.3-14.3-112.3-110.5 0-27.5 7.6-41.3 23.6-58.9-2.6-6.5-11.1-33.3 2.6-67.9 20.9-6.5 69 27 69 27 20-5.6 41.5-8.5 62.8-8.5s42.8 2.9 62.8 8.5c0 0 48.1-33.6 69-27 13.7 34.7 5.2 61.4 2.6 67.9 16 17.7 25.8 31.5 25.8 58.9 0 96.5-58.9 104.2-114.8 110.5 9.2 7.9 17 22.9 17 46.4 0 33.7-.3 75.4-.3 83.6 0 6.5 4.6 14.4 17.3 12.1C428.2 457.8 496 362.9 496 252 496 113.3 383.5 8 244.8 8zM97.2 352.9c-1.3 1-1 3.3.7 5.2 1.6 1.6 3.9 2.3 5.2 1 1.3-1 1-3.3-.7-5.2-1.6-1.6-3.9-2.3-5.2-1zm-10.8-8.1c-.7 1.3.3 2.9 2.3 3.9 1.6 1 3.6.7 4.3-.7.7-1.3-.3-2.9-2.3-3.9-2-.6-3.6-.3-4.3.7zm32.4 35.6c-1.6 1.3-1 4.3 1.3 6.2 2.3 2.3 5.2 2.6 6.5 1 1.3-1.3.7-4.3-1.3-6.2-2.2-2.3-5.2-2.6-6.5-1zm-11.4-14.7c-1.6 1-1.6 3.6 0 5.9 1.6 2.3 4.3 3.3 5.6 2.3 1.6-1.3 1.6-3.9 0-6.2-1.4-2.3-4-3.3-5.6-2z"></path></svg></a><a href="https://arda.beyazoglu.com/" aria-label="Check out my website, external website, opens in new tab" target="_blank" rel="me noopener" class="focus-ring-base flex flex-row items-center justify-center rounded-full p-2 transition-colors duration-150 focus-ring-colors-base hover:bg-black/10 dark:hover:bg-white/20"><svg class="h-5 w-5 fill-current" viewBox="0 0 24 24"><path d="M17.9 17.39c-.26-.8-1.01-1.39-1.9-1.39h-1v-3a1 1 0 0 0-1-1H8v-2h2a1 1 0 0 0 1-1V7h2a2 2 0 0 0 2-2v-.41c2.93 1.18 5 4.05 5 7.41 0 2.08-.8 3.97-2.1 5.39M11 19.93c-3.95-.49-7-3.85-7-7.93 0-.62.08-1.22.21-1.79L9 15v1a2 2 0 0 0 2 2m1-16A10 10 0 0 0 2 12a10 10 0 0 0 10 10 10 10 0 0 0 10-10A10 10 0 0 0 12 2z"></path></svg></a><a href="https://hashnode.com/@ardabeyazoglu" aria-label="Find me on Hashnode, external website, opens in new tab" target="_blank" rel="me noopener" class="focus-ring-base flex flex-row items-center justify-center rounded-full p-2 transition-colors duration-150 focus-ring-colors-base hover:bg-black/10 dark:hover:bg-white/20"><svg class="h-5 w-5 fill-current" viewBox="0 0 200 200" fill="none"><path fill-rule="evenodd" clip-rule="evenodd" d="M13.742 66.824c-18.323 18.323-18.323 48.029 0 66.352l53.082 53.082c18.323 18.323 48.029 18.323 66.352 0l53.082-53.082c18.323-18.323 18.323-48.03 0-66.352l-53.082-53.082c-18.323-18.323-48.03-18.323-66.352 0L13.742 66.824zm109.481 56.399c12.826-12.826 12.826-33.62 0-46.446s-33.62-12.826-46.446 0-12.826 33.62 0 46.446 33.62 12.826 46.446 0z"></path></svg></a><a href="https://www.linkedin.com/in/ardabeyazoglu" aria-label="Find me on LinkedIn, external website, opens in new tab" target="_blank" rel="me noopener" class="focus-ring-base flex flex-row items-center justify-center rounded-full p-2 transition-colors duration-150 focus-ring-colors-base hover:bg-black/10 dark:hover:bg-white/20"><svg class="h-5 w-5 fill-current" viewBox="0 0 448 512"><path d="M416 32H31.9C14.3 32 0 46.5 0 64.3v383.4C0 465.5 14.3 480 31.9 480H416c17.6 0 32-14.5 32-32.3V64.3c0-17.8-14.4-32.3-32-32.3zM135.4 416H69V202.2h66.5V416zm-33.2-243c-21.3 0-38.5-17.3-38.5-38.5S80.9 96 102.2 96c21.2 0 38.5 17.3 38.5 38.5 0 21.3-17.2 38.5-38.5 38.5zm282.1 243h-66.4V312c0-24.8-.5-56.7-34.5-56.7-34.6 0-39.9 27-39.9 54.9V416h-66.4V202.2h63.7v29.2h.9c8.9-16.8 30.6-34.5 62.9-34.5 67.2 0 79.7 44.3 79.7 101.9V416z"></path></svg></a><a href="/rss.xml" aria-label="Open blog XML Feed, opens in new tab" target="_blank" rel="me noopener" class="focus-ring-base flex flex-row items-center justify-center rounded-full p-2 transition-colors duration-150 focus-ring-colors-base hover:bg-black/10 dark:hover:bg-white/20"><svg class="h-5 w-5 fill-current" viewBox="0 0 448 512"><path d="M80 368c17.645 0 32 14.355 32 32s-14.355 32-32 32-32-14.355-32-32 14.355-32 32-32m0-48c-44.183 0-80 35.817-80 80s35.817 80 80 80 80-35.817 80-80-35.817-80-80-80zm367.996 147.615c-6.449-237.834-198.057-429.163-435.61-435.61C5.609 31.821 0 37.229 0 44.007v24.02c0 6.482 5.147 11.808 11.626 11.992 211.976 6.04 382.316 176.735 388.354 388.354.185 6.479 5.51 11.626 11.992 11.626h24.02c6.78.001 12.187-5.608 12.004-12.384zm-136.239-.05C305.401 305.01 174.966 174.599 12.435 168.243 5.643 167.977 0 173.444 0 180.242v24.024c0 6.431 5.072 11.705 11.497 11.98 136.768 5.847 246.411 115.511 252.258 252.258.275 6.425 5.549 11.497 11.98 11.497h24.024c6.797-.001 12.264-5.644 11.998-12.436z"></path></svg></a></div><div class="mb-0 ml-auto flex flex-row items-center justify-center gap-x-3"><div class="flex animate-pulse flex-row items-center rounded-full border-1-1/2 px-4 py-2 text-center text-sm font-medium bg-slate-100 dark:border-slate-900 dark:bg-slate-800"><svg class="invisible mr-2 h-5 w-5" viewBox="0 0 22 22" fill="none" xmlns="http://www.w3.org/2000/svg"><path d="M14.2953 4.58698C13.9301 4.37611 13.683 4.00814 13.626 3.59028L13.4336 2.17939C13.3415 1.50373 12.7644 1 12.0825 1L9.91765 1C9.23573 1 8.65865 1.50373 8.56652 2.17939L8.37412 3.5903C8.31709 4.00849 8.06963 4.37672 7.70395 4.58749L7.0923 4.94003C6.72723 5.15046 6.28538 5.18029 5.89533 5.02084L4.57791 4.48227C3.9467 4.22423 3.22192 4.47214 2.88096 5.06269L1.79854 6.9375C1.45758 7.52805 1.60528 8.27969 2.14436 8.69731L3.26948 9.56895C3.60259 9.82701 3.79768 10.2246 3.79799 10.646L3.7985 11.3519C3.7988 11.774 3.60364 12.1724 3.26999 12.4309L2.14433 13.3029C1.60525 13.7205 1.45755 14.4722 1.79851 15.0627L2.88093 16.9375C3.22189 17.5281 3.94667 17.776 4.57788 17.518L5.89588 16.9792C6.28624 16.8196 6.72847 16.8496 7.0937 17.0604L7.70483 17.4133C8.07006 17.6241 8.31718 17.9921 8.37416 18.41L8.56652 19.8206C8.65865 20.4963 9.23573 21 9.91765 21L12.0825 21C12.7644 21 13.3415 20.4963 13.4336 19.8206L13.626 18.4098C13.683 17.9916 13.9305 17.6234 14.2962 17.4127L14.9077 17.0602C15.2728 16.8497 15.7146 16.8199 16.1047 16.9794L17.4221 17.5179C18.0533 17.776 18.7781 17.5281 19.119 16.9375L20.2015 15.0627C20.5424 14.4721 20.3947 13.7205 19.8557 13.3029L18.7305 12.4312C18.3974 12.1732 18.2023 11.7756 18.202 11.3542L18.2015 10.6483C18.2012 10.2263 18.3964 9.82784 18.73 9.56935L19.8556 8.69734C20.3947 8.27972 20.5424 7.52809 20.2014 6.93753L19.119 5.06272C18.7781 4.47217 18.0533 4.22427 17.4221 4.48231L16.1042 5.02106C15.7138 5.18064 15.2716 5.15063 14.9064 4.93976L14.2953 4.58698Z" stroke-width="1.5" stroke-linecap="round" stroke-linejoin="round"></path><path d="M13.3619 12.3637C12.6088 13.6681 10.9408 14.1151 9.63638 13.362C8.33195 12.6088 7.88502 10.9409 8.63813 9.63643C9.39125 8.33199 11.0592 7.88506 12.3637 8.63818C13.6681 9.39129 14.115 11.0593 13.3619 12.3637Z" stroke-width="1.5" stroke-linecap="round" stroke-linejoin="round"></path></svg><span class="invisible">Follow</span></div><div class="animate-pulse rounded-full border-1-1/2 p-2 bg-slate-100 dark:border-slate-900 dark:bg-slate-800"><svg class="invisible h-5 w-5" viewBox="0 0 22 17" fill="none" xmlns="http://www.w3.org/2000/svg"><path d="M12.1728 3.50973C12.587 3.50973 12.9228 3.17395 12.9228 2.75973C12.9228 2.34552 12.587 2.00973 12.1728 2.00973V3.50973ZM18.958 9.10996C18.958 8.69575 18.6222 8.35996 18.208 8.35996C17.7938 8.35996 17.458 8.69575 17.458 9.10996H18.958ZM1.5018 5.97023C1.1338 5.7801 0.681352 5.9243 0.491222 6.2923C0.301092 6.66029 0.445283 7.11275 0.813283 7.30288L1.5018 5.97023ZM15.6397 8.12794C15.9841 7.8979 16.0769 7.43217 15.8468 7.08771C15.6168 6.74325 15.1511 6.6505 14.8066 6.88055L15.6397 8.12794ZM7.29742 9.80877L6.95316 10.4751L7.29742 9.80877ZM9.154 10.5963L9.2714 9.85557L9.154 10.5963ZM12.1823 9.53509L11.7658 8.91139L12.1823 9.53509ZM10.4253 10.5251L10.2259 9.80209L10.4253 10.5251ZM16.1797 3.11305C15.8868 2.82016 15.4119 2.82016 15.1191 3.11305C14.8262 3.40595 14.8262 3.88082 15.1191 4.17371L16.1797 3.11305ZM17.3215 5.31545L16.7911 5.84578C16.9358 5.99043 17.1332 6.06972 17.3377 6.06527C17.5423 6.06083 17.7361 5.97304 17.8743 5.82224L17.3215 5.31545ZM21.5529 1.80928C21.8328 1.50394 21.8121 1.02952 21.5068 0.749625C21.2015 0.46973 20.727 0.490357 20.4471 0.795697L21.5529 1.80928ZM17.458 14.2317C17.458 14.8735 16.9378 15.3937 16.296 15.3937V16.8937C17.7662 16.8937 18.958 15.7019 18.958 14.2317H17.458ZM16.296 15.3937H2.912V16.8937H16.296V15.3937ZM2.912 15.3937C2.27025 15.3937 1.75 14.8735 1.75 14.2317H0.25C0.25 15.7019 1.44182 16.8937 2.912 16.8937V15.3937ZM1.75 14.2317V4.67173H0.25V14.2317H1.75ZM1.75 4.67173C1.75 4.02998 2.27024 3.50973 2.912 3.50973V2.00973C1.44182 2.00973 0.25 3.20155 0.25 4.67173H1.75ZM2.912 3.50973H12.1728V2.00973H2.912V3.50973ZM18.958 14.2317V9.10996H17.458V14.2317H18.958ZM0.813283 7.30288L6.95316 10.4751L7.64168 9.14245L1.5018 5.97023L0.813283 7.30288ZM12.5988 10.1588L15.6397 8.12794L14.8066 6.88055L11.7658 8.91139L12.5988 10.1588ZM6.95316 10.4751C7.82539 10.9257 8.40949 11.2377 9.03661 11.3371L9.2714 9.85557C8.93995 9.80304 8.60585 9.6406 7.64168 9.14245L6.95316 10.4751ZM11.7658 8.91139C10.8633 9.51412 10.5494 9.71287 10.2259 9.80209L10.6247 11.2481C11.2368 11.0793 11.7824 10.704 12.5988 10.1588L11.7658 8.91139ZM9.03661 11.3371C9.56626 11.421 10.1077 11.3907 10.6247 11.2481L10.2259 9.80209C9.91519 9.88779 9.58974 9.90602 9.2714 9.85557L9.03661 11.3371ZM15.1191 4.17371L16.7911 5.84578L17.8518 4.78512L16.1797 3.11305L15.1191 4.17371ZM17.8743 5.82224L21.5529 1.80928L20.4471 0.795697L16.7686 4.80866L17.8743 5.82224Z"></path></svg></div></div></div><div class="mb-2 flex w-full flex-col items-center md:hidden"><div class="mb-6 flex flex-row items-center justify-center gap-x-3"><div class="flex animate-pulse flex-row items-center rounded-full border-1-1/2 px-4 py-2 text-center text-sm font-medium bg-slate-100 dark:border-slate-900 dark:bg-slate-800"><svg class="invisible mr-2 h-5 w-5" viewBox="0 0 22 22" fill="none" xmlns="http://www.w3.org/2000/svg"><path d="M14.2953 4.58698C13.9301 4.37611 13.683 4.00814 13.626 3.59028L13.4336 2.17939C13.3415 1.50373 12.7644 1 12.0825 1L9.91765 1C9.23573 1 8.65865 1.50373 8.56652 2.17939L8.37412 3.5903C8.31709 4.00849 8.06963 4.37672 7.70395 4.58749L7.0923 4.94003C6.72723 5.15046 6.28538 5.18029 5.89533 5.02084L4.57791 4.48227C3.9467 4.22423 3.22192 4.47214 2.88096 5.06269L1.79854 6.9375C1.45758 7.52805 1.60528 8.27969 2.14436 8.69731L3.26948 9.56895C3.60259 9.82701 3.79768 10.2246 3.79799 10.646L3.7985 11.3519C3.7988 11.774 3.60364 12.1724 3.26999 12.4309L2.14433 13.3029C1.60525 13.7205 1.45755 14.4722 1.79851 15.0627L2.88093 16.9375C3.22189 17.5281 3.94667 17.776 4.57788 17.518L5.89588 16.9792C6.28624 16.8196 6.72847 16.8496 7.0937 17.0604L7.70483 17.4133C8.07006 17.6241 8.31718 17.9921 8.37416 18.41L8.56652 19.8206C8.65865 20.4963 9.23573 21 9.91765 21L12.0825 21C12.7644 21 13.3415 20.4963 13.4336 19.8206L13.626 18.4098C13.683 17.9916 13.9305 17.6234 14.2962 17.4127L14.9077 17.0602C15.2728 16.8497 15.7146 16.8199 16.1047 16.9794L17.4221 17.5179C18.0533 17.776 18.7781 17.5281 19.119 16.9375L20.2015 15.0627C20.5424 14.4721 20.3947 13.7205 19.8557 13.3029L18.7305 12.4312C18.3974 12.1732 18.2023 11.7756 18.202 11.3542L18.2015 10.6483C18.2012 10.2263 18.3964 9.82784 18.73 9.56935L19.8556 8.69734C20.3947 8.27972 20.5424 7.52809 20.2014 6.93753L19.119 5.06272C18.7781 4.47217 18.0533 4.22427 17.4221 4.48231L16.1042 5.02106C15.7138 5.18064 15.2716 5.15063 14.9064 4.93976L14.2953 4.58698Z" stroke-width="1.5" stroke-linecap="round" stroke-linejoin="round"></path><path d="M13.3619 12.3637C12.6088 13.6681 10.9408 14.1151 9.63638 13.362C8.33195 12.6088 7.88502 10.9409 8.63813 9.63643C9.39125 8.33199 11.0592 7.88506 12.3637 8.63818C13.6681 9.39129 14.115 11.0593 13.3619 12.3637Z" stroke-width="1.5" stroke-linecap="round" stroke-linejoin="round"></path></svg><span class="invisible">Follow</span></div><div class="animate-pulse rounded-full border-1-1/2 p-2 bg-slate-100 dark:border-slate-900 dark:bg-slate-800"><svg class="invisible h-5 w-5" viewBox="0 0 22 17" fill="none" xmlns="http://www.w3.org/2000/svg"><path d="M12.1728 3.50973C12.587 3.50973 12.9228 3.17395 12.9228 2.75973C12.9228 2.34552 12.587 2.00973 12.1728 2.00973V3.50973ZM18.958 9.10996C18.958 8.69575 18.6222 8.35996 18.208 8.35996C17.7938 8.35996 17.458 8.69575 17.458 9.10996H18.958ZM1.5018 5.97023C1.1338 5.7801 0.681352 5.9243 0.491222 6.2923C0.301092 6.66029 0.445283 7.11275 0.813283 7.30288L1.5018 5.97023ZM15.6397 8.12794C15.9841 7.8979 16.0769 7.43217 15.8468 7.08771C15.6168 6.74325 15.1511 6.6505 14.8066 6.88055L15.6397 8.12794ZM7.29742 9.80877L6.95316 10.4751L7.29742 9.80877ZM9.154 10.5963L9.2714 9.85557L9.154 10.5963ZM12.1823 9.53509L11.7658 8.91139L12.1823 9.53509ZM10.4253 10.5251L10.2259 9.80209L10.4253 10.5251ZM16.1797 3.11305C15.8868 2.82016 15.4119 2.82016 15.1191 3.11305C14.8262 3.40595 14.8262 3.88082 15.1191 4.17371L16.1797 3.11305ZM17.3215 5.31545L16.7911 5.84578C16.9358 5.99043 17.1332 6.06972 17.3377 6.06527C17.5423 6.06083 17.7361 5.97304 17.8743 5.82224L17.3215 5.31545ZM21.5529 1.80928C21.8328 1.50394 21.8121 1.02952 21.5068 0.749625C21.2015 0.46973 20.727 0.490357 20.4471 0.795697L21.5529 1.80928ZM17.458 14.2317C17.458 14.8735 16.9378 15.3937 16.296 15.3937V16.8937C17.7662 16.8937 18.958 15.7019 18.958 14.2317H17.458ZM16.296 15.3937H2.912V16.8937H16.296V15.3937ZM2.912 15.3937C2.27025 15.3937 1.75 14.8735 1.75 14.2317H0.25C0.25 15.7019 1.44182 16.8937 2.912 16.8937V15.3937ZM1.75 14.2317V4.67173H0.25V14.2317H1.75ZM1.75 4.67173C1.75 4.02998 2.27024 3.50973 2.912 3.50973V2.00973C1.44182 2.00973 0.25 3.20155 0.25 4.67173H1.75ZM2.912 3.50973H12.1728V2.00973H2.912V3.50973ZM18.958 14.2317V9.10996H17.458V14.2317H18.958ZM0.813283 7.30288L6.95316 10.4751L7.64168 9.14245L1.5018 5.97023L0.813283 7.30288ZM12.5988 10.1588L15.6397 8.12794L14.8066 6.88055L11.7658 8.91139L12.5988 10.1588ZM6.95316 10.4751C7.82539 10.9257 8.40949 11.2377 9.03661 11.3371L9.2714 9.85557C8.93995 9.80304 8.60585 9.6406 7.64168 9.14245L6.95316 10.4751ZM11.7658 8.91139C10.8633 9.51412 10.5494 9.71287 10.2259 9.80209L10.6247 11.2481C11.2368 11.0793 11.7824 10.704 12.5988 10.1588L11.7658 8.91139ZM9.03661 11.3371C9.56626 11.421 10.1077 11.3907 10.6247 11.2481L10.2259 9.80209C9.91519 9.88779 9.58974 9.90602 9.2714 9.85557L9.03661 11.3371ZM15.1191 4.17371L16.7911 5.84578L17.8518 4.78512L16.1797 3.11305L15.1191 4.17371ZM17.8743 5.82224L21.5529 1.80928L20.4471 0.795697L16.7686 4.80866L17.8743 5.82224Z"></path></svg></div></div><div class="blog-social-media-section flex flex-row flex-wrap gap-y-2 justify-center gap-x-1.5 text-slate-700 dark:text-slate-300"><a href="https://twitter.com/ardabeyazoglu" aria-label="Find me on Twitter, external website, opens in new tab" target="_blank" rel="me noopener" class="focus-ring-base flex flex-row items-center justify-center rounded-full p-2 transition-colors duration-150 focus-ring-colors-base hover:bg-black/10 dark:hover:bg-white/20"><svg class="h-5 w-5 stroke-current" viewBox="0 0 24 24" fill="none" xmlns="http://www.w3.org/2000/svg"><path d="M10.643 13.346L4.26862 4.86856C3.85863 4.32329 4.2478 3.54408 4.93001 3.54431L7.2184 3.54508C7.47633 3.54517 7.71945 3.66557 7.87585 3.87066L12.9065 10.4675M10.643 13.346L5.19311 20.5093M10.643 13.346L15.8028 20.077C15.9588 20.2805 16.2003 20.4001 16.4567 20.4009L18.7925 20.4082C19.4778 20.4104 19.8683 19.6261 19.4536 19.0805L12.9065 10.4675M12.9065 10.4675L18.2181 3.50928" stroke-width="1.5" stroke-linecap="round"></path></svg></a><a href="https://github.com/ardabeyazoglu" aria-label="Find me on Github, opens in new tab" target="_blank" rel="me noopener" class="focus-ring-base flex flex-row items-center justify-center rounded-full p-2 transition-colors duration-150 focus-ring-colors-base hover:bg-black/10 dark:hover:bg-white/20"><svg class="h-5 w-5 fill-current" viewBox="0 0 496 512"><path d="M165.9 397.4c0 2-2.3 3.6-5.2 3.6-3.3.3-5.6-1.3-5.6-3.6 0-2 2.3-3.6 5.2-3.6 3-.3 5.6 1.3 5.6 3.6zm-31.1-4.5c-.7 2 1.3 4.3 4.3 4.9 2.6 1 5.6 0 6.2-2s-1.3-4.3-4.3-5.2c-2.6-.7-5.5.3-6.2 2.3zm44.2-1.7c-2.9.7-4.9 2.6-4.6 4.9.3 2 2.9 3.3 5.9 2.6 2.9-.7 4.9-2.6 4.6-4.6-.3-1.9-3-3.2-5.9-2.9zM244.8 8C106.1 8 0 113.3 0 252c0 110.9 69.8 205.8 169.5 239.2 12.8 2.3 17.3-5.6 17.3-12.1 0-6.2-.3-40.4-.3-61.4 0 0-70 15-84.7-29.8 0 0-11.4-29.1-27.8-36.6 0 0-22.9-15.7 1.6-15.4 0 0 24.9 2 38.6 25.8 21.9 38.6 58.6 27.5 72.9 20.9 2.3-16 8.8-27.1 16-33.7-55.9-6.2-112.3-14.3-112.3-110.5 0-27.5 7.6-41.3 23.6-58.9-2.6-6.5-11.1-33.3 2.6-67.9 20.9-6.5 69 27 69 27 20-5.6 41.5-8.5 62.8-8.5s42.8 2.9 62.8 8.5c0 0 48.1-33.6 69-27 13.7 34.7 5.2 61.4 2.6 67.9 16 17.7 25.8 31.5 25.8 58.9 0 96.5-58.9 104.2-114.8 110.5 9.2 7.9 17 22.9 17 46.4 0 33.7-.3 75.4-.3 83.6 0 6.5 4.6 14.4 17.3 12.1C428.2 457.8 496 362.9 496 252 496 113.3 383.5 8 244.8 8zM97.2 352.9c-1.3 1-1 3.3.7 5.2 1.6 1.6 3.9 2.3 5.2 1 1.3-1 1-3.3-.7-5.2-1.6-1.6-3.9-2.3-5.2-1zm-10.8-8.1c-.7 1.3.3 2.9 2.3 3.9 1.6 1 3.6.7 4.3-.7.7-1.3-.3-2.9-2.3-3.9-2-.6-3.6-.3-4.3.7zm32.4 35.6c-1.6 1.3-1 4.3 1.3 6.2 2.3 2.3 5.2 2.6 6.5 1 1.3-1.3.7-4.3-1.3-6.2-2.2-2.3-5.2-2.6-6.5-1zm-11.4-14.7c-1.6 1-1.6 3.6 0 5.9 1.6 2.3 4.3 3.3 5.6 2.3 1.6-1.3 1.6-3.9 0-6.2-1.4-2.3-4-3.3-5.6-2z"></path></svg></a><a href="https://arda.beyazoglu.com/" aria-label="Check out my website, external website, opens in new tab" target="_blank" rel="me noopener" class="focus-ring-base flex flex-row items-center justify-center rounded-full p-2 transition-colors duration-150 focus-ring-colors-base hover:bg-black/10 dark:hover:bg-white/20"><svg class="h-5 w-5 fill-current" viewBox="0 0 24 24"><path d="M17.9 17.39c-.26-.8-1.01-1.39-1.9-1.39h-1v-3a1 1 0 0 0-1-1H8v-2h2a1 1 0 0 0 1-1V7h2a2 2 0 0 0 2-2v-.41c2.93 1.18 5 4.05 5 7.41 0 2.08-.8 3.97-2.1 5.39M11 19.93c-3.95-.49-7-3.85-7-7.93 0-.62.08-1.22.21-1.79L9 15v1a2 2 0 0 0 2 2m1-16A10 10 0 0 0 2 12a10 10 0 0 0 10 10 10 10 0 0 0 10-10A10 10 0 0 0 12 2z"></path></svg></a><a href="https://hashnode.com/@ardabeyazoglu" aria-label="Find me on Hashnode, external website, opens in new tab" target="_blank" rel="me noopener" class="focus-ring-base flex flex-row items-center justify-center rounded-full p-2 transition-colors duration-150 focus-ring-colors-base hover:bg-black/10 dark:hover:bg-white/20"><svg class="h-5 w-5 fill-current" viewBox="0 0 200 200" fill="none"><path fill-rule="evenodd" clip-rule="evenodd" d="M13.742 66.824c-18.323 18.323-18.323 48.029 0 66.352l53.082 53.082c18.323 18.323 48.029 18.323 66.352 0l53.082-53.082c18.323-18.323 18.323-48.03 0-66.352l-53.082-53.082c-18.323-18.323-48.03-18.323-66.352 0L13.742 66.824zm109.481 56.399c12.826-12.826 12.826-33.62 0-46.446s-33.62-12.826-46.446 0-12.826 33.62 0 46.446 33.62 12.826 46.446 0z"></path></svg></a><a href="https://www.linkedin.com/in/ardabeyazoglu" aria-label="Find me on LinkedIn, external website, opens in new tab" target="_blank" rel="me noopener" class="focus-ring-base flex flex-row items-center justify-center rounded-full p-2 transition-colors duration-150 focus-ring-colors-base hover:bg-black/10 dark:hover:bg-white/20"><svg class="h-5 w-5 fill-current" viewBox="0 0 448 512"><path d="M416 32H31.9C14.3 32 0 46.5 0 64.3v383.4C0 465.5 14.3 480 31.9 480H416c17.6 0 32-14.5 32-32.3V64.3c0-17.8-14.4-32.3-32-32.3zM135.4 416H69V202.2h66.5V416zm-33.2-243c-21.3 0-38.5-17.3-38.5-38.5S80.9 96 102.2 96c21.2 0 38.5 17.3 38.5 38.5 0 21.3-17.2 38.5-38.5 38.5zm282.1 243h-66.4V312c0-24.8-.5-56.7-34.5-56.7-34.6 0-39.9 27-39.9 54.9V416h-66.4V202.2h63.7v29.2h.9c8.9-16.8 30.6-34.5 62.9-34.5 67.2 0 79.7 44.3 79.7 101.9V416z"></path></svg></a><a href="/rss.xml" aria-label="Open blog XML Feed, opens in new tab" target="_blank" rel="me noopener" class="focus-ring-base flex flex-row items-center justify-center rounded-full p-2 transition-colors duration-150 focus-ring-colors-base hover:bg-black/10 dark:hover:bg-white/20"><svg class="h-5 w-5 fill-current" viewBox="0 0 448 512"><path d="M80 368c17.645 0 32 14.355 32 32s-14.355 32-32 32-32-14.355-32-32 14.355-32 32-32m0-48c-44.183 0-80 35.817-80 80s35.817 80 80 80 80-35.817 80-80-35.817-80-80-80zm367.996 147.615c-6.449-237.834-198.057-429.163-435.61-435.61C5.609 31.821 0 37.229 0 44.007v24.02c0 6.482 5.147 11.808 11.626 11.992 211.976 6.04 382.316 176.735 388.354 388.354.185 6.479 5.51 11.626 11.992 11.626h24.02c6.78.001 12.187-5.608 12.004-12.384zm-136.239-.05C305.401 305.01 174.966 174.599 12.435 168.243 5.643 167.977 0 173.444 0 180.242v24.024c0 6.431 5.072 11.705 11.497 11.98 136.768 5.847 246.411 115.511 252.258 252.258.275 6.425 5.549 11.497 11.98 11.497h24.024c6.797-.001 12.264-5.644 11.998-12.436z"></path></svg></a></div></div><div class="relative mt-8 hidden flex-row items-center justify-center overflow-hidden text-base md:flex" data-tom="hidden md:flex relative flex-row items-center justify-center overflow-hidden text-base mt-8"><div><nav class="relative flex flex-row flex-nowrap items-end whitespace-nowrap px-2 pt-2"><a class="blog-nav-active group flex items-center justify-center border-b-2 border-transparent px-2 capitalize focus:outline-none border-black dark:border-slate-50" href="/"><span class="blog-nav-text mb-2 block rounded-lg px-2 py-1 ring-offset-2 transition-colors duration-150 group-focus:ring text-slate-900 hover:bg-slate-100 group-focus:ring-blue-600 group-focus:ring-offset-white dark:text-white dark:hover:bg-slate-800 dark:group-focus:ring-offset-slate-800 font-semibold text-opacity-100 dark:text-opacity-100">home</span></a><a class="blog-nav group flex items-center justify-center border-b-2 border-transparent px-2 capitalize focus:outline-none" href="/newsletter"><span class="blog-nav-text mb-2 block rounded-lg px-2 py-1 ring-offset-2 transition-colors duration-150 group-focus:ring text-slate-900 hover:bg-slate-100 group-focus:ring-blue-600 group-focus:ring-offset-white dark:text-white dark:hover:bg-slate-800 dark:group-focus:ring-offset-slate-800 font-medium text-opacity-70 dark:text-opacity-70">newsletter</span></a></nav></div></div></div></div></header><div class="blog-author-container border-b dark:border-slate-800"><div class="blog-author-area feed-width mx-auto md:w-3/4 lg:w-2/3 px-4 lg:px-8"><div class="blog-author-card mx-auto px-2 py-8 md:px-8 md:py-12"><div class="flex flex-col flex-wrap items-center"><div class="mb-3"><a aria-label="Arda Beyazoğlu" href="https://hashnode.com/@ardabeyazoglu" class="blog-author-area-photo block h-24 w-24 overflow-hidden rounded-full md:h-28 md:w-28"><span style="box-sizing:border-box;display:inline-block;overflow:hidden;width:initial;height:initial;background:none;opacity:1;border:0;margin:0;padding:0;position:relative;max-width:100%"><span style="box-sizing:border-box;display:block;width:initial;height:initial;background:none;opacity:1;border:0;margin:0;padding:0;max-width:100%"><img style="display:block;max-width:100%;width:initial;height:initial;background:none;opacity:1;border:0;margin:0;padding:0" alt="" aria-hidden="true" src="data:image/svg+xml,%3csvg%20xmlns=%27http://www.w3.org/2000/svg%27%20version=%271.1%27%20width=%27400%27%20height=%27400%27/%3e"/></span><img alt="Arda Beyazoğlu" src="data:image/gif;base64,R0lGODlhAQABAIAAAAAAAP///yH5BAEAAAAALAAAAAABAAEAAAIBRAA7" decoding="async" data-nimg="intrinsic" class="block w-full" style="position:absolute;top:0;left:0;bottom:0;right:0;box-sizing:border-box;padding:0;border:none;margin:auto;display:block;width:0;height:0;min-width:100%;max-width:100%;min-height:100%;max-height:100%;object-fit:cover;background-size:cover;background-position:0% 0%;filter:blur(20px);background-image:url(&quot;https://cdn.hashnode.com/res/hashnode/image/upload/v1709295212076/p-OJ_srXG.png?w=400&amp;h=400&amp;fit=crop&amp;crop=faces&amp;auto=compress,format&amp;format=webp&amp;fm=blurhash&quot;)"/><noscript><img alt="Arda Beyazoğlu" loading="lazy" decoding="async" data-nimg="intrinsic" style="position:absolute;top:0;left:0;bottom:0;right:0;box-sizing:border-box;padding:0;border:none;margin:auto;display:block;width:0;height:0;min-width:100%;max-width:100%;min-height:100%;max-height:100%;object-fit:cover" class="block w-full" src="https://cdn.hashnode.com/res/hashnode/image/upload/v1709295212076/p-OJ_srXG.png?w=400&amp;h=400&amp;fit=crop&amp;crop=faces&amp;auto=compress,format&amp;format=webp"/></noscript></span></a></div><div class="flex w-full flex-col items-center gap-2"><div class="flex flex-col items-center gap-1 leading-snug text-black dark:text-white"><h1 class="blog-author-area-name w-full text-center font-heading text-xl font-semibold"><a href="https://hashnode.com/@ardabeyazoglu">Arda Beyazoğlu</a></h1><div class="blog-follow-wrapper"><p class="blog-followers-count text-center text-sm opacity-75"><span>3<!-- --> follower<!-- -->s</span></p></div></div><div class="text-balance prose prose-slate text-center leading-snug dark:prose-dark"><p>A software engineer interested in web, databases and linux.</p>
</div></div></div></div></div></div><div class="blog-content-area feed-width mx-auto md:w-2/3"><div><div class="blog-posts-wrapper mt-10"><div class="blog-post-card mb-16 px-4 lg:px-16"><section class="blog-post-card-wrapper flex flex-wrap items-start flex-row"><div class="w-full "><h2 class="blog-post-card-title mb-3 break-words font-heading text-2xl font-bold leading-tight text-slate-900 dark:text-white lg:text-3xl"><a aria-label="Supabase Part 4: Monorepo &amp; Interoperable Backend" href="https://arda.beyazoglu.com/supabase-monorepo-interoperable-backend">Supabase Part 4: Monorepo &amp; Interoperable Backend</a></h2><div class="blog-post-card-meta mb-3 flex flex-row flex-wrap items-center font-heading text-sm font-medium text-slate-500 dark:text-slate-400"><a aria-label="Supabase Part 4: Monorepo &amp; Interoperable Backend" class="flex flex-row items-center gap-x-4" href="https://arda.beyazoglu.com/supabase-monorepo-interoperable-backend"><span class="blog-post-card-time">Oct 6, 2024</span><span class="flex items-center"><svg class="mr-1 h-4 w-4 fill-current" viewBox="0 0 576 512"><path d="M540.9 56.77c-45.95-16.66-90.23-24.09-129.1-24.75-60.7.94-102.7 17.45-123.8 27.72-21.1-10.27-64.1-26.8-123.2-27.74-40-.05-84.4 8.35-129.7 24.77C14.18 64.33 0 84.41 0 106.7v302.9c0 14.66 6.875 28.06 18.89 36.8 11.81 8.531 26.64 10.98 40.73 6.781 118.9-36.34 209.3 19.05 214.3 22.19C277.8 477.6 281.2 480 287.1 480c6.52 0 10.12-2.373 14.07-4.578 10.78-6.688 98.3-57.66 214.3-22.27 14.11 4.25 28.86 1.75 40.75-6.812C569.1 437.6 576 424.2 576 409.6V106.7c0-22.28-14.2-42.35-35.1-49.93zM272 438.1c-24.95-12.03-71.01-29.37-130.5-29.37-27.83 0-58.5 3.812-91.19 13.77-4.406 1.344-9 .594-12.69-2.047C34.02 417.8 32 413.1 32 409.6V106.7c0-8.859 5.562-16.83 13.86-19.83C87.66 71.7 127.9 63.95 164.5 64c51.8.81 89.7 15.26 107.5 23.66V438.1zm272-28.5c0 4.375-2.016 8.234-5.594 10.84-3.766 2.703-8.297 3.422-12.69 2.125C424.1 391.6 341.3 420.4 304 438.3V87.66c17.8-8.4 55.7-22.85 107.4-23.66 35.31-.063 76.34 7.484 118.8 22.88 8.2 3 13.8 10.96 13.8 19.82v302.9z"></path></svg><span>5<!-- --> min read</span></span></a></div><p class="blog-post-card-brief block w-full break-words text-base leading-snug text-slate-700 hn-break-words dark:text-slate-400"><a aria-label="Supabase Part 4: Monorepo &amp; Interoperable Backend" href="https://arda.beyazoglu.com/supabase-monorepo-interoperable-backend">This is the third article in a series on Supabase, focusing on solutions to common problems, tips, and recommendations.
In this post, I will share...</a></p></div></section></div><div class="blog-post-card mb-16 px-4 lg:px-16"><section class="blog-post-card-wrapper flex flex-wrap items-start flex-row"><div class="w-full "><h2 class="blog-post-card-title mb-3 break-words font-heading text-2xl font-bold leading-tight text-slate-900 dark:text-white lg:text-3xl"><a aria-label="Supabase Part 3: Multi Tenancy" href="https://arda.beyazoglu.com/supabase-multi-tenancy">Supabase Part 3: Multi Tenancy</a></h2><div class="blog-post-card-meta mb-3 flex flex-row flex-wrap items-center font-heading text-sm font-medium text-slate-500 dark:text-slate-400"><a aria-label="Supabase Part 3: Multi Tenancy" class="flex flex-row items-center gap-x-4" href="https://arda.beyazoglu.com/supabase-multi-tenancy"><span class="blog-post-card-time">Sep 29, 2024</span><span class="flex items-center"><svg class="mr-1 h-4 w-4 fill-current" viewBox="0 0 576 512"><path d="M540.9 56.77c-45.95-16.66-90.23-24.09-129.1-24.75-60.7.94-102.7 17.45-123.8 27.72-21.1-10.27-64.1-26.8-123.2-27.74-40-.05-84.4 8.35-129.7 24.77C14.18 64.33 0 84.41 0 106.7v302.9c0 14.66 6.875 28.06 18.89 36.8 11.81 8.531 26.64 10.98 40.73 6.781 118.9-36.34 209.3 19.05 214.3 22.19C277.8 477.6 281.2 480 287.1 480c6.52 0 10.12-2.373 14.07-4.578 10.78-6.688 98.3-57.66 214.3-22.27 14.11 4.25 28.86 1.75 40.75-6.812C569.1 437.6 576 424.2 576 409.6V106.7c0-22.28-14.2-42.35-35.1-49.93zM272 438.1c-24.95-12.03-71.01-29.37-130.5-29.37-27.83 0-58.5 3.812-91.19 13.77-4.406 1.344-9 .594-12.69-2.047C34.02 417.8 32 413.1 32 409.6V106.7c0-8.859 5.562-16.83 13.86-19.83C87.66 71.7 127.9 63.95 164.5 64c51.8.81 89.7 15.26 107.5 23.66V438.1zm272-28.5c0 4.375-2.016 8.234-5.594 10.84-3.766 2.703-8.297 3.422-12.69 2.125C424.1 391.6 341.3 420.4 304 438.3V87.66c17.8-8.4 55.7-22.85 107.4-23.66 35.31-.063 76.34 7.484 118.8 22.88 8.2 3 13.8 10.96 13.8 19.82v302.9z"></path></svg><span>10<!-- --> min read</span></span></a></div><p class="blog-post-card-brief block w-full break-words text-base leading-snug text-slate-700 hn-break-words dark:text-slate-400"><a aria-label="Supabase Part 3: Multi Tenancy" href="https://arda.beyazoglu.com/supabase-multi-tenancy">This is the third article in a series on Supabase, focusing on solutions to common problems, tips, and recommendations.
In this post, I will share...</a></p></div></section></div><div class="blog-post-card mb-16 px-4 lg:px-16"><section class="blog-post-card-wrapper flex flex-wrap items-start flex-row"><div class="w-full "><h2 class="blog-post-card-title mb-3 break-words font-heading text-2xl font-bold leading-tight text-slate-900 dark:text-white lg:text-3xl"><a aria-label="Supabase Part 2: Access Control with RLS" href="https://arda.beyazoglu.com/part-2-access-control-with-rls-policies">Supabase Part 2: Access Control with RLS</a></h2><div class="blog-post-card-meta mb-3 flex flex-row flex-wrap items-center font-heading text-sm font-medium text-slate-500 dark:text-slate-400"><a aria-label="Supabase Part 2: Access Control with RLS" class="flex flex-row items-center gap-x-4" href="https://arda.beyazoglu.com/part-2-access-control-with-rls-policies"><span class="blog-post-card-time">Sep 22, 2024</span><span class="flex items-center"><svg class="mr-1 h-4 w-4 fill-current" viewBox="0 0 576 512"><path d="M540.9 56.77c-45.95-16.66-90.23-24.09-129.1-24.75-60.7.94-102.7 17.45-123.8 27.72-21.1-10.27-64.1-26.8-123.2-27.74-40-.05-84.4 8.35-129.7 24.77C14.18 64.33 0 84.41 0 106.7v302.9c0 14.66 6.875 28.06 18.89 36.8 11.81 8.531 26.64 10.98 40.73 6.781 118.9-36.34 209.3 19.05 214.3 22.19C277.8 477.6 281.2 480 287.1 480c6.52 0 10.12-2.373 14.07-4.578 10.78-6.688 98.3-57.66 214.3-22.27 14.11 4.25 28.86 1.75 40.75-6.812C569.1 437.6 576 424.2 576 409.6V106.7c0-22.28-14.2-42.35-35.1-49.93zM272 438.1c-24.95-12.03-71.01-29.37-130.5-29.37-27.83 0-58.5 3.812-91.19 13.77-4.406 1.344-9 .594-12.69-2.047C34.02 417.8 32 413.1 32 409.6V106.7c0-8.859 5.562-16.83 13.86-19.83C87.66 71.7 127.9 63.95 164.5 64c51.8.81 89.7 15.26 107.5 23.66V438.1zm272-28.5c0 4.375-2.016 8.234-5.594 10.84-3.766 2.703-8.297 3.422-12.69 2.125C424.1 391.6 341.3 420.4 304 438.3V87.66c17.8-8.4 55.7-22.85 107.4-23.66 35.31-.063 76.34 7.484 118.8 22.88 8.2 3 13.8 10.96 13.8 19.82v302.9z"></path></svg><span>7<!-- --> min read</span></span></a></div><p class="blog-post-card-brief block w-full break-words text-base leading-snug text-slate-700 hn-break-words dark:text-slate-400"><a aria-label="Supabase Part 2: Access Control with RLS" href="https://arda.beyazoglu.com/part-2-access-control-with-rls-policies">This is the second article in a series on Supabase, focusing on solutions to common problems, tips, and recommendations.
In this post, I will share...</a></p></div></section></div><div class="blog-post-card mb-16 px-4 lg:px-16"><section class="blog-post-card-wrapper flex flex-wrap items-start flex-row"><div class="w-full "><h2 class="blog-post-card-title mb-3 break-words font-heading text-2xl font-bold leading-tight text-slate-900 dark:text-white lg:text-3xl"><a aria-label="Supabase Part 1: Securing Direct Database Queries" href="https://arda.beyazoglu.com/supabase-backend-custom-query-security-with-rls">Supabase Part 1: Securing Direct Database Queries</a></h2><div class="blog-post-card-meta mb-3 flex flex-row flex-wrap items-center font-heading text-sm font-medium text-slate-500 dark:text-slate-400"><a aria-label="Supabase Part 1: Securing Direct Database Queries" class="flex flex-row items-center gap-x-4" href="https://arda.beyazoglu.com/supabase-backend-custom-query-security-with-rls"><span class="blog-post-card-time">Sep 14, 2024</span><span class="flex items-center"><svg class="mr-1 h-4 w-4 fill-current" viewBox="0 0 576 512"><path d="M540.9 56.77c-45.95-16.66-90.23-24.09-129.1-24.75-60.7.94-102.7 17.45-123.8 27.72-21.1-10.27-64.1-26.8-123.2-27.74-40-.05-84.4 8.35-129.7 24.77C14.18 64.33 0 84.41 0 106.7v302.9c0 14.66 6.875 28.06 18.89 36.8 11.81 8.531 26.64 10.98 40.73 6.781 118.9-36.34 209.3 19.05 214.3 22.19C277.8 477.6 281.2 480 287.1 480c6.52 0 10.12-2.373 14.07-4.578 10.78-6.688 98.3-57.66 214.3-22.27 14.11 4.25 28.86 1.75 40.75-6.812C569.1 437.6 576 424.2 576 409.6V106.7c0-22.28-14.2-42.35-35.1-49.93zM272 438.1c-24.95-12.03-71.01-29.37-130.5-29.37-27.83 0-58.5 3.812-91.19 13.77-4.406 1.344-9 .594-12.69-2.047C34.02 417.8 32 413.1 32 409.6V106.7c0-8.859 5.562-16.83 13.86-19.83C87.66 71.7 127.9 63.95 164.5 64c51.8.81 89.7 15.26 107.5 23.66V438.1zm272-28.5c0 4.375-2.016 8.234-5.594 10.84-3.766 2.703-8.297 3.422-12.69 2.125C424.1 391.6 341.3 420.4 304 438.3V87.66c17.8-8.4 55.7-22.85 107.4-23.66 35.31-.063 76.34 7.484 118.8 22.88 8.2 3 13.8 10.96 13.8 19.82v302.9z"></path></svg><span>4<!-- --> min read</span></span></a></div><p class="blog-post-card-brief block w-full break-words text-base leading-snug text-slate-700 hn-break-words dark:text-slate-400"><a aria-label="Supabase Part 1: Securing Direct Database Queries" href="https://arda.beyazoglu.com/supabase-backend-custom-query-security-with-rls">This is the first article in a series on Supabase, focusing on solutions to common problems, tips, and recommendations.
When working with serverless...</a></p></div></section></div><div class="blog-post-card mb-16 px-4 lg:px-16"><section class="blog-post-card-wrapper flex flex-wrap items-start flex-row"><div class="w-full lg:w-3/5"><h2 class="blog-post-card-title mb-3 break-words font-heading text-2xl font-bold leading-tight text-slate-900 dark:text-white lg:text-3xl"><a aria-label="Extending Mysql with Curl Support" href="https://arda.beyazoglu.com/extending-mysql-with-curl-support">Extending Mysql with Curl Support</a></h2><div class="blog-post-card-meta mb-3 flex flex-row flex-wrap items-center font-heading text-sm font-medium text-slate-500 dark:text-slate-400"><a aria-label="Extending Mysql with Curl Support" class="flex flex-row items-center gap-x-4" href="https://arda.beyazoglu.com/extending-mysql-with-curl-support"><span class="blog-post-card-time">Oct 29, 2023</span><span class="flex items-center"><svg class="mr-1 h-4 w-4 fill-current" viewBox="0 0 576 512"><path d="M540.9 56.77c-45.95-16.66-90.23-24.09-129.1-24.75-60.7.94-102.7 17.45-123.8 27.72-21.1-10.27-64.1-26.8-123.2-27.74-40-.05-84.4 8.35-129.7 24.77C14.18 64.33 0 84.41 0 106.7v302.9c0 14.66 6.875 28.06 18.89 36.8 11.81 8.531 26.64 10.98 40.73 6.781 118.9-36.34 209.3 19.05 214.3 22.19C277.8 477.6 281.2 480 287.1 480c6.52 0 10.12-2.373 14.07-4.578 10.78-6.688 98.3-57.66 214.3-22.27 14.11 4.25 28.86 1.75 40.75-6.812C569.1 437.6 576 424.2 576 409.6V106.7c0-22.28-14.2-42.35-35.1-49.93zM272 438.1c-24.95-12.03-71.01-29.37-130.5-29.37-27.83 0-58.5 3.812-91.19 13.77-4.406 1.344-9 .594-12.69-2.047C34.02 417.8 32 413.1 32 409.6V106.7c0-8.859 5.562-16.83 13.86-19.83C87.66 71.7 127.9 63.95 164.5 64c51.8.81 89.7 15.26 107.5 23.66V438.1zm272-28.5c0 4.375-2.016 8.234-5.594 10.84-3.766 2.703-8.297 3.422-12.69 2.125C424.1 391.6 341.3 420.4 304 438.3V87.66c17.8-8.4 55.7-22.85 107.4-23.66 35.31-.063 76.34 7.484 118.8 22.88 8.2 3 13.8 10.96 13.8 19.82v302.9z"></path></svg><span>5<!-- --> min read</span></span></a></div><p class="blog-post-card-brief block w-full break-words text-base leading-snug text-slate-700 hn-break-words dark:text-slate-400"><a aria-label="Extending Mysql with Curl Support" href="https://arda.beyazoglu.com/extending-mysql-with-curl-support">send http requests using SQL · In this post, I&#x27;m going to talk about an experimental MySQL component I developed using the MySQL 8 component subsystem.
I...</a></p></div><div class="blog-post-card-cover mt-6 w-full lg:mt-0 lg:w-2/5 lg:pl-8"><a class="block overflow-hidden rounded-lg border dark:border-slate-800" aria-label="Extending Mysql with Curl Support" href="https://arda.beyazoglu.com/extending-mysql-with-curl-support"><span style="box-sizing:border-box;display:block;overflow:hidden;width:initial;height:initial;background:none;opacity:1;border:0;margin:0;padding:0;position:relative"><span style="box-sizing:border-box;display:block;width:initial;height:initial;background:none;opacity:1;border:0;margin:0;padding:0;padding-top:52.5%"></span><img alt="Extending Mysql with Curl Support" src="data:image/gif;base64,R0lGODlhAQABAIAAAAAAAP///yH5BAEAAAAALAAAAAABAAEAAAIBRAA7" decoding="async" data-nimg="responsive" class="post-cover" style="position:absolute;top:0;left:0;bottom:0;right:0;box-sizing:border-box;padding:0;border:none;margin:auto;display:block;width:0;height:0;min-width:100%;max-width:100%;min-height:100%;max-height:100%;background-size:cover;background-position:0% 0%;filter:blur(20px);background-image:url(&quot;https://cdn.hashnode.com/res/hashnode/image/upload/v1698526388630/c829c1d5-76df-48f1-b39c-e7c65feb94cd.png?w=400&amp;h=210&amp;fit=crop&amp;crop=entropy&amp;auto=compress,format&amp;format=webp&amp;fm=blurhash&quot;)"/><noscript><img alt="Extending Mysql with Curl Support" loading="lazy" decoding="async" data-nimg="responsive" style="position:absolute;top:0;left:0;bottom:0;right:0;box-sizing:border-box;padding:0;border:none;margin:auto;display:block;width:0;height:0;min-width:100%;max-width:100%;min-height:100%;max-height:100%" class="post-cover" src="https://cdn.hashnode.com/res/hashnode/image/upload/v1698526388630/c829c1d5-76df-48f1-b39c-e7c65feb94cd.png?w=1600&amp;h=840&amp;fit=crop&amp;crop=entropy&amp;auto=compress,format&amp;format=webp"/></noscript></span></a></div></section></div><div class="blog-post-card mb-16 px-4 lg:px-16"><section class="blog-post-card-wrapper flex flex-wrap items-start flex-row"><div class="w-full lg:w-3/5"><h2 class="blog-post-card-title mb-3 break-words font-heading text-2xl font-bold leading-tight text-slate-900 dark:text-white lg:text-3xl"><a aria-label="Using Manticore/Sphinx Search with MySQL" href="https://arda.beyazoglu.com/using-manticore-search-with-mysql">Using Manticore/Sphinx Search with MySQL</a></h2><div class="blog-post-card-meta mb-3 flex flex-row flex-wrap items-center font-heading text-sm font-medium text-slate-500 dark:text-slate-400"><a aria-label="Using Manticore/Sphinx Search with MySQL" class="flex flex-row items-center gap-x-4" href="https://arda.beyazoglu.com/using-manticore-search-with-mysql"><span class="blog-post-card-time">Jul 6, 2019</span><span class="flex items-center"><svg class="mr-1 h-4 w-4 fill-current" viewBox="0 0 576 512"><path d="M540.9 56.77c-45.95-16.66-90.23-24.09-129.1-24.75-60.7.94-102.7 17.45-123.8 27.72-21.1-10.27-64.1-26.8-123.2-27.74-40-.05-84.4 8.35-129.7 24.77C14.18 64.33 0 84.41 0 106.7v302.9c0 14.66 6.875 28.06 18.89 36.8 11.81 8.531 26.64 10.98 40.73 6.781 118.9-36.34 209.3 19.05 214.3 22.19C277.8 477.6 281.2 480 287.1 480c6.52 0 10.12-2.373 14.07-4.578 10.78-6.688 98.3-57.66 214.3-22.27 14.11 4.25 28.86 1.75 40.75-6.812C569.1 437.6 576 424.2 576 409.6V106.7c0-22.28-14.2-42.35-35.1-49.93zM272 438.1c-24.95-12.03-71.01-29.37-130.5-29.37-27.83 0-58.5 3.812-91.19 13.77-4.406 1.344-9 .594-12.69-2.047C34.02 417.8 32 413.1 32 409.6V106.7c0-8.859 5.562-16.83 13.86-19.83C87.66 71.7 127.9 63.95 164.5 64c51.8.81 89.7 15.26 107.5 23.66V438.1zm272-28.5c0 4.375-2.016 8.234-5.594 10.84-3.766 2.703-8.297 3.422-12.69 2.125C424.1 391.6 341.3 420.4 304 438.3V87.66c17.8-8.4 55.7-22.85 107.4-23.66 35.31-.063 76.34 7.484 118.8 22.88 8.2 3 13.8 10.96 13.8 19.82v302.9z"></path></svg><span>7<!-- --> min read</span></span></a></div><p class="blog-post-card-brief block w-full break-words text-base leading-snug text-slate-700 hn-break-words dark:text-slate-400"><a aria-label="Using Manticore/Sphinx Search with MySQL" href="https://arda.beyazoglu.com/using-manticore-search-with-mysql">I started using sphinxsearch for fulltext search a long time ago and I have been quite satisfied with it. A year ago I decided to migrate to manticore...</a></p></div><div class="blog-post-card-cover mt-6 w-full lg:mt-0 lg:w-2/5 lg:pl-8"><a class="block overflow-hidden rounded-lg border dark:border-slate-800" aria-label="Using Manticore/Sphinx Search with MySQL" href="https://arda.beyazoglu.com/using-manticore-search-with-mysql"><span style="box-sizing:border-box;display:block;overflow:hidden;width:initial;height:initial;background:none;opacity:1;border:0;margin:0;padding:0;position:relative"><span style="box-sizing:border-box;display:block;width:initial;height:initial;background:none;opacity:1;border:0;margin:0;padding:0;padding-top:52.5%"></span><img alt="Using Manticore/Sphinx Search with MySQL" src="data:image/gif;base64,R0lGODlhAQABAIAAAAAAAP///yH5BAEAAAAALAAAAAABAAEAAAIBRAA7" decoding="async" data-nimg="responsive" class="post-cover" style="position:absolute;top:0;left:0;bottom:0;right:0;box-sizing:border-box;padding:0;border:none;margin:auto;display:block;width:0;height:0;min-width:100%;max-width:100%;min-height:100%;max-height:100%;background-size:cover;background-position:0% 0%;filter:blur(20px);background-image:url(&quot;https://cdn.hashnode.com/res/hashnode/image/upload/v1698525037864/3224ad98-90f1-4869-95b5-433a5d1a0b80.png?w=400&amp;h=210&amp;fit=crop&amp;crop=entropy&amp;auto=compress,format&amp;format=webp&amp;fm=blurhash&quot;)"/><noscript><img alt="Using Manticore/Sphinx Search with MySQL" loading="lazy" decoding="async" data-nimg="responsive" style="position:absolute;top:0;left:0;bottom:0;right:0;box-sizing:border-box;padding:0;border:none;margin:auto;display:block;width:0;height:0;min-width:100%;max-width:100%;min-height:100%;max-height:100%" class="post-cover" src="https://cdn.hashnode.com/res/hashnode/image/upload/v1698525037864/3224ad98-90f1-4869-95b5-433a5d1a0b80.png?w=1600&amp;h=840&amp;fit=crop&amp;crop=entropy&amp;auto=compress,format&amp;format=webp"/></noscript></span></a></div></section></div><div class="mb-16 flex w-full flex-row items-center justify-center"><button class="rounded-full border border-transparent font-medium hover:bg-slate-200 disabled:opacity-50 hover:dark:bg-slate-700 flex flex-row items-center focus:outline-none w-full justify-center px-4 py-2 text-lg text-blue-600 dark:text-blue-500" type="button" variant="transparent"><span>Load more</span><svg class="ml-3 h-5 w-5 fill-current" viewBox="0 0 448 512"><path d="M443.5 162.6l-7.1-7.1c-4.7-4.7-12.3-4.7-17 0L224 351 28.5 155.5c-4.7-4.7-12.3-4.7-17 0l-7.1 7.1c-4.7 4.7-4.7 12.3 0 17l211 211.1c4.7 4.7 12.3 4.7 17 0l211-211.1c4.8-4.7 4.8-12.3.1-17z"></path></svg></button></div></div></div></div></div><script type="text/javascript">
	(function(w,d,s,l,i){w[l]=w[l]||[];w[l].push({'gtm.start':
	new Date().getTime(),event:'gtm.js'});var f=d.getElementsByTagName(s)[0],
	j=d.createElement(s),dl=l!='dataLayer'?'&l='+l:'';j.async=true;j.src=
	'https://www.googletagmanager.com/gtm.js?id='+i+dl;f.parentNode.insertBefore(j,f);
	})(window,document,'script','dataLayer', 'G-72Z9QJ6R41');</script></div><script type="text/javascript">
              var SUPPORTS_PASSIVE = false;
              try {
                var opts = Object.defineProperty({}, 'passive', {
                  get: function() {
                    SUPPORTS_PASSIVE = true;
                  }
                });
                window.addEventListener("testPassive", null, opts);
                window.removeEventListener("testPassive", null, opts);
              } catch (e) {}
            </script><script type="text/javascript">
              // Array.prototype.flat polyfill
              if (!Array.prototype.flat) {
                // eslint-disable-next-line no-extend-native
                Object.defineProperty(Array.prototype, 'flat', {
                  configurable: true,
                  writable: true,
                  value() {
                    // eslint-disable-next-line prefer-rest-params
                    const depth = typeof arguments[0] === 'undefined' ? 1 : Number(arguments[0]) || 0;
                    const result = [];
                    const { forEach } = result;

                    // eslint-disable-next-line no-var
                    var flatDeep = function (arr, depth) {
                      forEach.call(arr, (val) => {
                        if (depth > 0 && Array.isArray(val)) {
                          flatDeep(val, depth - 1);
                        } else {
                          result.push(val);
                        }
                      });
                    };

                    flatDeep(this, depth);
                    return result;
                  },
                });
              }
            </script><script id="__NEXT_DATA__" type="application/json">{"props":{"pageProps":{"publication":{"__typename":"Publication","id":"5d18b27b6f06bb6b36afcda9","url":"https://arda.beyazoglu.com","canonicalURL":"https://arda.beyazoglu.com","urlPattern":"SIMPLE","title":"Arda's Notebook","displayTitle":"Arda Beyazoglu's Blog","hasBadges":true,"descriptionSEO":"Software engineer with 15+ years of experience including saas, databases, system design, devops, and technical leadership.","publicMembers":{"totalDocuments":1},"about":{"html":"\u003cp\u003eA software engineer interested in web, databases and linux.\u003c/p\u003e\n","text":"A software engineer interested in web, databases and linux.\n","markdown":"A software engineer interested in web, databases and linux."},"features":{"proTeam":{"isEnabled":false},"newsletter":{"isEnabled":true},"viewCount":{"isEnabled":false},"readTime":{"isEnabled":true},"textSelectionSharer":{"isEnabled":false},"customCSS":{"isEnabled":false,"published":null,"draft":null},"gptBotCrawling":{"__typename":"GPTBotCrawlingFeature","isEnabled":false}},"metaTags":"\u003cmeta name=\"google-site-verification\" content=\"glJb0Hnwuc30jEE8AuLWWjBVEhTvetC99DGwjQ5fs6s\" /\u003e","ogMetaData":{"image":null},"author":{"__typename":"User","id":"5d17d35ca31cb51f4f2cf396","name":"Arda Beyazoğlu","username":"ardabeyazoglu","profilePicture":"https://cdn.hashnode.com/res/hashnode/image/upload/v1709295212076/p-OJ_srXG.png","followersCount":3},"preferences":{"__typename":"Preferences","logo":null,"darkMode":{"__typename":"DarkModePreferences","logo":null,"enabled":null},"navbarItems":[],"enabledPages":{"__typename":"PagesPreferences","badges":false,"newsletter":true,"members":true},"layout":"stacked","disableFooterBranding":false,"isSubscriptionModalDisabled":false},"favicon":null,"headerColor":"","integrations":{"fbPixelID":"","fathomSiteID":"","fathomCustomDomainEnabled":null,"fathomCustomDomain":"","hotjarSiteID":"","matomoSiteID":null,"matomoURL":"","gaTrackingID":null,"gTagManagerID":"G-72Z9QJ6R41","plausibleAnalyticsEnabled":null,"wmPaymentPointer":"","koalaPublicKey":null,"msClarityID":null},"imprintV2":null,"postsCount":{"totalDocuments":7},"isTeam":true,"links":{"twitter":"https://twitter.com/ardabeyazoglu","instagram":null,"github":"https://github.com/ardabeyazoglu","website":"https://arda.beyazoglu.com/","hashnode":"https://hashnode.com/@ardabeyazoglu","youtube":null,"dailydev":null,"linkedin":"https://www.linkedin.com/in/ardabeyazoglu","mastodon":null,"facebook":null,"bluesky":null},"domainInfo":{"__typename":"DomainInfo","hashnodeSubdomain":"ardabeyazoglu","domain":{"__typename":"DomainStatus","host":"arda.beyazoglu.com","ready":true},"wwwPrefixedDomain":null},"redirectionRules":[],"totalRecommendedPublications":0,"sponsorship":{"content":null,"stripe":{"connected":true,"accountId":"acct_1LIep7RLuYucyBDA","country":"SI"}},"allowContributorEdits":true,"followersCount":2,"pinnedPost":null},"initialLimit":6,"urqlState":{"4013896104":{"data":"{\"publication\":{\"__typename\":\"Publication\",\"id\":\"5d18b27b6f06bb6b36afcda9\",\"url\":\"https://arda.beyazoglu.com\",\"canonicalURL\":\"https://arda.beyazoglu.com\",\"urlPattern\":\"SIMPLE\",\"title\":\"Arda's Notebook\",\"displayTitle\":\"Arda Beyazoglu's Blog\",\"hasBadges\":true,\"descriptionSEO\":\"Software engineer with 15+ years of experience including saas, databases, system design, devops, and technical leadership.\",\"publicMembers\":{\"totalDocuments\":1,\"__typename\":\"PublicationMemberConnection\"},\"about\":{\"html\":\"\u003cp\u003eA software engineer interested in web, databases and linux.\u003c/p\u003e\\n\",\"text\":\"A software engineer interested in web, databases and linux.\\n\",\"__typename\":\"Content\",\"markdown\":\"A software engineer interested in web, databases and linux.\"},\"features\":{\"proTeam\":{\"isEnabled\":false,\"__typename\":\"ProTeamFeature\"},\"newsletter\":{\"isEnabled\":true,\"__typename\":\"NewsletterFeature\"},\"viewCount\":{\"isEnabled\":false,\"__typename\":\"ViewCountFeature\"},\"readTime\":{\"isEnabled\":true,\"__typename\":\"ReadTimeFeature\"},\"textSelectionSharer\":{\"isEnabled\":false,\"__typename\":\"TextSelectionSharerFeature\"},\"customCSS\":{\"isEnabled\":false,\"published\":null,\"draft\":null,\"__typename\":\"CustomCSSFeature\"},\"gptBotCrawling\":{\"__typename\":\"GPTBotCrawlingFeature\",\"isEnabled\":false},\"__typename\":\"PublicationFeatures\"},\"metaTags\":\"\u003cmeta name=\\\"google-site-verification\\\" content=\\\"glJb0Hnwuc30jEE8AuLWWjBVEhTvetC99DGwjQ5fs6s\\\" /\u003e\",\"ogMetaData\":{\"image\":null,\"__typename\":\"OpenGraphMetaData\"},\"author\":{\"__typename\":\"User\",\"id\":\"5d17d35ca31cb51f4f2cf396\",\"name\":\"Arda Beyazoğlu\",\"username\":\"ardabeyazoglu\",\"profilePicture\":\"https://cdn.hashnode.com/res/hashnode/image/upload/v1709295212076/p-OJ_srXG.png\",\"followersCount\":3},\"preferences\":{\"__typename\":\"Preferences\",\"logo\":null,\"darkMode\":{\"__typename\":\"DarkModePreferences\",\"logo\":null,\"enabled\":null},\"navbarItems\":[],\"enabledPages\":{\"__typename\":\"PagesPreferences\",\"badges\":false,\"newsletter\":true,\"members\":true},\"layout\":\"stacked\",\"disableFooterBranding\":false,\"isSubscriptionModalDisabled\":false},\"favicon\":null,\"headerColor\":\"\",\"integrations\":{\"fbPixelID\":\"\",\"fathomSiteID\":\"\",\"fathomCustomDomainEnabled\":null,\"fathomCustomDomain\":\"\",\"hotjarSiteID\":\"\",\"matomoSiteID\":null,\"matomoURL\":\"\",\"gaTrackingID\":null,\"gTagManagerID\":\"G-72Z9QJ6R41\",\"plausibleAnalyticsEnabled\":null,\"wmPaymentPointer\":\"\",\"koalaPublicKey\":null,\"msClarityID\":null,\"__typename\":\"PublicationIntegrations\"},\"imprintV2\":null,\"postsCount\":{\"totalDocuments\":7,\"__typename\":\"PublicationPostConnection\"},\"isTeam\":true,\"links\":{\"twitter\":\"https://twitter.com/ardabeyazoglu\",\"instagram\":null,\"github\":\"https://github.com/ardabeyazoglu\",\"website\":\"https://arda.beyazoglu.com/\",\"hashnode\":\"https://hashnode.com/@ardabeyazoglu\",\"youtube\":null,\"dailydev\":null,\"linkedin\":\"https://www.linkedin.com/in/ardabeyazoglu\",\"mastodon\":null,\"facebook\":null,\"bluesky\":null,\"__typename\":\"PublicationLinks\"},\"domainInfo\":{\"__typename\":\"DomainInfo\",\"hashnodeSubdomain\":\"ardabeyazoglu\",\"domain\":{\"__typename\":\"DomainStatus\",\"host\":\"arda.beyazoglu.com\",\"ready\":true},\"wwwPrefixedDomain\":null},\"redirectionRules\":[],\"totalRecommendedPublications\":0,\"sponsorship\":{\"content\":null,\"stripe\":{\"connected\":true,\"accountId\":\"acct_1LIep7RLuYucyBDA\",\"country\":\"SI\",\"__typename\":\"StripeConfiguration\"},\"__typename\":\"PublicationSponsorship\"},\"allowContributorEdits\":true,\"followersCount\":2,\"pinnedPost\":null}}","hasNext":false},"-2687349237":{"data":"{\"publication\":{\"id\":\"5d18b27b6f06bb6b36afcda9\",\"posts\":{\"edges\":[{\"node\":{\"__typename\":\"Post\",\"id\":\"670298b66e48ced5ae8fdef9\",\"title\":\"Supabase Part 4: Monorepo \u0026 Interoperable Backend\",\"slug\":\"supabase-monorepo-interoperable-backend\",\"publishedAt\":\"2024-10-06T14:03:34.723Z\",\"cuid\":\"cm1xnll8j000409l2ctci4hlv\",\"url\":\"https://arda.beyazoglu.com/supabase-monorepo-interoperable-backend\",\"subtitle\":null,\"brief\":\"This is the third article in a series on Supabase, focusing on solutions to common problems, tips, and recommendations.\\nIn this post, I will share tips and tricks about edge functions compatible nodejs backend and developer productivity.\\nUsing Monore...\",\"readTimeInMinutes\":5,\"views\":461,\"author\":{\"__typename\":\"User\",\"id\":\"5d17d35ca31cb51f4f2cf396\",\"username\":\"ardabeyazoglu\",\"name\":\"Arda Beyazoğlu\",\"profilePicture\":\"https://cdn.hashnode.com/res/hashnode/image/upload/v1709295212076/p-OJ_srXG.png\",\"followersCount\":3},\"coverImage\":null},\"cursor\":\"NjcwMjk4YjY2ZTQ4Y2VkNWFlOGZkZWY5XzIwMjQtMTAtMDZUMTQ6MDM6MzQuNzIzWg==\",\"__typename\":\"PostEdge\"},{\"node\":{\"__typename\":\"Post\",\"id\":\"66f929f4b9c1a45ab3054ac7\",\"title\":\"Supabase Part 3: Multi Tenancy\",\"slug\":\"supabase-multi-tenancy\",\"publishedAt\":\"2024-09-29T10:20:36.273Z\",\"cuid\":\"cm1nfjvow000k09mk5dl425xk\",\"url\":\"https://arda.beyazoglu.com/supabase-multi-tenancy\",\"subtitle\":null,\"brief\":\"This is the third article in a series on Supabase, focusing on solutions to common problems, tips, and recommendations.\\nIn this post, I will share tips and tricks about multi tenancy and multi tenant user sessions.\\nDatabase Model\\nThere are two common...\",\"readTimeInMinutes\":10,\"views\":2205,\"author\":{\"__typename\":\"User\",\"id\":\"5d17d35ca31cb51f4f2cf396\",\"username\":\"ardabeyazoglu\",\"name\":\"Arda Beyazoğlu\",\"profilePicture\":\"https://cdn.hashnode.com/res/hashnode/image/upload/v1709295212076/p-OJ_srXG.png\",\"followersCount\":3},\"coverImage\":null},\"cursor\":\"NjZmOTI5ZjRiOWMxYTQ1YWIzMDU0YWM3XzIwMjQtMDktMjlUMTA6MjA6MzYuMjczWg==\",\"__typename\":\"PostEdge\"},{\"node\":{\"__typename\":\"Post\",\"id\":\"66eff22ab6b7611fc4066ddd\",\"title\":\"Supabase Part 2: Access Control with RLS\",\"slug\":\"part-2-access-control-with-rls-policies\",\"publishedAt\":\"2024-09-22T10:32:10.204Z\",\"cuid\":\"cm1dfvsgs003m09lgb8z21p06\",\"url\":\"https://arda.beyazoglu.com/part-2-access-control-with-rls-policies\",\"subtitle\":null,\"brief\":\"This is the second article in a series on Supabase, focusing on solutions to common problems, tips, and recommendations.\\nIn this post, I will share tips and tricks about role based access control, using row level security.\\nPerformance\\nUsing multiple ...\",\"readTimeInMinutes\":7,\"views\":661,\"author\":{\"__typename\":\"User\",\"id\":\"5d17d35ca31cb51f4f2cf396\",\"username\":\"ardabeyazoglu\",\"name\":\"Arda Beyazoğlu\",\"profilePicture\":\"https://cdn.hashnode.com/res/hashnode/image/upload/v1709295212076/p-OJ_srXG.png\",\"followersCount\":3},\"coverImage\":null},\"cursor\":\"NjZlZmYyMmFiNmI3NjExZmM0MDY2ZGRkXzIwMjQtMDktMjJUMTA6MzI6MTAuMjA0Wg==\",\"__typename\":\"PostEdge\"},{\"node\":{\"__typename\":\"Post\",\"id\":\"66e5de5859f15c8fd86c5c0f\",\"title\":\"Supabase Part 1: Securing Direct Database Queries\",\"slug\":\"supabase-backend-custom-query-security-with-rls\",\"publishedAt\":\"2024-09-14T19:04:56.144Z\",\"cuid\":\"cm12ioea800040ajyg2k19ono\",\"url\":\"https://arda.beyazoglu.com/supabase-backend-custom-query-security-with-rls\",\"subtitle\":null,\"brief\":\"This is the first article in a series on Supabase, focusing on solutions to common problems, tips, and recommendations.\\nWhen working with serverless platforms, it's common to use a custom backend alongside edge functions. Supabase is no exception. Un...\",\"readTimeInMinutes\":4,\"views\":794,\"author\":{\"__typename\":\"User\",\"id\":\"5d17d35ca31cb51f4f2cf396\",\"username\":\"ardabeyazoglu\",\"name\":\"Arda Beyazoğlu\",\"profilePicture\":\"https://cdn.hashnode.com/res/hashnode/image/upload/v1709295212076/p-OJ_srXG.png\",\"followersCount\":3},\"coverImage\":null},\"cursor\":\"NjZlNWRlNTg1OWYxNWM4ZmQ4NmM1YzBmXzIwMjQtMDktMTRUMTk6MDQ6NTYuMTQ0Wg==\",\"__typename\":\"PostEdge\"},{\"node\":{\"__typename\":\"Post\",\"id\":\"653ea8d409dd9b17c533a3e9\",\"title\":\"Extending Mysql with Curl Support\",\"slug\":\"extending-mysql-with-curl-support\",\"publishedAt\":\"2023-10-29T18:47:48.507Z\",\"cuid\":\"clobtpxcr000409mk8p3gg0xo\",\"url\":\"https://arda.beyazoglu.com/extending-mysql-with-curl-support\",\"subtitle\":\"send http requests using SQL\",\"brief\":\"In this post, I'm going to talk about an experimental MySQL component I developed using the MySQL 8 component subsystem.\\nI was recently inspired by this great article series from lefred, which explains how to extend MySQL using component infrastructu...\",\"readTimeInMinutes\":5,\"views\":201,\"author\":{\"__typename\":\"User\",\"id\":\"5d17d35ca31cb51f4f2cf396\",\"username\":\"ardabeyazoglu\",\"name\":\"Arda Beyazoğlu\",\"profilePicture\":\"https://cdn.hashnode.com/res/hashnode/image/upload/v1709295212076/p-OJ_srXG.png\",\"followersCount\":3},\"coverImage\":{\"__typename\":\"PostCoverImage\",\"url\":\"https://cdn.hashnode.com/res/hashnode/image/upload/v1698526388630/c829c1d5-76df-48f1-b39c-e7c65feb94cd.png\",\"isPortrait\":false,\"isAttributionHidden\":false}},\"cursor\":\"NjUzZWE4ZDQwOWRkOWIxN2M1MzNhM2U5XzIwMjMtMTAtMjlUMTg6NDc6NDguNTA3Wg==\",\"__typename\":\"PostEdge\"},{\"node\":{\"__typename\":\"Post\",\"id\":\"5d211319fd679c043d481981\",\"title\":\"Using Manticore/Sphinx Search with MySQL\",\"slug\":\"using-manticore-search-with-mysql\",\"publishedAt\":\"2019-07-06T21:31:05.898Z\",\"cuid\":\"cjxs1lei300221ws1t83ubagj\",\"url\":\"https://arda.beyazoglu.com/using-manticore-search-with-mysql\",\"subtitle\":null,\"brief\":\"I started using sphinxsearch for fulltext search a long time ago and I have been quite satisfied with it. A year ago I decided to migrate to manticore which is an up-to-date, fully open-source fork of Sphinx maintained by original Sphinx developers. ...\",\"readTimeInMinutes\":7,\"views\":1862,\"author\":{\"__typename\":\"User\",\"id\":\"5d17d35ca31cb51f4f2cf396\",\"username\":\"ardabeyazoglu\",\"name\":\"Arda Beyazoğlu\",\"profilePicture\":\"https://cdn.hashnode.com/res/hashnode/image/upload/v1709295212076/p-OJ_srXG.png\",\"followersCount\":3},\"coverImage\":{\"__typename\":\"PostCoverImage\",\"url\":\"https://cdn.hashnode.com/res/hashnode/image/upload/v1698525037864/3224ad98-90f1-4869-95b5-433a5d1a0b80.png\",\"isPortrait\":false,\"isAttributionHidden\":false}},\"cursor\":\"NWQyMTEzMTlmZDY3OWMwNDNkNDgxOTgxXzIwMTktMDctMDZUMjE6MzE6MDUuODk4Wg==\",\"__typename\":\"PostEdge\"}],\"pageInfo\":{\"hasNextPage\":true,\"endCursor\":\"NWQyMTEzMTlmZDY3OWMwNDNkNDgxOTgxXzIwMTktMDctMDZUMjE6MzE6MDUuODk4Wg==\",\"__typename\":\"PageInfo\"},\"__typename\":\"PublicationPostConnection\"},\"__typename\":\"Publication\"}}","hasNext":false}},"host":"arda.beyazoglu.com","integrations":{"fbPixelID":null,"fathomSiteID":null,"fathomCustomDomainEnabled":null,"fathomCustomDomain":null,"hotjarSiteID":null,"matomoSiteID":null,"matomoURL":null,"gaTrackingID":null,"gTagManagerID":"G-72Z9QJ6R41","plausibleAnalyticsEnabled":null,"koalaPublicKey":null,"msClarityID":null,"domainURL":"arda.beyazoglu.com"},"rootLayout":{"legacyPublicationJSON":"{\"_id\":\"5d18b27b6f06bb6b36afcda9\",\"author\":{\"_id\":\"5d17d35ca31cb51f4f2cf396\",\"name\":\"Arda Beyazoğlu\",\"photo\":\"https://cdn.hashnode.com/res/hashnode/image/upload/v1709295212076/p-OJ_srXG.png\",\"username\":\"ardabeyazoglu\"},\"badgePageEnabled\":true,\"description\":\"Software engineer with 15+ years of experience including saas, databases, system design, devops, and technical leadership.\",\"domain\":\"arda.beyazoglu.com\",\"domainStatus\":{\"ready\":true,\"certIssued\":true},\"wwwPrefixedDomainStatus\":{},\"customCSSEnabled\":false,\"customCSSPublished\":{\"homeMin\":\"\",\"postMin\":\"\",\"staticMin\":\"\"},\"customRules\":[],\"darkModeLogo\":\"\",\"disableFooterBranding\":false,\"isSubscriptionModalDisabled\":false,\"publicMembersCount\":1,\"displayTitle\":\"Arda Beyazoglu's Blog\",\"fathomCustomDomain\":\"\",\"fathomSiteID\":\"\",\"favicon\":\"\",\"fbPixelID\":\"\",\"gaTrackingID\":\"\",\"gTagManagerID\":\"G-72Z9QJ6R41\",\"hasBadges\":true,\"headerColor\":\"\",\"hideMembersPage\":false,\"hotjarSiteID\":\"\",\"isTeam\":true,\"layout\":\"stacked\",\"matomoURL\":\"\",\"membersPageEnabled\":true,\"menu\":[],\"metaHTML\":\"\u003cp\u003eA software engineer interested in web, databases and linux.\u003c/p\u003e\\n\",\"metaHTMLSanitized\":\"A software engineer interested in web, databases and linux.\\n\",\"newsletterEnabled\":true,\"proTeamEnabled\":false,\"newsletterPageEnabled\":false,\"ogImage\":\"\",\"logo\":\"\",\"textSelectionSharerEnabled\":false,\"title\":\"Arda's Notebook\",\"urlPattern\":\"simple\",\"username\":\"ardabeyazoglu\",\"viewCountVisible\":false,\"wmPaymentPointer\":\"\",\"readTimeHidden\":false,\"links\":{\"twitter\":\"https://twitter.com/ardabeyazoglu\",\"instagram\":\"\",\"github\":\"https://github.com/ardabeyazoglu\",\"website\":\"https://arda.beyazoglu.com/\",\"hashnode\":\"https://hashnode.com/@ardabeyazoglu\",\"youtube\":\"\",\"dailydev\":\"\",\"linkedin\":\"https://www.linkedin.com/in/ardabeyazoglu\",\"mastodon\":\"\",\"facebook\":\"\"},\"numPosts\":7,\"sponsorship\":{\"content\":\"\",\"contentMarkdown\":\"\"},\"stripe\":{\"connected\":true,\"accountId\":\"acct_1LIep7RLuYucyBDA\",\"country\":\"SI\"},\"allowContributorEdits\":true,\"allowCrawlingByGPT\":false}","legacyPostJSON":null,"legacySeriesJSON":null,"headProps":{"title":"Arda Beyazoglu's Blog","description":"Software engineer with 15+ years of experience including saas, databases, system design, devops, and technical leadership.","links":[{"rel":"canonical","href":"https://arda.beyazoglu.com"}],"pageType":"website","bannerType":"large","ogTitle":"Arda Beyazoglu's Blog","ogSiteName":"Arda's Notebook","url":"https://arda.beyazoglu.com","ogImage":"https://arda.beyazoglu.com/api/og/home?og=eyJ0aXRsZSI6IkFyZGEncyUyME5vdGVib29rIiwiZG9tYWluIjoiYXJkYS5iZXlhem9nbHUuY29tIiwiZm9sbG93ZXJzIjoyLCJpc1RlYW0iOnRydWUsIm1ldGEiOiJTb2Z0d2FyZSUyMGVuZ2luZWVyJTIwd2l0aCUyMDE1JTJCJTIweWVhcnMlMjBvZiUyMGV4cGVyaWVuY2UlMjBpbmNsdWRpbmclMjBzYWFzJTJDJTIwZGF0YWJhc2VzJTJDJTIwc3lzdGVtJTIwZGVzaWduJTJDJTIwZGV2b3BzJTJDJTIwYW5kJTIwdGVjaG5pY2FsJTIwbGVhZGVyc2hpcC4iLCJhcnRpY2xlcyI6eyJ0b3RhbERvY3VtZW50cyI6N319","twitterImage":"https://arda.beyazoglu.com/api/og/home?og=eyJ0aXRsZSI6IkFyZGEncyUyME5vdGVib29rIiwiZG9tYWluIjoiYXJkYS5iZXlhem9nbHUuY29tIiwiZm9sbG93ZXJzIjoyLCJpc1RlYW0iOnRydWUsIm1ldGEiOiJTb2Z0d2FyZSUyMGVuZ2luZWVyJTIwd2l0aCUyMDE1JTJCJTIweWVhcnMlMjBvZiUyMGV4cGVyaWVuY2UlMjBpbmNsdWRpbmclMjBzYWFzJTJDJTIwZGF0YWJhc2VzJTJDJTIwc3lzdGVtJTIwZGVzaWduJTJDJTIwZGV2b3BzJTJDJTIwYW5kJTIwdGVjaG5pY2FsJTIwbGVhZGVyc2hpcC4iLCJhcnRpY2xlcyI6eyJ0b3RhbERvY3VtZW50cyI6N319","monetization":null,"style":{},"customHeadItems":{"customFavicon":null,"customTheme":null,"customMeta":"\u003cmeta name=\"google-site-verification\" content=\"glJb0Hnwuc30jEE8AuLWWjBVEhTvetC99DGwjQ5fs6s\" /\u003e"}},"isDarkTheme":false,"headerColor":null,"isBadge":null,"isRecommendations":null,"isHome":true,"currentMenuId":null,"hnmcMode":false,"postCUID":null,"seoSchema":{"@context":"https://schema.org","@type":"Website","name":"Arda's Notebook","url":"https://arda.beyazoglu.com","description":"Software engineer with 15+ years of experience including saas, databases, system design, devops, and technical leadership.","mainEntityOfPage":{"@type":"WebPage","url":"https://arda.beyazoglu.com"},"image":{"@type":"ImageObject","url":"https://arda.beyazoglu.com/api/og/home?og=eyJ0aXRsZSI6IkFyZGEncyUyME5vdGVib29rIiwiZG9tYWluIjoiYXJkYS5iZXlhem9nbHUuY29tIiwiZm9sbG93ZXJzIjoyLCJpc1RlYW0iOnRydWUsIm1ldGEiOiJTb2Z0d2FyZSUyMGVuZ2luZWVyJTIwd2l0aCUyMDE1JTJCJTIweWVhcnMlMjBvZiUyMGV4cGVyaWVuY2UlMjBpbmNsdWRpbmclMjBzYWFzJTJDJTIwZGF0YWJhc2VzJTJDJTIwc3lzdGVtJTIwZGVzaWduJTJDJTIwZGV2b3BzJTJDJTIwYW5kJTIwdGVjaG5pY2FsJTIwbGVhZGVyc2hpcC4iLCJhcnRpY2xlcyI6eyJ0b3RhbERvY3VtZW50cyI6N319"},"publisher":{"@type":"Organization","name":"Arda's Notebook","url":"https://arda.beyazoglu.com"},"sameAs":"https://twitter.com/ardabeyazoglu"},"publication":{"__typename":"Publication","id":"5d18b27b6f06bb6b36afcda9","url":"https://arda.beyazoglu.com","canonicalURL":"https://arda.beyazoglu.com","urlPattern":"SIMPLE","title":"Arda's Notebook","displayTitle":"Arda Beyazoglu's Blog","hasBadges":true,"descriptionSEO":"Software engineer with 15+ years of experience including saas, databases, system design, devops, and technical leadership.","publicMembers":{"totalDocuments":1},"about":{"html":"\u003cp\u003eA software engineer interested in web, databases and linux.\u003c/p\u003e\n","text":"A software engineer interested in web, databases and linux.\n","markdown":"A software engineer interested in web, databases and linux."},"features":{"proTeam":{"isEnabled":false},"newsletter":{"isEnabled":true},"viewCount":{"isEnabled":false},"readTime":{"isEnabled":true},"textSelectionSharer":{"isEnabled":false},"customCSS":{"isEnabled":false,"published":null,"draft":null},"gptBotCrawling":{"__typename":"GPTBotCrawlingFeature","isEnabled":false}},"metaTags":"\u003cmeta name=\"google-site-verification\" content=\"glJb0Hnwuc30jEE8AuLWWjBVEhTvetC99DGwjQ5fs6s\" /\u003e","ogMetaData":{"image":null},"author":{"__typename":"User","id":"5d17d35ca31cb51f4f2cf396","name":"Arda Beyazoğlu","username":"ardabeyazoglu","profilePicture":"https://cdn.hashnode.com/res/hashnode/image/upload/v1709295212076/p-OJ_srXG.png","followersCount":3},"preferences":{"__typename":"Preferences","logo":null,"darkMode":{"__typename":"DarkModePreferences","logo":null,"enabled":null},"navbarItems":[],"enabledPages":{"__typename":"PagesPreferences","badges":false,"newsletter":true,"members":true},"layout":"stacked","disableFooterBranding":false,"isSubscriptionModalDisabled":false},"favicon":null,"headerColor":"","integrations":{"fbPixelID":null,"fathomSiteID":null,"fathomCustomDomainEnabled":null,"fathomCustomDomain":null,"hotjarSiteID":null,"matomoSiteID":null,"matomoURL":null,"gaTrackingID":null,"gTagManagerID":"G-72Z9QJ6R41","plausibleAnalyticsEnabled":null,"koalaPublicKey":null,"msClarityID":null},"imprintV2":null,"postsCount":{"totalDocuments":7},"isTeam":true,"links":{"twitter":"https://twitter.com/ardabeyazoglu","instagram":null,"github":"https://github.com/ardabeyazoglu","website":"https://arda.beyazoglu.com/","hashnode":"https://hashnode.com/@ardabeyazoglu","youtube":null,"dailydev":null,"linkedin":"https://www.linkedin.com/in/ardabeyazoglu","mastodon":null,"facebook":null,"bluesky":null},"domainInfo":{"__typename":"DomainInfo","hashnodeSubdomain":"ardabeyazoglu","domain":{"__typename":"DomainStatus","host":"arda.beyazoglu.com","ready":true},"wwwPrefixedDomain":null},"redirectionRules":[],"totalRecommendedPublications":0,"sponsorship":{"content":null,"stripe":{"connected":true,"accountId":"acct_1LIep7RLuYucyBDA","country":"SI"}},"allowContributorEdits":true,"followersCount":2,"pinnedPost":null},"series":null}},"__N_SSP":true},"page":"/","query":{"x-host":"arda.beyazoglu.com"},"buildId":"mrbF4zruv5Es9KxmVbHDR","isFallback":false,"gssp":true,"scriptLoader":[]}</script><div id="hn-modal"></div><div id="hn-toast"></div></body></html>