blog.Ring.idv.tw

Articles

台師大蔣公像被Kuso惡搞

今天因為case的關係~ 一早起來就和夥伴們一同搭高鐵上去台北處理相關事務~ (其實都感覺像被招待~ ^^ 哈哈)

重點請注意右上圖~ 台師大的蔣公像居然被戴上了「粉紅大墨鏡」,而且左手拿著「大溪豆干」~ 一整個搞Kuso啊~ 呵~

看到這張圖時... 已經不曉得多久沒運動了~ 我想~ 現在只要打個15分鐘的籃球~ 我想我就需要休息個三天了.. XD

好了~ 又要去忙了~ 要趕緊準備博班的相關事項~ 否則我想我也不需要報名了...

相關資訊

.台師大蔣公像KUSO 戴墨鏡住紀念「糖」

2008-04-19 22:56:45 | Comments (2)

Installing MySQL & Apache2 & PHP & PDO on Debian 4.0

來練習一下該如何在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");
}
?>

成功的話應該就會看見一大堆陣列資訊了 ^^

參考資源

.【PHP】DebianにPDOをインストール

.在 Debian 安裝 Apache + MySQL + PHP

.【安裝筆記】Apache, MySQL, PHP, Subversion Installation on Debian Etch

.Debian下Apache2+Mysql5+Php5的安装配置

2008-04-19 00:38:05 | Comments (7)

我在工研院的第一天

今天是第一天到工研院上班~ 上圖就是工研院51館的總部~

早上七點多爬起來~ 坐8:20分的客運到清大站~ 約9:45分就到了~ 然後轉搭新竹客運~ 要搭乘「新竹-下公館」的市區公車~ 好久沒坐公車了~ XD

搭乘費用:新台幣32元~ (P.S. 現在連新竹Nova都準備好了收人民幣,所以要強調一下 ^^)

很巧的是~ 剛好在等公車的時候~ 遇到一位要去工研院創意中心面試的人~ XD

中午就去B1的餐廳中心用餐~ 由於B1是一個圓環的建築設計,所以視野相當好~ 採光也佳 ^^ 上圖如果在正中午時~ 那可真是「人滿為患」哈哈~ 好怪的形容~

這是今天中午吃的小簡餐~ 美味嗎?我不曉得~ 反正吃光光就是了 ^^

看到這個「工研市集」就知道~ 我應該是要去合作社滴~ 今天要返家時~ 發覺身上的零錢不夠搭乘公車~ 所以跑下去隨手買個麵包~

後記

今天第一天上班和我的主管建泰(謝謝你的磁鐵書籤^^)先聊一下未來預計要執行的事項及規劃~ 並將我的工作環境先設置好~ 期許我在這可以讓我「肆無忌憚」的發揮 ^^ 又是一個很怪的形容~ 呵~ 反正就是盡力做好每件事就對了~

P.S. 我還蠻喜歡這邊非制式化的辦公環境 ^^b 制式化的環境就會覺得無趣 = =" 會使我覺得毫無生氣盎然的感覺~

2008-04-18 21:14:44 | Comments (3)

跨網域請求(三) - Cross Domain Proxy

這種跨網域技術的方式最大的優點在於~ 他只需要單方面的向你所想要請求的資源進行溝通即可~

也就是說,我們先前所曾介紹過的「跨網域請求(二) - 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

「svk:」看成「svlc」... XD

由於前天跑去參加「OSDC.tw 2008」,就在某一個議程中的投影片~ 我居然將「svk:」看成了「svlc」...XDDDD

所以一回到台中的隔天~ 就給它跑去重新配了一附眼鏡~

因為之前那附也已經用了三年多了~ 而度數也悄悄地趁我不注意的時候又給它成長了25度~ 呵~

目前是右眼300度外加閃光50~ 左眼則是325度~ 如果按照這個比例成長的話~ 每三年增加25度~ 所以30年後我的度數應該為...

2008-04-15 17:03:47 | Add Comment

Next Posts~:::~Previous Posts
Copyright (C) Ching-Shen Chen. All rights reserved.

::: 分類 :::

::: 最新文章 :::

::: 最新回應 :::