AJAX 的程式最怕的就是整頁 reload, 再不然就是點選回上一頁(或者就是按到 Back Space(Enter 上面那顆)), 就需要全部重來...
分類: Programming
文字介面線上字典 Script
在 BBS 看到有人寫幾行的 script, 做的事情就是把參數傳給 Yahoo! 字典, 然後把抓回來的資料去掉 html, 就是很清楚的查詢結果, 給 Leeym 長輩看了後, 長輩給了另一個 Perl 版本的 scrtip, 除了清楚的查詢結果外, 還有詞性 + 顏色, 而且還有 spell check(Y! 字典提供的修正).
順便推薦作者講的 sed 好站: SED 單行 script 快速參考, 作者就是抄這邊把html濾掉的.
用 PHP 寫 Command-Line Script(CLI)
用 PHP 來寫一般 Script 很簡單, 只要直接寫, 再用 PHP 去執行即可, 但是寫 Command-Line Script(CLI - Command-Line Interface) 當然要用用 STDIN, STDOUT, STDERR 囉(用此做做互動)~
詳細文件可見: PHP: Using PHP from the command line - Manual
Javascript Variable Dump(var_dump)
Javascript/AJAX 在寫的時後有一個很頭大的問題, 就是沒有類似 PHP 的 print_r() 或 var_dump() 的 function, 可以把變數內的資料印出來看看, debug 時就只能不斷的印, 不斷的 alert()...
Google PageRank 演算法實作(Python版)
Google PageRank 演算法 用 Python 實作出來(程式共126行), 詳細沒有仔細看, 以後有需要再來研究..
詳細可見如下:
- PageRank 演算法詳述: How Google Finds Your Needle in the Web's Haystack
- 實作: The Google PageRank Algorithm in 126 Lines of Python
- Source Code: PageRank.py
- 備份: PageRank.py
- 實作: Google PageRank algorithm in Python
- Source Code: PageRank.py
- 備份: PageRank.py
EJ 精簡好用的 Javascript Library
現在看到的 Javascript Framework 都非常的肥大, 不論是 YUI, DoJo, Prototype, script.aculo.us ... 等等, 都相當的大, 有時後我只是要處理些小東西(ex: 抓個 class), 就需要拉那麼多的東西, 實在不太願意~
PHP: XML to JSON 轉換程式(xml2json)
為了減少前端的負擔, 於是決定要將 XML 轉 JSON 的工作轉到後端去做, 但是找了許久找不到 XML to JSON 的程式, 於是就自己寫了轉換程式.
基本上比想像中麻煩一點, 沒想到還有 @, # 等等一些怪怪的規則~ 所以程式寫起來比較亂一點.
此程式就是照此篇文章規則寫的: Converting Between XML and JSON
有 Javascript 版可以 線上轉換 參考: XML to JSON – a converter
鍵盤按鍵 與 Javascript key codes 對應表
當要設計快速鍵, 但是到底此鍵盤按鍵對應的 key code 到底是多少呢~ 找到一個非常實用的列表.
- Javascript Key Codes - 此頁列出 鍵盤按鍵 <-> JavaScript Key Codes Mapping
為了怕不見, 將此頁存下來於此檔 Javascript Key Codes.
另外找到下述網站有 ASCII 1~255 分別對應的字元列表
Rasmus Lerdorf’s no-framework PHP MVC framework
Rasmus Lerdrf's 的 Blog 寫的這篇文章, 算是另一種類的 framework, 一定要好好研讀~ 🙂
PHP 測量程式執行時間
程式在執行時, 遇到莫名奇妙執行很久, 但又不知道是什麼問題的時後, 就用此 function 來將每個執行的時間印出來, 將可輕易找出問題所在.
<?php function getMicrotime() { list($usec, $sec) = explode(' ', microtime()); return ((double)$usec + (double)$sec); }?>
使用方法:(以抓 mysql_connect() 時間為例)
<?php $start = getMicrotime(); mysql_connect('localhost', 'id', 'password'); $end = getMicrotime(); $time = $end - $start; echo "mysql_connect 執行時間: $time"; ?>
註: PHP5 以後, 可以採用下述作法:
<?php $time_start = microtime(true); // Sleep for a while usleep(100); $time_end = microtime(true); $time = $time_end - $time_start; ?>
或
<?php $time_start = microtime(true); // Sleep for a while usleep(100); $time = microtime(true) - $time_start; ?>