Living life and Make it Better

life, learn, contribute

Endy Muhardin

Software Developer berdomisili di Jabodetabek, berkutat di lingkungan open source, terutama Java dan Linux.

Setup Deployment ke PaaS

Pada artikel sebelumnya, kita telah mengotomasi proses build dari aplikasi kita. Langkah selanjutnya adalah mendeploy aplikasi kita tersebut ke server yang bisa diakses orang banyak, supaya bisa dilakukan testing oleh manusia.

Ada banyak provider server yang bisa digunakan, ada yang berbayar dan ada yang gratisan. Di antara yang gratisan adalah Openshift dan Heroku. Openshift menyediakan tiga aplikasi yang dapat diinstal tanpa bayar. Sedangkan Heroku membatasi aplikasi gratisnya hanya bisa jalan 18 jam sehari.

Paket gratis ini cukup memadai untuk keperluan testing. Sedangkan nanti bila aplikasi kita sudah digunakan di production, kita bisa menggunakan paket berbayar atau sewa server sendiri baik VPS maupun colocation.

Kedua provider ini mendukung deployment menggunakan git push, jadi kita tidak perlu upload file jar atau war berukuran besar. Cukup push saja source code, nanti dia akan melakukan build dan deployment.

Mari kita mulai …

Lanjut membaca ...


Setup Continuous Integration

Pada artikel sebelumnya, kita telah membuat struktur project lengkap dari database sampai ke web. Project tersebut juga telah dilengkapi dengan automated test dan sampel data.

Akan tetapi, di artikel terdahulu tersebut, kita harus menjalankan semua test tersebut melalui command line. Dengan demikian, bila ada programmer yang malas membuat automated test dan menjalankannya, kita tidak bisa mendeteksinya.

Untuk itu, kita akan mengkonfigurasi continuous integration, yaitu suatu scheduler yang memantau repository Git kita, dan menjalankan proses build pada waktu ada update di repository. Dengan demikian, apabila terjadi error, semua anggota tim bisa langsung mendapatkan notifikasi.

Ada beberapa tools untuk menjalankan proses ini. Pada jaman dahulu saya pernah juga menulis artikel tentang penggunaan CruiseControl dan Luntbuild. Tapi itu artikel jadul sekali, yang populer pada jaman sekarang adalah Travis dan Jenkins

Lanjut membaca ...


Setup Project Baru

Bila kita ingin memulai pembuatan suatu aplikasi, tentu ada hal-hal yang harus dipersiapkan dulu agar tim bisa bekerja dengan baik. Berikut adalah checklist hal-hal yang biasa saya siapkan sebelum project dimulai.

  • Membuat Repository Git
  • Membuat struktur file dan folder project
  • Membuat satu flow utuh dari database sampai ke tampilan
  • Membuat contoh automated test lengkap dengan sample datanya
  • Setup continuous integration agar aplikasi dites secara otomatis dan berkala
  • Setup continuous deployment agar setelah lulus tes otomatis, aplikasi langsung dideploy dan siap dites oleh tester

Karena langkahnya cukup banyak, maka artikel ini kita bagi menjadi beberapa bagian:

Kita mulai dengan Setup Project

Lanjut membaca ...


Persiapan Coding AngularJS 2

Artikel ini sudah kadaluarsa, mengingat perkembangan Angular yang luar biasa cepat. Silahkan nonton video tutorialnya untuk mendapatkan versi yang lebih up to date.

Saat ini, framework front end yang kami gunakan di ArtiVisi, AngularJS, sudah merilis versi 2. Walaupun saat ini masih berstatus Beta, tapi menurut developernya sudah bisa digunakan untuk aplikasi berskala besar.

Menurut kabar berita, AngularJS versi 2 ini berbeda 180 derajat dengan versi 1 yang kami gunakan. Sekilas lihat, ternyata memang benar. AngularJS versi 2 ini menggunakan bahasa TypeScript, bukan JavaScript. Kode programnya malah lebih mirip Java daripada JavaScript.

Mumpung perbedaannya sangat signifikan, momen ini bisa digunakan untuk mengevaluasi alternatif lain. Setidaknya ada beberapa kandidat yang sebanding kelasnya (full framework, bukan library):

Bagaimana perbandingannya?

Lanjut membaca ...


JavaScript 2015

Beberapa minggu yang lalu, tim AngularJS merilis versi Beta dari AngularJS versi 2. Masih belum rilis Stable, tapi mereka menjanjikan bahwa versi ini cukup stabil untuk dipakai di production.

Seperti pada tulisan saya sebelumnya, seorang programmer harus selalu siap mempelajari teknologi baru. Setelah melihat tutorial Angular 2, kembali tulisan saya tadi terbukti. Banyak sekali teknologi baru yang belum saya pahami sejak terakhir eksplorasi teknologi di tahun 2014, padahal baru 2 tahun berlalu.

Apa saja teknologi baru tersebut?

Pada artikel ini, kita hanya akan bahas di sisi front-end saja, yaitu client-side JavaScript. Pada lain waktu kita akan bahas di sisi server-side.

Beberapa teknologi yang baru saya pelajari dengan rilisnya Angular 2 Beta ini adalah:

  • Berbagai varian JavaScript : ES5, ES6, CoffeeScript, TypeScript
  • Berbagai sistem modul untuk JavaScript, misalnya : CommonJS, RequireJS, AMD, dan ESM (fitur standar dari ES6)
  • Berbagai library untuk melakukan loading modul, misalnya: browserify, webpack, SystemJS
  • Berbagai framework untuk membuat aplikasi, misalnya: AngularJS, EmberJS, React, Flux
  • Berbagai tools untuk melakukan test, misalnya: Karma, Jasmine, PhantomJS
  • Berbagai tools untuk melakukan proses build dan otomasi, misalnya: Gulp, Grunt, Brunch, Broccoli, Jake, dsb

JavaScript Stack 2015

Wah banyak sekali?

Jangan khawatir, pada tulisan ini, kita akan kupas tuntas garis besarnya.

Kenapa judul artikelnya 2015? Kan sekarang sudah 2016.

Semua yang dibahas di sini adalah kondisi existing di tahun 2015. Di tahun 2016 ini, tentunya akan banyak perkembangan yang lebih canggih lagi.

Lanjut membaca ...