在 Ubuntu 安裝或升級 Git 版本控制的3種方法

Git 是目前還蠻 popular 的一套版本控制軟體,很多公司及大小型專案都用 g是it 來控管流程,或者是搭配 redmine 專案管理,然而 git 大家都會想到 github 這個儲存空間,免費註冊就有 300MB 的空間讓大家使用,如果對於 git 的使用方式,我推薦一個非常好的網站,就 git wiki,這網站不只是教你 git 指令應用,還收集了很多不錯的網站,底下介紹三種 git 的安裝方式:

1. Ubuntu 底下就用 apt-get 指令

# git core
apt-get -y install git-core git-doc git-gui gitk
如果你有用 Ubuntu 介面,就可以安裝 git-gui 跟 gitk 還不錯

2. 下載 Git Source 打包檔,並且編譯

apt-get install libcurl4-gnutls-dev libexpat1-dev gettext libz-dev libssl-dev
wget http://kernel.org/pub/software/scm/git/git-1.7.5.tar.gz
tar -zxvf git-1.7.5.tar.gz
cd git-1.7.5
make prefix=/usr/local all
sudo make prefix=/usr/local install

3. 用 git clone 來安裝

sudo apt-get install libcurl4-gnutls-dev libexpat1-dev gettext libz-dev libssl-dev
git clone git://git.kernel.org/pub/scm/git/git.git
cd git
git checkout v1.7.5
make prefix=/usr/local all
sudo make prefix=/usr/local install
可以參考 http://git.kernel.org/?p=git/git.git;a=tags 來選擇 checkout 編譯版本。 如果很要求版本最新的話,個人推薦方法 3 啦,另外推薦 A Visual Git Reference 這圖文並茂的網站,建議可以先看這裡的圖來瞭解 git 是如何運作的,這樣比較好上手喔 ^^

解決在 Ubuntu Terminal 底下 git diff 沒有輸出結果 10.10

自從把筆電安裝成 Ubuntu 10.10 maverick 後,把所有 github 上面程式碼都用 git clone 下來,最近遇到一個非常奇怪的問題,那就是修改檔案之後,正常來講,可以用 git diff 來查看修改過的程式碼,但是非常奇怪的事情就發生了,『完全沒有輸出』,後來在網路上找到一篇解法 git diff shows no output,原來是 $LESS 這個環境變數搞的鬼,其實可以用 git diff | cat 方式看到 diff 結果。 我們打開 .bashrc 發現底下設定
export EDITOR="vim"
export GIT_PAGER="less"
export LESS="-XEfmrSw"
export PAGER="most"
重點就在於 $LESS 必須加上 -X,並且請裝上 most 這指令
apt-get install most

你不可不知的 JSON 基本介紹

還不知道 JSON 是什麼嘛?本篇教學會帶您瞭解 JSON 在網站上的應用,以及運作流程跟使用 PHPJavaScript 來處理 JSON。假如您現在的工作就是網站設計師,相信一定聽過 JSON,但是什麼是 JSON,它能夠做什麼,及您能透過它在網站上做到哪些事情呢?

透過本篇介紹您可以瞭解基本的 JSON,底下會列出本篇會提到的重點:

  • 什麼是 JSON
  • JSON 應用在哪些地方
  • 如何建立 JSON 字串
  • 一個簡單的 JSON 範例
  • JSON vs XML
  • 如何透過 PHP 及 JavaScript 使用 JSON

什麼是 JSON

JSON 是個以純文字為基底去儲存和傳送簡單結構資料,你可以透過特定的格式去儲存任何資料(字串,數字,陣列,物件),也可以透過物件或陣列來傳送較複雜的資料。一旦建立了您的 JSON 資料,就可以非常簡單的跟其他程式溝通或交換資料,因為 JSON 就只是純文字個格式。

JSON 的優點如下:

  • 相容性高
  • 格式容易瞭解,閱讀及修改方便
  • 支援許多資料格式 (number,string,booleans,nulls,array,associative array)
  • 許多程式都支援函式庫讀取或修改 JSON 資料
Continue reading “你不可不知的 JSON 基本介紹”

CodeIgniter 2.0.X MVC 架構介紹

CodeIgniter
這次受到 OSSF::自由軟體鑄造場(Open Source Software Foundry) 邀請在高雄講 CodeIgniter 2.0.X 系列講座,一整天的課程,可以參考 KaLUG 社群技術分享工作坊 – 快速學習 PHP Framework – CodeIgniter 2.0,2009 年我也是講了一場介紹 CodeIgniter 1.7.X 講座,這次針對於 CodeIgniter 2.0.X 做了詳細介紹,及我們該如何轉換原本網站程式到 CI 上面,學員雖然來的不多,但是我相信大家都有學到這次講課的精華,就是 CodeIgniter MVC 架構,跟如何應用 Controller Model Views 基礎用法,看到大家都很認真學習,還有學員從雲科大到高雄,真的太令我感動了,希望這次議程沒有讓學員們失望,底下附上我的簡報及影音檔: Continue reading “CodeIgniter 2.0.X MVC 架構介紹”

如何建立 Ram Disk 在 Ubuntu 上面

Update: 此篇文章建立 RAM DISK 還是用原來 3G 記憶體,而不是用 4G 裡面的 1G,感謝威阿提醒修正 之前拜了一台筆電 Toshiba Portege R700,拿到電腦馬上二話不說,灌成 Ubuntu 10.10 32 位元,但是筆電有 4G 的記憶體,32位元只能支援到 3G,所以剩下 1G 就拿來當作是 Ram Disk,反正不用白不用,可以把臨時要用且關機不需要的檔案或程式丟到 RAM DISK,如果把 FireFox 的 cache 資料放在裡面應該會蠻快的,底下紀錄如何開機就直接掛上 1G 的 Ram Disk。 兩個步驟就可以了:
mkdir -p /media/ramdisk
mount -t tmpfs -o size=1024M tmpfs /media/ramdisk
把上面寫到 /etc/rc.local 檔案,這樣開機就會自動把 RAM Disk 掛上去。

CodeIgniter 2.0.2 Released

CodeIgniter
很高興看到 CodeIgniter 又推出新版 2.0.2 Released,這次升級最主要是針對安全性的漏洞,以及一些 bug 修正,升級步驟也非常簡單,可以參考 Upgrading from 2.0.1 to 2.0.2,只要把 Core 核心檔案換掉,還有如果在程式碼有載入 Security Library 的地方全部取消,看底下: 舉例 Example:
$this->load->library("security");
如果程式碼有用到上面部份,請將其拿掉,因為現在系統已經將 Security Library 加入核心一部分提高整個網站安全性。如果要想知道 2.0.2 做了哪些修正,可以參考 Change log

用 cpanm 安裝 Perl 相依性模組

最近在寫 Perl 爬蟲程式,需要用到短網址 Bitly 的 API,所以找了 WWW::Shorten::Bitly,本篇紀錄安裝使用 cpanm 這 Perl 的小工具,此工具不需要任何設定,只要下載到 bin 目錄就可以正成使用了。由於 Ubuntu 沒有包好的 dpkg 可以用,所以才想到用 cpanm。

安裝 cpanm

mkdir ~/bin
wget --no-check-certificate http://bit.ly/cpanm -O ~/bin/cpanm
chmod +x ~/bin/cpanm
或者可以直接安裝到 /usr/local/bin/ 底下,這樣不用在重新把 PATH 改寫
sudo cp ~/bin/cpanm /usr/local/bin/

使用 cpanm

# 安裝 WWW::Shorten::Bitly
cpanm WWW::Shorten::Bitly
# 安裝 distribution path
cpanm MIYAGAWA/Plack-0.99_05.tar.gz
# 從 URL 安裝
cpanm http://example.org/LDS/CGI.pm-3.20.tar.gz
# 安裝本機檔案
cpanm ~/dists/MyCompany-Enterprise-1.00.tar.gz
另外介紹幾個 option –sudo 直接用 sudo 方式安裝,也就是 root 啦 –verbose 檢查安裝過程 –notest 不需要測試 –force 強制安裝 –reinstall 重新安裝,假如已經有安裝過的軟體,一樣會 reinstall –installdeps 只安裝相依性軟體 非常簡單吧,這是懶人做法,如果在 FreeBSD 直接安裝 ports 就好。

CSS 3 圓角 border-radius 介紹

目前各家瀏覽器分別開始支援 CSS3,現在 MS 瀏覽器系列只有 IE 9 開始支援 CSS3,所以大家還是趕快升級到 IE 9.0,或者是使用 Google ChromeFireFox 4.0 吧,以前還沒有 CSS 3 的時候,圓角功能都是靠 jQuery Plugin: Corner,有了 CSS3 大家就不用這麼麻煩了,一行就可以搞定喔。

CSS Border Radius Generator

大家可以參考 CSS Border Radius Generator 這網站,只要輸入4個角所需要的圓角半徑,就會自動產生 CSS 3 的語法喔
/* support Safari, Chrome */
-webkit-border-radius: 5px;
/* support firefox */
-moz-border-radius: 5px;
border-radius: 5px;
也可以個別設定角度 右上圓角:
border-topright-radius: 5px; 
-moz-border-topright-radius: 5px; 
-webkit-border-topright-radius: 5px;
左上圓角:
border-topleft-radius: 5px; 
-moz-border-topleft-radius: 5px; 
-webkit-border-topleft-radius: 5px;
右下圓角:
border-bottomright-radius: 5px; 
-moz-border-bottomright-radius: 5px; 
-webkit-border-bottomright-radius: 5px;
左下圓角:
border-bottomleft-radius: 5px; 
-moz-border-bottomleft-radius: 5px; 
-webkit-border-bottomleft-radius: 5px;
非常簡單,大家以後不用再自己做圓角的圖,CSS3 一行搞定啦 Ref: css圓角(border-radius)介紹 螞蟻的 CSS border-radius developer mozilla border-radius