發表文章

目前顯示的是 6月, 2006的文章

vim 的 textobject

text object 用來描述某文字區塊,可接在如 y, d 等命令之後。 aw - 包含 cursor 的一段字,有含字的空白 iw - 包含 cursor 的一段字,不含字的空白 at - 包含 cursor 下的 tag 區塊,含 tag 本身。 it - 包含 cursor 下的區塊,不含 tag 本身。 aB - 包含 cursor 下的程式區塊,含區塊分隔符號本身。 iB - 包含 cursor 下的程式區塊,含區塊分隔符號本身。 vim 在程式的移動

時間管理的十大步驟

親愛的讀者: 辦公桌上堆積如山的文件,好像永遠不會都減少;接踵而至的訪客,及尋求問題解決的部屬,一個個「闖」進你的辦公室;不斷響起的電話,一直打斷你手邊的工作;接二連三的會議,讓你疲於奔命,恨不得自己三頭六臂,可以同時應付這麼多的事情。 工作上如此,生活亦是。許多想讀的書買了卻沒時間讀;心儀已久的音樂家終於來台演出,卻抽不出空去看表演;答應家人一起出國去玩,行事曆上卻排得滿滿的‥‥‥,這些挫折都讓生活不再新鮮有趣。 你是不是感歎時間不夠用?事情做不完的壓力揮之不去了每個人一天都只有二十四小時,大部份的人是「忙,但不知道在忙什麼」,或是「忙,但不是忙自己想做的事」,但為什麼還是有人能事業有,還有時間兼顧生活及其他活動?因為他們懂得做時間管理。 管理時間有兩個必要的條件:計劃你的時間,以及避兔浪費時間。不妨問問自己以下三個問題:有沒有做一些根本不需要做的事?有哪些工作可以分配給其他人去做?必須做的事,是不是可以做得更有效率? 真正能幹的中階主管,能好好安排自己的工作時間表,逐項徹底執行,一旦工作順利進行,自然不會手忙腳亂,再加上工作效率高,工作成效自然也比他人多出數倍。做你計劃做的事,在你計劃的時間做,並在你計劃的時限內做完,成功就離你不遠了。祝你成功! 1. 事先規劃好你的時間與步驟,以收事半功倍之效 要與時間拔河,首先記錄自己的時間分配方式,分析哪些習慣浪費時間;按著訂定目標並擬定計劃,以較實際的觀點安排時程;最後找出浪費時間的原因與因應方法,改變這些壞習慣。 .每天空出一段時間來規劃事情。 .拿一個小時來訂計劃,可以有二到三倍的效果出現。 .你可以在上班之前比較安靜的環境(家裡或辦公室 ) 訂計劃,或是當作上班的第一件事,或是在下班前訂第二天的計劃。 .將時間加以分段,最好是以十五分鐘為一段。並要求自己把原本要花比較多時間的工作,在一段段時間裡加速完成。 .學習絕對專心,同時做兩三件事,像電視機選台器一樣。 2 .分析工作的優先順序,按照輕重緩急作處置。 要掌控時間,就必須先能掌控自設定個人目標,以便根據目標,分析工作的優先順序,按照輕重緩急做處置經常評估所設定的優先順序。採用 80/20 原則來設定優先順序。完成 20% 的目標可能獲得 80% 的效果,如果你每天的行事曆上有十

開發程式活動及工具

圖片
開發程式的活動 開發程式包含了下面幾個活動: 撰寫說明文件,設計文件,需求文件,專案文件 編輯程式碼文件 文件版本控管 程式測試 程式除錯 程式建立 程式佈署 臭蟲需求追縱記錄 一篇介紹程式發展工具的好文 用Open Source工具開發軟體: 新軟體開發觀念 我用的程式發展輔助工具 ---------------- 文字編輯器:vim 程式語言:Java 編譯器:javac 除錯器:jdb, 尚未有深入研究,見: java debug, O'Reilly sleepless 專欄 程式碼結構 index 產生器: jtags ,對 java 結構產生一 tags 的 index 檔,使編輯器可很快走到 java 的某項結構 ctags,支援多個語言 程式建立輔助工具:ant, maven 好像也不錯 安裝程式產生器:目前還用 ant 模擬 log 系統: log4j + chainsaw ,links: log4j 簡明手冊 版控系統:SVN 和 CVS 都有用,目前希望專注在 SVN 上 目前想要的功能: bug tracker:無,想要找一套,或自已寫 測試軟體:JUnit, htmlUnit,dbunit vim 能有 code completion vim 有更好的 xml 編輯功能 CASE Tools UML 塑模器:ArgoUML 似乎進步了,不過比不上 Rose UML 吧 StartUML 也不錯 RDBMS Exploerer: Squirrel 上面覺得不好用是因為沒跟 vim 整合在一起吧!

值得注意的未來技術:WiMAX

WiMAX的真實面貌 George Ou‧郭文興譯  2005/08/01 WiMAX(全球微波存取互通介面)是IEEE 802.16乙太網路的介面標準,就像Wi-Fi是802.11乙太網路的標準一樣。這兩年來,WiMax已經成為無線網路界最流行的專用字彙。同時它也可能是近年來最被誇大誤解的技術之一。 對WiMAX常見的誤解有: WiMAX的傳輸範圍一定比Wi-Fi大 WiMAX的速度比Wi-Fi快 WiMAX會跟Wi-Fi競爭,進而取代Wi-Fi WiMAX比Wi-Fi更安全。 WiMAX的傳輸範圍一定比Wi-Fi大 WiMAX的設計可以在需要執照的無線頻段,或是公用的無線頻段運作。只要系統業者擁有該無線頻段的執照,而讓WiMAX在授權頻段運作時,WiMAX便 可以用更多頻寬、更多時段與更強的功率進行傳送。一般來說,只有無線ISP業者才會使用授權頻寬的WiMAX技術。至於Wi-Fi的設計則只在公用頻段中 的2.4GHz到5GHZ之間工作。美國的聯邦通訊委員會(FCC )規定Wi-Fi一般的傳輸功率要在1毫瓦到100毫瓦之間。一般的WiMAX的傳輸功率大約100千瓦,所以Wi-Fi的功率大約是WiMAX的一百萬 分之一。使用WiFi基地台一百萬倍傳輸功率的WiMAX基地台,會有較大的傳輸距離,自然毫無疑問。 雖然有授權頻段的WiMAX顯然有較長的傳輸範圍,也不代表只要有錢就要趕著去買個WiMAX基地台。你必須要有一個授權的無線電頻段,就像一個音樂電台 也必須要有頻段執照,才能在空中發射無線電波。而如果WiMAX跟Wi-Fi一樣放在未授權的頻段,則它的傳輸優勢就馬上消失了。Wimax跟Wi-Fi 都是基於無線頻段傳輸的技術,所以受同樣的物理定律限制。反之,如果在同樣的條件下,讓Wi-Fi使用授權頻寬,Wi-Fi也可以跟WiMAX一樣快。另 外,雖然WiMAX可以利用較新的多路徑技術。目前新推出的pre-N MIMO(多天線雙向傳輸)技術Wi-Fi產品也使用了該技術。 WiMax的速度比Wi-Fi快 WiMAX的擁護者常常在大肆宣揚該技術的速度優勢。雖然WiMAX聲稱最高速度每秒70mbyte,然而最新的Wi-Fi MIMO理論上也有每秒108mbyte的最高速度,而實際環境下也有45mbps的速

Assertion

裡面缺乏一篇介紹, assertion 的開啟及關閉是由 java -ea 來設定的,也就是可在虛擬機啟動時才指定。 JavaWorld@TW - Assertion 介紹與使用

ANT 的檔案管理

ANT 能從不同來源取得檔案的方法, 像是 ftp, unzip, copy, cvs 等, 其中一個重點是當目的檔案比來源檔案舊時, 應該不可覆蓋來源檔案,相關的屬性如下: [v1|v2] 第一個表預設值 ftp.depends=[no|yes] yes 表不覆蓋 ftp.newer=[no|yes] yes 表不覆蓋 unzip.overwrite=[true|false] false 表不覆蓋 copy.overwrite=[false|true]false 表不覆蓋 ANT 的角色

ANT 的角色

ANT 的角色是作為一個跨平台的 shell script。 shell script 是幫助自動化發展應用程式的非核心工作, 像是檔案管理、源碼管理、程式庫 dependency 分析、 程式師合作的溝通。 讓程式師專注於解決他的問題。 Ant vs Maven

vim 在程式的移動

vim 提供一些能方便在程式區塊移動的命令, 這些命令以 [ 開頭的表示到區塊起點, 以 ] 開頭的表示移到區塊終點。 % 對應的括號 [[ 外部區塊起點 ][ 外部區塊終點 [{ 內部區塊起點 ]} 內部區塊終點 [( 括號起點 ]) 括號終點 [/ 註解區塊起點 ]/ 註解區塊終點 [I 列出游標識別字在檔案的所有位置 [ or [ 移至上一個識別字 [i 僅列出全部檔案第一個比對到的識別字,通常可用來找到識別字的定義 ]I 列出所有游標行數後的識別字位置 ]i 列出游標後第一個比對到的識別字 [D 找出全域的 #define gD 移到識別字全域的定義 -- 一定要常用 gd 移到識別字本地的定義 -- 一定要常用 為何不學 vim script

研究方法課的一些重點

研究背景和研究動機最好放為一節,不要和研究目標放為一節 -- 已修正 研究方法要闡述為何使用此研究方法的目的 -- 已新增 使用個案研究方法主要是前面無相關研究 -- 已新增 結論要解釋前面的研究目標是否達成,及本研究的貢獻 -- 任何一段陳述都要有證據 -- 努力達成 研究要有 focus -- 已有 focus 表的標題在上、圖的標題在下 -- 暸解比較多的 DocBook,已經會操作了 中文論文內不要有英文 -- 暸解比較多的 DocBook,已經會操作了 撰寫科技研究論文之要領

正式環境、測試環境、開發環境

正式環境為 AP 正式上線的環境。 測試環境為與正式環境整體相當,作上線前測試的環境。 開發環境為開發人員寫作程式的環境。

Ant vs Maven

Ant 有三個階層 project target task 但彼此互不關聯 Maven 在 project 層則隱涵一些預訂的 target 項目管理: Maven 讓事情變得簡單

RDBMS 的 View 代表推論資料

前陣子在讀 prolog 的書時, 發現 view 的新解, RDBMS 的 View 代表推論資料 下述的 prolog 碼 //這句說 X 是 Y 的爸爸,或 X 是 Y 的媽媽, //則可推論出 X 是 Y 的父母親 parent(X, Y) -: father(X,Y) or mother(X,Y) ?parent(X, fhopecc) //這類似 select 會找出 fhopecc 的父母 把它可轉成下面的關聯模型, 每個關係是一個關聯 father 是一個 table mother 也是一個 table parent 就是 view,簡單而言 view 可視為前二個 table 的推論 create view parent as select * from father union select * from mother; SQL 的 view 指令 SQL 的 alter 指令

推理、路徑、距陣乘法

若以節點表示公式, 而有向邊表示起始點的公式 A 可依法則推論出進入點的公式 B, 則圖的路徑可達性就是公式 A 是否可推理出公式 B。 一個圖的路徑可達性,可由相鄰距陣乘法計算而出, 則距陣的無限,一個公式能否由另一公式推論,便能使用距陣 圖是有限集合,表示能以圖表示的所有公式是可以列舉出來的, 想做的相關研究

docbook 顯示行號的方法

docbook 顯示行號的方法 http://www.sagehill.net/docbookxsl/InstallingAProcessor.html#InstallXalan

vim:functions

呼叫函數 :call function 定義函數 :function {name}({varlist}) : {body} :endfunction ex. :function min(n1, n2) : if a:n1 < res="a:n2" res="a:n1">

vim script 筆記

Vim Script 為一組 Ex 命令 組成 Ex 命令 為 vim 的 normal mode 中,打 ":" 起始的命令 :while 命令 - 迴圈 語法: :while {condition} {statement} :endwhile 資料型態 vim 僅有二種資料型態,數字及字串。 三種數字實字型態 十六進位實字 語法: {hexadecimal literial}=0x[1..9abcdef][0..9abcdef]* 八進位實字 語法: {octal literial}=0[1..7][0..7]* 十進位實字 語法: {decimal literial}=[1..9][0..9]* 注意:前面不可前置 0 這個數字,否則會視為 8 進位 數學運算式 {add}={variable}+{variable} {minus}={variable}-{variable} {multiply}={variable}*{variable} {divide}={variable}/{variable} {modula}={variable}%{variable} 例子: :echo 1*3 3 字串實字 {double-quote-string-literal}="[a..zA..Z0..9]*" 字串相連 {string-concatenate}={string}.{string} ex. :echo "foo"."bar" foobar 變數 :let 命令 - 設值給變數,都是全域變數的 語法: :let {variable}={expression} 例子: :let i=1 :echo "i is" i vim 會印出 i is 1 :let vim 會印出所有的全域變數 變數種類 s:var - 草稿檔變數 {script-local-variable}=s:{variablename} 僅作用於目前的草稿檔, 若用 source 匯入的草稿變數, 雖同名,但有不同的值 {buffer-local-var}=b:{varname} {window-local-var}=w:{varname} {global-var}=g:{varname} {vim

為何不學 vim script

圖片
想寫一本資料結構的書,書的格式是用 docbook。 在寫這本書時,總想要能夠有一支程式, 能自動幫我產生一些例子,且它的格式要符合 docbook。 像是輸入一陣列,它能自動幫我產生此陣列的反轉表(inversion table), 但是究竟要用何種程式語言寫, 是工作常用且嚴謹的 Java 嗎? 或是寫法多樣且好寫的 Javascript? 但我忘了,我打字的主要工具是 vim? 為何常我要有工具來輔助我打字時,我不學 vim 呢? 現在就開始, vim script 我要挑戰妳!

Issue Tracker

Roundup -- 簡單好用的 Issue Tracker ^^ 發展程式會用到的工具

解決 IE 無法顯示 blogger 的問題

剛剛發現把 blogger 的 [設定]-[格式]-[日期語言]-[中文台灣] 就可了 把 IE 的編碼改成 UTF-8 [檢視]-[編碼]-[Unicode(UTF-8)] 一片空白的UTF-8網頁 裡有更多解法

用藥法規更新系統:需求分析

圖片
1. 前言    IT 技術的長足進展,加速商業流程開始電子化,醫療業雖然起步較晚,但也抵檔不住潮流的趨勢。流程電子化,開啟了新契機,讓我們可以應用 IT 的技術來改善流程。而醫療業電子化的程度,從傳統式的會計、保險申報系統,轉變為現在支援醫師作決策、病人安全、護理計劃、電子病歷、遠距醫療等各式各樣的應用領域。值得注意的是,當 IT 已進入支援醫師作決策後,那麼醫院、政府也可以應用 IT 影嚮醫師作決策。自古以來醫療行為便對人類最重要的資產,生命有關,所以長久以來政府便積極以法令介入管理,以維護大眾的生命權。傳統法令的執行是藉由相關管理單位及專家,定期檢查醫療執行的記錄,病歷,是否違法,來約束醫師的醫事行為。電子化為政府及醫院行政開啟一個新的控管通道,藉由醫療應用程式來控管醫事行為。當醫院流程電子化程度越高,電子控管已比傳統的法規執行更為確實方便有效。   本文將提出一個架構,具以實現法規自動更新。並將實作全民健保藥品給付規定自動實踐至診間醫令系統。 2. 需求分析 2.1. 自動化更新給付規則的迫切性   自從全民健保實施後,醫療資源濫用一直是嚴重的問題,健保局為了控管醫療資源濫用,制定許多給付規則來約束醫療團體,例如:健保從民九四年十月一日起,不給付俗稱胃藥的指示用藥制酸劑 [ 魏05 ]。   這迫使醫院需在流程上管制醫師不能開立太多的非給付醫令, 否則會造成醫院很大的損失,進而院方必須能讓醫師開立醫令當下,也能考量健保規則。 對醫師而言,其天職應專注於診療過程上,以治療病人為首要目標,而非著重衛生行政規則等會計行為。所以一個良好的診療系統必須在醫師開立醫令時,給予明確的規則資訊,以輔助醫師能專注其診療行為,但又能考慮到健保規則。因此作為醫師最主要的決策支援系統,臨床醫令系統必須能適時隨著健保給付規則更動,以輔助醫師在法規知識上的不足。但健保局會依循新藥發明、政策改變、新醫學研究等異動健保給付規則, 這使得臨床醫令程式的維護工作變得相當沈重,而同樣的法則,卻必須在每個醫院的系統實作,非常浪費人力。如何建立一個可隨時更新給付規則的規則庫,卻又不用常更動到應用程式, 是急迫需求的。 2.2. 給付規則異動流程   下圖描述了傳統健保局規則發佈時,醫院必要的更新流程。 圖 1. 傳統健保局申

兩中國學者 解開龐加萊猜想

兩中國學者 解開龐加萊猜想 廣東中山大學教授朱熹平和中國旅美數學家曹懷東,在六月號「亞洲數學期刊」發表專刊,登載「龐加萊猜想和幾何化猜想的完全證明」專文,演算推證百年來被稱為「七大世紀數學難題」之一的龐加萊猜想。 http://news.chinatimes.com/Chinatimes/newslist/newslist-content/0,3546,110505+112006060500059,00.html?source=rss 縱走在稜線之間: 想做的相關研究

程式測試工具

一篇不錯的中文 JUnit 簡介: JUnit 學習筆記 利用 Ant 和 JUnit 进行增量开发 ” 發展程式會用到的工具

APA style 筆記

美國 APA 協會居然要錢買他們出版的書, 才能看到標準。 只好到 wikipedia 讀自由版本的標準了。 連連連,找到一篇不錯的 Citation Styles Handbook: APA 中文寫法: 臺灣健康促進暨衛生教育學會投稿格式 APA 稱參考文獻為 reference list 而非 bibliography 請參閱: 研究方法課的一些重點

關聯模型的正規化理論

今天在南台圖書讀 C. J. Date 大部頭的資料庫理論第七版 摘要如下: 函數相依性 function dependent 若一關聯 R, a, b 是 R 的屬性, 若每個不同的 a 值,則會有一固定 b 值與它對映, 則稱 b 函數相依 於 a, a 稱為 決定集 ,b 稱為 相依集 , 記作 a->b。 多值相依性 multivalue dependent 若一關聯 R, a, b,c 是 R 的屬性, 若每個不同的 a 值,則會有一固定 b 值與它對映, 則稱 b 函數相依於 a, a 稱為決定集,b 稱為相依集, 記作 a->b。

馮紐曼模型與哈佛模型

目前的計算機具有兩種模型 馮鈕曼模型: 將指令與資料都存在同一個記憶體 哈佛模型: 將指令與資料存在不同地方 這與資料編碼有很大的相關, 我們可編指令碼到傳輸的訊息中, 讓收訊端利用計算能力解碼才能得知想要的資訊, 也可直接告訴收訊端想要的資訊。 也可看看下文 資料編碼的品質

Vim JDE

剛看到的據說有 code completion 的功能 值得研究。 可以看看我的另一篇 發展程式的工具