<?xml version="1.0" encoding="utf-8" standalone="yes"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom">
  <channel>
    <title>Tutorial on A Place We Can Learn.</title>
    <link>https://blog.cryppy.id/categories/tutorial/</link>
    <description>Recent content in Tutorial on A Place We Can Learn.</description>
    <generator>Hugo -- gohugo.io</generator>
    <language>en</language>
    <lastBuildDate>Sun, 07 Jan 2024 01:07:10 +0800</lastBuildDate><atom:link href="https://blog.cryppy.id/categories/tutorial/index.xml" rel="self" type="application/rss+xml" />
    <item>
      <title>Golang - Formating Float to Currency (IDR) String</title>
      <link>https://blog.cryppy.id/article/idr-format/</link>
      <pubDate>Sun, 07 Jan 2024 01:07:10 +0800</pubDate>
      
      <guid>https://blog.cryppy.id/article/idr-format/</guid>
      <description>Di golang ada library bawaan yang bisa dipakai untuk localized formatting ataupun translation entah kita ingin menerjemahkan huruf yang bukan alfabet atupun hanya sekadar sebagai translate.
note: bila ada library dengan package sebagai berikut https://golang.org/pkg/#subrepo mereka adalah package yang ada di dalam Go Project tapi di luar dari main project
Di artikel ini kita akan membuat format mata uang rupiah daripada harus pake third party macam humanize mendingan buat sendiri pake built in.</description>
    </item>
    
    <item>
      <title>Golang - Julian Date</title>
      <link>https://blog.cryppy.id/article/go-julian-date/</link>
      <pubDate>Wed, 24 May 2023 19:25:42 +0800</pubDate>
      
      <guid>https://blog.cryppy.id/article/go-julian-date/</guid>
      <description>Julian Date? Adalah sebuah tanggal dimana hitungan hari terus menerus yang dimulai dari periodenya, disini saya mencontoh sebuah situs web yang meng-generate julian date, &amp;ldquo;klik disini&amp;rdquo;. Di situs web tersebut menggunakan format yy-dddd dan dengan hitungan pertahun jadai agak sedikit berbeda jika kita merujuk pada julian date di wiki.
func GetJulianDays(nowTime string) string { var layout = &amp;#34;2006-01-02&amp;#34; getDate, _ := time.Parse(layout, nowTime) var yearString = nowTime[0:4] var isLeapYear bool var numberOfDays = 366 getIntYear, _ := strconv.</description>
    </item>
    
    <item>
      <title>Golang - Download With File Url</title>
      <link>https://blog.cryppy.id/article/download-with-file-url/</link>
      <pubDate>Fri, 18 Nov 2022 16:00:48 +0700</pubDate>
      
      <guid>https://blog.cryppy.id/article/download-with-file-url/</guid>
      <description>Cara download file di golang dan mendapatkan file-nya pada lokal komputer kamu!
Mungkin ini kurang bermanfaat apabila kamu hanya ingin download file. Tinggal pake wget pun beres, disini sebenernya saya ingin menyelesaikan studi kasus dimana file yang besar-besar itu dikirim ke SFTP (SSH File Transfer Protocol) atau upload ke cloud storage macam AWS, google cloud, dll.
Fungsi di bawah merupakan fungsi simpel download file dengan URL menggunakan fungsi HTTP GET, file yang didapat diubah ke []byte untuk dijadikan return value.</description>
    </item>
    
    <item>
      <title>Golang - Parse String Time to Time</title>
      <link>https://blog.cryppy.id/article/parse-string-time-to-time/</link>
      <pubDate>Fri, 18 Nov 2022 15:27:24 +0700</pubDate>
      
      <guid>https://blog.cryppy.id/article/parse-string-time-to-time/</guid>
      <description>Langsung to the point aja, ketika menemukan format tanggal dalam bentuk string dan ingin mengolahnya tentunya kita perlu parsing tanggal tersebut agar menjadi bentuk time.Time di golang.
func parsingTimeStringToTime(date string) (time.Time, error) { if date == &amp;#34;&amp;#34; { return time.Time{}, errors.New(&amp;#34;invalid date&amp;#34;) } // fit the layout // see here default layout from go time.Time: https://pkg.go.dev/time#Constants // i.e date = &amp;#34;2023-01-25 15:04:05&amp;#34; layout := &amp;#34;2006-01-02 15:04:05&amp;#34; convDateStr, err := time.Parse(layout, date) if err !</description>
    </item>
    
    <item>
      <title>What I Learned - Redis Keyspace Notification</title>
      <link>https://blog.cryppy.id/article/what-i-learned-redis-keyspace-notification/</link>
      <pubDate>Sat, 22 Oct 2022 22:58:14 +0700</pubDate>
      
      <guid>https://blog.cryppy.id/article/what-i-learned-redis-keyspace-notification/</guid>
      <description>Kenapa bukan Today I Learned? Ya biar ga mainstream aja haha.
First of all apa itu redis keyspace notification? sederhanya, ini adalah sebuah publish-subscribe pada redis dimana ketika terjadi sebuah perubahan data pada redis, maka akan terdapat notif. Kalau sudah sering develop arsitektur yang menggunakan microservice tentunya tidak asing dengan istilah publish (pub) dan subscribe (sub).
Apabila kita menggunakan message broker nats.io (sekarang udah jadi jetstream) tentunya paham apa arti dari pub dan sub itu tadi, atau misalnya kita pakai kafka yang mungkin sedikit berbeda penyebutannya, yaitu, produce, consume dan lain sebagainya.</description>
    </item>
    
    <item>
      <title>Golang - Add New Element Without Redudancy</title>
      <link>https://blog.cryppy.id/article/add-new-element-without-redudancy/</link>
      <pubDate>Sat, 15 Oct 2022 22:24:18 +0700</pubDate>
      
      <guid>https://blog.cryppy.id/article/add-new-element-without-redudancy/</guid>
      <description>Ga kayak di javascript (JS) kita bisa memapulasi data banyak dengan library bawaan. Entah itu buat searching element di array, remove element di array atau bahkan sekadar me-reverse kita bisa dengan hanya memanggil method-nya saja.
note: di golang ada yang menyebut array itu slice atau mungkin keduanya dibedakan, hanya saja saya tidak terbiasa dengan hal itu. Bila kamu ingin mendalami lebih lanjut sebenernya emang array dan slice di golang itu berbeda.</description>
    </item>
    
    <item>
      <title>Golang - Count Duplicate Element</title>
      <link>https://blog.cryppy.id/article/count-duplicate-element/</link>
      <pubDate>Tue, 20 Jul 2021 22:04:09 +0800</pubDate>
      
      <guid>https://blog.cryppy.id/article/count-duplicate-element/</guid>
      <description>Di golang ada sebuah tipe data bernama map sama seperti dictionary bila di python atau bila di javascript tentunya kita sudah sangat akrab, yakni objects. Which is ketiganya mirip yaitu sama-sama bisa menyimpan banyak value dan sama-sama terdapat 2 buah value data, key dan value.
Di artikel ini kita akan membahas tentang berapa value yang sama, yang ada pada tiap element di array. Ini kalau tidak salah saya disuruh untuk mengembalikan response harga obat beserta nama dan jumlahnya dimana data yang kita dapat berupa array</description>
    </item>
    
    <item>
      <title>Golang - Get Time based on Location</title>
      <link>https://blog.cryppy.id/article/get-time-in-location/</link>
      <pubDate>Tue, 20 Jul 2021 22:03:09 +0800</pubDate>
      
      <guid>https://blog.cryppy.id/article/get-time-in-location/</guid>
      <description>Di golang terdapat built in package time dimana kita bisa mendapatkan/memanipulasi waktu yang diperlukan, lengkapnya time. Untuk mendapatkan format waktu sesuai sama lokasi dimana kita berada, pertama panggil fungsi time.LoadLocation(&amp;ldquo;Asia/Jakarta&amp;rdquo;).
Sebagai tambahan kita panggil fungsi time.Now.In(dengan parameter variable location) yang telah kita definisikan sebelumnya, untuk mendapatkan waktu saat ini/waktu coding ini dijalankan.
import ( &amp;#34;log&amp;#34; &amp;#34;time&amp;#34; ) func TimeHostNow() time.Time { // you can change Asia/Jakarta with your own location. // check on this https://en.</description>
    </item>
    
    <item>
      <title>Golang - Calculate Date By Ages</title>
      <link>https://blog.cryppy.id/article/calculate_date_by_ages/</link>
      <pubDate>Sun, 18 Jul 2021 22:11:09 +0800</pubDate>
      
      <guid>https://blog.cryppy.id/article/calculate_date_by_ages/</guid>
      <description>Sebelum kesini ada baiknya untuk liat &amp;ldquo;artikel ini&amp;rdquo;, karena disini akan memakai fungsi yang sama seperti artikel tersebut untuk mendapatkan waktu berdasarkan lokasi yang diinginkan.
Ketika memasukkan umur, maka secara otomatis mengembalikan string tanggal sekarang tetapi tahunnya adalah tahun kelahiran kamu. Tambahkan 2 parameter integer di fungsi untuk bulan dan hari agar bisa mendapatkan tanggal yang sesuai dengan yang kamu mau.
import ( &amp;#34;time&amp;#34; ) func CalcDate(ages int) string { if ages == 0 { return &amp;#34;&amp;#34; } now := TimeHostNow() // get now time based on location https://blog.</description>
    </item>
    
    <item>
      <title>Golang - Generate Random String</title>
      <link>https://blog.cryppy.id/article/generate-random-string/</link>
      <pubDate>Sat, 03 Jul 2021 18:51:34 +0800</pubDate>
      
      <guid>https://blog.cryppy.id/article/generate-random-string/</guid>
      <description>Di artikel sebelumnya kita sudah membahas bagaimana cara membuat angka acak di golang, pada dasarnya sama, teorinya pun sama, kita hanya perlu mengganti charset dan yang paling penting adalah parameter dan return value-nya
import ( &amp;#34;math/rand&amp;#34; &amp;#34;time&amp;#34; ) func GenerateRandomString(lengthChar int) string { var charset = &amp;#34;ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijkklmnopqrstuvwxyz&amp;#34; var seededRand *rand.Rand = rand.New(rand.NewSource(time.Now().UnixNano())) b := make([]byte, lengthChar) for i := range b { b[i] = charset[seededRand.Intn(len(charset))] } return string(b) } </description>
    </item>
    
    <item>
      <title>Golang - Generate Random Number</title>
      <link>https://blog.cryppy.id/article/generate-random-number/</link>
      <pubDate>Thu, 01 Jul 2021 18:44:58 +0800</pubDate>
      
      <guid>https://blog.cryppy.id/article/generate-random-number/</guid>
      <description>Biasanya generate angka random dipakai untuk membuat passcode, ID (biasanya campuran angka dan huruf), dll. Di artikel ini kita hanya membuat angka acak dengan panjang angka sesuai sama yang kita inginkan. Di golang ada built in package math/rand untuk membuat data acak.
Basis dari package tersebut ialah PRNG atau pseudo-random number generator. Deret angka random yang dihasilkan sangat tergantung dengan angka seed yang digunakan. Oleh karena itu disini kita menggunkan package time untuk memanggil fungsi waktu sekarang dengan format sampai nano-second untuk mendapatkan random angka yang tak mudah ditebak/berulang.</description>
    </item>
    
  </channel>
</rss>
