2014年7月23日 星期三

讀書心得-共同基金必勝法則(上)

Image(1)
這本書是基金界的泰斗John C. Bogle所著,他所創立的先鋒基金(Vanguard)是指數型投資的始祖。這本書的特色在於他從歷史數據的脈絡中分析基金的各種構面並且保留這本書第一版的理論放到十年後的2009年再重新驗證,將先前的理論和結果相互輝映並提出修正和預測。最後在歸納出一般投資人要在共同基金獲利的先決條件,這本書有相當多的篇幅在針對基金的成本做討論,將各種不同的基金(價值股、成長股、各種公債等)透過成本級距分門別類再做比較。

2014年7月20日 星期日

簡單工廠模式(Simple Factory)

  • 簡單工程模式又稱作靜態工廠方法(static Factory Method),這個模式的主要特色是把物件生產的細節封裝起來交給Factory生產,客戶端只需要傳遞生產參數給Factory的靜態方法,進而產生相對的物件,不需要處理製造細節
  • 這個單一工廠可以完全負責產品的生產流程,不需要依賴其他工廠製造物件(否則就需要採取抽象工廠模式)
  • 應用的物件導向守則:
    • 物件要開放擴充新類別、關閉修改舊類別
    • 將物件中不允許修改的部份給以封裝
    • 需要被擴充的部份便開放複寫(override)

2014年7月16日 星期三

使用handler處理自訂副檔名(file extension)

  • 如果有需要使用自訂的附檔名的檔案,舉例來說(*.abc), 這個.abc檔案必須透過自訂的handler來處理(因為沒有建立關連之前不會有任何程式認得這個檔案格式),因此必須要修改註冊的方式來建立兩者關連。以下透過兩個步驟來達成:

2014年7月11日 星期五

讀書心得-散戶流浪記:一個門外漢的理財學習之旅


在進入投資世界的領域後就藉由朋友的推薦得知這本書,只可惜因為早就絕版的關係所以在網路上也沒有訂購來源。在鍥而不捨的追蹤下發現台北的茉莉二手還有這本書的存貨,書本的狀態和價格也不錯就訂了下來。

2014年7月7日 星期一

讀書心得-超棒小說這樣寫

Image
從十幾歲開始就夢想著要成為一個小說家,但是幾經嘗試創作之後卻越來越沒有信心,不是對在白設計上平淡無奇,不然就是苦於安排精采的情節。雖然腦中已經勾勒了一個簡單結局(我都從先想到一個絕妙的結局開始),但是要怎麼從頭鋪成,安排故事情節和相關技巧都付之闕如。我才發現寫小說不是埋頭硬寫就可以完成的一份事業。過了好幾年,都即將年屆而立之前,有幸在網路上接觸了這本書,看了書評和內容摘要之後就立刻下訂了這本書。雖然我也有一頭熱的不理性購物衝動,但是讀完這本書之後,慶幸自己做了個好決定。作者淺顯易懂的敘述一部小說的結構和應該具有的元素,讓我有種「啊!早點知道就好了」的感嘆。簡單整理從中書所學到的知識,之後可以透過這些要點進行寫作練習。

2014年7月5日 星期六

XSL介紹


XSL(EXtensible Stylesheet Language)屬於XML相關技術之一,用途在於可以將XML文件轉換成為HTML TXT或併入另一種XML檔案格式,另外也支援內崁CSS語法豐富文件樣式

基本上XSL可以分為三大部分:
  • XSLT - a language for transforming XML documents
  • X-PATH - a language for navigating in XML documents
  • XSL-FO - a language for formatting XML documents
 XSLT代表EXtensible Stylesheet Language Transformation 可以透過XSLXML文件轉化成不同的檔案格式如XML HTML XHTML等,另外XSL也使用Xpath來導覽XML節點文件,對Xpath相關的教學文件可以參考

再轉化的過程當中, XSML使用Xpath來解析XML的原始內容, 如果解析到相對應的模式(pattern)情況, 就會XSML就會轉化當中的文件成為輸出的檔案格式:











1.      如何建立一份XSL

宣告一份XSL的開頭可以採用以下兩者標籤其中之一:

1. xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
2. xmlns:xsl="http://www.w3.org/1999/XSL/Transform">

一份XSL文件都是先宣告 標籤起頭定義這是份XSL文件, 接下來做個練習, 以下有一份XMLXSL文件:

在這份XSL文件當中match="/" 標籤代表找尋XML文件的template(樣版),則是Xpath當中的定義, "/"則是代表從root element開始來解析全部文件, 代表從XML文件當中找尋特定的元素, 並且把它給轉化成輸出的格式, 當中的select的值則代表Xpath的語法, 這個元素可以用來使用某特定Node List的迴圈語法, 以下的例子:

可以使用的外卡(wild card)字元如:
  • =  (equal)
  • != (not equal)
  • < less than
  • > greater than
在的標籤當中, 可以加入此標籤來排序某特定元素,此標籤為XSL的條件判斷, 以下例子說明如果標籤通過expression則輸出內容

expression
">
  ...some output if the expression is true...

則是用來做單一的元素判斷, 而則可以用來做多種判斷。

2014年7月4日 星期五

當多執行緒同時存取同一個檔案問題

這個問題可以在方法上面加載一個 attribute [MethodImpl(MethodImplOptions.Synchronized)] 來避免不同的執行緒存取同一個檔案,另一個方式則是使用Lock方法

image

參考資料:

http://stackoverflow.com/questions/541194/c-sharp-version-of-javas-synchronized-keyword

2014年7月3日 星期四

Zip Components Investigation

前陣子研究了一下各家Zip元件的各方面比較,下面是整理過後的報告:
 

 

.NET ZipForge

Chilkat.NET Zip

DotNETZIP

Create self-extracting EXE up to 4GB

V

V

V

Custom SFX stub

V

X

V

Create a big ZIP size up to 10GB

V

V

V

License

Royalty free –

For 4 Developers

Royalty free –

A Site-Wide license is for any number of developers at a single company location

MS-GPL

Price

€699

http://www.componentace.com/order/

$249

Free