Categories
Game Dev Web Web Development

Membuat Animasi Sprite Dengan Canvas HTML5

Saat mengerjakan tugas akhir kuliah dulu membuat game Gatotkaca – Otot Kawat Tulang Besi dengan menggunakan Java. Saat itu masih belum ada HTML5, baru beberapa tahun ini perkembangan teknologi web begitu pesat.

Kali ini saya ingin sharing bagaimana cara membuat animasi menggunakan HTML 5 dengan Canvas. Memang ada cara untuk membuat animasi dengan CSS, tetapi kalau kita sudah berbicara membuat game, CSS sudah tidak mampu untuk melakukan hal-hal unik pada game.

Untuk source code nya kamu bisa langsung download di Github.

Categories
Web Web Development

Google Chrome Plugin Pengganti User-Agent Browser

Plugin Google Chrome untuk mengganti User-Agent yang paling cocok adalah User-Agent Switcher. Untuk mengcheck user-agent browser kamu sekarang apa bisa langsung kesini.

Sedikit cerita, beberapa tahun lalu, pernah suatu kali website yang saya handle terkena hack. Kejadian hacking baru diketahui saat masuk login ke Google Analytics, dimana disana dikatakan “This site may be hacked”.

Categories
IT Pilihan Editor Web Web Development

Perjalanan Membuat Grabber Produk Shopee

Disaat masih kuliah saya sudah pernah melakukan dropship dimana istilah dropship masih belum banyak didengar oleh orang dimasa itu. Marketplace saat itu masih belum menjamur seperti sekarang. Dulu jualan paling ramai ya Kaskus FJB. Cuman sekaran sudah sangat sepi karena adanya marketplace bermunculan.

Karena saya memiliki toko iseng yang sudah pernah saya buat beberapa tahun lalu. Saya ingin mencoba menghidupkan lagi toko tersebut dan ingin melihat perkembangan dunia dropshipper sekarang ini bagaimana?

Ternyata sudah tidak seperti dulu lagi. Perlu skill untuk berjualan dengan teknik dropshipper.

Problem saya temukan saat ingin mengambil gambar dari salah satu marketplace. Kebetulan saat itu saya ingin mengambil data dari shopee. Ternyata cukup susah juga untuk menyimpan gambar-gambar produk yang ada dishopee.

Categories
IT Web Web Development

Tips Untuk Programmer Pemula Dalam Membuat Fitur ERP

Pernah suatu kali saya take over sebuah project, dimana fitur dalam software tersebut sangat kaku. Jika terjadi perubahan sedikit saja, maka program perlu dilakukan setting ulang. Celakanya hanya developer ybs saja yang bisa melakukannya. ERP seperti ini menurut saya kurang begitu baik. Apalagi jika perubahan ini cukup sering terjadi. Misalnya 3 bulan sekali selalu berulang hal seperti ini. Maka fitur ybs perlu dibuat cukup dinamis sehingga user dapat mengatur sesuai keinginan mereka.

Dinamis yang saya maksud ini harus dalam taraf optimal, tidak terlalu dinamis, juga tidak telralu kaku. Ini dikarenakan membuat fitur super dinamis membutuhkan waktu yang cukup panjang. Dengan panjangnya waktu yang dibutuhkan artinya juga membutuhkan dana lebih. Jika perlubahan user tidak cukup sering, misalnya hanya 3 tahun sampai 5 tahun sekali, dibuat static sudah cukup.

Categories
IT Web Web Development

Cara Hacking Dengan Memanfaatkan File Upload Pada Website

Saya akan sharing teknik hacking web sederhana. Sering sekali kurangnya pengamanan pada jenis serangan ini pada sebuah website dari programmer pemula. Kenapa saya tahu? Karena saya sendiri pernah terkena teknik ini waktu dulu membuat website.

Dari Mana Pintu Masuknya?

Pintu masuk serangan ini adalah menggunakan fitur upload pada website. Pernah tidak melakukan upload file tanpa validasi terlebih dahulu? Disinilah letak masalahnya. Kita ambil contoh sebut saja domain.com memiliki fitur upload dimana file yang berhasil diupload akan dapat diakses misalkan domain.com/uploads/filename.ext

Jika tidak ada validasi terlebih dahulu, maka penyerang akan dapat mengupload file script sejenis *.php, *.asp, dan sejenisnya. Dengan begitu dia dapat mengaksesnya dengan mudah lewat domain.com/uploads/hacking.php

Asumsikan nama filenya adalah hacking.php

Categories
IT Web Web Development

Apakah Fingerprint Menggunakan Web?

Saya pernah membuat sebuah ERP dimana, setiap siswa bisa melakukan absen dengan fingerprint. Problem utama Web adalah susahnya koneksi dengan hardware secara langsung.

Lalu bagaimana? Terpaksa harus “diakali” sedikit.

Sekedar informasi device yang digunakan saat itu adalah U Are U 4500.

Fingerprint Digital Persona U Are U 4500

Saya menggunakan bantuan WebSocket untuk melakukannya. Dimana WebSocket ini akan melakukan komunikasi dengan desktop app. WebSocket ini sedikit berbeda dengan komunikasi normal pada umumnya yaitu web melakukan Request terlebih dahulu, lalu server memberikan Respond.

Categories
Web

Pentingnya Desainer UI/UX Tahu Sedikit Tentang Implementasi UI/UX Pada Tahap Teknis

Beberapa hari yang lalu, bersliweran tentang desain UI/UX, karena memang saya join group UI/UX. Disana banyak sekali yang share tentang karya-karya mereka. Mulai dari yang biasa saja hingga yang bagus.

Ada beberapa problem yang saya amati yaitu kurangnya pengetahuan untuk level implementasi UI/UX pada tahap teknis. Dimana kebanyakan desain dari mereka sulit untuk diimplementasikan, dengan kata lain jika dipaksakan untuk diimplementasi maka waktu dan biaya akan terlalu tinggi.

Memang, untuk ukuran desainer tidak perlu sampai benar-benar paham secara mendalam tentang teknis, tetapi cara kerja UI/UX pada tahap implementasi perlu dipelajari, supaya hasil desain tidak terlalu liar.

Categories
Web

Solved: Starting mysqld (via systemctl): Job for mysqld.service failed because the control process exited with error code.

Beberapa hari lalu saya mengalami kendala dalam menjalankan service mysql, saat saya menjalankan sudo service mysql restart muncul error sbb:

username@hostname:~ $ service mysqld restart
Starting mysqld (via systemctl):  Job for mysqld.service failed because the control process exited with error code.
See "systemctl status mysqld.service" and "journalctl -xe" for details.

Jika kamu mengalami hal serupa mungkin kamu bisa mencoba langkah yang saya lakukan:

  1. Check file my.cnf pada folder /etc/mysql/my.cnf

Berikut adalah isi file my.cnf secara default:

#
# The MySQL database server configuration file.
#
# You can copy this to one of:
# - "/etc/mysql/my.cnf" to set global options,
# - "~/.my.cnf" to set user-specific options.
# 
# One can use all long options that the program supports.
# Run program with --help to get a list of available options and with
# --print-defaults to see which it would actually understand and use.
#
# For explanations see
# http://dev.mysql.com/doc/mysql/en/server-system-variables.html

#
# * IMPORTANT: Additional settings that can override those from this file!
#   The files must end with '.cnf', otherwise they'll be ignored.
#

!includedir /etc/mysql/conf.d/
!includedir /etc/mysql/mysql.conf.d/

Jika kamu menemukan baris baru setelah !includedir /etc/mysql/mysql.conf.d/ pastikan kalau kamu tahu itu untuk apa, jika tidak tahu dari mana baris itu ditambahkan, kamu bisa mencoba menghapus atau menjadikan comment dengan menambahkan tanda #

  1. Lakukan end process untuk `mysql`

Pertama lakukan pengecheckan proses dengan ps -aux | grep mysql, maka akan muncul seperti dibawah ini

username@hostname:~$ ps -aux | grep mysql
mysql      51944  0.0 39.4 1329800 396788 ?      Ssl  Feb12   0:51 /usr/sbin/mysqld
username-m+   63729  0.0  0.0   8160   736 pts/0    S+   06:20   0:00 grep --color=auto mysql

Pada kasus diatas proses ID nya adalah 51944. Ketikkan kill <process_id>, dalam kasus ini kill 51944.

Lalu coba lagi jalankan sudo service mysql start

  1. Jika semuanya gagal, cobalah restart server anda.

Jika ketiga cara tersebut masih gagal, maka perlu dicheck ulang lebih detail lagi seperti log pada web server, mysql, server, dll. Mungkin disana ada petunjuk yang akan membantu anda.

Categories
Web

Setup Cron Job Laravel di A2 Hosting

Mungkin banyak yang sudah paham cara setup cron job di server, tetapi setiap hosting mempunyai perbedaan path URL. Bagi kamu yang mengalami hal yang sama bisa coba langkah dibawah ini:

Categories
Ubuntu Web

Upload Source Code Dengan Bantuan Resync + Shell

Pernahkah kita ingin meng-upload source code ke web hosting selalu menggunakan program sejenis FTP Client ataupun langsung menggunakan cPanel? Pasti pernah donk. Setiap ada perubahan source code, selalu melakukan upload ulang.

Kali ini saya akan sharing pengalaman upload project Laravel + VueJS ke shared hosting. Problem yang sering ditemui jika menggunakan shared hosting yang murah, tidak terinstallnya npm. Padahal npm diperlukan untuk meng-compile source code VueJS, sehingga dapat berjalan dengan baik.