摘要:
啊哈,时隔两个月,才开始写上一篇文章的后续,实在是惭愧.主要是年尾公司又来活了,忙得团团转,而且这段时间在自学mvc.我在上文中,提到过我对mvc框架的初步印象是:相比webform,算是回归了bs本质.这段时间的学习,也算是验证了这一点,没有了神(qi)奇(guai)的viewstate,所有前后端交互通过http请求向control或者其他的HttpHandel集中处理或是中转,整个流程的数据流转非常清晰. 额,其实本来这个系列,我是很有一些东西想深入讲讲的,但学了mvc之后,才发现原来很多东西mvc框架早已经考虑到了,那我也就不讲太多了,本文即是这个系列的最后一文,还有,不知道小伙... 阅读全文
摘要:
买了本asp.net mvc4高级编程 里面的源码下载下来是.nupkg后缀的文件,不知道怎么引入到项目中,baidu无果,只好google,可怜我英语四级都难的人,不过所幸还是找到了方法:http://sekupang.net/technovista/post/2012/11/01/How-to-... 阅读全文
摘要:
ajax相信大家都用过,随着现在web站的要求越来越高,ajax毫无疑问是bs开发中最常用的必备技能之一。但很多人觉得ajax这东西理解起来很难,用起来不顺畅,容易出现“莫名其妙”的问题,难以掌控。更有甚者,觉得ajax是很牛逼的技术。同时,市面上也有很多ajax控件,比较有代表性的是两个,微软的updatepanel和ajaxpro。这里我不讲他们的用法,就试图从bs本质和http角度去解读一下它们。首先,我得说明下,我对这两个控件,仅仅只是“用过”的层次,掌握的并不深,比如updatepanel,有很多很灵活的用法,我都见过,但没有去使用和深究。没有调查就没有发言权,我这篇文,也绝不是抨击 阅读全文
摘要:
写在前文:对asp.net这门技术,我个人的感情是比较矛盾的,喜欢她,是因为这门技术带领我走进了bs的大门,让我完成了从cs程序员到bs程序员的转变。而厌恶她,则是因为,我差点就被她带入了歧途,通过对http请求处理的层层封装,弄个runat server和viewState,让bs程序(表明上)可以像cs一样的运行。这确实是降低了bs的入门门槛,但也造成了asp.net程序员对bs本质的理解的障碍,导致写起程序来,总感觉隔着点什么。 首先,说下我自己接触asp.net的过程,大三搞android,大四上搞的是winform,大四下学期自己看了2个月的j2ee,也就学到serverlet处理. 阅读全文
摘要:
using System;using System.Data;using System.IO;using System.Web;using NPOI.HPSF;using NPOI.HSSF.UserModel;using NPOI.SS.UserModel;using NPOI.SS.Util; ... 阅读全文
摘要:
对线程同步做一个总结,一般来说,线程同步比较让人纠结的地方在于它是许多线程共用一段代码的,而且什么时候谁用谁不用,也基本是不可控制不可预料的,那么对于它们可能会同时访问并更改的数据,就需要加锁了。加锁就是将一段代码变为临界区 —— 一段在同一时候只被一个线程进入/执行的代码,加锁的方式一般有两种,Lock关键字C#提供lock关键字实现临界区,MSDN里给出的用法:Object thisLock= new Object();lock (thisLock){ // Critical code section} 此方法的难点是如何选择锁的对象,比如写日志类,如果是静态对象锁自身,那么即使是不冲突的 阅读全文
摘要:
由于子系统中的任务,需要处理的数据量比较大,为了提高系统工作效率,老大要求使用多线程来执行任务,而我刚好负责流程控制这一块,当时真是被多线程折腾的死去活来,这个系统其实是有原型可以参考的,而且这个原型系统是久经考验,稳定性也很高;所以老大给我的时间并不多,我当时也没意识到难度会如此之大,但原型使用的是单线程,很多模块在单线程下跑得很欢,一到多线程就各种难了。其实现在想来,使用多线程并行处理数据,真心不算个好的决定。多线程适合处理的任务性质多为耗时的等待,或轮询判断状态。而此数据管理系统的瓶颈却是cpu运算和硬盘数据传输速度,后来测试结果也显示,多线程对性能的提升并不算太明显。当然这个不是... 阅读全文
摘要:
分而治之思想,面对一个体系很庞大(相对我而言)的程序的开发,首先应将程序合理的划分一些层次和模块,不要至上而下的开发,不然可能呆坐半天而下不了手,应该先把下层的小模块做好,再组装起来,即使组装的时候发现了很多需要修改的地方,也不是很要紧,利用resharper和vs的强大的重构和提示功能,完成修改并不算困难。写这段话的时候,还是我实习中刚开始参加开发工作的时候(2012年的8-9月份),那时我水的一比,给我一个很小的功能模块,我都下不了手.我还记得这段话的背景是:我要开发一个小功能,读取文本文件,里面有一些坐标和卫星图像的参数信息,我需要读取出来,然后通过一个复杂的计算公式,求出某个投影坐标, 阅读全文
摘要:
以前使用java编写功能函数的时候,总感觉模块之间的耦合和模块之间的数据传递的便利,两者有点鱼与熊掌不可兼得比如我在ReadCameraFile类中读取出camera参数数据,保存在类成员变量——arraylist中,其他类通过对象去获取这个arraylist,那么这两个类的耦合就有点高了,而且还有一个弊端就是,用arraylist保存数据,那么取出的时候,也要严格按照存入的顺序取出,比如我第一个数据是片号,第7个数据是X3的值,存取过程繁琐易出错?用map同样如此,key的值没有提示,取数据的人,同样不知道map里面有哪些key?这样以后开发大型应用的时候,很可能会乱套,而且反复的装箱和拆箱 阅读全文
摘要:
建立一个使用struts的程序其实步骤并不是很多,1, 在web.xml里面配置好过滤器,2, 导入需要的struts Jar包。3, 设置struts.xml的监听 ,决定action由谁来处理4, 完成设置的action监听类。过滤器的种类貌似很多,还不是很清楚它们之间的区别。通过.properties文件进行字符串配置,可以配置出多种语言, android也有类似的语言国际化方案。使用的时候,通过 来调用。EL表达式: ${sessionScope.user} 表示session中取出userstruts.xml的监听方案很灵活,可以做很多的配置比如下面这个,客户端提交的表单的actio 阅读全文