技术宅,fat-man

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

导航

上一页 1 ··· 25 26 27 28 29 30 31 32 33 ··· 50 下一页

2013年7月29日 #

开源日志系统 log4c 使用心得+总结

摘要: http://blog.csdn.net/sky_qing/article/details/7208645一、安装:我看网上好多人介绍log4c安装的时候都说有两个步骤:先下载expat安装包并安装expat,然后下载log4c安装包并安装log4c。这么看来,log4c是依赖expat的。但是有时候我们不想使用的日志系统还要依赖别的库,毕竟现在的开源日志系统很多,这样一来log4c就没有那么大的优势了。所以我仔细看了log4c的README文档,发现log4c模块默认情况下是使用expat库来作为XML文件的解析器(因为log4c的配置文件默认是一个叫log4crc的XML文件),我们可以在 阅读全文

posted @ 2013-07-29 18:31 codestyle 阅读(5031) 评论(0) 推荐(0)

log4c 编译安装简单小结(ubuntu12)

摘要: 1 下载源码,解压 (假定解压到了当前用户的根目录下,位置是~/log4c-1.2.3)2 编译安装log4c(指定--prefix极其重要,如果没有指定到/usr下会有一堆麻烦事,还有,不能按照他的README里说的,指定到/path/of/installation,因为这样真的会在根目录下建立这样的目录)cd ~tar -zxvf log4c-1.2.3.tar.gzmkdir build; cd build../log4c-1.2.3/configure --prefix=/usr/local/log4cmakemake install3 编译log4c自带的例子cd ~/log4c-1 阅读全文

posted @ 2013-07-29 18:03 codestyle 阅读(1227) 评论(0) 推荐(1)

/etc/ld.so.conf的使用说明

摘要: /etc/ld.so.conf这个文件记录了编译时使用的动态链接库的路径。默认情况下,编译器只会使用/lib和/usr/lib这两个目录下的库文件如果你安装了某些库,比如在安装gtk+-2.4.13时它会需要glib-2.0 >= 2.4.0,辛苦的安装好glib后没有指定 --prefix=/usr 这样glib库就装到了/usr/local下,而又没有在/etc/ld.so.conf中添加/usr/local/lib=================库文件的路径如 /usr/lib 或 /usr/local/lib 应该在 /etc/ld.so.conf 文件中,这样 ldd 才能找 阅读全文

posted @ 2013-07-29 17:47 codestyle 阅读(5628) 评论(0) 推荐(0)

在软件架构上增加新功能的注意事项

摘要: 摘要:系统架构设计之所以难是因为变数太大,既要从用户需求角度考量,又要考虑自身设计的种种局限性。异构系统间的接口设计是尤其需要注意的,因此,架构师要从宏观的角度来规划整个架构,以下列出五点注意事项仅供参考。文章来源于DZone,作者Simon Brown分享了自己在增强软件功能的工作中得出的一些经验,详细讲述了软件体系结构同样也需要加强功能性,并列出了增加新功能时需要重点考虑的注意事项。(以下是编译内容)我们现在需要提升正在使用的软件系统,将新的功能添加到现存的一些使用案例中。可以想象,用户案例得以执行,主要是通过用户在Web应用程序中的多个网页的实践,而且最终步骤的修改也是建立在大量用户案例 阅读全文

posted @ 2013-07-29 16:36 codestyle 阅读(611) 评论(0) 推荐(0)

教你如何做需求调研:忽略极端情况

摘要: 投递人itwriter发布于 2013-07-22 08:01评论(13)有1749人阅读原文链接[收藏]«» 英文原文:Not handling edge cases, making them explicit instead 写accidental entities系列文章之初,我们跟着一个顾问公司为一个汽车租赁公司开发一套软件。当时他们已经完成了新车注册部分的功能。计划中的下一步是让顾客能在系统中预订。 我们争取到了租赁公司的 CEO 抽出一小时时间给我们介绍预订系统流程。 CEO: 我想这个会议用不了一个小时。预订流程非常简单。你们对预订流程有什么看法?” Us: 阅读全文

posted @ 2013-07-29 16:35 codestyle 阅读(313) 评论(0) 推荐(0)

2013年7月27日 #

C语言实现OOP 版本3 :简化代码

摘要: 我倒是不追求代码和C++相似,但是应该追求简洁的代码,下面是一个新的尝试shape.h#ifndef SHAPE_H#define SHAPE_Htypedef struct shape_t { void *shapeData; void (*area)(void *); void (*release)(void *);}Shape;void release(void *shape);#endifshape.c#include #include "shape.h"void release(void *shape){ free(((Shape*)shape)->shap 阅读全文

posted @ 2013-07-27 13:20 codestyle 阅读(364) 评论(0) 推荐(0)

C语言实现OOP 版本2

摘要: 写版本2的原因,还是发现在不同的具体图形模块里发现了重复的release代码,这是坏味道,所以还是决定消除这些重复代码,DRY!shape.h#ifndef SHAPE_H#define SHAPE_Htypedef struct shape_t { void *shapeData; void (*area)(void *); void (*release)(void *);}Shape;void release(void *shape);#endifshape.c#include #include "shape.h"void release(void *shape){ . 阅读全文

posted @ 2013-07-27 01:46 codestyle 阅读(411) 评论(0) 推荐(0)

C语言实现的OOP

摘要: 我倒不是为了OOP而OOP,实在是OOP的一些特征,例如封装,多态其实是软件工程思想,这些思想不分语言,遵循了这些思想可以使得程序更有弹性,更易修改和维护,避免僵化,脆弱shape.h该文件定义的是图形接口,所有具体图形都必须实现自己计算面积,周长等API#ifndef SHAPE_H#define SHAPE_Htypedef struct shape_t { void *shapeData; void (*area)(void *); void (*release)(void *);}Shape;#endifcircle.h 圆形接口#ifndef CIRCLE_H#de... 阅读全文

posted @ 2013-07-27 01:24 codestyle 阅读(1801) 评论(2) 推荐(0)

2013年7月19日 #

sort命令总结

摘要: 功能:排序语法:sort [-bcdfimMnr][-o][-t][+-][--help][--verison][文件]参数: -b 忽略每行前面开始出的空格字符。 -d 排序时,处理英文字母、数字及空格字符外,忽略其他的字符。 -f 排序时,将小写字母视为大写字母。 -i 排序时,除了040至176之间的ASCII字符外,忽略其他的字符。 -c 检查文件是否已经按照顺序排序。 -m 将几个排序好的文件进行合并。 -M 前面3个字母依照月份的缩写进行排序。 -n 依照数值的大小排序。 -o 将排序后的结果存入指定的文件。 -r 以相反的顺序来排序。 -t 指定排序时所用的栏位分隔字符。 -k 阅读全文

posted @ 2013-07-19 15:17 codestyle 阅读(358) 评论(0) 推荐(0)

Shell脚本调试技术

摘要: http://www.ibm.com/developerworks/cn/linux/l-cn-shell-debug/一. 前言shell编程在unix/linux世界中使用得非常广泛,熟练掌握shell编程也是成为一名优秀的unix/linux开发者和系统管理员的必经之路。脚本调试的主要工作就是发现引发脚本错误的原因以及在脚本源代码中定位发生错误的行,常用的手段包括分析输出的错误信息,通过在脚本中加入调试语句,输出调试信息来辅助诊断错误,利用调试工具等。但与其它高级语言相比,shell解释器缺乏相应的调试机制和调试工具的支持,其输出的错误信息又往往很不明确,初学者在调试脚本时,除了知道用e 阅读全文

posted @ 2013-07-19 13:10 codestyle 阅读(245) 评论(0) 推荐(0)

上一页 1 ··· 25 26 27 28 29 30 31 32 33 ··· 50 下一页
点击右上角即可分享
微信分享提示