Judulnya sengaja gw samain dengan salah satu buku leadership yang cukup fenomenal (menurut gw) bagi para tech leaders di seluruh dunia. Di bukunya menceritakan bagaimana pengalaman Camile yang dulunya merupakan seorang Tech Lead hingga menjadi seorang CTO. Sebenarnya ada beberapa buku yang sudah gw baca mengenai leadership terutama mengenai engineering leadership seperti Radical Candor, The Phoenix Project and Leader Eat Last (general leadership book). Dari buku-buku tersebut, The Manager’s Path adalah buku yang paling mewakili perjalanan karir gw sebagai seorang tech leaders dan kali ini gw akan menceritakan bagaimana berkarir sebagai seorang tech leaders berdasarkan pengalaman gw langsung dan juga kombinasi dari ilmu yang gw pelajari dari buku-buku tersebut.
Read MoreHi guys, kali ini gw akan membahas mengenai slate lagi. Beberapa hari belakangan ini gw mencoba cari cara bagaimana membuat dokumentasi yang bagus namun tidak membuat gw repot. Di tiket.com sendiri sebenarnya sudah ada swagger untuk mempermudah developer dalam mengetes api namun balik lagi itu saja sudah tidak cukup. Lalu kepikiran, bisa gak sih ngubah swagger ke slate? At least simplenya gw ga perlu bikin dari awal lagi. Jawabannya adalah bisa tapi ya semi-semi harus update dikit-dikit. Ibarat orang ujian copas tapi butuh config dikit-dikit.
Read MorePada tahun 2019, gw mendapatkan kesempatan untuk menjadi lead di project myorder di tiket.com. Menurut gw project ini lumayan riweh karena pada dasarnya gw join belakangan trus dapat sisaan. Hanya saja dari project ini gw lumayan belajar mengenai mysql pooling, mysql query optimization dan yang terakhir adalah embedded server / servlet container. Jadi gampangnya, ketika menjalankan aplikasi springboot, biasanya ada servlet yang nempel didalamnya, dan kebetulan yang dipakai di tiket.com defaultnya adalah tomcat. Tetapi bukan hanya tomcat yang akan kita bahas, ada jetty dan juga undertow.
Read MoreSeperti yang gw bilang pada post gw yang sebelumnya, kali ini gw akan membahas bagaimana cara thread pada scheduler from executor bekerja dan cara menghitungnya. Hal ini penting karena seperti yang gw bilang, apabila cuma pakai saja tapi tidak mengerti fundamentalnya maka tentu akan berbahaya. Kenapa berbahaya? Karena bisa mengarahkan aplikasi kepada out of memory, client timeout dan rejection terhadap request yang datang. Oleh karena itu, mari kita bahas cara kerjanya satu per satu.
Read MoreMasi sama seperti yang ditulis di post sebelumnya tentang presentasi gw mengenai thread modelling di springboot. Gw memikirkan gimana caranya untuk ga bolak-balik pakai postman untuk presentasi cara kerja thread ketika harus call rest API. Untung di kantor standardnya menggunakan swagger untuk memudahkan test, akhirnya gw memutuskan untuk mencoba install swagger di project buat presentasi. Ternyata tidak semudah itu fergusso hehe. Jadi kali ini gw sedikit menjelaskan bagaimana cara installnya.
Read MoreHi, beberapa hari yang lalu gw dapat kesempatan untuk sedikit mempresentasikan bagaimana cara kerja thread di java. Sebenarnya gw cuma dapat apes aja karena ga ada yang presentasi akhirnya gw yang ditunjuk. Tetapi di sisi lain gw menyadari bahwa selama ini, banyak anggota tim gw yang bikin scheduler tapi sebenarnya ga ngerti cara pakainya, cuma taunya kalau bikin scheduler itu berarti sebuah proses akan dilempar ke thread lain tanpa mengganggu thread utama. Ga salah juga, cuma kalau pemahaman cuma seperti itu, ya ga benar juga. Jadi kali ini gw akan membahas mengenai scheduler di Spring Webflux.
Read MoreHi, sudah lama sekali tidak menulis blog. Kali ini gw mendapatkan tugas dari kantor untuk membuat sebuah dokumentasi untuk tim apps. Selama ini gw berpikir dengan menggunakan swagger maka semua sudah selesai, nyatanya tidak seperti itu. Beberapa merasa kesulitan karena API yang dibuat hanya menginfokan mengenai penggunaan request dan response. Berangkat darisana, beberapa developer berniat untuk membuat dokumentasi di confluence, ada juga yang menyarankan menggunakan apiary. Darisana gw teringat mengenai dokumentasi yang pernah dishare di hackaton yang pernah gw jalanin di 2016 bersama BCA. Mereka menggunakan sebuah dokumentasi bernama slate.
Halo gengs, akhirnya sampai juga di penghujung tutorial tentang docker. Dari tulisan-tulisan gw sebelumnya, kalian sudah mempelajari bagaimana cara docker bekerja, membuat koneksi mysql dengan docker, lalu menginstall bahasa pemrograman php dengan docker dan yang terakhir bermain dengan redis dan rabbitmq. Sebagai seorang beginner di docker, kemampuan kalian sudah meningkat cukup pesat, hanya saja akan cukup stress setiap kali mau koding harus jalanin command tersebut secara satu per satu. Bukankah hidup akan lebih mudah apabila kita bisa melakukan itu dengan menjalankan 1 command saja dimana sudah menjalankan mysql, php, redis dan rabbit secara bersamaan. Apakah hal itu memungkinkan dalam docker? Ya itu sangat mungkin dan inilah tahap pembelajaran terakhir sebagai seorang pemula dalam docker. Di tahap terakhir ini, maka bisa dipastikan kalian bisa sedikit sombong mengenai docker ( tapi sombong itu tidak baik, jadi ga perlu gitu juga lah ). Lalu apa yang bisa kita lakukan agar 1 command bisa menjalankan semua command itu secara bersamaan? Jawabannya adalah docker-compose. Yuk kita pelajari lebih lanjut mengenai docker compose.
Halo gengs, seperti yang gw bilang kemarin, kali ini gw akan membahas kembali mengenai docker. Untuk tulisan kali kemarin kita sudah belajar bagaimana cara docker bekerja, menggunakan database mysql di docker sampai melakukan scripting bahasa pemrograman ( php ) menggunakan docker. Oleh karena itu, mari kita coba ke level yang berikutnya yakni redis dan rabbitmq. Mungkin bagi kalian yang belum tau apa itu rabbitmq dan redis, akan sedikit gw beri penjelasan mengenai 2 hal ini. Redis dikutip dalam website resminya merupakan memory data structure yang extremely fast. Khusus dalam tulisan ini, gw hanya akan membahas redis sebagai cache. Jadi kalau ingin implementasi penggunaan yang lain, dicoba sendiri ya. Sedangkan untuk rabbitmq merupakan message broker dimana semua data ditaro dalam queue lalu dimana ada consumer yang mengambil data dalam queue secara asynchronously. Tetapi balik lagi, disini gw hanya akan menjelaskan tutorial bagaimana cara menginstallnya menggunakan docker dan membuat hidup kalian menjadi lebih simple.
Selamat malam guys, berhubung gw lagi semangat untuk menulis dan lagi banyak banget waktu luang karena seminggu ke depan libur lebaran, maka gw akan menulis lagi mengenai docker. Karena pada tulisan sebelumnya gw menceritakan bagaimana cara menggunakan mysql ( percona ) dengan docker, kali ini gw akan menuliskan bagaimana menggunakan docker untuk bahasa pemrograman php. Buat kalian yang biasa menggunakan php sebagai bahasa pemrograman, biasanya paling simple kalian langsung install xampp. Cara ini terbilang cepat karena uda bundling, namun buat yang hanya butuh php saja maka tidak makesense harus install semuanya. Daripada bingung-bingung yuk kita lanjut ke tutorial instalasi php dengan docker.