<?xml version="1.0" encoding="utf-8" standalone="yes"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom">
  <channel>
    <title>Rust on Nalar</title>
    <link>https://nalar.dev/id/tags/rust/</link>
    <description>Recent content in Rust on Nalar</description>
    <generator>Hugo</generator>
    <language>id-id</language>
    <lastBuildDate>Sat, 19 Sep 2026 00:00:00 +0000</lastBuildDate>
    <atom:link href="https://nalar.dev/id/tags/rust/index.xml" rel="self" type="application/rss+xml" />
    <item>
      <title>Grafik Sensor Streaming ke ILI9341 Tanpa Framebuffer pada ESP32-C3</title>
      <link>https://nalar.dev/id/grafik-sensor-streaming-ili9341-tanpa-framebuffer-esp32-c3/</link>
      <pubDate>Sat, 19 Sep 2026 00:00:00 +0000</pubDate>
      <guid>https://nalar.dev/id/grafik-sensor-streaming-ili9341-tanpa-framebuffer-esp32-c3/</guid>
      <description>&lt;p&gt;Panel ILI9341 cukup besar untuk menampilkan grafik sensor yang berguna, tetapi framebuffer RGB565 berukuran 240 × 320 membutuhkan 153.600 byte:&lt;/p&gt;&#xA;&lt;div&#xA;  x-data=&#34;{ code: $el.querySelector(&#39;code&#39;).innerText, copied: false }&#34;&#xA;  class=&#34;code-block group relative my-6 overflow-hidden rounded-xl border border-line bg-surface-muted dark:border-night-line dark:bg-night-surface&#34;&gt;&#xA;  &lt;button&#xA;    type=&#34;button&#34;&#xA;    @click=&#34;navigator.clipboard.writeText(code); copied = true; setTimeout(() =&gt; copied = false, 1600)&#34;&#xA;    class=&#34;absolute right-3 top-3 z-10 rounded-lg border border-line-strong bg-surface px-2 py-1 font-mono text-[0.8rem] text-muted opacity-0 transition group-hover:opacity-100 hover:bg-ink hover:text-white dark:border-night-line dark:bg-night dark:text-night-muted dark:hover:bg-white dark:hover:text-ink&#34;&gt;&#xA;    &lt;span x-text=&#34;copied ? &#39;Copied&#39; : &#39;Copy&#39;&#34;&gt;&lt;/span&gt;&#xA;  &lt;/button&gt;&#xA;  &#xA;  &lt;div class=&#34;overflow-x-auto p-4 text-sm leading-6 [&amp;_pre]:!m-0 [&amp;_pre]:!bg-transparent [&amp;_pre]:!p-0 [&amp;_code]:font-mono&#34;&gt;&#xA;    &lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;background-color:#fff;-moz-tab-size:4;-o-tab-size:4;tab-size:4;&#34;&gt;&lt;code class=&#34;language-text&#34; data-lang=&#34;text&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;240 * 320 * 2 bytes = 153,600 bytes&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&#xA;  &lt;/div&gt;&#xA;&lt;/div&gt;&#xA;&lt;p&gt;Alokasi sebesar itu bukan pilihan awal yang efisien pada microcontroller kecil jika grafik hanya membutuhkan beberapa ratus sampel. Display controller sudah memiliki graphics RAM sendiri. ESP32-C3 dapat menjadikan panel sebagai tujuan gambar, menyimpan hanya state aplikasi yang diperlukan, lalu mengirim pixel yang berubah melalui SPI.&lt;/p&gt;</description>
    </item>
    <item>
      <title>Memahami Pin dan Unpin di Rust</title>
      <link>https://nalar.dev/id/memahami-pin-dan-unpin-di-rust/</link>
      <pubDate>Thu, 03 Sep 2026 00:00:00 +0000</pubDate>
      <guid>https://nalar.dev/id/memahami-pin-dan-unpin-di-rust/</guid>
      <description>&lt;p&gt;Sebagian besar nilai Rust dapat berpindah dengan bebas. Menetapkan nilai ke variabel lain, meneruskannya by value, mengembalikannya dari function, atau menggantinya di dalam container dapat membuat nilai tersebut berakhir di alamat memori yang berbeda.&lt;/p&gt;&#xA;&lt;p&gt;Biasanya, memang itulah perilaku yang diinginkan. Model ownership Rust melacak siapa yang memiliki sebuah nilai, bukan di alamat mana nilai tersebut harus tetap berada.&lt;/p&gt;&#xA;&lt;p&gt;Namun, ada kelompok type yang lebih kecil dengan kebutuhan berbeda. Beberapa nilai menjadi &lt;strong&gt;sensitif terhadap alamat&lt;/strong&gt;: kode bergantung pada nilai tersebut tetap berada di lokasi memori yang sama. Future yang dihasilkan compiler dan struktur self-referential yang dirancang dengan hati-hati adalah contoh umum.&lt;/p&gt;</description>
    </item>
  </channel>
</rss>
