Showing posts with label eros. Show all posts
Showing posts with label eros. Show all posts

Sunday, March 18, 2018

Introduce to Ruby on Rails

Halo sobat, kembali lagi di blog Nostra!

Pada kesempatan kali ini, kami akan memberikan pengenalan tentang Ruby on Rails.

Ruby on Rails (disingkat menjadi Rails) adalah framework yang ditulis dengan bahasa pemrograman Ruby, yang diperkenalkan pertama kali pada tahun 2004. Rails termasuk server side, yang berarti semua proses dijalankan pada server, bukan pada client's browser.

Ruby itu sendiri merupakan salah satu high level programming language dan menggunakan konsep object oriented programming. Ruby populer karena beberapa hal berikut:
- Mudah dipelajari
- Open source
- Library yang banyak

Dengan beberapa kelebihan tersebut, tentunya Ruby memiliki beberapa kekurangan, beberapa kekurangannya, adalah:
- Performa yang tidak sebanding dengan Java, C, C++, dan lainnya
- Threading model yang digunakan oleh Ruby menggunakan virtual machine, tidak menggunakan native OS thread

Rails sendiri memiliki beberapa keuntungan:
- Framework yang membuat developer lebih produktif
- Tidak membutuhkan proses compile
- Anda bisa membuat aplikasi setidaknya lebih cepat 10 kali daripada framework berbasis Java

Rails juga merupakan full-stack framework, karena menggunakan MVC (model view controller) pattern, sehingga Rails memiliki backend dan frontend sendiri. Secara code, Rails juga lebih simple, sehingga anda dapat membuat aplikasi dengan lebih sedikit baris.

Salah satu contoh code yang ditulis menggunakan Rails:


Sekian introducing to Ruby on Rails kali ini, sampai bertemu di part kedua (yang akan menjelaskan function-function dasar pada Rails).

How-to: Building RESTful API on Ruby on Rails

Halo semua, kembali lagi di Blog Nostra!

Kali ini kami akan membagikan tentang bagaimana cara mengimplementasi RESTful API pada Ruby on Rails. Sebelum memulai, kami akab memberikan beberapa informasi mengenai REST API dan Ruby on Rails itu sendiri.

- What is Ruby on Rails?
Ruby on Rails (disingkat menjadi Rails) adalah framework yang ditulis dengan bahasa pemrograman Ruby, yang diperkenalkan pertama kali pada tahun 2004. Rails termasuk server side, yang berarti semua proses dijalankan pada server, bukan pada client's browser. 

- What is RESTful API?
RESTful API adalah application program interface yang menggunakan HTTP request untuk mengolah data. Pertama kali diperkenalkan pada tahun 2000 oleh Roy Fielding. REST API banyak digunakan oleh web service development.

Kenapa sih menggunakan Rails? Dari segi development, less painful, karena hanya dengan sebuah script, bisa me-generate model dan controller nya. Selain itu, Rails juga mudah dibaca, bahkan oleh orang yang tidak memiliki dasar pemrograman.

Nah langkah-langkah untuk menggunakan Rails adalah:
- Install Ruby
brew install ruby
- Install Rails
brew install rails
- Konfigurasi database (jika diperlukan)
- Run Rails
rails s

note: jika ingin menambahkan dependency pada Gemfile, lakukan `bundle install` untuk me-include dependency yang baru anda masukan

Script untuk membuat Model:
`rails g model {nama model} {nama variable}:{tipe data} {nama variable}:{tipe data} ...`

Script untuk membuat Controller:
`rails g controller {nama controller}`

Setelah men-define apa yang akan dilakukan oleh controller, saatnya mendefinisikan route untuk method-method yang ada di controller. berikut salah satu contoh controller dan route nya:



Wala, sudah jadi deh RESTful API menggunakan Rails! Selamat mencoba!
Keep smart, keep code, and make money!

Saturday, December 16, 2017

Overview to Moon.js: Part 2

Halo, kembali lagi nih ke sesi Overview to Moon.js bagian kedua. Pada kesempatan kali ini, kami akan membagikan beberapa contoh bagaimana menggunakan fitur-fitur yang terdapat pada Moon.js. Sebelum kita lanjut ke isi, mungkin ada beberapa yang belum tau, apa itu Moon.js? Moon js adalah salah satu library JavaScript yang masih sangat baru. Jadi Moon ini mengkombinasikan aspek-aspek positif dari libraries yang populer. Moon juga sangat ringan dan sudah include optimisasi yang akan membuat render time lebih cepat. Untuk lebih lengkap mengenai informasi dasar dari Moon.js bisa berkunjung ke Overview to Moon.js Part 1.

- Menampilkan Data dari Instance



`el` itu menunjukan bahwa bagian tersebut untuk id tertentu. Contohnya `el: "#app1"` maka yang terdapat pada `data` bisa diakses oleh <div> dengan id="app1".

- Merubah Nilai
untuk merubah value pada `msg` bisa menggunakan:
app1.set('msg', 'Hello Moon Changed!'); 

- Membuat Method
Mirip dengan yang ada pada Vue.js, membuat method/function cukup mudah, hanya dengan
namaFunction: function(parameter)
Berikut salah satu contoh membuat method/function yang me-return sebuah nilai

Khusus untuk yang me-return sebuah nilai, bisa dikeluarkan nilainya pada html, contoh untuk menampilkan hasil dari function diatas adalah dengan

- Menggunakan Fitur If (Untuk menampilkan nilai tertentu, jika value suatu nilai bernilai true)


Maka tulisan "The Condition is True!" akan tampil. Jika kita lakukan:
app5.set('condition', false);
Maka tidak ada yang ditampilkan.

- Menggunakan Fitur Loop
Cukup gunakan `m-for` untuk melakukan looping di Moon



Oke sekian dulu sharing pada kesempatan kali ini, semoga bisa memberikan gambaran bagaimana menggunakan Moon.js yaa!

Enable Asynchronous on Spring Boot

Halo teman-teman pembaca setia blog Nostra. Pada kesempatan kali ini kami akan membagikan bagaimana cara agar bisa menjalankan suatu method secara asynchronous pada framework yang Nostra gunakan, yaitu Spring Boot. Mungkin ada yang belum tau, apa itu asynchronous? Asynchronous secara bahasa artinya 'happening at the same time'. Intinya, asynchronous bisa menjalankan proses lain secara bersamaan dengan proses yang sedang berlangsung.

Kenapa kita perlu menggunakan asynchronous? Tentunya karena beberapa alasan, tetapi disini akan kami berikan satu alasan utamanya, yaitu menjalankan banyak proses tanpa harus menunggu proses sebelumnya, sehingga proses tersebut tidak saling tunggu.

Gimana cara agar method yang ada dijalankan secara asynchronous? Di Spring Boot hal ini sangat mudah, karena Spring Boot sudah menyediakan fitur tersebut. Hanya dengan memberikan annotation `@EnableAsync` pada configuration file dan `@Async` pada method yang ingin dijalankan secara asynchronous. Berikut langkah-langkah lebih lengkapnya:

- Buat configuration file yang me-enable async

Diatas menggunakan Bean annotation dengan nama "executor", tentunya anda dapat mengganti nama tersebut. Gunanya adalah untuk memudahkan dalam memanggil executor asynchronous.

- Gunakan @Async pada method yang ingin dijalankan secara asynchronous

Menggunakan @Async("executor") dengan "executor" adalah nama Bean yang sudah dibuat pada langkah sebelumnya. Pada contoh kali ini membutuhkan return value, untuk method yang akan dijalankan secara asynchronous, perlu menggunakan Future<{tipe data yang ingin di return}>.

- Call method yang akan dijalankan secara asynchronous


Dan walaaa, method anda sudah berjalan secara asynchronous. :)

Sudah cukup sharing nya pada kesempatan kali ini, semoga apa yang kami bagikan dapat bermanfaat bagi anda. Sekian, semoga sukses selalu!

Sunday, September 17, 2017

Android Oreo, Is It Good?

Android adalah salah satu mobile OS yang paling banyak digunakan oleh smartphone. Sampai kuartal 4 tahun lalu, Android memiliki 81.7% Market Share dari para pesaingnya, seperti iOS, Windows Phone, Blackberry, dan lain-lain.

Dari 81.7% tersebut, terdapat distribusi versi Android yang berbeda pula. Lebih jelasnya sebagai berikut:
Data collected during a 7-day period ending on September 11, 2017.
Any versions with less than 0.1% distribution are not shown


Nah, dari penggunaan versi OS tersebut, ternyata paling banyak masih menggunakan Android 6.0 atau Marshmallow. Kenapa? Karena tidak setiap vendor smartphone memberikan update terhadap smartphone yang mereka jual. Tapi, kenapa sih dapet update OS itu penting? Karena pada dasarnya, setiap update OS akan meningkatkan performa dari smartphone. Karena sekarang Android 8.0 udah keluar, yuk kita intip, apa aja sih yang bikin kita ngiler untuk dapet update Android 8.0 alias Oreo...

1. Looking Good
    Dari Android 7.0 atau Nougat, memang tidak ada perubahan yang signifikan dari segi UI. Tapi perubahan tersebut tetap ada dengan meningkatkan usability. Yang paling terlihat adalah dari Settings menu, karena sekarang terdapat pengelompokan setting, sehingga pengguna akan lebih mudah dalam bernavigasi.

2. Adaptive Icon
    Biasanya, icon setiap OEM akan berbeda-beda, dengan fitur ini di Android Oreo, maka icon-icon akan beradaptasi bentuk sesuai dengan keinginan pemiliknya.


3. Taking Control
     Di Android Oreo, pengguna mempunyai banyak control dari notification panel. Seperti snooze notification

Picture-in-Picture mode, yaitu pengguna bisa membuat video yang sedang dimainkan menjadi floating window, sehingga pengguna bisa menonton video yang sedang dimainkan sambil melakukan aktifitas lain.


4. Quicker Access
    Fitur ini terlihat seperti 3D Touch yang ada pada iPhone 6s keatas, tapi saya pribadi menyukai fitur ini, karena dengan fitur ini, kita bisa melakukan sesuatu yang spesifik tanpa harus membuka aplikasi terlebih dahulu.

5. High Performance Bluetooth Audio
    Ini adalah fitur yang paling dibutuhkan oleh orang-orang yang menggunakan wireless headphone/earphone atau semacamnya. Karena percuma bukan kalau anda mempunyai wireless headphone kalau bluetooth pada smartphone anda tidak bisa disesuaikan Codec nya? Dengan fitur ini, anda dapat mendegarkan lossless file alias FLAC lewat wireless headphone/earphone anda.


Kesimpulan, Oreo sepertinya sudah melakukan perkembangan yang cukup penting, terutama karena Oreo melakukan improvement untuk memberikan kemudahan kepada pengguna, dan untuk saat ini Oreo adalah Android OS yang terlihat paling baik.

Disamping itu, Google juga menyebutkan bahwa performance pada Oreo 2 kali lebih cepat dibandingkan dengan Nougat... hmm kita lihat saja nanti yaaa!

references:
http://www.androidauthority.com
https://www.android.com/versions/oreo-8-0/
https://www.theverge.com/2017/2/16/14634656/android-ios-market-share-blackberry-2016
https://developer.android.com/about/dashboards/index.html#Screens

Overview to Moon.js

Overview
Moon js adalah salah satu library JavaScript yang masih sangat baru. Jadi Moon ini mengkombinasikan aspek-aspek positif dari libraries yang populer. Moon juga sangat ringan dan sudah include optimisasi yang akan membuat render time lebih cepat.

Sebagai perbandingan, berikut adalah hasil minified dari library populer, dibandingkan dengan Moon:
   - Preact - 3kb
   - Moon - 7kb
   - Mithril - 8kb
   - Vue - 25.86kb
   - React + React DOM - 43kb
   - Angular 2 - 111kb

Sedangkan performanya:
   - Moon - 102 repaints/sec
   - Mithril - 95 repaints/sec
   - Angular 2 - 62 repaints/sec
   - Vue - 50 repaints/sec
   - React - 49 repaints/sec
   - Angular - 47 repaints/sec

Seperti yang sudah disinggung diatas, Moon mengkombinasikan aspek-aspek positif, seperti mengambil kemampuan untuk menggunakan JSX dan menggunakan Virtual DOM (mengikuti dari React), memberikan directive yang mudah digunakan (diambil dari Angular), dan menggunakan templating engine (seperti Ember).

Menggunakan Moon sangat mirip seperti Vue, karena Moon berbasis dari Vue. Berikut adalah salah satu contoh dari Moon:


Jika ingin merubah warna, tinggal lakukan:
app1.set('color', 'yellow')



Moon, seperti Vue, juga memiliki built-in directives, yang penggunaannya sangat mirip dengan yang ada pada Vue. Berikut beberapa directives bawaan Moon:
- m-if="condition"
     Penggunaannya mirip dengan v-if, jika kondisi yang diberikan bernilai true, maka tag tersebut akan ditampilkan. Sebaliknya, jika kondisi bernilai false, maka tag tersebut tidak akan ditampilkan.
- m-for="item in list"
     Penggunaannya mirip dengan v-for, isi yang ada didalam list akan dikeluarkan oleh m-for.
- m-on:click
     Penggunaannya seperti on-click pada JavaScript biasa, akan menjalankan fungsi jika tag tersebut ditekan.

Oke sekian dulu Overview dari Moon js nya, semoga kebayang dengan Moon yaa!

references:
http://moonjs.ga