2009年10月28日 星期三

「兆」的單位之後是什麼?

個、十、百、千、萬、十萬、百萬、千萬、億、十億、百億、千億、兆、一兆、十兆、百兆、千兆...在上去是什麼呢?

  中國古代的【孫子算經】一書中有記載:「 凡大數之法,萬萬曰億,萬萬億曰兆,萬萬兆曰京,萬萬京曰垓(讀ㄍㄞ),萬萬垓曰秭(讀ㄗˇ),萬萬秭曰穰(讀ㄖㄤˊ),萬萬穰曰溝,萬萬溝曰澗,萬萬澗曰正,萬萬正曰載。」

  「兆」我們平日還見得到,「京」恐怕知道的人已經不多了,更別說「垓」、「秭」、「穰」、「溝」、「澗」、「正」、「載」啦!

  不過,算大數的方法經過幾千年的文化更迭、演變,這些單位在不同時代中,卻可能代表不同的數,後來還加入外來文化的影響,出現更大的單位;例如隨著印度佛經的傳入中國,而增加了恆河沙、阿僧祇、那由他、不可思議、無量等,這些數詞都出現在佛經中,用來計量時間的長度。

  時至今日,我們的中國人數大數,是慣用四位劃分的方式,也就是說每隔四個位數就使用一個新的單位名稱,比如在宇宙形成之前,有一非常非常高的「能量」,當時的溫度非常非常地高,有多高呢?大約是「100000000000000000000000000000000度」-約有「1的後面32個0」度那麼高!
「1的後面32個0」度到底是「幾」度呢?


沒錯!「一溝」度!怎麼樣?聽起來很另類吧!

  簡單整理一下:個、十、百、千、萬、億、兆、京、垓、秭、穰、溝、澗、正、載、極、恆河沙、阿僧祇、那由他、不可思議、無量、大數...

  不過,因為到目前為止,由於平時很少人使用這些數詞單位,也沒有統一的規範,因此數詞所代表的實際大小在不同的書籍資料中會有所出入(尤其是「極」以上的數詞);所以,以上的大數數法僅供參考。


古戈爾普勒克斯這個數是 Google 命名的由來喔!
資料來源:維基百科
引用:DreamEVIL's ARK:數詞單位&「兆」之後是什麼?

2009年10月27日 星期二

MySQL 錢的資料型態

MS SQL 和 Oracle 中都有 money 的資料型態(datatype)

MySQL 就用 DECIMAL(5,2)

此資料型態用在 價格、價錢(Price)、薪水(Salary)…等關於錢(money)的都可以。

DECIMAL列的聲明語法是DECIMAL(M,D)。在MySQL 5.1中,參量的取值範圍如下:
M是數字的最大數(精度)。其範圍為1~65(在較舊的MySQL版本中,允許的範圍是1~254)。
D是小數點右側數字的數目(標度)。其範圍是0~30,但不得超過M。

windows 找不到本機設定檔 解決方式

windows 找不到本機設定檔 解決方式

1、先使用 Administrator 創建一個 XXXX 帳號,然後將 XXX 帳號加入
  Administrators 群組裡面,登出 Win
2、使用 XXX 帳號登入 Win,
  刪除 C:\Documents and Settings\Administrator\NTUSER.DAT
  及 C:\Documents and Settings\Administrator\NTUSER.DAT.LOG ,登出 Win
3、使用 Administrator 再次登入 Win 重新創建 NTUSER.DAT 及 NTUSER.DAT.LOG
4、控制台→系統→進階→使用者設定檔→設定→刪除 XXX 帳號

2009年10月22日 星期四

新增一筆資料後,回傳 Auto_Increment 的值

當欄位(colum)結構使用 Auto_Increment,新增(insert)一筆資料後會自動+1當Index。

當這筆資料跟其他表格的資料做關聯的時候,會需要用到這個值。
這個時候就可用 mysql_insert_id() 回傳這個值。

在 MySQL 裡面則可以直接呼叫 LAST_INSERT_ID();


參考:PHP-Manual:mysql_insert_id
引用:It rains.:return MySQL auto_increment col value

PHP 字元轉換二、八、十、十六進位

二進位二進制(B,Binary)00000010=2
八進位八進制(O,Octal)00000010=8
十進位十進制(D,Decimalist)00000010=10
十進位十六進制(H,Hex)00000010=16

Binary 跟 ASCII互轉

 
function asc2bin($str) {
$text_array = explode("\r\n", chunk_split($str, 1));
for ($n = 0; $n < count($text_array) - 1; $n++) {
$newstring .= substr("0000".base_convert(ord($text_array[$n]), 10, 2), -8);
}
$newstring = chunk_split($newstring, 8, " ");
return $newstring;
}

function bin2asc($str) {
$str = str_replace(" ", "", $str);
$text_array = explode("\r\n", chunk_split($str, 8));
for ($n = 0; $n < count($text_array) - 1; $n++) {
$newstring .= chr(base_convert($text_array[$n], 2, 10));
}
return $newstring;
}

ASCII 與 HEX互轉
 
function asc2hex($str) {
return chunk_split(bin2hex($str), 2, " ");
}

function hex2asc($str) {
$str = str_replace(" ", "", $str);
for ($n=0; $n<strlen($str); $n+=2) {
$newstring .= pack(&quot;C&quot;, hexdec(substr($str, $n, 2)));
}

return $newstring;
}

Binary 與 HEX互轉
 
function binary2hex($str) {
$str = str_replace(" ", "", $str);
$text_array = explode("\r\n", chunk_split($str, 8));
for ($n = 0; $n < count($text_array) - 1; $n++) {
$newstring .= base_convert($text_array[$n], 2, 16);
}
$newstring = chunk_split($newstring, 2, " ");
return $newstring;
}

function hex2binary($str) {
$str = str_replace(" ", "", $str);
$text_array = explode("\r\n", chunk_split($str, 2));
for ($n = 0; $n < count($text_array) - 1; $n++) {
$newstring .= substr("0000".base_convert($text_array[$n], 16, 2), -8);
}
$newstring = chunk_split($newstring, 8, " ");
return $newstring;
}
引用:Nightmare的胡言亂語-利用PHP來做字元碼轉換(Binary、ASCII、HEX互轉)

2009年10月21日 星期三

我的 Google App Engine

http://chair-lai.appspot.com/

為了和 Google 沾上邊(python),所以就去找了相關 Google App Engine(GAE) 教學

昨天看了一整個下午,今天上午終於才...搞出一個 Hello World!

平台:Windows XP pro SP3
語言:Python 2.6(GAE 文件上好像是用 2.5)
SDK:Google App Engine
工具:Aptana Studio,build:1.27.024747


參考來源:
老王的技术手册:初探Google App Engine
Google App Engine 最佳實踐:使用 Eclipse + PyDev 開發 Google App Engine 專案

2009年10月20日 星期二

反編譯 eval(function(p,a,c,k,e,d)

反編譯 eval(function(p,a,c,k,e,d) 格式的 Javascript
研究 syntaxhighlighter 2.0.320 這個能讓網頁漂亮的顯示原始碼的 javascript,
結果關鍵的 shCore.js 作者給編碼了,採用的是 Dean Edwards 所提供的編碼方式,
還好拜大神後,找到了解碼方式(反編譯 eval(function(p,a,c,k,e,d) 格式的 Javascript),
我把他稍微修改整理成下面的步驟(FF3.5)

  1. 連線到 http://dean.edwards.name/packer/

  2. javascript:for%20(i=0;i<document.forms.length;++i)%20{for(j=0;j<document.forms[i].elements.length;++j){document.forms[i].elements[j].removeAttribute(%22readonly%22);document.forms[i].elements[j].removeAttribute(%22disabled%22);}}
    貼到網址列並執行
  3. 將編碼的 js 複製到下方的文字方塊並執行「Decode」
  4. 複製下方解碼後的內容
  5. 連線到 http://tool.chinaz.com/Tools/JsFormat.aspx
  6. 將解碼後的程式碼貼在文字方塊
  7. 執行格式化
  8. 複製格式化結果
  9. 完成




2009年10月14日 星期三

芭瑪颱風之宜蘭縣災情

按下面的網址或圖都可以去 Google maps 觀看"芭瑪颱風之宜蘭縣災情"(三個連結都是同一個地方)

1.芭瑪颱風_宜蘭縣_災情

2.芭瑪颱風_宜蘭縣_災情



詳情可上 防災資訊服務網

2009年10月13日 星期二

PHP 顯示 作業系統 & 瀏覽器 訊息

OS 為 windowns XP
1.echo PHP_OS; => WINNT
2.echo getenv('OS') => Windows_NT
3.php_uname(); => Windows NT Chair 5.1 build 2600
4.$_SERVER["HTTP_USER_AGENT"]
=>Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US) AppleWebKit/532.0 (KHTML, like Gecko) Chrome/3.0.195.25 Safari/532.0

部份引用:我與小崴崴的工作日記:[PHP] 取得運行的 OS 平台資訊



$_SERVER 其他用法參考:
$_SESSION['PHP_SELF']獲取當前正在執行腳本的文件名
$_SERVER['SERVER_PROTOCOL']請求頁面時通信協議的名稱和版本。
例如:“HTTP/1.0”。
$_SERVER['REQUEST_TIME']請求開始時的時間戳。從 PHP 5.1.0 起有效。和time函數效果一樣。
$_SERVER['argv']傳遞給該腳本的參數。
試了一下,get方法可以得到 $_SERVER['argv'][0];post 方法無法給他賦值。
$_SERVER['SERVER_NAME']返回當前主機名。
$_SERVER['SERVER_SOFTWARE']服務器標識的字串,在響應請求時的頭信息中給出。 如Microsoft-IIS/6.0
$_SERVER['REQUEST_METHOD']訪問頁面時的請求方法。
例如:“GET”、“HEAD”,“POST”,“PUT”。
$_SERVER['QUERY_STRING']查詢(query)的字符串(URL 中第一個問號 ? 之後的內容)。
$_SERVER['DOCUMENT_ROOT']當前運行腳本所在的文檔根目錄。在服務器配置文件中定義。
例如:E:\server
$_SERVER['HTTP_ACCEPT']當前請求的 Accept: 頭信息的內容。
$_SERVER['HTTP_ACCEPT_CHARSET']當前請求的 Accept-Charset: 頭信息的內容。
例如:“iso-8859-1,*,utf-8”。
$_SERVER['HTTP_ACCEPT_ENCODING']當前請求的 Accept-Encoding: 頭信息的內容。
例如:“gzip”。
$_SERVER['HTTP_ACCEPT_LANGUAGE']當前請求的 Accept-Language: 頭信息的內容。
例如:“en”。
$_SERVER['HTTP_CONNECTION']當前請求的 Connection: 頭信息的內容。
例如:“Keep-Alive”。
$_SERVER['HTTP_HOST']當前請求的 Host: 頭信息的內容。
$_SERVER['HTTP_REFERER']鏈接到當前頁面的前一頁面的 URL 地址。
$_SERVER['HTTP_USER_AGENT']返回用戶使用的瀏覽器信息。也可以使用 get_browser() 得到此信息。
$_SERVER['HTTPS']如果通過 https 訪問,則被設為一個非空的值,否則返回 off.
$_SERVER['REMOTE_ADDR']正在瀏覽當前頁面用戶的 IP 地址。
$_SERVER['REMOTE_HOST']正在瀏覽當前頁面用戶的主機名。反向域名解析基於該用戶的 REMOTE_ADDR。
例如:本地測試返回 127.0.0.1
$_SERVER['REMOTE_PORT']用戶連接到服務器時所使用的端口。我在本機測試沒通過,不知道什麼原因。
$_SERVER['SCRIPT_FILENAME']當前執行腳本的絕對路徑名。如返回 E:\server\index.php
$_SERVER['SERVER_ADMIN']該值指明了 Apache 服務器配置文件中的 SERVER_ADMIN 參數。
如果腳本運行在一個虛擬主機上,則該值是那個虛擬主機的值
$_SERVER['SERVER_PORT']服務器所使用的端口。默認為“80”。
如果使用 SSL 安全連接,則這個值為用戶設置的 HTTP 端口。
$_SERVER['SERVER_SIGNATURE']包含服務器版本和虛擬主機名的字符串。
$_SERVER['PATH_TRANSLATED']當前腳本所在文件系統(不是文檔根目錄)的基本路徑。
這是在服務器進行虛擬到真實路徑的映像後的結果。
Apache 2 用戶可以使用httpd.conf 中的 AcceptPathInfo On 來定義 PATH_INFO。
$_SERVER['SCRIPT_NAME']包含當前腳本的路徑。這在頁面需要指向自己時非常有用。
__FILE__ 包含當前文件的絕對路徑和文件名(例如包含文件)。
$_SERVER['REQUEST_URI']訪問此頁面所需的 URI。
例如:“/index.html”。
$_SERVER['PHP_AUTH_DIGEST']當作為 Apache 模塊運行時,進行 HTTP Digest 認證的過程中,
此變量被設置成客戶端發送的“Authorization”HTTP 頭內容(以便作進一步的認證操作)。
$_SERVER['PHP_AUTH_USER']當 PHP 運行在 Apache 或 IIS(PHP 5 是 ISAPI)模塊方式下,
並且正在使用 HTTP 認證功能,這個變量便是用戶輸入的用戶名。
$_SERVER['PHP_AUTH_PW']當 PHP 運行在 Apache 或 IIS(PHP 5 是 ISAPI)模塊方式下,
並且正在使用 HTTP 認證功能,這個變量便是用戶輸入的密碼。
$_SERVER['AUTH_TYPE']當 PHP 運行在 Apache 模塊方式下,並且正在使用 HTTP 認證功能,這個變量便是認證的類型。
以上資料是由網路上複製的來的,有錯誤的地方,請告知~
PHP 官方手冊:$_SERVER 其他用法參考

2009年10月8日 星期四

Photosketch 塗鴉後找出圖片還合成!

下面影片好像是在說原理

而這個是實際使用



引用:Photosketch:隨手塗鴉+網路圖片 = 哇靠!

2009年10月6日 星期二

PostgreSQL

今天早上看總機在算便當的數量、錢,覺得用人工去數有點太耗精、氣、神了

馬上去參拜 Google 股溝

結果找到了 訂便當管理系統(還上過新聞,有沒有這麼屌啊!)

好奇心馬上"假鬼六怪"!
1.用是什麼軟體寫的?花多久時間?
2.作者是有多強,還上新聞?


看了作者的部落格後... Xexex's Java 和其他二三事

答案1.本來是用的Rudy on Rails(RoR)作練習,用了二、三天,後來要擴充功能用作者熟悉的 Java 重寫...也花了二、三天...(我一個出勤系統,二、三個月了還沒寫好 = =")

答案2.我只能說比我強多了...光一個 Yahoo hack day Taiwan 優勝! 的事蹟,就給我八假的了...


和 PostgreSQL 有什麼關係...,就是因為看了作者的部落格,才認識 PostgreSQL !

PostgreSQL 常見問題(FAQ)官方網站

PHP與PostgreSQL資料庫 site:雲海漫漫

Web程式設計(PHP,Ajax,PostgreSQL) site:Kiwi格網技術開發站

2009年10月5日 星期一

CONCAT 字串連接

update `tb_name` set `email`=CONCAT(`email`, '@email.com.tw');

更新 tb_name 資料表的 email 欄位,在原本的資料後面加入 @email.com.tw

Google股溝會發音了!




今天去 google 查了一下單字~~~,發現 google 改版了!有發音了!

感覺要幹掉 "Yahoo字典" 了!