<?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: raselldev</title>
    <description>The latest articles on DEV Community by raselldev (@raselldev).</description>
    <link>https://dev.to/raselldev</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%2F621016%2Fa7fcb884-95ca-46cb-9856-99a074abae04.png</url>
      <title>DEV Community: raselldev</title>
      <link>https://dev.to/raselldev</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://dev.to/feed/raselldev"/>
    <language>en</language>
    <item>
      <title>Xamarin, I Hate U</title>
      <dc:creator>raselldev</dc:creator>
      <pubDate>Sun, 21 May 2023 06:36:19 +0000</pubDate>
      <link>https://dev.to/raselldev/xamarin-i-hate-u-2ioj</link>
      <guid>https://dev.to/raselldev/xamarin-i-hate-u-2ioj</guid>
      <description>&lt;p&gt;As a Xamarin and .NET MAUI user, I am actually very happy with the existence of this framework because with one language, we can write both the backend and mobile applications (using ASP.NET Core and Xamarin).&lt;/p&gt;

&lt;h2&gt;
  
  
  Introduction
&lt;/h2&gt;

&lt;p&gt;I am a programmer who deals with .NET, Xamarin, and SQL Server on a daily basis. I work for an enterprise where introducing a new technology requires extensive and costly studies, unlike startups that can easily propose relevant technologies for the problems they are addressing.&lt;/p&gt;

&lt;h2&gt;
  
  
  Main Problem
&lt;/h2&gt;

&lt;p&gt;I need to migrate from Xamarin to .NET MAUI because Xamarin will be out of support in 2024. You can find more information about it here: &lt;a href="https://dotnet.microsoft.com/en-us/platform/support/policy/xamarin"&gt;https://dotnet.microsoft.com/en-us/platform/support/policy/xamarin&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Performing this migration is not as simple as it may seem. First and foremost, we need to merge the Xamarin.Android and Xamarin.iOS sources into a single project before we can combine them into .NET MAUI. Some of you may wonder, "Why were the Android and iOS projects separated in the first place?" The answer is that at that time, we lacked sufficient proficiency in Xamarin. Therefore, we chose to keep the source code separate to minimize the occurrence of errors.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--dm3zarMI--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_800/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/dvk61k7atckqmwkz7l3i.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--dm3zarMI--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_800/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/dvk61k7atckqmwkz7l3i.png" alt="Image description" width="800" height="336"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;You might be thinking now, why don't we just merge the two Xamarin projects first and then migrate to .NET MAUI? Well, that's exactly what we thought, but in reality, it's still challenging. We need to set up the .NET MAUI project first, but every time we try to set it up for the iOS platform, it keeps switching to .NET 7, even though we initially set it up for .NET 6.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--uoTRUGQu--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_800/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/oz1jh58dh6ukpxrtnqth.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--uoTRUGQu--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_800/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/oz1jh58dh6ukpxrtnqth.png" alt="Image description" width="672" height="182"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;In the end, all of this is in vain. It has been a week, and we are still stuck in the project setup process. It feels like we are just waiting for a time bomb to explode when the boss asks, "Why can't we publish our app?"&lt;/p&gt;

</description>
      <category>xamarin</category>
      <category>dotnet</category>
      <category>netmaui</category>
    </item>
    <item>
      <title>Just be programmer. Not QA not support not anything!</title>
      <dc:creator>raselldev</dc:creator>
      <pubDate>Sat, 27 Aug 2022 16:04:01 +0000</pubDate>
      <link>https://dev.to/raselldev/just-be-programmer-not-qa-not-support-not-anything-eng-ver-3def</link>
      <guid>https://dev.to/raselldev/just-be-programmer-not-qa-not-support-not-anything-eng-ver-3def</guid>
      <description>&lt;p&gt;This article is based on my own story this week, nothing is right and nothing is wrong. We just have to study and learn to deal with all that is in our work.&lt;/p&gt;

&lt;p&gt;As is known, there are many fields in IT that have developed so rapidly, initially only a backend engineer could become a python engineer because of the existing market needs. It is also possible in other fields to run like this. For now I am involved in 2 projects that I think are big. Management-wise, I was not involved in the project because I was new and had "no skills".&lt;/p&gt;

&lt;p&gt;In the following months, I was involved in these 2 projects, namely project A and project B.&lt;/p&gt;

&lt;p&gt;My work for project A is:&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;Create an HTTP API that connects Java and C#, which will then hit C# to Java(I use spring boot to speed things up)&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;As for project B are:&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;I have to translate the display from design to XAML form, incidentally my company uses Tech Stack .NET which requires all employees to use .NET&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;Both projects look easy right? Because each project only requires 1 task.&lt;/p&gt;

&lt;p&gt;The following month, project A did not spell out the linkage of a data to the AWS S3 Bucket, okay in the end I was re-appointed to work on the linkage, here I still feel, "okay, this is still under control". In the same month, I received a ticket to assist the user department in requesting data, and I could not refuse the request because all requests had to be done.&lt;/p&gt;

&lt;p&gt;Finally my job is&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;HTTP API project A&lt;/li&gt;
&lt;li&gt;XAML design project B&lt;/li&gt;
&lt;li&gt;Linkage project A&lt;/li&gt;
&lt;li&gt;user requests&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;Still safe? Yes it seems so. But in fact there is not only 1 user request, there are several user requests regarding application changes, data requests, data changes, and others. Okay, I feel like this will be a burden for me because in my company no one has the capacity to work on project A and no one can work on cross platform mobile applications other than me and 3 of my friends, but the three of them also have different tasks.&lt;/p&gt;

&lt;p&gt;It seems that if you see, what I do is support user, backend service (project A), mobile service (project B), if they are categorized, there are very few but have very many parent-child relationships. Because of this, I decided to report it to my superiors because I didn't feel strong enough to do all of this, because I didn't only do coding work, but also had to do testing, create documentation, meet with users related to the project, and also touch the database directly :).&lt;/p&gt;

&lt;p&gt;With so many jobs, my boss said that the most important thing is time management, okay... Then how?&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;2 hours for project A, 2 hours for project B, 2 hours for user requests.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;This is very difficult for me to do because the focus is divided and even the existing work is not completed on time. In the end, what should I do?&lt;/p&gt;

</description>
    </item>
    <item>
      <title>Seorang programmer hanya menjadi programmer</title>
      <dc:creator>raselldev</dc:creator>
      <pubDate>Sat, 27 Aug 2022 16:02:14 +0000</pubDate>
      <link>https://dev.to/raselldev/seorang-programmer-hanya-menjadi-programmer-bahasa-ver-dgj</link>
      <guid>https://dev.to/raselldev/seorang-programmer-hanya-menjadi-programmer-bahasa-ver-dgj</guid>
      <description>&lt;p&gt;Tulisan ini didasari oleh kisah saya sendiri selama seminggu ini, tidak ada yang benar dan tidak ada yang salah. Kita hanya harus belajar dan belajar untuk menghadapi semua yang ada pada pekerjaan kita.&lt;/p&gt;

&lt;p&gt;Seperti yang diketahui, banyak sekali bidang di IT yang sudah berkembang sebegitu pesatnya, yang awalnya hanya backend engineer bisa saja menjadi python engineer karena seiring kebutuhan market yang ada. Tidak menutup kemungkinan juga di bidang lain berjalan seperti ini. Untuk sekarang saya terlibat dalam 2 project yang menurut saya besar. Secara management, saya memang tidak terlibat dalam project tersebut dikarenakan saya masih baru dan "belum ada skill" yang mumpuni. &lt;/p&gt;

&lt;p&gt;Di bulan bulan berikutnya, saya ikut terlibat dalam 2 project tersebut sebut saja project A dan B. &lt;/p&gt;

&lt;p&gt;Pekerjaan saya untuk project A adalah:&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;Membuat HTTP API yang menghubungkan Java dan C#, yang nantinya C# akan melakukan hit ke Java(saya menggunakan spring boot untuk mempercepat pekerjaan)&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;Sedangkan untuk project B adalah:&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;Saya harus menerjemahkan tampilan dari design ke bentuk XAML, kebetulan perusahaan saya menggunakan Tech Stack .NET yang mengharuskan semua pegawai menggunakan .NET&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;Kedua project tersebut terlihat mudah bukan? Karena masing masing project hanya membutuhkan 1 task. &lt;/p&gt;

&lt;p&gt;Bulan berikutnya, project A tidak ada yang mengejakan untuk linkage sebuah data ke AWS S3 Bucket, oke pada akhirnya saya ditunjuk kembali untuk mengerjakan linkage tersebut, disini saya masih merasa, "oke, ini masih dalam kendali". Dibulan yang samapun saya mendapatkan ticketing untuk membantu user departemen dalam meminta data, dan saya tidak boleh menolak request tersebut karena semua request harus dikerjakan.&lt;/p&gt;

&lt;p&gt;Akhirnya pekerjaan saya adalah&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;HTTP API project A&lt;/li&gt;
&lt;li&gt;XAML design project B&lt;/li&gt;
&lt;li&gt;Linkage project A&lt;/li&gt;
&lt;li&gt;user request&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;Masih aman? Ya sepertinya begitu. Tapinya nyatanya user request tidak cuma 1, ada beberapa user request mengenai perubahan aplikasi, permintaan data, perubahan data, dan yang lainnya. Oke saya merasa ini akan menjadi beban saya karena di perusahaan saya tidak ada yang memiliki kapasitas untuk mengerjakan project A dan tidak ada yang bisa mengerjakan aplikasi mobile cross platform selain saya dan 3 orang teman saya, tapi ketiganya pun memiliki tugas lagi yang berbeda beda. &lt;/p&gt;

&lt;p&gt;Sepertinya jika kalian lihat, yang saya kerjakan adalah support user, backend service (project A), mobile service (project B), jika dikategorikan memang sangat sedikit tapi memiliki relasi parent-child yang sangat banyak. Karena ini saya pun memutuskan untuk melaporkan ke atasan karena saya merasa tidak kuat untuk mengerjakan semuaya tersebut, karena saya tidak hanya mengerjakan perkerjaan coding, tapi juga harus testing, membuat dokumentasi, meeting dengan user terkait project, dan juga menyentuh database langsung :).&lt;/p&gt;

&lt;p&gt;Dengan banyaknya perkerjaan tersebut, atasan saya mengatakan bahwa yang terpenting adalah time management, oke... Lalu bagaimana caranya?&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;2 jam untuk project A, 2 jam project B, 2 jam user request.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;Hal tersebut sangat sulit saya lakukan karena fokus menjadi terbagi dan malahan pekerjaan yang ada menjadi tidak selesai dengan tepat waktu. Pada akhirnya, saya harus melakukan hal apa?&lt;/p&gt;

</description>
    </item>
    <item>
      <title>Database Wilayah Indonesia 2022</title>
      <dc:creator>raselldev</dc:creator>
      <pubDate>Sun, 21 Aug 2022 10:11:41 +0000</pubDate>
      <link>https://dev.to/raselldev/database-wilayah-indonesia-2022-4e65</link>
      <guid>https://dev.to/raselldev/database-wilayah-indonesia-2022-4e65</guid>
      <description>&lt;h3&gt;
  
  
  Database Wilayah Indonesia 2022
&lt;/h3&gt;

&lt;p&gt;Bertepatan dengan hari libur saya iseng mencari project di GitHub yang bisa saya clone untuk bahan belajar saya. Saat saya mencari bahan belajar, saya menemukan 1 repo yang menurut saya menarik, yaitu data data wilayah di Indonesia yang sudah valid berdasarkan &lt;strong&gt;Kepmendagri №050–145 Tahun 2022.&lt;/strong&gt; Apa yang membuat ini menarik? Karena disediakannya data berupa .sql yang bisa kita gunakan pada local env kita.&lt;/p&gt;

&lt;p&gt;Untuk kalian yang ingin melihat reponya, bisa dicek di&lt;/p&gt;

&lt;p&gt;&lt;a href="https://github.com/cahyadsn/wilayah"&gt;&lt;strong&gt;GitHub - cahyadsn/wilayah: Kode dan Data Wilayah Administrasi &amp;amp; Pulau Indonesia sesuai Permendagri…&lt;/strong&gt;&lt;br&gt;&lt;br&gt;
_Kode dan Data Wilayah Administrasi &amp;amp; Pulau Indonesia sesuai Permendagri No 58 Tahun 2021* dengan PHP+MySQL+AJaX. Demo…_github.com&lt;/a&gt;&lt;a href="https://github.com/cahyadsn/wilayah"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Catatan. Untuk project kali ini saya hanya akan menggunakan database wilayah_2022.sql&lt;/strong&gt;&lt;/p&gt;

&lt;h3&gt;
  
  
  Penjelasan Awal
&lt;/h3&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--0G-XX91j--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_800/https://cdn-images-1.medium.com/max/800/1%2AcyHyskceio18aDWtYHDodQ.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--0G-XX91j--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_800/https://cdn-images-1.medium.com/max/800/1%2AcyHyskceio18aDWtYHDodQ.png" alt="" width="266" height="116"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Scema Table wilayah_2022&lt;/p&gt;

&lt;p&gt;Table wilayah memiliki sebanyak kurang lebih 91K row yang terdapat banyak wilayah. Saya sendiri sempat bingung untuk memasukan ini semua karena biasanya hanya 1000 row yang bisa di insert setiap transaksi. Dan sangat memakan waktu jika kita insert per 1000 row.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--z83Dfd_6--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_800/https://cdn-images-1.medium.com/max/800/1%2A-QCMt-3JYp5WIa7bqZbxJg.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--z83Dfd_6--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_800/https://cdn-images-1.medium.com/max/800/1%2A-QCMt-3JYp5WIa7bqZbxJg.png" alt="" width="800" height="625"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Insert data wilayah_2022&lt;/p&gt;

&lt;p&gt;Dengan banyaknya data, bagaimana cara membaca semua wilayah tersebut? Sedangkan field yang ada hanya ada 2, kode dan nama. Mungkin saja untuk mempermudah orang orang yang menggunakannya, author tersebut menggabungkan kode provinsi, kabupaten/kota, kecamatan, kelurahan dalam 1 field string.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--zEj_j-Mo--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_800/https://cdn-images-1.medium.com/max/800/1%2ASQt44gmLu_hfq-K_LKslVQ.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--zEj_j-Mo--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_800/https://cdn-images-1.medium.com/max/800/1%2ASQt44gmLu_hfq-K_LKslVQ.png" alt="" width="800" height="275"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Struktur string kode wilayah&lt;/p&gt;

&lt;p&gt;Sebagai contoh yang mudah, saya akan menggunakan DKI Jakarta. DKI Jakarta adalah sebuah Provinsi dengan kode wilayah 31, Kota Jakarta Pusat dengan kode wilayah 71, Kecamatan Gambir dengan kode wilayah 01, dan Kelurahan Gambar dengan kode wilayah 1001. Dengan begitu maka semuanya memiliki hirarki sebagai berikut:&lt;/p&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--LP_7BZuA--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_800/https://cdn-images-1.medium.com/max/800/1%2Ail55YQpc75uHuSXJ7m5ocQ.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--LP_7BZuA--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_800/https://cdn-images-1.medium.com/max/800/1%2Ail55YQpc75uHuSXJ7m5ocQ.png" alt="" width="800" height="362"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Hirarki kode wilayah&lt;/p&gt;

&lt;h3&gt;
  
  
  Refactoring
&lt;/h3&gt;

&lt;p&gt;Sebetulnya tidak ada yang salah dengan struktur table diawal, tapi jika kita bisa membuatnya lebih clean kenapa tidak, terlebih menurut saya akan sulit dan waktu yang dibutuhkan jauh lebih lama untuk melakukan query.&lt;/p&gt;

&lt;p&gt;Semisalnya untuk kita mengambil query kelurahan Gambir, maka dibutuhkan query:&lt;/p&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--oeWIKH8n--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_800/https://cdn-images-1.medium.com/max/800/1%2ACI_ZqIGThoevSrxVvGfN-Q.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--oeWIKH8n--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_800/https://cdn-images-1.medium.com/max/800/1%2ACI_ZqIGThoevSrxVvGfN-Q.png" alt="" width="800" height="205"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Query kelurahan Gambir&lt;/p&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--weEiHnZG--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_800/https://cdn-images-1.medium.com/max/800/1%2AuqZ6AI66B17FRVg9lnCYEA.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--weEiHnZG--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_800/https://cdn-images-1.medium.com/max/800/1%2AuqZ6AI66B17FRVg9lnCYEA.png" alt="" width="229" height="75"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Hasil Query&lt;/p&gt;

&lt;p&gt;Oke kita mendapatkan Query yang kita miliki, akan tetapi hasil yang didapatkan 2 records walaupun kita tahu bahwa hasil pada records kedua adalah hasil yang benar, maka dari itu kita perlu melakukan refactor struktur table yang ada.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--F0wThMuW--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_800/https://cdn-images-1.medium.com/max/800/1%2A7VwWfifIF7Wxbeba3vdPlg.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--F0wThMuW--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_800/https://cdn-images-1.medium.com/max/800/1%2A7VwWfifIF7Wxbeba3vdPlg.png" alt="" width="800" height="333"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Refactoring table&lt;/p&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--v3YNlqdf--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_800/https://cdn-images-1.medium.com/max/800/1%2AEdH0vgDpxTF0tHVu6fc-CQ.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--v3YNlqdf--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_800/https://cdn-images-1.medium.com/max/800/1%2AEdH0vgDpxTF0tHVu6fc-CQ.png" alt="" width="800" height="647"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Create table&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;Note disini saya tidak menggunakan key di tiap tablenya. Biarkan key tersebut di definisikan pada saat melakukan join table.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;h3&gt;
  
  
  Refactoring Data
&lt;/h3&gt;

&lt;p&gt;Setelah selesai refactor table, sekarang saatnya memasukan semua data ke table yang telah kita buat.&lt;/p&gt;

&lt;p&gt;Langkah pertama adalah kita harus memastikan data yang akan kita insert, disini saya akan insert data provinsi. Untuk pengecekannya saya akan lakukan select terlebih dahulu.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--5nAtEMFg--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_800/https://cdn-images-1.medium.com/max/800/1%2ABKxzGB2YGBwxZr6OyKOLjA.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--5nAtEMFg--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_800/https://cdn-images-1.medium.com/max/800/1%2ABKxzGB2YGBwxZr6OyKOLjA.png" alt="" width="800" height="205"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Berdasarkan data master yang kita punya, setiap Provinsi memiliki panjang string sebanyak 2, maka saya melakukan select berdasarkan panjang dari kode wilayah.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s---aDGpOtG--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_800/https://cdn-images-1.medium.com/max/800/1%2AghM4vMurZFWPLkVGTJdOyg.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s---aDGpOtG--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_800/https://cdn-images-1.medium.com/max/800/1%2AghM4vMurZFWPLkVGTJdOyg.png" alt="" width="639" height="725"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Hasil query&lt;/p&gt;

&lt;p&gt;Setelah hasil query dipastikan benar, maka saya akan melakukan insert data dengan cara INSERT SELECT. Ini adalah metode insert dengan data yang didasarkan oleh apa yang kita select.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--r5s_1Z4---/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_800/https://cdn-images-1.medium.com/max/800/1%2ApICBuvvhFD-Ivq7KaKBX7g.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--r5s_1Z4---/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_800/https://cdn-images-1.medium.com/max/800/1%2ApICBuvvhFD-Ivq7KaKBX7g.png" alt="" width="800" height="275"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Insert data Provinsi&lt;/p&gt;

&lt;p&gt;Jika berhasil, maka hasil yang didapat adalah table provinsi memiliki data provinsi yang telah kita dapat dari hasil select berdasarkan panjang kode provinsi.&lt;/p&gt;

&lt;p&gt;Selanjutnya adalah melakukan insert Kota Kabupaten, Kecamatan, dan Kelurahan&lt;/p&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--pXZFlMop--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_800/https://cdn-images-1.medium.com/max/800/1%2A_c5Hx7JplRaQzzhLdshZ5w.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--pXZFlMop--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_800/https://cdn-images-1.medium.com/max/800/1%2A_c5Hx7JplRaQzzhLdshZ5w.png" alt="" width="800" height="318"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Insert data Kabupaten Kota&lt;/p&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--oE_qDicr--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_800/https://cdn-images-1.medium.com/max/800/1%2AkdWcW87WRfUBeD8Rsp2VpA.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--oE_qDicr--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_800/https://cdn-images-1.medium.com/max/800/1%2AkdWcW87WRfUBeD8Rsp2VpA.png" alt="" width="800" height="341"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Insert data Kecamatan&lt;/p&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--UIDXG9hR--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_800/https://cdn-images-1.medium.com/max/800/1%2AR1JuZx4EDoYj9ngZ8UeoTA.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--UIDXG9hR--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_800/https://cdn-images-1.medium.com/max/800/1%2AR1JuZx4EDoYj9ngZ8UeoTA.png" alt="" width="800" height="362"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Insert data Kelurahan&lt;/p&gt;

&lt;p&gt;Setelah selesai semuanya, maka kita akan mendapatkan data yang sudah tersortir berdasarkan kode wilayah. Selanjutnya data yang ada di setiap table bisa kita gunakan sebagai master jika ingin membuat API. Lalu mengapa dari data yang sudah ada harus kita “pecah” menjadi beberapa bagian? Dikarenakan untuk mempermudah kita dalam mencari data yang lebih spesifik. Kedepannya dengan data master yang sudah ada, apa saja yang akan saya buat?&lt;/p&gt;

&lt;h3&gt;
  
  
  Coming soon project
&lt;/h3&gt;

&lt;ol&gt;
&lt;li&gt; Data wilayah API&lt;/li&gt;
&lt;li&gt; Visualisasi Data&lt;/li&gt;
&lt;/ol&gt;

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

&lt;p&gt;Dengan data yang ada, saya sudah mempelajari bagaimana cara refactor sebuah table, insert select, dan instalasi MS SQL Server di Docker. Ohh iya untuk MS SQL saya menggunakan yang version Express karena free dan bisa di install pada MacOS dengan bantuan Docker.&lt;/p&gt;

</description>
    </item>
    <item>
      <title>Sulitnya Mengenalkan Teknologi Baru kepada Programmer Senior</title>
      <dc:creator>raselldev</dc:creator>
      <pubDate>Sun, 06 Feb 2022 07:37:14 +0000</pubDate>
      <link>https://dev.to/raselldev/sulitnya-mengenalkan-teknologi-baru-ke-programmer-jaman-dulu-2h68</link>
      <guid>https://dev.to/raselldev/sulitnya-mengenalkan-teknologi-baru-ke-programmer-jaman-dulu-2h68</guid>
      <description>&lt;h2&gt;
  
  
  Pendahuluan
&lt;/h2&gt;

&lt;p&gt;Dalam dunia teknologi yang terus berkembang, pengenalan teknologi baru menjadi kunci untuk tetap relevan dan kompetitif. Namun, mengenalkan teknologi baru kepada programmer senior, yang sering disebut sebagai "oldies programmer" atau "programmer senior", bisa menjadi tantangan yang kompleks. Artikel ini akan menjelaskan mengapa mengenalkan teknologi baru kepada programmer senior sulit dan memberikan beberapa strategi yang dapat membantu mengatasi tantangan ini.&lt;/p&gt;

&lt;h2&gt;
  
  
  Perbedaan Pendekatan dan Mindset
&lt;/h2&gt;

&lt;p&gt;Programmer senior umumnya memiliki pengalaman yang luas dan mungkin sudah menguasai teknologi tertentu dengan baik. Mengubah pendekatan mereka dalam menghadapi teknologi baru dapat menjadi sulit karena mereka mungkin telah terbiasa dengan cara kerja lama dan merasa nyaman dengan itu. Artikel ini akan menggali perbedaan pendekatan dan mindset antara programmer senior dan teknologi baru yang&lt;/p&gt;

&lt;h2&gt;
  
  
  Komunikasi yang Efektif
&lt;/h2&gt;

&lt;p&gt;Komunikasi yang efektif menjadi kunci dalam mengenalkan teknologi baru kepada programmer senior. Artikel ini akan membahas beberapa strategi komunikasi yang dapat membantu membangun kepercayaan, memotivasi mereka, dan menjelaskan manfaat dari teknologi baru tersebut. Hal ini mencakup menghindari jargon teknis yang rumit, memberikan contoh nyata implementasi teknologi baru, dan menggali kebutuhan dan kekhawatiran programmer senior.&lt;/p&gt;

&lt;h2&gt;
  
  
  Pelatihan dan Pendampingan
&lt;/h2&gt;

&lt;p&gt;Mengenalkan teknologi baru kepada programmer senior mungkin memerlukan pelatihan tambahan dan pendampingan yang lebih intensif. Artikel ini akan membahas pentingnya menyediakan sumber daya pelatihan yang memadai dan mengembangkan program pendampingan yang mendukung mereka dalam menguasai teknologi baru. Ini bisa berupa pelatihan langsung, tutorial online, grup diskusi, atau bahkan mentorship antar programmer.&lt;/p&gt;

&lt;h2&gt;
  
  
  Membangun Kasus Penggunaan
&lt;/h2&gt;

&lt;p&gt;Programmer senior mungkin perlu melihat manfaat langsung dari teknologi baru sebelum mereka terlibat sepenuhnya. Artikel ini akan mengajukan konsep membangun kasus penggunaan (use case) yang relevan dan jelas untuk menggambarkan bagaimana teknologi baru dapat meningkatkan efisiensi, produktivitas, atau keunggulan kompetitif. Dengan melihat hasil nyata, programmer senior mungkin lebih termotivasi untuk mengadopsi teknologi baru tersebut.&lt;/p&gt;

&lt;h2&gt;
  
  
  Kesabaran dan Empati
&lt;/h2&gt;

&lt;p&gt;Mengenalkan teknologi baru kepada programmer senior membutuhkan kesabaran dan empati. Artikel ini akan menyoroti pentingnya memberikan waktu yang cukup bagi programmer senior untuk beradaptasi dengan perubahan dan memberikan dukungan saat mereka menghadapi tantangan. Terkadang, programmer senior mungkin juga perlu melalui tahap rasa tidak nyaman sebelum merasa nyaman dengan teknologi baru tersebut.&lt;/p&gt;

</description>
      <category>programming</category>
      <category>indonesia</category>
      <category>teknologi</category>
    </item>
  </channel>
</rss>
