Fork me on GitHub

2013年5月27日

摘要: Windows下搭建Octopress博客您需要掌握的使用Octopress来搭建博客,还是有一定门槛的,看完本文后,希望您不会觉得很难。Octopress是一款基于Jekyll的静态站点生成系统,使用Ruby实现,所以您需要懂点Ruby的知识,其实会几个命令就行;Octopress的博客内容是通过Markdown来书写,所以您需要了解Markdown的编写规则,Markdown 语法说明可以让你在几分钟之内熟悉Markdown的语法,在Windows下可以使用MarkDown Pad或是使用在线的编辑器http://mahua.jser.me/进行编辑;Octopress通常会部署在GitH 阅读全文
posted @ 2013-05-27 09:44 HackerVirus 阅读(224) 评论(0) 推荐(0)
摘要: CQRS + DDD + MDP 实现快速应用程序开发背景企业需要“快速的”和“高质量的”交付应用,采用传统的三层架构+数据驱动开发可以带来快速交付,但是高质量视乎无从保证,这篇文章我谈谈我准备如何应对这种需求。思路CQRS + DDD + MDP(元数据驱动编程)看图解说从读和写的角度思考一些问题。UI层的编码量占据了整体的50%-80%(我自己的经验)之间。UI层的主要目的是展示,即读取。UI层团队的开发人数比例不符合他们的编码量(企业应该加大对UI层人才的投资和引进)。UI层团队的编码水平相对较差(我自己的经验,我见过好的UI人员,月薪2W)。UI层在代码级别相对容易抽象和重用(企业应用 阅读全文
posted @ 2013-05-27 09:41 HackerVirus 阅读(206) 评论(0) 推荐(0)

2013年5月26日

摘要: 数据结构之栈(Stack)与队列(Queue)(本文为个人学习数据结构课程和三年磨一剑的<<大话数据结构>>后的笔记,如有侵权,请直接联系我,立即删除)(杯具了,昨天写的保存的时候,着急了没看,早上来看没有发布成果,只有从头再写一遍了)一.栈(Stack) 1.定义:仅在表尾进行插入和删除操作的线性表 2.栈的抽象数据类型: ADT栈(Stack) Data 同线性表.元素具有相同的类型,相邻元素具有前驱和后继关系. Operation InitStack(*S): 初始化操作,建立一个空的栈. DestoryStack(*S):... 阅读全文
posted @ 2013-05-26 22:39 HackerVirus 阅读(376) 评论(0) 推荐(0)
摘要: 集成服务监控器-green.monitor发布在大型企业应用开发中,一个项目经常需要依赖于多个项目集成,经常某个集成服务的升级或者不工作,会导致你所工作的服务也挂掉,甚至影响你的开发流程。你是否还在接到测试团队或者运维团队的某个Bug,而自己花费了大量时间终于查出来是某个集成服务升级或异常,在这里浪费了大量时间,在笔者为所在项目建立了一个第三方集成服务监控的Monitor,去实时监控项目所依赖的所有集成服务,数据库。现在开源在githubhttps://github.com/greengerong/green-monitor,在其sample目录下有个使用demo。mavendependenc 阅读全文
posted @ 2013-05-26 22:34 HackerVirus 阅读(225) 评论(0) 推荐(0)
摘要: Aspose Word模版使用总结篇2带示例继上篇:Aspose Word模板使用总结9.创建word模版,使用MergeFeild插入图片10.插入图片示例 string tempPath = Server.MapPath("~/Docs/Temp/Template.doc"); string logoPath = Server.MapPath("~/Content/logo.jpg"); var doc = new Document(tempPath); //载入模板//提供数据源 String[] fieldNames = new String[] 阅读全文
posted @ 2013-05-26 15:20 HackerVirus 阅读(738) 评论(0) 推荐(0)
摘要: 今天帮助David 调程序,他的程序是做Windows下目标程序分析,其中有个数组存放目标程序heap中所有数据结构,David的程序遍历目标程序全局数据段所有内容,如果某个值落在heap中某个数据结构地址范围内,就把它找出来,并建立从全局数据段到该数据结构的一个路径。David给我演示时, 说运行Toy program 没问题,但运行一个比较大的真实程序时,就会出现性能问题,果然,我们等了二十多分钟,还是没有算完。于是我检查了他的代码,告诉他问题可能出在检查指针是否指向有效数据结构时,他是用的线性查找方法,如果试着使用二分查找法,可能会快很多,因为算法复杂度从O(N)降到了O(logN)。没 阅读全文
posted @ 2013-05-26 15:20 HackerVirus 阅读(303) 评论(0) 推荐(0)
摘要: 千万级并发连接的秘密既然我们已经解决了过万并发连接(C10K concurrent connection problem)的问题,现在如何升级到支持千万级的并发连接?你会说:“不可能”。不,现在,一些系统通过使用一些不广为人知的先进技术,已经能够提供千万级的并发连接。为了明白这是如何实现,我们找到了Errata Security的CEO——Robert Graham和他在Shmoocon 2013上精彩绝伦的演讲——C10M Defending The Internet At Scale(译者注:FQ的同学可以去看看)。Robert解决这个问题的方法如此技艺高超,此前我从未听说过。他首先讲了一 阅读全文
posted @ 2013-05-26 15:17 HackerVirus 阅读(516) 评论(0) 推荐(0)
摘要: Windows下Hadoop eclipse开发平台搭建搞了一个下午,在Linux和Windows下都成功了,步骤相差不大。一些小问题,google一下就能解决。1.必要条件 Cygwin :我的版本是目前最新的2.774 java JDK hadoop 0.20.2 迅雷连接(有可能已经失效):thunder://QUFodHRwOi8vZGwuY3IxNzMuY29tLy9zb2Z0My9oYWRvb3AuemlwWlo= eclipse2. java安装 具体参考百度。。。。。3.Cygwin的安装 可以按照默认的提示安装到自己需要存放的位置,但是在安装时需要注意下面几点: ... 阅读全文
posted @ 2013-05-26 15:05 HackerVirus 阅读(234) 评论(0) 推荐(0)
摘要: 元数据驱动界面,支持三级配置背景信息系统开发中,配置表格、树和表单的过程占据了开发的近一半的时间(可能更多),如果要支持运行期间修改配置,如:修改表格布局、表单布局、查询面板,就会更加花费时间。这篇文章我就介绍一下如何使用元数据驱动UI的开发。思路支持三级元数据配置:生成期配置:使用代码生成器生成,只能由生成器修改。运行期配置:使用配置修改器修改,运行期由维护或实施人员修改。开发期配置:由开发人员维护。三级配置,由上到下优先级越来越高,下级继承上级同时覆盖上级。如下图所示:实现配置 + 代码生成器生成器项目结构generated/Metadata.ejs生成后的应用项目结构user/app/v 阅读全文
posted @ 2013-05-26 15:02 HackerVirus 阅读(487) 评论(0) 推荐(0)
摘要: 变量与内存本文目录一、字节和地址二、变量的存储三、负数的二进制形式四、变量的作用域五、变量的初始化在前面一节中简单介绍了变量的使用,当我们定义一个变量的时候,系统就会为变量分配一块存储空间。而变量的数值在内存中是以二进制的形式存储的,这讲来深入研究变量在内存中的一些存储细节。回到顶部一、字节和地址为了更好地理解变量在内存中的存储细节,先来认识一下内存中的“字节”和“地址”。1.计算机中的内存是以字节为单位的存储空间。内存的每一个字节都有一个唯一的编号,这个编号就称为地址。就好像酒店是以房间为单位的,每个房间都有一个唯一的房号,我们根据房号就能找到对应的房间。里面的每个小框框就代表着内存中的一个 阅读全文
posted @ 2013-05-26 15:00 HackerVirus 阅读(1533) 评论(0) 推荐(1)