Posts

Showing posts from 2008

把 Linux 上的 x-windows 關掉

一開始灌機器的時候可能會沒有注意就把桌面(x-windows)裝進去 隨著往後 Server 的資源不夠時 這時候你或許會想到要關掉桌面 以節省 CPU & Memory 資源 直接去編輯 /etc/inittab 把下面這行 id: 5 :initdefault: 5 改成 3 重開(restart -n)即可! ㄧ以下是各參數的意義: # Default runlevel. The runlevels used by RHS are: #   0 - halt (Do NOT set initdefault to this) #   1 - Single user mode #   2 - Multiuser, without NFS (The same as 3, if you do not have networking) #   3 - Full multiuser mode #   4 - unused #   5 - X11 #   6 - reboot (Do NOT set initdefault to this) 此方法在 Fedora 8 & RHEL 4 & CentOS 5.2 下可正常設定!

SSH 自動登出

最近裝了 CentOS 5 版後 SSH 閒置一段時間後常常會自動被登出 把下面的設定值加入 /etc/ssh/sshd_config ClientAliveInterval 300 然後重開 ssh 就不會被那擾人的自動登出困擾著了~ # /etc/init.d/sshd restart Reference : 5.4 SSH Timeout help

Apache 的 .htaccess 失效?(續)

如果你 照著此篇做 還是發現 .htaccess 檔起不了作用 那應該是你有用 url rewrite 的功能 不知道 Apache 2 從那一版開始 預設將 mod_rewrite 給關閉 #LoadModule rewrite_module modules/mod_rewrite.so 把 # 的部份移除重開 Apache 即可

Apache 的 .htaccess 失效?

如果你的 Apache .htaccess 設定檔無效 請先檢查 httpd.conf 中的 <Directory>...</Directory> 中的 AllowOverride 設定是否為 None 改成 AllowOverrider All 就可以了 由於安全性等的考慮 Apache 可能預設會是 None 如果你只有某些地方需要支援 .htaccess 設定 可指定目錄支援即可 <Directory "/var/www/html"> AllowOverride All </Directory> 參考來源: [求助] Apache主機.htaccess強迫編碼設定

PHP 正規化的好幫手:preg_replace()

某些字串取代不能夠單純的用 str_replace 達成 這時候就要搭配 正規化 ( Regular Expression , 簡寫 Regex )來做到 PHP 中可以用 preg_replace 來做到正規化取代的功能 preg_replace ( mixed $pattern , mixed $replacement , mixed $subject [, int $limit [, int &$count ]] ) 在大量線上 Post 文或文書處理時 編輯人員往往都不會自行將來源的文字中的網址加上超連結 這時讀者如果想要到文中提及的網站瀏覽 就只能乖乖的複製好網址再貼上到瀏覽器的網址列了 如果想要將文章裡面的文字連結利用正規化變成真的 Hyper Link 請試看看以下的範例: <?php // 將字串中的網址加入超連結 function parseURL($strURL = null) { $regex = "{ ((https?|telnet|gopher|file|wais|ftp):[\\w/\\#~:.?+=&%@!\\-]+?)(?=[.:?\\-]*(?:[^\\w/\\#~:.?+=&%@!\\-]|$)) }x"; return preg_replace( $regex, "<a href=\"$1\" target=\"_blank\" alt=\"$1\" title=\"$1\">$1</a>", $strURL); } echo ParseMsg('http://www.php.net'); ?> 得到的結果: http://www.php.net 延伸閱讀: PHP 編寫 BBCode 函式

用 CSS 累加數字 & CSS 支援變數

在這瞬息萬變的網路世界中 不要說十年… 五年就差很多了! 這有大部分要歸功於 Google 囉~ (Google OS:更!這又扯到我了…) 剛在這邊看到一個 例子 可以用 CSS 去控制數字累進 以下擷取 The Spanner 的部份程式出來說明( 範例 & 原程式碼 ) @ 這段是用來重整頁面用的 <?php for($i=0;$i<$maxLoop;$i++) { $frame = $i + 1; echo '<meta http-equiv="Refresh" content="'.$frame.';URL=cssloops.php#'.$frame.'_'.$rand.'">',"\r\n"; } ?> @ 這段是用來動態產生 CSS <style type="text/css"> <?php $linkCount = $maxLoop; for($i=0;$i<$maxLoop;$i++) { $frame = $i + 1; for($j=0;$j<$i;$j++) { echo 'a + '; } echo 'a[href="cssloops.php#'.$frame.'_'.$rand.'"]:visited + '; for($j=0;$j<$linkCount-1;$j++) { echo 'a + '; } ?> div:after { counter-increment: count <?php echo $frame?>; content: " " counter(count) " "; } <?php $linkCount--; } ?> div:after { content: " " counter(count) " "; } </style>

把客人帶出去?

剛剛看到了 這邊 介紹用 Google Docs 崁入 Word 、 PowerPoint 檔案 可以在網頁中"播放"簡報檔 這邊不是用 Microsoft PowerPoint 的另存新檔成網頁 而是用 iframe 的方式引用 Google Docs 中的檔案 由於 Google 將簡報檔用網頁的方式呈現出來 所以只要支援 W3C 的 browser 應該不會有不支援而無法瀏覽的問題 之前業務就在問有沒有什麼方式可以在網頁崁入簡報檔的 那時候最好的方法大概還是用 iframe 直接引用該 .ppt 檔 不過這要看 client 端是否有裝 PowerPoint 程式才能觀看 或者是直接將簡報檔另存成網頁檔 突然想到一個有有趣的問題 而最近剛好又蠻有感觸的… 事情的拿捏實在是很重要 可能這一個拿捏會漸漸影響到客戶對你們公司的信心 就拿 Mail Server 的事情來說好了 現在應該大家都知道網路上垃圾信流竄實在是多不勝數 尤其以 Yahoo!Kimo 為首,實在是垃圾信的溫床 其實我有比較過 台灣的 Yahoo! 跟 米國的 Yahoo! 他們所用的垃圾信判斷機制一定不同 因為我兩個信箱都沒對外公開的情況下 台灣帳號的垃圾信實在是多到一發不可收拾 但米國帳號卻沒有任何一封的垃圾信 (我米國的帳號申請時間大概只有四個多月) 或許這不是很準,但值得參考 但我很確定的是 米國 Yahoo! 很多技術都是 Yahoo! 各語言版本中最先進的 不過這也意味著米國是是白老鼠 ._. 不過這年頭當白老鼠也不一定是壞事 Google 一堆 Services 都 beta 了好幾年 還不是整棵好好~ 大堆最推薦的都應該是 Google 的 Gmail 了! 不但免錢又大碗(現在已經超過 6.2G 了) 而且還提供學術單位跟家庭團體申請免費的 Google Apps 在不熟不做的大前題下 各位技術人員應該都會推薦客戶甚至公司使用 Google Apps 吧? 雖然很多公司團體礙於面子問題不用 他的 Anti-spam 技術不用我說了 大家應該都很清楚明白他的好處 不過也是有人抱怨他的 POP3 跟 IMAP 速度很慢 常常會 Timeout 或連不上 不過我在這邊說句公道話 在 Web 2.0 已經這麼成熟的同時 那些依賴 Outlook

MySQL GROUP BY + ORDER BY -> Sorting 失效

以前都是用 MyISAM Engine 常搭配 GROUP BY 、 HAVING 撰寫 SQL 不過一直沒遇過這個問題 現在的資料庫 Engine 都是用 InnoDB 比較多 熊熊遇到 GROUP BY + ORDER BY Sorting 失效的問題 查了一下 MySQL 5.0 Certification Study Guide ,在 9.5.1 GROUP BY and Sorting 這節看到: For database engines other than MySQL, GROUP BY might not sort rows. 後來複製了一樣的 schema 跟 data 到一個新建的 table MySQL Engine 改用 MyISAM 測試 結果也是一樣的 剛剛想到 phpMyAdmin 的 Operations 中有個 Alter table order by 的功能 趕緊測試了一下,果然可以! :D 我的資料庫結構大致如下: no, int(10), UNSIGNED page_id, varchar(50) revision, int(10), UNSIGNED no, Primary Key page_id, INDEX Key page_id & revision, UNIQUE Key 原本用 SELECT * FROM `table` GROUP BY page_id ORDER BY revision DESC 出來的 revision 順序為 1、2 由於不方便使用 Distinct 後來加入 ALTER TABLE `test` ORDER BY `revision` DESC revision 順序就變 2、1 了! 測試環境: FreeBSD 6.2-Release MySQL 5.0.27 (utf8_general_ci) 2008-01-03 PM 03:43 補充: 剛經測試,上面的 Alter table order by 方法只適合用於 MyISAM 格式 InnoDB 格式不適用.... ooxx 如有後續再陸續補上~ 2008-01-04 PM 07:15 補充: 可以用 GROUP BY page_id DESC ORDER BY revision 的方式來替代 不過我始

Google Blogger Support OpenID

Image
Google Blogger 開始支援 OpenID 囉! 昨天晚上在設定權限(Permissions) 熊熊發現 Blogger 的 Dashboard 有了些許的變化… 除了 Registered Users 支援 OpenID Anyone 也是有支援的喔! 另外還支援 AOL/AIM、Live Journal、TypeKey、WordPress 等方式認證回覆留言。 而網友在留言的地方可以選擇用哪種方式進行認證 Blogger 支援各家的 OpenID 目前 OpenID 皆為 draft 比較多 雖然 OpenID 2.0 正式規格已經出來了 不過可能要等一陣子才會完全的支援 相關介紹: Blogger Draft:支援 OpenID 留言 OpenID 2.0 OpenID 2.0