Kemeriahan Bandung Developer Day 2016 Episode 3

Ridwan Fajar 2 Maret 2016

Kemeriahan Bandung Developer Day 2016 Episode 3

Bandung Developer Day (BDD) sudah dua kali diselenggarakan. Sebelumnya diselenggarakan di Co&Co Space Bandung. Di edisi yang ketiga, BDD diselenggarakan di sebuah tempat ikonik baru bagi para IT Developer yaitu Dicoding Space. Acara diselenggarakan sejak pukul 16.30 WIB di ruangan rapat lantai 2. Acara ini diprakarsai oleh DailySocial dan Dicoding. Acara dibuka dengan materi pertama yang disajikan oleh Arie Prasetyo sebagai Node.js Developer yang telah memiliki banyak pengalaman.

Diawali dengan penjelasan seputar Node.js, Arie kemudian menjelaskan cara install Node.js di beberapa sistem operasi, kemudian mengarahkan slide ke halaman unduh Node.js. Setelah itu versi Node.js yang loncat dari versi 0.x ke 4.x pun dipaparkan. Penyebab perubahan versi tersebut terjadi ketika IO.js dan Node.js melakukan merger agar pengembangan Node.js menjadi lebih baik. Selanjutnya Arie menjelaskan apa bedanya antara Node.js dan PHP, kemudian memperlihatkan contoh source code yang menghasilkan hello world dengan Node.js. Tidak luput dari pembahasan, Arie menjelaskan apa itu NPM dan menjelaskan beberapa NPM populer seperti Express, Forever, SocketIO, Async, dan Mongoose.

[caption id="attachment_7978" align="aligncenter" width="700"]Pak Narenda Wicaksono mewakili Dicoding membuka acara Bandung Developer Day 2016 3th Pak Narenda Wicaksono mewakili Dicoding membuka acara Bandung Developer Day 2016 3th[/caption]

Di bagian akhir materi pertama, Arie memperlihatkan beberapa contoh output seperti text/plain, JSON, dan HTML menggunakan Express.js. Sesi tanya jawab pun dimulai untuk sesi pertama ini, ada yang menanyakan cara hosting Node.js, cara membuat single page application, apa keuntungan menggunakan SocketIO dibanding AJAX, dan apakah ada modul Node.js untuk SQL Server.

Menjawab pertanyaan tersebut, untuk pertanyaan pertama, Arie menjelaskan bahwa untuk melakukan hosting Node.js, kita dapat melakukannya dengan melakukan setup menggunakan virtual private server. Untuk pertanyaan kedua, Arie menjelaskan kenapa memilih MongoDB, Angular.js, dan Express.js. Bagi Arie dengan hanya menggunakan Javascript, kita sudah dapat menghemat waktu untuk coding lebih efektif tanpa mengganti bahasa dalam satu waktu. Untuk pertanyaan ketiga, Arie menjelaskan bahwa SocketIO akan membuat aplikasi Anda tidak melakukan request terus menerus kepada server seperti yang dilakukan Ajax, dengan terbukanya socket antara web browser ke server, informasi akan diberikan langsung oleh server ke client tanpa harus terjadi request terlebih dahulu. Untuk pertanyaan terakhir, Arie langsung mengajak peserta ke halaman resmi NPM, dan memperlihatkan beberapa modul Node.js untuk SQL Server.

Sesi pertama selesai dan dilanjutkan dengan istirahat, sholat, dan makan. Selesai istirahat, Acara dilanjutkan kembali dengan sesi pengenalan dari Hooq yang disajikan oleh Dio Arrahman. Dio sendiri adalah seorang kontributor di Webkit dan Backend Developer di Hooq. Hooq sendiri merupakan sebuah layanan media premium berbayar yang menyajikan konten seperti film. Saat ini Hooq sedang mengepakkan sayapnya di Asia dan ASEAN. Dio sendiri menawarkan kepada peserta bila ada yang ingin bergabung bersama Hooq. Hooq sendiri menggunakan Node.js untuk membuat fasilitas streaming andalannya.

[caption id="attachment_7979" align="aligncenter" width="700"]Suasana peserta saat mengikuti acara Bandung Developer Day 2016 3th Suasana peserta saat mengikuti acara Bandung Developer Day 2016 3th[/caption]

Sesi terakhir dilanjutkan bersama Harimurti Prasetio, CTO dari NoLimit Indonesia. NoLimit merupakan sebuah perusahaan yang bergerak di bidang analisis sosial media. Hari sendiri sudah menggunakan Node.js untuk menyelesaikan beberapa masalah nyata saat melakukan anilisis tweet. Hari membawakan materi tentang High Performance Node.js. Sebelum loncat ke materi inti, Hari mengajak kembali peserta untuk mengenal Node.js dan menjelaskan bagaimana Node.js bekerja. Kemudian Hari menjelaskan apa itu event-loop dan mekanisme single-threaded yang dijalankan oleh Node.js. Hari menjelaskan juga beberapa NPM yang terkait dengan high performance dan modul bawaan Node.js seperti child, spawn, dan fork.

Setelah menjelaskan tentang apa itu high performance, Hari langsung memperlihatkan contoh kasus kepada peserta dengan kasus analisa tweet sebanyak 48.000 tweet. Hari memperlihatkan perbedaan yang terjadi ketika menggunakan modul multiprocessing, multihread, dan spawn. Setelah demo, sesi tanya jawab pun dibuka. Beberapa pertanyaan muncul seperti kapan harus menggunakan multiprocessing atau tidak, perbedaan cluster dengan fork, bagaimanakah performa Node.js jika digunakan untuk scraping halaman HTML seperti hasil pencarian dari maskapai penerbangan.

Menjawab pertanyaan pertama, Hari menejlaskakn bahwa kita harus melihat domain masalah terlebih dahulu. Kita harus melihat apakah masalah tersebut harus diselesaikan dengan multiprocessing atau tidak. Biasanya suatu masalah memerlukan multiprocessing ketika kita membutuhkan kerja CPU dan RAM yang lebih optimal. Menjawab pertanyaan kedua, Hari sendiri belum pernah menggunakan cluster kemudian Hari menjelaskannya secara konsep. Sedangkan untuk pertanyaan terakhir, Hari menjelaskan bahwa optimalnya memori ketika scraping tergantung dari coding yang kita buat, apabila coding yang kita tulis tidak optimal tentu tidak akan membuat solusi yang lebih baik.

Sesi ditutup dengan diperkenalkannya MProcess, sebuah NPM yang ditulis oleh Hari. NPM tersebut digunakan Hari di beberapa projek yang dikerjakan oleh NoLimit.

(rfs)