zoukankan      html  css  js  c++  java
  • 学习之路二十四:2012年我从工作中学会了哪些?

    这是春节前的最后一篇文章了,今天公司没事,想对2012的工作做个详细的梳理,让我知道这一年我有什么样的收获,好了,先来张图:

     

    Contents:

    1. WCF入门
    2. ADO.NET的封装
    3. 缓存的使用
    4. 简单重构项目代码
    5. JSON
    6. Socket
    7. 性能优化
    8. 工作方式
    9. 沟通
    10. 思维方式和高度

    一丶WCF的入门

      (2012年5月至今一直断断续续的学习)

      本来今年没有打算学习WCF的,不过来到新的公司却发现项目是基于WCF基础上进行开发,无奈我需要了解下关于WCF知识的。

      一开始是看得“<<WCF服务编程中文版>>”这本书,可是有的知识点讲的很难懂(我是新手),于是在开始在园子里面收集WCF系列文章,看的蛮多的,算是入了个门!

      但还需要继续深入,有些东西还是似懂非懂的,2013年我更加系统性的学习WCF的!

      分享下我这一年半收集的资料:http://www.kuaipan.cn/file/id_29568238492844035.htm

     

    二丶ADO.NET的封装

      (2012年8月)

      虽然对ADO.NET的基础知识还是比较熟悉的(参考:ADO.NET - 全面梳理ADO.NET - 深入DataTable(资料)),可是要想把ADO.NET封装成一个方面使用的API还是需要一些思想和技术的,我也是参考了很多的资料,也经过了一些列的测试才逐步完善现在项目中使用的DBAccessBroker这个类库的。

      参考:学习之路十六:自定义数据库通用类 → 模仿+改进 (欢迎大家提出改进意见)

      这个类库的功能还是比较简单的,仍然在牛逼的路上...... 

      ADO.NET 常见异常收集

     

    三丶缓存的使用

      (2012年11月)

      说起对缓存的学习还是在Review项目代码的时候发现,那时候发现项目中有很多地方会去查询数据库(速度太慢了),可是这些数据基本是不变的,所以当时研究了一下缓存技术,也看了ASP.NET的缓存(可是项目不是ASP.NET),最后结合ASP.NET技术实现了一个自定义的缓存,参考:学习之路十九:模仿ASP.NET的缓存依赖自定义缓存机制

      这个缓存实现可能不能适应大项目,会有点耗性能,不过对于我们公司的项目已经够了,:-) 

     

    四丶简单项目重构

      (2012年12月-2013年1月)

      说起项目重构我真的是没有经验,而发起项目重构的原因是:新的需求导致了原有架构不能很好的扩展了,所以才做了一次简单的项目重构。

      而这次的项目重构也是挺简单的,主要方面:命名规范,分层思想,异常处理,职责单一原则,业务拆分(这个是这次重构最大的改动),代码规范等等

     

    五丶.JSON

      (2012年10月)

      对于JSON我也有一段时间学习过(参考:学习之路十一:JSON(序列化与反序列化)),对它也是有一点了解吧,可是在2012年7月的时候对项目中原有的JSON类做了一个测试,发现对于大数据量的转换速度很慢,尤其对于数据结构比较复杂的Entity会更慢,于是就开始了优化JSON的工作!

      感觉优化JSON的过程其实挺幸运的,找了一些资料,让我发现了fastJSON(http://www.codeproject.com/Articles/159450/fastJSON),在对它研究了一段时间后,果断用于项目中,发现速度那是刷刷刷的往上飙啊,不过在旧版的fastJSON不能进行反序列化操作,不过在最新版本中已经没有问题了,可以放心使用了,o(∩_∩)o 哈哈......

     

    六丶Socket

      (2012年12月至今一直在学习)

      对于Socket此前我一直是很畏惧了,因为感觉它很神秘,一直不想去学习它,可是在2012年底有一个项目中必须要使用这个技术(幸好有个好同事帮我完成了)!

      于是就下决心好好的学习它一下,不过发现在学习的过程中一段不要急于求成,因为用这样的心态去学习,很多东西你只能很肤浅的去看待,不能真正的看到本质原因,所以在学习的过程我都是第一遍看不懂,那我来第二遍,还不行再来第三遍,我就不行搞不定它,加油......

      园子里面有很多这方面的文章,我就不一一列举了,站在巨人的肩膀上才能看的更远......

     

    七丶性能优化

      (一直在进行着)

      在团队中也从来没有对性能优化做一次很详细的分析(当时这个后台项目只有我一个人),这只是我在平常工作不忙,或者在Review代码的时候从中发现的一些问题,从而进行改进,也就是说性能优化一直在持续着.......

      关于性能优化园子里面有很多资料,无非就是数据库优化,资源利用率优化,缓存等等,虽然就这几个,可是这里面的学习真的还有很多,我需要慢慢的积累和学习!

     

    八丶工作方式

      (在慢慢的改变着)

      说起工作方式在刚开始的时候根本不知道它是什么玩意,可是自从来了这家公司,繁忙的任务,太多的压力让我开始慢慢改变自己的工作方式,如果我不改变,我的工作将变的一团糟,效率降低,质量还很差,所以我一直在改变,追求一个适合自己的工作方式!

      8.1 工作的思考一:业务流和工作管理

      8.2 工作的思考三:工作质量,计划制定,沟通交流

      8.3 工作的思考六:笑看工作压力

      我现在对待每一个任务都会以一个Work To Do List记录下来,没有完成显示红色,完成了显示绿色并备注过程等等,这样才能不会出现遗漏工作任务的情况,这个我已经变成习惯了,坚持! 

      

     

    九丶沟通

      说起沟通,我在刚进入现在待的公司的时候,需要另一个部门的同事帮助,那时候的沟通让我吃尽了苦头,有的时候一个很简单的沟通,我愣是把它说的十万八千里之外,这样直接导致了工作延误,我很害怕!

      可是Leader和项目却一直在旁边细心的指导我,经过他们几次的批评和指导之后,我在改变,我也更注重跟同事,跟上级的沟通。

      9.1 工作的思考二:无效的沟通 (写这篇文章的时候我才刚开始意识到自己的沟通问题,可是一直没有从根本上做改变)

      9.2 工作的思考九:公司考核带出沟通能力的思考 (到这篇文章之后我才真正意识到沟通的问题之所在,才开始慢慢的改变沟通方式)

      从上一篇文章(9.2)之后到现在沟通上有的时候还会出现问题,不过我都会及时的反省并做出改变,我曾经为了提醒自己跟别人说话之前一定要很清楚的知道自己要表达什么问题,扇了自己十个巴掌,目的是为了提醒我要有这个意识,刺激自己! 

      我相信沟通能力我会慢慢的掌握和熟练,加油!

     

    十丶思维方式和高度

       这个东西很悬,我一直没有很深入的领悟过,主要是我的经验还不够(不会太心急这个怎么样,慢慢来),不过有这样的想法肯定是好的,看问题不能太局限性,就像写代码,一定要多角度考虑,不能你写一句代码就会影响十行代码,这是万万不可的!

       不过在做一个项目的时候,让我有了一丝的认识:工作的思考十:思维的高度决定设计的好坏(小菜的思维)

       作为项目的开发者,我们应该从更高的角度看待每一个问题,而不是角度单一,高度不高等等,很显然我还没有做到,我还需要很多的磨练,跌倒,爬起来,再跌倒,再爬起来,这样反复的历练才能有更深入的感悟!

     

    结束语:

      明天就要回家咯,这是2012年最后一篇了,回想这一年,努力的还不够,养成了一些坏习惯和一些好习惯,2013年改掉那些坏习惯!

      还有身体很重要,2013年我投入一些时间进行身体锻炼,一定会做的,意识到问题就去改变,这是程序猿的好习惯!

      祝园友新年快乐,Happy New Year!

     

    以同步至:个人文章目录索引

     

  • 相关阅读:
    Codeforces Round #603 (Div. 2)
    【bzoj1997】[Hnoi2010]Planar(平面图+2-sat)
    【poj3207】Ikki's Story IV
    【HDU1814】Peaceful Commission(2-sat+暴力染色)
    Educational Codeforces Round 77 (Rated for Div. 2)
    【hdu3311】Dig The Wells(斯坦纳树+dp)
    [USACO3.3] A Game
    [TJOI2013] 单词
    [USACO3.3] Home on the Range
    [NOI2011] 阿狸的打字机
  • 原文地址:https://www.cnblogs.com/yangcaogui/p/2908836.html
Copyright © 2011-2022 走看看