随笔分类 - 工作小结
摘要:ajax相信大家都用过,随着现在web站的要求越来越高,ajax毫无疑问是bs开发中最常用的必备技能之一。但很多人觉得ajax这东西理解起来很难,用起来不顺畅,容易出现“莫名其妙”的问题,难以掌控。更有甚者,觉得ajax是很牛逼的技术。同时,市面上也有很多ajax控件,比较有代表性的是两个,微软的updatepanel和ajaxpro。这里我不讲他们的用法,就试图从bs本质和http角度去解读一下它们。首先,我得说明下,我对这两个控件,仅仅只是“用过”的层次,掌握的并不深,比如updatepanel,有很多很灵活的用法,我都见过,但没有去使用和深究。没有调查就没有发言权,我这篇文,也绝不是抨击
阅读全文
摘要:对线程同步做一个总结,一般来说,线程同步比较让人纠结的地方在于它是许多线程共用一段代码的,而且什么时候谁用谁不用,也基本是不可控制不可预料的,那么对于它们可能会同时访问并更改的数据,就需要加锁了。加锁就是将一段代码变为临界区 —— 一段在同一时候只被一个线程进入/执行的代码,加锁的方式一般有两种,Lock关键字C#提供lock关键字实现临界区,MSDN里给出的用法:Object thisLock= new Object();lock (thisLock){ // Critical code section} 此方法的难点是如何选择锁的对象,比如写日志类,如果是静态对象锁自身,那么即使是不冲突的
阅读全文
摘要:由于子系统中的任务,需要处理的数据量比较大,为了提高系统工作效率,老大要求使用多线程来执行任务,而我刚好负责流程控制这一块,当时真是被多线程折腾的死去活来,这个系统其实是有原型可以参考的,而且这个原型系统是久经考验,稳定性也很高;所以老大给我的时间并不多,我当时也没意识到难度会如此之大,但原型使用的是单线程,很多模块在单线程下跑得很欢,一到多线程就各种难了。其实现在想来,使用多线程并行处理数据,真心不算个好的决定。多线程适合处理的任务性质多为耗时的等待,或轮询判断状态。而此数据管理系统的瓶颈却是cpu运算和硬盘数据传输速度,后来测试结果也显示,多线程对性能的提升并不算太明显。当然这个不是...
阅读全文
摘要:分而治之思想,面对一个体系很庞大(相对我而言)的程序的开发,首先应将程序合理的划分一些层次和模块,不要至上而下的开发,不然可能呆坐半天而下不了手,应该先把下层的小模块做好,再组装起来,即使组装的时候发现了很多需要修改的地方,也不是很要紧,利用resharper和vs的强大的重构和提示功能,完成修改并不算困难。写这段话的时候,还是我实习中刚开始参加开发工作的时候(2012年的8-9月份),那时我水的一比,给我一个很小的功能模块,我都下不了手.我还记得这段话的背景是:我要开发一个小功能,读取文本文件,里面有一些坐标和卫星图像的参数信息,我需要读取出来,然后通过一个复杂的计算公式,求出某个投影坐标,
阅读全文
摘要:连续看了两天的某大型数据管理系统的代码,感觉现在有点头晕眼花的,刚开始我是在main函数入口处设置断点,然后将程序跑起来看看程序运行的顺序,结果各种函数的跳转和类的new马上就把我搞晕 了。后来是直接让程序跑起来,在触发过断点的调试状态下运行程序,如果触发事件,程序是可以自己停下来的,这样我就知道了那些功能到底是在哪里实现的,也可以在运行的过程中点击暂停,用f10开始跑起来,方便定位。看到现在,也差不多有了一个大概的印象,其实结构倒不是很复杂。里面界面、模块虽然多,但事实上都是很简单的平行关系,并不涉及到复杂的组装,嵌套。整体布局是比较流行的ribbon布局,主界面把各模块的位置分好,功能界面
阅读全文
摘要:公司的调岗是有考核的,当时我进入研发部的考核是2星期之内用c#开发一个winform程序,包括DevExpress的gridControl控件的使用,oracle数据库连接,数据的增删改查等功能,和使用arcgis engine控件完成地图的显示。我以前基本没使用过c#,这两星期也包括了对c#熟悉的过程。不过还好,我对java比较熟悉,而c#的基本语法部分和java相似度非常高,数据库操作流程写起来不算困难,而且偷偷的在这里说一下,由于内部消息,我大概猜到熟悉c#是个必须要求,所以提前一个星期就开始学习c#了,等于多了一半的考核时间,最后当然是轻松过关了。只是Dev控件种类丰富,功能强大,但也
阅读全文
摘要:这是以前在公司写的工作总结,当时只是完成任务,但感觉这样也是个很好的习惯,现在离开公司了,也坚持了下来。现在回过头来再看当时写的东西,觉得有些观点很可笑,于是,发表出来的博文,是经过一定的修改和润色的,比如和设计模式结合起来的总结,和java的对比什么的。 实习的第一个月在公司做的是测试工作,当时由于报开发的人比较多,别人问我愿不愿意做测试,也没多想,就同意了。 测试的入门比较简单,而且公司的测试主要是黑盒测试,基本上只要别人给你讲解一些这个系统的用途、思路,就可以上手测试了。黑盒测试比较无聊,我做的最多的事情就是拿着鼠标点点点……比较枯燥和繁琐,而且工作起来,没什么成就感,因为出现...
阅读全文