<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:dc="http://purl.org/dc/elements/1.1/">
  <channel>
    <title>DEV Community: Azuvicenna</title>
    <description>The latest articles on DEV Community by Azuvicenna (@azuvicenna).</description>
    <link>https://dev.to/azuvicenna</link>
    <image>
      <url>https://media2.dev.to/dynamic/image/width=90,height=90,fit=cover,gravity=auto,format=auto/https:%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Fuser%2Fprofile_image%2F1915178%2F7e244799-3eab-43aa-ae6c-218f8cf1d0a2.png</url>
      <title>DEV Community: Azuvicenna</title>
      <link>https://dev.to/azuvicenna</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://dev.to/feed/azuvicenna"/>
    <language>en</language>
    <item>
      <title>Roadmap TypeScript</title>
      <dc:creator>Azuvicenna</dc:creator>
      <pubDate>Mon, 28 Apr 2025 14:25:44 +0000</pubDate>
      <link>https://dev.to/azuvicenna/roadmap-typescript-15ki</link>
      <guid>https://dev.to/azuvicenna/roadmap-typescript-15ki</guid>
      <description>&lt;p&gt;Kalau kamu udah jago JavaScript, pastinya udah denger-denger dengan TypeScript. Bisa dibilang TypeScript adalah versi super-nya JavaScript dengan tambahan tipe data pada syntax-nya. TypeScript ini bisa bikin kamu lebih produktif dan bebas dari bug aneh di JavaScript.&lt;/p&gt;

&lt;p&gt;Gimana sih cara kuasain TypeScript? Tenang aja, kalau kamu sudah terbiasa dengan JavaScript proses belajarnya gak akan lama kok. Gw bakal kasih roadmap belajarnya secara lengkap mulai dari Fundamental sampai OOP. Inget ya!, ini cuma roadmap, kamu bisa cari materi belajar sesuai roadmap ini di YouTube atau dokumentasi resmi TypeScript.&lt;/p&gt;

&lt;h2&gt;
  
  
  TypeScript Fundamental🤓
&lt;/h2&gt;

&lt;p&gt;Pada bagian ini kita akan buat roadmap fundamental dari TypeScript itu sendiri.&lt;/p&gt;

&lt;h3&gt;
  
  
  TypeScript Paling Dasar
&lt;/h3&gt;

&lt;p&gt;Fokus: Memahami bagaimana TypeScript bekerja, Tipe data, dan dasar penggunaanya.&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Cara install, setup TypeScript, dan pahami tsconfig.json&lt;/li&gt;
&lt;li&gt;Tipe data dasar kayak: &lt;code&gt;string&lt;/code&gt;, &lt;code&gt;number&lt;/code&gt;, &lt;code&gt;boolean&lt;/code&gt;, &lt;code&gt;any&lt;/code&gt;, &lt;code&gt;unknown&lt;/code&gt;, &lt;code&gt;null&lt;/code&gt;, dan &lt;code&gt;undefined&lt;/code&gt;
&lt;/li&gt;
&lt;li&gt;Union &amp;amp; Literal types&lt;/li&gt;
&lt;li&gt;Type alias &amp;amp; interfaces&lt;/li&gt;
&lt;li&gt;Enum&lt;/li&gt;
&lt;li&gt;Function typing (parameter, return, optional/default param)&lt;/li&gt;
&lt;li&gt;Array &amp;amp; Tuple&lt;/li&gt;
&lt;li&gt;Type narrowing (type guard)&lt;/li&gt;
&lt;/ul&gt;

&lt;h3&gt;
  
  
  TypeScript Menengah
&lt;/h3&gt;

&lt;p&gt;Fokus: Membuat kode lebih aman, reusable, dan scalable&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Interface vs Type alias (kapan waktu yg tepat untuk pakai)&lt;/li&gt;
&lt;li&gt;Extending types&lt;/li&gt;
&lt;li&gt;Optional chaining dan nullish coalescing&lt;/li&gt;
&lt;li&gt;Type assertion &amp;amp; non-null assertion&lt;/li&gt;
&lt;li&gt;Function overloads&lt;/li&gt;
&lt;li&gt;Type guards manual (&lt;code&gt;in&lt;/code&gt;, &lt;code&gt;typeof&lt;/code&gt;, &lt;code&gt;instanceof&lt;/code&gt;)&lt;/li&gt;
&lt;li&gt;Discriminated unions&lt;/li&gt;
&lt;/ul&gt;

&lt;h3&gt;
  
  
  TypeScript Lanjutan
&lt;/h3&gt;

&lt;p&gt;Fokus: Typing yang kompleks dan powerful untuk skala besar.&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Generic types&lt;/li&gt;
&lt;li&gt;Utility types: &lt;code&gt;Partial&lt;/code&gt;, &lt;code&gt;Pick&lt;/code&gt;, &lt;code&gt;Omit&lt;/code&gt;, &lt;code&gt;Record&lt;/code&gt;, &lt;code&gt;Readonly&lt;/code&gt;, dan &lt;code&gt;Required&lt;/code&gt;
&lt;/li&gt;
&lt;li&gt;Conditional types (&lt;code&gt;T extends U ? X : U&lt;/code&gt;)&lt;/li&gt;
&lt;li&gt;Mapped types&lt;/li&gt;
&lt;li&gt;Template literal types&lt;/li&gt;
&lt;li&gt;Infer keyword&lt;/li&gt;
&lt;li&gt;Declaration merging&lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;
  
  
  TypeScript OOP😎
&lt;/h2&gt;

&lt;p&gt;Pada bagian ini kita akan buat roadmap lanjutan dari fundamental sebelumnya yaitu OOP di TypeScript.&lt;/p&gt;

&lt;h3&gt;
  
  
  OOP (Object-Oriented Programming)
&lt;/h3&gt;

&lt;p&gt;Fokus: Membuat kode program ke dalam bentuk object yang ada di dunia nyata&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Class, constructor, dan inheritance&lt;/li&gt;
&lt;li&gt;Access modifier: &lt;code&gt;public&lt;/code&gt;, &lt;code&gt;private&lt;/code&gt;, &lt;code&gt;protected&lt;/code&gt;, dan &lt;code&gt;readonly&lt;/code&gt;
&lt;/li&gt;
&lt;li&gt;Abstract class &amp;amp; interface implementation&lt;/li&gt;
&lt;li&gt;Static method &amp;amp; property&lt;/li&gt;
&lt;li&gt;Getter &amp;amp; Setter&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Jadi itu dia roadmap belajar TypeScript yang saya rekomendasikan semoga roadmap ini bisa menjadi jalan petunjuk belajar yang lebih baik. Thanks:)&lt;/p&gt;

</description>
      <category>typescript</category>
      <category>fundamental</category>
      <category>oop</category>
    </item>
    <item>
      <title>Conventinal Commits</title>
      <dc:creator>Azuvicenna</dc:creator>
      <pubDate>Mon, 28 Apr 2025 14:24:16 +0000</pubDate>
      <link>https://dev.to/azuvicenna/conventinal-commits-4ld2</link>
      <guid>https://dev.to/azuvicenna/conventinal-commits-4ld2</guid>
      <description>&lt;p&gt;Conventional commits adalah aturan commit yang baik dan benar dengan menambahkan prefix pada awal message commit. Sebenarnya tidak ada aturan yang mengharuskan untuk menggunakan conventional messages. Namun, dengan menerapkan conventional messages, commit yang kita buat menjadi terstruktur dan mundah untuk dipahami terutama saat bekerja dengan tim. &lt;/p&gt;

&lt;p&gt;Dibawah ini merupakan conventional messages yang direkomendasikan oleh para programmer di dunia.&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;code&gt;feat:&lt;/code&gt; menambahkan fitur baru&lt;/li&gt;
&lt;li&gt;
&lt;code&gt;fix:&lt;/code&gt; memperbaiki bug&lt;/li&gt;
&lt;li&gt;
&lt;code&gt;docs:&lt;/code&gt; menambahkan atau memperbarui dokumentasi&lt;/li&gt;
&lt;li&gt;
&lt;code&gt;style:&lt;/code&gt; memperbarui penulisan kode tanpa merubah logika&lt;/li&gt;
&lt;li&gt;
&lt;code&gt;refactor:&lt;/code&gt; memperbarui kode tanpa mengubah perilaku &lt;/li&gt;
&lt;li&gt;
&lt;code&gt;test:&lt;/code&gt; menambahkan atau memperbarui testing&lt;/li&gt;
&lt;li&gt;
&lt;code&gt;chore:&lt;/code&gt; memperbarui dependensi atau tugas yang tidak berhubungan langsung dengan fitur atau bugfix&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Sebagai contoh implementasinya seperti ini:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;git commit -m "feat: menambahkan fitur login"
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Kamu juga bisa memperkecil scope nya dengan menambahkan keterangan pada dalam kurung. Contohnya seperti ini:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;git commit -m "feat(auth): menambahkan fitur login"
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Untuk lebih lengkapnya, kamu bisa baca &lt;a href="https://www.conventionalcommits.org/en/v1.0.0/" rel="noopener noreferrer"&gt;disini&lt;/a&gt; ya!&lt;/p&gt;

</description>
      <category>git</category>
      <category>conventional</category>
      <category>commits</category>
      <category>github</category>
    </item>
    <item>
      <title>Apa Itu HTML?</title>
      <dc:creator>Azuvicenna</dc:creator>
      <pubDate>Wed, 04 Sep 2024 23:24:05 +0000</pubDate>
      <link>https://dev.to/azuvicenna/apa-itu-bahasa-html-45i4</link>
      <guid>https://dev.to/azuvicenna/apa-itu-bahasa-html-45i4</guid>
      <description>&lt;p&gt;Dalam dunia pemrograman web kita tidak dapat lepas dengan kaitannya dengan bahasa HTML, dikarenakan HTML merupakan bagian penting berdirinya halaman website.&lt;/p&gt;

&lt;p&gt;Html merupakan singkatan dari &lt;em&gt;Hypertext Markup Language&lt;/em&gt; yang merupakan bahasa markup untuk membuat kerangka halaman website. Jika di ibaratkan HTML adalah berperan sebagai tulang/skeleton manusia.&lt;/p&gt;

&lt;p&gt;HTML pertama kali diciptakan oleh Sir Tim Berners-Lee pada akhir tahun 1991, namun tidak dirilis secara resmi. Versi pertama HTML dirilis pada tahun 1993. &lt;/p&gt;

&lt;p&gt;Berikut adalah beberapa versi HTML yang pernah dirilis: &lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;&lt;p&gt;HTML 1.1&lt;br&gt;
Dirilis pada Juni 1993 oleh Tim Berners-Lee &lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;HTML 3.2&lt;br&gt;
Dirilis pada tahun 1997 oleh W3C, yang menambahkan elemen-elemen baru seperti tag formulir dan tag tabel &lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;HTML 4.01&lt;br&gt;
Diterbitkan pada akhir tahun 1999 dan menjadi standar resmi pada bulan Desember 1999 &lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;HTML 5&lt;br&gt;
Dirilis pada tahun 2012, merupakan terusan dari perpanjangan versi HTML 4.01 &lt;/p&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;h3&gt;
  
  
  Apa yang bisa dilakukan HTML?
&lt;/h3&gt;

&lt;p&gt;Di dalam HTML kita bisa menampilkan konten dalam bentuk grafis di peramban. Konten tersebut dapat berupa paragraf, daftar poin, gambar, dan tabel data. Kita juga dapat mengarahkan pengguna ke halaman atau website lain menggunakan link tertentu.&lt;/p&gt;

&lt;p&gt;Thanks:)&lt;/p&gt;

</description>
      <category>html</category>
      <category>webdev</category>
      <category>beginners</category>
    </item>
    <item>
      <title>Hello World!, Hello Dev!</title>
      <dc:creator>Azuvicenna</dc:creator>
      <pubDate>Mon, 12 Aug 2024 00:27:52 +0000</pubDate>
      <link>https://dev.to/azuvicenna/hello-world-hello-dev-1fo7</link>
      <guid>https://dev.to/azuvicenna/hello-world-hello-dev-1fo7</guid>
      <description>&lt;p&gt;Hello everyone, this is my first article post.&lt;/p&gt;

</description>
      <category>helloworld</category>
    </item>
  </channel>
</rss>
