分享

08年个人学习计划 - 创的技术博客 - C 博客

 miaoyipkst 2008-02-13
2008年快过去一个月了,现在才给出今年的计划,有点晚了,但是总好过没有.我是一个执行力不太好的人,把这些写下来,今年年底的时候回头看看具体做了多少.

        今年是我进入工作的第四个年头了,与很多人不同的是,我是一个走过很多弯路的人,大学中不是学习计算机专业,没有受过系统扎实的计算机基础知识的教育,毕业之后进入这一行当了梦想中的程序员,却因为很多原因走了很多弯路,我曾经从事过openoffice的二次开发,这是我第一份的工作,但是由于这个项目太庞大而且我真正参与的时间又很短,基本没有学到什么东西;后来我喜欢上了开发游戏,看过<<Doom启示录>>之后因为卡马克而充满激情,梦想着去开发自己的游戏引擎,同时由于个人的原因,离开了北京来到深圳,从事了游戏开发的工作,可是事情进展的并不是很顺利,我没有机会直接参与到游戏引擎的开发中,一方面是因为国内独立开发自己游戏引擎的工作机会少之又少,大部分的公司都是采用商业的成熟稳定的引擎来直接使用,另一方面是自己的能力所限,之前没有太好的基础以及相关的经历,所以渐渐的我最初的热情在无趣的工作中被磨灭,再后来我离开了我的第二个公司;第三份工作,也就是现在的这个公司,我在这里已经待了一年多了,最开始的时候,我想去参与客户端P2P项目的研发,同样的,由于没有相关的经验没能如愿,在这个公司最开始时很多的时间我找不到自己的位置,更多的时候我觉得自己是一个打杂的,哪里需要我做一些琐碎的事情我就去哪里,我也曾经一度想离开这里,还好后来我的上级发现了我对服务器端编程的兴趣,让我从一个windows客户端的程序员转型为一个linux服务器端的程序员,做了几年的windows程序员,我一直觉得要做一个水平较高的win程序员要比做一个水平较高的linux程序员付出的代价要大些,一方面的原因是windows是封闭的,而linux上几乎所有的问题你都可以去自己开代码解决(前提是你的能力足够强),其二是windows上的开发对知识面的要求更多,程序员尤其是像我这样既做过游戏开发又做过应用软件开发的人深有感触,比方说你做游戏开发时用到的opengl/D3D的知识,当你转去做应用软件的开发时并没有给你带去太多的好处,而当我转型去做linux端服务器的开发之后,我发现我可以把我的精力集中在对linux系统,网络编程,算法等方面,这样更容易专注,也更容易深入进去.
        以上是我工作这几年的一个简单的经历,我觉得前面的几份工作给我带来的技术上以及行业相关技能方面的积累很少,我走了很多弯路才明白我最适合现在做linux服务器端的编程,才找到了现在的发展方向,但是,晚总比没有好,现在一切都还来得及.只是,我不能再浪费时间了.
         好了,开始描述一下今年我个人的学习目标,仍然是以打扎实基础为首要目标,其次关注目前所在行业的相关知识已经成功的开源项目.

(一)编译原理相关
书籍:<<编译原理与实践>>,<<编译原理:技术与工具>>,<<lex与yacc>>,<<精通正则表达式>>
目标:实现一个简单的语言及其相关的虚拟机(参考<<编译原理与实践>>的项目),熟悉使用lex与yacc,熟悉正则表达式,最好花时间阅读lex与yacc的代码并且写一个简易的解析正则表达式的库.

(二)算法与数据结构相关
书籍:<<算法导论>>,<<编程珠玑>>,<<计算机算法设计与分析>>(包括它的实验手册),<<算法题解>>,<<实用算法的分析与程序设计>>
目标:这个部分主要是围绕算法导论一书进行的,断断续续的看了几年,仍然没有看完,目前看到了动态规划一章,争取能多做一些练习题,同时学习到的新的问题和数据结构能自己实现出来.

(三)操作系统/linux内核相关
书籍:<<linux内核设计与实现>>,<<linux完全剖析>>,<<自己动手写操作系统>>,<<操作系统:设计与实现>>
目标:这一部分暂时不打算太深入,上面列出的书籍也不打算全部看完,能做到明白一些基本的概念即可,有时间再继续深入.

(四)数据库方面
书籍:<<数据库系统概念>>,<<数据库系统实现>>
目标:数据库是我的弱项,很多基本的概念也把握的不好,以看完第一本书为基本的目标,另外还需要针对具体的数据库(如mysql)学习它的使用.

(五)程序设计语言方面
目标:今年不打算在C\C++方面多花时间,这两门语言我不敢说玩的特别好,但是以实用的角度而言,目前的能力已经够用了.我认为一门知识够用,一般有如下几个标准:能解决工作中遇到的问题,不犯基本的错误,遇到问题明白到哪里可以获取到答案.
今年语言方面的学习主要放在perl,python和javascript这三门解释型的脚本语言方面,零零散散的用过一些就是还不太熟悉,需要系统的学习一下.

(六)代码阅读及实践方面
目标:今年争取写几个小型的但是比较实用的开源代码,另外,在代码阅读方面,重点还是放在开源的服务器项目上,目前lighttpd和memcache是看的比较多也大致明白了架构的,以后还需要看的有APR,nginx,sqlite这几个项目.

(七)其他
空闲时间(比如茶余饭后)看的"闲书":<<代码大全>>,<<重构>>,<<程序设计实践>>,还有一些文学历史书籍.

暂时就这些,打扎实基础,一步一步来.

    本站是提供个人知识管理的网络存储空间,所有内容均由用户发布,不代表本站观点。请注意甄别内容中的联系方式、诱导购买等信息,谨防诈骗。如发现有害或侵权内容,请点击一键举报。
    转藏 分享 献花(0

    0条评论

    发表

    请遵守用户 评论公约

    类似文章 更多