pretty code

2008年11月29日 星期六

WinCE Programer 之五大神器

1. UltraEdit - 不用多說,看 code 方便,可以設定工具配置直接編譯 C/C++ console 程式,反白 F3 就直接搜尋文章,他的優點說都說不完。

2. Copernic Desktop Search - UltraEdit 什麼都好,就是在跨檔案搜尋時,什麼事都不能做,故需要另一套幫助搜尋的軟體,此套應該是搜尋裡面算最快的,因為他除了會做檔案索引外還會做內容索引。它可以針對副檔名去建索引資料庫,唯其一開始內建的種類太多,故第一次需要從 registry 去做修改才會快(HKEY_USERS\xxx\Software\Copernic\DesktopSearch2\Config\KnownExtensions,並針對 WinCE 需要的檔案去建立,唯一不好的地方就是不能搜尋 sources 的檔案,因為它是沒有副檔名滴,這時我們便需要另外一套的幫助。

3. Locate32 - 與 CDS 相反,他可以設定那些副檔名的檔案不要建索引,故自然可以查詢類似 sources 類的檔案,唯其只建檔案清單索引,不建內容索引,故仍然是需要一點搜尋時間,不過還算可以接受就是。

4. Global - trace code的好工具,只要找到函數的定義區,直接點擊該名稱,便可以看到在那些檔案中有被呼叫,可惜的是建立資料時需要一段不短的時間,且 update 時又要再來一次。

5. xxxx - 目前只欠缺多分頁的檔案總管工具,不然一切就很完美。

2008年10月15日 星期三

FLASH 概述

NAND FLASH

block > page > sector

1 page = xxx byte(data field) + xxx byte(oob-檢驗碼、訊息)

讀寫以 page 為單位
erase 以 block 為單位
//---------------------------------------------------------------------------------
新的 NOR Flash

page 中又有多個 sector

SLC 寫入以 sector
MLC 寫入以 page


NOR Flash 不允許有壞軌(bad blocks)
NAND Flash 第0軌以外可以允許有壞軌

快速關閉 Windows 服務

sc /?

將下列寫成批次檔,就可以不用進服務去改。
sc stop [sevice name]

HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\[service name]

ex:ntrtscan (OfficeScanNT RealTime Scan)

2008年9月29日 星期一

Global 使用說明

1.下載 win32版本
http://www.geocities.com/jadoxa/global/index.html

2.切到 source code root 目錄下

3.set path=e:\Global\bin

4.執行 gtags ,會在 2 的目錄下產生相關檔案。

5.執行 htags 搭配相關參數,便能產生你要的網頁。

htags -s
會產生變數的參照,方便尋找變數的宣告位置。

htags -a
會產生函數的參照,方便尋找函數的呼叫位置。

小型專案可以考慮 htags -sna
大型專案建議使用 htags -na


`-v', `--verbose'
Verbose mode.

`-s', `--symbol'
Make anchors not only for object definitions and references but also other symbols.

`-a', `--alphabet'
Make an alphabetical function index which is suitable for a large project.

`-n', `--line-number'[=columns]
Print line numbers. By default, doesn't print line numbers. The default value of columns is 4.

`-o', `--other'
Pick up not only source files but also other files except for binary files.

`-h', `--func-header'[=position]
Insert function header for each function. By default, htags doesn't generates it. You can specify the position using position argument, which allows one of before, right and after. The default position is after.

`-T', `--table-flist'[=fields]
Generate file list using tag. The fields is used for field number in a line. The default is 5.

`-F', `--frame'
Use frame for each part of the contents.

`-f', `--form'
Support search form using CGI program. You need to set up a web server, and you cannot move the hypertext from the source directory.

2008年9月2日 星期二

makefile 概述



如果 make 後面不指定 makefile name(gnu make use -f)
則預設使用當前路徑下的 makefile。

如果 make 後面不加 target
則預設去找第一個(本例的 test)
故只會印出 Just Test 的字串。

一般來說會將 all 擺在第一個
也就是預設 make 是做 make all。

make all 的順序:
1. 先找 mytest 的 target。
2. 做 mytest 前必須要有 main.o, TestDef.o。
3. 找到 main.o 的 target。
4. 做該 target 的事。
5. 找到 TestDef.o 的 target。
6. 做該 target 的事。
7. 最後做 mytest 要做的事,編出 mytest 的執行檔。

一些符號的意義:

- 表示忽略錯誤
@ 表示不印出訊息

以下來自 "http://www.study-area.org/cyril/opentools/opentools/x1176.html"

%.o: %.c

%表示所有相對於後面先決條件的檔名的意思,他不是*,因為他有一對一的相對應關係,foo.o 就要找foo.c。

foo.o: foo.c foo.h

$@ -- foo.o
$* -- 這個只有在內隱規則中有用。表示樣式或副檔名規則中對應到的字串。
$< -- foo.c
$? -- 同一個規則的所有先決條件名,但是只有原始程式碼改過的比 obj 檔新才會符合,也就是比 target 還新的先決條件檔案。
$^-- 所有先決條件,但是有的 make 像 solaris make 可能不認得這個自動變數。

2008年6月27日 星期五

交易日誌格式

交易日期:

代碼:

張數:

交易類型:做多

買入價:

買入理由:

初始止損價:

目標:

賣出日期:

賣出價格: 

賣出理由:

結果:

錯誤一:

錯誤二:

錯誤三:

2008年6月19日 星期四

正峰工交易記錄

1538, +1, 27.75

購買原因

1.見 20080617 - 正峰工預測 該篇文章。

後記:

1538, -1, 28.7

賣出原因

1.對自己不是很有信心。
2.好久沒有勝的感覺,想先入袋為安。

-> +783。

結論:

1.這是一個失敗的交易,策略不正確贏錢也沒什麼好高興。
2.以後交易日誌必需寫清楚出場價格。
3.贏錢還是會覺得高興,需儘早消除這種感覺,金錢只是交易策略成功的附屬品,重點是交易策略的執行。

2008年6月18日 星期三

中序轉後序

陸續發了幾篇文章
都沒有跟程式有關的
剛好最近在看程式的書
裡面提到中序轉後序的做法
這是一個計算機裡面很重要的觀念
把他記錄起來以後才不會忘記

ex: (a+b-c+d*e*(f+g))*(h-i)/j

秘訣:從括號先做,遇到優先順序高的先做優先順序高的。

1. ab+
2. ab+c-
3. ab+c-de*
4. ab+c-de*fg+ (f+g的+)
5. ab+c-de*fg+* (e*(f+g)的*)
6. ab+c-de*fg+*+ (+d*e的+)
7. ab+c-de*fg+*+hi-
8. ab+c-de*fg+*+hi-* (*(h-i)的*)
9. ab+c-de*fg+*+hi-*j/

遠雄預測



剛看盤看到的
遠雄在這一波的走勢中
其下跌趨勢都在半年線中遇到支稱
故目前先暫時上看108

2008年6月17日 星期二

我心目中的機械派操作流程



正峰工預測

股票交易可分為兩派
一派是基本分析派
一派是技術交易派

其中技術交易又可分為
預測派及機械派

個人是比較喜歡機械派中的程式交易

昨天又翻了一遍股市型態學的書
覺得正峰工是在打一個很大的底














左腳是91年年底
右腳是96年年底

故近期目標先上看35

另一個原因則是從年初以來
其股價是在一個漸漸向上的走勢當中
若以這趨勢線來看
則近期應該可以先到30

2008年6月14日 星期六

頭部判斷

個人認為 2007年7月~10月的地方是頭部。

現在2008年6月僅是主跌段,底部應該還會有蠻長的一段距離要走。

以後再回過頭來驗證自己的判斷。

2008年6月12日 星期四

金寶交易記錄

2312, +2, 10.3

購買原因

1.大盤在跌,仍然見紅。
2.只想單純搶反彈,賺個2、300就跑(10.55)。
3.就算跌到9.0,也還賠不到3000(不過也會停損了吧,雖然不擔心他會下市)。

後記:

2312, -2, 9.2

賣出原因

1.快到停損點9,於20080630開盤前掛9塊賣出,成交9.2。

-> -2,311。

結論:

1.如果當初是以搶反彈的心態購買股票,三天內一定要跑,不論是漲是跌,因為原本的心態就只是搶極短,放了20天,結果還是賠。
2.就是因為沒有出場機制,這次交易才會失敗,如果以1當出場機制就很完美,反正搶反彈心態本來就是在賭,賠是正常的,故才要在三天內出場。
3.心態不對,沒有策略,輸錢正常,不過輸錢沒有難過的心情還是值得嘉獎的。

2008年6月6日 星期五

正峰工交易記錄

1538, +1, 27.9

購買原因

1.大盤在跌,仍然見紅。
2.均線呈上揚。
3.站上所有均線。

後記:

1538, -1, 24.2

賣出原因

1.跌破20MA。

-> -3,847。

結論:

1.大家在跌,該股漲不代表後勢就好。
2.如果是在家看盤,當天盤中跌破20MA,應該等快收盤再出售,無需在盤中即時決定。(因為這樣多賠1,000)
3.如果是晚上收盤看線跌破20MA,則隔天中午再決定出售價格即可。

2008年5月20日 星期二

華晶科交易記錄

520前手中的股票已經出脫
基本上是處於無股一身輕的狀態
再加上自己趁著離職的這段期間
慢慢消化手頭上所購買王力群先生的書
原本以為暫時會離開股市一陣子

今天在邊看就職大典邊看盤時
一時手賤又去下單
完全忽視大盤的下跌
這樣究竟是對是錯
老實說我還不確定?
留待以後再來證明好了

3059, +1, 54

購買原因

1.大盤在跌,仍然見紅。
2.均線呈上揚。
3.站上所有均線。
4.近期營收都比同期增加。
5.四川大地震企業主有捐款。

後記:

3059, -1, 50.5

賣出原因

1.跌破20MA。
2.限入整理格局。
3.成交量持續減少。

-> -3,800。

結論:

1.大家在跌,該股漲不代表後勢就好。
2.需嚴守操作紀律,原本因為什麼原因購買股票,後續原因消失就應該售出,不該戀棧。

2008年3月6日 星期四

程式設計是一輩子的事

記得剛退伍那一年,突然很想玩玩 Linux,便在書局買了一本書,從此便開始我跟電腦的不解之緣。雖然我對架站、shell script之類的一竅不通, 但我用Linux還是用的很開心,也許這就是Open Source的魅力所在吧,你對電腦掌握著絕對的控制權,並有著選擇的自由。

後來進入了事務所,在查帳繁忙的工作之際,靠著事務所資訊化的幫助,減輕了不少查帳員的負擔,更讓我下定決心,想要進入這個未知的世界去一探 究竟。

這一輩子沒做過什麼對的事,唯一做對的事是我選擇了「資訊」這個行業。 也許現在的薪水比不上繼續留在事務所,但人還是做自己想做的事才好。

C是我最喜歡的語言,因為強大又好用,你所要專注的就只是公司該產業的知識即可,當然不是說C很簡單,只是如果公司是使用C做為開發語言,比較容易早日幫忙開發專案,也比較容易追蹤程式碼,其實是自己只會C啦!

不管最後是用哪一種程式語言開發專案都好,重要的還是回歸到設計的本質, 如何將概念化成實際的程式碼並兼顧軟體工程,才是吾輩所要努力的方向。語言只是旁支末節罷了,誰說C語言已經沒落?又是誰說C才是世界上最偉大的語言?套句星爺的話,只要有心,人人都可以成為食神。