
其它
文章平均质量分 75
daizhj
这个作者很懒,什么都没留下…
展开
-
重磅发布码农界的第一张吉他专辑小样
首先说明这不是标题党,呵呵。可以说这是我的第一张,应该也是全世界首张“码农演奏的吉他录音小样” 。很久没有发BLOG了。本来想从此"隐退"下去。但在一年前的一个叫向怡宁的人在网上的视频震动了我,让我把本来准备40岁以后要做的事情提前几年来搞,而这也是我20年来一直想做的事,就是“玩音乐”。原创 2014-11-12 13:55:14 · 2572 阅读 · 0 评论 -
采用[ICONIX] 方法实践BLOG设计之一 [问题域建模]
前言:自从加入 Discuz!NT开发小组开始。我就放弃了以前的软件设计思想,转而去使用项目组所规范使用的架构设计思想和开发模式来进行开发。这样的时间一直持续到了今天。虽然我向往面向对象的开发方式,且向来对不够OO的设计存有偏见。但人必定要生存,特别是已经做了父亲的程序员来说,这种压力是不容回避的。 但今天开始的这一系列的文章将会说是一次对OO的原创 2007-09-28 11:31:00 · 1513 阅读 · 0 评论 -
没有银弹,但可以"扯蛋"
最近园子里的book.save()计论已让我看的有些厌恶了。同时也希望大家不要再在这个问题上火上浇油了。有关这个问题在别的技术社区早就有过讨论(不要吃人啃过的馍),最后又怎么样呢? 还是希望大家务实点好(干好手头的事等)。 从这些计论中发现大家在不厌其烦的寻找所谓的银弹,但具我了解这个问题可能无解。必定软件开发设计要有一定的行业背景(应用场景)。而离开这些条原创 2007-09-26 10:31:00 · 778 阅读 · 0 评论 -
域模型向左走(充血),向右走(贫血)
在文章的开始,我先举一个例子 美国M4谢尔曼坦克 VS德国的虎式坦克(相关资料如下http://mil.eastday.com/m/20070515/u1a2833237.html) 5:1 在五一期间,电视节目中的二战武器大对决吸引了我,其中当美国大兵说他们在用5辆坦克的代价来换德国人的一辆虎式(I)型坦 克时,原创 2007-09-11 13:32:00 · 903 阅读 · 0 评论 -
有关silverlight 中文"银光" 的变态解释
今天公司同事在聊silver light时,把它的名字按字面直译过来叫做"银光"本人给这个“银光”的解释为“把公司的银子都花光”而这时我旁边的同事SUN语出惊人 “淫贼田伯光” ,我一听不禁喷饭。太可乐了不知道园子里有什么人还有什么搞怪的想法,不妨贴出来让大家也乐乐。望DUDU先不要删除该文章(明天再删),必定作为程序员找个乐不容易:(原创 2007-09-06 11:32:00 · 627 阅读 · 0 评论 -
Microsoft Ajax 脚本浅析
最近有时间下载并在本地安装了 AjaxControlToolkit , 在运行里面的示例时,发现所生成的源文件时发现有几个“特别”的地方。因为本人对Microsoft Ajax未曾做过什么研究,因此就想看看微软的这个产品中是有什么奥秘。现在就把我所看的源码以及相关的理解记录如下(本文以SampleWebSite/DragPanel/DragPanel.aspx为例),以便与原创 2007-05-28 12:34:00 · 861 阅读 · 0 评论 -
Ihttpmodule 的一个小问题,今天明白了
最近有时间看一些.net的框架代码,发现一个有意思的问题,就是HttpModule中的Init函数下的事件绑定,因为事件的绑定在事件发生后相应的处理委托即为null,但下面的代码(功能:地址的重定向)为什么只是绑定一次后就能在每个WEB请求过来时都能运行ReUrl_BeginRequest事件呢。public class HttpModule : System.Web.IH原创 2007-03-09 16:35:00 · 972 阅读 · 0 评论 -
试用GOOGLE MAP (含源码)
google的地图测试版发布已有一段时间,但是这两天我才有时间来看这个东西,通过简单的使用,发现这个服务还不错,我现在就把如何申请MAP API KEY,和简单使用的步骤写在这里,希望大家看到后能有些帮助。同时,我还发现了一个网站,那里的作者在google 的地图基础上加载了一切国内的行政区划和城市地图的功能,那位作者写的代码功能真的很不错,我这里只是把他所使用的java原创 2006-03-03 09:35:00 · 1052 阅读 · 0 评论 -
使用cwRsync实现windows下文件定时同步(备份)
首先要下载cwRsync的服务端和客户端软件,下载地址如下: 服务端:cwRsync_Server_2.0.10_Installer 客户端:cwRsync_2.0.10_Installer 然后我在本地机器上安装了其中的服务器端(10.0.2.136),然后在同网段下的另一台机器(10.0.2.137)安装了客户端。为了测试,我专门在本地机器上原创 2009-11-03 17:33:00 · 2965 阅读 · 1 评论 -
采用[ICONIX] 方法实践BLOG设计之二 [用例建模]
在上一篇文章中我们了解并进行了域建模,换言之我们有了一个好的开始,起码开发人员对自己要开发的软件已有了初步的认识,且也得到了进行交流时可以使用的术语表。 本章将会在前一篇的基本上进一步阐述使用ICONIX方法实践用例建模,同样在文章的最后还会有在这个阶段最容易犯的10个错误,以给大家提醒或在分析过程中进行参照。 本文在ICONIX方法中所处的位置如下原创 2007-10-09 12:30:00 · 1348 阅读 · 0 评论 -
采用[ICONIX] 方法实践BLOG设计之四 [健壮性分析]
在前三章中通过(问题域)建模和用例分析之后,在许多的UML书中可能接下来就要进行时序图和协同图的绘制了。但是问题好像还没那么简单,因为这里有一条鸿沟还没有跨过去,正如下图所示: 在我刚学开始学习 UML时,在拿到用例文本时要去画时序图总感觉有些别扭,不知如何才能将文本中的意思完全用图的形式表达出来,总是感觉分析出来的原创 2007-10-23 08:30:00 · 1585 阅读 · 0 评论 -
听易中天品三国---看“草包”老板之“败家品德”
在之前的一篇《听易中天品三国----有感于曹操的用人之道》中,聊了一下曹操作为一名好老板的用人策略。当然,书中易中天也抬出了一个反面典型,那就是“袁绍”。 不过要说明的就是在那个重视名誉的时代,袁绍的家族名声要好于有“太监”家庭背景的曹操,袁绍家族号称“四世三公”,就是他这个家族有四代人连续地担任了“三公”的职务,而在汉代“三公”这个职务的地位是很高的,仅次于皇原创 2007-12-17 18:28:00 · 1741 阅读 · 0 评论 -
Discuz!NT之配置文件类[discuz.config]
如果大家从官方下载2.0正式版的DLL程序集中会从里面找到discuz.config这个DLL文件。通过reflector 反射加载这个程序集后,后从中找到一些从类名称上非常相似且有一定规律(格式)的类。它们是: 全局配置类 GeneralConfigFileManager.cs GeneralConfigInfo.cs General原创 2007-12-10 18:28:00 · 1709 阅读 · 0 评论 -
听易中天品三国,看谋士如何给自己选“老板”
早在“关于三国谋士之IT从业可行性报告”中就曾经说过“郭嘉”是一个很会给自己找老板的谋士。其实在三国中,还有几位很有代表性的谋士,他们给自己找老板的本事也非常强。这里不妨简要介绍一下,希望能给大家在工作提供一些参考:) 首先聊一聊“贾诩”这个在三国早期谋士圈中重量级的人物。 这个被易中天贯以“乱武”(专门捣乱)头衔的人打一出场,就让那些聘用他的老板们又敬又原创 2007-12-03 12:29:00 · 2454 阅读 · 0 评论 -
推荐两个web菜单控件(右击和顶部主菜单)
前两天在整理电脑资料时,发现这两个已被打入"冷宫"的控件。 运行效果如下: 其中的右击菜单控件的js源码是从milonic网站(一个商业JS库)上搜集来的, 本人觉得它的"生成菜单项"部分非常不好用,所以自己封装了它的部分代码,用一个 XML文件记录相应的菜单项,并用cs写了一个递归来加载XML中的菜单项,以实现控件绑定。 代码如下:原创 2007-11-26 12:29:00 · 1430 阅读 · 0 评论 -
采用[ICONIX] 方法实践BLOG设计之七 [关键设计复核]
关键设计复核 (CDR)指在确保(时序图和相应的类图指定的)详细设计的“如何”同用例指定的“什么”完全一致。 CDR还需要从多种不同的角度复核详细设计的质量,这些角度包括模块性,类的内聚性,对象之间的耦合性以及被子统称为“OO优良”的其他度量标准。 在这个阶段,要求所有设计人员和开发人员都必须参加。而在 PDR(初步设计复核:本系列第五篇)之后,客户的主动参原创 2007-11-20 12:29:00 · 912 阅读 · 1 评论 -
听"易中天品三国"---有感于曹操的用人之道
最近听了易中天先生的品三国,对其中的“海纳百川(说曹操)和天下归心”这两集,给我留下了非常深刻的印象。 易中天给曹操用人之道的总结是:实事求是、唯才是举、不拘一格、来者不拒。在此前提下,曹操妥善地处理了五种关系。 曹操的用人政策一: 名至实归 更重实际 曹操的用人政策二: 德才兼备 唯才是举 曹操的用人政策三: 重用清官 不避原创 2007-11-12 19:30:00 · 3067 阅读 · 0 评论 -
采用[ICONIX] 方法实践BLOG设计之六 [时序图]
在前几篇文章中,我们分别进行了域模型和用例建模,并使用 Robustness工具进一步分析验证了相应用例的处理流程,并在相应模型(域模型)的基础上,通过Robustness方法引入相关的边界对象,控制对象(控制器),并更新了相应域模型中类的属性(字段)。下面就可以进入到交互建模阶段了。如下图: 作为交互建模本身,就是要通过寻找对象之间的交互关系,进而原创 2007-11-06 11:30:00 · 2210 阅读 · 0 评论 -
采用[ICONIX] 方法实践BLOG设计之五 [初步设计复核]
这一篇文章的内容有些对不住大家了。因为公司正在准备发布新产品(Discuz!NT2.0),大家的心思全在产品上,因此构思内容和写作的时间几乎没有了,本人就偷了个懒,把书中认为很有必要让大家了解的内容简单的抄上来。同时因为这一章主要的内容都是进行相应的用例文本和健壮性图的检查,以及更新域模型(使之逐步向详细类图逼进),所以如果大家感兴趣的话,可以找几个人一起研究一下,相信大原创 2007-10-29 16:30:00 · 1086 阅读 · 0 评论 -
Mongodb Mapreduce 初窥
声明:本文是学习Mongodb过程中的副产品,因为接触时间并不长,难免有理解上的偏差,希望借此文与感兴趣的朋友讨论切磋,呵呵。去年年底,开始接触并学习Mapreduce模型。因为工作上的关系,最近开始研究Mongodb,其中对其新特性(2010年四月)reduce模型实现产生的兴趣,因为特别留意了一下。当然网上关于该方面的内容并不是很多,且多为EN文,所以我想有必要将学习使用过程中的一些问题作一下记录并加以整理,因为就有了此文。废话不多说了,开始正文吧!目前支持Mongodb的C#客户端应该就是Samue原创 2010-06-10 17:14:00 · 2611 阅读 · 2 评论 -
使用Mongodb存储上传物理文件并进行SQUID加速(基于aspx页面)
之前在阅读MongoDB GFS文档时,学习了它如何存储物理文件(包括大文件)的方式。为了加深印象,专门写了一个上传文件存储到Mongodb的示例。当然后因为是存储到文档数据库中,所以就不能用普通方式来访问这些物理文件了,这里又专门写了一个aspx页面专门读取这些文件(比如图片或MP3等),所以下载示例之后会看到两个页面,一个是uploadfile.aspx(上传),一个是getfile.aspx(从mongodb中把文件以流的方式读出来)。当然考虑到访问速度,这里还引入了SQUID来进行文件原创 2010-08-19 14:18:00 · 2590 阅读 · 3 评论 -
Mongodb源码分析--日志及持久化
在本系列的第一篇文章(主函数入口)中,介绍了mongodb会在系统启动同时,初始化了日志持久化服务,该功能貌似是1.7版本后引入到系统中的,主要用于解决因系统宕机时,内存中的数据未写入磁盘而造成的数据丢失。其机制主要是通过log方式定时将操作日志(如cud操作等)记录到db的journal文件夹下,这样当系统再次重启时从该文件夹下恢复丢失的(内存)数据。原创 2011-03-21 16:35:00 · 3827 阅读 · 0 评论 -
Mongodb源码分析--插入记录及索引B树构建
在之前的mongodb查询流程中,介绍了assembleResponse函数(位于instance.cpp第224行),它会根据op操作枚举类型来调用相应的crud操作,枚举类型定义如下: enum Operations { opReply = 1, /* reply. responseTo is set. */ dbMsg = 1000, /* generic msg command followed by a string */原创 2011-03-30 13:14:00 · 9067 阅读 · 5 评论 -
这样的“牛”人最好别碰上
很久没写口水文了,因为一直没有像样的话题。另外作为一个技术从业者,写那类东东实在没什么意思。但昨天与公司销售一起去一家客户那做技术交流的过程中发现了技术之外的话题,我想很多公司可能也正在上演以这类话题所引发的冲突,所以就一并以流水帐的方式呈现出来了。 因为这次是客户那边的CTO对我们产品有疑问,所以之前我们早早准备了一些资料和相关测试说明文档,希望能全方位的介绍一下我们产品特别原创 2011-06-17 11:34:00 · 99548 阅读 · 153 评论 -
LLServer1.0及C#客户端正式发布并开源
LLServer是本人基于libevent和leveldb这两个开源软件,开发的轻量级数据存储服务器软件,借助libevent高效网络接口实现对leveldb的访问封装。 项目网址:http://code.google.com/p/llserver/ 使原创 2011-08-23 13:09:34 · 3019 阅读 · 1 评论 -
开源ImageFilter库v0.3:新增22种图片效果
在原有50多套滤镜(v0.1)基础上,又新增实现22种图片效果。目前三个平台的源码已同步并测试完毕。 下面是图片效果: 原图: ZoomBlurFilter ThreeDGridFilter ColorToneFilter ColorToneFilter1 ColorToneFilter2原创 2012-05-31 15:09:08 · 3578 阅读 · 0 评论 -
Android, WindowsPhone7, IOS ,vc2010平台40多套图片滤镜开源
历经三个多月开发,终于完成了这三个库的编码工作。用到的开发语言主要有使用了C++(含部分Object-c),JAVA,C#。经过检测,目前已正式投入到生产环境中。 为了实现三种语言一种命名方式,我采用了相同的类名,接口,namespace(package)。可以说只要熟悉了其中一个平台的代码,就可以很顺利的写出另外两个平台的滤镜代码(当然我后续还会加入更多的滤镜效果)。原创 2012-05-15 13:57:17 · 4765 阅读 · 5 评论 -
开源ImageFilter库v0.4:新增26种图片效果
在原有70多种滤镜(v0.3)基础上,又新增实现26种图片效果。目前三个平台的源码已同步并测试完毕。 有朋友反映在ios平台上使用时出现编译错误,这里需要说明的是,因为本人手上没有mac的本本,只是使用VC进行开发,并参照相应的object-c代码写了相应的转型程序,所以并不保证在xcode上100%的编译成功。但可以先尝试将invertfilter.h文件(源码中)改写成.mm文件原创 2012-06-21 12:49:28 · 4781 阅读 · 1 评论 -
开源ImageFilter库For IOS源码发布
鉴于之前有朋友反映将ImageFilterForC直接用于XCODE开发会报出错误的原因。最近正好入手一部MAC PRO,所以顺便将ImageFilterForC做了部分改动并迁移到了IOS上,同时做了一个测试应用。大家可以从这个地址: https://github.com/daizhenjun/ImageFilterForIOS 下载该应用(源码),原创 2012-07-17 14:10:59 · 2819 阅读 · 3 评论 -
Mongodb源码分析--主程序入口main()
作为这个系列的开篇,本人特此声明,因为本人技术功力有限,且对mongodb源码目前也在研究探索中,可能会对mongodb内部某些实现机制及原作者的意图领会不够精确,因此错误再所难免,希望大家批评指正。另外本文所使用的mongodb源码为1.8 rc1,同时如果有条件的话,大家可以安装vs2010,用C++来编译调试mongodb源码,以便通过运行过程中的数据和流程来验证自己的判断。原创 2011-03-17 17:56:00 · 3639 阅读 · 1 评论 -
mongodb源码分析--查询
在之前的一篇文章中,介绍了mongodb的主程序入口main()的执行流程,其实main只是实始化一些参数信息并做了些后台线程任务的启动工作(包括数据准备和恢复),并最终启动一个线程进行循环侦听。今天将会介绍在mongodb中数据查询 (find)的流程,以了解mongodb是如果对message进行拆包分析,以及数据进行表扫描及索引使用的。原创 2011-03-18 17:34:00 · 3487 阅读 · 0 评论 -
一致性Hash算法(KetamaHash)的c#实现
最近在研究"一致性HASH算法"(Consistent Hashing),用于解决memcached集群中当服务器出现增减变动时对散列值的影响。后来 在JAVAEYE上的一篇文章中,找到了其中的 KetamaHash 算法的JAVA实现(一种基于虚拟结点的HASH算法),于是为了加深理解,对照 JAVA版本,用C#重写了一个。放到这里,如果大家感兴趣的话, 可以下载测试一下,如果发现写法有问题请及时告之我,以便我及时修正。 下面是对Ketama的介绍:原创 2010-08-24 16:08:00 · 10022 阅读 · 16 评论 -
基于MongoDB分布式存储进行MapReduce并行查询
之前的文章中介绍了如何基于Mongodb进行关系型数据的分布式存储,有了存储就会牵扯到查询。虽然用普通的方式也可以进行查询,但今天要介绍的是如何使用MONGODB中提供的MapReduce功能进行查询。有关MongoDb的MapReduce之前我写过一篇文章 Mongodb Mapreduce 初窥,今天介绍如何基于sharding机制进行mapreduce查询。在MongoDB的官方文档中,这么一句话:原创 2010-09-13 12:40:00 · 2184 阅读 · 0 评论 -
基于Mongodb进行分布式数据存储
注:本文是研究Mongodb分布式数据存储的副产品,通过本文的相关步骤可以将一个大表中的数据分布到几个mongo服务器上。MongoDB的1.6版本中auto-sharding功能基本稳定并可以尝试放到生产环境下使用。因为其是auto-sharding,即mongodb通过mongos(一个自动分片模块,用于构建一个大规模的可扩展的数据库集群,这个集群可以并入动态增加的机器)自动建立一个水平扩展的数据库集群系统,将数据库分表存储在sharding的各个节点上。原创 2010-09-07 13:32:00 · 15197 阅读 · 12 评论 -
基于Mongodb分布式存储物理文件
在之前的文章中介绍了如何对关系型数据数据通过auto-sharding进行分布式数据存储,今天介绍如何对物理文件(小文件,基本小于100K)进行分布式存储。接着看一下要配置的测试环境(与前一篇中类似):模拟2个shard服务和一个config服务, 均运行在10.0.4.85机器上,只是端口不同:原创 2010-09-09 09:16:00 · 4491 阅读 · 2 评论 -
我的2010
再过十几天,2010年就要过去了,为了避免虚度光阴,花些时间把这一年的工作,生活及所感所想归纳一下。 这一年启动并开源了两个项目,一个是silverlight摄像头应用,一个是TokyoTyrentClient客户端。 都开源在了codeplex下,链接如下: http://tokyotyrantclient.codeplex.com/ http://webcam.codeplex.com/ 当然这一年也是兴趣和关注领域发原创 2010-12-16 17:19:00 · 1475 阅读 · 3 评论 -
使用ServiceStackRedis链接Redis简介
注:关于如何在windows,linux下配置redis,详见这篇文章:) 目前网上有一些链接Redis的C#客户端工具,这里介绍其中也是目前我们企业版产品中所使用的ServiceStackRedis, 链接地址:原创 2011-02-17 14:26:00 · 7021 阅读 · 3 评论 -
VS2010 C++下编译调试MongoDB源码
考虑到mongodb使用了boost库源码,参考mongodb官方文档后,下载编译boost版本是1.42(时间为2010-2-2)或更新版本: boost版本1.42: http://sourceforge.net/projects/boost/files/boost/1.42.0/boost_1_42_0.zip/download原创 2011-03-07 13:21:00 · 5518 阅读 · 8 评论 -
关于Memcache mutex设计模式的.net实现
之前在网上看过memcache-mutex的场景分析和实现代码,这里将.net方式加以实现,当然这里主要是依据原文的伪代码照猫画虑,以作为总结及记录。如果您对相应实现感兴趣可以尝试使用本文提供的代码进行测试,如果有问题请及时与我联系。 原文链接:http://timyang.net/programming/memcache-mutex/原创 2011-02-22 12:18:00 · 2089 阅读 · 2 评论 -
产品开源了(discuz!nt 2.0),顺便将前些时候发的文章做个总结
望DUDU见谅,暂放首页一天,呵呵:) 就在昨天(2007.12.24), 公司的discuz!nt 2.0 正式版终于开源了,下面就是链接(开源页面): http://www.discuznt.com/opensource.html Discuz!NT v2.0 源码包 for .net Framework 2.原创 2007-12-25 12:27:00 · 909 阅读 · 0 评论