摘要:
在web开发中,一个简化的处理流程就是:客户端发起请求,然后服务端进行处理,最后返回相关数据。不管对于哪种语言哪种框架,除去细节的处理,简化后的模型都是一样的。客户端要发起请求,首先需要一个标识,通常情况下是URL,通过这个标识将请求发送给服务端的某个具体处理程序,在这个过程中,请求可能会经历一系列全局处理,比如验证、授权、URL解析等,然后定位到某个处理程序进行业务处理,最后将生成的数据返回客户端,客户端将数据结合视图模版呈现出合适的样式。本文从express框架的源码着手,分析了其路由机制。 阅读全文
摘要:
完整示例下载(树的实现过程已经封装成了一个类,方便有需要的人使用) 在网页开发中,大部分的下拉菜单都是一行一项并且上下对齐,这样虽然很好但是缺乏层次结构感,客户不知道各个选项之间的关系,因此有的时候我们需要在下拉菜单中以树形结构展示下拉项,给客户更好的体验。比如:假设数据库中有张表存放了中国省... 阅读全文
摘要:
最近在开发服务后台的时候,使用c#调用了多个c++编写的dll,期间遇到了一系列的问题,经过一番努力最后都一一解决了,在此做个总结,方便以后参考。主要有:类型对照问题、内存释放问题、版本问题、编译问题、资源加载问题、异常捕获与问题定位、vs实时调试问题等。 阅读全文
摘要:
在UrlRoutingModule模块中,将请求处理程序映射到了MvcHandler中,因此,说起Controller的激活,首先要从MvcHandler入手。本文主要是通过源码分析Controller的创建流程,弄清楚Controller是如何一步一步创建出来的。 阅读全文
摘要:
最近在部署网站的时候尝试了一下使用该工具对前端资源进行处理,因为 FIS3 的构建不会修改源码,而是会通过用户设置,将构建结果输出到指定的目录,所以用起来很放心。在使用的过程中发现了一个问题,就是本来正常的网站,通过fis3处理后,出现了中文乱码情况 阅读全文
摘要:
最近有个同事在调用一个类库中的方法时遇到了一个问题,异常信息如下:尝试释放正在使用的RCW,活动线程或其他线程上正在使用该 RCW,释放正在使用的 RCW 的尝试会导致损坏或数据丢失。 阅读全文
摘要:
在使用mongoose的聚合时一定要注意,在id列上使用$match会有个小问题,参考上面的代码,`{$match:{_id:"5576b59e192868d01f75486c"}}`这句话不起作用,但数据库中明明有对应的文档,改为其他列(比如:title)就没问题,但有时就需要使用id列,这时需要这样写`{$match:{_id:new mongoose.Types.ObjectId(id)}}`,经查阅,mongoose中有两个地方定义了ObjectId,`mongoose.schema.Types.ObjectId`和`mongoose.Types.ObjectId`,在这里只有后面那种才起作用。 阅读全文
摘要:
passport的验证过程主要依赖具体的验证策略来实现的,比较常用的有session策略、local策略和github策略等,验证逻辑都是在这些策略类中定义的。passport模块的定义主要包括三个部分:passport类、相关中间件和验证策略,passport自带了session验证策略,如果要使用其他验证策略,需要自行添加。 阅读全文
摘要:
在旋转手机屏幕的时候需要让gridview的列数与宽度能自适应屏幕宽度,每个单元格之间还需要保留一定的间距。因为每款手机的屏幕宽度不都相同,我们在指定了单元格的宽度与间距之后,并不能确定每行中所能容纳的单元格数量,这个数量必须在运行时通过计算得出,那么... 阅读全文
摘要:
由于操作失误,需要将代码进行版本回退,首先在本地仓库执行了“git reset --hard HEAD^”命令,这样只会回退本地仓库的代码,但是我的代码之前已经push到了远程库中,查看远程仓库,发现并没有回退,怎么办呢,经过实际操作,通过以下方法可以达到效果: 1:首先在本地分支执行“git... 阅读全文
摘要:
最近在网上看了不少博文,发现有一部分人实在是厉害,不仅能写出很牛逼的开源项目,还能创造出新技术能与国外比较成熟的类似技术相抗衡,对于这些牛人实在是自愧不如,于是乎反问自己,如何才能成为像他们那样的牛人,或者接近他们那样的水平?一盆热水泡好脚后,带着这个问题我很快入进入了梦境z z z 阅读全文
摘要:
在web开发过程中,有时候为了数据传输的方便,比如:后台需要更新前端的ViewModel,此时我们定义一个与前端ViewModel结构一样的DTO对象,从数据层获取数据后,将数据封装成DTO然后序列化为json传回前端,由于我正在开发的项目中的Model是用DataSet来实现的,不是纯粹的面向对象(如果Model是对象的话可以用AutoMapper来实现转换),所以从数据层获取的都是DataSet或DataTable,这时需要将DataTable转换为DTO对象,DTO属性与DataTable列之间并不是一一对应的关系,为了转换方便,实现了一个简易的转换类 阅读全文
摘要:
Router中不仅能存放一般的中间件,还能存放Router,这一点在源码中能看的出来,因为Router的构造函数中返回的是一个router函数,而中间件的生成也需要一个处理程序(函数),那么如果把Router()返回的处理程序作为参数传入中间件的生成方法中,就相当于Router中存放了一个Router中间件,只不过这两个Router是两个不同的实例。 阅读全文
摘要:
jquery-validation.js在前端验证中使用起来非常方便,提供的功能基本上能满足大部分验证需求,但我们在做项目的时候总会遇到一些特殊需求,例如,在单个控件验证结束后,根据验证的成功与否,需要调用一些自己定义的方法,这个需求貌似该插件没有提供(可能有只是我没发现),通过对源码的分析,找到了一种可以给指定控件添加验证回调函数的方法,虽然需要修改一部分源码,但是丝毫不影响对其之前的使用,该方法可以批量添加多个控件的验证回调函数,添加方式与添加自定义规则、自定义错误信息等类似,在阅读源码的过程中,还发现了如何控制控件验证的事件触发,以及如何解决与My97DatePicker日期插件的冲突等问题,所以建议大家多看源码,有时候会有意外收获哦。
本文包括三个方面:添加控件的验证回调函数、控制控件验证的事件触发以及与解决My97DatePicker日期插件的冲突问题 阅读全文
摘要:
初学者在学习Objective-c的时候,很容易在内存管理这一部分陷入混乱状态,很大一部分原因是没有弄清楚引用计数的原理,搞不明白对象的引用数量,这样就当然无法彻底释放对象的内存了。本文分享了自己在理解引用计数时的分析过程,结合相关图形,希望能让大家深刻理解对象引用计数的原理。 阅读全文
摘要:
Objective-C里面的集合主要包括:NSString,NSMutableString,NSArray,NSMutableArray,NSDictionary,NSMutableDictionary,本文主要是对这些集合的相关操作做一些基本总结。 阅读全文
摘要:
最近在做的一个项目中需要生成Excel,通过学习使用NPOI实现了相关需求,写了一个简便操作的类,记录如下: 阅读全文
摘要:
一个自己手写的自动完成js类 阅读全文
摘要:
在IE浏览器下使用OpenFlashChart技术实现图表展示,在刷新图表时会遇到“无法获取属性reload的值: 对象为 null 或未定义”的问题,本文给出了该问题的解决方法。 阅读全文
摘要:
在web开发过程中,为了提高网站的用户体验,或多或少都会用到ajax技术,甚至有的网站全部采用ajax来实现,大量使用ajax在增强用户体验的同时会带来一些负面影响,比如:不利于seo;然而,对于asp.net来说,一般会采用ashx文件作为ajax调用的后台,这种情况下,每个ajax请求都会对应一个ashx页面,如果请求过多则会造成项目中有繁多的ashx文件,不利于管理与维护,那么怎样改善这种情况呢? 阅读全文
摘要:
什么是“泛接口”呢,我认为它不同于一般意义上的接口偏重于具体实现,而是上升到设计层面的一种思想,与一般接口的本质相同,“泛接口”的核心是“解耦”或者“自由互通”,体现在代码实现层面就比如各种设计模式、Spring等,解耦对象之间的依赖关系,否则会严重降低系统的维护性与扩展性;体现在数据库层面就比如用中间表(或者叫映射表)来解耦表与表的多对多关系,否则表信息与表关系严重糅合在一起,造成大量数据冗余;体现在ORM上就比如用配置文件来解耦对象与数据库表的对应关系(也可以用注解的方式)。还有MVC中URL与Action之间的路由机制,等等等等,类似这样的应用场景还有很多就不一一举例了,我们发现,以上场景中涉及到的两个“对象”之间是互不依赖的,因为都采用了某种手段将一方灵活的转换为另一方,正因为这种“解耦”或者“自由互通”的在各个地方都有使用,因此将其进行抽象,就得出了“泛接口”思想 阅读全文