This page looks plain and unstyled because you're using a non-standard compliant browser. To see it in its best form, please upgrade to a browser that supports web standards. It's free and painless.

一次滿足你所有願望!?
 偷尼的網誌 | 偷尼的相簿 | 偷尼的名片                      ※ 使用鍵盤輸入 上上下下左右左右AB 後可進入裏世界 !!
Album | Blog | Comment | Profile | Control Panel
標題列表  簡短摘要
KCTONY | 2 June,2008 10:37


爭論前,先聽聽別人怎麼說。

剛剛看到

補上兩句...

 聽完別人怎麼說後
 盡量用白話文解釋給對方

努力告誡自己...
也分享給大家 m(_ _)m

KCTONY | 9 March,2008 21:50

nnoDB和MyISAM是在使用MySQL最常用的兩個表類型,各有優缺點,視具體應用而定。基本的差別為:MyISAM類型不支持事務處理等高級處 理,而InnoDB類型支持。MyISAM類型的表強調的是性能,其執行數度比InnoDB類型更快,但是不提供事務支持,而InnoDB提供事務支持已 經外部鍵等高級數據庫功能。

MyIASM是IASM表的新版本,有如下擴展:
二進制層次的可移植性。
NULL列索引。
對變長行比ISAM表有更少的碎片。
支持大文件。
更好的索引壓縮。
更好的鍵嗎統計分佈。
更好和更快的auto_increment處理。

以下是一些細節和具體實現的差別:

1.InnoDB不支持FULLTEXT類型的索引。
2.InnoDB 中不保存表的具體行數,也就是說,執行select count(*) from table時,InnoDB要掃瞄一遍整個表來計算有多少行,但是MyISAM只要簡單的讀出保存好的行數即可。注意的是,當count(*)語句包含 where條件時,兩種表的操作是一樣的。
3.對於AUTO_INCREMENT類型的字段,InnoDB中必須包含只有該字段的索引,但是在MyISAM表中,可以和其他字段一起建立聯合索引。
4.DELETE FROM table時,InnoDB不會重新建立表,而是一行一行的刪除。
5.LOAD TABLE FROM MASTER操作對InnoDB是不起作用的,解決方法是首先把InnoDB表改成MyISAM表,導入數據後再改成InnoDB表,但是對於使用的額外的InnoDB特性(例如外鍵)的表不適用。

另外,InnoDB表的行鎖也不是絕對的,如果在執行一個SQL語句時MySQL不能確定要掃瞄的範圍,InnoDB表同樣會鎖全表,例如update table set num=1 where name like 「%aaa%」

任何一種表都不是萬能的,只用恰當的針對業務類型來選擇合適的表類型,才能最大的發揮MySQL的性能優勢。

轉自 http://www.phpobject.net/blog/read.php?124

KCTONY | 4 January,2008 11:28

這個版本加入了 PHP 4.4 系列現有的修補程式,也許是最後一個正式推出的 PHP 4.4 系列版本;
必要時還是會推出安全性修正版本,最後期限是 2008-08-08 。

PHP 4.4.8 修正的問題
* 加強修正 MOPB-02-2007
* 修正 chunk_split() 一個整數過載(Overflow)的問題
* 修正 str[c]spn() 整數過載(Overflow)的問題
* 修正 glob 在開啟 open_basedir 時可能產生無限迴圈
* 修正 money_format() 不接受多個 %i 或 %n 指標
* 加入 "max_input_nesting_level" 設定項目到 php.ini ,藉此限制輸入變數的巢狀結構階層,為修正 MOPB-03-2007
* 修正在 MySQL 處理 INFILE LOCAL 選項的問題,現在在 open_basedir 或 safe_mode 啟用時不允許這麼做
* 修正 session.save_path 與 error_log 數值透過 open_basedir 與 safe_mode 檢查(CVE-2007-3378)

http://tw.php.net/ChangeLog-4.php#4.4.8

KCTONY | 16 December,2007 13:28

Becoming PHP 6 Compatible 這篇裡面提到的五個技巧,現在遵循這些習慣,等到 PHP6 正式推出的時候程式碼才不會改太多:

  • 不要再依賴 register_globalsregister_globals$_GET$_POST$_COOKIE 這三個的變數內容直接對應到全域變數。這在目前的 PHP4 與 PHP5 預設都是關閉的,但還是有文件書籍會「建議」你打開。在 PHP6 中,這個功能將直接消失。不過,還是可以透過 達到一樣的效果。
  • 不要使用 magic_quotes:這個功能在目前的 PHP4 與 PHP5 預設是開啟的,但在 PHP6 將會消失 (而非改為關閉),所以,在開發軟體時最好以 magic_quotes 關閉的情況下開發。
  • 不要使用 $HTTP_POST_VARS$HTTP_GET_VAR,改用 $_POST$_GET。這點可以用編輯器的字串代換很快的換完。就算真的是很多的程式碼,也可以一次換一些。
  • 使用 preg_*,而不要再用 ereg_*。現在就用 preg_* 是因為執行速度比 ereg_* 快,另外在 PHP6 將會廢掉 ereg_*。不過應該會有人寫出 PECL extensions 放回來。
  • 直接拿原作者的 code 比較清楚:
    $a = & new object(); // Do not do
    $a = new object(); // Do this as of PHP 6

上面所提到的改變,會強迫使用者不能再用壞習慣寫程式,對於 的發展會是相當好的事情。

轉自 DK 大大的blog

...

(Read More...)

KCTONY | 10 November,2007 7:27

如果在嘗試檢視網頁時遇到問題,會從網站傳送 HTTP 錯誤到您的網頁瀏覽器。如果無法顯示網頁,Internet Explorer 會顯示網站傳送的實際錯誤頁面,或是 Internet Explorer 內建的易懂錯誤訊息。您可以在下面找到某些最常見的錯誤及如何解決問題的概念。

下表會列出 Internet Explorer 顯示的最常見 HTTP 錯誤。如需 HTTP 通訊協定、錯誤碼及原因的相關資訊,請造訪全球資訊網協會 (W3C) 網站 (英文)。


HTTP 錯誤訊息

意義

找不到網頁 (HTTP 400)

因為網址發生問題 (URL),所以 Internet Explorer 可連線到網頁伺服器,但找不到網頁。此錯誤訊息發生的原因通常是因為網址輸入錯誤。請確定網址是否正確,並再試一次。

該網站拒絕顯示此網頁 (HTTP 403)

Internet Explorer 可連線至該網站,但 Internet Explorer 沒有顯示網頁的權限。可能有多種原因,以下是最常見的幾個:

網站系統管理員必須授與您權限來檢視網頁,或是網頁伺服器不接受公開網頁要求。如果這是您應該具有存取權的網站,請聯絡網站系統管理員。

您嘗試檢視的網頁是由程式產生 (如購物車或搜尋引擎),且網站系統管理員錯誤設定了程式所在之伺服器上的資料夾。

您已經輸入基本網址 (例如,www.example.com),但網站沒有預設網頁 (例如 index.htm 或 default.html)。此外,網站不允許使用可讓您檢視網頁資料夾中之檔案的目錄清單。

找不到網頁 (HTTP 404)

Internet Explorer 可連線至該網站,但找不到網頁。此錯誤有時是因為網頁暫時無法使用所造成 (若是如此,可稍後再試),或是網頁已經刪除。

網站無法顯示該網頁 (HTTP 405)

Internet Explorer 可連線到網站,但無法將網頁內容下載到電腦。這通常是網頁程式撰寫方式所造成的問題。

Internet Explorer 無法讀取此網頁格式 (HTTP 406)

Internet Explorer 可接收網站所傳送的資訊,但該資訊不是 Internet Explorer 可以顯示的格式。

網站忙碌中,無法顯示網頁 (HTTP 408 或 409)

伺服器花太久時間顯示網頁,或有太多人要求相同的網頁。請稍後再試。

該網頁已不存在 (HTTP 410)

Internet Explorer 可連線至該網站,但找不到網頁。與 HTTP 錯誤 404 不同,這個錯誤是由網站系統管理員傳回的永久錯誤。它有時會用在限時的優惠或促銷資訊上。

網站無法顯示該網頁 (HTTP 500)

您造訪的網站發生伺服器問題,導致網頁無法顯示。通常是因為網站維修或使用指令碼之互動網站上的程式設計錯誤所導致。

網站無法顯示該網頁 (HTTP 501 或 505)

錯誤 501 (HTTP 501 - 未執行) 表示您造訪的網站未設定為顯示瀏覽器要求的內容。 例如,瀏覽器要求具有視訊副檔名 (.AVI) 的檔案,但是卻告訴網站它正在尋找 HTML 頁面。

錯誤 505 (HTTP 505 - 不支援版本) 表示該網站不支援瀏覽器用來要求該網頁的 HTTP 通訊協定版本 (通常會使用 HTTP/1.1)。


KCTONY | 24 May,2007 13:36

Google近日發表稱,目前有大約十分之一的網頁會在用戶的計算機裡偷偷植入惡意軟件,而且這樣的頁面越來越多。

  Google在這份名為《瀏覽器中的幽靈:網絡惡意軟件分析》的報告中表示,對450萬個網站的深入調查表明,10%的網頁都會通過「驅動式下 載」的方式在用戶的系統內安裝後門木馬或其他流氓軟件,給用戶的資料安全構成嚴重威脅;而隨著人們的日常生活越來越依賴於互聯網,建立一個網站又是輕而易 舉,網絡惡意軟件的傳播勢頭也越來越猛。

  安全機構Sophos的高級技術顧問Graham Cluley也透露說,在剛剛過去的4月份,平均每星期都會出現8000個包含惡意軟件的網絡鏈接(URL),而且它們不只是隱藏在不引人注意的角落裡, 被黑客們植入惡意軟件的網頁有70%都存在於合法網站中,因此更容易讓人上當。

  Cluley表示,「過去黑客們都通過電子郵件附件來傳播惡意軟件,但現在改成了到處張貼(惡意網頁)鏈接。人們不應當只注意自己的郵箱,也要小心訪問的網站。」


轉自 google排名研究日誌

KCTONY | 24 May,2007 13:34

[轉] Flash能很好的支持對MP3音頻格式的播放和控制,但並不是所有的MP3編碼格式都支持(播放正常)。

查閱了Flash幫助文檔和搜索官方資料也都沒有明確的說明,而來自網絡的MP3又各式各樣,很多網友疑問用CMP播放MP3時都遇到了播放加快或其他不正常現象,這是因為某些MP3編碼格式Flash不支持導致。

Flash支持播放的MP3格式,編碼採樣率最好是44.1KHz的倍數,且為CBR(常數比特率)壓縮。

推薦標準MP3音頻編碼格式:

44.1KHz 128Kbps 音質不錯,文件大小也適宜
還支持以下格式,不過音質較差,當然文件更小:

22KHz
11KHz

詳情見下表:

uploads/200705/23_184041_flashmp3.jpg

(比特深度在8,16,32,每秒96000,44100,22050,11025次的採樣率都可以正常播放)

Flash播放器不能很好的識別VBR(可變比特率、動態比特率)編碼的文件,會產生各種問題,要麼是完全忽略,要麼是靜音,導致可以正常下載卻不能播放。

Flash播放器也無法解決「假mp3文件」——即那種是mp3模式,但內容是用一些不標準的系統編碼的音頻數據。Microsoft微軟推出的一些音頻解碼器能通過微軟自己的ACM音頻壓縮器製作mp3文件,但Flash播放器卻完全不能識別。

還有一些採樣率(如32000,8000,64000)編碼的MP3雖然能夠播放,但是播放速度不對(播放加快,音調不對)。

雖然Flash的MP3音頻解碼器存在以上缺陷,但是已經基本能夠滿足我們對視聽的要求了,也希望下一個版本的Flash能更好的支持MP3,甚至更多其他的音頻格式乃至視頻格式。

KCTONY | 13 May,2007 13:27

頭:header
內容:content/container
尾:footer
導航:nav
側欄:sidebar
欄目:column
頁面外圍控制整體佈局寬度:wrapper
左右中:left right center
登錄條:loginbar
標誌:logo
廣告:banner
頁面主體:main
熱點:hot
新聞:news
下載:download
子導航:subnav
菜單:menu
子菜單:submenu
搜索:search
友情鏈接:friendlink
頁腳:footer
版權:copyright
滾動:scroll
內容:content
標籤頁:tab
文章列表:list
提示信息:msg
小技巧:tips
欄目標題:title
加入:joinus
指南:guild
服務:service
註冊:regsiter
狀態:status
投票:vote
合作夥伴:partner

二、註釋的寫法:

/* Footer */
內容區
/* End Footer */

三、id的命名:

(1) 頁面結構
容器: container
頁頭:header
內容:content/container
頁面主體:main
頁尾:footer
導航:nav
側欄:sidebar
欄目:column
頁面外圍控制整體佈局寬度:wrapper
左右中:left right center

(2) 導航
導航:nav
主導航:mainbav
子導航:subnav
頂導航:topnav
邊導航:sidebar
左導航:leftsidebar
右導航:rightsidebar
菜單:menu
子菜單:submenu
標題: title
摘要: summary

(3) 功能
標誌:logo
廣告:banner
登陸:login
登錄條:loginbar
註冊:regsiter
搜索:search
功能區:shop
標題:title
加入:joinus
狀態:status
按鈕:btn
滾動:scroll
標籤頁:tab
文章列表:list
提示信息:msg
當前的: current
小技巧:tips
圖標: icon
註釋:note
指南:guild
服務:service
熱點:hot
新聞:news
下載:download
投票:vote
合作夥伴:partner
友情鏈接:link
版權:copyright

四、class的命名:

(1) 顏色:使用顏色的名稱或者16進制代碼,如
.red { color: red; }
.f60 { color: #f60; }
.ff8600 { color: #ff8600; }

(2) 字體大小,直接使用"font+字體大小"作為名稱,如
.font12px { font-size: 12px; }
.font9pt {font-size: 9pt; }

(3) 對齊樣式,使用對齊目標的英文名稱,如
.left { float:left; }
.bottom { float:bottom; }

(4) 標題欄樣式,使用"類別+功能"的方式命名,如
.barnews { }
.barproduct { }

注意事項:

1.一律小寫;
2.儘量用英文;
3.不加中槓和下劃線;
4.儘量不縮寫,除非一看就明白的單詞。

一些CSS樣式表檔案命名:

主要的 master.css
模塊 module.css
基本共用 base.css
佈局,版面 layout.css
主題 themes.css
專欄 columns.css
文字 font.css
表單 forms.css
補丁 mend.css
打印 print.css

KCTONY | 17 February,2007 7:45

區塊是指用<DIV>、<SPAN>等標籤所建立出的邏輯區域,或是圖形、表格等均可稱之為區塊。在DHTML中,使用區塊是非常頻繁的,所以區塊設定就顯得非常有用。



CLEAR

功能 :設定浮動元件位置 ( 可設無、左邊、右邊、兩邊 )

語法 : { CLEAR : NONE︱LEFT︱RIGHT︱BOTH }

範例 : {CLEAR:LEFT}



CLIP

功能 :剪輯可見部份

語法 : { CLIP : AUTO︱( shape ) }

( shape ) - RECT ( top ) ( right ) ( bottom ) ( left )

這個性質可決定區塊的哪些範圍是可視的,而元件在此設定範圍外是不可視的。我們必需指定一個矩形區域給它,依序為上、右、下、左座標,而座標原點是此元件 的左上角。例如我們可用clip:rect(0,100,100,0),則從(0,0)至(100,100)間都是可視的,此元件在這範圍外就看不到了。



CURSOR

功能 :設定滑鼠游標 ( 可設自動、十字、箭頭、手形、移動、改變 - 雙箭頭、文字、等待、求助 )

語法 :
{ CURSOR : AUTO︱CROSSHAIR︱DEFAULT︱HAND︱MOVE︱E-RESIZE︱NE-RESIZE︱NW-RESIZE︱N-RESIZE︱SE-RESIZE︱SW-RESIZE︱S-RESIZE︱W-RESIZE︱TEXT︱WAIT︱HELP }



DISPLAY

功能 :設定是否顯示

語法 : { DISPLAY : NONE }

這個性質可設定整個元件要不要顯示,以及顯示的方式。它可用的參數這裡一一介紹。none代表不顯示,且此元件不佔任何空間。block代表顯 示,並視為區塊,前後緊臨的元件將換行顯示。inline代表顯示,但前後緊臨的元件會排在其左右,並不會換行。list-item代表顯示,與 block大致相同。 table-header-group只能用在<THEAD>(不知道這個新標籤請至RONDO的HTML教學看看),代表表格在多頁時(如 列印),此區之表格將會自動加在有此表格之頁面的第一列。table-header-group與table-footer-group相似,但用於 <TFOOT>,作用是表格在多頁時,此區之表格將會自動加在有此表格之頁面的最末列。IE4.0不支援block、inline、list -item這三種設定。使用範例如display:none此元件就被隱藏了



FLOAT

功能 :設定浮動元件接續位置

語法 : { FLOAT : NONE︱LEFT︱RIGHT }



HEIGHT

功能 : 設定元件高度 ( 可設單位屬性 : 點pt、英吋in、公分cm、像素px、百分比% )

語法 : { HEIGHT : AUTO︱( length )︱( percentage ) }

範例 : {HEIGHT:10pt}



@IMPORT

功能 : 設定輸入排版樣式

語法 : @IMPORT URL ( url )



LEFT

功能 : 設定元件左邊位置 ( 可設單位屬性 : 點pt、英吋in、公分cm、像素px、百分比% )

語法 : { LEFT : AUTO︱( length )︱( percentage ) }



LIST-STYLE

功能 : 設定條列項目符號

語法 : { LIST-STYLE : KEYWORD︱POSITION︱URL ( url ) }



LIST-STYLE-IMAGE

功能 : 設定圖片為條列項目符號

語法 : { LIST-STYLE-IMAGE : NONE︱URL ( url ) }



LIST-STYLE-POSITION

功能 : 設定條列項目符號位置 ( 可設內部、外部 )

語法 : { LIST-STYLE-POSITION : INSIDE︱OUTSIDE }



LIST-STYLE-TYPE

功能 : 設定條列項目符號形狀 ( 可設無、圓形、圓圈、正方形、小數點、羅馬符號、希臘符號 )

語法 :
{ LIST-STYLE-TYPE : NONE︱DISK︱CIRCLE︱SQUARE︱DECIMAL︱LOWER-ROMAN︱UPPER-ROMAN︱LOWER-ALPHA︱UPPER-ALPHA }



MARGIN

功能 : 設定文字和邊緣距離 ( 可設單位屬性 : 點pt、英吋in、公分cm、像素px、百分比% )

語法 : { MARGIN : AUTO︱( length )︱( percentage ) }

這個性質一次設定上、下、左、右邊界與區塊外之元件間格距離。使用時應依序指定上、右、下、左,如margin:3px 2px 5px 1px。亦可一次指定四邊,如margin:2px,則全部均設2px。



MARGIN-BOTTOM

功能 :設定文字和下邊緣距離 ( 可設單位屬性 : 點pt、英吋in、公分cm、像素px、百分比% )

語法 : { MARGIN-BOTTOM : AUTO︱( length )︱( percentage ) }



MARGIN-LEFT

功能 : 設定文字和左邊緣距離 ( 可設單位屬性 : 點pt、英吋in、公分cm、像素px、百分比% )

語法 : { MARGIN-LEFT : AUTO︱( length )︱( percentage ) }



MARGIN-RIGHT

功能 : 設定文字和右邊緣距離 ( 可設單位屬性 : 點pt、英吋in、公分cm、像素px、百分比% )

語法 : { MARGIN-RIGHT : AUTO︱( length )︱( percentage ) }



MARGIN-TOP 

功能 : 設定文字和上邊緣距離 ( 可設單位屬性 : 點pt、英吋in、公分cm、像素px、百分比% )

語法 : { MARGIN-TOP : AUTO︱( length )︱( percentage ) }



OVERFLOW

功能 : 設定容器元件顯示方法

語法 : { OVERFLOW : NONE︱CLIP︱SCROLL }

這個性質是設定當區塊內包含的元件大於區塊之寬或高時,顯示的方法。可用值有auto(自動設定,當需要時出現捲軸)、scroll(強迫顯示捲 軸,即使內部元件並無超過區塊邊界)、hidden(超出區塊的部份不顯示)、visible(全部顯示,無視區塊大小)。最常用的是overflow: auto讓瀏覽器自動判斷



PADDING

功能 : 設定元件和邊緣距離 ( 可設單位屬性 : 點pt、英吋in、公分cm、像素px、百分比% )

語法 : { PADDING : ( length )︱( percentage ) }

這個性質一次設定上、下、左、右邊界的間格距離。使用時應依序指定上、右、下、左,如padding:3px 2px 5px 1px。亦可一次指定四邊,如padding:2px,則全部均設2px。



PADDING-BOTTOM

功能 : 設定元件和下邊緣距離 ( 可設單位屬性 : 點pt、英吋in、公分cm、像素px、百分比% )

語法 : { PADDING-BOTTOM : ( length )︱( percentage ) }



PADDING-LEFT

功能 : 設定元件和左邊緣距離 ( 可設單位屬性 : 點pt、英吋in、公分cm、像素px、百分比% )

語法 : { PADDING-LEFT : ( length )︱( percentage ) }



PADDING-RIGHT

功能 : 設定元件和右邊緣距離 ( 可設單位屬性 : 點pt、英吋in、公分cm、像素px、百分比% )

語法 : { PADDING-RIGHT : ( length )︱( percentage ) }



PADDING-TOP

功能 : 設定元件和上邊緣距離 ( 可設單位屬性 : 點pt、英吋in、公分cm、像素px、百分比% )

語法 : { PADDING-TOP : ( length )︱( percentage ) }



PAGE-BREAK-AFTER

功能 : 設定元件後加分頁符號

語法 : { PAGE-BREAK-AFTER : AUTO︱LEFT︱RIGHT︱ALWAYS }



PAGE-BREAK-BEFORE

功能 : 設定元件前加分頁符號

語法 : { PAGE-BREAK-BEFORE : AUTO︱LEFT︱RIGHT︱ALWAYS }



POSITION

功能 : 設定元件位置 ( 可設絕對、相對、靜態 )

語法 : { POSITION : ABSOLUTE︱RELATIVE︱STATIC }



TOP

功能 : 設定元件上方位置 ( 可設單位屬性 : 點pt、英吋in、公分cm、像素px、百分比% )

語法 : { TOP : AUTO︱( length )︱( percentage ) }



VERTICAL-ALIGN

功能 : 元件垂直調整

語法 : { VERTICAL-ALIGN : BASELINE︱MIDDLE︱SUB︱SUPER︱TEXT-TOP︱TEXT-BOTTOM︱TOP︱BOTTOM }



VISIBILITY

功能 : 設定是否可見( 可設可見、隱藏、繼承 )

語法 : { VISIBILITY : VISIBLE︱HIDDEN︱INHERIT }

設定此元件要不要顯示,這個性質與display有相似之處,但不相同。可用值有visible(顯示)、inherit(貼附,如此元件所在之 父元件可見,則此元件為可見,反之亦然)、hidden(隱藏,但仍佔有空間,此與display:none不同)。用法如visibility: hidden則可隱藏此元件。



WIDTH 

功能 : 設定元件寬度 ( 可設單位屬性 : 點pt、英吋in、公分cm、像素px、百分比% )

語法 : { WIDTH : AUTO︱( length )︱( percentage ) }

此性質可設定區塊的寬度,可用單位或百分比法來指定其值,或是用特徵字auto。如width:30px或width:50%均是可行的方法,而width:auto代表讓瀏覽器幫你決定。至於百分比法是依據其父元件的大小來決定的。



Z-INDEX

功能 : 設定Z軸參數 ( 正數為上方,負數為下方 )

語法 : { Z-INDEX : NUMBER }

所謂CSS之2.5D擺設就靠這個性質,當有很多元件重疊時(如position:absolute就會發生),擁有較大z-index值的元件會擺在上面,此值可正可負。如z-index:3會擺在z-index:2的元件之上。

KCTONY | 17 January,2007 7:43

不管是PHP或JSP 如果寫入utf-8的資料
mysql跟程式其中一方沒有寫好的話
SQL內的資料會變成亂碼
可以用這個方法舊回


(1) 匯出資料並指定編碼 latin1 (如果出來還是亂碼就改 big5 看看)
mysqldump -u root -p –default-character-set=latin1 資料庫名稱 > backup.sql

(2) 用編輯器開 backup.sql,前幾行會有個
/*!40101 SET NAMES latin1 */;
改成 /*!40101 SET NAMES utf8 */;
然後存檔存成 UTF-8 格式

(3) 匯入資料
mysql -u root -p 資料庫名稱 < backup.sql
這樣裡面的資料就會是 utf-8 了

(4) 修改連線方式改成utf-8

1 2