随笔分类 - [20]DesignAnalysis设计分析
-
开放平台
摘要:简谈“开放平台”设计中的一些感悟 从2012年11月份实习开始,到现在2013年9月已经算是工作将近一年时间了,个人是从工作中学到了不少东西的。刚进公司的时候主要是负责平台服务器开发,后来由于我对前端的一些偏向,所有年后不久就转到公司前台业务的Web开发。因为我从公司开放平台服务的开发,然后到公司web产品的开发这2个部分都有参与,所以自己对公司的这个架构设计上和业务层面的一些设计也是有了自己比较深刻的感受。其中开发过程中发现公司开发平台设计中,由于一些不合理的设计,造成了公司之后的一些依赖开放平台服务器的项目的开发成本严重的增加,并影响了整个开放平台的生态和布局。仅此写文总结,并无他意,希. 阅读全文
-
把事务封装成类似Serializable用法的特性
摘要:把事务封装成类似Serializable用法的特性最近几天上班没事可做就想着整理常用的类库方法,验证、消息、分页、模版引擎、数据库操作、ini操作、文本操作、xml操作等,最后就是现在这个事务特性。 1 /// 2 /// 事务形象属性的接口 3 /// 4 internal class TransactionAspectProperty : IContextProperty, IContributeObjectSink 5 { 6 //冻结策略 7 public void Freeze(Context newContex... 阅读全文
-
缓存与优化
摘要:缓存与优化最近更新晚了,给大家说声抱歉,诸君久等了,直接上干货,不过由于本人知识有限,难免有错,还望大家指正,拜谢。以后不想学习的时候,俺也有理由啦,要陪老婆啊,哈哈。看了非诚勿扰,一大叔端了一锅羊肉来求婚,没成,咱们下了场吃羊肉去。 下午看了一部分斯坦福大学的神经网络公开课,名牌大学关注的都是习以为常的问题,比如为什么老朋友会感觉亲切;看了将近一周隐式马尔科夫模型,还是不甚明了,太理论化了,而且大部分资料都是英文的,看来必须学专业英语了。 再宣传下群CodeForFuture:163354117,期待您的加入……一.问题引入 以前看过一篇关于经典矩阵相乘算法的优化,不过当时不怎么理解…… 看 阅读全文
-
.NET:脏读、不可重复读和幻读测试
摘要:目录背景脏读原因重现和避免不可重复读原因重现和避免幻读原因重现和避免嵌套事务导致的死锁备注背景返回目录昨天才发现如果一条数据被A事务修改但是未提交,B事务如果采用“读已提交”或更严格的隔离级别读取改数据,会导致锁等待,考虑到数据库默认的隔离级别是“读已提交”,在嵌套事务 + 子事务中有复杂的SQL查询,很可能会出现死锁,后面会给出嵌套事务导致死锁的示例。先来看看:脏读、不可重复读和幻读。脏读返回目录原因返回目录当B事务在A事务修改和提交之间读取被A事务修改的数据时,且B事务,采用了“读未提交”隔离级别。重现和避免返回目录测试代码 1 public static void 脏读测... 阅读全文
-
我的开发框架(WinForm)
摘要:我的开发框架(WinForm)近来,看园子里,好多同学,展示自己工作中的开发框架,有的功能强大,有的短小精悍,我也来凑个热闹,望各位大侠指点一二。一、指导思想 1、尽量减少程序员对数据库的依赖,或者说尽力少的写sql 语句。根据以前做项目的经验,大概10%的代码时间,在拼sql,主要是想利用现有的ORM技术,使得程序员能摆脱大部分拼sql的工作。 2、支持多种数据比如Sqlerver、Oracle等。公司是做项目为主,不同的项目甲方要求的数据库可能会不同,所以必须支持多数据库。sqlserver和oracle是最常用的,优先支持。 3、模块化,功能模块间可插拔设计。系统的各个模块间没有必然的联 阅读全文
-
密码技术应用系列之开篇
摘要:密码技术应用系列之0:开篇前言随着信息化进程的逐渐深入,信息安全问题逐渐变得非常重要。信息安全即是运用各种密码技术,保证信息的安全存储和传输。本系列将会逐一讲述密码学相关技术的应用,包括编码技术、摘要运算技术、对称加密技术、非对称加密技术和数字证书技术等。本文的主题是密码技术应用,不会对密码算法进行深入研究。密码算法原理深奥难懂,除非打算做算法设计,否则没有必要去深入研究,只需要了解大致原理,以帮助我们更好的应用及快速分析解决问题就行了。.NET Framework的类库在密码算法的支持方面不是很全,幸运的是,.NET平台有一个并不算完善的开源密码库BouncyCastle,该库源自JAVA平 阅读全文
-
闪存数据分析]总结报告
摘要:纯手工打造[博客园-闪存数据分析]总结报告有点闲时间就想跟”博客园过意不去“,每天逛博客园赶脚闪存挺好,就是"常驻人口"众多,其他偶尔来一次,大家交流也是挺方便的,于是乎我就想看看闪存"常驻人口"有哪些?根据他们发闪的频率来判断他们的状态。呵呵,所以就想到了抓取数据分析,本来想弄个c#版,但是c#不是我的强项,时间关系我就搞了一个java多线程抓取+highcharts报表生成,其实也就是对我的知识巩固一下、当中确实又领悟了不少的编程思想、下面我先汇报一下我的统计报告,然后再做技术方面的分享,两个方面。废话不多说我们通过数据说话,数据完全真实可靠(由于博 阅读全文
-
聊天机器人功能开发
摘要:聊天机器人功能开发一、简介上一篇文章介绍了微信公众平台翻译功能的开发,实现了中、英、日语言互译,在实际生活中也能使用到。在接下来的这一篇文章中,我们将完成一个比较有趣的功能,那就是聊天机器人,可以在你无聊的时候陪你聊天逗你开心。二、思路分析在这个实验中,我们将调取小黄鸡官方(http://www.simsimi.com/)提供的API,结合抓取小九机器人(http://www.xiaojo.com/)的网页,互相补充。Simsimi 是收费的,但你可以尝试7天测试,每天可以免费使用100条回复;小九机器人可以无限制使用,但前提是官方不屏蔽。三、小黄鸡API 分析3.1 API & UR 阅读全文
-
如何修改被编译后DLL文件
摘要:如何修改被编译后DLL文件我们平时在工作中经常会遇到一些已经被编译后的DLL,而且更加麻烦是没有源代码可以进行修改,只能针对这个DLL的文件进行修改才能得到我们想要的结果;本文将通过一个实例来演示如果完成一个简单的修改;我们将会用到以下几种工具;1:反编译工具ILSpy.exe:是个很不错的反编译软件,而且是免费了;2:微软的工具ildasm.exe:这个是把DLL生成IL文件的一个软件,是微软自带了;可以在C:\Program Files\Microsoft SDKs\Windows\v7.0A\bin找到该软件;3:微机的工具ilasm.exe:这个是把IL文件重新生成DLL的功能,可以在 阅读全文
-
SharePoint 2013 搜索高级配置(Search Scope)
摘要:SharePoint 2013 搜索高级配置(Search Scope) 前言:SharePoint 2013集成了Fast Search,而后在配置上与2010及之前版本都有一些区别,如果需要开启搜索的文档,请参考我之前写的博客,博客地址附后。下面,我们开始了解下,SharePoint2013里面的搜索配置。1、首先,新建页面,用于搜索,如下图:2、添加搜索框、搜索结果部件; 选择类别,找到”搜索框”、”搜索结果”两个部件,添加到页面;3、配置搜索框部件; 点击编辑WebPart,右侧可以指定搜索结果显示在本页、指定搜索页面(我这里默认,就是本页),配置查询建议和设置等。4、配置搜索结果.. 阅读全文
-
物理数据模型(PDM)->概念数据模型 (CDM)->面向对象模型 (OOM):适用于已经设计好数据库表结构了。
摘要:物理数据模型(PDM)->概念数据模型 (CDM)->面向对象模型 (OOM):适用于已经设计好数据库表结构了。步骤如下:一、反向生成物理数据模型PDM开发环境 PowerDesigner 15 ,SQL Server2005(1)在开始逆向生成PDM图之前,需要为指定的数据库创建ODBC数据源。以Windows xp操作系统为例,选择“开始”/“运行”命令,在“运行”对话框中输入odbcad32.exe,单击“确定”按钮,启动数据源管理器。(2)在“ODBC数据源管理器”对话框中单击“添加”按钮。(3)在弹出的“创建新数据源”对话框中选择“SQL Server”选项,单击“完成” 阅读全文
-
一种不错的扩展方式
摘要:一种不错的扩展方式在过去,我们完成一套应用程序后,如果后面对其功能进行了扩展或修整,往往需要重新编译代码生成新的应用程序,然后再覆盖原来的程序。这样的扩展方式对于较小的或者不经常扩展和更新的应用程序来说是可以接受的,而对于像ERP系统那样复杂而且常常需要扩展的应用程序,这种扩展方法就不够方便,因为每次都要修改源代码或重新引用组件。尤其是组件(许多dll),如果每编写一个新组件又要在主项目中引用一次,显然主项目就不得不经常重新生成。要是能有一种机制,可以在主项目应用程序不作任何修改就可以自动识别并扩展组件,就会很便捷,我们每次扩展只需要更新或者添加某些dll文件即可。MEF正是为了解决上述问题而 阅读全文
-
代码最简化
摘要:代码最简化在重构的过程中,站在我个人的角度,针对代码开发的细节,说一说关于代码最简化的小经验。1、 同一个页面上js/css可能被你引入多次?Ajax已被大家广泛应用,常常用来加载一些html的片段。Html片段可能有js的处理,这个时候可能在html片段中写一些js操作或者引入一些js文件,你可有检查,当前页面是否已经加载了该js。如果同一个页面没有被重新加载,不管以前在页面中有的,还是后来html片段中加载的,都会在当前页面生效。而不是片段中的js作用域只是这个片段。所以js不要重复引入,重复引入很有可能充掉你的全局变量,覆盖原来的同名js方法,也可能造成死循环等等问题。例如jquery文 阅读全文
-
如何对SharePoint网站进行预热(warmup)以提高响应速度
摘要:如何对SharePoint网站进行预热(warmup)以提高响应速度问题描述SharePoint Server是一个易于使用的协作平台,目前在越来越多的企业中被应用开来。SharePoint Server是通过网站的形式向最终用户提供服务的,而这个网站是基于ASP.NET 的技术实现的。由于ASP.NET技术的特点,网站启动之后,页面在第一个用户第一次访问的时候,会需要进行所谓的JIT 编译,而这个时间,对于该用户来说,可能会显得有点长。这也是大家普遍反映的问题,为什么第一次要比较慢,而以后就较快了。另外,由于ASP.NET网站会使用到应用程序池的技术,而应用程序池会定时或者不定时地进行回收。 阅读全文
-
[源码]Literacy 快速反射读写对象属性,字段
摘要:[源码]Literacy 快速反射读写对象属性,字段Literacy 说明Literacy使用IL指令生成方法委托,性能方面,在调用次数达到一定量的时候比反射高很多当然,用IL指令生成一个方法也是有时间消耗的,所以在只使用一次或少数几次的情况,不但不能提高性能,反而会使性能下降,所以使用场合需要自己把握下面是在我的电脑上做的一些测试(因机器配置不同会有少许误差)测试次数Literacy反射1016ms0ms10015ms0ms1K16ms5ms1W16ms50ms10W23ms505ms100W87ms5149ms所以可以看出,再次数越多的时候和反射的差距越大,在100次以下反射几乎不消耗时间 阅读全文
-
处理已排序数据为什么比未排序的快
摘要:程序处理已排序数据为什么比未排序的快?sof 上的帖子,原文链接:Why is processing a sorted array faster than an unsorted array?.在RabbitOverCarrot有更多的内容。下面是翻译正文:问题描述:下面的 C++ 代码,执行结果很诡异。不知道为什么,已排序的数据居然能神奇的让这段代码的执行速度提升六倍之多:#include #include #include int main(){ // Generate data const unsigned arraySize = 32768; int data[arr... 阅读全文
-
一个消息调度框架构建
摘要:一个消息调度框架构建基本框架MDU(消息分发单元):包含一个消息处理任务,包含自身的消息队列,是一个消息调度的基本单位。PID (功能子模块) :框架中用PID作为模块的划分,每个模块具有自己的PID编号,根据功能和调度需求可以安排多个PID到一个MDU中,PID是消息通信的一个基本单位,每个PID提供一个消息处理入口。MQ (消息队列) :使用消息队列作为任务通信的数据结构。消息处理流程构建一个MDU模块,注册入框架中,初始MDU没有注册PID,未构建消息处理任务。构建PID,注册入对应的MDU中,如果是MDU中第一个PID,构建消息处理任务。消息处理任务从该MDU对应的消息队列中取消息处理 阅读全文
-
NHIBERNATE的简单框架的设计
摘要:NHIBERNATE的简单框架的设计上次的NHibernate的Session管理策略和NHibernateHelper发布并提供下载,给NHibernate刚入门的同学们带来很多便利。最近有同学在求NH的通用仓储,正好我最近也设计了一个应用于实战,好吧,无私地分享并快乐着吧。与上次一样,您无需关心细节,因为我会在最后提供源代码的下载。如果您对ORM没兴趣,或者觉得此文看标题与大多数文章类似的话,为不浪费您宝贵的时间,请点又上角红叉。Repository设计从整体上可以看到,这个仓储用到了泛型,并且继承了一个叫BaseRepository。BaseRepository的作用就是为仓储提供一个特 阅读全文
-
Winform开发框架重构总结
摘要:Winform开发框架重构总结最近一直致力于Winform开发框架的重构工作,因为发现要维护传统Winform开发框架、WCF开发框架、混合式开发框架,以及相关的模块,包括权限管理、字典管理模块、附件管理、人员管理等一些辅助模块,很多代码都会有重复的部分,优化的框架是想提高效率,减少冗余重复代码,本文总结Winform开发框架重构工作中的一些经验总结,以飨读者,希望能够对大家有一定的参考作用。1、公用类库的分离处理我的公用类库是自己开发这么多年的总结、收集和整理,对大多数的类库均进行优化整理过,公用类库的本意是对.NET内置的类库进行包装使用,提高使用效率和减少复杂性,随着开发项目的增多和不断 阅读全文
-
7z文件格式及其源码的分析
摘要:7z文件格式及其源码的分析本文是一个系列. 主要是分享我最近一年做7z文件开发的经验. 主要包括7z官方源码的结构分析, 以及7z文件格式的分析. 其中涉及到7z源码结构的各个细节, 以及7z文件格式的具体细节. 本文适合对象: 想要了解学习7z源码的开发人员, 想要了解7z文件格式细节, 做7z文件压缩器和解压器的开发人员, 以及其他压缩文件爱好者等等. 目前7z的最新稳定版是9.20, 而9.30版本还在alpha版本. 所以本文是基于其9.20版本. 我将尽可能详细的描述所有细节, 但到目前为止我了解到的细节大概能到八成到九成的样子. 也不是百分百. 希望能和大家共同讨论学习. 这些.. 阅读全文