一些處理 javascript 減少 server http connection 數的方法

 

http://joliclic.free.fr/php/javascript-packer/en/
http://yuiblog.com/blog/2008/07/16/combohandler/
This is a fast, low-overhead port of Douglas Crockford’s JSMin JavaScript minifier to PHP. It requires PHP 5 or higher.
JSMin is a filter which removes comments and unnecessary whitespace from JavaScript files.
http://code.google.com/p/jsmin-php/

opensolaris / Optimized Open Source Software Stack (Cool Stack)

看到一個有用的套件

for the Sun Solaris Operating System(TM)

http://cooltools.sunsource.net/coolstack/

Cool Stack includes several packages in the SVR4 package format, so you can install just the ones you need. Some of the applications in Cool Stack already ship with Solaris, but these are either older versions and/or not built with full optimization. Further, Cool Stack has been pre-configured to have the most popular applications (Apache, PHP, MySQL) to work seamlessly out of the box.
Deploying PHP From Cool Stack in Sun Java System Web Server

Configuring Cool Stack PHP With Web Server

Next, do the following:

1. Go to the Cool Stack PHP 5 installation location. Type:

cd /opt/coolstack/php5

In that directory is a script called setup-ws7-php.sh.

2. Run setup-ws7-php.sh. Type:

./setup-ws7-php.sh

This message is displayed:

Usage:
This script will configure Coolstack PHP with Sun Java System Web Server
7. Here, you will need to provide the top level location of your Web Server
7 installation and your Web Server 7 instance_name name to which this
script should configure to run PHP scripts.

Enter your Web Server installation location(/sun/webserver7):

3. Type the full path for your Web Server installation.

The script then prompts you to type a Web Server instance name. That name is the path to a directory in your installation location—one that contains all the configuration files for running your Web site. If you are using Web Server in Sun Java Enterprise System 5, your instances are under /var/opt/SUNWwbsvr7.

For the example in this article, cite the instance https-coolstack that you created previously. To enable a different instance for PHP, type that instance name. Your instance is then ready for PHP, which you can deploy with Cool Stack 1.2 PHP on Web Server.

Finally, do the following:

1. Start Web Server. Type:

/sun/webserver7/https-coolstack/bin/startserv

2. Create sample PHP files under /sun/webserver7/https-coolstack/docs.

memcache sample code

簡單版的測試 sample code

[code language=’php’]

// filename : memcache.php

$memcache = new Memcache;
$memcache->addServer('172.20.50.25', 11211);

// set 一個值到 memcache

$memcache->set('key', time() , MEMCACHE_COMPRESSED, 120);

// get 值

$data=$memcache->get('key');
print_r($data);

Holux m-241 logger 的 KML data 匯出 , 用 excel 編輯後再轉回 KML

今天早上都在玩這個…
把 kml 檔案用 simplexml 讀出來 , 簡單分析了一下就知道座標跟高度等資料在那裡了,
接著用以下的程式把它轉出 csv 檔
[code language=’php’]
$string=file_get_contents(“0816.kml”);

$xml = simplexml_load_string($string);

printf(“Name,Latitude,Longitude,Altitude,Dist,Description ,Icon,IconScale,IconAltitude,IconHeading, IconColor, LineStringColor,HideNameUntilMouseOver\n”);

$icon=”196″;
$iconscale=”0.2″;
$iconaltitude=10;
$iconheading=”line-180″;
$iconcolor=”yellow”;
$linestringcolor=”aqua”;
$HideNameUntilMouseOver=”true”;

$cnt=0;
$t1=0;
$last_point=array();
$dist=0;
$total_dist=0;
$ignore_time=120; // 120 seconds
$ignore_dist=10; // 10 meters

foreach ($xml->Document->Folder->Placemark as $k=>$v) {
$point=explode(“,”,trim($v->Point->coordinates));
if ( $last_point[0] ) {
$dist=sqrt( pow(abs($point[0]-$last_point[0])*110.766417,2) + pow(abs($point[1]-$last_point[1])*110.766417,2) );
$dist*=1000;
} else {
$dist=0;
}
$total_dist+=$dist;
$last_point=$point;
if ( $point[2]name);
$timestamp=strtotime($str_time);
if ( ($timestamp-$t1)<$ignore_time &amp;&amp; $dist<$ignore_dist ) continue; $t1=$timestamp; printf("%s , ",date("H:i:s",$timestamp)); printf("%s , ",$point[1]); printf("%s , ",$point[0]); printf("%s , ",$point[2]); printf("%s , ",$total_dist); printf("NO.%d
%s
Altitude : %s M , “,$cnt++,$str_time,$point[2]);
printf(“%s , “,$icon);
printf(“%s , “,$iconscale);
printf(“%s , “,$iconaltitude);
printf(“%s , “,$iconheading);
printf(“%s , “,$iconcolor);
printf(“%s , “,$linestringcolor);
printf(“%s , “,$HideNameUntilMouseOver);
printf(“\n”);
}[/code]

用 excel 把 csv 讀進來編輯, 一方面用 google earth 來對原來資料 , 看那邊停留久的 data
減少一些 , 再用這個 service 把 csv 轉回 KML 檔

Excel To KML – Display Excel files on Google Earth

今天(8/19)聽了 aska 的建議, 增加 “忽略” 時間跟距離的片段進去

今天(8/21)終於把這段程式改成可以給大家用的 service 了:
https://www.monster.com.tw/kml2csv

裝了 SyntaxHighlighter Plus , 程式碼可以看清楚了

SyntaxHighlighter Plus

It supports the following languages (the alias for use in the post is listed next to the name):

* Bash — bash, sh
* C++ — cpp, c, c++
* C# — c#, c-sharp, csharp
* CSS — css
* Delphi — delphi, pascal
* Java — java
* JavaScript — js, jscript, javascript
* PHP — php
* Python — py, python
* Ruby — rb, ruby, rails, ror
* SQL — sql
* VB — vb, vb.net

* XML/HTML — xml, html, xhtml, xslt

修改 … /wp-content/plugins/syntaxhighlighter-plus/shlfiles/SyntaxHighlighter.css
把 .dp-highlighter 的 width 改成想要的寬度

[code language=C]
#include
main() {
printf(“Hello World!”);
}

[/code]

設定 .htaccess 讓 網址比較短

CodeIgniter – Open source PHP web application framework

設定 .htaccess 讓 網址比較短

codeigniter 網頁提到
http://codeigniter.com/user_guide/general/urls.html

可以把www.your-site.com/index.php/news/article/my_article
變成
www.your-site.com/news/article/my_article

步驟:
改 apache 的 virtual host file
Options FollowSymLinks
在 /xxx/username/ci/ 下建 .htaccess
<IfModule mod_rewrite.c>
RewriteEngine on
RewriteCond $1 !^(index.php|images|robots.txt)
RewriteRule ^(.*)$ /rimmon/ci/index.php/$1 [L]
</IfModule>

check email 存不存在

if ($_SERVER[argc]<2) {
  printf("Usage : %s filename\n",$_SERVER['argv'][0]);
  exit;
}

$filename=strftime("%H%M.txt");
$out=fopen($filename,"a");

$counter=0;
$fp=fopen($_SERVER['argv'][1],"r");
while ($data=fgets($fp,2000)) {
  $data=str_replace("\r","",$data);
  $data=str_replace("\n","",$data);
  if (checkmail($data)==TRUE) {
    printf("%s : %s \tGOOD_EMAIL!\n",$counter,$data);
    fputs($out,$data."\n");
  } else printf("%s : %s \tBAD_EMAIL!\n",$counter,$data);
  $counter++;
}
fclose($fp);
fclose($out);
exit;

// -------

function checkmail($mail){
  $host = explode('@',$mail);
  list($account,$host) = $host;

  if (!getmxrr($host,$mxa)) $mxa = array($host);
  while (list ($key, $mx) = each($mxa)) {
    if ($mxg = @fsockopen ($mx,25,$ir,$sr,5)) {
      $out = fgets($mxg, 1024);
      if (substr($out,0,3) == "220") {
        fputs ($mxg, "HELO example.com\r\n");

        $out = fgets ( $mxg, 1024 );
        fputs ($mxg, "MAIL FROM: <{$mail}>\r\n");
        $from = fgets ( $mxg, 1024 );
        fputs ($mxg, "RCPT TO: <{$mail}>\r\n");
        $to = fgets ($mxg, 1024);
        fputs ($mxg, "QUIT\r\n");
        fclose($mxg);
        if (ereg ("^250", $from) && ereg ( "^250", $to )) return TRUE;
        return FALSE;
      }
      return FALSE;
    }
    return FALSE;
  }
  return FALSE;
}

用 apache 的 setenv module 在程式中加入判斷 developer 是誰

<VirtualHost 172.30.0.35:80>
        ServerName rimmon.goods.dev.xxx.com.tw
        ServerAdmin [email protected]
        DocumentRoot /home/rimmon/bid/goods/www
        SetEnv DEVELOPER rimmon
        alias /js/ /home/rimmon/bid/www/www/js/
        alias /css/ /home/rimmon/bid/www/www/css/
        <Directory “/home/rimmon/bid/goods/www”>
          Options  FollowSymLinks
          AllowOverride None
          Allow from all
        </Directory>
</VirtualHost>