Setup Node.JS dan MongoDB di Linux

Node.JS dan MongoDB adalah perangkat lunak populer saat ini. Platform Node.JS dan Database MongoDB banyak digunakan untuk membuat aplikasi real-time. Pada kesempatan ini saya akan melakukan setup dan konfigurasi Node.JS dan MongoDB di Linux. Setup Node.JS Beberapa distribusi Linux sudah terdapat paket Node.JS di repositorinya. Tetapi, kali ini saya akan memasangnya dengan Node Version Manager (NVM) oleh creationix. Karena, NVM memungkinkan user menggunakan beberapa versi node.js dan lebih baik dalam manajemen paket (tidak mengganggu sistem, pemasangan paket global tidak perlu akses root). ...

September 20, 2016 · 2 min · 253 words · Me

High Availability Splash Cluster dengan HA-Proxy

Pada tulisan sebelumnya di Integrasi Splash dengan Scrapy, saya mencoba untuk integrasi Splash dengan Scrapy. Awalnya saya menggunakan satu kontainer Splash untuk crawling, tetapi ternyata terkendala saat menggunakan concurrent requests yang sedikit tinggi dan juga situs dengan script yang lumayan berat. Berikut dua isu utama yang sering saya temui saat crawling 504 Gateway Timeout - umumnya error ini disebabkan oleh timeout saat fetching karena faktor tertentu, misal : script yang berat. Connection refused - ini kondisi paling buruk. Pada kasus saya dahulu, connection refused disebabkan oleh kontainer Splash yang mati / ter-kill. Di kondisi ini saya harus menyalakan ulang kontainer, dan menjalankan ulang crawler. Dari kedua isu diatas, saya mencari solusi untuk menanganinya. Dan, setidaknya saya menemukan solusi yang sampai saat ini saya kira solusi terbaik (dua poin diatas tidak saya temui lagi). Berikut langkah yang saya lakukan. ...

August 29, 2016 · 2 min · 377 words · Me

Integrasi Splash dengan Scrapy

Pada tulisan sebelumnya di Rendering Javascript dengan Splash saya telah menulis pengantar dari Splash. Splash adalah salah satu javascript rendering service berbasis WebKit dan layanan ini bersifat headless. Scrapy merupakan salah satu web scraper framework berbasis python yang cukup populer. Pada kondisi default, scrapy tidak mampu melakukan javascript rendering / dynamic webpage load, sehingga diperlukan pihak aplikasi tambahan seperti Selenium atau Splash. Pada tulisan ini saya akan memaparkan cara integrasi Scrapy dengan Splash sebagai dynamic webpage rendering service. Berikut cara integrasinya. ...

August 18, 2016 · 2 min · 218 words · Me

Rendering Javascript dengan Splash

Pengantar Splash Saat ini banyak cara untuk akuisisi data, salah satu yang sedang populer dikembangkan adalah web crawling. Namun, permasalahannya terkendala saat menghadapi situs web dinamis yang menggunakan javascript. ‘Browser’ yang digunakan umumnya tidak mendukung javascript. Splash merupakan salah satu solusi untuk menghadapi situs web dinamis. Splash adalah layanan yang digunakan sebagi rendering javascript. Layanan ini dikembangkan oleh scrapinghub dan mendukung HTTP API untuk interaksi. Pemasangan Splash Jika mengacu pada situs dokumentasi splash, terdapat opsi untuk pemasangan Splash dengan Docker. Berikut langkah yang saya lakukan untuk memasang Splash : ...

June 16, 2016 · 2 min · 279 words · Me

Akses File di Platform Blog Ghost

Setelah saya menggunakan Ghost untuk blog ini, rasanya cukup nyaman. Ghost jauh lebih ringan dan sederhana dibandingkan blogging platform yang pernah saya pakai sebelumnya. Hanya saja, terdapat kendala saat ingin mengunggah berkas selain gambar di Ghost. Unggah berkas seringkali digunakan pada beberapa posting, misal seperti pada posting Twitter Mining with R : Tweet Analysis, Bagian 2, disitu saya ingin melampirkan berkas berupa dataset dan berkas stopword Indonesia. Saya sempat bingung untuk mengunggah ke server. ...

June 15, 2016 · 1 min · 164 words · Me