現今除非是已熟悉 command 環境下作業的人,不然大多數 programmer 還是習慣
用個圖形介面的編輯器/IDE,來協助程式撰寫,而如果在某些情況下,
不得不用 unix-like 系統下的 vi來編修程式,也可以考慮這個方便的外掛,
相信使用上會更加便利。
當然,如果是想摸熟 vi編輯器的人,更是不能錯過的一項利器。
操作說明:,輸入`Tlist',左邊就會出現該程式裡的class、function、variable列表,
藉由 highlight focus可以快速跳到該程式片段,
快速鍵 ctrl-w h 與 ctrl-w l 用來切換 taglist `左列對照視窗'與`編輯視窗'。
使用畫面快照
留意使用前要先裝 ctags (/usr/ports/devel/ctags/)
安裝與設定
http://blog.elleryq.idv.tw/2006/05/vimtaglist.html
http://blog.johnpupu.tw/?p=125
更詳盡的操作請參考
2008年3月25日 星期二
Screen Tool in Unix-Like
現在大多數電腦使用者在作業時,通常會使用多重視窗/分頁的方式進行操作,
比如逛網頁會使用 Firefox 或 IE7 的 multi-Tabs 功能,
上 B會使用 PCman、KKman等軟體方便登入多個站台,
那麼假如我們是要使用工作站,為了安全起見通常是使用支援 ssh 的 putty 工具,
那在這終端機上同樣想要操作多個視窗,有什麼方便的機制呢?
解決方案是使用`Screen',command中下了這個指令就可以使用了
#常用上手指令 ( ^: ctrl)
^a+c : Creat new screen
^a+z : 丟到背景 //fg: 回前景
^a+a : switch screen between two windows
^a+n : next screen
^a+x : lock screen
^a+0 1 2 .. n : 指定視窗
exit : close window
Tips: 常用指令的可以加到 .cshrc ,讓自己的熱鍵更順手
#參考資料
Wiki解說
unix 上 screen 指令用法
screen 教學
比如逛網頁會使用 Firefox 或 IE7 的 multi-Tabs 功能,
上 B會使用 PCman、KKman等軟體方便登入多個站台,
那麼假如我們是要使用工作站,為了安全起見通常是使用支援 ssh 的 putty 工具,
那在這終端機上同樣想要操作多個視窗,有什麼方便的機制呢?
解決方案是使用`Screen',command中下了這個指令就可以使用了
#常用上手指令 ( ^: ctrl)
^a+c : Creat new screen
^a+z : 丟到背景 //fg: 回前景
^a+a : switch screen between two windows
^a+n : next screen
^a+x : lock screen
^a+0 1 2 .. n : 指定視窗
exit : close window
Tips: 常用指令的可以加到 .cshrc ,讓自己的熱鍵更順手
#參考資料
Wiki解說
unix 上 screen 指令用法
screen 教學
2008年3月5日 星期三
從 ASP.NET 3.5看樣板抽換
是說之前有一段時間沒碰 ASP.NET 了,所以在想網頁架構時,不曉得 .NET這邊是怎麼做 MVC的,找了一些資料來看目前能做到的事。
仔細想想,中文字面上的樣板(Template)抽換有兩種含意,第一個是網頁呈現(View)與後端資料處理的分離,是指在變更版面設計時,其他程式片段(程式邏輯,連接資料)不太需要更動的設計理念,也就是廣泛稱之 MVC的架構,而這個其實在 ASP.NET 3.5已經有支援了!裡面的影片展示蠻詳細的。
另一個層面,則只是探討網頁版面的風格樣式不同(圖片顏色大小等),實做上的解決方案其實只要透過 ASP.NET Themes and Skins就可以快速切換佈景主題了。
延伸閱讀:
ASP.NET MVC Framework(微軟Web平台的總經理Scott Gu Blog的教學文件)
ASP.NET Themes and Skins 範例
ASP.NET MVC + jQuery + Newtonsoft.Json 快樂的AJAX
仔細想想,中文字面上的樣板(Template)抽換有兩種含意,第一個是網頁呈現(View)與後端資料處理的分離,是指在變更版面設計時,其他程式片段(程式邏輯,連接資料)不太需要更動的設計理念,也就是廣泛稱之 MVC的架構,而這個其實在 ASP.NET 3.5已經有支援了!裡面的影片展示蠻詳細的。
另一個層面,則只是探討網頁版面的風格樣式不同(圖片顏色大小等),實做上的解決方案其實只要透過 ASP.NET Themes and Skins就可以快速切換佈景主題了。
延伸閱讀:
ASP.NET MVC Framework(微軟Web平台的總經理Scott Gu Blog的教學文件)
ASP.NET Themes and Skins 範例
ASP.NET MVC + jQuery + Newtonsoft.Json 快樂的AJAX
Visual Studio .Net 2008 新功能與各版本差異
vs.net 2005都還沒摸熟, 2008就出了,學習的速度真是比不上軟體開發的進化呀。
可以先看 從 2003到 2005的演化,文中指出 Express 版本適合給業餘或是初試 .NET 開發環境的人上手。其次也提到為了團隊開發的方便,微軟也出了 Team Foundation Server,這在多人開發的專案上有其方便性。其他細節功能請自行參閱囉。
至於 2008的新版本,請看 IThome的介紹預覽Visual Studio 2008新功能,個人覺得蠻詳盡的!在 JavaScript(除錯、Intellisense機制)跟 CSS(WYSIWYG Editor Tool、Intellisense機制)方面,對web programmer都是很方便的。
這篇文章有一些其他快照跟說明,與VS 2008 Web Designer and CSS Support
延伸閱讀:
關於Visual Studio 2005的版本
Visual Studio 2008 Product Comparison官網很詳盡的列表
可以先看 從 2003到 2005的演化,文中指出 Express 版本適合給業餘或是初試 .NET 開發環境的人上手。其次也提到為了團隊開發的方便,微軟也出了 Team Foundation Server,這在多人開發的專案上有其方便性。其他細節功能請自行參閱囉。
至於 2008的新版本,請看 IThome的介紹預覽Visual Studio 2008新功能,個人覺得蠻詳盡的!在 JavaScript(除錯、Intellisense機制)跟 CSS(WYSIWYG Editor Tool、Intellisense機制)方面,對web programmer都是很方便的。
這篇文章有一些其他快照跟說明,與VS 2008 Web Designer and CSS Support
延伸閱讀:
關於Visual Studio 2005的版本
Visual Studio 2008 Product Comparison官網很詳盡的列表
由拖曳自訂個人網頁區塊
最常見的大概就是 iGoogle跟 Windows Live,還有包括我目前服務的愛政大系統(樓下同仁的作品^^)。
這功能似乎是 web2.0 網站的風格特色之一,由於最近要製作老師樣板網頁,所以也來研究一下怎麼實做。
一開始找資料時,先是看到 .Net dragPanel 的作法-(指定TargetControlID),不過其實這不是我要的。
翻書完才看到應該是要用 Web Parts 的方式來實做,看完以下的教學相信就會知道怎麼做了
[video]Utilize Web Parts and Personalization?
[PDF]個人化網頁
透過 WebPartManager 核心控制項,設定為 Design 模式即可讓使用者在欲自訂的版面上排版。
以下是找資料時看到的,以後做其他東西或許有幫助。
延伸閱讀:
用Javascript 實做拖、拉、放這個自由拖曳的範例,還有貼齊的效果
JavaScript: DHTML API,Drag & Drop for Images and Layers
後面這個除了自由拖曳,還可以按 shift 來縮放圖片元件,是蠻有趣的應用
這功能似乎是 web2.0 網站的風格特色之一,由於最近要製作老師樣板網頁,所以也來研究一下怎麼實做。
一開始找資料時,先是看到 .Net dragPanel 的作法-(指定TargetControlID),不過其實這不是我要的。
翻書完才看到應該是要用 Web Parts 的方式來實做,看完以下的教學相信就會知道怎麼做了
[video]Utilize Web Parts and Personalization?
[PDF]個人化網頁
透過 WebPartManager 核心控制項,設定為 Design 模式即可讓使用者在欲自訂的版面上排版。
以下是找資料時看到的,以後做其他東西或許有幫助。
延伸閱讀:
用Javascript 實做拖、拉、放這個自由拖曳的範例,還有貼齊的效果
JavaScript: DHTML API,Drag & Drop for Images and Layers
後面這個除了自由拖曳,還可以按 shift 來縮放圖片元件,是蠻有趣的應用
2008年2月23日 星期六
[政大課程] 200802 WinForm教學
前言:是計中的同仁開的課程,算是以開發新的校務系統所用的技術架構為例,
一方面算是學自己不會的技術,一方面也了解校務系統的開發模式與流程,
在講課中藉由同仁的提問,也可以體會到設計一套大系統所需要做的前置規劃,
這大概是以前比較少會注意到的細節...@@a
加入新功能系統所需要做最少的更動
各元件獨立開發的便利性
錯誤訊息分別給程式開發員與使用者看的區別
減少組件改寫需要付出的代價(重編、發佈)
主要用的架構是 .Net Remoting,以資料庫連結為例,所有功能會用到連DB的,
都會通過一個共同的連線組件。那麼意味著以後連接組件部份有改寫,
只要重寫這一塊就好,因為其他項目功能連接都是透過這一塊不需變更。
細節筆記:
.Net a)CommonLib b)UserControl
在 Host (主控台)上用最基礎的訊息要求服務 SendMessage() Service 來做溝通,
參數指定(who, do what, how para1, how para2),回傳成功否。
(只是訊息傳送,非 Event 事件)
ex how1: SQL Command、how2: 回傳資料
(.dll)功能組件,有三種
1. .Class : 寫功能
2. UC : 有介面的元件
3. WinForm: BasrDlg(Dialog)
(只有 UC 需要手動 dispose )
BaseForm: dispatch()派遣
functionPro: 功能列表 //列於資料庫,可查詢及觀看函式詳細資訊
.codetxt 轉換對應
組件直接 new 完註冊(給host),比用 sendmesg 的寫法來的簡潔快速
組件的 ColumnGroup 意義上形同多了 where 功能
常出現的 DBerror 存到 local cache(避免打死結)
新寫好一個功能,將 dll發佈到跟 TestApp 同一個目錄,即可測試!
心得:整體上課感覺很不賴,針對組件仔細去計較那些架構設計的夠不夠人性化、
有沒有彈性,多寫一個需要copy&paste需要量,可以在精簡嗎?
乍看之下是程式設計師的思緒該做的考量,不過大概也是科技(程式的高階)
才能讓懶人做的如此徹底(笑)!
#延伸閱讀
分散式系統架構 .Net Remoting介紹
.Net Remoting介紹
探討生命週期跟效能
一方面算是學自己不會的技術,一方面也了解校務系統的開發模式與流程,
在講課中藉由同仁的提問,也可以體會到設計一套大系統所需要做的前置規劃,
這大概是以前比較少會注意到的細節...@@a
加入新功能系統所需要做最少的更動
各元件獨立開發的便利性
錯誤訊息分別給程式開發員與使用者看的區別
減少組件改寫需要付出的代價(重編、發佈)
主要用的架構是 .Net Remoting,以資料庫連結為例,所有功能會用到連DB的,
都會通過一個共同的連線組件。那麼意味著以後連接組件部份有改寫,
只要重寫這一塊就好,因為其他項目功能連接都是透過這一塊不需變更。
細節筆記:
.Net a)CommonLib b)UserControl
在 Host (主控台)上用最基礎的訊息要求服務 SendMessage() Service 來做溝通,
參數指定(who, do what, how para1, how para2),回傳成功否。
(只是訊息傳送,非 Event 事件)
ex how1: SQL Command、how2: 回傳資料
(.dll)功能組件,有三種
1. .Class : 寫功能
2. UC : 有介面的元件
3. WinForm: BasrDlg(Dialog)
(只有 UC 需要手動 dispose )
BaseForm: dispatch()派遣
functionPro: 功能列表 //列於資料庫,可查詢及觀看函式詳細資訊
.codetxt 轉換對應
組件直接 new 完註冊(給host),比用 sendmesg 的寫法來的簡潔快速
組件的 ColumnGroup 意義上形同多了 where 功能
常出現的 DBerror 存到 local cache(避免打死結)
新寫好一個功能,將 dll發佈到跟 TestApp 同一個目錄,即可測試!
心得:整體上課感覺很不賴,針對組件仔細去計較那些架構設計的夠不夠人性化、
有沒有彈性,多寫一個需要copy&paste需要量,可以在精簡嗎?
乍看之下是程式設計師的思緒該做的考量,不過大概也是科技(程式的高階)
才能讓懶人做的如此徹底(笑)!
#延伸閱讀
分散式系統架構 .Net Remoting介紹
.Net Remoting介紹
探討生命週期跟效能
[工作日誌] 初試學校計中系統
這也算是一個小公司的營運模式吧,只是對象是學生及老師,
上下班這邊採校務裡的出勤系統,來跟走的時候登入按一下。
client 端程式每次執行會檢查更新,
更新方式是用ftp連線(本地端有防火牆的需要注意有無鎖住)。
工作概況是每兩週繳一次工作進度狀況,包括業務諮詢、行政處理、研討會議,
還有需求單完成度。不定時有上課的活動(可能是中心同仁或是其他老師)。
開發方式的細節,學校系統每一兩週會把現存的資料備份到另一個 TestDB,
利用點擊 *.reg改變自己電腦的開發環境,切換連到測試資料庫還是學校資料庫,
這樣子處理算是比較安全且保險吧!
這部份還搭配一個小工具,稱為 SQL Talk 可以確認自己的sql撈出來的東西(註),
至於要看龐大的學校資料庫欄位(資料意義),則由校務系統裡的
單位組織(電算中心系統)功能:[系統組] > [檔案及資料維護] > 查詢欄位
來進行關聯性的查詢
有些小東西看介面就可以知道是稍微有年代惹,
不過基本上功能做得到以開發人員的角度好像是目前符合需求就不必在弄新東西了,
給學生用的就不一樣惹,需要弄好一點的介面...
而雖然是舊的不過可以看當初開發者已經就許多機制處理完會發生的問題,
至於有瑕疵的,則是不斷改善中(or 研究新的解決方案)
註:
option > session >
。release lock ˇautocommit
ˇsaving setting
上下班這邊採校務裡的出勤系統,來跟走的時候登入按一下。
client 端程式每次執行會檢查更新,
更新方式是用ftp連線(本地端有防火牆的需要注意有無鎖住)。
工作概況是每兩週繳一次工作進度狀況,包括業務諮詢、行政處理、研討會議,
還有需求單完成度。不定時有上課的活動(可能是中心同仁或是其他老師)。
開發方式的細節,學校系統每一兩週會把現存的資料備份到另一個 TestDB,
利用點擊 *.reg改變自己電腦的開發環境,切換連到測試資料庫還是學校資料庫,
這樣子處理算是比較安全且保險吧!
這部份還搭配一個小工具,稱為 SQL Talk 可以確認自己的sql撈出來的東西(註),
至於要看龐大的學校資料庫欄位(資料意義),則由校務系統裡的
單位組織(電算中心系統)功能:[系統組] > [檔案及資料維護] > 查詢欄位
來進行關聯性的查詢
有些小東西看介面就可以知道是稍微有年代惹,
不過基本上功能做得到以開發人員的角度好像是目前符合需求就不必在弄新東西了,
給學生用的就不一樣惹,需要弄好一點的介面...
而雖然是舊的不過可以看當初開發者已經就許多機制處理完會發生的問題,
至於有瑕疵的,則是不斷改善中(or 研究新的解決方案)
註:
option > session >
。release lock ˇautocommit
ˇsaving setting
訂閱:
文章 (Atom)