今天因為case的關係~ 一早起來就和夥伴們一同搭高鐵上去台北處理相關事務~ (其實都感覺像被招待~ ^^ 哈哈)
重點請注意右上圖~ 台師大的蔣公像居然被戴上了「粉紅大墨鏡」,而且左手拿著「大溪豆干」~ 一整個搞Kuso啊~ 呵~
看到這張圖時... 已經不曉得多久沒運動了~ 我想~ 現在只要打個15分鐘的籃球~ 我想我就需要休息個三天了.. XD
好了~ 又要去忙了~ 要趕緊準備博班的相關事項~ 否則我想我也不需要報名了...
相關資訊
blog.Ring.idv.tw
In General, Enjoy Life
今天因為case的關係~ 一早起來就和夥伴們一同搭高鐵上去台北處理相關事務~ (其實都感覺像被招待~ ^^ 哈哈)
重點請注意右上圖~ 台師大的蔣公像居然被戴上了「粉紅大墨鏡」,而且左手拿著「大溪豆干」~ 一整個搞Kuso啊~ 呵~
看到這張圖時... 已經不曉得多久沒運動了~ 我想~ 現在只要打個15分鐘的籃球~ 我想我就需要休息個三天了.. XD
好了~ 又要去忙了~ 要趕緊準備博班的相關事項~ 否則我想我也不需要報名了...
相關資訊
2008-04-19 22:56:45 | Comments (2)
In Open Source, Linux, PHP, MySQL
來練習一下該如何在Debian Linux下建立一個LAMP的環境~
安裝MySQL
「libmysqlclient15-dev」要編譯「PDO_MYSQL」時會用到,所以就一併安裝
apt-get install mysql-server libmysqlclient15-dev
裝完成功後~ 記得為你的MySQL root帳號設置一下密碼,假設密碼為「1234」:
mysqladmin -u root password 1234
安裝Apache2
apt-get install apache2
裝好後修改一下設定~
vi /etc/apache2/sites-available/default
將「RedirectMatch ^/$ /apache2-default/」這一行註解起來,如下所示:
# RedirectMatch ^/$ /apache2-default/
讓「/」根目錄不要重導到「/var/www/apache2-default」下
安裝PHP5
「php5-dev」有包含「phpize」這個指令~ 待會要編譯PHP extension會用到~ 所以也一併安裝
apt-get install php5 php5-dev
這時候你可以在「/var/www/」下建立一個名為「index.php」,內容如下:
<? phpinfo(); ?>
然後打開你的瀏覽器,輸入「http://localhost/」就可以看到你的PHP相關組態資訊了~
安裝PDO
首先先下載PDO、PDO-MySQL~
wget http://pecl.php.net/get/PDO-1.0.3.tgz wget http://pecl.php.net/get/PDO_MYSQL-1.0.2.tgz
然後解壓縮兩個檔案~
tar zxvf PDO-1.0.3.tgz tar zxvf PDO_MYSQL-1.0.2.tgz
先安裝PDO
cd PDO-1.0.3 phpize ./configure make make install
在安裝PDO_MYSQL,要先修改「config.m4」這個檔案,然後刪除下述四行,在122行。
ifdef([PHP_ADD_EXTENSION_DEP], [ PHP_ADD_EXTENSION_DEP(pdo_mysql, pdo) ])
安裝PDO_MYSQL
cd PDO_MYSQL-1.0.2 phpize ./configure make make install
確認PDO有設置成功
vi /etc/php5/conf.d/pdo.ini
內容應該包含下述兩行:
extension=pdo.so extension=pdo_mysql.so
測試環境
先重新啟動你的「apache2」
/etc/init.d/apache2 restart
然後在「/var/www/」之下,建立一個「test.php」,程式如下:
<?php
set_exception_handler('exception_handler');
$user = 'root';
$pass = '1234';
$db = new PDO('mysql:host=localhost;dbname=mysql', $user, $pass);
foreach ($db->query('SELECT * from user') as $row) {
print_r($row);
}
$db = null;
function exception_handler($e) {
die($e->getMessage() . "\n");
}
?>
成功的話應該就會看見一大堆陣列資訊了 ^^
參考資源
.在 Debian 安裝 Apache + MySQL + PHP
.【安裝筆記】Apache, MySQL, PHP, Subversion Installation on Debian Etch
2008-04-19 00:38:05 | Comments (7)
In Enjoy Life
今天是第一天到工研院上班~ 上圖就是工研院51館的總部~
早上七點多爬起來~ 坐8:20分的客運到清大站~ 約9:45分就到了~ 然後轉搭新竹客運~ 要搭乘「新竹-下公館」的市區公車~ 好久沒坐公車了~ XD
搭乘費用:新台幣32元~ (P.S. 現在連新竹Nova都準備好了收人民幣,所以要強調一下 ^^)
很巧的是~ 剛好在等公車的時候~ 遇到一位要去工研院創意中心面試的人~ XD
中午就去B1的餐廳中心用餐~ 由於B1是一個圓環的建築設計,所以視野相當好~ 採光也佳 ^^ 上圖如果在正中午時~ 那可真是「人滿為患」哈哈~ 好怪的形容~
這是今天中午吃的小簡餐~ 美味嗎?我不曉得~ 反正吃光光就是了 ^^
看到這個「工研市集」就知道~ 我應該是要去合作社滴~ 今天要返家時~ 發覺身上的零錢不夠搭乘公車~ 所以跑下去隨手買個麵包~
後記
今天第一天上班和我的主管建泰(謝謝你的磁鐵書籤^^)先聊一下未來預計要執行的事項及規劃~ 並將我的工作環境先設置好~ 期許我在這可以讓我「肆無忌憚」的發揮 ^^ 又是一個很怪的形容~ 呵~ 反正就是盡力做好每件事就對了~
P.S. 我還蠻喜歡這邊非制式化的辦公環境 ^^b 制式化的環境就會覺得無趣 = =" 會使我覺得毫無生氣盎然的感覺~
2008-04-18 21:14:44 | Comments (3)
In JavaScript
這種跨網域技術的方式最大的優點在於~ 他只需要單方面的向你所想要請求的資源進行溝通即可~
也就是說,我們先前所曾介紹過的「跨網域請求(二) - Flash Plug-In」、「跨網域請求(一) - Cross-Domain Script Tag」都需要雙方遵循著某種條件才能達成進行溝通~
而最簡單的例子不外乎像是Flickr所提供的API~ 它就是採用「Cross-Domain Script Tag」來達成的~
不過利用「Cross Domain Proxy」最大的缺點就在於~ 你需要將所有請求的資源都交由這台「Proxy」委任地去幫你處理~ 這將會造成「IP」被對方的伺服器封鎖,或是負荷過載的情形發生~ 所以這時就需要「CSProxy」才能解決這些問題~ 這部份留待以後再介紹~
我們就直接來看一個簡單的「Corss Domain Proxy」的例子,此例子以「Google Translate」為例:
Translate.php
<?php
require_once "HttpClient.php";
if($_POST)
{
$sentence = $_POST['input'];
$uri = "http://translate.google.com/translate_t";
$data = array('langpair' => 'en|zh-TW', 'h1' => 'en', 'ie' => 'UTF8', 'text' => $sentence);
$request = new HttpClient();
$request->setContent($data);
$request->setUri($uri);
$body = $request->doAction();
$regex = '/<div id=result_box dir=\"ltr\">(.*)<\/div><\/td>/Us';
preg_match($regex,$body,$match);
echo $match[1];
}
?>
HttpClient.php
此程式參考HTTP POST from PHP, without cURL,您可以自行修改並擴充~ 當然也歡迎您再分享您的成果 ^^
<?php
/**
* Date: 2008/04/17
* Shen(http://blog.ring.idv.tw)
*/
class HttpClient
{
private $uri;
private $params;
function __construct()
{
$this->params = array
(
'http' => array
(
'method' => 'POST',
'content' => '',
)
);
}
public function setUri($uri)
{
$this->uri = $uri;
}
public function setContent($content)
{
$this->params['http']['content'] = http_build_query($content);
}
public function doAction()
{
$ctx = stream_context_create($this->params);
$fp = @fopen($this->uri, 'rb', false, $ctx);
if(!$fp)
throw new Exception("Problem: $php_errormsg");
$response = @stream_get_contents($fp);
if ($response === false)
throw new Exception("Problem: $php_errormsg");
return $response;
}
}
?>
2008-04-17 23:50:55 | Add Comment
In Enjoy Life, General
由於前天跑去參加「OSDC.tw 2008」,就在某一個議程中的投影片~ 我居然將「svk:」看成了「svlc」...XDDDD
所以一回到台中的隔天~ 就給它跑去重新配了一附眼鏡~
因為之前那附也已經用了三年多了~ 而度數也悄悄地趁我不注意的時候又給它成長了25度~ 呵~
目前是右眼300度外加閃光50~ 左眼則是325度~ 如果按照這個比例成長的話~ 每三年增加25度~ 所以30年後我的度數應該為...
2008-04-15 17:03:47 | Add Comment