随笔分类 -  编程技巧

摘要:有些天没写文章了,今晚给大家分享一下我对配置管理的实现思路。这个实现主要适合中小应用程序(Web或Winform),如果你的网站需要负载均衡,那这个方案就不适用了,这时建议配置保存在数据库或分布式缓存里,如果你有更好的想法,欢迎指点。这个配置设计在09年开发SNS网站时就完成了,那时看了Discuz!的.net开源版本,觉得它的配置管理不够灵活才想到用泛型来实现自己的配置管理组件。今天要讲的实现比09初版本多了两点功能:配置路径的迟加载和自定义配置序列化。其中路径迟加载是在看到汤姆大叔一个配置管理文章想到的,其实这个小功能不需要.Net4.0的Lazy就可以轻松实现,因为,需求太简单了。这里所 阅读全文
posted @ 2011-12-28 21:31 Kudy 阅读(3720) 评论(29) 推荐(27) 编辑
摘要:在本人昨晚发的强大灵活的脏字过虑:1万字文章过虑1万关键词用时只要1毫秒(包括扩展的高亮功能) 文章中,只是介绍过虑的功能和性能,这个文章主要讲一下实现的思路,另外给大家看一下Aho–Corasick算法的C#实现。既然是要过虑,那就要先查找,如果是直接的一个字符一个字符的匹配,那是很耗时的,因为时间花在不需要匹配的工作,有不少人会用正则去解决过虑,我09年的时候也这样,但后来发现大量关键词下性能确实极低下,所以才会另想它法。上一文中的过虑主要思想是这样的,开始会先用一个字典保存保存所有关键词,同一个字母开头的会另放在一个子字典里,这样一来,扫描的范围就大大的缩小了,然后再考虑到脏字一般是2个 阅读全文
posted @ 2011-12-20 16:22 Kudy 阅读(5784) 评论(16) 推荐(12) 编辑
摘要:前天刚发过文章介绍了KudyStudio.Web.Activating,今天再次作了修改,并提供源码给大家。 KudyStudio.Web.Activating下提供了两个属性分别是ActivationAttribute、ActivationMethodAttribute,利用它们可以灵活地随时在你的程序集中注册一个或多个Appilcation_Start()前/后触发和Appilcation_End()前触发的处理事件。 KudyStudio文章目录 下载源码KudyStudio.Web.Activating.rar(.Net4.0) 可触发的函数目标定义如下: /// <s... 阅读全文
posted @ 2011-12-15 20:50 Kudy 阅读(2968) 评论(16) 推荐(20) 编辑
摘要:一、文件的防盗链:location ~* \.(gif|jpg|png|swf|flv)$ {valid_referers none blocked www.kudystudio.com kudystudio.com;if ($invalid_referer) {rewrite ^/ http://www.kudystudio.com/403.html;#return 403;}}第一行:gif|jpg|png|swf|flv 表示对gif、jpg、png、swf、flv后缀的文件实行防盗链第二行: 表示对www.kudystudio.com kudystudio.com这2个来路进行判断if 阅读全文
posted @ 2011-12-05 19:54 Kudy 阅读(1351) 评论(2) 推荐(1) 编辑
摘要:之前已发个文章分享刚完成的版本(http://www.cnblogs.com/kudy/archive/2011/11/07/2237802.html),这个是最近对MSH重构后的调整版本,修正了之前存在的几个小bug,也是最后分享出来给大家学习的版本。特别说明:源码分享出来主要不是让大家直接用,而是从中学习某方面值得你学习的,另一个目的是让大家对MSH进一步的了解,因为此系统使用了它提供数据访问。 主数据管理系统(Master Data Management System),本人开发它的目的是用来管理/整合公司内部所有子系统,包括用户、角色、权限(权限管理,授权与验权基础实现),同域名... 阅读全文
posted @ 2011-11-27 22:50 Kudy 阅读(9590) 评论(138) 推荐(85) 编辑
摘要:为了让我的WCF模块框架支持自定义通道上下文,对代码又进行了一次小型的重构,测试时发现类型转换的错误,最后发现是LoadFrom引起的。如果向 LoadFrom 上下文中加载了一个程序集,则将激活 LoadFromContext 托管调试助手 (MDA)。因为默认时加载程序集是在Defaul上下文的,所以就算是同一个程序集里,因上下文不同,类型也不同了,所以转换失败。最后用Assembly.LoadFile来解决了此问题。假设:a.dll 中有一个接口 interface ab.dll 中有一个类实现了该接口 class b : ac.exe 在程序内引用了a.dllAssembly.Lo.. 阅读全文
posted @ 2011-11-17 05:16 Kudy 阅读(1431) 评论(2) 推荐(1) 编辑
摘要:前天已发过文章分享了刚完成的一个主数据系统,受到了不少朋友的关注,这篇文章主要是对主数据权限设计方案的讲解,希望对大家有所帮助。源码下载与运行说明请查看 分享一个通用强大的主数据管理系统(架构设计讲解及源码下载)  权限管理一般为分授权、验权两大块,另外还有验权测试,这是在系统测试阶段要完成的工作。这里重点要讲的是授权,验权会讲一部分。一、主要数据表设计这是权限分组表,设计它是为了在管理权限时更加... 阅读全文
posted @ 2011-11-10 03:33 Kudy 阅读(13750) 评论(49) 推荐(71) 编辑
摘要:今日大致浏览了一下《High Performance Web Sites》。本书的中文版是《高性能网站建设指南》。本书另有对其中个别问题深入探究的进阶篇《Even Faster Web Sites》,中译《高性能网站建设进阶指南》。作者介绍上面的豆瓣链接中有,就不再照搬过来了。这本书中给出了14条网站性能提升的原则,每个原则独立成章,配有示例。这些原则大多数都非常实用,适合站点架构师、前端工程师。其中对于前端工程师的意义更大一些。这次看的是原版。我对于Web开发较缺乏实践经验,加之看得匆忙,因此可能存在遗漏、表述不当之处,希望广大网友不吝指正。原则1 减少HTTP请求数构造请求、等待响应需要时 阅读全文
posted @ 2011-11-07 22:39 Kudy 阅读(1060) 评论(3) 推荐(2) 编辑
摘要:这篇文章要讲主数据管理系统(Master Data Management System),是本人创业的其中一个项目,用于管理公司的内部所有系统、系统用户、系统角色、系统权限、服务器管理、系统日志等数据。项目开发只用了1个多月时间,全部由一个人完成的,还有不够完善的地方,对于初版本也差不多够用了,如果没时间看下面的架构设计,可以直接下载源码。 阅读全文
posted @ 2011-11-07 03:41 Kudy 阅读(25354) 评论(129) 推荐(82) 编辑