<?xml version="1.0" encoding="utf-8" standalone="yes"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom">
	<channel>
		<title>Laravel on Blogfolio Najib</title>
		<link>https://najib.id/tags/laravel/</link>
		<description>Recent content in Laravel on Blogfolio Najib</description>
		<generator>Hugo</generator>
		<language>id-ID</language>
		
		
		
			<copyright>This work is licensed under a Creative Commons Attribution-NonCommercial 4.0 International License.</copyright>
		
		
			<lastBuildDate>Thu, 04 Jun 2026 13:12:35 +0700</lastBuildDate>
		
			<atom:link href="https://najib.id/tags/laravel/index.xml" rel="self" type="application/rss+xml" />
			<item>
				<title>Best Practice Membangun API di Laravel dan Go: Catatan dari Proyek Nyata</title>
				<link>https://najib.id/writing/2026/laravel-go-api-best-practice/</link>
				<pubDate>Thu, 07 May 2026 10:28:00 +0700</pubDate>
				<guid>https://najib.id/writing/2026/laravel-go-api-best-practice/</guid>
				<description>&lt;p&gt;Di proyek migrasi PHP ke Go yang saya kerjakan, ada &lt;em&gt;phase&lt;/em&gt; di mana saya harus &lt;em&gt;audit&lt;/em&gt; semua &lt;em&gt;route&lt;/em&gt; dan &lt;em&gt;controller&lt;/em&gt; yang sudah ada. Tujuannya sederhana: sebelum migrasi, harus pahami dulu &lt;em&gt;pattern&lt;/em&gt; apa yang sudah bagus dan mana yang harus ditinggalkan. Hasilnya? &lt;em&gt;Yah&lt;/em&gt;, cukup&amp;hellip; &lt;em&gt;enlightening&lt;/em&gt; hahaha.&lt;/p&gt;&#xA;&lt;p&gt;Proyek ini punya profil seperti ini:&lt;/p&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;&lt;strong&gt;460+ route&lt;/strong&gt; di &lt;code&gt;api.php&lt;/code&gt;&lt;sup id=&#34;fnref:1&#34;&gt;&lt;a href=&#34;#fn:1&#34; class=&#34;footnote-ref&#34; role=&#34;doc-noteref&#34;&gt;1&lt;/a&gt;&lt;/sup&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;strong&gt;58 controller&lt;/strong&gt; dengan berbagai ukuran dan &lt;em&gt;pattern&lt;/em&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;strong&gt;5 auth guard&lt;/strong&gt;: &lt;code&gt;user-api&lt;/code&gt;, &lt;code&gt;partner-api&lt;/code&gt;, &lt;code&gt;open-api&lt;/code&gt;, &lt;code&gt;open-api-limited&lt;/code&gt;, &lt;code&gt;tms-api&lt;/code&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;strong&gt;Rate limiting&lt;/strong&gt; yang bervariasi: dari 3/menit sampai 100/menit&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;p&gt;Artikel ini bukan tutorial &lt;em&gt;&amp;ldquo;cara bikin API&amp;rdquo;&lt;/em&gt;. Ini catatan &lt;em&gt;pattern&lt;/em&gt; dan &lt;em&gt;anti-pattern&lt;/em&gt; yang saya temukan, plus bagaimana &lt;em&gt;pattern&lt;/em&gt; yang sama diimplementasi di Go. Jadi kalau kamu lagi &lt;em&gt;migrate&lt;/em&gt; atau mulai proyek baru, &lt;em&gt;hopefully&lt;/em&gt; bisa &lt;em&gt;skip&lt;/em&gt; beberapa kesalahan yang sudah saya temukan hehe~&lt;/p&gt;</description>
			</item>
	</channel>
</rss>
