Hosting Website Gratis di Gitlab

Gitlab sebuah perusahaan penyedia layanan hosting Git. Mirip Github tapi lebih ekonomis. Salah satu bedanya, di Gitlab, akun gratisan bisa punya private project, kalo di Github semuanya public / opensource, kecuali kalo kita pake akun berbayar.

Kalo Github punya Github Pages, Gitlab juga punya Gitlab Pages. Layanan ini bisa kita pake untuk hosting website gratisan & bisa sekalian belajar Git ( buat yang belum tahu).

Silakan daftar dulu kalo belum punya akun Gitlab. Saya tunggu …

Udah?

Bagus.

Continue reading →

Mengenal VueJS – 01

Dalam artikel ini saya mau kasih sedikit intro tentang library yang sedang naik daun, namanya Vue. Ini adalah library JavaScript untuk bikin UI. Kalo dikelompokin, mungkin bisa satu grup dengan ReactJS. Vue bisa dipake untuk macem-macem keperluan, mulai dari yang sederhana untuk bikin komponen UI, sampai SPA (Single Page Application). Popularitas Vue meroket antara lain karena jadi library default bawaan Laravel 5.

Progressive Framework. Begitu kata Vue Guide. Maksudnya, kita bisa pake Vue sedikit-sedikit. Ga perlu langsung satu website pake Vue semua. Bahkan untuk satu halaman, kita bisa pake Vue seperlunya dulu. Kalo mau migrasi website/aplikasi yang udah jadi dari framework lain ke Vue juga bisa pelan-pelan. Ga perlu gerudukan semua komponen UI langsung ganti.

Sebelum memulai silakan bikin file HTML yang isinya ada skrip ini. Atau nanti langsung edit aja contoh kode di bawah yang saya share di Codepen.

<script src="https://unpkg.com/vue/"></script>

Continue reading →

Tips JavaScript : Throttle & Debounce

Apa itu throttle & debounce ? Berikut ini penjelasan singkat & contohnya.

Dua-duanya dipake untuk optimasi, khususnya untuk fungsi-fungsi kompleks yang dijalanin berulang kali. Cuman cara & metodenya yang beda.

Throttle

Throttle: Memastikan sebuah function hanya dijalankan satu kali dalam satu rentang waktu.

Dalam contoh di bawah ini, saya bikin dua listener untuk event scroll. Yang satu normal, ga pake throttle.

See the Pen Throttle by Anggie Bratadinata (@masputih) on CodePen.

Sambil scrolling coba perhatiin, nilai scrollY di dua listener itu sama, tapi listener yang ga pake throttle lebih sering dijalanin (call count-nya lebih banyak).

Continue reading →

Tips JavaScript Bagian 1 – Tipe Data dan Variabel

Dalam artikel kali ini, saya jelasin beberapa poin dalam pemrograman JavaScript yang sebenernya penting tapi sering ga diperhatiin.

1. Data Numerik

Kebanyakan bahasa pemrograman punya beberapa tipe data numerik ( int, float, dll ) tapi JavaScript hanya punya satu yaitu number.

typeof 100; // number
typeof 10.1; // number
typeof -2.2; // number

Semua angka dalam JavaScript adalah double-precision floating-point. Ini adalah bilangan 64-bit. Detilnya silakan baca sendiri di Wikipedia.

Operasi matematika pake bilangan floating-point akan menghasilkan aproksimasi ( ga 100% akurat ) karena ada pembulatan. Contoh:

var a = (0.1 + 0.2) + 0.3; // 0.6000000000000001
var b = 0.1 + (0.2 + 0.3); // 0.6

2. Hati-hati dengan Konversi Implisit

JavaScript adalah bahasa yang terbilang sangat “pemaaf“. Jadi kalo kita bikin operasi matematika pake data non-numerik, kode kita tetep jalan biarpun hasilnya belum tentu yang kita mau. Ini karena JS secara implisit melakukan konversi data.

Continue reading →

HTML5 Messaging

Dalam artikel ini saya akan membahas salah satu fitur HTML5 yaitu messaging. Fitur ini memungkinkan kita bikin dua atau lebih dokumen HTML yang terpisah, salah satu atau semuanya dimuat ke dalam iframe, tapi masih bisa berkomunikasi satu sama lain.

Apa aja yang perlu kita pake untuk implementasi fitur ini?

  • message event
  • postMessage API

Mungkin Anda pikir, “Hari gini masih pake iframe? Jadul.”

Eit .. jangan salah, iframe banyak gunanya terutama untuk bikin bagian kecil dari web page yang terisolasi dari dokumen induk sehingga nggak saling interferensi, contohnya iklan, embeddable widget, dll. Coba liat artikel sebelumnya tentang RegEx, contoh kode dari JSBin juga dimuat ke dalam iframe.

Same-Origin Messaging

Pertama kita coba implementasi fitur ini pake dua dokumen yang asalnya dari domain yang sama. Same-origin maksudnya URL dua file/dokumen tersebut pake protokol yang sama, domain yang sama, dan nomor port yang sama.

Continue reading →