2014年学习总结

再过20几天,就要春节了,2014年就这样一眨眼,就过去了,时光如梭啊。

这一年到底收获了什么呢,还是回想一下,做个简单总结吧。我最害怕自己一年下来,没什么进步,没有进步就是浪费人生。

我现在后悔以前没做总结,现在已记不起来,以致感觉以前不够努力,而心怀愧疚。从现在起,我每年要做总结,留下足迹,希望以后回头看时,心中有一丝安慰,不至于太过悔恨自己“少壮不努力”。

我是做技术的,谈进步,也只能是谈看了什么书,学到了什么知识,当然也包括非技术方面的。

(其实以前,也就是13年,12年也有看书学知识,只是不记得的了,现在后悔当时没记录下来。)

回想一整年的事,有得也有失,也难免会有所疏漏和不准确之处。

我记得14年春节回来第一件事,是换工作,很多.NET的职位要求ASP,而我之前没做过WEB,只能边找工作边看书,也就是14年第一本书,《ASP.NET4入门经典》,当时是为了临阵磨枪,现在已记不清楚,但我记得书中的内容很适合初学者,翻译得也很好,我突击的也很快...当然,看得快,忘得也快。:-)

3月份我找到了新工作,是一家做大数据的公司,刚入职自然要好好表现,把所有时间精力都用在工作上,也就没学其他新技术,两个月后,公司统一加班,晚上加,周六加,忙得不可开交,一加就是三个半月,差不多到了9月份了,我自己认为这段时间我有不小的损失,损失有三:一是因为太忙,我很少抽出时间学习相关或其他的新技术,二是公司采用了闭源第三方组件,妨碍了我既有技术的进一步加深和提高。三是由于工作繁忙和心情郁闷,致旧病复发,手术治疗,花费万元。   有损失也有收获,我还是看了一些书的。

 我列举一下我今年看的书,并附简短评论。(也有一些是加班期间看的,评论仅代表个人观点)


《Microsoft.NET企业级应用架构设计》

这是本介绍架构设计的相当好的书,被认为是《企业应用架构模式》的.NET版本,看这本书的背景是大家有改进软件设计结构的想法,我希望自己能贡献一个合适的方案。虽然我没完全看完,但我仍然学到了很多,(没看完也跟软件规模偏小不足以应用书上的所有知识有关),书上讨论了常见的一些分层,翻译很好,浅显易懂。我认为自己学到的最重要的一点是 模式并不是在什么情况都适用,不同场合应该使用不同的模式。不要过早地套用某个模式,没有最好的模式,只有最适合的模式,以最小成本换来最大价值才是明智之选。 推荐你阅读。


《Programming Ruby 1.9&2.0》

比我之前看的《Book of Ruby》,《Learning Ruby》更全面,更权威,包含了1.9&2.0新特性,看完这本书后,我开始动手练习,不动手练习的话,会忘掉的,我(像以前学Perl一样)尝试写一些处理日常工作的脚本,rubyinstaller自带的chm帮助文档,很全面,查阅很方便,Ruby就像传说的那样,很酷,越用越开心,我推荐你也学学它,但有个不好的地方,中文资料太少,你可能要忍受英文了,还好前阵子出了两本讲Ruby语言的中文书,奇怪的是网上供不应求,处于无货状态,而书店里却摞着一大堆无人问津。你若有兴趣,可以找我,我们共同学习。


 《程序员的呐喊》

这本书是谷歌的一个程序员写的,它的标题偏人文,但它的内容很偏技术,他说了很多有关编程语言的分类与方法学,很有哲学范儿,也论述了几门主流编程语言的特点和优缺点,(但不包括C#,着实让我这个C#程序员汗颜了一把)他对重构和设计模式的见解很独到。让我感触颇深的有:1,“名词王国”其实是一种毫无必要的简单问题复杂化. 2.Lisp思维很优秀很重要.(等以后我有时间时再体会) 3.数学很重要,但要有正确的学习方式.(我被学校老师坑了) 4.编译原理和 算法与数据结构 同等重要,却被忽视。看完后,我立刻去淘宝买了复印版的算法和编译原理,因为复印版的便宜,即使没看也不致太亏,结果是我一直没看。:-) 另外,喜欢吐槽的你千万不要错过,书里有很多很多的吐槽,且都很犀利,绝对能让你过把槽瘾。强烈推荐给(没有偏见的)程序员阅读。

这本书还让我想起以前看过的一本书,叫《程序员,你伤不起》,是国人写的,书的内容很好,只是名字起得不咋滴。内容很少有技术,大多都是人文处事方面的,还有些是真实事件的感悟,内容符合国情,也富含正能量。强烈建议程序员和项目经理阅读,建议看慢点,边看边想,效果更佳。五星级推荐。


《TCP Sockets编程》

这本书很薄,是基于Ruby语言介绍Socket编程的,看这本书是因为我想用脚本写个轻量的服务端,它功能简单,只在内存中处理数据,可运行在每个开发人员的本机上,之所以会有这个想法,一个原因是有段时间不知是服务端故障还是网络故障,客户端经常连接不上,耽误客户端的开发进程,另一个原因是想搞个客户端的自动化测试,若要覆盖通信的测试,最好有一个可定制的服务端......理想很美好,现实很残酷,通信不灵。 我猜原因应该是Ruby在Windows上“水土不服”,*nix上起家的工具在Windows上有故障 很正常。可是,看书花的时间谁还给我?:-(


《理解Unix进程》

这本书也很薄,也是基于Ruby语言介绍,和《TCP Sockets编程》是同一个作者写的,因为在介绍Socket并发的时候,有种方式是多进程,作者在旁注上说若想深入理解,请参考我的另一本书《理解Unix进程》,于是我很乖地去看了,本书介绍了Unix进程相关的基础知识,很适合入门,翻译也很好,但如果你从事的工作和*nix无关,请不要看,看了也是白看,很快就忘干净,就像我一样。:-(


《程序员的数学》

我天生数学就不好,好在作者比较“啰嗦”,还附了很多图,虽然大部分我都懂,但有些地方我硬是转不过弯儿来。总体来说书的内容,并不像你想象的那样深奥,大部分还是比较简单的,你甚至早已遇见且处理过了,只是,他所采用的视角和思路很值得学习。此书对我这种数学菜鸟有用,对聪明的你不一定有用,我不推荐你看。在看这本书时,我产生了多次跟在看《程序员的呐喊》时一样的冲动,那就是 想把当年那些教我中学数学的老师们统统踹死。


《图解TCP/IP》

这本书和《图解HTTP》《图解网络硬件》是姊妹书,都是日本人写的,其实上文的《程序员的数学》也是,日本人写的书里面有很多插图,而且很Q,我是标准宅男,酷爱看动漫,所以这一类书对我很有吸引力,看这类书就像看漫画书一样,有趣还能学知识。看这本书的背景是在公司我负责Socket通信这一块,我希望这本书能弥补一些疏漏或带来一些启发,同时我也有打算学习一下网络与Web开发的想法。书的优点是插图多,简洁清晰,对想复习一下忘干净的网络知识很有用处。(我看了前半本,后半本还没抽出时间)


《WEB开发敏捷之道 应用Rails进行敏捷开发 第4版》

《Agile Web Development With Rails 4》

初学Rails,自然是选最新的Rails4,而4没有对应的中文版,现有的中文版第4版讲的是Rails3,由于3和4差异不大,所以我中英文对照着看,先看中文,再看英文。中文版前半本是实践,翻译得很好,后半本是理论,翻译得烂透了,尤其是路由那一章,我恨不得把小学语文课本砸到他脸上(人家还是博士呢),让他重新学小学语文。我搭建Linux环境,照着书上动手实践,那感觉真得很爽,Rails很奇妙,很智能,DSL很自然,效率超高,根传说中一样。第一遍实践,我有点害怕,因为不知道为什么,直到过了一段时间,看第二遍, 做第二次实践,才开始摸出其门道,有了豁然开朗的感觉,我还更新了Rails环境搭建的blog.很有满足感。


《Linux入门很简单》

这本书非常适合linux初学者,作者语言诙谐,创新使用拟人手法,即使是毫不了解的人,看了后都能理解,还会露出会心的微笑。它的内容非常实用,讲解很有趣,不像传统的linux书那样到处是无聊的命令行和参数且很多都是不常用的命令。我一直都难忘作者拿子进程父进程打比喻的那段,笑得我都流泪直流,如果你不了解linux,我很推荐你读一读,已经了解的人就不必了,虽然我之前有了解过,但还是学到了一些最基本的概念和基本的工具,这本书给了我开始使用linux的信心,(其实老早以前我就安装过,但那只是好奇尝鲜而已)这次是真的使用,配合以前看过的《鸟哥的linux私房菜》来解决常见的问题。Ubuntu现已是我在家里的默认系统,Windows是备选系统,只有非Windows不可时才会用它。我使用linux的直接驱动力来自Rails, 因为Rails不适合在Windows上开发(其实很多开源的技术都是linux更合适),也算是逼上梁山,但我不畏惧, 因为我早就开始做铺垫了,在公司Windows上优先使用开源,跨平台软件,如OpenOffice,Firefox,Thunderbird,VirtualBox,还有一些开发会用到的 Umlet,Pencil,Freemind,Dia等,这都是为了以后转到linux或mac os时,不至于“硬着陆”而“休克”。如果你也可能被逼上梁山或弃暗投明,那你也可以从现在开始优先选择跨平台软件。(这篇总结是在ubuntu上用libreOffice Writer编辑的)


《Linux口袋书》

这本书很小很薄很轻,里面全是常用的linux命令行及参数,很适合带在身上,在公交上或排队时翻看。看完后,感觉蛮基本的,没发现有多么“厉害”的东东。你要看可随时找我借。


《PHP和MySQL Web开发》

本来想通过Rails切入Web开发领域的,可是天有不测风云,受人之托,身不由已,被迫中途急转弯,钻进PHP。我发现PHP就像个大杂烩,它的基本语法照搬的Perl,它的文件读写照搬的C,它的面向对象照搬的Java, 感觉API也有照搬嫌疑,因数它的API有点乱,风格不一致。但它做事的思想很直率,用什么拿什么,不怎么讲究模式,这一点倒蛮自由的,phpMyAdmin操作MySql很方便,帮了我大忙,它有丰富的社区资源,只靠百度就能很容易解决,尤其它中文的在线文档,必须点赞。书我只看了前半本,因为对于任务内容来说,已经足够。受益于它广泛的网络资源,我没有付出多大代价,就完成了任务。(其实也跟任务内容有关,只是实现后端web service,不涉及前端UI展现) 哦,差点忘了,其实我还买了本国人写的《细说PHP》,它的书皮上写着LAMP,结果里面用的是Windows, 写书的模式有点像谭浩强,所以没怎么细看,当字典用倒蛮合适,它里面有很多现成的可用的代码段,图像处理那段就是我直接在这本书里抄的。


《HTML5权威指南》

之前无论是Rails还是PHP,都主要讲后端程序,涉及前端很少,HTML和CSS几年前倒是学过,但没实践过,年初突击ASP时眼熟了一下,朦胧地记得些基本结构,感觉还是让美工搞比较靠谱,搞程序的容易事倍功半。但最近HTML5炒得很热,再加上公司最近有接web项目的征兆,于是我就未雨绸缪了,这本书很厚,很全面,每个标签在不同HTML版本中的不同意思都介绍了,是一本综合大词典,适合查阅,里面也包含了CSS3,还有JS,但JS不够,还得看更详细的书。 这次我又黑熊掰玉米了,看得快忘得快。:-)   更操蛋的是,我刚看完没几天,HTML5标准就正式宣布定稿了。:-(


《图解HTTP》

了解HTTP协议对Web开发是有帮助的,虽不会带来直接的帮助,但了解它能让人更加“不惑“,步子走得更踏实。书的内容很简单,点到为止,而且只讲常用的,不常用的一笔带过,本来发什么信息代表什么意思的枯燥内容,被书中的可爱的拟人插图代替了,阅读起来不会觉得乏味。 看了半本,借给QA了。


《Rails 101》

这是本很薄,只有100多页,是台湾人写的,写的很不错,重点知识都包括了,只不过他的示例代码包含与mac电脑相关的东西,必须在mac电脑上实践,我也知道Rails程序员大多都用mac,但我是个穷屌丝,不舍得买。作者在前言上非常诚恳地劝说读者有必要买台mac, 从作者解释理由的那番话,我能断定作者一定是个好人,而且是个智者。我发誓如果有一天我从事了Rails开发工作,我一定会去买一台,但在从事相关工作之前就出手,我觉得这有点任性,也许我可以在虚拟机中试试。 目前我只是看了一遍,还没实践,等有条件了,我一定要回来实践一下。(虽然我有实践其他书上的示例,但不同的书学到的知识是不同的,多实践一定是有好处的)


《Rails Tutorial 第二版》

这本书最明显的地方是 TDD,测试驱动开发,全书都是TDD模式的,且使用的是RSpec,又加入了capybara和FactoryGirl,语法酷到没朋友,前端集成了bootstrap, 界面瞬间高大上,《Agile Web Development With Rails 4》和本书差异很大,前者比较保守,后者比较奔放,这两本都是介绍Rails的好书,你要学的话最好两本都看,RT我只实践了一遍,还差一遍。温故能知新,等有时间了我定会再来实践第二遍。

这里我要提一个Rails开源项目Redmine,公司采用了这个系统,但这个系统有瑕疵,我出于一方面巩固既有知识,提高自己水平,一方面方便大家使用,请缨维护Redmine,但后来发现它实现方法很老旧,大概是Rails3甚至Rails2时代的用法了,跟我看的书(Rails4)有很大差异,且还有不少地方设计得明显不合理。同时我看了一篇文章,大意是WordPress虽然是著名开源系统,但不适合初学者阅读学习,因为它的实现很老旧,经历了多年的修修补补,已经积累了很多应该重构的地方,而大多数人更在意稳定可靠,少有人在意代码写得好不好,且重构一个庞大沉重的系统,不是件容易的事,开发者没必要也不愿意冒险去干出力不讨好的事情。结论是即使是著名开源系统,它的代码也有可能很烂,也就是说阅读开源代码,不一定能提高你的水平。这篇文章一语惊醒梦中我,然后我就没再管过Redmine了.(为了它,我还特意买过一本国人写的 使用旧用法 的Rails3的书,内容质量很差,连垫桌子腿 或 糊墙都不配)


《Objective-C 基础教程 第二版》

学OC也是身不由已,个中原因,一言难尽。还是先说语言和书吧,我发现不同的语言有明显的不同的设计哲学,而介绍这门语言的书往往把这种哲学流露得淋漓尽致。Perl书流露出来的是懒,懒,懒;Ruby书流露出来的是酷,酷,酷;PHP流露出来的是借,借,借;而OC流露出来的是内存,内存,内存,全书上下都在提内存管理和性能,尤其是引用计数这个词,让我仿佛一下子回到了8年前学C++智能指针那会儿,心里开始悬挂起一块大石,不愧是上世纪80年代的语言,果然够低级。也难怪苹果设备上的应用占用内存少,还运行流畅,因为OC开发人员时时刻刻都在考虑内存和性能,它是强制性的。OC的低级语法一定会让初学者很难适应,幸亏我有金钟罩(C),铁布衫(Ruby),因为OC本质上是C,在C基础上添加了对象特征,C我很熟悉,(在12年转C#之前,一直都用C)  OC添加的对象机制是消息式的,这跟Ruby是相同的,(准确的说,OC和Ruby都是从Smalltalk那里借鉴的消息式机制). 总体看来OC还是具备大部分“现代”语言的机制的,只是用法让用惯“现代”语言的人觉得违和,别扭,需要适应一段时间,这本书确实跟京东评论的差不多,就是浅显,每个知识点只是略微一提,入门可以,深入的话,还得再找进阶书看,幸好有一本专门讲OC内存管理和多线程的,能弥补本书应该细讲而没有细讲的不足。我虽然看完了,但还没实践,mac电脑还没舍得买,打算先用虚拟机,关掉动画特效,虚拟机还算凑合能用。

其实13年选择学Ruby时,也是考虑到Ruby在mac上地位很高,而MacRuby是苹果内部开发出来的用Ruby语言开发原生二进制mac应用的高效工具。谁知新任的库克那个SB又搞出个Swift,既生瑜何生亮,可惜乔老爷又不能爬出来捶他...... 最后我只能选最靠谱的OC了,因为OC陪伴苹果风雨20多年,其稳定性和知识积淀毋庸置疑,岂是乳臭未干的swift可以比肩,也许三五年后情况会改变,但现在还不行。


JS和AI只学了一点点,还不够忘的呢,只能忽略不计。

R 曾经学了两三个章节,放弃了,并不是因为它语法脑残,而是因为我自己先天数学不好,对这种数学密集型的东西只会事倍功半,还是尽早放弃的好。


差不多就这些,(感觉和13年相比,少了)春节期间,我打算看本Cocoa的书。

如果这篇短文能让你产生想给自己充充电的想法,那我真是太荣幸了。不管你学什么,麻烦你给我说声,让我拜你为师,以后劳烦你能指点我一二,不胜感激。

最后我得感谢一个人,婶子(Junx他妈),她在这里帮我们买菜,做饭,刷碗,打扫房间,还帮我收晒衣服, 如果没有她,而是我自己做这些,一定会花掉很多时间,我会少看很多书,因为她,我没有少看这些书,真的很感谢她。

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
Ruby is the fastest growing and most exciting dynamic language out there. If you need to get working programs delivered fast, you should add Ruby to your toolbox. This book is the only complete reference for both Ruby 1.9 and Ruby 2.0, the very latest version of Ruby. 2013 marks the 20th anniversary of the Ruby language. We’re proud that throughout its history, we’ve continued to cover the latest version of Ruby. Would you like to go from first idea to working code much, much faster? Do you currently spend more time satisfying the compiler instead of your clients or end users? Are you frustrated with demanding languages that seem to get in your way, instead of getting the work done? Are you using Rails, and want to dig deeper into the underlying Ruby language? If so, then we’ve got a language and book for you! Ruby is a fully object-oriented language, much like the classic object-oriented language, Smalltalk. Like Smalltalk, it is dynamically typed (as opposed to Java or C++), but unlike Smalltalk, Ruby features the same conveniences found in modern scripting languages such as Perl and Python. The combination of the power of a pure object-oriented language with the convenience of a scripting language makes Ruby a favorite tool of intelligent, forward-thinking programmers. The Pickaxe contains four major sections: An acclaimed tutorial on using Ruby. The definitive reference to the language. Complete documentation of all built-in classes, modules, and methods. Complete descriptions of all 97 standard libraries. This is the reference manual for Ruby, including a description of all the standard library modules, a complete reference to all built-in classes and modules (including all the new and changed methods introduced by Ruby 1.9, 1.9.2, 1.9.3, and 2.0). It also includes all the new and changed syntax and semantics introduced since Ruby 1.8. Learn about the new parameter passing rules, local variable scoping in blocks, fibers, and the new block declaration syntax, among other exciting new features. About Ruby 2.0 Ruby 2.0 is a minor update to Ruby 1.9, unlike the more major updates from Ruby 1.8 to Ruby 1.9. The major language changes in Ruby 2.0 are the addition of keyword arguments and the change to use UTF-8 as the default source file encoding. There are a number of additions to the standard library, including: @Enumerator::Lazy@, which adds support for lazy access to potentially infinite lists. Refinements allow you to encapsulate changes to third-party classes, and scope their application to individual source files, preventing your changes from polluting the global application. You’ll also find that Ruby 2 is faster, and has memory management improvements that make it more server-friendly. All told, there are over 110 sections of the book that have been flagged and cross-linked to indicate 2.0 content. What You Need This book assumes you have a basic understanding of object-oriented programming. In general, Ruby programmers tend to favor the the command line for running their code, and they tend to use text editors rather than IDEs. * Ruby runs on Windows, Linux, and Macs.
1、资源项目源码均已通过严格测试验证,保证能够正常运行; 2、项目问题、技术讨论,可以给博主私信或留言,博主看到后会第一时间与您进行沟通; 3、本项目比较适合计算机领域相关的毕业设计课题、课程作业等使用,尤其对于人工智能、计算机科学与技术等相关专业,更为适合; 4、下载使用后,可先查看README.md文件(如有),本项目仅用作交流学习参考,请切勿用于商业用途。1、资源项目源码均已通过严格测试验证,保证能够正常运行; 2、项目问题、技术讨论,可以给博主私信或留言,博主看到后会第一时间与您进行沟通; 3、本项目比较适合计算机领域相关的毕业设计课题、课程作业等使用,尤其对于人工智能、计算机科学与技术等相关专业,更为适合; 4、下载使用后,可先查看README.md文件(如有),本项目仅用作交流学习参考,请切勿用于商业用途。1、资源项目源码均已通过严格测试验证,保证能够正常运行; 2、项目问题、技术讨论,可以给博主私信或留言,博主看到后会第一时间与您进行沟通; 3、本项目比较适合计算机领域相关的毕业设计课题、课程作业等使用,尤其对于人工智能、计算机科学与技术等相关专业,更为适合; 4、下载使用后,可先查看README.md文件(如有),本项目仅用作交流学习参考,请切勿用于商业用途。1、资源项目源码均已通过严格测试验证,保证能够正常运行; 2、项目问题、技术讨论,可以给博主私信或留言,博主看到后会第一时间与您进行沟通; 3、本项目比较适合计算机领域相关的毕业设计课题、课程作业等使用,尤其对于人工智能、计算机科学与技术等相关专业,更为适合; 4、下载使用后,可先查看README.md文件(如有),本项目仅用作交流学习参考,请切勿用于商业用途。1、资源项目源码均已通过严格测试验证,保证能够正常运行; 2、项目问题、技术讨论,可以给博主私信或留言,博主看到后会第一时间与您进行沟通; 3、本项目比较适合计算机领域相关的毕业设计课题、课程作业等使用,尤其对于人工智能、计算机科学与技术等相关专业,更为适合; 4、下载使用后,可先查看README.md文件(如有),本项目仅用作交流学习参考,请切勿用于商业用途。1、资源项目源码均已通过严格测试验证,保证能够正常运行; 2、项目问题、技术讨论,可以给博主私信或留言,博主看到后会第一时间与您进行沟通; 3、本项目比较适合计算机领域相关的毕业设计课题、课程作业等使用,尤其对于人工智能、计算机科学与技术等相关专业,更为适合; 4、下载使用后,可先查看README.md文件(如有),本项目仅用作交流学习参考,请切勿用于商业用途。1、资源项目源码均已通过严格测试验证,保证能够正常运行; 2、项目问题、技术讨论,可以给博主私信或留言,博主看到后会第一时间与您进行沟通; 3、本项目比较适合计算机领域相关的毕业设计课题、课程作业等使用,尤其对于人工智能、计算机科学与技术等相关专业,更为适合; 4、下载使用后,可先查看README.md文件(如有),本项目仅用作交流学习参考,请切勿用于商业用途。
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值