Php7.1, anda akan disiplin menggunakan Type Variable!

jika PHP kita kenal sangat ramah dalam aturan penggunaan type data, maka anda mungkin akan sedikit merasa berbeda pada PHP7.1. ini juga terjadi pada salah satu code saya.

penjumlahan atau aritmatika lainnya, sangat beresiko terjadi kesalahan. untuk versi < PHP7.1, variable non number akan dianggap 0. namun berbeda pada PHP7.1, penjumlahan variable non number akan menghasilkan error. progress yang sangat waw sekali!

bayangkan saja, banyak sekali programmer PHP yang tidak disiplin untuk mengecek isi dari variable-nya ditambah lagi PHP bertipe varian(dalam sudut pandang penggunaan). Semua variable seakan dianggap sama. Yang membedakan adalah value-nya. Alhasil, ketika code-code ini diproduksi, maka sangat rentan menjadi error. Sebagai contoh, DomPDF. Library yang sangat banyak penggunanya inipun kena imbasnya. betapa mereka tidak disiplinnya mengecek value(karena memang hanya value-nya saja yg membedakan mana yang number mana yang bukan). Daaaan…, akhirnya malam saya menjadi malam yang panjang. πŸ˜€ LOL!

Solusi untuk yang bertemu dengan error “Non Number Encountered” di PHP adalah dengan 2 pilihan:

  1. ignore error dengan @. (unrecomended)
  2. lakukan casting! (pastikan variable adalah int atau float atau lainnya)
  3. tentukan sejak awal tipe datanya(recomended). πŸ™‚ seperti programmer2 bahasa lainnya. (like C/C++ and Java)Β πŸ˜€
  4. untuk error yg diproduksi oleh Dompdf, update ke versi ^0.8.0! (begitupun pada library lainnya, coba cek repositorynya, apa sudah support php7.1)/

Tutorial Bot telegram dengan Laravel

Assalamu’alaikum. malam ini saya mau mencatat bagaimana membangun aplikasi bot telegram menggunakan laravel. saya rencananya mau mengganti sms-gateway aplikasi customer saya ke bot laravel. karena keluhan dari customer saya, menggunakan sms-gateway sangat menguras biaya dan sangat ribet. kebetulan customer saya adalah korporasi, jadi untuk pendanaan receh seperti pulsa akan menambah pekerjaan bagi purchasing, it dan financial mereka. bener-bener tidak mudah. kalau menggunakan bot telegram, saya kira sudah dapat ditangani dengan tagihan internet korporet. πŸ™‚

oke, udahan dulu curhatnya. berikut tahapan yang akan dan sedang dilakukan oleh saya.

  1. mendaftar bot

nah, sebelum kemana-mana, kita mesti mendaftar dulu ke telegram agar dapat token yang nantinya akan selalu digunakan oleh aplikasi kita. cara daftarnya gampang, tinggal chat aja dengan “botfather”. silahkan cari di bilik pencarian. nanti kita akan seakan ngirim pesan /start silahkan chatingan dengan botfather untuk mendapatkan tokennya. ingat, jika sudah mendapatkan token, harap di simpan baik-baik jangan sampai ada orang lain yg tahu. itu rahasia anda sendiri. πŸ™‚

  1. fresh install new project laravel danΒ  library bot telegram

langkahnya hanya “laravel new namaproject”, kalau di saya “laravel new telegram”. selanjutnya cd ke direktory project. di saya “cd telegram”.Β  lalu “composer require irazasyed/telegram-bot-sdk ^2.0”. ini langkah untuk install library saja. selanjutnya konfigurasi. refer ke sini aja. https://telegram-bot-sdk.readme.io/docs untuk konfigurasinya. πŸ™‚

  1. berkenalan dengan bot telegram

saya sudah sedikit mengantuk ini, udahan dulu ya. πŸ˜€

#anggep aja ini serial 1001 malam. πŸ˜€

workflow persiapan alat kerja web development saya

selamat malam, kali ini saya mau berbagi apa yang mesti disiapkan untuk alat-alat saya dalam proses development website.

saat ini saya sedang install os baru di leptop saya. berhubung sepertinya sering kebingunan untuk proses install apa saja yang mesti disiapkan, maka lebih baik saya share saja apa saja yang saya install di leptop saya ini. πŸ™‚

berikut yang semestinya saya lakukan dan semestinya lakukan untuk pekerjaan saya ini.

1. install os. kali ini saya menggunakan xubuntu. ubuntu dengan tampilan xfce. jangan tanyakan kenapa menggunakan ini. karena sebenernya saya asal pilih saja. kali ini xubuntu yang beruntung. πŸ™‚
2. install apache2, mariadb-server dan php7.0
3. install composer
4. install hirak/prestissimo, ini untuk mempercepat kerja composer, kalau tidak pakai ini, saya merasa performa composer sangat rendah. πŸ™‚
5. install laravel/installer, saya pengguna framework laravel. mesti ini. πŸ™‚
6. install barryvdh/laravel-debugbar.
7. daftarkan vendor/bin composer ke path.
8. chown /var/www/html ke user:group user saat ini
9. install vim, sublime
10. install plugin sublime: control sublime, phpcompanio, code complice, laravel. untuk vim, saya buat gayak-gayaan aja. πŸ˜€
11. install google chrome. entah kenapa, saya lebih suka chrome daripada firefox bawaan xubuntu.

persenjataan saya sudah lengkap. πŸ˜€

 

note: sampai saat ini saya belum tertarik belajar apalagi mendalami front end. oleh karena itu, dalam workflow saya dalam persiapan peralatan saya tidak ditemukan konfigurasi semacam bower, gulp dkk. saya lebih nyaman pakai template AdminLTE saja. πŸ™‚

install OCI8 di linux mint.

  1. download instant client dan SDK di sini:Β http://www.oracle.com/technetwork/topics/linuxx86-64soft-092277.html
  2. extract instant client letakan semua file yang ada di folder hasil extract ke /opt/oci8lib. (sebenernya terserah mau diletakkan dimana).
  3. extract sdknya. buka folder hasil extrak. di sana ada folder sdk.
  4. copy file folder sdk(perhatikan, folder sdk, buka folder hasil extract) ke /opt/oci8lib. ini menyesuaikan dengan tahapan point 2. alias di copy ke folder library oci8 kita.
  5. buka terminal.
  6. lalu run command berikut:

    #menambah path
    echo ‘export LD_LIBRARY_PATH=${LD_LIBRARY_PATH}:/opt/oci8lib’ >> ~/.profile
    source ~/.profile
    #pindah ke tempat librarynya
    cd /opt/oci8lib
    echo /opt/oci8lib >> /etc/ld.so.conf
    ldconfig
    #buat link
    ln -s libclntsh.so.* libclntsh.so
    #install beberapa komponen
    sudo apt-get install php-pear
    sudo apt-get install php5-dev
    sudo apt-get install libaio-dev
    sudo apt-get install php-pear

    #install oci8-nya

    pecl install oci8-2.0.10

    #jika ditanyatanyain untuk nginput path, enter sajalah. πŸ™‚

  7. testing.
    buat file phpinfo().