<?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: Shazi Awaludin</title>
    <description>The latest articles on DEV Community by Shazi Awaludin (@xharf).</description>
    <link>https://dev.to/xharf</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%2F1065372%2Fed2768fa-0bad-4578-a7a4-a2aeb4601f55.jpeg</url>
      <title>DEV Community: Shazi Awaludin</title>
      <link>https://dev.to/xharf</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://dev.to/feed/xharf"/>
    <language>en</language>
    <item>
      <title>Day 6 &amp; 7 - Clock app</title>
      <dc:creator>Shazi Awaludin</dc:creator>
      <pubDate>Fri, 19 May 2023 06:13:44 +0000</pubDate>
      <link>https://dev.to/xharf/day-6-7-clock-app-1b46</link>
      <guid>https://dev.to/xharf/day-6-7-clock-app-1b46</guid>
      <description>&lt;p&gt;Pada hari ke 3,4,5 aku tidak mempostingnya karena pada hari itu aku tidak membuat project, melainkan sepenuhnya membaca dokumentasi milik react. Aku mendedikasikan diri untuk membaca bagian state management yang aku pikir itu akan membantuku di masa yang akan datang. &lt;/p&gt;

&lt;p&gt;Pada tiga hari itu aku menyelesaikan membaca dokumentasi pada bagian:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;&lt;a href="https://react.dev/learn/managing-state"&gt;https://react.dev/learn/managing-state&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://react.dev/learn/referencing-values-with-refs"&gt;https://react.dev/learn/referencing-values-with-refs&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Barulah pada hari ke 6 dan 7 aku mengimplementasikan apa yang aku pelajari dengan membuat sebuah clock app. Pada hari ke 7 ini fitur yang selesai adalah stopwatch yang bisa dilihat &lt;a href="https://clock-xharf.vercel.app/stopwatch"&gt;di sini&lt;/a&gt;. &lt;/p&gt;

&lt;p&gt;Apa yang aku pelajari:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Jarak antara waktu mulai dan waktu berhenti dapat digunakan untuk membuat stopwatch. tapi pendekatan ini tidak dapat digunakan apabila stopwatch memiliki fitur pause.&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Pendekatan yang lebih proper digunakan yaitu dengan menghitung durasi dalam milidetik agar fitur pause dapat diimplementasikan. Hal ini karena pendekatannya adalah increment, dan fungsi start akan menambah selama stopwatch dalam keadaan running. apabila dipause, maka nilai terakhir akan disimpan, dan apabila dimulai lagi maka nilai terakhir akan dijadikan referensi untuk kembali dilakukan increment. &lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;ketika mengubah state dan mereferensi nilai sebelumnya, maka gunakanlah fungsi &lt;code&gt;(prev) =&amp;gt; { what value that you want}&lt;/code&gt;.&lt;/p&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Code di bawah ini tidak akan bekerja semestinya:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;const intervalRef = useRef(null);
const [millisecondsPassed, setMilisecondsPassed] = useState(0);

intervalRef.current = setInterval(() =&amp;gt; {
  setMilisecondsPassed(millisecondsPassed +10);
}, 10);
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;hal tersebut karena yang direferensikan oleh &lt;code&gt;millisecondsPassed&lt;/code&gt;di dalam &lt;code&gt;setMilisecondsPassed(millisecondsPassed +10);&lt;/code&gt;mengacu ke nilai yang sama setiap saat dalam interval tersebut. Misal apabila &lt;code&gt;milisecondsPassed&lt;/code&gt; awalnya adalah 0, maka hasil penjumlahannya akan selalu 10, bukan increment seperti 10, 20, 30, 40, …dst. Code yang benar adalah sebagai berikut:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;const intervalRef = useRef(null);
const [millisecondsPassed, setMilisecondsPassed] = useState(0);

intervalRef.current = setInterval(() =&amp;gt; {
  setMilisecondsPassed((prev) =&amp;gt; prev + 10);
}, 10);
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



</description>
      <category>react</category>
      <category>beginners</category>
      <category>productivity</category>
      <category>codenewbie</category>
    </item>
    <item>
      <title>Day #2 - Carousel</title>
      <dc:creator>Shazi Awaludin</dc:creator>
      <pubDate>Wed, 10 May 2023 05:27:21 +0000</pubDate>
      <link>https://dev.to/xharf/day-2-carousel-13l</link>
      <guid>https://dev.to/xharf/day-2-carousel-13l</guid>
      <description>&lt;p&gt;Di hari sebelumnya aku telah menyelesaikan sebuah halaman sederhana menggunakan nextjs. Di hari ini aku ingin tampilannya menjadi lebih lengkap dengan menambahkan satu halaman lagi yang berisi forecast weather selama satu minggu. Menambahkan fungsi carousel serta memperbaiki konten yang sudah ada sebelumnya. pada hari ini aku berhasil menyelesaikan:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;add carousel ✅&lt;/li&gt;
&lt;li&gt;add list of forecast day ✅&lt;/li&gt;
&lt;li&gt;fix bug yang ada di halaman home (kesalahan penerapan endpoint sehingga konten yang ditampilkan tidak relevan) ✅&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;kamu bisa lihat aplikasi yang sudah selesai di hari ini &lt;a href="//react-weatherapp-62y1vhydz-xharf.vercel.app"&gt;disini&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Jika kamu melihat ini dan sepertinya ada yang bisa diperbaiki, tolong tinggalkan comment untukku yaa!&lt;/p&gt;

</description>
      <category>react</category>
      <category>nextjs</category>
      <category>learning</category>
      <category>beginners</category>
    </item>
    <item>
      <title>Day #1 - Axios and NextJS</title>
      <dc:creator>Shazi Awaludin</dc:creator>
      <pubDate>Wed, 10 May 2023 05:22:45 +0000</pubDate>
      <link>https://dev.to/xharf/day-1-axios-and-nextjs-1kk2</link>
      <guid>https://dev.to/xharf/day-1-axios-and-nextjs-1kk2</guid>
      <description>&lt;p&gt;Jadi di hari pertamaku dalam tantangan 100 hari ini aku mencoba belajar mengimplementasikan axios pada nextjs. Tidak ada alasan tertentu tentang performa atau semacamnya. Aku juga tidak tahu apakah ini adalah best practice atau bahkan worst. Aku hanya penasaran bagaimana menggunakan axios di nextjs. Dengan studi kasus berupa web weather app dengan pendekatan mobile first&lt;/p&gt;

&lt;p&gt;Pada hari pertama ini aku berhasil menyelesaikan:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;use Axios to send HTTP request ✅&lt;/li&gt;
&lt;li&gt;create UI using MaterialUI ✅&lt;/li&gt;
&lt;li&gt;deploy to Vercel ✅&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;kamu bisa lihat aplikasi yang sudah selesai di hari ini &lt;a href="//react-weatherapp-a3unchypq-xharf.vercel.app"&gt;disini &lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Jika kamu melihat ini dan sepertinya ada yang bisa diperbaiki, tolong tinggalkan comment untukku yaa!&lt;/p&gt;

</description>
      <category>react</category>
      <category>nextjs</category>
      <category>learning</category>
      <category>productivity</category>
    </item>
    <item>
      <title>100 Days React</title>
      <dc:creator>Shazi Awaludin</dc:creator>
      <pubDate>Tue, 09 May 2023 03:31:28 +0000</pubDate>
      <link>https://dev.to/xharf/100-days-react-k83</link>
      <guid>https://dev.to/xharf/100-days-react-k83</guid>
      <description>&lt;p&gt;Halo Dev, ini adalah post pertamaku di Dev.to, aku harap disini aku bisa lebih berkembang lagi dengan sekumpulan orang hebat di dalamnya.&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;if you see this post, i need your support to learn react, please help me 🙂&lt;/p&gt;
&lt;/blockquote&gt;

&lt;h2&gt;
  
  
  Background
&lt;/h2&gt;

&lt;p&gt;Aku sekarang ada di umur 22, sebagai seorang developer yang aktif belajar dan masih di bangku kuliah. Aku belum memiliki pekerjaan tetap, saat ini aku ada di posisi sebagai Quality engineer. Walau demikian, sekarang aku sedang kembali belajar front-end web dev yang pernah tertunda selama beberapa waktu. Sebelumnya selama 2021 sampai akhir 2022 lalu aku bergelut di bidang back-end engineer dan cloud computing. 2023 ini aku kembali bergelut dengan front-end dev dan lebih memilihnya dibanding back-end dan cloud computing karena ternyata aku lebih senang untuk menyajikan aplikasi yang langsung berinteraksi dengan user. Oleh karenanya, aku kembali memilih untuk belajar front-end. &lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Aku menargetkan belajar react selama 100 hari ke depan karena aku harus memiliki pekerjaan dengan gaji yang mumpuni sebelum wisuda selanjutnya atau setidaknya sebelum Oktober.&lt;/strong&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  The goal
&lt;/h2&gt;

&lt;p&gt;secara spesifik aku sedang mengincar sebuah jabatan full-time di sebuah company, atau setidaknya divisi frontend entah itu di jogjakarta atau di jakarta. Aku sedang mengharapkan sebuah tempat di mana aku bisa mencari ilmu lebih banyak lagi dan bisa bekerja dengan tim secara langsung. other specifics:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Front-end dev menggunakan react, sebagai sebuah framework yang memang aku sedang sukai&lt;/li&gt;
&lt;li&gt;gaji yang mumpuni&lt;/li&gt;
&lt;li&gt;remote memiliki nilai lebih&lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;
  
  
  Ekspektasi harian
&lt;/h2&gt;

&lt;p&gt;Ini adalah pertama kali aku mencoba 100 days challenge. Jadi sepertinya aku harus mengerahkan energi ekstra untuk menjaga konsistensiku dalam berkembang. Ekspektasinya:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;setiap hari aku akan membuat sebuah project, halaman, atau react component&lt;/li&gt;
&lt;li&gt;setiap yang aku buat akan memiliki github repo, atau sebuah commit git yang telah dipush ke github&lt;/li&gt;
&lt;li&gt;setiap hari aku akan mencatat dan mendokumentasikan apa yang telah aku buat di notion, di bagian 100 Days challenge React. Jika itu adalah sebuah project, aku akan mempostingnya di dev.to&lt;/li&gt;
&lt;li&gt;di hari liburku, aku akan membaca setidaknya sebuah halaman medium atau menggunkan berlatih menjawab inteveiw question selama 25 menit per hari (1 pomodoro)&lt;/li&gt;
&lt;/ul&gt;

&lt;blockquote&gt;
&lt;p&gt;Karena aku sudah menulis ini, maka aku harus menyelesaikannya. Mari bekerja, dan itu lebih baik bukan?&lt;/p&gt;
&lt;/blockquote&gt;

</description>
      <category>react</category>
      <category>100daysofcode</category>
      <category>learning</category>
      <category>codenewbie</category>
    </item>
  </channel>
</rss>
