2013年11月25日 星期一

解決 Eclipse 在 Ubuntu OS 下, 編譯執行程式後無法編輯程式碼的問題。

最近桌機重灌 Ubuntu 12.04 LTS 版, 安裝了 Eclipse Kepler 版本, 在使用的過程中,
發現執行(Run)編輯完的程式碼之後, 竟然無法修改程式了, 按鍵盤上的任何鍵都沒用,
只有先點其他執行中的應用程式(例如: firefox), 再點回 Eclipse 後, 才能繼續編輯修改
程式, 這讓整個工作效率很差, Google 了一下, 原來是跟我使用的中文輸入法管理程式
SCIM 有關。
解決方法:
在程式編輯視窗點選滑鼠的右鍵, 選最下面的 Input Methods 後, 點選 SCIM Bridge
Input Method 後, 問題就解決了。

解決方法來自: http://ubuntuforums.org/showthread.php?t=1513305

2013年11月20日 星期三

在 Eclipse 中使用 Subversive 完成版本控制的作業 (二)

前一篇介紹如何 import 原始碼及資料到我們 SVN 的 Repository, 這篇我們繼續介紹其他
開發流程中會用到的 SVN 作業。
使用版本控制主要的原因是在於多人作業, 如果沒有一個系統來協助處理一些工作, 很容易
造成資料不一致或衝突的問題, 因此一旦程式碼/資料進入 SVN 的 Repository 後, 所有的人
都必須 checkout (co) 一份程式碼/資料到本機端工作, 工作到一個段落後再 checkin(在 SVN
中專有名詞是 commit 或 ci) 進 Repository。
所以我們先看看如何第一次 checkout 一份程式碼到 local 的 Eclipse 中, 首先從 Eclipse 中,
選單點選 File -> New -> Other...
,

2013年11月19日 星期二

在 Eclipse 中使用 Subversive 完成版本控制的作業 (一)

在前一篇介紹了在 Eclipse 中安裝 Subversive 詳見此篇, 接著我們要介紹日常在開發
專案中, 會使用到的一些作業。
首先我們看一下一個完整的開發流程會有哪些版本控制的作業:

2013年11月5日 星期二

安裝 Eclipse 套件 Subversive

在不同的作業系統中有眾多的 Subversion 用戶端軟體, Windows 上最常被使用的是
 ToroiseSVN,它是一個與 Windows 裡的檔案管理員整合的 SVN client, Linux 裡可以
使用的 GUI SVN client 有RapidSVN

但如果你平時就是使用像 Eclipse 這類的整合開發環境 (IDE) 當然會希望能把版本控制
軟體能與我們的開發環境整合在一起, 所以在 Eclipse 裡也有兩套 SVN 的前端軟體,
SubversiveSubclipse, Subversive 是 Eclipse官方所支持的 Subversion 前端軟體,
而 Subclipse 則是Subversion 開發維護的主要支持廠商 CollabNet 所開發的 Eclipse
plugin; 兩者都有很多的支持者。

我們這次要跟大家介紹的是 Subversive 的安裝與使用。
首先在 Eclipse 的工具列 Help -> Install New Software, 如下圖:

2013年11月4日 星期一

Subversion 設定 Repository 的 Access Control

之前有寫關於 Subversion 基本的設定, 按照前一篇的設定, 有帳號就可以存取所有的
Repository, 這對真實的環境使用上是有問題的, 因為大部分的情況是, 不同專案使用的
repository 有不同專案成員, 所以會有不同權限, 開發人員可以存取整個或部分專案內容, QA/QC
人員只能讀取專案內容, 不能寫入; 這篇就是要跟大家介紹 Subversion 的 Access Control。
在 Subversion 中要使用 Access Control 必須啟動 Apache 裡的模組 authz_svn, 指令如下:
sudo a2enmod authz_svn


2013年11月3日 星期日

安裝 Subversion server 在 Raspberry Pi (OS: Raspbian)

由於要把開發的一些程式以版本控制系統管理, 如果安裝版本控制系統在本機上, 萬一系統毀了
那一切資料都會毀了, 家裡有一臺 Raspberry Pi 由於耗電不高, 因此會一直開機, 所以打算安裝
版本控制系統 Subversion 在上面, Open Source 中版本控制有好幾種選擇從比較早就被開發
使用的 CVS 到近幾年流行的 Git 都有許多的擁護者, 而我因為對 Subversion (SVN) 比較熟,
因此選用 Subversion。

2013年10月31日 星期四

安裝 Fritzing 於 Linux Mint(Ubuntu)

Fritzing 是一套免費開源的電子電路設計軟體, 他提供了許多現成元件可以直接使用, 如
Raspberry pi, Arduino, 電阻, LED 等等, 可以很容易用視覺化的方式開發我們電子產品
的原型。

2013年9月7日 星期六

用 Eclipse 開發 Yii Web Application (九)

在網頁程式設計中, 除了Radio Button(選項按鈕)及 Dropdown List(下拉式選單) 可以幫助使用者輸入規範的格式外, 還有一個常用的就是 Check Box(選取方塊), 這裡我們就要跟大家介紹
 Yii  裡面如何使用 CheckBoxList。
基本上 Check Box 與 Radio Button 十分相似, 都是用點選方式輸入資料, 但兩者最大差別是
Radio Button 是單選, 而 Check Box 是允許複選的。

2013年9月4日 星期三

用 Eclipse 開發 Yii Web Application (八)

之前我們曾經提過這裡的資料表(tables) courses, students 與 teachers 都可以用 Gii 的 CRUD
自動幫我們把 controller 與 views 建立, 但 classes 卻沒辦法, 原因為何呢?
因為 courses, students 與 teachers 都是單一主鍵(primary key) 但 classes 是複合主鍵
(composite primary key), Gii CRUD(或 yiic) 沒那麼聰明可以幫我們把架構都建立好。
解決方法有兩個:

2013年9月1日 星期日

用 Eclipse 開發 Yii Web Application (七)

上次我們利用 dropdownlist 元件幫我們製作網頁上的下拉選單, 這是可以讓我們避免使用者亂
輸入資料的好方法。
這次我們介紹一個也常常被利用在避免使用者錯誤輸入資料的元件, Radio Button。
我們用 Create Students 來說明一下如何使用 Radio Button。
來看一下 views/students/create.php 的內容為何?
可以看到實際要新增學生資料要到另一個網頁 views/students/_form.php

2013年8月21日 星期三

用 Eclipse 開發 Yii Web Application (六)

利用 Gii 可以幫我們把網站的基本架構(scaffold)建構起來, 但我們還是要去調整一下以符合
網站的易用性。
這次我們來調整 Courses 的 Create 網頁, 我們可以在網頁上直接輸入
http://localhost/MyWebSite/index.php?r=courses/create 來開啓網頁。


2013年8月18日 星期日

用 Eclipse 開發 Yii Web Application (五)

雖然 CListView 顯示了我們對應資料庫的資料, 但我不怎麼喜歡他的版面配置,因此我們來改造一下我們 Courses 中 view 裡面的 index.php。
我們將 CListView 換成  CGridView
內容很簡單:
$this->widget('zii.widgets.grid.CGridView', array(
    'dataProvider'=>$dataProvider,
));
參數很簡單, 只要告訴 CGridView 之前 CActiveDataProvider 產生物件的變數名稱即可。 
打開瀏覽器看看變成什麼樣。

用 Eclipse 開發 Yii Web Application (四)

上次用 Gii 的CRUD Generator 幫我們建立了一些基本的框架, 我們來看一下Gii 建立的程式碼是如何運作的。
記得我們要連上 Courses 的網址是 http://localhost/MyWebSite/index.php?r=courses 其中 r=courses 會把我們導向 controllers/CoursesController.php 由於後面沒有參數了因此預設等同於 http://localhost/MyWebSite/index.php?r=courses/index 也就是會由 CoursesController.php 裡面的
public function actionIndex() 來處理我們的請求。

2013年8月17日 星期六

用 Eclipse 開發 Yii Web Application (三)

由於我們已經將 Gii 設定好了, 我們就直接用 Gii 來幫我們建立 model/controller/view
首先建立 model, 以瀏覽器開啓 http://localhost/MyWebSite/index.php?r=gii
登入後, 點選左邊的 Model Generator, 並在 Table Name 的欄位選我們之前建立的 Table,
例如我們輸入 courses, 這時下面的 Model Class 就會自動幫我們填入 Courses, 如果你想用其他名字也可以自行更改。

2013年7月10日 星期三

用 Eclipse 開發 Yii Web Application (二)

上篇我們安裝了 Eclipse 及 Yiiclipse, 並用 Yiiclipse 與 Yiic 將我們網站的主架構建立好。接下來我們要讓我們網站能夠使用資料庫, 我們使用一個簡單的修課系統來說明我們後面的 Yii 介紹, 我建立了一個資料庫名為 school, 下圖是簡單的 ER Diagram,

2013年7月2日 星期二

2013年6月30日 星期日

增進你的工作效率使用 Pomodoro Technique

在偶然的機會在網路上看到增進工作效率的方法 Pomodoro Technique, 他的方法基本上原理很簡單, 實行上也不太困難, 你可以看看上 Youtube 上很多介紹 Pomodoro Technique 的影片就可以知道, 這個方法十分受到歡迎, 其中我認為介紹的最好的是這個只有 2:23秒的影片, 連結如下:
兩分半鐘了解 Pomodoro Technique

看完介紹你應該知道什麼是 Pomodoro 了吧, 其實 Pomodoro 就是義大利文的蕃茄, 也因為有人把計時器做成蕃茄的樣子, 如下圖

2013年6月28日 星期五

用 Eclipse 開發 Yii Web Application (ㄧ)

如果安裝了 Yiiclipse 我們就可以用 Eclipse 來開發我們的 Yii Web Application 了
首先從 Eclipse 選單中 File -> New -> Other...

2013年6月26日 星期三

用 Eclipse 開發 Yii Web Application(安裝篇)

如果沒有安裝 Eclipse 請先下載 Eclipse 下載位址
我是下載 Eclipse Classic 4.2.2, 下載後解壓縮後至 eclipse 目錄下執行 eclipse 即可,

接下來安裝 Eclipse 的 Yii plugin - Yiiclipse

從 Eclipse 上方選單 Help -> Install New Software

2013年6月13日 星期四

Yii 安裝

這裡以 ubuntu 為安裝之系統
1. 下載 Yii http://www.yiiframework.com/download/
    目前的版本為 yii-1.1.13.e9e4a0 有 .tar.gz 或 .zip 的版本可以下載安裝, 我下載的是 yii-1.1.13.e9e4a0.tar.gz (注意: 此版本需要 php > 5.1.0 版本)
2. 解壓縮至你要安裝的目錄中, 本例中為 /usr/local
   tar zxvf yii-1.1.13.e9e4a0.tar.gz -C /usr/local
3. 由於要檢查 yii 相關元件是否正確安裝, 要 link 至 apache 可以讀到的目錄, 檢查完後可以移除連結
    ln -s /usr/local/yii-1.1.13.e9e4a0 /var/www/yii