<?xml version="1.0" encoding="UTF-8"?><rss xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:atom="http://www.w3.org/2005/Atom" version="2.0" xmlns:cc="http://cyber.law.harvard.edu/rss/creativeCommonsRssModule.html">
    <channel>
        <title><![CDATA[Stories by Feildrix on Medium]]></title>
        <description><![CDATA[Stories by Feildrix on Medium]]></description>
        <link>https://medium.com/@feildrixliemdra?source=rss-abe56663c5bc------2</link>
        <image>
            <url>https://cdn-images-1.medium.com/fit/c/150/150/1*t1MmrPIfbw9FSpRyiaEtQQ.jpeg</url>
            <title>Stories by Feildrix on Medium</title>
            <link>https://medium.com/@feildrixliemdra?source=rss-abe56663c5bc------2</link>
        </image>
        <generator>Medium</generator>
        <lastBuildDate>Wed, 04 Nov 2026 15:00:50 GMT</lastBuildDate>
        <atom:link href="https://medium.com/@feildrixliemdra/feed" rel="self" type="application/rss+xml"/>
        <webMaster><![CDATA[yourfriends@medium.com]]></webMaster>
        <atom:link href="http://medium.superfeedr.com" rel="hub"/>
        <item>
            <title><![CDATA[Go sync.Mutex and sync.RWMutex: Lock It Right the First Time]]></title>
            <description><![CDATA[<div class="medium-feed-item"><p class="medium-feed-image"><a href="https://medium.com/@feildrixliemdra/go-sync-mutex-and-sync-rwmutex-lock-it-right-the-first-time-686745396b26?source=rss-abe56663c5bc------2"><img src="https://cdn-images-1.medium.com/max/1672/1*KhRBZoeBDYvxkNZs2mc5lg.png" width="1672"></a></p><p class="medium-feed-snippet">Stop treating mutexes as an afterthought &#x2014; your production service&#x2019;s correctness depends on them</p><p class="medium-feed-link"><a href="https://medium.com/@feildrixliemdra/go-sync-mutex-and-sync-rwmutex-lock-it-right-the-first-time-686745396b26?source=rss-abe56663c5bc------2">Continue reading on Medium »</a></p></div>]]></description>
            <link>https://medium.com/@feildrixliemdra/go-sync-mutex-and-sync-rwmutex-lock-it-right-the-first-time-686745396b26?source=rss-abe56663c5bc------2</link>
            <guid isPermaLink="false">https://medium.com/p/686745396b26</guid>
            <category><![CDATA[backend]]></category>
            <category><![CDATA[golang]]></category>
            <category><![CDATA[programming]]></category>
            <category><![CDATA[software-development]]></category>
            <category><![CDATA[software-engineering]]></category>
            <dc:creator><![CDATA[Feildrix]]></dc:creator>
            <pubDate>Tue, 30 Jun 2026 00:01:02 GMT</pubDate>
            <atom:updated>2026-06-30T00:01:02.452Z</atom:updated>
        </item>
        <item>
            <title><![CDATA[Monolith vs Microservices in Go: The Decision Framework, Not the Hype Cycle]]></title>
            <description><![CDATA[<div class="medium-feed-item"><p class="medium-feed-image"><a href="https://medium.com/@feildrixliemdra/monolith-vs-microservices-in-go-the-decision-framework-not-the-hype-cycle-604dfd79c34b?source=rss-abe56663c5bc------2"><img src="https://cdn-images-1.medium.com/max/1672/1*jvJrkLm0pYwSntCcrnsVWg.png" width="1672"></a></p><p class="medium-feed-snippet">Why Go&#x2019;s tooling makes the modular monolith the safer default &#x2014; and exactly when it&#x2019;s worth paying for the split</p><p class="medium-feed-link"><a href="https://medium.com/@feildrixliemdra/monolith-vs-microservices-in-go-the-decision-framework-not-the-hype-cycle-604dfd79c34b?source=rss-abe56663c5bc------2">Continue reading on Medium »</a></p></div>]]></description>
            <link>https://medium.com/@feildrixliemdra/monolith-vs-microservices-in-go-the-decision-framework-not-the-hype-cycle-604dfd79c34b?source=rss-abe56663c5bc------2</link>
            <guid isPermaLink="false">https://medium.com/p/604dfd79c34b</guid>
            <category><![CDATA[golang]]></category>
            <category><![CDATA[backend]]></category>
            <category><![CDATA[software-development]]></category>
            <category><![CDATA[backend-development]]></category>
            <category><![CDATA[software-engineering]]></category>
            <dc:creator><![CDATA[Feildrix]]></dc:creator>
            <pubDate>Mon, 29 Jun 2026 05:29:45 GMT</pubDate>
            <atom:updated>2026-06-29T05:29:45.212Z</atom:updated>
        </item>
        <item>
            <title><![CDATA[Go Arrays vs Slices: A Deep Comparison That Will Change How You Write Go]]></title>
            <description><![CDATA[<div class="medium-feed-item"><p class="medium-feed-image"><a href="https://medium.com/@feildrixliemdra/go-arrays-vs-slices-a-deep-comparison-that-will-change-how-you-write-go-954a4b4f93b5?source=rss-abe56663c5bc------2"><img src="https://cdn-images-1.medium.com/max/1672/1*cp_V6npS2pMk2MMoCwf3iQ.png" width="1672"></a></p><p class="medium-feed-snippet">The most misunderstood duality in Go &#x2014; and the subtle bugs it quietly ships to production</p><p class="medium-feed-link"><a href="https://medium.com/@feildrixliemdra/go-arrays-vs-slices-a-deep-comparison-that-will-change-how-you-write-go-954a4b4f93b5?source=rss-abe56663c5bc------2">Continue reading on Medium »</a></p></div>]]></description>
            <link>https://medium.com/@feildrixliemdra/go-arrays-vs-slices-a-deep-comparison-that-will-change-how-you-write-go-954a4b4f93b5?source=rss-abe56663c5bc------2</link>
            <guid isPermaLink="false">https://medium.com/p/954a4b4f93b5</guid>
            <category><![CDATA[backend-development]]></category>
            <category><![CDATA[golang]]></category>
            <category><![CDATA[programming]]></category>
            <category><![CDATA[software-development]]></category>
            <category><![CDATA[software-engineering]]></category>
            <dc:creator><![CDATA[Feildrix]]></dc:creator>
            <pubDate>Thu, 11 Jun 2026 04:51:24 GMT</pubDate>
            <atom:updated>2026-06-11T04:51:24.647Z</atom:updated>
        </item>
        <item>
            <title><![CDATA[Concurrency vs Parallelism in Go: They’re Not the Same Thing]]></title>
            <description><![CDATA[<div class="medium-feed-item"><p class="medium-feed-image"><a href="https://medium.com/@feildrixliemdra/concurrency-vs-parallelism-in-go-theyre-not-the-same-thing-937d981333cf?source=rss-abe56663c5bc------2"><img src="https://cdn-images-1.medium.com/max/1672/1*GQkDrUCNgvPto5CPJPGt0g.png" width="1672"></a></p><p class="medium-feed-snippet">Stop Using These Words Interchangeably &#x2014; Your Production Code Depends on It</p><p class="medium-feed-link"><a href="https://medium.com/@feildrixliemdra/concurrency-vs-parallelism-in-go-theyre-not-the-same-thing-937d981333cf?source=rss-abe56663c5bc------2">Continue reading on Medium »</a></p></div>]]></description>
            <link>https://medium.com/@feildrixliemdra/concurrency-vs-parallelism-in-go-theyre-not-the-same-thing-937d981333cf?source=rss-abe56663c5bc------2</link>
            <guid isPermaLink="false">https://medium.com/p/937d981333cf</guid>
            <category><![CDATA[golang]]></category>
            <category><![CDATA[backend-development]]></category>
            <category><![CDATA[software-development]]></category>
            <category><![CDATA[software-engineering]]></category>
            <category><![CDATA[programming]]></category>
            <dc:creator><![CDATA[Feildrix]]></dc:creator>
            <pubDate>Tue, 09 Jun 2026 03:36:20 GMT</pubDate>
            <atom:updated>2026-06-09T03:36:20.130Z</atom:updated>
        </item>
        <item>
            <title><![CDATA[Go Database Transactions Done Right]]></title>
            <description><![CDATA[<div class="medium-feed-item"><p class="medium-feed-image"><a href="https://medium.com/@feildrixliemdra/go-database-transactions-done-right-bef77e85c12b?source=rss-abe56663c5bc------2"><img src="https://cdn-images-1.medium.com/max/1672/1*il7taoyLsQY3HrYvxeWLTA.png" width="1672"></a></p><p class="medium-feed-snippet">The defer trick, the DBTX interface, and how to keep transactions clean across your repository.</p><p class="medium-feed-link"><a href="https://medium.com/@feildrixliemdra/go-database-transactions-done-right-bef77e85c12b?source=rss-abe56663c5bc------2">Continue reading on Medium »</a></p></div>]]></description>
            <link>https://medium.com/@feildrixliemdra/go-database-transactions-done-right-bef77e85c12b?source=rss-abe56663c5bc------2</link>
            <guid isPermaLink="false">https://medium.com/p/bef77e85c12b</guid>
            <category><![CDATA[backend-development]]></category>
            <category><![CDATA[database]]></category>
            <category><![CDATA[software-engineering]]></category>
            <category><![CDATA[golang]]></category>
            <category><![CDATA[programming]]></category>
            <dc:creator><![CDATA[Feildrix]]></dc:creator>
            <pubDate>Mon, 08 Jun 2026 00:01:02 GMT</pubDate>
            <atom:updated>2026-06-08T00:01:02.325Z</atom:updated>
        </item>
        <item>
            <title><![CDATA[Idempotency in Go: Stop Charging Your Users Twice]]></title>
            <description><![CDATA[<div class="medium-feed-item"><p class="medium-feed-image"><a href="https://medium.com/@feildrixliemdra/idempotency-in-go-stop-charging-your-users-twice-c4b09ee2675d?source=rss-abe56663c5bc------2"><img src="https://cdn-images-1.medium.com/max/1024/1*ygqPspQd_eZnA0j-mcyUpg.png" width="1024"></a></p><p class="medium-feed-snippet">A practical guide to building retry-safe APIs with idempotency keys, atomic stores, and Go middleware &#x2014; before the 2 AM incident happens</p><p class="medium-feed-link"><a href="https://medium.com/@feildrixliemdra/idempotency-in-go-stop-charging-your-users-twice-c4b09ee2675d?source=rss-abe56663c5bc------2">Continue reading on Medium »</a></p></div>]]></description>
            <link>https://medium.com/@feildrixliemdra/idempotency-in-go-stop-charging-your-users-twice-c4b09ee2675d?source=rss-abe56663c5bc------2</link>
            <guid isPermaLink="false">https://medium.com/p/c4b09ee2675d</guid>
            <category><![CDATA[golang-tutorial]]></category>
            <category><![CDATA[software-development]]></category>
            <category><![CDATA[backend-development]]></category>
            <category><![CDATA[golang]]></category>
            <category><![CDATA[programming]]></category>
            <dc:creator><![CDATA[Feildrix]]></dc:creator>
            <pubDate>Mon, 01 Jun 2026 00:01:00 GMT</pubDate>
            <atom:updated>2026-06-01T00:01:00.822Z</atom:updated>
        </item>
        <item>
            <title><![CDATA[CORS in Go: From “Blocked by Policy” to a Secure Implementation]]></title>
            <description><![CDATA[<div class="medium-feed-item"><p class="medium-feed-image"><a href="https://medium.com/@feildrixliemdra/cors-in-go-from-blocked-by-policy-to-a-secure-implementation-fea99bd9deaa?source=rss-abe56663c5bc------2"><img src="https://cdn-images-1.medium.com/max/1024/1*xhsv_FUnv03K6aSuPFTELQ.png" width="1024"></a></p><p class="medium-feed-snippet">CORS is not a server feature &#x2014; it&#x2019;s a browser security mechanism.</p><p class="medium-feed-link"><a href="https://medium.com/@feildrixliemdra/cors-in-go-from-blocked-by-policy-to-a-secure-implementation-fea99bd9deaa?source=rss-abe56663c5bc------2">Continue reading on Medium »</a></p></div>]]></description>
            <link>https://medium.com/@feildrixliemdra/cors-in-go-from-blocked-by-policy-to-a-secure-implementation-fea99bd9deaa?source=rss-abe56663c5bc------2</link>
            <guid isPermaLink="false">https://medium.com/p/fea99bd9deaa</guid>
            <category><![CDATA[software-development]]></category>
            <category><![CDATA[cors]]></category>
            <category><![CDATA[backend-development]]></category>
            <category><![CDATA[programming]]></category>
            <category><![CDATA[golang]]></category>
            <dc:creator><![CDATA[Feildrix]]></dc:creator>
            <pubDate>Fri, 29 May 2026 05:01:34 GMT</pubDate>
            <atom:updated>2026-05-29T05:01:34.045Z</atom:updated>
        </item>
        <item>
            <title><![CDATA[RBAC in Go — From a Hand-Rolled Approach to Casbin]]></title>
            <description><![CDATA[<div class="medium-feed-item"><p class="medium-feed-image"><a href="https://medium.com/@feildrixliemdra/rbac-in-go-from-a-hand-rolled-approach-to-casbin-c8f8b1cc4700?source=rss-abe56663c5bc------2"><img src="https://cdn-images-1.medium.com/max/1024/1*XVH-NvRq67bd6lFjoc2Uqw.png" width="1024"></a></p><p class="medium-feed-snippet">From simple role checks to policy-driven authorization &#x2014; and knowing when each one is enough.</p><p class="medium-feed-link"><a href="https://medium.com/@feildrixliemdra/rbac-in-go-from-a-hand-rolled-approach-to-casbin-c8f8b1cc4700?source=rss-abe56663c5bc------2">Continue reading on Medium »</a></p></div>]]></description>
            <link>https://medium.com/@feildrixliemdra/rbac-in-go-from-a-hand-rolled-approach-to-casbin-c8f8b1cc4700?source=rss-abe56663c5bc------2</link>
            <guid isPermaLink="false">https://medium.com/p/c8f8b1cc4700</guid>
            <category><![CDATA[programming]]></category>
            <category><![CDATA[software-engineering]]></category>
            <category><![CDATA[backend-development]]></category>
            <category><![CDATA[golang]]></category>
            <category><![CDATA[software-development]]></category>
            <dc:creator><![CDATA[Feildrix]]></dc:creator>
            <pubDate>Tue, 26 May 2026 04:21:52 GMT</pubDate>
            <atom:updated>2026-05-26T04:21:52.062Z</atom:updated>
        </item>
        <item>
            <title><![CDATA[Auth Middleware in Go — Protecting Routes across net/http, Chi, Gin, and Echo]]></title>
            <description><![CDATA[<div class="medium-feed-item"><p class="medium-feed-image"><a href="https://medium.com/@feildrixliemdra/auth-middleware-in-go-protecting-routes-across-net-http-chi-gin-and-echo-d72ef39bc2e8?source=rss-abe56663c5bc------2"><img src="https://cdn-images-1.medium.com/max/1024/1*qxicop6bsGR4XWpFSf8MLA.png" width="1024"></a></p><p class="medium-feed-snippet">Go Auth Middleware &#x2014; One Function to Protect Them All, across net/http, Chi, Gin, and Echo</p><p class="medium-feed-link"><a href="https://medium.com/@feildrixliemdra/auth-middleware-in-go-protecting-routes-across-net-http-chi-gin-and-echo-d72ef39bc2e8?source=rss-abe56663c5bc------2">Continue reading on Medium »</a></p></div>]]></description>
            <link>https://medium.com/@feildrixliemdra/auth-middleware-in-go-protecting-routes-across-net-http-chi-gin-and-echo-d72ef39bc2e8?source=rss-abe56663c5bc------2</link>
            <guid isPermaLink="false">https://medium.com/p/d72ef39bc2e8</guid>
            <category><![CDATA[backend-development]]></category>
            <category><![CDATA[programming]]></category>
            <category><![CDATA[software-development]]></category>
            <category><![CDATA[golang]]></category>
            <category><![CDATA[software-engineering]]></category>
            <dc:creator><![CDATA[Feildrix]]></dc:creator>
            <pubDate>Thu, 21 May 2026 00:01:01 GMT</pubDate>
            <atom:updated>2026-05-21T00:01:01.828Z</atom:updated>
        </item>
        <item>
            <title><![CDATA[JWT in Go from Scratch — Access Tokens, Refresh Tokens, and Getting Validation Right]]></title>
            <description><![CDATA[<div class="medium-feed-item"><p class="medium-feed-image"><a href="https://medium.com/@feildrixliemdra/jwt-in-go-from-scratch-access-tokens-refresh-tokens-and-getting-validation-right-89c549ef099e?source=rss-abe56663c5bc------2"><img src="https://cdn-images-1.medium.com/max/1024/1*X-Ey697kWTbOcoV1aVgY6g.png" width="1024"></a></p><p class="medium-feed-snippet">Understand JWT structure, build a secure access &amp; refresh token system, and avoid the most dangerous implementation pitfalls.</p><p class="medium-feed-link"><a href="https://medium.com/@feildrixliemdra/jwt-in-go-from-scratch-access-tokens-refresh-tokens-and-getting-validation-right-89c549ef099e?source=rss-abe56663c5bc------2">Continue reading on Medium »</a></p></div>]]></description>
            <link>https://medium.com/@feildrixliemdra/jwt-in-go-from-scratch-access-tokens-refresh-tokens-and-getting-validation-right-89c549ef099e?source=rss-abe56663c5bc------2</link>
            <guid isPermaLink="false">https://medium.com/p/89c549ef099e</guid>
            <category><![CDATA[programming]]></category>
            <category><![CDATA[backend-development]]></category>
            <category><![CDATA[golang]]></category>
            <category><![CDATA[software-development]]></category>
            <category><![CDATA[backend]]></category>
            <dc:creator><![CDATA[Feildrix]]></dc:creator>
            <pubDate>Wed, 20 May 2026 00:01:01 GMT</pubDate>
            <atom:updated>2026-05-20T00:01:01.362Z</atom:updated>
        </item>
    </channel>
</rss>