Skip to content

Instantly share code, notes, and snippets.

View bepitulaz's full-sized avatar
🏗️
Start doing indie hacking again!

Asep Bagja Priandana bepitulaz

🏗️
Start doing indie hacking again!
View GitHub Profile
@bepitulaz
bepitulaz / core.cljs
Last active August 29, 2015 14:20
ClojureScript: Integrating React Bootstrap and Reagent
(ns sample.core
(:require [cljsjs.react]
[reagent.core :as reagent :refer [atom]]))
(defn text-editor
"Text editor for static blog."
[]
(let [grid (aget js/ReactBootstrap "Grid")
row (aget js/ReactBootstrap "Row")
col (aget js/ReactBootstrap "Col")]
@bepitulaz
bepitulaz / higher-order-function.js
Last active January 2, 2017 10:50
Higher-Order Functions Pada JavaScript
// Contoh higher-order function
function salam(time) {
return function(userName) {
return time + " " + userName;
}
}
// Jika dipanggil langsung
salam("Selamat pagi")("Asep"); // Hasilnya: "Selamat pagi Asep"
@bepitulaz
bepitulaz / map.js
Created January 3, 2017 08:39
Higher-Order Functions Sample.
var sampleData = [1, 2, 3, 4, 5];
/*
Buat fungsi yang mengalikan setiap elemen dengan angka 2.
Hasil yang diharapkan [2, 4, 6, 8, 10]
*/
// Menggunakan perulangan for
function denganPerulangan(data) {
var expectedResult = [];
@bepitulaz
bepitulaz / filter.js
Created January 3, 2017 08:48
Higher-Order Functions Sample
var sampleData = [1, 2, 3, 4, 5];
/*
Buat fungsi yang menghasilkan Array yang isinya hanya bilangan genap.
Hasil yang diharapkan [2, 4]
*/
// Menggunakan perulangan for
function denganPerulangan(data) {
var expectedResult = [];
@bepitulaz
bepitulaz / reduce.js
Created January 3, 2017 09:07
Higher-Order Functions Sample
var sampleData = [1, 2, 3, 4, 5];
/*
Buat fungsi yang mengakumulasi keseluruhan elemen dalam Array.
Hasil yang diharapkan 15
*/
// Menggunakan perulangan for
function denganPerulangan(data) {
var result = 0;
@bepitulaz
bepitulaz / asynchronous-sample.js
Created January 4, 2017 12:54
Callback vs Promise
const fs = require('fs');
/**
Tiga operasi menghapus file di bawah ini, walaupun disusun berurutan
tetapi belum tentu selesainya berurutan dari operasi 1 sampai operasi 3.
*/
// Operasi 1
fs.unlink('/file-one', function(err) {
console.log('file one is deleted');
@bepitulaz
bepitulaz / sample-callback.js
Created January 4, 2017 13:29
Callback VS Promise
// fungsi yang tidak membutuhkan callback
function sum(a, b) {
return a + b;
}
// isi dari variabel result adalah 6
var result = sum(1, 5);
/**
Di bawah ini adalah contoh function yang membutuhkan callback.
@bepitulaz
bepitulaz / using-callback.js
Last active January 5, 2017 04:21
Callback vs Promise
/**
Di bawah ini adalah penjelasan bagaimana asynchronous bekerja.
Saya ambil contoh jQuery.get() dan sebuah operasi penjumlahan sederhana.
Ini adalah function dari pustaka jQuery untuk melakukan pemanggilan data menggunakan ajax.
*/
// Program akan mengeksekusi baris 8
jQuery.get('http://example.com/data.json', iniCallback);
// Baris ke 14 sampai ke 15 baru akan tereksekusi hanya saat jQuery.get()
@bepitulaz
bepitulaz / programmer-mistake.js
Created January 5, 2017 04:39
Callback vs Promise
/**
Pemrogram berusaha menyimpan nilai dari callback ke dalam variabel
yang berada di luar scope callback.
*/
var iniVariabelGlobal;
jQuery.get('http://example.com/data.json', function(data) {
iniVariabelGlobal = data; // pemrogram berusaha menyimpan data ke dalam global variable
});
/**
Misalnya kita memiliki fungsi yang baru dapat dijalankan setelah ada nilai dari jQuery.get(),
jangan gunakan global variable seperti sebelumnya. Buatlah sebuah fungsi baru di luar asynchronous function
yang dapat dipanggil setelah jQuery.get() selesai.
*/
jQuery.get('http://example.com/data.json', function(data) {
doSomething(data); // lempar data dari server ke dalam sebuah fungsi
});