写出优雅简明代码的论题集 -- Csharp(C#)篇[2]
谢谢大家对本系列第一篇写出优雅简明代码的论题集 -- Csharp(C#)篇[1]的回复和讨论,我相信针锋相对的辩论不仅有助于发现答案,更让我们了解问题后面的实质。
对程序员而言,我们的代码需要:
1. 在预算内实现需求,让用户可以使用 -- 让自己或者公司可以赚到钱
2. 方便自己修改及日后维护
3. 方便别人修改及日后维护
4. 便于重复使用,为以后的开发节省时间
5. 让系统高效的运作
从美
http://www.cyqdata.cn/cnblogs/article-detail-25075
[Project Euler] 来做欧拉项目练习题吧: 题目012
[Project Euler] 来做欧拉项目练习题吧: 题目012 &nb
http://www.cyqdata.cn/cnblogs/article-detail-25070
不知道是mvc的bug还是form验证的bug,又或者本来就是这样的
遇到的情况:程序采用form验证来管理权限,当用户登录之后,任意打开一个他可以访问的页面,在地址栏中将地址复制一下,然后点击退出,页面跳转到登录页面,在地址栏中粘贴刚复制的地址,页面可以打开,再点击其他链接,系统提出要求登录。
问题:登出之后为啥还可以打开需验证的页面?
实验:起初以为自己的代码写的有问题。后来来了个简化的实验。如下:
实验环境:vs2010 + mvc 2.0 ,win7
步骤:
http://www.cyqdata.cn/cnblogs/article-detail-25066
Orchard:使用VS2010来生成一个地图Content Part
本篇介绍使用VS2010来开发一个地图Map part,然后在一个内容项中显示一个地图图片。在本文最后我将附上本示例的模块代码,大家可以下载进行查看。如果你还不知道如何生成一个Content part,请先看我之前写的在Orchard:生成一个Content Part。
生成模块目录结构
打开Code Generation 功能,输入下面
http://www.cyqdata.cn/cnblogs/article-detail-25065
Silverlight实用窍门序列:5.绑定webService数据到DataGrid,设置DataGrid模板,模拟数据库数据的绑定【附带实例源码】
根据第二节说述,我们能够从webService获取到相关的信息数据。那么我们如果要查询数据库的数据,就应该在webservice端使用Select 语句来查询到表,然后使用DataSet的GetXml()方法,获取到相应的XML格式化数据库表数据。在本实例中,我们在webService端模拟一串数据库表的数据。如下:
&l
http://www.cyqdata.cn/cnblogs/article-detail-25060
【原创】自定义Membership,KSPMembership发布,支持多数据库(mysql/oracle/sqlserver)
Membership相信大家都不陌生,Membership是微软在.NET 2.0时代推出的一套用户管理工具,问题在于微软官方的Membership仅仅是对SqlServer制作的,如果你的系统需要使用Mysql或者是Oracle就不好办了,虽然有些别的Membership能支持Mysql或者Oracle的,但是还没有一个集成到一起的。经历了这么多项目之后,有的项目用的是SqlServer,有的项
http://www.cyqdata.cn/cnblogs/article-detail-21047
使用Apworks开发基于CQRS架构的应用程序(八):应用程序的配置与编译
Apworks使用配置文件来启动整个系统。在上文中也能够看出,WCF服务在启动时,同时也启动了Apworks系统。所以,本节简要介绍这个WCF服务针对Apworks的相关配置节内容。 双击TinyLibrary.Services项目的web.config文件,根据下面的XML代码编辑该文件。 1: <?xml version="1.0"?> 2: <configura
http://www.cyqdata.cn/cnblogs/article-detail-21045
Orchard:生成一个Content Part
在Orchard:如何生成Hello World模块中介绍了如何生成一个不带Model的模块,本篇接着上面示例给大家讲解一下如何生成一个Content Part。如果还没有生成HelloWorld模块,请参考上篇做完练习再回来接着做本次练习。
Content Part
在开源社区项目Orchard基本概念在介绍了Orchard中Content T
http://www.cyqdata.cn/cnblogs/article-detail-21042
闲话Hashtable与Dictionary
以前对于这两个集合类的认识只是停留在是否支持泛型上,这几天趁着看算法导论的机会,把两个类的内部的实现机制好好的了解了一下。 Hashtable和Dictionary从数据结构上来说都属于Hashtable,都是对关键字(键值)进行散列操作,将关键字散列到Hashtable的某一个槽位中去,不同的是处理碰撞的方法。散列函数有可能将不同的关键字散列到Hashtable中的同一个槽中去,这个时候我们称
http://www.cyqdata.cn/cnblogs/article-detail-21023
一简易的DatePicker
DatePicker是个很常见的组件。我大致搜了一下,满大篇的demo。各大框架也把DatePicker纳入基本的组件库里。jQ的ui有,YUI的widget里也有。而且也封装的结结实实,兼容性,通用性,都做得挺好。于是在代码完善的同时,代码量自然也不会少。即使建立在基础库之上,代码也是好几百行。
真正使用的时候可能并不需要这么完善的功能。咱们就写个简陋点的东西,够自己用就行了。
而且以前有朋
http://www.cyqdata.cn/cnblogs/article-detail-21020
使用Apworks开发基于CQRS架构的应用程序(六):创建.NET WCF服务
在本节,我们将介绍.NET WCF服务的创建过程。
在Solution Explorer中,右键单击TinyLibraryCQRS,然后选择Add | New Project…菜单,这将打开Add New Project对话框
在Installed Templates 选项卡下,选择Visual C# | WCF,然后选择WCF Service Application,确保所选.N
http://www.cyqdata.cn/cnblogs/article-detail-21017
使用Apworks开发基于CQRS架构的应用程序(五):命令
客户端程序通过命令告知系统“应该做什么”。事实上,这是一种单向的交互过程,客户端程序仅仅向领域模型发送命令请求,它们并不会通过领域模型来查询某些数据信息。在CQRS架构的应用程序中,“查询”是另一部分的内容,这将在接下来的章节中单独讨论。当应用服务器端接收到来自客户端的命令请求后,就会将这些命令推送到命令总线。命令处理器会侦听命令总线,并相应地处理命令请求。现在,让我们在TinyLibraryCQ
http://www.cyqdata.cn/cnblogs/article-detail-21016
[Project Euler] 来做欧拉项目练习题吧: 题目011
[Project Euler] 来做欧拉项目练习题吧: 题目011 &nb
http://www.cyqdata.cn/cnblogs/article-detail-21015
[Project Euler] 来做欧拉项目练习题吧: 题目010
[Project Euler] 来做欧拉项目练习题吧: 题目010 &nb
http://www.cyqdata.cn/cnblogs/article-detail-15428
.NET Micro Framework开发板用户简明手册(v2.0)
说明:这是上一篇文档《.Net Micro Framework开发板用户简明手册》的2.0版本,上一个版本基于.NET Micro Framework 4.0平台,而本手册基于.NET Micro Framework 4.1,采用VS2010进行用户程序开发。
该版本不仅把内核由.NET Micro Framework 4.0升级到.NET Micro Framework 4.1版本,并且解决了R
http://www.cyqdata.cn/cnblogs/article-detail-15423
在Emacs中构建我的字典(sydict)
寒假在家真是有够无聊的,不能上网,没交通工具可以离开家里。
于是乎,把从学校里面带过来的几本书给看了。
之后又没东西看了,就一直在看Emacs Info。看着看着发现好多英文单词都不认识,都怪当初没有把英语好好学。这样,我就想到了Linux下的有名的国产开源辞典(stardict)。但是呢,每次都在emacs和stardict当中切换好不舒服。所以呢,我就打算自己写个在Emacs里面查询单词的接口
http://www.cyqdata.cn/cnblogs/article-detail-15035
【自然框架】QuickPager分页控件的单独的源码 V2.0.4.2。
QuickPager的源码分离出来之后由两个项目组成,一个是QuickPager、另一个是QuickPagerSQL。分页控件的演示也独立了出来。
如图1 。
QuickPager是分页控件的项目,负责UI的绘制,即上一页、下一页、页号导航等的绘制,还有事件的触发,控件绑定等功能。
QuickPagerSQL是生产分页用的SQL的项
http://www.cyqdata.cn/cnblogs/article-detail-15033
project euler 1~50 简单题解
project euler 1~50前一段时间看到有人在写project euler上的题目,然后我看了看题目,还好,权当练习python了,然后就花了一周做了些题目。话说python的整数太好用了,如果用c++写高精不知得花多少时间(c++有一个实现效率极高的大整数库gmp,不过编程比赛肯定是不能用的了,虽然python也不能用- -|| )java又慢的要死。MIT都不教LISP改教pytho
http://www.cyqdata.cn/cnblogs/article-detail-15028
MVC中更换皮肤应用的研究
现在有很多博客,微博,SNS等系统都有更换皮肤的功能,用户可以随心所欲的更换自己喜欢的主页皮肤,比如更换成蓝色格调,暖色格调等。从技术的角度来看,更换皮肤其实就是更换主页对应的CSS样式,所以实现该功能该功能的核心就是动态更改主页的CSS样式,另外要考虑到配置的方便,所以最好把皮肤的路径配置到web.config里。基于这样考虑,我们可以这样去处理:
1.配置web
http://www.cyqdata.cn/cnblogs/article-detail-15027
《C++标准程序库》学习笔记5 — 第七章
1.(P252)
迭代器的分类及其能力:input迭代器只能读取元素一次。如果复制input迭代器,并使原迭代器和新产生副本都向前读取,可能会遍历到不同的值。output迭代器类似。
2.(P258)
C++不允许修改任何基本类型(包括指针)的暂时值,但对于struct, class则允许。
所以:
1
2
vector<int> ivec;
sort(++ivec.b
http://www.cyqdata.cn/cnblogs/article-detail-15026