<?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: Yusuf Fazeri</title>
    <description>The latest articles on DEV Community by Yusuf Fazeri (@joesoeph).</description>
    <link>https://dev.to/joesoeph</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%2F250145%2F65d80b0f-5654-406d-8160-d5b0b6c84949.jpg</url>
      <title>DEV Community: Yusuf Fazeri</title>
      <link>https://dev.to/joesoeph</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://dev.to/feed/joesoeph"/>
    <language>en</language>
    <item>
      <title>Example</title>
      <dc:creator>Yusuf Fazeri</dc:creator>
      <pubDate>Wed, 28 Aug 2024 05:01:18 +0000</pubDate>
      <link>https://dev.to/joesoeph/example-4bf4</link>
      <guid>https://dev.to/joesoeph/example-4bf4</guid>
      <description>&lt;h3&gt;
  
  
  &lt;strong&gt;1. Apa Itu HTML?&lt;/strong&gt;
&lt;/h3&gt;

&lt;p&gt;HTML (HyperText Markup Language) adalah bahasa standar yang digunakan untuk membuat halaman web. HTML menyediakan struktur dasar dari sebuah halaman web, memungkinkan kita untuk menambahkan teks, gambar, tautan, dan elemen lainnya.&lt;/p&gt;

&lt;h3&gt;
  
  
  &lt;strong&gt;2. Struktur Dasar HTML&lt;/strong&gt;
&lt;/h3&gt;

&lt;p&gt;Sebuah dokumen HTML dimulai dengan deklarasi &amp;lt;!DOCTYPE html onload="alert(1)"&amp;gt; dan memiliki elemen-elemen dasar seperti:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;&lt;code&gt;&amp;lt;html&amp;gt;&lt;/code&gt;&lt;/strong&gt;: Elemen ini adalah pembungkus untuk seluruh konten halaman.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;&lt;code&gt;&amp;lt;head&amp;gt;&lt;/code&gt;&lt;/strong&gt;: Berisi metadata seperti judul halaman (&lt;code&gt;&amp;lt;title&amp;gt;&lt;/code&gt;), referensi CSS, dan informasi lainnya yang tidak terlihat langsung oleh pengguna.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;&lt;code&gt;&amp;lt;body&amp;gt;&lt;/code&gt;&lt;/strong&gt;: Tempat di mana seluruh konten yang terlihat oleh pengguna ditempatkan, seperti teks, gambar, video, dll.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Contoh:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight html"&gt;&lt;code&gt;&lt;span class="cp"&gt;&amp;lt;!DOCTYPE html&amp;gt;&lt;/span&gt;
&lt;span class="nt"&gt;&amp;lt;html&amp;gt;&lt;/span&gt;
&lt;span class="nt"&gt;&amp;lt;head&amp;gt;&lt;/span&gt;
    &lt;span class="nt"&gt;&amp;lt;title&amp;gt;&lt;/span&gt;Judul Halaman&lt;span class="nt"&gt;&amp;lt;/title&amp;gt;&lt;/span&gt;
&lt;span class="nt"&gt;&amp;lt;/head&amp;gt;&lt;/span&gt;
&lt;span class="nt"&gt;&amp;lt;body&amp;gt;&lt;/span&gt;
    &lt;span class="nt"&gt;&amp;lt;h1&amp;gt;&lt;/span&gt;Selamat Datang di HTML&lt;span class="nt"&gt;&amp;lt;/h1&amp;gt;&lt;/span&gt;
    &lt;span class="nt"&gt;&amp;lt;p&amp;gt;&lt;/span&gt;Ini adalah paragraf pertama saya!&lt;span class="nt"&gt;&amp;lt;/p&amp;gt;&lt;/span&gt;
&lt;span class="nt"&gt;&amp;lt;/body&amp;gt;&lt;/span&gt;
&lt;span class="nt"&gt;&amp;lt;/html&amp;gt;&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;h3&gt;
  
  
  &lt;strong&gt;3. Elemen dan Tag HTML&lt;/strong&gt;
&lt;/h3&gt;

&lt;p&gt;Setiap elemen HTML terdiri dari tag pembuka (&lt;code&gt;&amp;lt;tag&amp;gt;&lt;/code&gt;) dan tag penutup (&lt;code&gt;&amp;lt;/tag&amp;gt;&lt;/code&gt;). Beberapa tag penting:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;&lt;code&gt;&amp;lt;h1&amp;gt; - &amp;lt;h6&amp;gt;&lt;/code&gt;&lt;/strong&gt;: Heading atau judul, dengan &lt;code&gt;&amp;lt;h1&amp;gt;&lt;/code&gt; sebagai heading paling besar.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;&lt;code&gt;&amp;lt;p&amp;gt;&lt;/code&gt;&lt;/strong&gt;: Paragraf, digunakan untuk menulis teks biasa.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;&lt;code&gt;&amp;lt;a&amp;gt;&lt;/code&gt;&lt;/strong&gt;: Anchor, digunakan untuk membuat tautan.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;&lt;code&gt;&amp;lt;img&amp;gt;&lt;/code&gt;&lt;/strong&gt;: Menyisipkan gambar. Tag ini tidak memerlukan penutup.&lt;/li&gt;
&lt;/ul&gt;

&lt;h3&gt;
  
  
  &lt;strong&gt;4. Atribut HTML&lt;/strong&gt;
&lt;/h3&gt;

&lt;p&gt;Atribut memberikan informasi tambahan tentang elemen HTML. Contoh atribut penting:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;&lt;code&gt;href&lt;/code&gt;&lt;/strong&gt; pada &lt;code&gt;&amp;lt;a&amp;gt;&lt;/code&gt; untuk menentukan tautan.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;&lt;code&gt;src&lt;/code&gt;&lt;/strong&gt; pada &lt;code&gt;&amp;lt;img&amp;gt;&lt;/code&gt; untuk menentukan sumber gambar.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;&lt;code&gt;alt&lt;/code&gt;&lt;/strong&gt; pada &lt;code&gt;&amp;lt;img&amp;gt;&lt;/code&gt; untuk memberikan teks alternatif jika gambar tidak dapat ditampilkan.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Contoh:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight html"&gt;&lt;code&gt;&lt;span class="nt"&gt;&amp;lt;a&lt;/span&gt; &lt;span class="na"&gt;href=&lt;/span&gt;&lt;span class="s"&gt;"https://example.com"&lt;/span&gt;&lt;span class="nt"&gt;&amp;gt;&lt;/span&gt;Kunjungi Example.com&lt;span class="nt"&gt;&amp;lt;/a&amp;gt;&lt;/span&gt;
&lt;span class="nt"&gt;&amp;lt;img&lt;/span&gt; &lt;span class="na"&gt;src=&lt;/span&gt;&lt;span class="s"&gt;"gambar.jpg"&lt;/span&gt; &lt;span class="na"&gt;alt=&lt;/span&gt;&lt;span class="s"&gt;"Deskripsi Gambar"&lt;/span&gt;&lt;span class="nt"&gt;&amp;gt;&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;h3&gt;
  
  
  &lt;strong&gt;5. Penutup: Mengapa HTML Penting?&lt;/strong&gt;
&lt;/h3&gt;

&lt;p&gt;HTML adalah pondasi dari setiap halaman web. Dengan menguasai HTML, kamu bisa membangun struktur dasar dari sebuah situs, membuat konten yang terstruktur dengan baik, dan mempersiapkan halaman untuk di-styling dengan CSS dan diinteraktifkan dengan JavaScript.&lt;/p&gt;

&lt;h3&gt;
  
  
  &lt;strong&gt;Kesimpulan&lt;/strong&gt;
&lt;/h3&gt;

&lt;p&gt;Artikel ini memberikan gambaran dasar tentang HTML yang dapat dipahami dalam waktu singkat. Mulailah bereksperimen dengan HTML untuk memahami cara kerja elemen-elemen tersebut dalam menciptakan halaman web.&lt;/p&gt;

</description>
    </item>
    <item>
      <title>JS Remove Optional Input</title>
      <dc:creator>Yusuf Fazeri</dc:creator>
      <pubDate>Wed, 20 Dec 2023 02:51:06 +0000</pubDate>
      <link>https://dev.to/joesoeph/js-remove-optional-input-3ohm</link>
      <guid>https://dev.to/joesoeph/js-remove-optional-input-3ohm</guid>
      <description>&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight javascript"&gt;&lt;code&gt;&lt;span class="c1"&gt;// Example data input&lt;/span&gt;
    &lt;span class="kd"&gt;const&lt;/span&gt; &lt;span class="nx"&gt;dataInput&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt;
      &lt;span class="na"&gt;id&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="dl"&gt;'&lt;/span&gt;&lt;span class="s1"&gt;11x&lt;/span&gt;&lt;span class="dl"&gt;'&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;
      &lt;span class="na"&gt;name&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="dl"&gt;'&lt;/span&gt;&lt;span class="s1"&gt;Fruits&lt;/span&gt;&lt;span class="dl"&gt;'&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;
      &lt;span class="na"&gt;items&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="p"&gt;[&lt;/span&gt;
        &lt;span class="p"&gt;{&lt;/span&gt;
          &lt;span class="na"&gt;name&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="dl"&gt;'&lt;/span&gt;&lt;span class="s1"&gt;Manggo&lt;/span&gt;&lt;span class="dl"&gt;'&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;
          &lt;span class="na"&gt;types&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="p"&gt;[&lt;/span&gt;&lt;span class="dl"&gt;'&lt;/span&gt;&lt;span class="s1"&gt;busuk&lt;/span&gt;&lt;span class="dl"&gt;'&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="dl"&gt;'&lt;/span&gt;&lt;span class="s1"&gt;bagus&lt;/span&gt;&lt;span class="dl"&gt;'&lt;/span&gt;&lt;span class="p"&gt;],&lt;/span&gt;
          &lt;span class="na"&gt;country&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt; &lt;span class="na"&gt;name&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="dl"&gt;'&lt;/span&gt;&lt;span class="s1"&gt;nigeria&lt;/span&gt;&lt;span class="dl"&gt;'&lt;/span&gt; &lt;span class="p"&gt;},&lt;/span&gt;
          &lt;span class="na"&gt;weight&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="mi"&gt;0&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;
          &lt;span class="na"&gt;others&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt;
            &lt;span class="na"&gt;name&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="dl"&gt;'&lt;/span&gt;&lt;span class="s1"&gt;other name&lt;/span&gt;&lt;span class="dl"&gt;'&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;
            &lt;span class="na"&gt;value&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="mi"&gt;0&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;
          &lt;span class="p"&gt;},&lt;/span&gt;
        &lt;span class="p"&gt;},&lt;/span&gt;
      &lt;span class="p"&gt;],&lt;/span&gt;
      &lt;span class="na"&gt;genus&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="dl"&gt;''&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;
      &lt;span class="na"&gt;farmers&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="p"&gt;[],&lt;/span&gt;
      &lt;span class="na"&gt;falsyValue&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="dl"&gt;''&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;
    &lt;span class="p"&gt;};&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;





&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight javascript"&gt;&lt;code&gt;&lt;span class="c1"&gt;// Expected output&lt;/span&gt;
&lt;span class="p"&gt;{&lt;/span&gt;
    &lt;span class="nl"&gt;id&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="s2"&gt;11x&lt;/span&gt;&lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;
    &lt;span class="nx"&gt;name&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="s2"&gt;Fruits&lt;/span&gt;&lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;
    &lt;span class="nx"&gt;items&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="p"&gt;[&lt;/span&gt;
        &lt;span class="p"&gt;{&lt;/span&gt;
            &lt;span class="na"&gt;name&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="s2"&gt;Manggo&lt;/span&gt;&lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;
            &lt;span class="na"&gt;country&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt; &lt;span class="na"&gt;name&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="s2"&gt;nigeria&lt;/span&gt;&lt;span class="dl"&gt;"&lt;/span&gt; &lt;span class="p"&gt;},&lt;/span&gt;
            &lt;span class="na"&gt;others&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt; &lt;span class="na"&gt;name&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="s2"&gt;other name&lt;/span&gt;&lt;span class="dl"&gt;"&lt;/span&gt; &lt;span class="p"&gt;},&lt;/span&gt;
            &lt;span class="na"&gt;types&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="p"&gt;[&lt;/span&gt;&lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="s2"&gt;busuk&lt;/span&gt;&lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="s2"&gt;bagus&lt;/span&gt;&lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="p"&gt;]&lt;/span&gt;
        &lt;span class="p"&gt;}&lt;/span&gt;
    &lt;span class="p"&gt;]&lt;/span&gt;
&lt;span class="p"&gt;}&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Pertama, saya akan menggunakan package &lt;a href="https://www.npmjs.com/package/flat"&gt;flat js&lt;/a&gt; untuk membuat outputnya jadi seperti ini.&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight javascript"&gt;&lt;code&gt;&lt;span class="c1"&gt;// example flat output&lt;/span&gt;
&lt;span class="p"&gt;{&lt;/span&gt;
  &lt;span class="nl"&gt;id&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="s2"&gt;11x&lt;/span&gt;&lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;
  &lt;span class="nx"&gt;name&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="s2"&gt;Fruits&lt;/span&gt;&lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;
  &lt;span class="nx"&gt;items&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="mi"&gt;0&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nx"&gt;name&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="s2"&gt;Manggo&lt;/span&gt;&lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;
  &lt;span class="nx"&gt;items&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="mi"&gt;0&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nx"&gt;types&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="mi"&gt;0&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="s2"&gt;busuk&lt;/span&gt;&lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;
  &lt;span class="nx"&gt;items&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="mi"&gt;0&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nx"&gt;types&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="mi"&gt;1&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="s2"&gt;bagus&lt;/span&gt;&lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;
  &lt;span class="nx"&gt;items&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="mi"&gt;0&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nx"&gt;country&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nx"&gt;name&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="s2"&gt;nigeria&lt;/span&gt;&lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;
  &lt;span class="nx"&gt;items&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="mi"&gt;0&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nx"&gt;others&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nx"&gt;name&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="s2"&gt;other name&lt;/span&gt;&lt;span class="dl"&gt;"&lt;/span&gt;
  &lt;span class="c1"&gt;// disini key-value lainnya agar tidak terlalu panjang .....&lt;/span&gt;
&lt;span class="p"&gt;}&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Pertimbangannya object tadi saya flat adalah agar tidak perlu membuat logika perulangan yang kompleks.&lt;/p&gt;

&lt;p&gt;Untuk fungsinya nanti saya ingin menggunakannya seperti ini:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight javascript"&gt;&lt;code&gt;&lt;span class="kd"&gt;const&lt;/span&gt; &lt;span class="nx"&gt;removeOptionalFlat&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="nf"&gt;removeOptionalInput&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="nx"&gt;dataInput&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="p"&gt;[&lt;/span&gt;
      &lt;span class="dl"&gt;'&lt;/span&gt;&lt;span class="s1"&gt;bejo&lt;/span&gt;&lt;span class="dl"&gt;'&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;
      &lt;span class="dl"&gt;'&lt;/span&gt;&lt;span class="s1"&gt;items.*.weight&lt;/span&gt;&lt;span class="dl"&gt;'&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;
      &lt;span class="dl"&gt;'&lt;/span&gt;&lt;span class="s1"&gt;items.*.country&lt;/span&gt;&lt;span class="dl"&gt;'&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;
      &lt;span class="dl"&gt;'&lt;/span&gt;&lt;span class="s1"&gt;genus&lt;/span&gt;&lt;span class="dl"&gt;'&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;
      &lt;span class="dl"&gt;'&lt;/span&gt;&lt;span class="s1"&gt;items.*.others.value&lt;/span&gt;&lt;span class="dl"&gt;'&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;
      &lt;span class="dl"&gt;'&lt;/span&gt;&lt;span class="s1"&gt;falsyValue&lt;/span&gt;&lt;span class="dl"&gt;'&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;
      &lt;span class="dl"&gt;'&lt;/span&gt;&lt;span class="s1"&gt;farmers&lt;/span&gt;&lt;span class="dl"&gt;'&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;
    &lt;span class="p"&gt;]);&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Untuk fungsi &lt;code&gt;removeOptionalFlat&lt;/code&gt; nya seperti ini:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight javascript"&gt;&lt;code&gt;&lt;span class="kd"&gt;function&lt;/span&gt; &lt;span class="nf"&gt;removeOptionalInput&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="nx"&gt;dataObject&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="nx"&gt;propertiesToRemove&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt;
  &lt;span class="kd"&gt;const&lt;/span&gt; &lt;span class="nx"&gt;newDataObject&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt; &lt;span class="p"&gt;...&lt;/span&gt;&lt;span class="nx"&gt;dataObject&lt;/span&gt; &lt;span class="p"&gt;};&lt;/span&gt;

  &lt;span class="nx"&gt;propertiesToRemove&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nf"&gt;forEach&lt;/span&gt;&lt;span class="p"&gt;((&lt;/span&gt;&lt;span class="nx"&gt;property&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt; &lt;span class="o"&gt;=&amp;gt;&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt;
    &lt;span class="kd"&gt;const&lt;/span&gt; &lt;span class="nx"&gt;regexPattern&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="k"&gt;new&lt;/span&gt; &lt;span class="nc"&gt;RegExp&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="nx"&gt;property&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nf"&gt;replace&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="sr"&gt;/&lt;/span&gt;&lt;span class="se"&gt;\*&lt;/span&gt;&lt;span class="sr"&gt;/g&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="dl"&gt;'&lt;/span&gt;&lt;span class="se"&gt;\\&lt;/span&gt;&lt;span class="s1"&gt;d+&lt;/span&gt;&lt;span class="dl"&gt;'&lt;/span&gt;&lt;span class="p"&gt;),&lt;/span&gt; &lt;span class="dl"&gt;'&lt;/span&gt;&lt;span class="s1"&gt;g&lt;/span&gt;&lt;span class="dl"&gt;'&lt;/span&gt;&lt;span class="p"&gt;);&lt;/span&gt;
    &lt;span class="nb"&gt;Object&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nf"&gt;keys&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="nx"&gt;newDataObject&lt;/span&gt;&lt;span class="p"&gt;).&lt;/span&gt;&lt;span class="nf"&gt;forEach&lt;/span&gt;&lt;span class="p"&gt;((&lt;/span&gt;&lt;span class="nx"&gt;key&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt; &lt;span class="o"&gt;=&amp;gt;&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt;
      &lt;span class="k"&gt;if &lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="nx"&gt;regexPattern&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nf"&gt;test&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="nx"&gt;key&lt;/span&gt;&lt;span class="p"&gt;))&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt;
        &lt;span class="k"&gt;if &lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="k"&gt;typeof&lt;/span&gt; &lt;span class="nx"&gt;newDataObject&lt;/span&gt;&lt;span class="p"&gt;[&lt;/span&gt;&lt;span class="nx"&gt;key&lt;/span&gt;&lt;span class="p"&gt;]&lt;/span&gt; &lt;span class="o"&gt;===&lt;/span&gt; &lt;span class="dl"&gt;'&lt;/span&gt;&lt;span class="s1"&gt;object&lt;/span&gt;&lt;span class="dl"&gt;'&lt;/span&gt; &lt;span class="o"&gt;&amp;amp;&amp;amp;&lt;/span&gt; &lt;span class="o"&gt;!&lt;/span&gt;&lt;span class="nb"&gt;Object&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nf"&gt;keys&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="nx"&gt;newDataObject&lt;/span&gt;&lt;span class="p"&gt;[&lt;/span&gt;&lt;span class="nx"&gt;key&lt;/span&gt;&lt;span class="p"&gt;]).&lt;/span&gt;&lt;span class="nx"&gt;length&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt;
          &lt;span class="k"&gt;delete&lt;/span&gt; &lt;span class="nx"&gt;newDataObject&lt;/span&gt;&lt;span class="p"&gt;[&lt;/span&gt;&lt;span class="nx"&gt;key&lt;/span&gt;&lt;span class="p"&gt;];&lt;/span&gt;
        &lt;span class="p"&gt;}&lt;/span&gt;

        &lt;span class="k"&gt;if &lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="o"&gt;!&lt;/span&gt;&lt;span class="nx"&gt;newDataObject&lt;/span&gt;&lt;span class="p"&gt;[&lt;/span&gt;&lt;span class="nx"&gt;key&lt;/span&gt;&lt;span class="p"&gt;])&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt;
          &lt;span class="k"&gt;delete&lt;/span&gt; &lt;span class="nx"&gt;newDataObject&lt;/span&gt;&lt;span class="p"&gt;[&lt;/span&gt;&lt;span class="nx"&gt;key&lt;/span&gt;&lt;span class="p"&gt;];&lt;/span&gt;
        &lt;span class="p"&gt;}&lt;/span&gt;
      &lt;span class="p"&gt;}&lt;/span&gt;
    &lt;span class="p"&gt;});&lt;/span&gt;
  &lt;span class="p"&gt;});&lt;/span&gt;

  &lt;span class="k"&gt;return&lt;/span&gt; &lt;span class="nx"&gt;newDataObject&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
&lt;span class="p"&gt;}&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Lihat kode fungsi &lt;code&gt;removeOptionalInput&lt;/code&gt;, saya menggunakan RegEx untuk membuat asosiasi string &lt;code&gt;'items.*.country'&lt;/code&gt; agar menghapus &lt;code&gt;'items.0.country'&lt;/code&gt;, &lt;code&gt;'items.1.country'&lt;/code&gt;, dan seterusnya. &lt;/p&gt;

&lt;p&gt;Karena ini merupakan fungsi yang saya peruntukan untuk menghapus input form data yang sifatnya "opsional" maka saya perlu menghapus key-value object dari dataInput yang nilainya  masuk dalam kategori &lt;em&gt;falsy&lt;/em&gt; seperti string kosong, number &lt;code&gt;0&lt;/code&gt;, object/array kosong.&lt;/p&gt;

&lt;p&gt;Fungsi yang tadi sudah dibuat hasilnya masih flat, kita perlu unflat dengan perintah &lt;code&gt;unflatten(removeOptionalFlat)&lt;/code&gt;. Untuk kode secara keseluruhannya kurang lebih seperti ini.&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight javascript"&gt;&lt;code&gt;&lt;span class="k"&gt;import&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt; &lt;span class="nx"&gt;flatten&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="nx"&gt;unflatten&lt;/span&gt; &lt;span class="p"&gt;}&lt;/span&gt; &lt;span class="k"&gt;from&lt;/span&gt; &lt;span class="dl"&gt;'&lt;/span&gt;&lt;span class="s1"&gt;flat&lt;/span&gt;&lt;span class="dl"&gt;'&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;

&lt;span class="kd"&gt;function&lt;/span&gt; &lt;span class="nf"&gt;removeOptionalInput&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="nx"&gt;dataObject&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="nx"&gt;propertiesToRemove&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt;
  &lt;span class="kd"&gt;const&lt;/span&gt; &lt;span class="nx"&gt;newDataObject&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="nf"&gt;flatten&lt;/span&gt;&lt;span class="p"&gt;({&lt;/span&gt; &lt;span class="p"&gt;...&lt;/span&gt;&lt;span class="nx"&gt;dataObject&lt;/span&gt; &lt;span class="p"&gt;});&lt;/span&gt;

  &lt;span class="nx"&gt;propertiesToRemove&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nf"&gt;forEach&lt;/span&gt;&lt;span class="p"&gt;((&lt;/span&gt;&lt;span class="nx"&gt;property&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt; &lt;span class="o"&gt;=&amp;gt;&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt;
    &lt;span class="kd"&gt;const&lt;/span&gt; &lt;span class="nx"&gt;regexPattern&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="k"&gt;new&lt;/span&gt; &lt;span class="nc"&gt;RegExp&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="nx"&gt;property&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nf"&gt;replace&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="sr"&gt;/&lt;/span&gt;&lt;span class="se"&gt;\*&lt;/span&gt;&lt;span class="sr"&gt;/g&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="dl"&gt;'&lt;/span&gt;&lt;span class="se"&gt;\\&lt;/span&gt;&lt;span class="s1"&gt;d+&lt;/span&gt;&lt;span class="dl"&gt;'&lt;/span&gt;&lt;span class="p"&gt;),&lt;/span&gt; &lt;span class="dl"&gt;'&lt;/span&gt;&lt;span class="s1"&gt;g&lt;/span&gt;&lt;span class="dl"&gt;'&lt;/span&gt;&lt;span class="p"&gt;);&lt;/span&gt;
    &lt;span class="nb"&gt;Object&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nf"&gt;keys&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="nx"&gt;newDataObject&lt;/span&gt;&lt;span class="p"&gt;).&lt;/span&gt;&lt;span class="nf"&gt;forEach&lt;/span&gt;&lt;span class="p"&gt;((&lt;/span&gt;&lt;span class="nx"&gt;key&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt; &lt;span class="o"&gt;=&amp;gt;&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt;
      &lt;span class="k"&gt;if &lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="nx"&gt;regexPattern&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nf"&gt;test&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="nx"&gt;key&lt;/span&gt;&lt;span class="p"&gt;))&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt;
        &lt;span class="k"&gt;if &lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="k"&gt;typeof&lt;/span&gt; &lt;span class="nx"&gt;newDataObject&lt;/span&gt;&lt;span class="p"&gt;[&lt;/span&gt;&lt;span class="nx"&gt;key&lt;/span&gt;&lt;span class="p"&gt;]&lt;/span&gt; &lt;span class="o"&gt;===&lt;/span&gt; &lt;span class="dl"&gt;'&lt;/span&gt;&lt;span class="s1"&gt;object&lt;/span&gt;&lt;span class="dl"&gt;'&lt;/span&gt; &lt;span class="o"&gt;&amp;amp;&amp;amp;&lt;/span&gt; &lt;span class="o"&gt;!&lt;/span&gt;&lt;span class="nb"&gt;Object&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nf"&gt;keys&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="nx"&gt;newDataObject&lt;/span&gt;&lt;span class="p"&gt;[&lt;/span&gt;&lt;span class="nx"&gt;key&lt;/span&gt;&lt;span class="p"&gt;]).&lt;/span&gt;&lt;span class="nx"&gt;length&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt;
          &lt;span class="k"&gt;delete&lt;/span&gt; &lt;span class="nx"&gt;newDataObject&lt;/span&gt;&lt;span class="p"&gt;[&lt;/span&gt;&lt;span class="nx"&gt;key&lt;/span&gt;&lt;span class="p"&gt;];&lt;/span&gt;
        &lt;span class="p"&gt;}&lt;/span&gt;

        &lt;span class="k"&gt;if &lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="o"&gt;!&lt;/span&gt;&lt;span class="nx"&gt;newDataObject&lt;/span&gt;&lt;span class="p"&gt;[&lt;/span&gt;&lt;span class="nx"&gt;key&lt;/span&gt;&lt;span class="p"&gt;])&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt;
          &lt;span class="k"&gt;delete&lt;/span&gt; &lt;span class="nx"&gt;newDataObject&lt;/span&gt;&lt;span class="p"&gt;[&lt;/span&gt;&lt;span class="nx"&gt;key&lt;/span&gt;&lt;span class="p"&gt;];&lt;/span&gt;
        &lt;span class="p"&gt;}&lt;/span&gt;
      &lt;span class="p"&gt;}&lt;/span&gt;
    &lt;span class="p"&gt;});&lt;/span&gt;
  &lt;span class="p"&gt;});&lt;/span&gt;

  &lt;span class="k"&gt;return&lt;/span&gt; &lt;span class="nf"&gt;unflatten&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="nx"&gt;newDataObject&lt;/span&gt;&lt;span class="p"&gt;);&lt;/span&gt;
&lt;span class="p"&gt;}&lt;/span&gt;

&lt;span class="kd"&gt;const&lt;/span&gt; &lt;span class="nx"&gt;dataInput&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt;
      &lt;span class="na"&gt;id&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="dl"&gt;'&lt;/span&gt;&lt;span class="s1"&gt;11x&lt;/span&gt;&lt;span class="dl"&gt;'&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;
      &lt;span class="na"&gt;name&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="dl"&gt;'&lt;/span&gt;&lt;span class="s1"&gt;Fruits&lt;/span&gt;&lt;span class="dl"&gt;'&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;
      &lt;span class="na"&gt;items&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="p"&gt;[&lt;/span&gt;
        &lt;span class="p"&gt;{&lt;/span&gt;
          &lt;span class="na"&gt;name&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="dl"&gt;'&lt;/span&gt;&lt;span class="s1"&gt;Manggo&lt;/span&gt;&lt;span class="dl"&gt;'&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;
          &lt;span class="na"&gt;types&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="p"&gt;[&lt;/span&gt;&lt;span class="dl"&gt;'&lt;/span&gt;&lt;span class="s1"&gt;busuk&lt;/span&gt;&lt;span class="dl"&gt;'&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="dl"&gt;'&lt;/span&gt;&lt;span class="s1"&gt;bagus&lt;/span&gt;&lt;span class="dl"&gt;'&lt;/span&gt;&lt;span class="p"&gt;],&lt;/span&gt;
          &lt;span class="na"&gt;country&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt; &lt;span class="na"&gt;name&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="dl"&gt;'&lt;/span&gt;&lt;span class="s1"&gt;nigeria&lt;/span&gt;&lt;span class="dl"&gt;'&lt;/span&gt; &lt;span class="p"&gt;},&lt;/span&gt;
          &lt;span class="na"&gt;weight&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="mi"&gt;0&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;
          &lt;span class="na"&gt;others&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt;
            &lt;span class="na"&gt;name&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="dl"&gt;'&lt;/span&gt;&lt;span class="s1"&gt;other name&lt;/span&gt;&lt;span class="dl"&gt;'&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;
            &lt;span class="na"&gt;value&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="mi"&gt;0&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;
          &lt;span class="p"&gt;},&lt;/span&gt;
        &lt;span class="p"&gt;},&lt;/span&gt;
      &lt;span class="p"&gt;],&lt;/span&gt;
      &lt;span class="na"&gt;genus&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="dl"&gt;''&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;
      &lt;span class="na"&gt;farmers&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="p"&gt;[],&lt;/span&gt;
      &lt;span class="na"&gt;falsyValue&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="dl"&gt;''&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;
    &lt;span class="p"&gt;};&lt;/span&gt;

    &lt;span class="kd"&gt;const&lt;/span&gt; &lt;span class="nx"&gt;removeOptionalFlat&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="nf"&gt;removeOptionalInput&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="nx"&gt;dataInput&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="p"&gt;[&lt;/span&gt;
      &lt;span class="dl"&gt;'&lt;/span&gt;&lt;span class="s1"&gt;bejo&lt;/span&gt;&lt;span class="dl"&gt;'&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;
      &lt;span class="dl"&gt;'&lt;/span&gt;&lt;span class="s1"&gt;items.*.weight&lt;/span&gt;&lt;span class="dl"&gt;'&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;
      &lt;span class="dl"&gt;'&lt;/span&gt;&lt;span class="s1"&gt;items.*.country&lt;/span&gt;&lt;span class="dl"&gt;'&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;
      &lt;span class="dl"&gt;'&lt;/span&gt;&lt;span class="s1"&gt;genus&lt;/span&gt;&lt;span class="dl"&gt;'&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;
      &lt;span class="dl"&gt;'&lt;/span&gt;&lt;span class="s1"&gt;items.*.others.value&lt;/span&gt;&lt;span class="dl"&gt;'&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;
      &lt;span class="dl"&gt;'&lt;/span&gt;&lt;span class="s1"&gt;falsyValue&lt;/span&gt;&lt;span class="dl"&gt;'&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;
      &lt;span class="dl"&gt;'&lt;/span&gt;&lt;span class="s1"&gt;farmers&lt;/span&gt;&lt;span class="dl"&gt;'&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;
    &lt;span class="p"&gt;]);&lt;/span&gt;

    &lt;span class="nx"&gt;console&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nf"&gt;log&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="nx"&gt;removeOptionalFlat&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="dl"&gt;'&lt;/span&gt;&lt;span class="s1"&gt;remove optional flat&lt;/span&gt;&lt;span class="dl"&gt;'&lt;/span&gt;&lt;span class="p"&gt;);&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



</description>
      <category>javascript</category>
      <category>programming</category>
      <category>webdev</category>
      <category>tutorial</category>
    </item>
    <item>
      <title>Pengalaman Menjalani Psikotes Sebagai Programmer</title>
      <dc:creator>Yusuf Fazeri</dc:creator>
      <pubDate>Tue, 08 Aug 2023 07:52:43 +0000</pubDate>
      <link>https://dev.to/joesoeph/pengalaman-menjalani-psikotes-sebagai-programmer-3lc</link>
      <guid>https://dev.to/joesoeph/pengalaman-menjalani-psikotes-sebagai-programmer-3lc</guid>
      <description>&lt;p&gt;Disini saya akan bercerita pengalaman saya menjalani test psikotest sebagai programmer. Kalau ada yang bertanya:&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;"Emang semua perusahaan ada psikotest nya? Kok saya dulu enggak ya?"&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;Saya akan jawab, tidak semua perusahaan menerapakan prosedur psikotest di tahapan proses rekrutmen mereka. Semua perusahaan punya kebijakannya masing-masing. Tapi jika Anda sedang mencari pekerjaan, Anda harus tau psikotest adalah salah satu bagian dari proses rekrutmen di perusahaan.&lt;/p&gt;

&lt;h2&gt;
  
  
  Psikotes itu apa sih?
&lt;/h2&gt;

&lt;p&gt;Kalau menurut wikipedia:&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;"Tes psikologi atau psikotes adalah bidang yang ditandai dengan penggunaan sampel perilaku untuk &lt;strong&gt;menilai konstruksi psikologis&lt;/strong&gt;, seperti fungsi kognitif dan emosional, tentang individu tertentu. Istilah teknis untuk ilmu di balik tes psikologis adalah Psikometrik. Dengan sampel perilaku, berarti pengamatan dari tugas melakukan individu yang biasanya telah ditentukan sebelumnya, yang sering berarti &lt;strong&gt;nilai pada ujian&lt;/strong&gt;. Respon ini sering dikompilasi ke dalam tabel statistik yang memungkinkan evaluator untuk membandingkan &lt;strong&gt;perilaku individu yang diuji&lt;/strong&gt; terhadap tanggapan kelompok norma."&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;Nah itu kalau penjelasan dari wikipedia. Anda bisa fokus di kata atau kalimat yang saya tebalkan. Secara gambaran besarnya, psikotes adalah kegiatan untuk menilai psikologi seseorang dengan menggunakan beberapa metode seperti ujian ata wawancara.&lt;/p&gt;

&lt;h2&gt;
  
  
  Pentingnya apa sih psikotes bagi perusahaan?
&lt;/h2&gt;

&lt;p&gt;Ya, kalau kita cari pasangan hidup kan harus tau sifatnya, karakternya, kalau bisa tau juga kekurangannya. Biasanya kan dari perkenalan yang panjang, kita sudah bisa tau sifat aslinya. Oh, si &lt;em&gt;John Doe&lt;/em&gt; sukanya bohong, kalau janji gak pernah ditepati, kalau pinjem barang gak pernah dibalikin dan seterusnya. Proses psikotes dengan bantuan psikolog ini membantu perusahaan dengan cepat meinilai karakteristik individu yang hendak bekerja di suatu perusahaan.&lt;/p&gt;

&lt;h2&gt;
  
  
  Jenis tes apa saja yang ada di Psikotes?
&lt;/h2&gt;

&lt;p&gt;Ada banyak, hampir semua jenis tes di wikipedia akan kita jumpai saat mengerjakan soal psikotes:&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;Tes Sinonim&lt;/li&gt;
&lt;li&gt;Tes Antonim&lt;/li&gt;
&lt;li&gt;Tes Acak Kata&lt;/li&gt;
&lt;li&gt;Tes Gambar Orang&lt;/li&gt;
&lt;li&gt;Tes Gambar Pohon&lt;/li&gt;
&lt;li&gt;Tes Wawasan Kebangsaan&lt;/li&gt;
&lt;li&gt;Tes Kraepelin&lt;/li&gt;
&lt;li&gt;Tes Pauli&lt;/li&gt;
&lt;li&gt;Tes Deret Angka&lt;/li&gt;
&lt;li&gt;Tes Deret Gambar&lt;/li&gt;
&lt;li&gt;Tes Penalaran Gambar&lt;/li&gt;
&lt;li&gt;Tes Kepribadian&lt;/li&gt;
&lt;li&gt;Tes skala minat&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;Dan masing-masing tes punya tujuannya sendiri kenapa dibuat untuk kandidat. Selain 13 tes tadi, ada juga psikolog yang membuat sesi wawancara di akhir tes. Pertanyaannya biasanya tidak lepas dari CV yang Anda berikan kepada perusahaan, personal, atau keluarga.&lt;/p&gt;

&lt;h2&gt;
  
  
  Tips menghadapi psikotes
&lt;/h2&gt;

&lt;p&gt;Untuk menghadapi jenis psikotes 13 tadi, Anda bisa berlatih soal-soal psikotes di Google. Kalau saya sendiri saya berlatih lewat buku yang pernah saya beli sewaktu SMK (bukunya lupa, cari aja di Gramedia banyak). Tapi kalau baru pertama kali psikotes, ada juga dari yang menyelenggarakan akan memandu terkait soal dan cara menjawabnya.&lt;/p&gt;

&lt;p&gt;Ketika Anda menghadapi tahapan wawancara di sesi psikotes, jawablah dengan sejujur-jujurnya semua pertanyaan-pertanyaan dari psikolog. Mereka ingin jawaban yang benar itu dari Anda. Jika tidak jujur, mereka akan terus memojokkan Anda (karena sebenarnya mereka sudah tau Anda dari hasil tes yang sudah Anda kerjakan sebelumnya).&lt;/p&gt;

&lt;p&gt;Contoh:&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;"Kenapa Anda memberi penawaran gaji di bawah gaji Anda di perusahaan sebelumnya?"&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;Anda bisa jawab sejujur-jujurnya. Apa karena Anda memang butuh pekerjaan juga secepatnya? atau karena Anda yakin akan ada apresiasi lebih jika Anda melakukan pekerjaan dengan baik di perusahaan?. Jawab saja apa adanya. Dan jangan jadi orang yang menutup-nutupi.&lt;/p&gt;

&lt;h2&gt;
  
  
  Penutup
&lt;/h2&gt;

&lt;p&gt;Itu tadi pengalaman saya dalam menjalani proses psikotes. Anda bisa mempersiapkannya dengan soal-soal yang ada di Internet atau buku. Jika Anda gagal dalam suatu proses rekrutmen atau di psikotes ini, jangan bersedih, tetap lah semangat. Anggaplah keberhasilan/kegagalan yang Anda lalui sebagai pengalaman yang dapat mengasah kepribadian dan kesiapan Anda. Dan tetaplah bersyukur untuk semua yang Anda lalui dan jalani saat ini.&lt;/p&gt;

&lt;p&gt;Sukses selalu!&lt;/p&gt;

&lt;p&gt;Referensi:&lt;br&gt;
&lt;a href="https://id.wikipedia.org/wiki/Tes_psikologi"&gt;https://id.wikipedia.org/wiki/Tes_psikologi&lt;/a&gt;&lt;/p&gt;

</description>
      <category>career</category>
      <category>tutorial</category>
    </item>
    <item>
      <title>The power of powertoys</title>
      <dc:creator>Yusuf Fazeri</dc:creator>
      <pubDate>Tue, 13 Sep 2022 12:38:29 +0000</pubDate>
      <link>https://dev.to/joesoeph/the-power-of-powertoys-59g1</link>
      <guid>https://dev.to/joesoeph/the-power-of-powertoys-59g1</guid>
      <description>&lt;p&gt;Ketika melihat beberapa orang menggunakan Macbook nya. Saya sangat iri dengan produktivitas yang dapat dilakukan dengan komputer itu. Hal yang membuat saya iri salah satunya adalah fitur "&lt;a href="https://support.apple.com/id-id/guide/mac-help/mchlp1008/mac"&gt;Spotlight&lt;/a&gt;" nya.&lt;/p&gt;

&lt;p&gt;Fitur ini adalah bawaan dari Mac OS untuk penggunanya yang dapat mempermudah pencarian sesuatu seperti program, file, web dll. Namun bagaimana dengan pengguna Windows seperti saya? Tentunya Microsoft sudah menyediakan fitur pencarian bawaannya, tapi itu bukan fitur yang bisa di banggakan LOL :-)&lt;/p&gt;

&lt;p&gt;Bagi Anda pengguna Windows saya pikir bisa menggunakan Powertoys. Anda dapat menginstallnya melalui beberapa cara, seperti:&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;Melalui Github&lt;/li&gt;
&lt;li&gt;Melalui Microsoft Store (Rekomendasi)&lt;/li&gt;
&lt;li&gt;Melalui Winget&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;Setelah melakukan penginstalan, Anda akan mendapatkan tampilan seperti ini. &lt;/p&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--0svXylmd--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/6fht08ob87z998ye152v.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--0svXylmd--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/6fht08ob87z998ye152v.png" alt="Gambar 1: Tampilan Aplikasi Powertoys" width="880" height="555"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;em&gt;Note:&lt;/em&gt; Pastikan pengaturan berjalan saat &lt;em&gt;startup&lt;/em&gt; diaktifkan.&lt;/p&gt;

&lt;h2&gt;
  
  
  Fitur-fitur
&lt;/h2&gt;

&lt;p&gt;Inilah beberapa fitur-fitur yang saya sangat suka di &lt;em&gt;Powertoys&lt;/em&gt;. Adapun fitur-fitur pada versi v0.62.0 yang saat ini saya sering pakai adalah:&lt;/p&gt;

&lt;h3&gt;
  
  
  Powertoys Run
&lt;/h3&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--Gxwr4pZp--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_66%2Cw_880/https://ik.imagekit.io/dz5f3sbago/devto/pt-powerrun-demo_Y8eATwdAw.gif" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--Gxwr4pZp--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_66%2Cw_880/https://ik.imagekit.io/dz5f3sbago/devto/pt-powerrun-demo_Y8eATwdAw.gif" alt="Gambar 2: Powertoys Run" width="880" height="589"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Memberikan pengalaman penggunaan "SpotLight" di komputer Windows Anda. Dapat melakukan pencarian file, folder, program, web, menjalankan shell dan masih banyak lagi. Anda dapat melihat lebih banyak lagi di sini &lt;a href="https://docs.microsoft.com/en-us/windows/powertoys/run"&gt;https://docs.microsoft.com/en-us/windows/powertoys/run&lt;/a&gt;.&lt;/p&gt;

&lt;h3&gt;
  
  
  Mouse Utilities
&lt;/h3&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--GVRDb4Pw--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_66%2Cw_880/https://ik.imagekit.io/dz5f3sbago/devto/pt-mouse-utilities-find-my-mouse_jhQWXBnJB.gif" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--GVRDb4Pw--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_66%2Cw_880/https://ik.imagekit.io/dz5f3sbago/devto/pt-mouse-utilities-find-my-mouse_jhQWXBnJB.gif" alt="Gambar 3: Mouse Utility" width="880" height="590"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Dengan menggerakkan berulang mouse Anda, Anda dapat melihat dimana posisi mouse Anda berada dengan cepat. &lt;/p&gt;

&lt;h3&gt;
  
  
  Fancy Zone
&lt;/h3&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--CrsxUtKA--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_66%2Cw_880/https://ik.imagekit.io/dz5f3sbago/devto/pt-fancyzones-quickswap__1__QCadDWQ0V.gif" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--CrsxUtKA--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_66%2Cw_880/https://ik.imagekit.io/dz5f3sbago/devto/pt-fancyzones-quickswap__1__QCadDWQ0V.gif" alt="Gambar 4: Fancy Zone" width="" height=""&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Dengan fitur ini mengatur layout di windows menjadi lebih mudah. Anda dapat mengatur layout secara &lt;em&gt;custom&lt;/em&gt; dengan fitur &lt;em&gt;layout editor&lt;/em&gt;. &lt;/p&gt;

&lt;h3&gt;
  
  
  Text Extractor
&lt;/h3&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--omjOX1IG--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_66%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/rebp28dklvrqf5c8r2fn.gif" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--omjOX1IG--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_66%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/rebp28dklvrqf5c8r2fn.gif" alt="Gambar 5: Text Extractor" width="880" height="327"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Ucapkan selamat tinggal pada plugin &lt;a href="https://ocr.space/copyfish"&gt;&lt;em&gt;Copyfish&lt;/em&gt;&lt;/a&gt; karena di &lt;em&gt;Powertoys&lt;/em&gt; telah memiliki fitur yang serupa dan berjalan native di &lt;em&gt;windows&lt;/em&gt;. &lt;/p&gt;

</description>
      <category>productivity</category>
      <category>tutorial</category>
      <category>programming</category>
      <category>writing</category>
    </item>
    <item>
      <title>Mengenal Istilah Concurrent &amp; Parallel</title>
      <dc:creator>Yusuf Fazeri</dc:creator>
      <pubDate>Sun, 11 Sep 2022 13:55:42 +0000</pubDate>
      <link>https://dev.to/joesoeph/mengenal-istilah-concurrent-parallel-27bj</link>
      <guid>https://dev.to/joesoeph/mengenal-istilah-concurrent-parallel-27bj</guid>
      <description>&lt;p&gt;Di artikel ini saya akan membahas pembahasan yang menarik tentang apa itu istilah &lt;em&gt;concurrent&lt;/em&gt; &amp;amp; &lt;em&gt;parallel&lt;/em&gt;. Yang mungkin dari kawan-kawan sering mendengarnya atau membacanya. &lt;/p&gt;

&lt;p&gt;Kedua istilah ini juga sering rancu pengartiannya satu sama lain. Sehingga saya harapkan saya dan juga kawan-kawan setelah membaca artikel ini menjadi makin paham. &lt;/p&gt;

&lt;p&gt;Oh ya, saya juga menyertakan beberapa referensi yang saya gunakan ketika menulis ini. Jadi kawan-kawan bisa membacanya juga atau bahkan mengoreksi tulisan ini jika ada yang kurang.&lt;/p&gt;

&lt;h2&gt;
  
  
  Concurrent
&lt;/h2&gt;

&lt;p&gt;Agar mudah dalam memahaminya, mari kita analogikan kedalam skenario sederhana. Katakanlah Anda diberikan waktu hanya 5 menit untuk melakukan 2 tugas. Tugas Ke-1, Anda harus menyelesaikan soal matematika. Tugas Ke-2, Anda harus berbalas &lt;em&gt;chat&lt;/em&gt; dengan Ibu Anda. &lt;/p&gt;

&lt;p&gt;Di konsep &lt;em&gt;Concurrent&lt;/em&gt;, Anda tidak bisa melakukan kedua tugas itu dalam bersamaan atau serentak atau simultan. Anda dapat mengerjakan soal matematika dan ketika ada &lt;em&gt;chat&lt;/em&gt; masuk, Anda baru membalasnya. &lt;/p&gt;

&lt;p&gt;Anggaplah selama 5 menit tadi Anda sudah menyelesaikan 2 tugas. Namun karena keterbatasan kemampuan, proses yang dilakukan tidak satu per satu (sampai tugas ke-1 selesai dilanjutkan tugas ke-2 selesai). Namun secara bergantian (tidak lengkap selesai). Jadi ada selang waktu tertentu Anda harus beralih untuk berbalas chat.&lt;/p&gt;

&lt;h3&gt;
  
  
  Lalu apa yang bisa kita dapat dari skenario tadi?
&lt;/h3&gt;

&lt;p&gt;Sebelumnya Anda perlu tahu pengertiannya dari beberapa sumber berikut.&lt;/p&gt;

&lt;p&gt;Menurut Encyclopedia Britannica, &lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;&lt;em&gt;"Concurrent programming, computer programming in which, during a period of time, multiple processes are being executed. For example, two processes can be interleaved so that they are executed in turns"&lt;/em&gt; [1]&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;Menurut Madhavan,&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;&lt;em&gt;"Concurrency means that an application is making progress on more than one task at the same time (concurrently). Well, if the computer only has one CPU the application may not make progress on more than one task at exactly the same time, but more than one task is being processed at a time inside the application. It does not completely finish one task before it begins the next."&lt;/em&gt;[2]&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;Dari beberapa literatur dan skenario tadi, menurut saya &lt;strong&gt;&lt;em&gt;concurrent&lt;/em&gt; adalah suatu teknik mengerjakan 2 atau lebih tugas secara bersamaan (tidak serentak) dalam suatu periode waktu tertentu yang dikerjakan oleh pemroses&lt;/strong&gt;. Pemroses disini bisa berarti &lt;em&gt;core processor&lt;/em&gt; atau orang jika konteksnya manusia.&lt;/p&gt;

&lt;h2&gt;
  
  
  Parallel
&lt;/h2&gt;

&lt;p&gt;Saya akan memberikan skenario tugas yang sama dari skenario sebelumnya. Namun, pada kasus ini sepertinya Anda sedang beruntung dibantu oleh kawan Anda dalam mengerjakan soal matematika. Sehingga Anda bisa memiliki fokus untuk tugas ke-2 Anda yaitu berbalas &lt;em&gt;chat&lt;/em&gt;. Sehinga kedua tugas tadi dapat diproses secara serentak atau simultan.&lt;/p&gt;

&lt;p&gt;Menurut Madhavan,&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;"Parallelism means that an application splits its tasks up into smaller subtasks which can be processed in parallel, for instance on multiple CPUs at the exact same time.&lt;br&gt;
Parallelism does not require two tasks to exist. It literally physically run parts of tasks OR multiple tasks, at the same time using the multi-core infrastructure of CPU, by assigning one core to each task or sub-task."[2]&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;Menurut Educative.io,&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;"In parallel programming, parallel processing is achieved through hardware parallelism e.g. executing two processes on two separate CPU cores simultaneously."[3]&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;Dari beberapa literatur dan skenario tadi, menurut saya &lt;strong&gt;&lt;em&gt;parallel&lt;/em&gt; adalah teknik mengerjakan 2 atau lebih tugas secara bersamaan (serentak) dalam suatu periode waktu tertentu yang dikerjakan oleh banyak pemroses (tiap pemroses menangani satu tugas)&lt;/strong&gt;. Pemroses disini bisa berarti &lt;em&gt;core processor&lt;/em&gt; atau orang jika konteksnya manusia.&lt;/p&gt;




&lt;p&gt;&lt;strong&gt;References:&lt;/strong&gt;&lt;br&gt;
[1] History, The. "Concurrent Programming | Definition &amp;amp; Facts." Encyclopedia Britannica, &lt;a href="https://www.britannica.com/technology/concurrent-programming"&gt;https://www.britannica.com/technology/concurrent-programming&lt;/a&gt;. Accessed 9 Aug. 2022.&lt;/p&gt;

&lt;p&gt;[2] Nagarajan, Madhavan. "Concurrency vs. Parallelism: A Brief View." Medium, 16 Jan. 2020, &lt;a href="https://medium.com/@itIsMadhavan/concurrency-vs-parallelism-a-brief-review-b337c8dac350"&gt;https://medium.com/@itIsMadhavan/concurrency-vs-parallelism-a-brief-review-b337c8dac350&lt;/a&gt;.&lt;/p&gt;

&lt;p&gt;[3] "What Is Concurrent Programming?" Educative, &lt;a href="https://www.educative.io/answers/what-is-concurrent-programming"&gt;https://www.educative.io/answers/what-is-concurrent-programming&lt;/a&gt;. Accessed 9 Aug. 2022.&lt;/p&gt;

</description>
      <category>computerscience</category>
      <category>tutorial</category>
      <category>beginners</category>
      <category>programming</category>
    </item>
  </channel>
</rss>
