23 September 2017

Linux Ubuntu Server Important Commands

  • Adding new user: adduser {username}
  • Adding user to sudo group (seperti administrator) gpasswd -a {username} sudo
  • Change user from root su - {username}
  • Update package dengan versi terbaru seandainya ada, atau updating packages dari repository sudo apt-get update
  • Upgrade software dengan versi terbaru sudo apt-get upgrade
  • Memberi nama kepada host (hostname) echo "{yourHostname}" > /etc/hostname
  • Editing hosts /etc/hosts file nano /etc/hosts
  • Editing local timezone dpkg-reconfigure tzdata
  • Setelah kamu menginstall MongoDB, kamu bisa men-run mongodb server dengan sudo service mongodb start
  • Untuk melihat daftar program yang sedang berjalan 'running processes' ps -ef
  • Untuk menghentkan suatu program atau running process kill {processID} atau kill -9 {processID}
  • Seandainya kamu menggunakan 'putty' untuk mengakses remote server, pasti kamu tahu bahwa ketika kita mengakhiri suatu session, maka program yang berjalan di foreground akan mati. Untuk mengakalinya, kita bisa menggunakan programm 'screen'. Setelah kamu menginstall screen sudo apt-get install screen, kamu bisa memulai screen dengan mengetik screen dan untuk keluar dari session tanpa mematikan process yang sedang berjalan kamu bisa men-detach screen dengan CTRL + A + D. untuk kembali masuk ke screen yang tadi kamu detach, kamu bisa ketik screen -r {screenID} untuk men-rettach screen tersebut

Using Retrofit to build HTTP Client on Android

Untuk berkomunikasi dengan remote server, kamu bisa menggunakan java 3th party library 'Retrofit'. Dengan library ini kamu bisa mengirim dan menerima data ke dan dari remote server dalam bentuk JSON. Retrofit adalah library favorit saya karena mudah sekali untuk menggunakannya. Disini saya akan merangkum step-step bagaimana kamu bisa menggunakan retrofit dengan cepat di project kamu

  1. Tambahkan internet permission ke dalam manifest XML file.
  2. Tambahkan Retrofit dan Gson kedalam gradle build file
  3. Buat Object class yang akan di kirim atau di terima sebagai JSON file, jangan lupa bahwa semua fieldnya harus di declared dengan tipe String
  4. Buat ApiClient class
  5. Definisikan API Interface
  6. Gunakan ApiClient di Aplikasi kamu

Terkadang kamu harus membuat suatu class tambahan yang bisa menampung respon object dari server. Misal, kamu mengirim ("POST") user data melalui User object, akan tetapi jawaban (respond) dari server memiliki properties yang berbeda dari User class. Kamu bisa membuat Class Result yang bisa menampung respon dari server kemudian kamu bisa menambahkan Result Object kedalam Class User. Tool yang saya pakai untuk membuat Result class ini adalah JsonSchemaToPOJO Caranya mudah, masukan respon (JSON) yang kamu dapatkan dari aplikasi POSTMAN kedalam formular yang ada di Json2Pojo.

22 September 2017

NPM modules for a simple web application

  1. Express
  2. Nodejs backend framework untuk applikasi web. Memudahkan kamu untuk menghandle routes, get and post requests. untuk menginstall ketik npm install express --save
  3. Handlebar
  4. Adalah javascript templating engine dengan syntax yang sangat simple. Dengan menggunakan syntax {{yourObjectProperty}}. Untuk mengkombinasikan express.js dan handlebars.js kamu harus menginstall hbs packaged module dari npm. npm install hbs --save
  5. Nodemon
  6. Request
  7. Yargs
  8. Mongoose
  9. Body-parser
  10. Lodash
  11. validator
  12. jsonwebtoken
  13. bcrypt

20 September 2017

MongoDB important commands

  • Setelah kamu sukses menginstall MongoDB, kamu bisa masuk ke 'bin' directory dimana MongoDB diinstall. Di Windows biasanya directory ini berada di C:\Program Files\MongoDB\Server\YourMongoDBVersion\bin didalamnya kamu bisa menyalakan db server dengan mengetik mongod.exe --dbpath \Masukan\Path\Folder\pilihan\kamu lalu tekan enter.
  • Kalian bisa berkomunikasi dengan database dengan men-run mongo.exe di bin directory, atau dengan menggunakan mongo UI 'Robo 3T' (formerly 'Robomongo')

Node important commands

Starting a Project

Untuk memulai node project kita harus membuat directory, dan melalui command line, kita masukan npm init untuk memulai sebuah node project. Setelah menginisialisasi npm kita nantinya bisa menginstal npm modules ke applikasi yang kita buat.

Debugging:

  1. Untuk debugging, gunakan module nodemon, sehingga setiap perubahan pada code langsung bisa kita lihat effekt running time nya. Nodemon merestart programm kita setiap kali kita melakukan perubahan. cara menginstall 
    • npm install -g nodemon -g disini berarti global
    • nodemon [your node app] untuk menjalankannya.
  2. Debugging tool dengan menggunakan chrome browser nodemon --inspect-brk [your node app] lalu buka chrome browser dan ketik chrome://inspect
    disini kamu akan melihat app kamu di list di 'Remote Target' section. Setelah debugging window terbuka, kamu bisa mengklick di line number untuk meletakan stop points

19 September 2017

ES6 Features


ES6-string-injection

Di ES6 Ada cara mudah memasukan variable ke dalam String. Kalian cukup menggunakan tanda `Put your String here and add your variable like this ${yourVariable}`



Variable 'let'

Perbedaan utama di variable let adalah pada scope-nya. let syntax memungkinkan kita untuk mengimplementasi local variable dengan mudah.



Arrow Function

Arrow function sangat memudahkan kita menulis code di javascript. Tapi penggunaan arrow function saya sarankan hanya seandainya kamu sudah tau menulis fungsi tanpa menggunakan arrow function. karena penggunaan arrow function akan membingungkan tanpa memahami proses apa yang terjadi di balik itu.



Object destructuring

Kalian bisa membuat variable baru dari objects' properties



Promises

Untuk menghandle Asynchronous call, kita bisa menggunakan Promise methode. Cara ini lebih baik karena bisa meminimalisir kesalahan ketika berkerja dengan asynchronous methods.