Pada artikel kali ini kita akan mencoba menulis API dengan cara anti-mainstream yaitu membuat API Word Counter menggunakan Bash. Fungsi API yang dibuat sederhana yaitu menghitung jumlah kata yang dikirimkan.

Model API yang akan dibuat akan menggunakan model Serverless. Kita akan menggunakan AWS Lambda dan API Gateway sebagai platform untuk membangun API Word Counter ini.

Response yang diharapkan dari API yang dibuat ditunjukkan oleh output berikut ini.

$ curl -X POST -d '{ "words": "satu dua tiga" }' END_POINT_URL
{
"lines": 1,
"words": 3,
"characters": 14
}

Persiapan API Word Counter

Sebelum mulai membuat API Word Counter menggunakan Bash terdapat beberapa prasyarat yang harus…


Pada artikel ini kita akan melakukan benchmark PHP Swoole vs NodeJs vs Go. Benchmark yang dilakukan adalah benchmark sederhana yaitu masing-masing bahasa pemrograman mengembalikan sebuah string “Welcome to hello world benchmark.”

Meskipun benchmark ini tidak menggambarkan kondisi aplikasi real world pada umumnya. Namun paling tidak benchmark ini dapat mengindikasikan bagaimana performa dasar dari setiap bahasa pemograman.

Artikel ini juga dapat dibaca pada website TeknoCerdas.com.

Sekilas Tentang PHP Swoole, NodeJS dan Go

Swoole adalah sebuah asynchronus framework berbasis co-routine untuk PHP. Swoole ditulis menggunakan C dan dan didistribusikan dalam bentuk eksensi untuk PHP. Untuk menggunakannya pengguna harus melakukan instalasi lewat pecl.

NodeJS adalah sebuah runtime Javascript yang mendukung…


Pada instalasi normal Anda tidak perlu melakukan apapun untuk membuat Wordpress Cron (WP-Cron) berjalan. Ketika website Wordpress dikunjungi atau mendapat hits maka secara otomatis Wordpress juga akan menjalankan cron secara berkala.

Kekurangan utama instalasi WP Cron normal diatas adalah adalah kemungkinan untuk cron tidak berjalan cukup besar. Contohnya adalah jika ada jadwal yang harus berjalan pada jam 10 pagi namun tidak ada kunjungan pada website hingga jam 8 malam maka eksekusi cron tidak berjalan sesuai ekspektasi.

Kekurangan lain adalah jika website Anda memiliki traffic yang cukup tinggi maka Wordpress akan melakukan pengecekan cron terus-menerus. …


Membuat HTML Code Editor Kolaboratif dengan Ratchet PHP

Pada tutorial kali ini kita akan membuat sebuah HTML code editor kolaboratif sederhana dimana code dapat diedit secara simultan dan realtime oleh banyak user sekaligus. Sebagai bonus kita juga menambahkan panel untuk preview HTML code yang dibuat.

Sama seperti tutorial sebelumnya yaitu membuat chat server kali ini kita juga menggunakan pustaka Ratchet PHP. Perbedaannya adalah jika sebelumnya kita hanya memanfaatkan komponen IoServer kali ini kita akan memanfaatkan komponent WsServer untuk membuat WebSocket server.

Beberapa fitur yang akan kita aplikasikan adalah:

  1. HTML code editor dengan preview panel.
  2. Multi-user — dapat diedit secara (hampir) simultan oleh banyak user sekaligus.
  3. (Almost) Realtime editing…

Membuat Chat Server Menggunakan Ratchet PHP

Chat server yang akan kita buat pada tutorial ini bukan menggunakan protokol WebSocket melainkan hanya sebuah TCP server berbasis teks sederhana. Alasan menggunakan Ratchet tidak lain karena Ratchet menyediakan banyak abstraksi komponen yang dibangun diatas ReactPHP. Komponen dari Ratchet yang akan kita gunakan adalah IoServer.

TCP Chat server yang akan kita buat harus memiliki beberapa fitur berikut.

  1. Broadcast message ke semua user
  2. Private message ke user tertentu
  3. Penggunaan nickname untuk chat
  4. Melihat siapa yang sedang online

Pada tutorial ini kita tidak membuat aplikasi pada sisi client karena chat server yang kita buat adalah sebuah TCP server berbasis teks sederhana maka…


Penggunaan MySQL Group-wise Maximum

Masalah SQL query yang akan saya bahas pada artikel ini adalah masalah yang saya cukup yakin sering kita temui ketika membuat aplikasi. Group-wise Maximum adalah cara untuk mendapatkan baris dengan nilai tertinggi dari setiap grup. Pada artikel ini kita akan mengambil contoh top skor Liga Inggris (EPL) musim 2015–2016.

Pada artikel ini kita hanya akan membahas satu solusi yaitu menggunakan self joinsederhana dan tidak menjabarkan alternatif lain. Database server yang digunakan untuk contoh adalah MariaDB/MySQL. Tetapi harusnya dapat diaplikasikan ke semua RDBMS karena menggunakan standard SQL.

Contoh Masalah untuk Group-wise Maximum

Tampilkan daftar pencetak gol terbanyak untuk sebuah klub, urutkan berdasarkan jumlah gol terbanyak dan…


Dependency Injection (DI) merupakan sebuah prinsip pengembangan software dimana ketergantungan pada sebuah object disuplai lewat argumen ketimbang membuat objecttersebut didalam class itu sendiri. Jika kamu masih mengernyitkan dahi, coba lihat contoh dibawah ini.

<?php

// ...
$email = new Email($to, $subject, $body, $from);
$transport = new PhpMailTransport();

// Provide the dependency via argument
$mailer = new Mailer($email, $transport);

Sederhana bukan? Itulah dependency injection sesederhana seperti contoh diatas. Saya cukup yakin sebenarnya banyak diantara kita yang tanpa sadar sudah mempraktekkan prinsip tersebut meskipun belum mengenal istilah Dependency Injection (DI).

Penjelasan tentang dependency injection kadang susah dimengerti mungkin salah satu penyebabnya adalah…

Rio Astamal

A passionate web developer since 2003 and Founder of BelajarAWS.com

Get the Medium app

A button that says 'Download on the App Store', and if clicked it will lead you to the iOS App store
A button that says 'Get it on, Google Play', and if clicked it will lead you to the Google Play store