兩年來的讀書小總結(2011-2013)


前些天,老婆問我為什么不學習一下,怎么一點上進心都沒有,心里咯噔一下,我感覺自己這兩年一直在看書學習啊,只不過在家學習的時間很少,老婆反問,你學的東西有化作別人看得到的能力么,很郁悶,自己先整理整理這兩年涉獵的內容。

-PMBook
  上一家公司快離職的時候找了些PMP的資料,也有想法朝項目經理方向上發展,學習的感覺是很有用,在方法學上來說,有點提綱挈領的感覺。后來公司現有形勢發生大的變化,主要精力都放在設計的細節上,閱讀擱淺。

-Thinking in UML(大象)
  仔細閱讀的一部關於UML,需求分析,軟件開發流程的書,我專業課中沒學過軟件工程學,感覺這本書里的內容應該屬於軟件工程學。很好的一部書,有些例子介紹很符合實際場景,能解決概念理解上的疑惑,但部分實例感覺有點太重量級,粒度太細,可能現實項目從實現起來成本太高。

-人月神話
  當故事看完,感觸有一些,但不是太大,可能當時看的時候還沒有項目在身上,以后需要重新再看看,相信能有不同的理解。

-Writing Effective Use Cases
  這是在學習需求分析,乃至系統分析上給我最大的一本書,其對用例的粒度,等級的定義,如雲朵,海平面,黑盒等概念的抽象通俗易懂,然我這種能力的人也能夠快速理解,並掌握應用,極好!

-Microsoft.Press.Software.Requirements.Second
  比較正統的關於需求分析的書,自己中英文版本都看過,看了過后關於Use case的疑問還是在上面一本書籍中才獲得真正的理解,感覺書要反反復復的看才能深刻啊。

-Patterns of Enterprise Application Architecture
  Martin Fowler的書,總結得極有價值,我是對照着以前商業MES系統的架構,部分開源企業級項目的源碼一起來看,邊看邊做,覺得這幫人還真是牛。

-Domain-Driven Design/Addison Wesley(Addison Wesley)/領域驅動設計精簡版
  三本關於DDD的數據,從了解到熟悉,結合Martin Fowler的書一起看才能深入的理解,造成困擾的地方是因為目前實際很多項目中對一些概念的變通,因為有些實際運用起來對人員要求較高。

-Java Design Pattern
  有兩本關於設計模式的,一本是閻宏的,一本是Head First系列的,作為了解一下,免得自己走彎路,我也就是瀏覽全部,關注其中主要的幾種模式。個人認為如果軟件代碼寫得連我都很難理解的話,就是屬於5%系列中的高精尖了,需要特別對待。

-IEEE Standard For Software XXX
  這個系列中的有好幾個模板,我本質上是個保守派,認為大家辛苦整理,總結出來的東西必然不會太差,使用這種模板的風險將會更低,最起碼方向上不會出太大的偏差。這些標准在我們兩眼一抹黑的時候幫助極大。 

-Java 系列叢書(Enterprise.JavaBeans.3.0.5th.Edition,HibernateInAction2,OReilly.Java.Enterprise.in.a.Nutshell,Think in Java等)
  上一份工作用的是JavaBean 2,但是也主要做的是在既有系統中添加新功能,底層,架構方面考慮得極少,只知道我應該這么做,這么做的好處是什么,但對於為什么用其他方法做,其他方法與這個方法有什么區別則考慮甚少,比如DTO,我們當時客戶端服務傳輸對象就是用這種方式,我只知道用DTO能減少數據傳輸,封裝等,但不會考慮到為什么不用Entity,用Entity會有什么不利的地方。

-編譯原理中文版
  很久一直想看的書,在大學期間這門課程也像軟件工程一樣不見(可見學校老師的水平很重要),直到重看Think in Java中Static變量/方法,可重入,並發概念時,給搞得焦頭爛額,寫代碼寫得越寫越怕,老是擔心同步問題,Google了N次,后來找到這本書,豁然開朗,一些疑惑從根本上就解決的。

-JSF2, Seam, Vaadin, Primefaces
  因為自己業余時間也在做實驗項目,對一些框架進行了研究,通過一系列的對比,選型,深入的學習和練習了Seam,Vaadin,在我等待Seam 3的穩定版的時候,它轉向了DeltaSpike,到Releas又需要很多的時間,但學習它的時候了解了更多的Java前沿技術,Vaadin是個巧妙的設計,試用了6.7, 7.1,研究了下它的JPA Container,還有其他衍生的Addin,里面的API看起來很友好,適合於企業的快速應用開發。Primefaces+JSF2自己也做了一些初步的應用,很強大,但我實在精力有限,Web前端的技術目前停留在簡單的CRUD階段,更復雜的是N年以前用ASP.net做的東西,都忘記得差不多了。

-Maven
  原來一直抵觸,后來做Vaadin研究的時候花了2天時間做了一個整體的了解,算是達到自己能用的程度,好感倍增,但在自己家里更新倉庫的時候是要命的慢,用公司的VPN還可以。

-代碼生成技術
  有一段時間非常迷戀代碼生成,像Spring的, Openava,后來覺得不是自己的強項,放棄了。

-Hibernate
  自己一直在學習Hibernate,后來公司用C#,又得看看Nhibernate,感覺都差不多,但是生態系統中其他的配套使用就有點坑爹了,很少的文檔,很少的幫助,生態系統中的第三方,甚至官方的應用代碼質量都不咋樣,你讓我如何用。

-MSBuild, CruiseControl.net
  這也是被逼的,原來讓一個工程師弄了N久,老是搞不定,最后沒干完離職,自己為了省點懶,花了1周的時間將他們成功集成,每日打包,也將MSBuild的概念學習了一般,用到了官方,社區的擴展,很爽!

-腳本引擎(cs-script)及編輯環境(ScintillaNET)
  是cs-Script不是Script cs,前者是一個成熟的,運行了更久的項目,后者貌似才出來,自己用cs-script構造出一個Runtime container,運行時將服務器端c#代碼抓取到本地實時運行,優點是實時運行,升級簡單,變更快速,缺點是編程還得用Visual Studio來,尤其是運行多個Winform的程序,簡單的程序可以用ScintillaNET構造腳本編輯器,試運行,但是不能調試。

-C#的委托,Lambada
  臨時接觸C#的時候,寫寫簡單的程序沒問題,到真正自己構建企業級框架的時候才發現有的東西實在繞不過去,只能硬着頭皮去啃了,委托與Lambada的東西有時候過於靈活,微軟這是要干嘛,有些API用着是爽了,但是我感覺很多人是糊里糊塗的在用。

-工作流引擎及流程編輯器
  對比了web的幾種,好像Java的沒有,都是Javascript及Flex的。可以考慮用Primeface的Mindmap類實現。以后再說吧。

-其他(管理實踐,卓有成效的管理者)
  老婆給我買的書,看了覺得很好,第一本讓你對公司的一些概念有本質上的認識,所謂開了眼界,第二本個人覺得是修身,真的能在你被項目工作打懵了的時候給予幫助的。以后一定溫習溫習。

自己寫着寫着就發現自己原來從把握項目最后慢慢演變成了把握函數了。自己做過不少項目,也寫過不少代碼,總有一個夢,可以慢慢的構建自己業務知識范圍內的一個部分可重用的開源系統,然以后做這方面研究的人可以少走彎路,有些借鑒的地方。覺得這兩年自己學習思考的東西其實蠻多的,以后的兩年何去何從也好好思考一下。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM