Fork me on GitHub

2013年6月3日

摘要: 在应用层实现触发器背景企业应用开发过程中经常面对一些非功能型需求,如:自动收集和设置审计信息、索引和关系约束,有些非功能需求当然可以用数据库自带的功能,如索引约束,但是应用层视乎也有必要重复一次,因为当违背这种约束的时候我们希望提示给用户友好的信息,如:‘xxx已经存在,xxx必须唯一’,这篇文章我就介绍一个简单的方案应对这种需求。思路我觉得数据库的触发器是个好东西,应用层完全可以借用一下,我还认为如果我在应用层实现了触发器,像一些前置条件和后置条件验证也可以用触发器实现(这块我不是很清楚设计的是否合理,还是要引入另外一个继承体系)。实现核心类核心代码DefaultTriggerService 阅读全文
posted @ 2013-06-03 09:44 HackerVirus 阅读(255) 评论(0) 推荐(0)
摘要: React初探近日,facebook将其用户界面构建Javascript库React开源发布。等等……什么叫用户界面构建库(a library forbuildinguser interfaces)?顾名思义,当然就是该库是将特定规范的源代码(JSX),构建成新的代码(Javascript)。为什么我们需要这么做呢?我们觉得写CSS太麻烦了,太多重复工作了,所以我们使用LESS来代替他,让机器代替我们做这些事情。但是出于性能的需求,现在并不流行加载一个less.js让其动态处理这些LESS代码,而是转为先由LESS文件构建成静态的CSS文件,再使用,就像Bootstrap一样。OK,回到Rea 阅读全文
posted @ 2013-06-03 09:40 HackerVirus 阅读(193) 评论(0) 推荐(0)

2013年6月2日

摘要: Linux系统服务基础您可以通过点击 右下角 的按钮 来对文章内容作出评价, 也可以通过左下方的 关注按钮 来关注我的博客的最新动态。 如果文章内容对您有帮助, 不要忘记点击右下角的 推荐按钮 来支持一下哦 如果您对文章内容有任何疑问, 可以通过评论或发邮件的方式联系我: 501395377@qq.com / lzp501395377@gmail.com如果需要转载,请注明出处,谢谢!!本篇随笔将主要讲解Linux系统的服务基础,从本篇随笔开始,后续的Linux系列随笔将主要记录常用的各种服务的配置,包括DNS、WWW、Mail等等各种服务的配置。。。一、系统服务的基本概念服务,其实就是... 阅读全文
posted @ 2013-06-02 13:10 HackerVirus 阅读(219) 评论(0) 推荐(0)
摘要: golang微信公众平台之人脸识别好吧,其实整个都是建立在face++的基础上的,没有任何技术含量,我只是个勤劳的搬运工。微信公众平台,怎么说呢,还是传统的一问一答的形式,你发个信息过来,我收到了处理下,再给你回馈一条信息,就是这么简单。简单的你来我往先说信息互传的问题,微信公众平台是post过来一个xml,服务器端打包一个xml发回去。从最简单的,直接把用户信息返回去搞起吧。文本消息 <xml> <ToUserName><![CDATA[toUser]]></ToUserName> <FromUserName><![CDATA 阅读全文
posted @ 2013-06-02 13:09 HackerVirus 阅读(677) 评论(0) 推荐(0)

2013年6月1日

摘要: 测试rest接口的两个工具使用详解(restclient+soapUI)最近基于webservice开发第三方应用程序,我的第三方API属于rest接口,而开发过程中难免需要测试,于是寻找测试rest接口的工具(自己懒得动手编写代码测试),我现在主要用两种常用的工具:restclient和soupUI一、使用restclient测试rest接口RESTClient是一个用于测试RESTful Web services的Java客户端。非常小巧,界面非常简单,看下面这张图你就全明白了!二、使用soapUI测试rest接口虽然soapUI看上去好像是测试soap接口的,其实用它来测试rest接口未 阅读全文
posted @ 2013-06-01 23:55 HackerVirus 阅读(715) 评论(0) 推荐(0)
摘要: Effective C++学习之--------尽量少做转型动作正如C++之父所说,在C++中应该尽量少做类型转换,太多的类型转换是一种设计不合格的表现。下面就一起来学习一下Effective C++中对这一条的总结吧,我觉得首先需要C++里面的几种类型转换稍作说明: const_cast:和CV限定相关,在实际代码中很少看到使用const_cast的,如果你真的希望在const 函数中改变某个成员变量的话可以将他定义为mutable。恩,还有非cosnt 装换为cosnt 呢?我是没遇到过。 dynamic_cast:当你希望做该种类型转换时可能希望是在一个derived class上执.. 阅读全文
posted @ 2013-06-01 23:53 HackerVirus 阅读(289) 评论(0) 推荐(0)
摘要: 引用CDN内容的方法总结1.1.1 摘要CDN相信大家都听说过,甚至使用过相关的技术,也许有些人会回答“没有听说过和使用过该技术”,真的是这样吗?CDN的全称是Content Delivery Network,即内容分发网络。其目的是通过在现有的Internet中增加一层新的网络架构,将网站的内容发布到最接近用户的网络"边缘",使用户可以就近取得所需的内容,解决 Internet网络拥挤的状况,提高用户访问网站的响应速度。看完上面一大串的定义,我们可以把CDN简单的描述为:内容分发,解决网络拥挤和提供网站相应速度。其实,CDN并不神秘甚至我们在日常开发过程中常常使用到该技术 阅读全文
posted @ 2013-06-01 23:52 HackerVirus 阅读(642) 评论(0) 推荐(0)
摘要: 我希望用程序生成一些测试数据,测试一下开源数据库中哪个比较适合我们的数据仓库项目,于是有了这篇随笔。 其实测试数据可以用过程生成,但是我想学学java因此决定用程序实现。而且我先在把windows这个让我一打开电脑就想娱乐的系统卸载了,现在纯Ubuntu。 先记录下Java的配置: 首先需要下载Java,这是一个很简单的过程,链接在这里:http://www.oracle.com/technetwork/java/javase/downloads/index.html。我的是64位系统,因此选择了64位的gz包。下载好以后随便解压到哪个目录底下都是可以的。然后只需要配置这么几个环境变量... 阅读全文
posted @ 2013-06-01 23:48 HackerVirus 阅读(255) 评论(0) 推荐(0)
摘要: DDD:聚合根的批量删除是不是可以批量发送请求背景搞了近五年的系统开发,总是抱着一种思维模式,用户的一个操作对应一个请求和一个事务,比如:用户选择了N条记录,我就会向服务器发生一个请求,服务器在一个事务中进行处理。前几天在群里一个前辈反问:批量操作难道真的要在一个事务中?这个问题让陷入了反思,谢谢前辈们(魏琼东)。DDD中有聚合的概念,一个聚合有且只有一个聚合根和一些其他实体,如:订单聚合中,订单是聚合根,订单明细是聚合内的实体。因为DDD中只能操作聚合根,这篇文章就介绍聚合根的批量删除问题。有人问聚合内的实体的删除咋弄?聚合内实体的删除必须伴随着聚合根的修改(这里不做详细介绍)。另外一点是需 阅读全文
posted @ 2013-06-01 23:47 HackerVirus 阅读(350) 评论(0) 推荐(0)
摘要: AzureDirectory Library for Lucene.Net(续)昨天分享过一篇文章《AzureDirectory Library for Lucene.Net》,关于Azure下的全文检索解决方案。补充说明一些内容:原来对“AzureDirectory Library for Lucene.Net”确实有欠了解,在有了一次教训后,现在有了更深入了解(但还是经验主义,没有足够严谨去看看源码,欢迎斧正)。这个的本质并非是把Azure Store当虚拟磁盘用,开始我还真是这么理解的,所以我被它坑了!其实它是本地建个缓存目录,在检索或建索引的时候把索引文件先从Azure Storage 阅读全文
posted @ 2013-06-01 23:45 HackerVirus 阅读(186) 评论(0) 推荐(0)