Archive

Posts Tagged ‘Korea’

Stripe to be powerfull,

[October] [19] [2011] Leave a comment

today, i am going to glad, too much discussing with my engineering father, he tough me much about system engineering, as his professor focusing was mathematical computing, he was a scholar mathematician as the first number in Korea for software reliability, i am happy to be his supervision student in a later couple year, many reference given to me both of basic neither the expert at all, the father explains everything   all the method, function, procedure, cases, process very clear and understandable.

now, i am stripe to be power full to master it all, in this cases all the object and class must gather in one smart data warehousing in our mind; i dont think before, when he give the book and reference and describing the cases, since then he perform his publication perfectly, what explain to me, how….great job, he just only need a few day to finish an international journal as his own, how did he do that???? geleeng2 kepala deh…

as a student, i restore all my mind in the right device, i am believing to day, all everything is possible to do, by seeing the father, now I embark to discover all this believe. i believe in god also i believe with the god creation a genius father to show the best way to catch, oh dear…that is very awesome.

since that moment, i never trash a garbage collection in to the recycle been, but it is reengineering as my failure decision, to support my system getting safety and reliable.  i am sure today is going to  light to my life, i trust striping to be power full is a must of my own.  ….

Fungsi Optimasi Dengan PHP

[August] [20] [2007] Leave a comment

Saya akan menuliskan sedikit tentang php hack, atau membuat celah dengan php, php adalah bahasa standar yang dibangun untuk web programming. beberap fungsi akan saya tulis dibawah yaitu :

1.Fungsi Debugging variable :

function ss_array_as_string (&$array, $column = 0) {
$str = “Array(
\n”;
while(list($var, $val) = each($array)){
for ($i = 0; $i < $column+1; $i++){
$str .= ” “;
}
$str .= $var.’ ==> ‘;
$str .= ss_as_string($val, $column+1).”
\n”;
}
for ($i = 0; $i < $column; $i++){
$str .= ” “;
}
return $str.’)';

}

function ss_object_as_string (&$object, $column = 0) {
if (empty($object->classname)) {
return “$object”;

}
else {
$str = $object->classname.”(
\n”;
while (list(,$var) = each($object->persistent_slots)) {
for ($i = 0; $i < $column; $i++){
$str .= ” “;
}
global $$var;
$str .= $var.’ ==> ‘;
$str .= ss_as_string($$var, column+1).”
\n”;
}
for ($i = 0; $i < $column; $i++){
$str .= ” “;
}
return $str.’)';
}

}
function ss_as_string (&$thing, $column = 0) {
if (is_object($thing)) {
return ss_object_as_string($thing, $column);
}
elseif (is_array($thing)) {
return ss_array_as_string($thing, $column);
}
elseif (is_double($thing)) {
return “Double(“.$thing.”)”;
}
elseif (is_long($thing)) {
return “Long(“.$thing.”)”;
}
elseif (is_string($thing)) {
return “String(“.$thing.”)”;
}
else {
return “Unknown(“.$thing.”)”;
}
}

2. Fungsi Menciptakan Log :

$ss_log_level = 0;

$ss_log_filename = ‘/tmp/ss-log’;

$ss_log_levels = array(

NONE => 0,
ERROR => 1,
INFO => 2,
DEBUG => 3);

function ss_log_set_level ($level = ERROR) {
global $ss_log_level;
$ss_log_level = $level;

}

function ss_log ($level, $message) {
global $ss_log_level, $ss_log_filename;
if ($ss_log_levels[$ss_log_level] < $ss_log_levels[$level]) {// no logging to be done
return false;

}

$fd = fopen($ss_log_filename, “a+”);
fputs($fd, $level.’ – ['.ss_timestamp_pretty().'] – ‘.$message.”\n”);
fclose($fd);
return true;

}

function ss_log_reset () {

global $ss_log_filename;

@unlink($ss_log_filename);

}

Terdapat 4 log level yang dapat diambil. pesan log akan dimunculkan jika tingkatan pemasangan dari pemasangan sebelumnya.sehingga kita bisa mematikan log dengan perintah

ss_log_set_level(INFO);

Sekarang pesan log dari tingkatan ERROR atau INFO akan direkam, pesan DEBUGGING akan dilanjutkan, kita bsa memiliki pesan2 log seperti yang kita inginkan, yakni

ss_log(ERROR, “testing level ERROR”);

ss_log(INFO, “testing level INFO”);

ss_log(DEBUG, “testing level DEBUG”);

Sehingga dari keluaran log yang kita buat akan menghasilkan :

ERROR – [August 18, 2007 20:58:17] – testing level ERROR

INFO – [August 18, 2007 20:58:17] – testing level INFO

Untuk itu kita bisa mengosongkan kembali log yang kita buat dengan mereset ulang :

ss_log_reset();

3. Menciptakan Fungsi Optimasi :

function ss_timing_start ($name = ‘default’) {
global $ss_timing_start_times;
$ss_timing_start_times[$name] = explode(‘ ‘, microtime());

}

function ss_timing_stop ($name = ‘default’) {
global $ss_timing_stop_times;
$ss_timing_stop_times[$name] = explode(‘ ‘, microtime());

}

function ss_timing_current ($name = ‘default’) {
global $ss_timing_start_times, $ss_timing_stop_times;
if (!isset($ss_timing_start_times[$name])) {
return 0;
}

if (!isset($ss_timing_stop_times[$name])) {
$stop_time = explode(‘ ‘, microtime());

}

else {
$stop_time = $ss_timing_stop_times[$name];

}

// do the big numbers first so the small ones aren’t lost
$current = $stop_time[1] – $ss_timing_start_times[$name][1];
$current += $stop_time[0] – $ss_timing_start_times[$name][0];
return $current;

}

4.Debugging dan Fungsi menciptakan optimasi database :

function query($Query_String, $halt_on_error = 1) {
$this->connect();
ss_timing_start();
$this->Query_ID = @mysql_query($Query_String,$this->Link_ID);
ss_timing_stop();
ss_log(INFO, ss_timing_current().’ Secs – ‘.$Query_String);
$this->Row = 0;
$this->Errno = mysql_errno();
$this->Error = mysql_error();
if ($halt_on_error && !$this->Query_ID) {
$this->halt(“Invalid SQL: “.$Query_String);

}
return $this->Query_ID;

}

5. Menggunakan tag Inline dengan ECHO

<h2>Test Inline Tags vs echo</h2>

<p>

php ss_timing_start(‘echo’); ?>

php

for ($i=0; $i<1000; $i++) {
echo $i.”
“;

}

?>

php ss_timing_stop(‘echo’); ?>

<p>

php ss_timing_start(str); ?>

php

$str = ”;

for ($i=0; $i<1000; $i++) {
$str .= $i.”
“;

}

echo $str;

?>

php ss_timing_stop(str); ?>

<p>

php ss_timing_start(inline); ?>
php

for ($i=0; $i<1000; $i++) {

?>
123<br>
php
}
?>
php ss_timing_stop(inline); ?>
<p>
<br>
<h2>Results</h2>
echo – php echo ss_timing_current(‘echo’) ?>
<p>
str -
<p>
inline – php echo ss_timing_current(inline) ?>

6. Menciptakan Fungsi str_replace vs ereg_replace

<h2>Test str_replace vs ereg</h2>

<p>

php $string = ‘Testing with emphasis‘; ?>

php ss_timing_start(‘str_replace’); ?>

php

for ($i=0; $i<1000; $i++) {
str_replace(‘i>’, ‘b>’, $string).’<br>’;

}

?>

php ss_timing_stop(‘str_replace’); ?>

<p>

php ss_timing_start(ereg); ?>

php

for ($i=0; $i<1000; $i++) {
ereg_replace(‘i>’, ‘b>’, $string).’<br>’;

}

?>

php ss_timing_stop(ereg); ?>

<p>

php ss_timing_start(ereg_pattern); ?>

php

for ($i=0; $i<1000; $i++) {
ereg_replace(‘<([/]*)i>’, ‘<\1b>’, $string).’<br>’;

}

?>

php ss_timing_stop(ereg_pattern); ?>

<p>

<br>

<h2>Results</h2>

str_replace – php echo ss_timing_current(str_replace) ?>

<p>

ereg –

<p>

ereg_pattern – php echo ss_timing_current(ereg_pattern) ?>

7. Fungsi Optimasi Query : Menggabungkan tabel

$db->query(“select * from doel”);

0.032273 secs

$db->next_record();

0.00048999999999999 secs

$db->query(“insert into doel values (NULL)”);

0.019506 secs

$db->query(“select * from doel as a, doel as b”);

17.280596 secs

$db->query(“select * from doel as a,doel as b where a.id > b.id”);

14.645251 secs

$db->query(“select * from doel as a, doel as b where a.id = b.id”);

0.041269 secs

$db->query(“select * from doellah”);

25.393672 sec

8. Memanggil Fungsi Method yang tersembunyi :

class A {
function A() { }
function A_dspTwo() {
echo “A: Two<br>”;

}

function dspTwo() {
return $this->A_dspTwo(); // Memanggil kelas method A dspTwo

}

}

class B extends A {
function B() {
$this->A(); // memanggil konstruktor induk.

}

function B_dspTwo() {
$this->A_dspTwo();
echo “B: Two<br>”;

}

function dspTwo() {
return $this->B_dspTwo();

}

}

$object = new B();

$object->dspTwo();

9. Menuntaskan masalah dengan tipe data :

<h2>Test String Integer Comparisons</h2>

php

$a = 1;

$b = ’2′;

if ($a < $b) {

echo ss_as_string($a).’ < ‘.ss_as_string($b);

}

else {

echo ss_as_string($a).’ >= ‘.ss_as_string($b);

}

?>

<p>

php

$a = 2;

$b = ’2′;

if ($a == $b) {
echo ss_as_string($a).’ == ‘.ss_as_string($b);

}

else {
echo ss_as_string($a).’ != ‘.ss_as_string($b);

}

?>

<p>

php

$a = array(2, ’1′);

if ($a[0] > $a[1]) {
echo ss_as_string($a[0]).’ > ‘.ss_as_string($a[1]);

}

else {

echo ss_as_string($a[0]).’ <= ‘.ss_as_string($a[1]);

}

?>

<p>

<?

$a = array(’2′, ’1′);

echo ss_as_string($a).’<br>sorts to<br>’;

sort($a);

echo ss_as_string($a);

?>

<p>

<?

$a = array(2, 1);

echo ss_as_string($a).’<br>sorts to<br>’;

sort($a);

echo ss_as_string($a);

?>

<p>

<?

$a = array(’2′, 1);

echo ss_as_string($a).’<br>sorts to<br>’;

sort($a);

echo ss_as_string($a);

?>

<p>

<?

$a = array(2, ’1′);

echo ss_as_string($a).’<br>sorts to<br>’;

sort($a);

echo ss_as_string($a);

?>

Sehingga dapat disederhanakan :

Long(1) < String(2)

Long(2) == String(2)

Long(2) > String(1)

Array(
0 ==> String(2)
1 ==> String(1)
)
sorts to
Array(
0 ==> String(1)
1 ==> String(2)
)

Array(
0 ==> Long(2)
1 ==> Long(1)
)
sorts to
Array(
0 ==> Long(1)
1 ==> Long(2)
)

Array(
0 ==> String(2)
1 ==> Long(1)
)
sorts to
Array(
0 ==> Long(1)
1 ==> String(2)
)

Array(
0 ==> Long(2)
1 ==> String(1)
)
sorts to
Array(
0 ==> Long(2)
1 ==> String(1)

)

10. Fungsi Include dan Require :

Include :

if($something){

include(“somefile”);

}

Include dengan looping/pengulangan:

$i = 1;

while ($i < 3) {

include(“somefile.$i”);

$i++;

}

require dengan looping :

$i = 1;

while ($i < 3) {

require(“somefile.$i”);

$i++;

}

11. Fungsi Echo dan Print

Fungsi Echo :

echo expression [, expression[, expression] … ]

Fungsi Print :

$ret = print “Hello World”;

dan $ret akan 1

Follow

Get every new post delivered to your Inbox.

Join 217 other followers