Langkau ke kandungan utama

Catatan

Tunjukkan catatan dari 2016

Load Balancing dengan Nginx dan Puma

Load Balancing dengan Nginx dan Puma Tutorial ini adalah sangat ringkas hanya untuk menunjukkan kebolehan nginx sebagai load balancer yang dapat menjadi 'orang tengah' antara banyak server di belakangnya Keperluan 1. Paling kurang 2 server aplikasi 2. Satu server diinstall nginx Contoh Persekitaran yang sekarang 1. server1: os: debian application: ruby on rails web server : puma dns : myaplication1.yusdirman.com 2. server2: myaplication2.yusdirman.com os:debian application: ruby on rails web server : puma dns : myaplication1.yusdirman.com 3. nginx diinstall di server1 /ets/nginx/nginx.conf setup (default): worker_processes  2; worker_processes  auto; worker_rlimit_nofile 65536; error_log  logs/error.log  notice; error_log  logs/error.log  info; events {   worker_connections  65536; } http {   include       mime.types;   default_type  application/octet-stream;   sendfil...

Git dan Projek Aplikasi

Assalamualaikum Mari kita terus fokus kepada pembangunan aplikasi. Senario ini biasanya berlaku dalam sesebuah jabatan yang bertanggungjawab membina aplikasi untuk organisasi atau pelanggan. Pasukan JuruProgram Beberapa juruprogram yang membina aplikasi yang sama akan berkongsi-kongsi kodprogram mereka samada secara online menggunakan cloud ataupun bertukar-tukar peranti storan mudah alih (ada yang buat gitu lagi ke?). Namun secara idealnya, setiap juruprogram akan menulis kod untuk modul yang berbeza bagi satu-satu aplikasi.  Jika seorang juruprogram yang ditugaskan untuk membina fungsi tertentu, maka dia akan memeras otaknya untuk mengeluarkan idea. Biasanya dengan meminum kopi pekat sikit. Selepas itu maka diapun berjaya mengeluarkan 3 kaedah atau idea bernas untuk membina fungsi tersebut. Maka, dia akan membuat 3 salinan dan menamakan setiap salinan itu dengan nama yang berbeza-beza. Koding ditulis dan diuji satu persatu. Ketiga-tiga salinan tersebut berjaya dibin...

Git dan Projek Aplikasi

Assalamualaikum Mari kita terus fokus kepada pembangunan aplikasi. Senario ini biasanya berlaku dalam sesebuah jabatan yang bertanggungjawab membina aplikasi untuk organisasi atau pelanggan. Pasukan JuruProgram Beberapa juruprogram yang membina aplikasi yang sama akan berkongsi-kongsi kodprogram mereka samada secara online menggunakan cloud ataupun bertukar-tukar peranti storan mudah alih (ada yang buat gitu lagi ke?). Namun secara idealnya, setiap juruprogram akan menulis kod untuk modul yang berbeza bagi satu-satu aplikasi.  Jika seorang juruprogram yang ditugaskan untuk membina fungsi tertentu, maka dia akan memeras otaknya untuk mengeluarkan idea. Biasanya dengan meminum kopi pekat sikit. Selepas itu maka diapun berjaya mengeluarkan 3 kaedah atau idea bernas untuk membina fungsi tersebut. Maka, dia akan membuat 3 salinan dan menamakan setiap salinan itu dengan nama yang berbeza-beza. Koding ditulis dan diuji satu persatu. Ketiga-tiga salinan tersebut berjaya dibin...

Bersosial dengan Kod Program?

Assalamualaikum Lama dah tak menulis pasal programming. Kerja pun makin sibuk dan tugas pun makin banyak. Tapi, bila lama dah tak menulis, kepala mula mengarang ayat-ayat dengan sendiri. Salah satu tanda kerinduan untuk menekan papan kekunci ini untuk selain kod program. Dunia hari ini masih lagi dalam momentum ledakan media sosial yang memang amat berkuasa sehingga mampu mengalih sesebuah negara. Namun, bagi seseorang dalam bidang kejuruteraan perisian, sosial media adalah salah satu aplikasi yang digunakan untuk bersosial. Kita berkongsi gambar, teks, video, cerita, karangan, kisah lucu, kisah yang tak sepatutnya dikisahkan atau tak sepatutnya dikhabarkan pun dikongsi dalam media sosial. Namun, bagi juruaturcara, perkongsian kod aturcara adalah satu bentuk media sosial yang sangat 'trending' sekarang ini. Bersosial dengan Kod Program Penulisan kod program atau kod aturcara adalah periuk nasi bagi seseorang juruprogram, jurutera perisian, juruanalisa...

Redis server timeout error apabila connection menjangkau 1.02K

Assalamualaikum Sepanjang ditugaskan untuk menjada server sistem dokumen klinikal untuk klinik buah pinggang, ada banyak masalah yang dihadapi oleh server apabila sistem 'agak' berat digunakan. Namun pada relatifnya, penggunaannya adalah sangat rendah kerana jumlah pengguna atau doktor yang merawat pesakit pada waktu klinik tidak mencecah sehingga 30 orang. Akan tetapi, aplikasi sistem klinikal renal telah beberapa kali memaparkan error dengan mesej-mesej dalam log yang agak kabur. Connection time out berlaku apabila redis membuat arahan "set" untuk menyimpan data dalam memori. Redis::TimeoutError (Connection timed out):   lib/husm/api.rb:46:in `save_key'   lib/husm/api.rb:25:in `request' Jumlah keseluruhan ram dalam server adalah 8GB dan pada ketika berlaku error ini, jumlah penggunaan ram oleh redis hanyalah 500MB. Sumber yang sangat tinggi digunakan oleh redis adalah CPU pada ketika error ini berlaku. Setelah membuat sedikit carian menerusi g...