Prime Number function (fungsi bilangan prima)


Yesterday, my friend ask to me about function of prime numbers.
reading from wiki http://en.wikipedia.org/wiki/Prime_number and other reference then i am trying. this is my code

primenumber


# set range of number
$from = 0;
$to = 100;
echo "Here numbers of prime from $from to $to : 
"; $primes = getPrime($from,$to); foreach ($primes as $no) { echo $no." "; } /* * Get prime numbers (sonsonz) * @params : $from is integer; * @return : array */ function getPrime($from,$to) { for( $i=2; $i<=$to; $i++ ) { $isPrime = true; if ( is_array($prime) ) { foreach ( $prime as $mod ) { if ( ($i%$mod)==0 ) { $isPrime = false; continue; } } } # if ( $isPrime ) { if ($i>=$from) { $primeNumber[] = $i; } $prime[] = $i; } } return $primeNumber; }

Thanks,
Sony SM

PHP – Custom encode & decode base64 md5


Sometime custom function to encode & decode is useful for security reason, how about you?

        /* 
         * sonEncode & sonDecode
         */
        
        public function sonKey()
        {
            return "sonsonz";
        }
        public function sonEncode($str)
        {
            $key = $this->sonKey();
            return strtr(base64_encode(mcrypt_encrypt(MCRYPT_RIJNDAEL_256, md5($key), $str, MCRYPT_MODE_CBC, md5(md5($key)))), '+/=', '-_~');
            
        }
        public function sonDecode($encoded)
        {
            $key = $this->sonKey();
            return rtrim(mcrypt_decrypt(MCRYPT_RIJNDAEL_256, md5($key), base64_decode(strtr($encoded, '-_~', '+/=')), MCRYPT_MODE_CBC, md5(md5($key))), "");
        }

Ref :
http://www.php.net/manual/en/mcrypt.ciphers.php
http://www.php.net/manual/en/function.mcrypt-encrypt.php
http://www.php.net/manual/en/function.base64-encode.php
http://www.php.net/manual/en/function.base64-decode.php

tq, sonsonz

Yii – Configure your session


Sessions and security

The session module cannot guarantee that the information you store in a session is only viewed by the user who created the session. You need to take additional measures to actively protect the integrity of the session, depending on the value associated with it. http://www.php.net/manual/en/session.security.php

Sometimes we need a session for our application, even for reasons of speed checking.
Yii was already to minimize this problem. You can use CDbHttpSession, below is my example :


	'components'=>array(
            'session' => array(
                'sessionName' => "SONSONZ", // session name is important to identify your site session
                'class' => 'system.web.CDbHttpSession', 
                'connectionID' => 'db', // connection id
                'sessionTableName' => 'yii_session', // table session 
                'autoCreateSessionTable' => true, // whether the session DB table should be automatically created if not exists. Defaults to true.
            ),

Thank You
Sony SM

DB – Error logs monitoring


Mungkin banyak developer yang tidak sadar jika cukup penting untuk memantenance database.
selain BACKUP DATABASE ternyata kita juga perlu MEMONITOR DATABASE kita.

Kejadian ini terjadi saat saya mencoba memindahkan blok server db ke block yang lain.
saat saya cek system internal yang terkoneksi ke server db tersebut seperti ada delay antara 3-5 sec.
ini sangat menggangu sekali. Akhirnya saya coba cek log error di mysql dan menemukan ada error :

[Warning] IP address ‘xxx.xxx.xxx.xxx’ could not be resolved: Temporary failure in name resolution

Sebetulnya ada 2 solusi :
1. menambahkan dns di server db;
2. menambahkan config dibawah ini kedalam my.cnf;

[mysqld]
skip-host-cache
skip-name-resolve

Melalui kejadian ini saya jadi sadar cukup penting juga log error dimonitor.
semoga bermanfaat juga buat yang lain.

Thank You
Sony SM

Yii – Get Controller filename


Dah lama gak posting, kali ini saya posting trik mendapatkan daftar file controller yang pernah kita buat.
biasanya dipakai jika kita sudah mulai membuat system auth sendiri RBAC


# function name : getControllerName()
# return value : array
public function getControllerName() {
$allController = array();
foreach (glob(Yii::getPathOfAlias('application.controllers') . "/*Controller.php") as $controller){
  $class = basename($controller, ".php");
  if (preg_match("/protected\/controllers/",$controller)) {
    if (!in_array($class, $allController)) {$allController[] = $class;}
  }
}
return $allController;
}

Javascript – Debug Object


Buat yang suka kesulitan debug object javascript mungkin bisa menggunakan code dibawah ini :

this dibawah ini adalah object yg dituju

$.each(this, function(index, value) { 
    alert(index + ': ' + value); 
});

Semoga membantu

Yii – get path of assets extensions or modules


Kejadian ini kemungkinan bisa terjadi, ketika kita ingin menggunakan path dari asset extensions atau modules yang pernah kita register di extension yang sudah di load.

Contoh dibawah ini adalah saya ingin mendapatkan parth Bootstrap extension yang sudah diregiter untuk dipakai di view lain :

$pathBootstrap = Yii::app()->assetManager->publish( Yii::getPathOfAlias('ext.bootstrap.assets') );
$cs->registerScriptFile($pathBootstrap."/js/bootstrap.datepicker.js",CClientScript::POS_END);

Semoga bisa membantu,
Sony SM

jQuery – closest() versus parent()


Untuk catatan saja … dapet sumber dari ary bedanya closest and parent. ini copas dari stackoverflow.com yang menanyakan hal yang sama :).
Intinya closest() mulai langsung dari element yg dituju dan mencari sesuai dengan selector dan berhenti jika menemukan satu saja yg sesuai. pastinya lebih cepat dari parent(), namun pastikan element dan selector yg dituju harus uniq 🙂 agar tidak salah. mohon petunjuk juga jika salah. karena baru analisa 🙂

.closest()
Begins with the current element
Travels up the DOM tree until it finds a match for the supplied selector
The returned jQuery object contains zero or one element

.parent()
Begins with the parent element
Travels up the DOM tree to the document’s root element, adding each ancestor element to a temporary collection; it then filters that collection based on a selector if one is supplied
The returned jQuery object contains zero, one, or multiple elements

Semoga membantu,
Sony SM

Thanks to ary

jQuery ver 1.9 mengenai function .attr() versus .prop()


Sudah tau belom nih kawan2 programmer mengenai berita baru di jQuery ver 1.9. Buat yang sering menggunakan jQuery ver 1.9 function attr() akan dirubah jadi prop(). secara function mungkin hampir sama, tapi lebih baik prop(),
karena buat yang sering menggunakan ajax form, pasti akan berhubungan dengan properies spt dropdown box / combo box, checkbox, dan input. dalam function prop() ini sudah mengenali secara langsung checked and selected dengan menggunakan type data bolean (0/1).

Semoga membantu referensi dari saya.
Thanks juga buat ary yg sudah kasih info 🙂

Source : http://jquery.com/upgrade-guide/1.9/#attr-versus-prop-

Yii – Ajax Submit Button (CHtml::ajaxSubmitButton)


Buat yang kesulitan dengan penggunaan Ajax mungkin bisa menggunakan CHtml ajaxSubmitButton.
Simple banget penggunannya.

Di contoh dibawah ini hasil Submit button akan di larikan ke action > updateItem (Controller)
Continue reading