發表文章

目前顯示的是 2月, 2012的文章

MySQL Tables

轉載自網友的文章( 這裡 ),說明了MySQL各種資料表的特性: 另外一比較MySQL資料表的 文章 也有詳細的比較。 MyISAM :   1. 效能優,預設引擎,為 Mysql最早使用的引擎 2. 使用MyISAM將具備三種 檔案:         .frm (table format)  .MYD(data file)  .MYI(index file) 3. 所有資料是以low byte first儲存,數字型key是以high byte first儲存以利索引 4. 支援大檔 ( > 63 bit) 5. 支援42億(2^32次方) 資料筆數,如果MySQL編譯有加入--with-big-tables 選項可支援多一倍(2^32次方 * 2)資料量 6. 不支援事務處理,例如關聯式 資料庫 7.AUTO_INCREMENT  更快(至少10%),序列的值被刪除之後就不能再利用   InnoDB: 1. 具備Commit, Rollback和當掉復原的事務處理能力,可保護使用者資料 2. 可進行row-level的 鎖定同時維持nonlocking reads,以支援多人同時連線狀態 3. 可支援FOREIGN KEY 4.InnoDB 是專門為了大容 量資料的最大效率進行設計的,CPU效能是其他的disk-based資料庫引擎所不及的 5.InnoDB 儲存他的表和 index在一個表空間中,此表空間可能包含幾個檔(有可能在不同disk partitions),此點和MyISAM不同,MyISAM是一個表一個檔案,這差一點造成InnoDB表個可以非常大,即使是超過系統的file size(例如2GB)都可處理 6. 此為Windows安裝檔的 默認值 7.InnoDB 上可處理存儲超 過1TB的數據,可支援例如平均每秒800次插入/更新的負荷 8. 支援關聯資料庫   InnoDB 使用上的限制:        1. 不要將MyISAM轉成InnoDB table 2. 不要在NFS格式上將 InnoDB設定成data files或log file,檔案容易被鎖住 3. 一個表不能包含超過1000 欄 4. 內部key最大長度為 3500

Node.js on Android

希望早日看到產品∼ :D http://blog.amt.in/nodejs-on-android

Node.js get url parameters...

在Node.js中定義查詢路徑後,常會用到從url取值得問題,下面介紹取值的方式: router中定義網址路徑,並可以用":"的方式帶入動態參數作執行參考 app.get( '/query/:id' , mymodule.querySomething); REST用法取URL參數值: var  param  =  req.params.[key]; 直接取REST方式的值,以上面router來說, http://localhost:3000/query/100 可以取到id這個參數的值[id=100] Parameter用法取URL參數值: var url_parts = url.parse(req.url, true ); var query = url_parts.query; console .log (query); //{Object} console .log (query.xx); //{Object}   取用url參數值,如查詢url為 http://localhost:3000/qyery?pk=1000 ,則可以取到值{pk:1000}

Shell Script Cache PID

Shell中擷取上一個執行指令的PID可以使用: $! 而如果需要擷取執行當下shell本身的PID可以使用:$$ 範例: #!/bin/bash find . -name *.log -print > /tmp/log.txt & # show the find pid echo $!  # show this shell's pid echo $$

Node.js print object to JSON string

Node裡面可以用JSON這個物件的stringify方法作物件的輸出: JSON.stringify(obj) 而如果要show在頁面上 <%= JSON.stringify(obj) %> 或 <%- JSON.stringify(obj) %> 差別在原始碼中,如果使用<%= ... %>則會經過一個轉譯的動作,例如 " 會換成  &quot; 而使用<%- ... %>則不會有任何轉換動作 雖然在頁面上看起來都一樣,但是如果當作REST的輸出,就會有很大的差異喔! ex: <%- JSON.stringify(obj) %> HTML 原始碼: {"prop1":"value1","prop2":5} <%= JSON.stringify(obj) %> HTML 原始碼: { &quot; prop1 &quot; : &quot; value1 &quot; , &quot; prop2 &quot; :5}

Node.js using express

1. 安裝express npm install express 2. 安裝ejs npm install ejs 3. 專案模組複製:此動作是希望將專案中會用到的模組存放在專案中,避免環境的變異造成專案執行上的異常 npm install (於專案資料匣下執行此指令) 4. 建立專案(Project_Name為專案名稱) express Project_Name 執行結果: $ express ExpressPrj    create : ExpressPrj    create : ExpressPrj/package.json    create : ExpressPrj/app.js    create : ExpressPrj/views    create : ExpressPrj/views/layout.jade    create : ExpressPrj/views/index.jade    create : ExpressPrj/routes    create : ExpressPrj/routes/index.js    create : ExpressPrj/public    create : ExpressPrj/public/stylesheets    create : ExpressPrj/public/stylesheets/style.css    create : ExpressPrj/public/javascripts    create : ExpressPrj/public/images    dont forget to install dependencies:    $ cd ExpressPrj && npm install 4. 上面指令完成後,會產生一個以剛剛給定的名稱的資料匣,express預設以jade作為view engine,在此需要修改一些設定方可使用express之ejs作為view engine,目前專案的檔案結構說明如下: app.js: 實際主程式進入點 package.json: 專案定義檔,含一些版本資訊 public: 置放靜態檔案處,如javascript, css, image, html檔案等資料 view: view engine主要

Free CouchDB

分享自SleepNova的兩個免費的Couch Cloud Service: Cloudant http://cloudant.com IrisCouch http://www.iriscouch.com/