<?xml version="1.0" encoding="UTF-8"?>
<?xml-stylesheet type="text/xsl" media="screen" href="/~d/styles/rss2full.xsl"?><?xml-stylesheet type="text/css" media="screen" href="http://feeds.feedburner.com/~d/styles/itemcontent.css"?><rss xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:wfw="http://wellformedweb.org/CommentAPI/" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:sy="http://purl.org/rss/1.0/modules/syndication/" xmlns:slash="http://purl.org/rss/1.0/modules/slash/" xmlns:feedburner="http://rssnamespace.org/feedburner/ext/1.0" version="2.0">

<channel>
	<title>香港網頁開發網誌</title>
	
	<link>http://www.hkpug.net</link>
	<description>分享 PHP 和網頁開發的知識和經驗</description>
	<lastBuildDate>Wed, 22 Feb 2012 23:17:22 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.3.1</generator>
		<atom10:link xmlns:atom10="http://www.w3.org/2005/Atom" rel="self" type="application/rss+xml" href="http://feeds.feedburner.com/hkpug/feed" /><feedburner:info uri="hkpug/feed" /><atom10:link xmlns:atom10="http://www.w3.org/2005/Atom" rel="hub" href="http://pubsubhubbub.appspot.com/" /><item>
		<title>在 Windows 7 安裝 WampServer</title>
		<link>http://feedproxy.google.com/~r/hkpug/feed/~3/VB8xwoOyU2s/</link>
		<comments>http://www.hkpug.net/2012/02/17/%e5%9c%a8-windows-7-%e5%ae%89%e8%a3%9d-wampserver/#comments</comments>
		<pubDate>Fri, 17 Feb 2012 09:19:52 +0000</pubDate>
		<dc:creator>阿恆</dc:creator>
				<category><![CDATA[PHP]]></category>
		<category><![CDATA[install WampServer]]></category>
		<category><![CDATA[wamp]]></category>
		<category><![CDATA[WAMP 教學]]></category>
		<category><![CDATA[WampServer]]></category>
		<category><![CDATA[WampServer 教學]]></category>
		<category><![CDATA[安裝 WampServer]]></category>

		<guid isPermaLink="false">http://www.hkpug.net/?p=966</guid>
		<description>很多網站開發人員都喜歡在自己的桌面電腦上編寫和測試他們的程式，這樣做有幾個好處，首先你可以很容易測試程式，無須檔案上傳到伺服器，尤其是對於一些簡單的修改，可以節省很多工夫；另一個好處是程式的臭蟲不會隨便搗亂伺服器，無論它們有甚麼瘋狂的行為，也只是被侷限在你的電腦的某一個資料夾，絕不會惹怒服務供應商、伺服器上的其他用戶、伺服器上的其他系統、或者你的老闆。本文將會介紹如何在 Windows 7 上架設 Apache2、MySQL、及 PHP，也就是所謂的「WAMP」架構 ── Windows + Apache + MySQL + PHP。 &lt;a href="http://www.hkpug.net/2012/02/17/%e5%9c%a8-windows-7-%e5%ae%89%e8%a3%9d-wampserver/" class="more-link"&gt;繼續閱讀 &amp;#187;&lt;/a&gt;&lt;img src="http://feeds.feedburner.com/~r/hkpug/feed/~4/VB8xwoOyU2s" height="1" width="1"/&gt;</description>
		<wfw:commentRss>http://www.hkpug.net/2012/02/17/%e5%9c%a8-windows-7-%e5%ae%89%e8%a3%9d-wampserver/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	<enclosure url="http://www.hkpug.net/wp-content/uploads/2012/02/install-wampserver.png" length="44528" type="image/jpg" />	<feedburner:origLink>http://www.hkpug.net/2012/02/17/%e5%9c%a8-windows-7-%e5%ae%89%e8%a3%9d-wampserver/</feedburner:origLink></item>
		<item>
		<title>尋覓理想的 PHP 編輯器</title>
		<link>http://feedproxy.google.com/~r/hkpug/feed/~3/wDRz87WSf1o/</link>
		<comments>http://www.hkpug.net/2012/02/02/%e5%b0%8b%e8%a6%93%e7%90%86%e6%83%b3%e7%9a%84-php-%e7%b7%a8%e8%bc%af%e5%99%a8/#comments</comments>
		<pubDate>Thu, 02 Feb 2012 07:04:50 +0000</pubDate>
		<dc:creator>阿恆</dc:creator>
				<category><![CDATA[PHP]]></category>
		<category><![CDATA[PHP IDE]]></category>
		<category><![CDATA[PHP 編輯器]]></category>
		<category><![CDATA[整合性開發環境]]></category>

		<guid isPermaLink="false">http://www.hkpug.net/?p=935</guid>
		<description>你使用甚麼軟件來編輯 PHP 源碼、除錯、和管理項目？你對它滿意嗎？J Armando Jeronymo 最近因為某些原因不再使用本來的編輯器，於是展開了一趟 PHP / HTML / CSS / JavaScript 編輯器尋覓之旅，他在 How I Chose My Programming Editor 中講述了他怎樣訂立評審標準、遴選經過、與及他心目中的「完美」編輯器。 &lt;a href="http://www.hkpug.net/2012/02/02/%e5%b0%8b%e8%a6%93%e7%90%86%e6%83%b3%e7%9a%84-php-%e7%b7%a8%e8%bc%af%e5%99%a8/" class="more-link"&gt;繼續閱讀 &amp;#187;&lt;/a&gt;&lt;img src="http://feeds.feedburner.com/~r/hkpug/feed/~4/wDRz87WSf1o" height="1" width="1"/&gt;</description>
		<wfw:commentRss>http://www.hkpug.net/2012/02/02/%e5%b0%8b%e8%a6%93%e7%90%86%e6%83%b3%e7%9a%84-php-%e7%b7%a8%e8%bc%af%e5%99%a8/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	<enclosure url="http://www.hkpug.net/wp-content/uploads/2012/02/seach-for-perfect-php-editor.png" length="48821" type="image/jpg" />	<feedburner:origLink>http://www.hkpug.net/2012/02/02/%e5%b0%8b%e8%a6%93%e7%90%86%e6%83%b3%e7%9a%84-php-%e7%b7%a8%e8%bc%af%e5%99%a8/</feedburner:origLink></item>
		<item>
		<title>使用電腦的七個好習慣</title>
		<link>http://feedproxy.google.com/~r/hkpug/feed/~3/f1ceolbyTEA/</link>
		<comments>http://www.hkpug.net/2011/11/15/%e4%bd%bf%e7%94%a8%e9%9b%bb%e8%85%a6%e7%9a%84%e4%b8%83%e5%80%8b%e5%a5%bd%e7%bf%92%e6%85%a3/#comments</comments>
		<pubDate>Mon, 14 Nov 2011 17:03:16 +0000</pubDate>
		<dc:creator>阿恆</dc:creator>
				<category><![CDATA[IT News]]></category>
		<category><![CDATA[休息]]></category>
		<category><![CDATA[備份]]></category>
		<category><![CDATA[密碼]]></category>
		<category><![CDATA[文件]]></category>
		<category><![CDATA[檔案]]></category>
		<category><![CDATA[習慣]]></category>
		<category><![CDATA[電腦]]></category>

		<guid isPermaLink="false">http://www.hkpug.net/?p=915</guid>
		<description>&lt;p&gt;&lt;a title="Stephen Convey" href="https://www.stephencovey.com/"&gt;Stephen Covey&lt;/a&gt; 著有「&lt;a title="7 Habits of Highly Effective People" href="https://www.stephencovey.com/7habits/7habits.php"&gt;7 Habits of Highly Effective People&lt;/a&gt;」，我也來邯鄲學步，寫一篇「7 Habits of Highly Effective Computer Users」，包括：定時儲存、防毒軟件、網絡安全、密碼管理、檔案組織、備份方案、伸個懶腰。被電腦欺負的人或許可以得到一些反擊的提示。&lt;/p&gt; 定時儲存 &lt;p&gt;天有不測之風雲，電腦突然會失魂，當機、停電等等每天都會發生（部分原因是拜 Gates 先生所賜），所以當你編輯文件、繪畫圖畫、編寫網誌（像這一篇）的時候，切記定時儲存檔案，很多 Windows 的程式都使用快速鍵 Ctrl-S 來儲存，按一下不花你一秒鐘，但卻保障了你數個小時的功夫。有些軟件有自動儲存功能（Auto Save），記緊啟動這項功能。&lt;/p&gt; 防毒軟件 &lt;p&gt;這包括防病毒、防惡意程式、防間諜程式的軟件，有些軟件套裝包含了這三項功能，有些則要分開三個不同的模組獨立購買，不論如何，這些軟件是每一部電腦不可或缺的防禦工具，安裝了這些軟件後還要設定定時更新資料庫，才能抵禦日新月異的攻擊。我不打算在這裡解釋防毒軟檢的重要性，我的忠告是若你不打算投資在防毒軟件上，索性不要使用電腦。&lt;/p&gt; 網絡安全 &lt;p&gt;注意偽冒網站、色情網站、惡意廣告網站，及各種形形色色的傷害你的電腦，侵犯你的個人資料，甚至揭露私隱的網站，他們使用的技術千奇百怪，防不勝防，防毒軟件只能針對安裝在電腦內的軟件，不能替你審查網頁，所以你需要其他方法，最簡單就是戒掉使用 IE 的惡習，因為它是絕大多數惡意網站的頭號攻擊目標，IE 的網絡安全漏洞也特別多，我建議使用 &lt;a title="Mozilla Firefox" href="http://www.mozilla.org/en-US/firefox"&gt;Firefox &lt;/a&gt;和 &lt;a title="Google Chrome" href="http://www.google.com/chrome"&gt;Chrome&lt;/a&gt;，它們內置防偽冒網站和防惡意網站的功能，透過安裝外掛配件，還可以阻擋廣告。&lt;/p&gt; 密碼管理 &lt;p&gt;我曾經在「&lt;a title="怎樣管理密碼？" href="/2011/07/27/%e6%80%8e%e6%a8%a3%e7%ae%a1%e7%90%86%e5%af%86%e7%a2%bc%ef%bc%9f/"&gt;怎樣管理密碼？&lt;/a&gt;」和「&lt;a title="定期更改密碼的迷信" href="/2011/08/09/%e5%ae%9a%e6%9c%9f%e6%9b%b4%e6%94%b9%e5%af%86%e7%a2%bc%e7%9a%84%e8%bf%b7%e4%bf%a1/"&gt;定期更改密碼的迷信&lt;/a&gt;」 等文章多次討論電腦密碼的問題，但即使再多說幾次也不為過，因為它實在太重要、影響太深遠了，設定安全可靠的密碼固然十分重要，其後如何紀錄及管理同樣重要，例如你如何紀錄數量龐大而複雜的密碼？如何隨時提取這些密碼？如何安全地在多部電腦上分享密碼？萬一這些密碼洩漏了，怎樣可以把損害減到最低？我建議使用一些「密碼夾萬」軟件 (詳情可閱讀「&lt;a title="怎樣管理密碼？" href="/2011/07/27/%e6%80%8e%e6%a8%a3%e7%ae%a1%e7%90%86%e5%af%86%e7%a2%bc%ef%bc%9f/"&gt;怎樣管理密碼？&lt;/a&gt;」)，也可以使用一些網上的「密碼夾萬」服務，例如 &lt;a title="LastPass" href="http://www.lastpass.com/"&gt;LastPass&lt;/a&gt;。&lt;/p&gt; 組織檔案 &lt;p&gt;你在哪裡保存文件？是否任由它們散落在桌面上或通通塞入「我的文件」裡？為了維持某程度的秩序，建議你建立文件夾和子文件夾來管理文件，同時給予文件適當的名稱，它只會多花你數秒，將來卻可以節省大量查找文件的時間。&lt;/p&gt; 備份策略 &lt;p&gt;千 萬不要冒失去文件的危險而不作備份，硬盤隨時會損壞、丟失和被盜，也無人可以保證他們永遠正常運作，災難發生後數據往往無法恢復的，即使可以，也比人們想像的更昂貴和費時。所以必須把你千辛萬苦地建立的文件，或者重要的文件，定期複製到 DVD 光盤、USB 儲存裝置或便攜式硬盤，也可以使用網上的儲存空間作備份，&lt;a title="SugarSync" href="https://www.sugarsync.com/"&gt;SugarSync &lt;/a&gt;和 &lt;a title="DropBox" href="http://www.kittyhang.com/blog/?p=1125"&gt;DropBox &lt;/a&gt;便提供類似的服務，它們還提供方便易用的檔案同步功能，節省手動複製檔案的麻煩。一個功能齊全的檔案備份或同步程式 (備份與同步是不一樣的概念，備份的軟件未必適用於同步，反之亦然)，例如 &lt;a title="Cobian Backup" href="http://www.educ.umu.se/%7Ecobian/cobianbackup.htm"&gt;Cobian Backup&lt;/a&gt; (備份軟件) 和 &lt;a title="Allway Sync" href="http://allwaysync.com/"&gt;Allway Sync&lt;/a&gt; (同步軟件)，有助你自動化所有備份操作。對於極端重要不容有失的文件，你甚至要考慮製作多少個備份，是否需要分散放置這些備份，這些備份萬一給人複製的話有甚麼後果等等問題。&lt;/p&gt; 定時休息 &lt;p&gt;過長時間盯著電腦，你的眼睛、後頸、肩頭、下背等等肯定會投訴，所以，建議你每十五分鐘提醒自己眨一眨眼睛，望一望遙遠的東西，每一、兩小時做一些柔軟體操鬆弛一下肌肉，長遠來說你的身體會感謝你。&lt;/p&gt;&lt;img src="http://feeds.feedburner.com/~r/hkpug/feed/~4/f1ceolbyTEA" height="1" width="1"/&gt;</description>
		<wfw:commentRss>http://www.hkpug.net/2011/11/15/%e4%bd%bf%e7%94%a8%e9%9b%bb%e8%85%a6%e7%9a%84%e4%b8%83%e5%80%8b%e5%a5%bd%e7%bf%92%e6%85%a3/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		<feedburner:origLink>http://www.hkpug.net/2011/11/15/%e4%bd%bf%e7%94%a8%e9%9b%bb%e8%85%a6%e7%9a%84%e4%b8%83%e5%80%8b%e5%a5%bd%e7%bf%92%e6%85%a3/</feedburner:origLink></item>
		<item>
		<title>軟件開發十大名言</title>
		<link>http://feedproxy.google.com/~r/hkpug/feed/~3/jfQnQAqXaw4/</link>
		<comments>http://www.hkpug.net/2011/11/08/%e8%bb%9f%e4%bb%b6%e9%96%8b%e7%99%bc%e5%8d%81%e5%a4%a7%e5%90%8d%e8%a8%80/#comments</comments>
		<pubDate>Tue, 08 Nov 2011 15:17:00 +0000</pubDate>
		<dc:creator>阿恆</dc:creator>
				<category><![CDATA[IT News]]></category>
		<category><![CDATA[quotes]]></category>
		<category><![CDATA[名言]]></category>
		<category><![CDATA[軟件開發]]></category>

		<guid isPermaLink="false">http://www.hkpug.net/?p=906</guid>
		<description>&lt;p&gt;Ranker.com 刊登了&lt;a title="十大軟件開發的名言" href="http://www.ranker.com/list/top-10-software-developer-quotes/carmeloeaton"&gt;十大軟件開發的名言&lt;/a&gt;，很多都是由大名鼎鼎的學術界和業界巨頭說的，真是發人深省。&lt;/p&gt; &lt;p&gt;名言一：&lt;/p&gt; &lt;p&gt;"Measuring programming progress by lines of code is like measuring aircraft building progress by weight."&lt;/p&gt; &lt;p style="text-align: right;"&gt;- Bill Gates (Founder of Microsoft)&lt;/p&gt; &lt;p&gt;「用程式的行數來測量編程的進展，相當於用重量來測量飛機建造的進展。」&lt;/p&gt; &lt;p style="text-align: right;"&gt;- 比爾‧蓋茨 (微軟的創辦人)&lt;/p&gt; &lt;p&gt;名言二：&lt;/p&gt; &lt;p&gt;"In order to understand recursion, one must first understand recursion."&lt;/p&gt; &lt;p style="text-align: right;"&gt;- Anonymous&lt;/p&gt; &lt;p&gt;&amp;#160;「為了理解遞歸，首先必須了解遞歸。」&lt;/p&gt; &lt;p style="text-align: right;"&gt;- 佚名&lt;/p&gt; &lt;p&gt;名言三：&lt;/p&gt; &lt;p&gt;"There are two ways of constructing a software design: One way is to make it so simple that there are obviously no deficiencies, and the other way is to make it so complicated that there are no obvious deficiencies. The first method is far more &lt;a href="http://www.hkpug.net/2011/11/08/%e8%bb%9f%e4%bb%b6%e9%96%8b%e7%99%bc%e5%8d%81%e5%a4%a7%e5%90%8d%e8%a8%80/" class="more-link"&gt;繼續閱讀 &amp;#187;&lt;/a&gt;&lt;img src="http://feeds.feedburner.com/~r/hkpug/feed/~4/jfQnQAqXaw4" height="1" width="1"/&gt;</description>
		<wfw:commentRss>http://www.hkpug.net/2011/11/08/%e8%bb%9f%e4%bb%b6%e9%96%8b%e7%99%bc%e5%8d%81%e5%a4%a7%e5%90%8d%e8%a8%80/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		<feedburner:origLink>http://www.hkpug.net/2011/11/08/%e8%bb%9f%e4%bb%b6%e9%96%8b%e7%99%bc%e5%8d%81%e5%a4%a7%e5%90%8d%e8%a8%80/</feedburner:origLink></item>
		<item>
		<title>地理定位 (Geolocation)：比你想像的容易</title>
		<link>http://feedproxy.google.com/~r/hkpug/feed/~3/H84hXsp3vBI/</link>
		<comments>http://www.hkpug.net/2011/11/08/%e5%9c%b0%e7%90%86%e5%ae%9a%e4%bd%8d-geolocation%ef%bc%9a%e6%af%94%e4%bd%a0%e6%83%b3%e5%83%8f%e7%9a%84%e5%ae%b9%e6%98%93/#comments</comments>
		<pubDate>Tue, 08 Nov 2011 09:39:57 +0000</pubDate>
		<dc:creator>阿恆</dc:creator>
				<category><![CDATA[PHP]]></category>
		<category><![CDATA[geolite]]></category>
		<category><![CDATA[geolocation]]></category>
		<category><![CDATA[MaxMind]]></category>
		<category><![CDATA[quova]]></category>
		<category><![CDATA[地理定位]]></category>

		<guid isPermaLink="false">http://www.hkpug.net/?p=901</guid>
		<description>&lt;p&gt;Jeremy Kendall 在 PHP Architecture 有一篇文章介紹&lt;a title="怎樣使你的網站加入地理定位的功能" href="http://www.phparch.com/2011/11/geolocation-its-easier-than-it-looks/"&gt;怎樣使你的網站加入地理定位 (geolocation) 的功能&lt;/a&gt;，好處是可以根據訪客的身處的位置，提供適合的內容和語言，令他們享受更貼心的服務。加入這項功能比你想像的容易，甚至完全免費，Jeremy 提供了兩個解決方案，任何一個都可以在十分鐘內搞定。&lt;/p&gt; &lt;p&gt;Jeremy 說，地理定位屬於一個完全解決了的問題，很多人提供了解決方案，我們沒有必要自行編寫這項功能，他介紹了兩個免費的應用程式界面 (API)，一個是 Maxmind 的&lt;a title="Maxmind GeoLite" href="http://www.maxmind.com/app/geolitecity"&gt; GeoLite API&lt;/a&gt;，另一個是 &lt;a title="Quova" href="http://developer.quova.com/"&gt;Quova&lt;/a&gt;。&lt;/p&gt; GeoLite &lt;p&gt;GeoLite 的確有些獨特，他們的服務是免費的的，無須登記，他們提供了數據庫下載。這意味著數據存放在你自己的網站上，並利用他們提供的 PHP 函式庫來存取數據庫。&lt;/p&gt; &lt;p&gt;以下的步驟讓 GeoLite 在你的網頁應用程序中運行：&lt;/p&gt; 下載 &lt;a title="GeoLiteCity 數據庫" href="http://www.maxmind.com/app/geolitecity"&gt;GeoLiteCity 數據庫&lt;/a&gt; 把數據庫解壓在你的網頁應用程序中一個可讀取的子目錄 安裝 PEAR GeoLite 函式庫（ pear install Net_GeoIP ） 編程！ &lt;p&gt;你需要編寫的程式可說簡單得無法置信，下面是 Jeremy 測試用的程式：&lt;/p&gt; &lt;p&gt;$geoip = Net_GeoIP::getInstance&amp;#40;dirname&amp;#40;__FILE__&amp;#41; . '/data/GeoLiteCity.dat'&amp;#41;;$ipaddress = '72.30.2.43'; // Yahoo!$location = $geoip-&amp;#62;lookupLocation&amp;#40;$ipaddress&amp;#41;;var_dump&amp;#40;$location&amp;#41;;&lt;/p&gt; &lt;p&gt;程式的輸出是這樣： object(Net_GeoIP_Location)[2] protected 'aData' =&amp;#62; array 'countryCode' =&amp;#62; string 'US' (length=2) 'countryCode3' =&amp;#62; string 'USA' (length=3) 'countryName' =&amp;#62; string 'United States' (length=13) 'region' =&amp;#62; string 'CA' (length=2) 'city' =&amp;#62; string 'Sunnyvale' (length=9) 'postalCode' =&amp;#62; string '94089' (length=5) 'latitude' &lt;a href="http://www.hkpug.net/2011/11/08/%e5%9c%b0%e7%90%86%e5%ae%9a%e4%bd%8d-geolocation%ef%bc%9a%e6%af%94%e4%bd%a0%e6%83%b3%e5%83%8f%e7%9a%84%e5%ae%b9%e6%98%93/" class="more-link"&gt;繼續閱讀 &amp;#187;&lt;/a&gt;&lt;img src="http://feeds.feedburner.com/~r/hkpug/feed/~4/H84hXsp3vBI" height="1" width="1"/&gt;</description>
		<wfw:commentRss>http://www.hkpug.net/2011/11/08/%e5%9c%b0%e7%90%86%e5%ae%9a%e4%bd%8d-geolocation%ef%bc%9a%e6%af%94%e4%bd%a0%e6%83%b3%e5%83%8f%e7%9a%84%e5%ae%b9%e6%98%93/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		<feedburner:origLink>http://www.hkpug.net/2011/11/08/%e5%9c%b0%e7%90%86%e5%ae%9a%e4%bd%8d-geolocation%ef%bc%9a%e6%af%94%e4%bd%a0%e6%83%b3%e5%83%8f%e7%9a%84%e5%ae%b9%e6%98%93/</feedburner:origLink></item>
		<item>
		<title>我怎樣面試系統開發員（第二部份，共兩部分）</title>
		<link>http://feedproxy.google.com/~r/hkpug/feed/~3/suiPiYkhvkY/</link>
		<comments>http://www.hkpug.net/2011/08/15/%e6%88%91%e6%80%8e%e6%a8%a3%e9%9d%a2%e8%a9%a6%e7%b3%bb%e7%b5%b1%e9%96%8b%e7%99%bc%e5%93%a1%ef%bc%88%e7%ac%ac%e4%ba%8c%e9%83%a8%e4%bb%bd%ef%bc%8c%e5%85%b1%e5%85%a9%e9%83%a8%e5%88%86%ef%bc%89/#comments</comments>
		<pubDate>Mon, 15 Aug 2011 05:56:49 +0000</pubDate>
		<dc:creator>阿恆</dc:creator>
				<category><![CDATA[Business]]></category>
		<category><![CDATA[系統開發員]]></category>
		<category><![CDATA[面試]]></category>

		<guid isPermaLink="false">http://www.hkpug.net/?p=272</guid>
		<description>&lt;p&gt;這篇文章將分為兩部分，這是第二部分，若果你未看「&lt;a title="我怎樣面試系統開發員（第一部份，共兩部分）" href="http://www.hkpug.net/2011/08/11/%e6%88%91%e6%80%8e%e6%a8%a3%e9%9d%a2%e8%a9%a6%e7%b3%bb%e7%b5%b1%e9%96%8b%e7%99%bc%e5%93%a1%ef%bc%88%e7%ac%ac%e4%b8%80%e9%83%a8%e4%bb%bd%ef%bc%8c%e5%85%b1%e5%85%a9%e9%83%a8%e5%88%86%ef%bc%89/"&gt;面試系統開發員（第一部份）&lt;/a&gt;」，建議你先閱讀那一篇文章。&lt;/p&gt; 怎樣處理困難的問題？ &lt;p&gt;我首先聲明，我不會問任何刁難或者有陷阱的問題，因為面試的目的不是要難為別人，而是要找到優秀的同事。明知對方不懂得或者不擅長的東西，我不會問；需要大量思考的問題，我也不會問。不過我總會問一些有挑戰性的問題，否則怎能區分平庸和優秀的人？以下是一些多數應徵者覺得比較難以處理的問題。&lt;/p&gt; 我會要求你評價自己的能力，例如若果滿分是十分，你認為自己對於網絡保安的認識值多少分？你為何認為你適合這份工作？你如何說服我你比其他應徵者更好？等等。中國人一般比較含蓄內斂，不擅長推銷自己，所以會覺得這類問題難以作答，香港的教育制度也訓練我們一切要循規蹈矩，聽從上級的指令，何曾需要進行自我評估、自我推銷？不過，你應該清楚自己的長處、短處、強項、弱點，你要找哪類型的工作，你希望做甚麼工作，而不是隨意找一份有薪資高、保障好的工作。所以應付這類問題的最好策略，就是在面試前想一想自己的能力和興趣，作答的時候不妨具體一點，例如「我在網絡保安方面的認識不多，因為我一向主要是負責數據庫的開發工作，我會給自己十分之中的三至四分」，這個分數最好與你之前回答的技術性問題的表現一致，若果你自問對我所問的網絡保安問題對答如流，便應該回答一個比較高的分數，否則便應該回答低一點的分數，否則我會視為過度自信／自滿，或者過度自卑，都是不好的。 你不明白我的問題。前面已經說過，請要求我提供更多或更具體的資料，或澄清一些含混的名詞。例如我問你何謂 SQL injection，你不妨要求我澄清：「你是指網路保安中的一種入侵技術 SQL injection 嗎？」若果你根本沒有聽說過這個名詞，或者只是有點印象卻一時無法想起來（緊張的時候經常如此，我是明白的），不妨問：「這是哪一個範疇的名詞？」我是很樂意給你一點提示的。 你不知道問題的答案。前面已經提過，不知道便說不知道好了，或者承認只知道一些大概，沒有人知道所有事情，你也不會例外，我準備的問題涵蓋很廣泛 的範疇，我有心理準備你不能回答所有問題。不過若果你真的嘗試回答，最好準備我會追問相關的細節，確保你不是只知道名稱，所以你不知道的東西最好還是承認不知道。 你為甚麼辭職。這個問題的目的，是要評估一下你將會待在新職位多久，與及你期望一個怎麼樣的工作性質和環境，而不是給你機會發洩對上一份工作或者 老闆的不滿。比較好的答案通常是「為了更好的職業前景」、「擴闊自己的視野」、「公司把業務移到內地」、「公司把工作外判」、「公司前景不明朗」、「長期 長時間工作（每星期工作六至七天，每天超過十二小時之類）」等等，比較差的答案包括「上司針對我」、「與同事合不來」、「人工低」（若果其他機構的薪資更 高，你也會離開這兒吧）、「尋找比較舒適的工作」等等。 為甚麼你總是幹這麼短的時間便轉換工作。我很怕經常轉換同事，因為培訓新人實在很花心力，若果你每一份工作都只是幹一年半載，便要準備回答這道問 題。通常比較好的答案是「這些都是合約工作，合約完了便要離開」、「這期間我正在兼職讀一個學位，考試期間的兩個月我要辭職溫習」等等。 面試題目，我為何問？你怎樣答？ &lt;p&gt;很多人以為面試就是一個問答的遊戲，一問一答，但其實贏得高分的不一定是那些提供正確答案的人，有些問題根本沒有正確的答案，有些問題答案本身並不重要，以下提供一些我的經驗給大家。&lt;/p&gt; 我會請你介紹現在的工作。要取得高分必須做到以下兩點：第一要精簡，何謂精簡在本文的第一部份已經解釋過；第二要有條理，這是表現你的組織能力和 溝通能力的機會，這一道問題其實你應該很熟悉，所以可說是「大贈送」，是你盡情發揮的機會。你回答後我通常會追問一些細節，所以請盡量只把你熟悉的部分告 訴我，減低你失手的風險。 我會問你怎樣解決一道數學問題。這可能是我的個人取向，我認為優秀的人才應該有良好的理論根柢，對於電腦技術的基礎理論瞭如指掌，例如 big O notation、sorting algorithms、binary search、information theory 等等，因為應用技術日新月異，只有具備穩固理論基礎的人才能迅速掌握新的技術、評估新技術的優劣、和判斷它的實用性。香港的學生一般都太功利，他們編程語 言很熟悉，但對於怎樣寫高效能的程式卻不甚了了。這一道問題可說是區分平庸和優秀技術人員的利器。 我會問你怎樣測試一個程式。我最有興趣聽到的是你怎樣測試非正常情況下程式的表現，例如測試不正常的輸入數據、硬盤沒有空間、缺乏足夠的存取權限等情況下程式如何運作（當然你的答案要包括正常情況的測試，但那不是最重要的），沒有相關的經驗很難設計出周全的測試項目。 我會請你比較兩個不同的開發平台，例如 web tier 和 database tier。要達到一個目的可以有很多方法，你是否有能力選擇最合適的方法？你是否明瞭手上每一件工具的特性和優劣？優秀的人才不單只擁有很多工具，他們還懂得甚麼時候用甚麼工具，而不是只懂得聽從上司的指令。若果你可以給告訴我一些我不知道的東西，從而使工作做得更好，我會以你為傲。 我會問你怎樣優化一個程式，例如一道數據庫的 SELECT 語句。好的開發人員不會滿足於程式有正確的輸出，他們還會在乎系統的運作是否最有效率，他們手上應該有一大堆優化程式的手段和工具，並且熟悉如何運用這些工具。 我會問你一些技術名詞的意思。這些通常都是某個範疇內的常見名詞，用來測試你對這個範疇的熟悉程度。若果你在履歷表中說你在這個範疇內有認識或者有經驗，最好在面試前上網溫習一下，免得我感覺你在欺騙我。若果你沒有相關的經驗，但仍然能夠回答問題，我會對你另眼相看，因為這證明你是一個有廣泛興 趣，並且具備自學能力的人，這種同事現在越來越難見到了。正如我在前面說過，我重視同事的自學和分析能力，多於他們是否具備我需要的技能。 範例問題 &lt;p&gt;我知道你等待這一個章節很久了，讓我告訴你一些我常提出的問題。以下的問題用英文撰寫，但我通常是用中文面試的，不用擔心，哈哈。&lt;/p&gt; When will implementing a business logic with database stored procedure is preferable over a classic programming language? 這兩個平台的特性有很大的分別，各有強項和弱項，例如 data intensive 的工作最好是放在數據庫內處理，省卻數據在網絡內傳送的麻煩（包括效能、保安等問題），需要由多台伺服器分擔工作量的運算工作，最好是放在專用的應用程式 伺服器 (application server），由 load balancer 分配工作。當然還有很多考慮因素，請上網找找答案。 In your opinion, what is the different between XXX and YYY (where XXX and YYY are PHP, Java, .Net, VB, C++, etc.) 這道問題的答案並不重要，我只是要看看你對 XXX 和 &lt;a href="http://www.hkpug.net/2011/08/15/%e6%88%91%e6%80%8e%e6%a8%a3%e9%9d%a2%e8%a9%a6%e7%b3%bb%e7%b5%b1%e9%96%8b%e7%99%bc%e5%93%a1%ef%bc%88%e7%ac%ac%e4%ba%8c%e9%83%a8%e4%bb%bd%ef%bc%8c%e5%85%b1%e5%85%a9%e9%83%a8%e5%88%86%ef%bc%89/" class="more-link"&gt;繼續閱讀 &amp;#187;&lt;/a&gt;&lt;img src="http://feeds.feedburner.com/~r/hkpug/feed/~4/suiPiYkhvkY" height="1" width="1"/&gt;</description>
		<wfw:commentRss>http://www.hkpug.net/2011/08/15/%e6%88%91%e6%80%8e%e6%a8%a3%e9%9d%a2%e8%a9%a6%e7%b3%bb%e7%b5%b1%e9%96%8b%e7%99%bc%e5%93%a1%ef%bc%88%e7%ac%ac%e4%ba%8c%e9%83%a8%e4%bb%bd%ef%bc%8c%e5%85%b1%e5%85%a9%e9%83%a8%e5%88%86%ef%bc%89/feed/</wfw:commentRss>
		<slash:comments>3</slash:comments>
		<feedburner:origLink>http://www.hkpug.net/2011/08/15/%e6%88%91%e6%80%8e%e6%a8%a3%e9%9d%a2%e8%a9%a6%e7%b3%bb%e7%b5%b1%e9%96%8b%e7%99%bc%e5%93%a1%ef%bc%88%e7%ac%ac%e4%ba%8c%e9%83%a8%e4%bb%bd%ef%bc%8c%e5%85%b1%e5%85%a9%e9%83%a8%e5%88%86%ef%bc%89/</feedburner:origLink></item>
		<item>
		<title>我怎樣面試系統開發員（第一部份，共兩部分）</title>
		<link>http://feedproxy.google.com/~r/hkpug/feed/~3/m91w5HZ31_4/</link>
		<comments>http://www.hkpug.net/2011/08/11/%e6%88%91%e6%80%8e%e6%a8%a3%e9%9d%a2%e8%a9%a6%e7%b3%bb%e7%b5%b1%e9%96%8b%e7%99%bc%e5%93%a1%ef%bc%88%e7%ac%ac%e4%b8%80%e9%83%a8%e4%bb%bd%ef%bc%8c%e5%85%b1%e5%85%a9%e9%83%a8%e5%88%86%ef%bc%89/#comments</comments>
		<pubDate>Thu, 11 Aug 2011 05:54:41 +0000</pubDate>
		<dc:creator>阿恆</dc:creator>
				<category><![CDATA[Business]]></category>
		<category><![CDATA[系統開發員]]></category>
		<category><![CDATA[面試]]></category>

		<guid isPermaLink="false">http://www.hkpug.net/?p=268</guid>
		<description>&lt;p&gt;我快將離開現任的機構，決定告訴大家我以前是怎樣面試系統開發員，希望對正在尋找相關工作的人有用。&lt;/p&gt; &lt;p&gt;我服務的是一個資訊系統開發的部門，除了最高級和最低級的幾個人外，全部都是幹系統開發的工作，我們還雇用了一批透過仲介公司介紹的同事，名義上他們不是我的機構的員工，但他們也要事先通過面試才能上任。我是誰？我便是那個負責面試的「官員」，而且一幹便幹了三年。&lt;/p&gt; &lt;p&gt;這篇文章將分為兩部分，這是第一部分，&lt;a title="我怎樣面試系統開發員（第二部份，共兩部分）" href="http://www.hkpug.net/2011/08/15/%e6%88%91%e6%80%8e%e6%a8%a3%e9%9d%a2%e8%a9%a6%e7%b3%bb%e7%b5%b1%e9%96%8b%e7%99%bc%e5%93%a1%ef%bc%88%e7%ac%ac%e4%ba%8c%e9%83%a8%e4%bb%bd%ef%bc%8c%e5%85%b1%e5%85%a9%e9%83%a8%e5%88%86%ef%bc%89/"&gt;第二部分&lt;/a&gt;在這兒。&lt;/p&gt; 面試前你應該準備甚麼？ &lt;p&gt;首先，請把你的履歷表覆看一遍，檢查它是否符合以下的原則，然後交給我（你的面試官）。&lt;/p&gt; 它不超過三頁。這是很重要的，負責面試的官員（例如我自己）是非常非常忙碌的，若果我不能在五分鐘之內掃描你的履歷，並且認為你值得面試，你很大 機會失去面試的機會。我非常清楚自己需要甚麼同事，掃描履歷表的時候通常就是尋找相關的關鍵字，例如甚麼年份畢業，哪裡畢業，做過甚麼工作／項目，懂得甚 麼系統、編程語言等等。即使我要求的關鍵字全部都在履歷表中，要我花太多時間尋找我是會斷然拒絕的。從另一個角度看，你不能在有限的空間內（三頁紙）推銷 你的長處，你的溝通能力實在有限，你能否通過面試，將來能否與其他同事有效溝通，我實在有保留。 不要提及超過十年的陳年舊事或不相關的工作紀錄。以上兩點我完全沒有興趣，請注意我是非常非常忙碌的，對不相干的資料很抗拒。在資訊科技這一行， 超過十年的知識基本上應該被淘汰，你告訴我你曾經在十三年前的一間公司負責網頁製作，對我判斷你是否適合網頁製作的工作毫無幫助。你告訴我你曾經負責電腦 晶片的設計，對我判斷你是否適合開發應用程式的工作也沒有幫助。有些人為了故事的完整性，或者不希望在履歷表中留下一段空白的工作紀錄，偏執地把不相關的 東西寫下來，我誠懇的告訴你，我不介意求職者有空白的工作紀錄，也不介意你只提及最近三年的工作，但很介意你把不相干的東西寫在履歷表中浪費我的時間。 不用寫太多個人資料。個人資料包括你的身分證號碼，居住地址等等，這些東西我並不需要，請把這些資料交給人事部門好了，不過連絡電話還是必須的。 幸運地這一點並不致命，至少不會降低你獲邀請面試的機會，但會給我不好的印象。在任何一間機構，資訊部門通常掌握大量機密的資料和個人私隱，所以對處理資 料的態度很重要，即使我們有嚴謹的制度，但始終還是要同事們謹守正直、誠實、忠誠等原則。你對自己的資料尚且如此輕率，怎能令我放心讓你處理敏感的資料？ &lt;p&gt;能夠做到以上幾點便很好了，其他有關怎樣撰寫履歷表的方法，請到圖書館找有關的書籍，或上網找樣板好了。&lt;/p&gt; &lt;p&gt;第二，面試前請上網瀏覽我的機構，甚至我的部門的資料，當我被面試者問我的部門有多少同事的時候，心中總會嘀咕：「你為甚麼不上網看看呢？那裡有我們的架構圖，每一個職位由哪一位同事擔任都寫得很清楚，真是笨到姥姥家！」&lt;/p&gt; 我怎樣設計問題？ &lt;p&gt;基於資訊行業的特性，我希望聘請有以下特質的同事，我問的問題也是環繞這些目的而提出：&lt;/p&gt; 具備自學能力的同事。這一點非常重要，資訊科技一日千里，三年前的業界標準，今天可能成為明日黃花，我不會有時間教導每一位同事最新的技術和標準，你必須自行想辦法學習，例如上網找資料、進修等等。 對資訊技術有廣泛認識和興趣的同事。這一點同樣重要，若果我要招聘一位懂得 Java 的網頁開發員，我會期望他同時懂得數據庫相關的知識，網絡安全的知識，黑客入侵網站的常見技術等等。 懂得技術的背後原理的同事。我要的是具備獨立思考能力的人，不是裝配線上的工人，所以你最好充分明瞭每一項標準、技巧、指引背後的原理，而不是盲目按本子辦事。 具備良好溝通能力的同事。你必須有能力把一件複雜的事用簡短的言詞交代清楚，你或者認為這很簡單，但據我的經驗，在面試時這一方面令我滿意的人很 少，大部分的系統開發員都是電腦怪人，他們對於甚麼是 CPU、GNU、DDOS、TLD 等名詞很熟悉，但這些不是與普通客戶溝通時應該使用的詞彙，他們的思維也跳躍得很快，正在說一個話題，在沒有先兆的情況下突然跳到另一個話題，令旁人無從 捉摸。 &lt;p&gt;你除了要具備這些特質，也要令我知道你有這些特質，否則就是「錦衣夜行」，浪費了你的漂亮衣服。&lt;/p&gt; &lt;p&gt;注意我不太注重你是否擁有我需要的技術，我要找一個 Java 的開發人員，你具備這方面的知識和經驗固然很有優勢，但沒有也不是致命的，你令我相信你有自學的能力、對資訊技術具有廣泛興趣、明白每一項技術的原理，我 會相信你能夠在很短的時間內掌握一項你不懂得的技術，這些特質才是我真正重視的。&lt;/p&gt; 答問題的技巧 &lt;p&gt;在具體告訴你我會問甚麼問題前，你必須明白回答問題的一般技巧，其他面試官問的問題可能跟我的不同，但掌握了回答的技巧，你便無往而不利。&lt;/p&gt; 聽清楚問題，不肯定的話不妨要求澄清。重複一次：我非常非常忙碌，所以不想花時間聽一些答非所問的答案。你最好第一次便準確回答了我的問題，無須 我追問和澄清。若果你不肯定我的問題的意思，歡迎要求我澄清，我明白我也有說話不清的時候（可能當天實在太累，或者是一些即興的問題我沒有時間組織好句 子），所以你指出我問題中含糊不清的地方是一個顯示你的聆聽能力、理解能力、和分析能力的機會，請不要錯過這個機會。 小心含混不清的問題。我有時故意問一些含混不清的問題，或者資料不足令你難以作答的問題，根據前面的建議，你應該要求我澄清，或者提供補充資料， 而不是勉強作答，或者猜測我的意思然後嘗試作答。在工作的崗位上你經常會遇到類似的情況，上司或者用戶下達了一些不清不楚的要求，你用自己的方法猜測他們 的意思然後執行，最後發覺原來是一場誤會，你認為誰要附上責任？當然是你，因為你沒有要求他們澄清。 不要充好漢。你不一定有能力回答我的所有問題，我從來沒有要求面試者認識所有我懂得的東西，遇到這類問題，請誠實地回答說：「對不起，我不認識這 東西。」不妨附送一個尷尬的笑容，顯示你對於不懂達回答是有一點兒歉疚的。倘若給我發現你冒充好漢，你獲聘的機會幾乎是零，因為你不是一個誠實的人，我不 希望處理敏感資料的部門有一個不誠實的同事。事實上，你能夠成功騙過我的機會近乎零。 你的眼睛請看著我。不論我是否很醜陋，或者很兇惡，說到底我也是面試官，請給我一些起碼的尊重，回答問題時眼睛請看著我，若過看著我的眼睛令你感 到壓力或者不安，請看著我的鼻子、嘴唇、或者下巴。有些人回答問題時會四顧遊盼（不知他們自己是否知道），令人感到他們口心不一致；又有些人眼睛只是盯著 桌子，他們的緊張令我也緊張起來。 請說得清楚一點，不用急。有些人不知是否因為緊張、很熟悉答案、還是天生性格如此，說話很急，急得有點兒亂，甚至聽不清楚，我的解讀是你的溝通能 力不足。雖然我很忙很希望節省時間，但你只是嘴唇比別人快，卻要麻煩我要求你重複說一遍，或者把部分內容解釋得清楚一點，豈不是更浪費時間？請努力做到說 話精簡，「精」就是內容的質量高，言之有物，一語中的，不會說模棱兩可的答案（除非你申請的是公關工作），每一句都落地有聲，「簡」就是沒有多餘的內容， 也沒有「嗯」、「啊」、「呀」。 請用清晰的聲量說話。這個問題一般出現在女孩子身上，不知是否因為緊張還是矜持，很多人的聲量都很低，隔著一張桌子實在很難聽清楚她們的說話，我會要求她們提高聲量，但若果她們一開始便令我感到舒服豈不是更好？ 請保持笑容。我知道面試是一個令人神經緊張的過程，作為一個面試官我同樣緊張，但我一定提醒自己要保持笑容，因為我每緊張一分，面試者便會受到感 染而雙倍緊張，屆時影響了他們的表現，令我錯失了一個優秀的同事便不划算了。這個方法同樣適用在你的身上，請時刻提醒自己保持笑容，有助放鬆心情，也使我 感到你是一個容易相處的人，對於你的獲娉有很大幫助。 &lt;p&gt;&lt;a title="我怎樣面試系統開發員（第二部份，共兩部分）" href="http://www.hkpug.net/2011/08/15/%e6%88%91%e6%80%8e%e6%a8%a3%e9%9d%a2%e8%a9%a6%e7%b3%bb%e7%b5%b1%e9%96%8b%e7%99%bc%e5%93%a1%ef%bc%88%e7%ac%ac%e4%ba%8c%e9%83%a8%e4%bb%bd%ef%bc%8c%e5%85%b1%e5%85%a9%e9%83%a8%e5%88%86%ef%bc%89/"&gt;第二部分&lt;/a&gt;將討論怎樣處理困難的問題，和列舉一些面試題目，解釋我為何問這些問題，和應該怎樣作答（正確的答案不定是我希望聽到的答案，有時甚至答案根本不重要呢！）&lt;/p&gt;&lt;img src="http://feeds.feedburner.com/~r/hkpug/feed/~4/m91w5HZ31_4" height="1" width="1"/&gt;</description>
		<wfw:commentRss>http://www.hkpug.net/2011/08/11/%e6%88%91%e6%80%8e%e6%a8%a3%e9%9d%a2%e8%a9%a6%e7%b3%bb%e7%b5%b1%e9%96%8b%e7%99%bc%e5%93%a1%ef%bc%88%e7%ac%ac%e4%b8%80%e9%83%a8%e4%bb%bd%ef%bc%8c%e5%85%b1%e5%85%a9%e9%83%a8%e5%88%86%ef%bc%89/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		<feedburner:origLink>http://www.hkpug.net/2011/08/11/%e6%88%91%e6%80%8e%e6%a8%a3%e9%9d%a2%e8%a9%a6%e7%b3%bb%e7%b5%b1%e9%96%8b%e7%99%bc%e5%93%a1%ef%bc%88%e7%ac%ac%e4%b8%80%e9%83%a8%e4%bb%bd%ef%bc%8c%e5%85%b1%e5%85%a9%e9%83%a8%e5%88%86%ef%bc%89/</feedburner:origLink></item>
		<item>
		<title>定期更改密碼的迷信</title>
		<link>http://feedproxy.google.com/~r/hkpug/feed/~3/kTqWUbKqRKA/</link>
		<comments>http://www.hkpug.net/2011/08/09/%e5%ae%9a%e6%9c%9f%e6%9b%b4%e6%94%b9%e5%af%86%e7%a2%bc%e7%9a%84%e8%bf%b7%e4%bf%a1/#comments</comments>
		<pubDate>Tue, 09 Aug 2011 03:03:51 +0000</pubDate>
		<dc:creator>阿恆</dc:creator>
				<category><![CDATA[Security]]></category>
		<category><![CDATA[保安]]></category>
		<category><![CDATA[入侵技術]]></category>
		<category><![CDATA[定期更改密碼]]></category>
		<category><![CDATA[密碼]]></category>
		<category><![CDATA[迷信]]></category>

		<guid isPermaLink="false">http://www.hkpug.net/?p=485</guid>
		<description>你的公司、網絡服務商、電郵系統、網上銀行等等，總會提醒你定期更改密碼，例如每三個月或者半年，有的甚至要求用戶最近幾次的密碼不能相同，其實這個方法是基於一些錯誤的假設、對入侵技術的無知 (不要以為系統管理員都是專家，哈)，不論從運作上還是技術上來說，這不單指不能保障你的帳號，反而使你的帳號更容易被入侵。 寫在便條紙上的密碼 誰能記住每三個月改變一次的密碼？若果要記住很多密碼，這些密碼又要每幾個月更改一次，每次都要全新的，怎樣創作這麼多高安全性又易記的密碼？很多人索性把密碼寫在紙條上，這張紙條收藏在錢包或者抽屜裡，這些地方有多安全大家都很清楚。 &lt;a href="http://www.hkpug.net/2011/08/09/%e5%ae%9a%e6%9c%9f%e6%9b%b4%e6%94%b9%e5%af%86%e7%a2%bc%e7%9a%84%e8%bf%b7%e4%bf%a1/" class="more-link"&gt;繼續閱讀 &amp;#187;&lt;/a&gt;&lt;img src="http://feeds.feedburner.com/~r/hkpug/feed/~4/kTqWUbKqRKA" height="1" width="1"/&gt;</description>
		<wfw:commentRss>http://www.hkpug.net/2011/08/09/%e5%ae%9a%e6%9c%9f%e6%9b%b4%e6%94%b9%e5%af%86%e7%a2%bc%e7%9a%84%e8%bf%b7%e4%bf%a1/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		<feedburner:origLink>http://www.hkpug.net/2011/08/09/%e5%ae%9a%e6%9c%9f%e6%9b%b4%e6%94%b9%e5%af%86%e7%a2%bc%e7%9a%84%e8%bf%b7%e4%bf%a1/</feedburner:origLink></item>
		<item>
		<title>怎樣管理密碼？</title>
		<link>http://feedproxy.google.com/~r/hkpug/feed/~3/K2gmMSvf4yc/</link>
		<comments>http://www.hkpug.net/2011/07/27/%e6%80%8e%e6%a8%a3%e7%ae%a1%e7%90%86%e5%af%86%e7%a2%bc%ef%bc%9f/#comments</comments>
		<pubDate>Wed, 27 Jul 2011 05:45:06 +0000</pubDate>
		<dc:creator>阿恆</dc:creator>
				<category><![CDATA[Security]]></category>
		<category><![CDATA[密碼]]></category>
		<category><![CDATA[密碼管理]]></category>
		<category><![CDATA[破解]]></category>
		<category><![CDATA[私隱]]></category>

		<guid isPermaLink="false">http://www.hkpug.net/?p=489</guid>
		<description>&lt;p&gt;最近有一位朋友需要登入一個已經一整年沒有登入的系統，他完全忘記了密碼，試了幾個自己常用的密碼都無效後，系統便把他的帳號鎖死，最後要管理員替他重設密碼。&lt;/p&gt; &lt;p&gt;銀行、公司、討論區、Facebook、電郵、政府部門等等，我們要記著的密碼何其多？怎樣管理密碼才最方便、最安全？&lt;/p&gt; 初級使用者 &lt;p&gt;很 多人會用同一個密碼，應用在大部分的系統，這個密碼一般比較易記，而且長時間不會改動，通常應用在不太重要的系統，例如網上討論區等。這種做法的好處是一 個密碼走天涯，絕對不會忘記。缺點是這個密碼一般很容易破解，因為它很可能是你的生日日期、車牌號碼、流動電話號碼、親人的個人資料、或者以上各項資料的合體，又或者把以上的資料作輕微的改動，熟悉你的人很容易猜到。一旦破解，他們便可以冒充你登入所有系統。&lt;/p&gt; &lt;p&gt;至於重要的系統，例如網上銀行、 保險公司、稅局、公司系統等，都有獨立的密碼，但為了容易記憶，這些密碼都是從一個主密碼演變出來的，例如在主密碼後加上 1 &amp;#8211; 9 數字。主密碼可能會定期修改，這時所有系統的密碼便要逐一修改。這種密碼比較難破解，但只要破解了一個，其他系統便中門大開了。何況，破解隨機的密碼不一 定是困難的。&lt;/p&gt; 中級使用者 &lt;p&gt;不太重要的系統上，他們跟初級使用者一樣使用通用密碼。&lt;/p&gt; &lt;p&gt;至於重要的系統，他們會使 用隨機的獨立的密碼，例如根據當時的時間組成一個六位數字，加上前一天股票市場的指數，組成一個密碼。這種密碼實在很難記憶，所以他們會把密碼寫在一張紙 上（或記錄在一個檔案裡），身為中級使用者，在紀錄時會加上一些改動，例如會把第一和最後一個數字互換，這張紙片或者檔案即使給別人見到也不是那麼容易解讀。&lt;/p&gt; &lt;p&gt;問題是他們必須確保當需要時這張紙片或檔案一定在手邊，所以需要複製多個備份，備份遺失了怎麼辦呢？遺漏了其中一個備份沒有更新又怎麼辦呢？若果其中一個密碼被別人解讀出來，紙片上的其他密碼便等同公告天下，那又怎麼辦呢？&lt;/p&gt; 高級使用者 &lt;p&gt;這種使用者眼中所有系統都是重要的系統，密碼的處理方法一視同仁，都要採取最安全保密的方式來紀錄和保存，而且沒有兩個系統使用相同的密碼。&lt;/p&gt; &lt;p&gt;一 個密碼越複雜便越難破解，所以越安全，例如它同時包含了大小寫的英文字母、數字和標點符號，完全隨機產生，長度則達到系統容許的上限。這種密碼無疑是安全 的，但卻幾乎不可能記得，何況每一個系統的密碼都不相同，數以百計的這樣的密碼如何處理？他們會把密碼放入一種稱為「密碼夾萬」的軟件裡，這類軟件專門用 來儲存密碼，夾萬需要一個主密碼才能開啟，這個主密碼只有使用者本人才知曉，而且非常複雜，除了使用者的記憶中，永遠不會記錄在任何地方，例如它是莎士比 亞著作裡的其中兩句，總長度達到數十個字符，其中混合了大小寫英文字母和數字。夾萬開啟後，其他密碼便可以隨時讀取或修改。這個夾萬可以放在一些檔案分享 的網站以便在任何地方都可以讀取。&lt;/p&gt; 每一個人都應該做高級使用者 &lt;p&gt;高級使用者並不一定是科技專家，他們所有的方法其實非常簡單，效果卻驚人的安全。所以每一個人都應該採取相同的方法來保護他們的密碼。以下是一些具體的做法。&lt;/p&gt; 下載一個「密碼夾萬」軟件，例如 &lt;a title="KeePass 密碼夾萬" href="http://keepass.info/"&gt;KeePass&lt;/a&gt;，這個軟件完全免費，而且有很多安全保護措施。 全面更新所有系統的密碼，新密碼應該是隨機的，長度約長越好，可以試一試 &lt;a title="Random.org" href="http://www.random.org/"&gt;random.org&lt;/a&gt; 的免費隨機字串產生服務。 把新密碼記錄在「密碼夾萬」內，並為夾萬設立一個非常複雜，非常長，無須寫下也記得的密碼，例如某名著裡的句子，或者某名人的警句，或者某一段你喜歡的諺語，最好包含超過一句句子，有大小寫英文字母、標點符號和數字。 把夾萬檔案上傳到一個檔案分享網站，例如 &lt;a title="DropBox" href="http://www.dropbox.com/"&gt;DropBox&lt;/a&gt; 或者 &lt;a title="SugarSync" href="https://www.sugarsync.com/"&gt;SugarSync&lt;/a&gt;。 &lt;p&gt;你可能對於要學習使用 KeePass、random.org 的服務、DropBox、SugarSync 等東西感到恐懼，但想一想萬一你的密碼被陌生人破解，你的私隱、財富完全暴露在別人眼前，甚至被放在網絡上給人隨意瀏覽，哪一種更令你恐懼？&lt;/p&gt;&lt;img src="http://feeds.feedburner.com/~r/hkpug/feed/~4/K2gmMSvf4yc" height="1" width="1"/&gt;</description>
		<wfw:commentRss>http://www.hkpug.net/2011/07/27/%e6%80%8e%e6%a8%a3%e7%ae%a1%e7%90%86%e5%af%86%e7%a2%bc%ef%bc%9f/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		<feedburner:origLink>http://www.hkpug.net/2011/07/27/%e6%80%8e%e6%a8%a3%e7%ae%a1%e7%90%86%e5%af%86%e7%a2%bc%ef%bc%9f/</feedburner:origLink></item>
		<item>
		<title>重新開始</title>
		<link>http://feedproxy.google.com/~r/hkpug/feed/~3/3lrnka7mD1E/</link>
		<comments>http://www.hkpug.net/2011/07/08/%e9%87%8d%e6%96%b0%e9%96%8b%e5%a7%8b/#comments</comments>
		<pubDate>Fri, 08 Jul 2011 05:23:37 +0000</pubDate>
		<dc:creator>阿恆</dc:creator>
				<category><![CDATA[HKPUG]]></category>

		<guid isPermaLink="false">http://www.hkpug.net/?p=19</guid>
		<description>&lt;p&gt;HKPUG 最近兩、三年由於我工作繁重而沒有更新，偶然收到一些朋友的查詢，有些甚至表示有興趣參予，都因為我自己也不知道 HKPUG 究竟何去何從而沒有回覆，希望朋友們見諒。&lt;/p&gt; &lt;p&gt;現在我進入了人生的另一個階段，應該有較多時間可以與網上的朋友分享網頁開和 PHP 開發的心得，所以決定重新起步。不過我認為 HKPUG 以個人網誌的形式運作比較適合，所以把原本的 Drupal 平台改為 WordPress，簡化系統管理的工作，舊的文章將會陸續從舊的系統移植過來。&lt;/p&gt; &lt;p&gt;希望大家繼續支持 HKPUG。&lt;/p&gt;&lt;img src="http://feeds.feedburner.com/~r/hkpug/feed/~4/3lrnka7mD1E" height="1" width="1"/&gt;</description>
		<wfw:commentRss>http://www.hkpug.net/2011/07/08/%e9%87%8d%e6%96%b0%e9%96%8b%e5%a7%8b/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		<feedburner:origLink>http://www.hkpug.net/2011/07/08/%e9%87%8d%e6%96%b0%e9%96%8b%e5%a7%8b/</feedburner:origLink></item>
		<item>
		<title>PHP 開發人員比較喜歡以 Windows 為開發平台</title>
		<link>http://feedproxy.google.com/~r/hkpug/feed/~3/tt7v3TXLp54/</link>
		<comments>http://www.hkpug.net/2010/02/19/php-%e9%96%8b%e7%99%bc%e4%ba%ba%e5%93%a1%e6%af%94%e8%bc%83%e5%96%9c%e6%ad%a1%e4%bb%a5-windows-%e7%82%ba%e9%96%8b%e7%99%bc%e5%b9%b3%e5%8f%b0/#comments</comments>
		<pubDate>Fri, 19 Feb 2010 02:10:23 +0000</pubDate>
		<dc:creator>阿恆</dc:creator>
				<category><![CDATA[PHP]]></category>
		<category><![CDATA[開發平台]]></category>

		<guid isPermaLink="false">http://www.hkpug.net/?p=5</guid>
		<description>&lt;p&gt;以 Linux 為平台的網站伺服器遠比 Windows 的多，相信沒有人有異議，網站的編程語言則以 PHP 最受歡迎，相信爭議性也不大（可能的競爭對手只有 Java），這樣說來難道微軟這個電腦業的巨人在網站開發的環境中便毫無優勢嗎？未必，根據 Zend 最近針對全球使用 Zend Framework 開發人員所做的調查，在 Windows 上編寫 PHP 的人佔了 42%，排名第一，第二位的 Linux 則是 38.5%，MacOS X 則在第三位，19.1%。不過網站的運作平台 Linux 則以 85% 遙遙領先其他操作系統。&lt;/p&gt; &lt;p&gt;據 Gavin Clarke 的&lt;a title="PHP 開發人員比較喜歡以 Windows 為開發平台" href="http://www.theregister.co.uk/2010/02/17/php_windows_linux/"&gt;報導&lt;/a&gt;，Zend 所做的調查在去年 12 月進行，Zend 沒有說調查的對象有多少人，只說對象包括了全球的個人及公司，部分公司的雇員人數超過 5000 人。&lt;/p&gt; &lt;p&gt;從 2006 年起，微軟便夥拍 Zend 致力提高 Windows 操作系統和伺服器中 PHP 的效能，微軟的首要關注是開發人員使用 Windows 為運作平台，因為那是微軟未來賺大錢的關鍵。經過了四年多的努力，似乎 PHP 的開發人員仍然喜歡把 PHP 應用程序部署在 Linux 伺服器，據 Zend 的調查，PHP 應用程序中 58% 屬於「全公司的、關鍵性的系統」，16% 屬於「部門性的、關鍵性的系統」，還有 16% 屬於「部門性的、非關鍵性的系統」，這些都是微軟亟欲涉足的領域。&lt;/p&gt;&lt;img src="http://feeds.feedburner.com/~r/hkpug/feed/~4/tt7v3TXLp54" height="1" width="1"/&gt;</description>
		<wfw:commentRss>http://www.hkpug.net/2010/02/19/php-%e9%96%8b%e7%99%bc%e4%ba%ba%e5%93%a1%e6%af%94%e8%bc%83%e5%96%9c%e6%ad%a1%e4%bb%a5-windows-%e7%82%ba%e9%96%8b%e7%99%bc%e5%b9%b3%e5%8f%b0/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		<feedburner:origLink>http://www.hkpug.net/2010/02/19/php-%e9%96%8b%e7%99%bc%e4%ba%ba%e5%93%a1%e6%af%94%e8%bc%83%e5%96%9c%e6%ad%a1%e4%bb%a5-windows-%e7%82%ba%e9%96%8b%e7%99%bc%e5%b9%b3%e5%8f%b0/</feedburner:origLink></item>
		<item>
		<title>JavaScript 面試測驗卷</title>
		<link>http://feedproxy.google.com/~r/hkpug/feed/~3/0SmYlG2iqUo/</link>
		<comments>http://www.hkpug.net/2010/02/18/javascript-%e9%9d%a2%e8%a9%a6%e6%b8%ac%e9%a9%97%e5%8d%b7/#comments</comments>
		<pubDate>Thu, 18 Feb 2010 01:17:26 +0000</pubDate>
		<dc:creator>阿恆</dc:creator>
				<category><![CDATA[JavaScript]]></category>
		<category><![CDATA[測驗卷]]></category>
		<category><![CDATA[面試測驗卷]]></category>

		<guid isPermaLink="false">http://www.hkpug.net/?p=11</guid>
		<description>&lt;p&gt;你自問對 JavaScript 的認識有多深？Sohail Anwar 撰寫了一份有 25 道題目的 &lt;a title="JavaScript 面試測驗卷" href="http://interviewstar.blogspot.com/2010/01/javascript-ajax-interview-questions.html"&gt;JavaScript 面試測驗卷&lt;/a&gt;， 考考你的 JavaScript 水平。這些題目並不困難，其中一道題目問 JavaScript 應該使用甚麼 HTML 標籤包裹著？Script？Body？Head？Title？相信很多編寫網頁程式的人都可以應付自如。這份試卷提供了正確答案，可以作為學習的資源。&lt;/p&gt;&lt;img src="http://feeds.feedburner.com/~r/hkpug/feed/~4/0SmYlG2iqUo" height="1" width="1"/&gt;</description>
		<wfw:commentRss>http://www.hkpug.net/2010/02/18/javascript-%e9%9d%a2%e8%a9%a6%e6%b8%ac%e9%a9%97%e5%8d%b7/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		<feedburner:origLink>http://www.hkpug.net/2010/02/18/javascript-%e9%9d%a2%e8%a9%a6%e6%b8%ac%e9%a9%97%e5%8d%b7/</feedburner:origLink></item>
		<item>
		<title>Google 教你優化 PHP，PHP 開發團隊指內容不確</title>
		<link>http://feedproxy.google.com/~r/hkpug/feed/~3/JCvMgAbVl4I/</link>
		<comments>http://www.hkpug.net/2009/07/03/google-%e6%95%99%e4%bd%a0%e5%84%aa%e5%8c%96-php%ef%bc%8cphp-%e9%96%8b%e7%99%bc%e5%9c%98%e9%9a%8a%e6%8c%87%e5%85%a7%e5%ae%b9%e4%b8%8d%e7%a2%ba/#comments</comments>
		<pubDate>Fri, 03 Jul 2009 08:14:48 +0000</pubDate>
		<dc:creator>阿恆</dc:creator>
				<category><![CDATA[IT News]]></category>
		<category><![CDATA[PHP]]></category>
		<category><![CDATA[optimization]]></category>
		<category><![CDATA[optimize]]></category>
		<category><![CDATA[優化 PHP]]></category>

		<guid isPermaLink="false">http://www.hkpug.net/?p=14</guid>
		<description>&lt;p&gt;Google 的 webmaster Eric Higgins 寫了一篇文章介紹怎樣&lt;a title="Google 教你優化 PHP" href="http://code.google.com/speed/articles/optimizing-php.html"&gt;優化 PHP&lt;/a&gt;，文章刊登不久，PHP 開發團隊其中一員 Gwynne Raskind 發文&lt;a title="Gwynne Raskind 反對 Eric Higgins" href="http://groups.google.com/group/make-the-web-faster/browse_thread/thread/ddfbe82dd80408cc"&gt;提出異議&lt;/a&gt;，指 Eric 所說的與事實不符，有些甚至完全相反，在 PHP 5 上幾乎沒有一項 Eric 的優化技巧能帶來實質的好處。我們摘錄了比較具爭議性的幾點，看看誰是誰非。&lt;/p&gt; Eric Higgins: 不要沒來由的複製變量 &lt;p&gt;Eric 說每次我們複製一個變量的時候，便會消耗一些記憶體，一些 PHP 初哥為了使他們的原碼「好讀」，喜歡把一些預定義變量複製到另一個名稱比較簡短、容易記憶的變量，這樣對程式的效能有負面的影響。在下面的例子中，如果用 戶輸入了一段 512KB 的文字，程式便會消耗 1MB 的記憶體：&lt;/p&gt; &lt;p&gt;$description = strip_tags&amp;#40;$_POST&amp;#91;'description'&amp;#93;&amp;#41;;echo $description;&lt;/p&gt; &lt;p&gt;我們沒有理由把文字複製到 $description，只需：&lt;/p&gt; &lt;p&gt;echo strip_tags&amp;#40;$_POST&amp;#91;'description'&amp;#93;&amp;#41;;&lt;/p&gt; Gwynne Raskind: 複製變量不一定增加記憶體的消耗 &lt;p&gt;從 PHP 4 開始，Zend 引擎變使用一種稱為「copy-on-write」的記憶體管理技術，舉一個例子，無論我們把 $source 的內容複製多少次到 $destination，我們一天不改變 $source 的值，真正的複製都沒有進行，不論我們的程式讀取 $source 還是 $destination，都是從同一個記憶體地址提取內容。以下的例子可以測試複製變量對記憶體使用影響：&lt;/p&gt; &lt;p&gt;&amp;#60;?php $data = str_repeat&amp;#40;&amp;#34;*&amp;#34;, 512 * 1024&amp;#41;; // 模擬 512K 數據 $memory_used_before = memory_get_usage&amp;#40;&amp;#41;; $more_data = $data; $memory_used_after = memory_get_usage&amp;#40;&amp;#41;; print &amp;#34;Before: {$memory_used_before}\nAfter: {$memory_used_after}\n&amp;#34;;?&amp;#62;&lt;/p&gt; &lt;p&gt;在 PHP 5.3 （在除錯編譯模式下）執行的結果是： Before: 853968 After: 854236 可見在複製前後記憶體的消耗相差只有 268 bytes，若果用正常的編譯模式，這也是絕大部分網站使用的模式，差別只有 64 &lt;a href="http://www.hkpug.net/2009/07/03/google-%e6%95%99%e4%bd%a0%e5%84%aa%e5%8c%96-php%ef%bc%8cphp-%e9%96%8b%e7%99%bc%e5%9c%98%e9%9a%8a%e6%8c%87%e5%85%a7%e5%ae%b9%e4%b8%8d%e7%a2%ba/" class="more-link"&gt;繼續閱讀 &amp;#187;&lt;/a&gt;&lt;img src="http://feeds.feedburner.com/~r/hkpug/feed/~4/JCvMgAbVl4I" height="1" width="1"/&gt;</description>
		<wfw:commentRss>http://www.hkpug.net/2009/07/03/google-%e6%95%99%e4%bd%a0%e5%84%aa%e5%8c%96-php%ef%bc%8cphp-%e9%96%8b%e7%99%bc%e5%9c%98%e9%9a%8a%e6%8c%87%e5%85%a7%e5%ae%b9%e4%b8%8d%e7%a2%ba/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		<feedburner:origLink>http://www.hkpug.net/2009/07/03/google-%e6%95%99%e4%bd%a0%e5%84%aa%e5%8c%96-php%ef%bc%8cphp-%e9%96%8b%e7%99%bc%e5%9c%98%e9%9a%8a%e6%8c%87%e5%85%a7%e5%ae%b9%e4%b8%8d%e7%a2%ba/</feedburner:origLink></item>
		<item>
		<title>Mozilla 推出 Firefox 3.5</title>
		<link>http://feedproxy.google.com/~r/hkpug/feed/~3/gCWFrlDK3mk/</link>
		<comments>http://www.hkpug.net/2009/07/02/mozilla-%e6%8e%a8%e5%87%ba-firefox-3-5/#comments</comments>
		<pubDate>Thu, 02 Jul 2009 04:24:57 +0000</pubDate>
		<dc:creator>阿恆</dc:creator>
				<category><![CDATA[Firefox]]></category>
		<category><![CDATA[IT News]]></category>
		<category><![CDATA[Mozilla]]></category>

		<guid isPermaLink="false">http://www.hkpug.net/?p=16</guid>
		<description>&lt;p&gt;經過四個測試版本和三個 release candidate，&lt;a title="Mozilla" href="http://www.mozilla.org/"&gt;Mozilla&lt;/a&gt; 終於把 &lt;a title="Firefox" href="http://www.mozilla.org/"&gt;Firefox 3.5&lt;/a&gt; 這個第二最流行瀏覽器的最新版本釋出，新版本帶來了私人瀏覽模式、更高的 JavaScript 效能、以及支援新的 HTML 5 標準，例如無需外掛的視頻和音頻播放。用戶可以在 &lt;a href="http://www.getfirefox.com/"&gt;www.getfirefox.com&lt;/a&gt; 下載 Firefox 的 Windows、Mac OS、及 Linux 的版本 70 多種語言版本。&lt;/p&gt; &lt;p&gt;Mozilla 的行政總裁 John Lilly 在聲明中說：「在網絡上這麼多事發生，現在是瀏覽器的偉大的時刻，Firefox 3.5 匯集了最創新的網絡技術，並且是最完整和強大的瀏覽器。」領導 Mozilla Firefox 小組的 Mike Beltzner 期望新版本可以使 Firefox 各版本的下載總數超越 10 億。&lt;/p&gt; &lt;p&gt;Firefox 3.5 還包括一項新技術，容許用戶告訴網站它們的位置，讓網站可以提供相關訊息，例如附近的餐館和企業，這項功能使用 Google Location Services 服務，它使用一個 Wifi 接入點 (access point) 和已知 IP 地址的數據庫。&lt;/p&gt; &lt;p&gt;JavaScript 的效能由於得到新的 TraceMonkey 引擎之助，速度提升了兩倍以上，但是 PCMag.com 的測試顯示它仍然落後於 Chrome。新的視頻和音頻播放利用 Ogg Vorbis 和 Ogg Theora 的開源編碼解碼器，但這些尚未被 W3C 接納為官方標準。&lt;/p&gt;&lt;img src="http://feeds.feedburner.com/~r/hkpug/feed/~4/gCWFrlDK3mk" height="1" width="1"/&gt;</description>
		<wfw:commentRss>http://www.hkpug.net/2009/07/02/mozilla-%e6%8e%a8%e5%87%ba-firefox-3-5/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		<feedburner:origLink>http://www.hkpug.net/2009/07/02/mozilla-%e6%8e%a8%e5%87%ba-firefox-3-5/</feedburner:origLink></item>
		<item>
		<title>CSS 的 overflow 屬性</title>
		<link>http://feedproxy.google.com/~r/hkpug/feed/~3/YPYuGOnIxqQ/</link>
		<comments>http://www.hkpug.net/2009/06/05/css-%e7%9a%84-overflow-%e5%b1%ac%e6%80%a7/#comments</comments>
		<pubDate>Fri, 05 Jun 2009 07:38:18 +0000</pubDate>
		<dc:creator>阿恆</dc:creator>
				<category><![CDATA[CSS]]></category>
		<category><![CDATA[overflow]]></category>

		<guid isPermaLink="false">http://www.hkpug.net/?p=27</guid>
		<description>&lt;p&gt;從 DOM 技術的角度看，網頁中每一件物件都是「箱」狀的，一段文字、一幅圖像、一個連結，它們的長度、闊度、位置等等都可以由 CSS 控制，若果你沒有設定箱子的大小，它會隨著內容的多寡而自行調整，確保容納並顯示所有內容，但若果箱子的大小被限制了，卻又無法容納所有內容的時候，這時 便是 CSS 的 overflow 屬性發揮作用的時候。&lt;/p&gt; &lt;p&gt;&lt;a title="CSS Tricks" href="http://css-tricks.com/"&gt;CSS Tricks&lt;/a&gt; 網站上 Chris Coyier 有一篇文章&lt;a title="CSS 的 overflow 屬性" href="http://css-tricks.com/the-css-overflow-property/"&gt;介紹 CSS 的 overflow 屬性&lt;/a&gt;，文章說，Overflow 的值可以是：visible (預設)、hidden、scroll 及 auto，它還有兩個「姊妹」屬性 overflow-x 及 overflow-y，但不是所有瀏覽器都支援。&lt;/p&gt; Visible &lt;p&gt;若果你沒有設定 overflow 的值，預設就是 visible，所以除非你要撤銷從上層物件繼承下來的值，否則並不需要做這樣的設定。&lt;/p&gt; &lt;p&gt;.box &amp;#123;overflow: visible; &amp;#125;&lt;/p&gt; &lt;p&gt;樣本輸出：&lt;/p&gt; &lt;p&gt;&lt;img class="alignnone size-full wp-image-28" title="overflow-visible-1" src="http://www.hkpug.net/wp-content/uploads/2011/09/overflow-visible-1.png" alt="" width="240" height="300" /&gt;&lt;/p&gt; &lt;p&gt;可以看到倘若內容太多，它會從箱子的右邊和下邊溢出，溢出的部份是可見的。必須注意一點，溢出的部份不會影響版面的排列，若果箱子的後面有其他內容，情況就是這樣：&lt;/p&gt; &lt;p&gt;&lt;img class="alignnone size-full wp-image-29" title="overflow-visible-2" src="http://www.hkpug.net/wp-content/uploads/2011/09/overflow-visible-2.png" alt="overflow-visible-2" width="240" height="300" /&gt;&lt;/p&gt; &lt;p&gt;所以，當箱子內有文字的時候，我們不應硬性設定箱子的尺寸，又同時設定 overflow 為 visible (或不設定 overflow 的值，以致瀏覽器使用預設的 visible)。&lt;/p&gt; Hidden &lt;p&gt;與預設的 visible 相反的是 hidden，它使所有滿溢到箱子外的內容完全消失：&lt;/p&gt; &lt;p&gt;&lt;img class="alignnone size-full wp-image-30" title="overflow-hidden_0" src="http://www.hkpug.net/wp-content/uploads/2011/09/overflow-hidden.png" alt="" /&gt;&lt;/p&gt; &lt;p&gt;倘若你的箱子內有動態內容，而你又不希望滿溢的內容搞亂頁面的排版，這個功能便適合你。注意除非用戶觀看頁面的原始碼，否則隱藏的內容是無法看得見的。所以當箱子內有文字的時候，一般不建議使用 hidden，萬一用戶使用了很大的字體，便會使部份文字被推到箱子外面而消失無蹤。&lt;/p&gt; Scoll &lt;p&gt;把 overflow 屬性設定為 scroll 會使內容被限制在箱子裡面，並且會有一個橫／直的捲軸棒讓用戶觀看完整的內容：&lt;/p&gt; &lt;p&gt;&lt;img class="alignnone size-full wp-image-31" title="overflow-scroll" &lt;a href="http://www.hkpug.net/2009/06/05/css-%e7%9a%84-overflow-%e5%b1%ac%e6%80%a7/" class="more-link"&gt;繼續閱讀 &amp;#187;&lt;/a&gt;&lt;img src="http://feeds.feedburner.com/~r/hkpug/feed/~4/YPYuGOnIxqQ" height="1" width="1"/&gt;</description>
		<wfw:commentRss>http://www.hkpug.net/2009/06/05/css-%e7%9a%84-overflow-%e5%b1%ac%e6%80%a7/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	<enclosure url="http://www.hkpug.net/wp-content/uploads/2011/09/overflow-visible-1-150x150.png" length="" type="image/jpg" />	<feedburner:origLink>http://www.hkpug.net/2009/06/05/css-%e7%9a%84-overflow-%e5%b1%ac%e6%80%a7/</feedburner:origLink></item>
		<item>
		<title>線上文書應用服務問卷調查</title>
		<link>http://feedproxy.google.com/~r/hkpug/feed/~3/lXaEKZB_ReY/</link>
		<comments>http://www.hkpug.net/2009/05/18/%e7%b7%9a%e4%b8%8a%e6%96%87%e6%9b%b8%e6%87%89%e7%94%a8%e6%9c%8d%e5%8b%99%e5%95%8f%e5%8d%b7%e8%aa%bf%e6%9f%a5/#comments</comments>
		<pubDate>Mon, 18 May 2009 02:17:12 +0000</pubDate>
		<dc:creator>阿恆</dc:creator>
				<category><![CDATA[IT News]]></category>

		<guid isPermaLink="false">http://www.hkpug.net/?p=38</guid>
		<description>&lt;p&gt;東吳大學企業管理研究所的朱琪瑤同學，正在為她的研究專案進行問卷調查，想了解電腦族對於線上文書應用服務的接受度，若果你曾經使用過或瞭解此新應用模式，請花少許時間幫忙回答&lt;a href="http://www.wix.com/mbascu/chichi"&gt;朱同學的問卷&lt;/a&gt;。&lt;/p&gt;&lt;img src="http://feeds.feedburner.com/~r/hkpug/feed/~4/lXaEKZB_ReY" height="1" width="1"/&gt;</description>
		<wfw:commentRss>http://www.hkpug.net/2009/05/18/%e7%b7%9a%e4%b8%8a%e6%96%87%e6%9b%b8%e6%87%89%e7%94%a8%e6%9c%8d%e5%8b%99%e5%95%8f%e5%8d%b7%e8%aa%bf%e6%9f%a5/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		<feedburner:origLink>http://www.hkpug.net/2009/05/18/%e7%b7%9a%e4%b8%8a%e6%96%87%e6%9b%b8%e6%87%89%e7%94%a8%e6%9c%8d%e5%8b%99%e5%95%8f%e5%8d%b7%e8%aa%bf%e6%9f%a5/</feedburner:origLink></item>
		<item>
		<title>JavaScript 的版本</title>
		<link>http://feedproxy.google.com/~r/hkpug/feed/~3/OSn0dzhx5mQ/</link>
		<comments>http://www.hkpug.net/2009/05/13/javascript-%e7%9a%84%e7%89%88%e6%9c%ac/#comments</comments>
		<pubDate>Wed, 13 May 2009 02:23:44 +0000</pubDate>
		<dc:creator>阿恆</dc:creator>
				<category><![CDATA[JavaScript]]></category>
		<category><![CDATA[ECMAScript]]></category>
		<category><![CDATA[版本]]></category>

		<guid isPermaLink="false">http://www.hkpug.net/?p=41</guid>
		<description>&lt;p&gt;近來網頁應用的開發人員越來越頭疼，微軟積極開發新版本的 IE，每一次都聲稱支援更多更新更標準的 JScript 功能，做為開放原碼的龍頭瀏覽器 Mozilla，新版本推出得更加頻密，每一次它所支援的 JavaScript 都好像提升一個版本，市場份額較少的 Opera 和 Safari 也標榜支援最新最標準的 JavaScript，甚至宣稱自己的 JavaScript 引擎效能更高，Adobe 也說它的 Flex 技術平台使用與 &lt;a title="ECMAScript 3" href="http://www.ecma-international.org/publications/standards/Ecma-262.htm"&gt;ECMAScript 3&lt;/a&gt; 兼容的 ActionScript，同一時間，幾乎所有主流瀏覽器都宣稱兼容 ECMAScript 3。ECMA 作為標準制定機構竟然也來製造混亂，忽然取消原定於 2008 年末推出的 ECMAScript 4，說今年會推出 ECMAScript 5，而ECMAScript 4 則改名為 ECMAScript Harmony，但沒有路線圖或時間表。作為一個開發人員，你怎樣理解這場混亂？&lt;/p&gt; Script 引擎多頭發展 &lt;p&gt;我們曾經介紹過 &lt;a title="ECMAScript 和 JavaScript 的發展歷史和關係" href="/2006/06/15/%e7%94%a8-ecmascript-%e5%af%ab%e7%b6%b2%e9%a0%81/"&gt;ECMAScript 和 JavaScript 的發展歷史和關係&lt;/a&gt;， 本來大家期望 ECMA 在 1999 年把 JavaScript 標準化為 ECMAScript 3，瀏覽器之間的 JavaScript 標準戰爭可以平息，大家以後在同一個規範下開發跨平台、跨瀏覽器的 JavaScript，回看這十年的發展，情況根本不是這回事。&lt;/p&gt; &lt;p&gt;首先在稱呼方面，幾乎沒有瀏覽器稱自己的腳本語言為 ECMAScript。JavaScript 的原創者 Netscape 固然繼續稱之為 JavaScript，後繼的瀏覽器 Mozilla 也繼續這個稱呼。微軟方面一直使用 JScript 這個名稱，至今沒有改變，近年改為 JScript .NET。其他瀏覽器包括 Safari、Google Chrome 等沿用最廣為人知的 JavaScript，Adobe 的 Flash 和 Flex 技術平台則獨樹一幟稱為 ActionScript。&lt;/p&gt; &lt;p&gt;第二就是兼容性，隨著 ECMAScript 3 的發布，理論上所有瀏覽器都應該以此為藍本開發自己的腳本引擎，不錯，所有瀏覽器都宣稱他們與 ECMAScript 3 「兼容」，意思是 ECMAScript 3 有的他們都有──不過可能額外加多一些功能，而且隨著版本的提升，所添加的越來越多。以 Mozilla 為例，&lt;a title="JavaScript 1.5" href="https://developer.mozilla.org/en/Core_JavaScript_1.5_Reference"&gt;JavaScript 1.5&lt;/a&gt; （2000 &lt;a href="http://www.hkpug.net/2009/05/13/javascript-%e7%9a%84%e7%89%88%e6%9c%ac/" class="more-link"&gt;繼續閱讀 &amp;#187;&lt;/a&gt;&lt;img src="http://feeds.feedburner.com/~r/hkpug/feed/~4/OSn0dzhx5mQ" height="1" width="1"/&gt;</description>
		<wfw:commentRss>http://www.hkpug.net/2009/05/13/javascript-%e7%9a%84%e7%89%88%e6%9c%ac/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		<feedburner:origLink>http://www.hkpug.net/2009/05/13/javascript-%e7%9a%84%e7%89%88%e6%9c%ac/</feedburner:origLink></item>
		<item>
		<title>認識 PHP 的 Hashing Functions</title>
		<link>http://feedproxy.google.com/~r/hkpug/feed/~3/S3lAID-TuzA/</link>
		<comments>http://www.hkpug.net/2009/05/09/%e8%aa%8d%e8%ad%98-php-%e7%9a%84-hashing-functions/#comments</comments>
		<pubDate>Fri, 08 May 2009 18:48:27 +0000</pubDate>
		<dc:creator>阿恆</dc:creator>
				<category><![CDATA[PHP]]></category>
		<category><![CDATA[hash]]></category>
		<category><![CDATA[hash function]]></category>
		<category><![CDATA[hash value]]></category>

		<guid isPermaLink="false">http://www.hkpug.net/?p=44</guid>
		<description>&lt;p&gt;Hashing function (散列函式) 在網頁應用中被廣泛採用，從數碼簽署、錯誤檢測、登入驗證、到壓縮儲存空間，由於它的原理比較複雜，很多人把它跟加密函式混淆，對於如何運用 hash function，如何選擇合適的 hash function，和它的優點缺點都不清楚，本文嘗試解答這些問題。&lt;/p&gt; Hashing 是甚麼？ &lt;p&gt;簡單地說，Hashing 是一種數據影射 (mapping) 的算法 (algorithm)，通常用來把一大串不定長度的數據影射到一個固定長度的、較短的數據，這個固定長度的數據稱為 hashing value (散列值)。&lt;/p&gt; &lt;p&gt;例如我們把一個由英文字母組成的任意長度的字串，把每一個字符的 ASCII 數值加起來，最後除以 256 得到的餘數作為 hash value，這裡輸入的字串長度沒有限制，輸出的數值則必定在 0 至 255 之間，所以是一個合法的 hashing function。&lt;/p&gt; &lt;p&gt;以上的 hash function 只有 256&amp;#160; 個可能的 hash value，很明顯有很多字串都會得到相同的 hash value，這種情況我們稱為 hash collision (散列衝突)，或者簡稱 collision，事實上從一個不定長度的數據影射到一個固定長度的數據，Collision 是無可避免的，我們並不要求完全沒有 collision，只需把 collision 的機會盡量降低便可以了，若果真的要完全沒有 collision 的話，Hash value 理論上必須與輸入的數據長度相同，這樣便違背了 hash function 的設計目的。&lt;/p&gt; &lt;p&gt;現實應用的 hashing function 通常比較複雜，比較有名的包括 MD4、MD5、SHA1、SHA256 等，它們的 hash value 的數量從 2 的幾十次方到幾百次方。其實我們任何人都可以自行設計一個 hashing function，不過基於 hashing function 的實際用途，我們對 hashing function 有一些基本要求，在進一步解釋前，讓我們看看 hashing 有甚麼常見的用途。&lt;/p&gt; Hashing 的用途 數碼簽署很多提供程式下載的網站，都會在網頁上列出下載檔案的 hash value，比較常見的是 MD5 碼，下載的人可以自行計算下載回來的檔案的 hash value 是否與網站提供的相符，從而驗證這個程式是否曾經被修改，這個過程就是數碼簽署。數碼簽署的概念可以應用在很多通訊領域，例如你要發送一個很重要的電子郵 件給別人，為了讓收件者放心內容在傳送過程中沒有被其他人擅改，你可以另外告訴收件人電子郵件的 MD5 碼，讓他自行驗證。在這種用途中，理想的 hashing function 應該具備兩種特性，首先是任何對原本文件的改動都會令產生的 hash value 改變；第二是沒有方法可以得知如何該動原本的文件使計算出來的 hash value 相同。 &lt;p&gt;當然，我們還要確保 &lt;a href="http://www.hkpug.net/2009/05/09/%e8%aa%8d%e8%ad%98-php-%e7%9a%84-hashing-functions/" class="more-link"&gt;繼續閱讀 &amp;#187;&lt;/a&gt;&lt;img src="http://feeds.feedburner.com/~r/hkpug/feed/~4/S3lAID-TuzA" height="1" width="1"/&gt;</description>
		<wfw:commentRss>http://www.hkpug.net/2009/05/09/%e8%aa%8d%e8%ad%98-php-%e7%9a%84-hashing-functions/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		<feedburner:origLink>http://www.hkpug.net/2009/05/09/%e8%aa%8d%e8%ad%98-php-%e7%9a%84-hashing-functions/</feedburner:origLink></item>
		<item>
		<title>PHP Cheat Sheets</title>
		<link>http://feedproxy.google.com/~r/hkpug/feed/~3/ZsGhRKH6wgI/</link>
		<comments>http://www.hkpug.net/2009/04/30/php-cheat-sheets/#comments</comments>
		<pubDate>Thu, 30 Apr 2009 09:11:42 +0000</pubDate>
		<dc:creator>阿恆</dc:creator>
				<category><![CDATA[PHP]]></category>
		<category><![CDATA[cheat sheet]]></category>

		<guid isPermaLink="false">http://www.hkpug.net/?p=55</guid>
		<description>&lt;p&gt;Cheat Sheet 又稱做「作弊紙」、「小抄」或「備忘紙」，不過我比較喜歡稱她做「速記片」，它是把一些常用的東西用很簡潔的格式紀錄下來方便快速檢查和重溫，當你嘗試從 一個字串中抽取一部份內容，應該調用 PHP 的 mid()、substr()、還是 substring() ？1.3 == 1.30 是否為真？如果你有類似的煩惱，下面列出的免費 PHP 速記片一定可以幫的上忙：&lt;/p&gt; &lt;a title="PHP Cheat Sheet V2 - Added Bytes" href="http://www.addedbytes.com/cheat-sheets/php-cheat-sheet/"&gt;PHP Che&amp;#160;at Sheet (V2) &amp;#8211; Added Bytes&lt;/a&gt;這是網上最受歡迎的 PHP 速記片之一，&lt;a title="Added Bytes" href="http://www.addedbytes.com/"&gt;Added Bytes&lt;/a&gt; 發表了不少速記片，包括 HTML、CSS、JavaScript、和多種編程語言。 &lt;img class="alignnone size-medium wp-image-56" title="php cheat sheet added bytes" src="http://www.hkpug.net/wp-content/uploads/2011/09/phpcheatsheetaddedbytes.gif" alt="PHP Cheat Sheet by Added Bytes" width="400" height="150" /&gt; &lt;a title="PHP Cheat Sheet - BlueShoes" href="http://www.blueshoes.org/en/developer/php_cheat_sheet/"&gt;PHP Cheat Sheet &amp;#8211; BlueShoes&lt;/a&gt;這張速記片只是把 PHP 手冊附錄中&lt;a title="PHP 數據類型比較表" href="http://www.php.net/manual/en/types.comparisons.php"&gt;數據類型比較表&lt;/a&gt;整理潤飾，並且重新排版使它更易於閱讀。 &lt;img class="alignnone size-medium wp-image-59" title="php cheat sheet blue shoes" src="http://www.hkpug.net/wp-content/uploads/2011/09/phpcheatsheetblueshoes.gif" alt="PHP Cheat Sheet by BlueShose" width="400" height="150" /&gt; &lt;a title="PHP Basics Quick Reference Sheet" href="http://www.dreamincode.net/downloads/ref_sheets/php_reference_sheet.pdf"&gt;PHP Basics Quick Reference &lt;a href="http://www.hkpug.net/2009/04/30/php-cheat-sheets/" class="more-link"&gt;繼續閱讀 &amp;#187;&lt;/a&gt;&lt;img src="http://feeds.feedburner.com/~r/hkpug/feed/~4/ZsGhRKH6wgI" height="1" width="1"/&gt;</description>
		<wfw:commentRss>http://www.hkpug.net/2009/04/30/php-cheat-sheets/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	<enclosure url="http://www.hkpug.net/wp-content/uploads/2011/09/phpcheatsheetaddedbytes-150x150.gif" length="" type="image/jpg" />	<feedburner:origLink>http://www.hkpug.net/2009/04/30/php-cheat-sheets/</feedburner:origLink></item>
		<item>
		<title>解除 PHP max_execution_time 的限制</title>
		<link>http://feedproxy.google.com/~r/hkpug/feed/~3/EXtPeTomf9k/</link>
		<comments>http://www.hkpug.net/2009/04/23/%e8%a7%a3%e9%99%a4-php-max_execution_time-%e7%9a%84%e9%99%90%e5%88%b6/#comments</comments>
		<pubDate>Thu, 23 Apr 2009 09:19:56 +0000</pubDate>
		<dc:creator>阿恆</dc:creator>
				<category><![CDATA[PHP]]></category>
		<category><![CDATA[max_execution_time]]></category>
		<category><![CDATA[php.ini]]></category>

		<guid isPermaLink="false">http://www.hkpug.net/?p=67</guid>
		<description>&lt;p&gt;很多人都知道 php.ini 中預設的最長執行時間是 30 秒，這是由 php.ini 中的 max_execution_time 變量指定，倘若你有一個需要頗多時間才能完成的工作，例如要發送很多電子郵件給大量收件者，或者要進行繁重的數據分析工作，伺服器會在 30 秒後強行中止正在執行的程式，這個問題其實有解決辦法的。&lt;/p&gt; &lt;p&gt;最簡單當然是修改 php.ini 中 max_execution_time 的數值，不過不是所有人都有權修改 php.ini，例如使用網頁寄存的開發人員，伺服器上的 php.ini 由很多網站共同使用，所以不能隨意修改。&lt;/p&gt; &lt;p&gt;另一個辦法是在 PHP 程式中加入 ini_set(&amp;#8216;max_execution_time&amp;#8217;, &amp;#8217;0&amp;#8242;)，數值 0 表示沒有執行時間的限制，你的程式需要跑多久便跑多久。若果你的程式仍在測試階段，建議你把時限設定一個實數，以免程式的錯誤把伺服器當掉。&lt;/p&gt;&lt;img src="http://feeds.feedburner.com/~r/hkpug/feed/~4/EXtPeTomf9k" height="1" width="1"/&gt;</description>
		<wfw:commentRss>http://www.hkpug.net/2009/04/23/%e8%a7%a3%e9%99%a4-php-max_execution_time-%e7%9a%84%e9%99%90%e5%88%b6/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		<feedburner:origLink>http://www.hkpug.net/2009/04/23/%e8%a7%a3%e9%99%a4-php-max_execution_time-%e7%9a%84%e9%99%90%e5%88%b6/</feedburner:origLink></item>
	</channel>
</rss><!-- Performance optimized by W3 Total Cache. Learn more: http://www.w3-edge.com/wordpress-plugins/

Minified using disk: basic (Feed is rejected)
Page Caching using disk: enhanced
Database Caching 1/27 queries in 0.021 seconds using disk: basic
Object Caching 1418/1439 objects using disk: basic

Served from: www.hkpug.net @ 2012-02-23 07:38:03 -->

