繼前篇「WAMP 架設網頁伺服器」後,這篇文章要來寫如何在WAMP安裝SSL的服務。程式開發人員會遇到一些像是金流部分的部分,這時候就不得不考慮SSL模式的測試。具體的作法就是在自己的主機建立CA認證伺服,由自己主機來當憑證中心。烘培參考下列幾篇文章
從別人的文章來看,清楚的表示建立SSL的過程,可以分為「製作SSL憑證與公開金鑰」與「編輯 Apache SSL 設定檔」兩部分
繼前篇「WAMP 架設網頁伺服器」後,這篇文章要來寫如何在WAMP安裝SSL的服務。程式開發人員會遇到一些像是金流部分的部分,這時候就不得不考慮SSL模式的測試。具體的作法就是在自己的主機建立CA認證伺服,由自己主機來當憑證中心。烘培參考下列幾篇文章
從別人的文章來看,清楚的表示建立SSL的過程,可以分為「製作SSL憑證與公開金鑰」與「編輯 Apache SSL 設定檔」兩部分
通常架設網頁伺服器在自己的主機,主要還是用來開發程式使用,或學習PHP這類的程式,烘培其實很同意新手直接使用懶人包將環境建置起來,集中在程式的學習,等興趣培養起來,發現自己不足的知識,就會自動自發的去搜尋了,=3= 所以我一直認為大學教授硬要教原文書,其實是抹殺同學對該科目的熱情呀(大嘆)。先前的文章「我的主機,我作主,WAMPs比較表」有大略提到什麼是WAMP,若不了解的網友,不妨再檢視一下。台灣的使用者似乎偏愛使用Appserv或XAMPP來架設PHP環境,不過烘培多年使用的心得,還是wamp最適合。
是PHP中一個超好用卻意外冷門的函式,趁著有這個機會,我把glob大概說明一下,並整理一些常用的使用方法。
/** * 在使用之前,我們先大致了解一下glob有什麼特別的參數可以使用。 * * GLOB_MARK - 若檔案為資料夾,在回傳檔案路徑的最後面加上斜線"\" * GLOB_NOSORT - 保持檔案路徑在原資料夾的出現順序(不重新排序)。※筆者在Win環境看不出差異 * GLOB_NOCHECK - 若找不到匹配的檔案路徑,回傳匹配的條件字串 * GLOB_NOESCAPE - 不要將反斜線視為跳脫字元(※筆者在Win環境下看不出差異) * GLOB_BRACE - 將 {a,b,c} 視為搜尋 'a', 'b', 或 'c' * GLOB_ONLYDIR - 只列出資料夾路徑 * GLOB_ERR - 發生讀取錯誤時停止動作(像是無法讀取的資料夾),預設是「忽略錯誤」 **/
在PHP中,Round()函式可以傳入兩個參數,第一個通常是帶有小數的浮點數,而第二個是想取得小數位數。現在寫ActionScript,發現它的Math.Round()並沒有所謂的第二個參數,囧rz(這麼好的參數竟然就不見了),而且好像Javascript也是一樣,沒有第二參數。只好自己手刻函式來強化了,幸好追加這個參數也沒什麼難度可言,只要先將【數值x(欲求的小數位*10)】進行Math.Round()後,再除於(欲求的小數位*10)。嗯…還是直接看下列的函式吧。
/** * RoundX * 強化的四捨五入 * * @param float val 浮點數 * @param int precision 小數位數 */ function roundX(val, precision){ //理論上版本 var precision = precision || 0; //預設0位數 var a = val * Math.pow(10, precision); //320007.5 var b = Math.round(a); //320008 var c = b / Math.pow(10, precision); //32.0008 //return c; //理論版濃縮 //return Math.round(val * Math.pow(10, (precision || 0))) / Math.pow(10, (precision || 0)); //修正誤差版本。但因為浮點計算產生的誤差,會導致結果錯誤 //例如32.00075*1000會是320007.49999999994,而不是預期的320007.5 var precision = precision || 0; //預設0位數 var a = val * Math.pow(10, precision + 1); //3200074.9999999995 var b = Math.round(a) / 10; //320007.5 var c = Math.round(b); //320008 var d = c / Math.pow(10, precision); //32.0008 //return d; //修正版縮濃 return Math.round(Math.round(val * Math.pow(10, (precision || 0) + 1)) / 10) / Math.pow(10, (precision || 0)); } /* 以下以PHP的範例再做一次AS版的測試 trace( roundX(3.4)); // 3 trace( roundX(3.5)); // 4 trace( roundX(3.6)); // 4 trace( roundX(3.6, 0)); // 4 trace( roundX(1.95583, 2)); // 1.96 trace( roundX(1241757, -3));//1242000 trace( roundX(5.045, 2)); // 5.05 trace( roundX(5.055, 2)); // 5.06 trace( roundX(0.7142857142857143, 2)); // 0.71 trace( roundX(32.00075, 4)); // 32.0008 */
使用FlashDevelop開發時,你可能會發現,當你打算import fl. 系列的組件時,FD並沒有自動幫你提詞,似乎不認這個類別庫。這是因為在FlashDevelop的元件庫裡,並沒有這些組件。在FlashDevelop專案的中《lib》資料夾,其實就有點像是Flash IDE(.fla)中的元件庫,在Flash IDE中,我們可以按【Ctrl + F7】,將組件拖到元件庫。在FlashDevelop中,我們要將Flash中的組件,匯出成SWC,然後丟到專案的lib中。下面筆者將大概提一下如何把Flash IDE中的組件匯出來。
前幾天文章[使用 Flash CS3 開發 AIR app]的回應中,我的好友小P提到了FlashDevelop(簡稱FD),所以就順手來寫篇FlashDevelop的安裝筆記囉。為什麼要選用FlashDevelop開發AIR呢?最簡單的一句話就是「有錢的小孩用FlashBuilder、沒錢的小孩用FlashDevelop、會google的小孩用FlashBuilder…」,回歸正題,我們先從[官方下載]最新的FlashDevelop,筆者下載的是 3.3.0 版,接下來的文章比較適用於 3.3.0 版以上,所以如果你下載的版本不同,請自行觀察其變化。
使用google搜尋引擎的愛好者應該都知道google上方的LOGO,從2000年開始,會因為不同的節日而有不同的變化。除了有藝術氣息的圖片可以觀看,點擊之後還能閱讀相關的資訊文章來增加知識,可真是一舉兩得作法。 今天開啟瀏覽器之後,我發現google上面的LOGO變成這樣:
因為公司使用的是CS3,最近有需要開發AIR的程式,原本打算是直接以Flash的IDE來進行開發,但CS3預設版本並沒有支援AIR的開發(喔~該死),所以不得不去給它更新升級一下。 所以在這邊記錄一下打造可以開發AIR的Flash CS3的過程與大家分享。當然如果你是使用CS4以上版本的Flash,可以直覺無視以下的文章
一直以來,我就想用SQLite來當開發用的資料庫,因為我可以把整個專案連同資料庫一起打包成壓縮檔,這樣作法除了比較好做整個備份,在換不同的工作環境時(在家或公司),也能輕鬆移植運作。
在Kohana2.3.4時,可以在system\libraries\drivers\Database找到Pdosqlite.php來使用。但是在Kohana3.0,Database被轉成為modules後,剩下的drivers似乎只有MySQL和PDO了。 從這樣看來,Ko3的開發人員可能覺得除了常用的MySQL外,其它的資料庫都用PDO去做連結就好了。從PHP官方的PDO文章來看,似乎連MySQL也用PDO連結就好了呀XD
之前在網路上搜尋關鍵字「Kohana3 SQLite」的相關資料,雖然有相關的文章(似乎也是在問Kohana3連結SQLite的問題),但是都沒有成功的解答。其實大家要找的就是Kohana3連結SQLite的DB設定檔啦,不知道為什麼就是沒有一個能動的設定檔。 很幸運的我今天試成功了!喔耶!所以趁現在把這個設定檔公佈出來