摘要: 首先说明这不是标题党,呵呵。可以说这是我的第一张,应该也是全世界首张“码农演奏的吉他录音小样” 。很久没有发BLOG了。本来想从此"隐退"下去。但在一年前的一个叫向怡宁的人在网上的视频震动了我,让我把本来准备40岁以后要做的事情提前几年来搞,而这也是我20年来一直想做的事,就是“玩音乐”。 阅读全文
posted @ 2014-11-12 13:53 代震军 阅读(8836) 评论(89) 推荐(64) 编辑
摘要: 今天给大家介绍的这个插件,是我在IOS平台上开发以来,一些想法的集合体。因为本人时常感觉在开发过程中无论从GOOGLE资料查找和SQL数据库查询,正则表达式测试,SVN等,这些经常要做的操作中,耽误了我不少的时间,甚至会打断我对业务的思考,进而影响对程序的理解。 在忍无可忍的情况下,我决定自己动手造一些工具,希望借它避开频繁切换窗体过程对开发者思维的影响。 阅读全文
posted @ 2013-06-25 14:05 代震军 阅读(4926) 评论(11) 推荐(6) 编辑
摘要: 鉴于之前有朋友反映将ImageFilterForC直接用于XCODE开发会报出错误的原因。最近正好入手一部MAC PRO,所以将顺便将 ImageFilterForC做了部分改动并迁移到了IOS上,同时做了一个测试应用。大家可以从这个地址: https://github.com/daizhenjun/ImageFilterForIOS 阅读全文
posted @ 2012-07-17 14:13 代震军 阅读(4184) 评论(4) 推荐(4) 编辑
摘要: 在原有50多套滤镜(v0.2)基础上,又新增实现22种图片效果。目前三个平台的源码已同步并测试完毕。下面是图片效果: 阅读全文
posted @ 2012-05-31 15:08 代震军 阅读(9755) 评论(9) 推荐(6) 编辑
摘要: 经过近三天的开发,在原有40套滤镜(v0.1)基本上,又新增实现了7类滤镜(v0.2),通过组合使用,可直接做出12种图片效果。相信总有几款适合您,哈哈。下面是图片效果及源码下载地址: 阅读全文
posted @ 2012-05-21 13:41 代震军 阅读(15111) 评论(7) 推荐(10) 编辑
摘要: 历经三个多月开发,终于完成了这三个库的编码工作。用到的开发语言主要有使用了C++(含部分Object-c),JAVA,C#。经过检测,目前已正式投入到生产环境中。为了实现三种语言一种命名方式,我采用了相同的类名,接口,namespace(package)。可以说只要熟悉了其中一个平台的代码,就可以很顺利的写出另外两个平台的滤镜代码(当然我后续还会加入更多的滤镜效果)。该库基于LGPL协议,也就是说大家可以将其免费用于自己公司的项目及产品中(包括商业项目)。当然如果大家用后觉得还可以的话,可以私下洽谈合作事宜(包括商业方面的),呵呵! 下面是使用这三个滤镜类库所实现的滤镜效果。 阅读全文
posted @ 2012-05-15 13:54 代震军 阅读(17519) 评论(34) 推荐(31) 编辑
摘要: 在开发LLServer的同时,我一直在跟进测试企业版的相应LLServer客户端,目前这部分代码已测试完毕并提交的Discuz!NT产品中,会跟随最新的源码包一并发布。本文主要是介绍一下产品中引入LLServer的架构思路。在Discuz!NT的企业版产品中,使用了Memcached,Redis这两个软件来提供分布式缓存服务(两者任选其一)。现有又有了LLServer,它不仅提供了KEY/VALUE缓存,还包括持久化存储部分。这样,用户可以有更多大的选择余地。下面是Discuz!NT的企业版分布式缓存中一个架构图: 阅读全文
posted @ 2011-08-26 11:13 代震军 阅读(8679) 评论(17) 推荐(6) 编辑
摘要: LLServer是本人基于libevent和leveldb这两个开源软件,开发的轻量级数据存储服务器软件,借助libevent高效网络接口实现对leveldb的访问封装。项目网址:http://code.google.com/p/llserver/. 使用环境:Linux. 作者:代震军. 目前发布版本:1.0 阅读全文
posted @ 2011-08-23 13:20 代震军 阅读(7654) 评论(17) 推荐(11) 编辑
摘要: 很久没写口水文了,因为一直没有像样的话题。另外作为一个技术从业者,写那类东东实在没什么意思。但昨天与公司销售一起去一家客户那做技术交流的过程中发现了技术之外的话题,我想很多公司可能也正在上演以这类话题所引发的冲突,所以就一并以流水帐的方式呈现出来了。因为这次是客户那边的CTO 对我们产品有疑问,所以之前我们早早准备了一些资料和相关测试说明文档,希望能全方位的介绍一下我们产品特别是企业版的细节和应用场景。这里要说明的是因为这家公司在过去不到一年的时间里因为技术和商务那边内耗过重,经历了两轮大的人事变动,基本上技术部门人员流失怠尽,而早期与我们接触的技术人员已全部离任。 阅读全文
posted @ 2011-06-17 11:27 代震军 阅读(15200) 评论(107) 推荐(18) 编辑
摘要: 在之前的一篇文章中,介绍了mongos的启动流程,在那篇文章的结尾,介绍了mongos使用balancer来进行均衡,今天就继续讲其实现方式。首先我们看一下Balancer及相关实现策略的类图: 阅读全文
posted @ 2011-05-23 10:53 代震军 阅读(11597) 评论(10) 推荐(4) 编辑
摘要: 考虑到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 阅读全文
posted @ 2011-03-07 13:25 代震军 阅读(16219) 评论(16) 推荐(5) 编辑
摘要: 在之前的Discuz!NT缓存的架构方案中,曾说过Discuz!NT采用了两级缓存方式,即本地缓存+memcached方式。在近半年多的实际运行环境下,该方案经受住了检验。现在为了提供多样式的解决方案,我在企业版里引入了Redis这个目前炙手可热的缓存架构产品,即将memcached 与Redis作为可选插件方式来提供了最终用户,尽管目前测试的结果两者的差异不是很大(毫秒级),但我想多一种选择对用户来说也是好的。 阅读全文
posted @ 2011-02-21 10:51 代震军 阅读(21409) 评论(23) 推荐(11) 编辑
摘要: 原文连接:http://www.huxiu.com/article/45713/1.html北 京,入秋,雾霾天及社交网络的分享,让大家忽略了这个三千多年六朝古都传承下来的秋悲寂寥。北京的天气如二进制码般分明:今天重度污染,明天就晴空万里。 而TMT行业也是如此,成王败寇:一方面是热火朝天的互联网化... 阅读全文
posted @ 2014-11-03 10:00 代震军 阅读(1589) 评论(4) 推荐(3) 编辑
摘要: 原文链接: http://coolshell.cn/articles/11235.html背景就简单点儿说,最近一个项目C#编写,涉及浮点运算,来龙去脉省去,直接看如下代码。1234float p3x = 80838.0f;float p2y = -2499.0f;double v321 = p3x * p2y;Console.WriteLine(v321);很简单吧,马上笔算下结果为-202014162,没问题,难道C#没有产生这样的结果?不可能吧,开启Visual Studio,copy代码试试,果然结果是-202014162。就这样完了么?显然没有!你把编译时的选项从AnyCPU改成x6 阅读全文
posted @ 2014-03-17 15:18 代震军 阅读(2801) 评论(0) 推荐(0) 编辑
摘要: 原文地址:http://blog.163.com/xychenbaihu@yeah/blog/static/1322296552013430114959121/之前在网上看到关于Twitter、Sina以及腾讯微薄的一些实现技术,这个简单做个摘要。1、读扩散还是写扩散?inbox: 收件箱,你收到的消息,即你所关注的人发布的消息。outbox: 发件箱,你发布的消息。写扩散(Push)该方式为每个用户维护一个订阅列表,记录该用户订阅的消息索引(一般为消息ID、类型、发表时间等一些元数据)。每当用户发布消息时,都会去更新其follower的订阅列表。优点:读很轻。初始化时仅需要读取自己的inbo 阅读全文
posted @ 2014-02-12 09:14 代震军 阅读(8523) 评论(0) 推荐(0) 编辑
摘要: 原文:http://blog.linuxeye.com/124.htmlApache附带的ab,它非常容易使用,ab可以直接在Web服务器本地发起测试请求。这至关重要,因为我们希望测试的服务器的处理时间,而不包含数据的网络传输时间以及用户PC本地的计算时间。需要清楚的是,ab进行一切测试的本质都是基于HTTP,所以可以说它是对于Web服务器软件的黑盒性能测试,它获得的一切数据和计算结果,都可以通过HTTP来解释。另有一些压力测试软件,包括LoadRnner、Jmeter等,则是不同程度上包含了服务器处理之外的时间,比如LoadRunner运行在用户PC上,可以录制浏览器行为,这种测试的结果玩玩 阅读全文
posted @ 2014-01-14 09:27 代震军 阅读(22946) 评论(1) 推荐(2) 编辑
摘要: http://files.cnblogs.com/daizhj/DTrace.pdf//////////////////syscalldtrace -ln 'syscall::write*:' //显示可使用的probedtrace -ln 'syscall::*read*:entry' //显示可使用的probedtrace -n 'syscall::write:entry {@dist[execname] = quantize(arg0)}' //之后CTRL+Cdtrace -n 'syscall::socket:entry {@d 阅读全文
posted @ 2013-07-08 16:29 代震军 阅读(7028) 评论(0) 推荐(0) 编辑
摘要: @interface BusinessCard2 : NSObject@property (nonatomic) int _age;@property (nonatomic) Byte _padding; //放在这里会让对象分配内存空间时多分16字节=》alloc(32字节)@property (nonatomic, retain) NSString *_firstName;@property (nonatomic) Byte _b1;@end;@implementation BusinessCard2- (void)dealloc{ [__firstName release];}@end测 阅读全文
posted @ 2013-05-29 12:59 代震军 阅读(1698) 评论(0) 推荐(0) 编辑
摘要: iphone4s : fc04f0ab6ae3e0ab0e8156a368b634c885b3e1d0 NSDate *start = [NSDate date]; if (dateFormatter == nil) { for(int i = 0; i < 100000; i++){ [NSDateFormattersetDefaultFormatterBehavior:NSDateFormatterBehaviorDefault]; dateFormatter = [[NSDateFormatter alloc] init]; ... 阅读全文
posted @ 2013-05-24 16:52 代震军 阅读(1552) 评论(0) 推荐(0) 编辑
摘要: http://tonybai.com/2013/04/10/100-bugs-in-c-cpp-opensource-projects/俄罗斯OOO Program Verification Systems公司用自己的静态源码分析产品PVS-Studio对一些知名的C/C++开源项目,诸如Apache Http Server、Chromium、Clang、CMake、MySQL等的源码进行了分析,找出了100个典型的Bugs。 个人觉得这份列表对C/C++ 程序员有一定参考意义。与其说事后用静态工具分析,倒不如在编码时就提高自知自觉,避免这份列表上的错误发生在你的代码中,因此这里将部分摘录一些 阅读全文
posted @ 2013-04-19 15:21 代震军 阅读(2224) 评论(0) 推荐(0) 编辑
摘要: http://www.infoq.com/cn/articles/anti-ddos-cdn-1前言本议题是我们在OWASP杭州区2013年岁末年初安全沙龙中进行分享的内容,在此我们对这个议题的整体内容进行了重新归纳梳理,形成了文字版。在本文中,DDoS的案例与应对经验均来自于某市场占有率很高的客服系统所遇到的实际场景,分别从成本、效率和具体架构设计(选型、配置、优化等)角度来分析通过自建CDN来应对不同类型的DDoS攻击。背景介绍客服系统的主要业务是提供基于网页的实时动态的文字聊天,主要应用在各类网络商品销售、网站在线客服等领域,总用户数58万,同时在线活跃的用户约12万/天。这些应用领域通 阅读全文
posted @ 2013-02-21 15:52 代震军 阅读(4786) 评论(0) 推荐(0) 编辑
摘要: 本文着重介绍如何在XCODE中,通过C++开发在IOS环境下运行的缓存功能。算法基于LRU(最近最少使用)。有关lru详见: http://en.wikipedia.org/wiki/Page_replacement_algorithm#Least_recently_used 阅读全文
posted @ 2012-11-13 15:27 代震军 阅读(5329) 评论(3) 推荐(0) 编辑
摘要: 在Object-c中,字典(KEY/VALUE)使用NSDictionary 和NSMutableDictionary(可变长)。使用语法如下: NSDictionary *dict = [NSDictionary dictionaryWithObjectsAndKeys:@"value1",@"key1",@"value2",@"key1",nil]; 阅读全文
posted @ 2012-11-09 15:42 代震军 阅读(3196) 评论(0) 推荐(1) 编辑
摘要: 在Object-c中,数组使用NSArray和NSMutableArray(可变长数组)。使用语法如下: NSArray *array = [[NSArray alloc] initWithObjects:@"One",@"Two",@"Three",@"Four",nil]; 阅读全文
posted @ 2012-11-07 14:56 代震军 阅读(6152) 评论(12) 推荐(2) 编辑
摘要: 在Object-c中,字符串处理通常使用NSString,NSMutableString这两个类,前者用于定长字符串,后者用于可变长度字符串的操作。尽量其提供的方法很丰富,但一用起来后就让人感到很难受,比如其超长的方法名称(如stringByReplacingPercentEscapesUsingEncoding),再加上嵌套“[]”式的调用方式,让人很快就会产生"[]"匹配综合症。 即使xcode提供了自动配对“[]”号的功能,但一阅读起源代码后依旧让人心生厌恶。给人一种“强迫打字综合症”的感觉。所以我在NSMutableString基础上用C++进行了封装,特别是对于一些常用方法的使用,在使用时会非常方便,与C#没太大差别。 阅读全文
posted @ 2012-11-06 17:12 代震军 阅读(8699) 评论(2) 推荐(1) 编辑
摘要: 大约是一年多前开始接触OBJECT-C并进行IOS开发,一上来就被OBJECT里那种近似于“丑陋”的方法命名及其[]调用方式给“强暴”了一把,所以在后来的开发过程中,开始思考如何能使用C++方式来混编开发。经过了近半年多的代码积累和开发调试,开始有了这个系列的内容。本系列BLOG的主要方向是引导IOS开发者特别是之前用C#和C++的朋友,可以一步步搭建属于拥有.net风格的基本类库,并快速进行IOS应用的开发。不过前提是读者和开发者有一定的C++开发经验,以免遇到一些诡异问题时,能够快速找出解决方案。 阅读全文
posted @ 2012-11-06 10:50 代震军 阅读(7355) 评论(3) 推荐(1) 编辑
摘要: 在原有70多种滤镜(v0.3)基础上,又新增实现26种图片效果。目前三个平台的源码已同步并测试完毕。 有朋友反映在ios平台上使用时出现编译错误,这里需要说明的是,因为本人手上没有mac的本本,只是使用VC进行开发,并参照相应的object-c代码写了相应的转型程序,所以并不保证在xcode上100%的编译成功。但可以先尝试将invertfilter.h文件(源码中)改写成.mm文件(xcode会将其视为C++代码进行编译),这样就可以一步步将其余滤镜代码也写到object-c项目中了。 阅读全文
posted @ 2012-06-21 12:39 代震军 阅读(9550) 评论(9) 推荐(6) 编辑