技术宅,fat-man

增加语言的了解程度可以避免写出愚蠢的代码

导航

上一页 1 ··· 8 9 10 11 12 13 14 15 16 ··· 50 下一页

2014年2月7日 #

用链表解决if语句过多的问题(C/C++实现)

摘要: 起因http://www.cnblogs.com/code-style/p/3499408.html设计模式的解决方案(基于python语言)http://www.cnblogs.com/code-style/p/3501713.htmlhttp://www.cnblogs.com/code-style/p/3502105.html用设计模式实现完以后我突然发现,所谓的设计模式其实在C语言里不就是链表吗?当前节点能处理就处理不能处理让下一个节点处理,不多说,上代码消息类的设计message.h#ifndef MESSAGE_H#define MESSAGE_H#define TRUE 1#de 阅读全文

posted @ 2014-02-07 14:38 codestyle 阅读(1839) 评论(5) 推荐(1)

2014年2月1日 #

Obj-C的hello,world 2

摘要: https://github.com/facebook/facebook-ios-sdk/blob/master/src/FBAppEvents.h+ (void)logEvent:(NSString *)eventName valueToSum:(double)valueToSum parameters:(NSDictionary *)parameters;昨天晚上,我去看了下facebook,google的obj-c项目,看下他们是怎么处理多参数方法的,发现他们还是把方法名写成了多个部分,我在想这么做是不是其实还是有些道理的,于是改了下自己的DEMO,看起来顺眼多了#i... 阅读全文

posted @ 2014-02-01 09:40 codestyle 阅读(332) 评论(0) 推荐(0)

2014年1月31日 #

Obj-C的hello,world 1

摘要: 不得不说,Obj-C所谓的中缀表达式真的蛮奇怪的,当无参或者只有一个参数时看起来还不错://无参数的方法-(void) say;[employee say]; //只有一个参数的方法-(void) say (NSString *)name[employee say @"lishujun"]; 但是方法多个参数时看起来就比较乱了,居然能把一个方法名分成不同的部分我觉得这样似乎更自然一些:#import @interface Employee : NSObject{ }@end@implementation Employee-(void)say:(NSString *)firs 阅读全文

posted @ 2014-01-31 22:22 codestyle 阅读(246) 评论(0) 推荐(0)

2014年1月26日 #

时隔一年,再议代码提取

摘要: 首先说两件事情,我发现不同能力的人能掌控的代码行数并不一样,例如我,能掌控的一个函数长度也就在80行,而某些大牛能掌控的代码行数是一个函数150~300行(不过大牛要求这个函数相对清晰,也就是说这个函数可以做多件事情,但是函数内每段代码都只做一件事情,所以即使在函数内,代码也是一块一块的,否则大牛也一样觉得不爽),超过各自掌控的代码行数,都会觉得难受所以在能力的掌控范围内,大牛并没有强烈的提取代码的需求,而我因为掌控能力不足所以即使在没有明显复用的情况下也有比较强烈的提取代码的需求,所以我重构的一些程序,往往重构后代码的长度并没有明显的减小(当然清晰程度是有所提升的)但是这样有一个问题,就是当 阅读全文

posted @ 2014-01-26 15:17 codestyle 阅读(2032) 评论(8) 推荐(2)

2014年1月23日 #

一个小知识,shell如何输出换行符号

摘要: 一般来说如果在echo里直接写上\n,他不会被转义,必须加上-e参数echo "hello\n morning"# 输出为 hello\n morningecho -e "hello\n morning"# 输出为 #hello# morning貌似如果带-e参数,!等符号也变成shell的运算符,所以-e还是不能滥用 阅读全文

posted @ 2014-01-23 10:35 codestyle 阅读(10027) 评论(0) 推荐(1)

2014年1月22日 #

持续集成之戏说Check-in Dance

摘要: 尽管Thoughtworks的首席科学家Martion folwer为“持续集成” 下了定义,但由于自身背景与经历的不同,每个人对其都有不同的理解。从狭义上讲,持续集成可以认为是一种基于某种或者某些变化对软件系统进行的经常性的构 建活动(注:这里的构建活动不仅指编译打包工作,还包含各类自动化测试、部署及发布活动)。然而,它忽视了一点,即:任何实践中都应该包含“与人的交互” 这一因素。因此,从广意上讲,持续集成应该是软件开发团队在上述活动的约束下所采用的整个开发流程及活动。它强调开发团队与持续集成系统之间的互动性。我 们既见过持续集成做得非常成功的团队,也见过效果不佳的持续集成,甚至失败的案例. 阅读全文

posted @ 2014-01-22 16:28 codestyle 阅读(265) 评论(0) 推荐(1)

2014年1月20日 #

最佳日志实践

摘要: http://www.bitstech.net/2014/01/07/log-best-practice/前言日志用来记录用户操作、系统运行状态等,是一个系统的重要组成部分。然而由于日志并非系统核心功能,通常情况下并不受团队的重视。在出现问题需要通过日志来定位时,才发现日志还存在很多问题。日志记录的好坏直接关系到系统出现问题时定位的速度,同时可以通过对日志的观察和分析,提前发现系统可能的风险,避免线上事故的发生。我们在开发和运维NOS(网易对象存储,Netease Object Storage)的过程中,对整个系统的日志进行了分析优化,积累出一些经验,归纳如下。相关问题经验整理1.关于日志级别 阅读全文

posted @ 2014-01-20 13:00 codestyle 阅读(310) 评论(0) 推荐(0)

2014年1月17日 #

一篇旧文章,结合汇编探索this指针

摘要: //VC6.0下成功编译#include class X{public: void foo(int b,int c){ this->a=b*c; cout 左 4)被调函数进行栈清理*///BCB6.0 下成功编译#include class X{public: void foo(int b,int c){ a = b*c; cout<<"a="<<a<<endl; } int a;};int main(){ X x; //04 void (X::*pXfoo)(int,int);... 阅读全文

posted @ 2014-01-17 18:19 codestyle 阅读(453) 评论(0) 推荐(0)

性能相差极大的SQL语句

摘要: 等价的SQL,性能差异极大,数据库里设计了一个字段存储日期时间,但不是datetime类型,用了时间戳(int 11), 下面有2个SQL语句用于查询数据库,一个是把时间戳转成date进行查询,一个是把日期转成时间戳,直接用时间戳进行比对,虽然没有统计差多少,但从直觉上发现至少能差10倍以上-- 性能较差的SQL,把数据库的时间戳转成datetime,用字符串比对select bid,price,platform from bc_user_charged_list_wap_merge where from_unixtime(charged_time) like '20140116%&# 阅读全文

posted @ 2014-01-17 15:00 codestyle 阅读(336) 评论(0) 推荐(0)

使用date命令,进行时间戳和日期时间的互转

摘要: 首先是知道时间转成时间戳date -d "2014-01-16 12:30:11" +%s date -d "2014-01-16" +%s # 等价于2014-01-16 00:00:00date -d "20140116" +%s # 等价于2014-01-16 00:00:00其次是知道时间戳,想要知道当时的时间date -d '1970-01-01 UTC 1389801600 seconds'# 1389801600 是2014-01-16 00:00:00 时对应的时间戳# 输出:Thu Jan 16 00 阅读全文

posted @ 2014-01-17 14:21 codestyle 阅读(440) 评论(0) 推荐(0)

上一页 1 ··· 8 9 10 11 12 13 14 15 16 ··· 50 下一页