地球上的大熊, 巧遇上火星的你

2013-3-4  [經驗分享]MySQL資料快速轉移到另一台主機 - Linux下適用

這方法不需要temp file,可以同時dump,zip,send&import,

問題是不支持resume,如果中途斷線…就需要重來。

@Receiver (先執行這裡,Receiver的nc必須先啟動)

nc -l {port} -v | gzip -d -c | mysql {db} -u{user} -p
@Sender

mysqldump {db} -u{user} -p | gzip | nc {ip of Receiver} {port}
FAQ:

1. nc (netcat) 安裝

yum install nc
2. 查看進度 (估計值)

a)傳送前先到Sender執行下面的sql...並記下要傳的db size是多少。

b)傳送中…在Receiver執行下面的sql...用來查看已import的資料有多大

查看db size SQL:

SELECT table_schema "Data Base Name", sum( data_length + index_length ) / 1024 / 1024
"Data Base Size in MB" FROM information_schema.TABLES GROUP BY table_schema ;
另外,如果你的db是MyISAM你也可以用(如果是innoDB, 則需要開啟innodb_file_per_table)

du -h /var/lib/mysql/{db}
來查看Sender & Receiver現在的data size而估計進度

2013-3-4 04:10 PM - Vic - 12146 觀看 - 6 評論 - 程式開發討論區

2013-2-19  你還在用www嗎?

熊今天將我們的wildcard domain(*.twed2k.org)拿走…

因為google一直index什麼yourshit.twed2k.org, mymama.twed2k.org (瞎說的…不過google真的index了很多連火星人都不懂的sub-domain…真不知道它是怎麼想出來的…)

相信除了google外…全世界的驢友都知道這裡是http://twed2k.org…沒有www…沒有yourshit…xxx...yyy

順便將www.twed2k.org以.htaccess的redirect 301連到twed2k.org…連www就不用了…

想想當初(2005年)沒有用www就是覺得「用來幹嘛?」www發音不容易…又要多打幾個鍵…直接用twed2k.org應該更爽吧~!

你還在用www嗎?如果有的話…請教一下好處是什麼…

2013-2-19 05:05 PM - Vic - 12530 觀看 - 10 評論 - 程式開發討論區

2013-1-5  Redis的一點經驗分享

Redis是memory-based的Key-Value資料庫…屬於NoSQL的一分支…



強項在於極快的寫入與讀取速度 (O(1))…多種儲存資料類型(key, list, hash, set and ordered set)…支援持久化儲存(persistent storage)…也有主從同步(master-slave)

詳情可見wiki:  
http://zh.wikipedia.org/zh-tw/Redis

安裝方面很簡單…在centos/redhat下…用remi的yum repo就有最新版本

windows沒有直接支援…需要第3方的port…詳情見官網
http://redis.io/download

Remi repo 安裝:
Enterprise Linux 6 (with EPEL)

wget http://dl.fedoraproject.org/pub/epel/6/i386/epel-release-6-8.noarch.rpm
wget http://rpms.famillecollet.com/enterprise/remi-release-6.rpm
rpm -Uvh remi-release-6*.rpm epel-release-6*.rpm
Enterprise Linux 5 (with EPEL)
[code]wget http://dl.fedoraproject.org/pub/epel/5/i386/epel-release-5-4.noarch.rpm
wget http://rpms.famill...

2013-1-5 10:56 PM - Vic - 7034 觀看 - 5 評論 - 程式開發討論區

2012-6-5  將Google 自訂搜尋(custom search)加到自己網站(使用原有的search box和result div)

有關如何在自己的網站使用Google 自訂搜尋(custom search)…熊小就不在這裡詳細說明了。(google就有很多)

熊小這次主要想分享一些特定的情況:
1。使用自己的search box &
2.搜尋結果放入同一頁的另一div內

申請及設定好自訂搜尋後…按以下的步驟來做:

自己的search box…例如

<div id="form-search">       
<input type="text" id="q" />
<input type="button" id="btn-seach" value="Search" />
</div>
在它後面加上custom search的api

<script src="http://www.google.com/jsapi" type="text/javascript"></script>
<script type="text/javascript">
google.load('search', '1', {language : 'en', style : google.loader.themes.ESPRESSO});
</script>
style:搜尋elements的外觀風格…ESPRESSO是google提供的其中一個…另外…也可指定css,如:

style : src="http://yoursite.com/css/cse-espresso.css"
加上event…這裡用以jquery來做示範…
[code]$('#btn-search').click(function() {
var query = $('#q').val();
va...

2012-6-5 08:36 PM - Vic - 8765 觀看 - 0 評論 - 程式開發討論區

2012-5-24  [問題]SEO經驗分享

熊小最近要對一個網站做SEO…但自問懂得很少。

想請問各位大大有沒有經驗分享…那裡有好的資料可以看…

先謝謝各位了~

2012-5-24 01:40 PM - Vic - 11061 觀看 - 12 評論 - 程式開發討論區

2012-5-18  TWed2k CodeBank(源碼分享P2P)

話說熊小想找一個可以收集及管理程式源碼的資料庫…經多位驢友的推薦介紹後…發現其中一個不單可以自己爽…還可以大家一齊爽。

為保持我們一直以來的share精神…希望大家也可以分享自己認為好用的code…助人助己。 也許以後可以用來改進我們的家。

片段(snippet)管理是文本編輯器一項受歡迎的功能,諸如軟體開發人員,經常要求從目錄重複輸入文字(像是原始碼或樣板文件)。由於每次輸入的內容變化相當輕微(或者完全相同),因此可以把可重複使用的程式碼分割儲存,方便除錯與加速開發...from Wiki



名稱:CodeBank
官網:http://programs.edchipman.ca/applications/code-bank/

Client安裝:
需要Adobe AIR 2.5
OK後到官網左邊的flash下載並安裝client

安裝後就可以在你的機子上用…...

2012-5-18 11:17 PM - Vic - 54109 觀看 - 53 評論 - 程式開發討論區

2011-5-7  [思考]使用/不使用framework?

熊小這幾天在研究使用php framework(比較了CakePHP, Zend, symfony,Yii, CodeIgniter)…最後決定使用其中號稱最快的CodeIgniter...它不難…基本使用花一點點時間也可以學會。

有mvc…有helper class…好像蠻好的。就決定用下來…

剛才正式coding時…發現一些很簡單的東西也要call extra function或去了解framework的構架

例如在header...加入css檔

不用framework…自己寫就直接
<link rel="stylesheet" type="text/css" media="all" href="css/xxx.css" />

但在使用codeigniter的情況下

如果沒有使用mod_rewrite
1. css放到web_root, 那不是跟views分開了?

如果有使用mod_rewrite來hide inde.php(front controller)
1. 修改.htaccess容許css folder
2. 於你的controller使用helper,$this->load->helper('url');
3. 於header page的css加到helper的base_url()
<link rel="stylesheet" type="text/css" media="all" href="<?=base_url()?>css/xxx.css" />

嘩…我其實只想加css到header就要弄懂這樣多background logic…

另一個問題是這些framework大部份都使用front controller...每個request都必須經過這controller再分配到真正的re...

2011-5-7 10:28 AM - Vic - 11437 觀看 - 6 評論 - 程式開發討論區

2011-4-19  有人用過Git來做程式碼管理嗎?

之前都是用svn…但git可以分散式管理…也就是commit,log等都可以離線進行。

而且分支功能蠻強的…有朋友用過嗎?請分享一下經驗~

==short-cut==
有圖有真相
Git+ssh @centos 安裝步驟+Windows client
TortoiseGit (windows client)
Mac Git Client

2011-4-19 04:06 PM - Vic - 51381 觀看 - 31 評論 - 程式開發討論區

2011-4-5  [分享]簡單優化php於Apache存取效率

剛才在看一個有關php的talk slide時,發現一個簡單優化php於Apache存取效率的方法。

也許有朋友已經很早就知道了~ 不過熊小真的沒想過這有分別…(果然是要多多看多多學)

於apache setting file內 (e.g. /etc/httpd/conf/httpd.conf)


<Directory /var/www>
    DirectoryIndex index.htm index.html
</Directory>


改成
<Directory /var/www>
    DirectoryIndex index.php index.htm index.html
</Directory>

重點是index.php必須加到最前 (熊小之前是加到htm與html之間), 如果是cgi, pl其實都一樣,加到最前。令apache最先存取。


原理
strace your web server process
[box=#ffffcc]% /usr/sbin/apache2 -X &
[1] 16367
(hit page a few times to warm up caches)
% strace -p 16367 -o sys1.txt
Process 16367 attached - interrupt to quit
(hit page once)
Process 16367 detached
% grep stat sys1.txt | grep -v fstat ...

2011-4-5 10:34 PM - Vic - 9366 觀看 - 2 評論 - 程式開發討論區

2011-3-17  Cache (APC/Memcached) for PHP

熊小最近在看有關一些大型網站如何運作的文章...發現有一些同通點。

1. Cache
-將資料存放於RAM...以減少db的查詢...比較常用的是memcached(user data cache, 支援跨主機)...APC(Opcode + user data cache, 不過只限同一主機)

2. NoSQL
-取代MySQL等Relational DB...(內容後補)

3. CDN
-Content Delivery Network...也就是用其他網絡供應商放置一些用戶存取的檔案...分散處理 (內容後補)


這次主要關於cache方面...雖然discuz有一些cache的功能...不過只限於file based...如要加快存取速度...以APC/memcached等memory cache效果更好。

論壇一直有用APC做Opcode caching...不過user data就沒試過。


本次目標是cache db query...以減少對db query的次數。

1. 安裝APC for pecl (最新的stable是3.1.6)
2. 查找論壇那些部份可以做caching
3. 利用apc_store / apc_fetch 來存取cache data

以下一條discuz常見的query

引用:
$query = $db->query("SELECT * FROM {$tablepre}threads t WHERE tid='$tid' AND displayorder>='0'");
$var = $db->fetch_array($query);


修改成APC版..用一個簡單function,  加到include/global.func....

2011-3-17 11:08 PM - Vic - 12784 觀看 - 2 評論 - 程式開發討論區