常见代码英文词汇缩写
欢迎贡献!!!
全称
缩写
action
act
activity
act
account
acc
address
addr
allocate
alloc
animation
anim
application
app
argument
arg
array...
Click to read more ...
unix 标准输入输出缓存
四个月前碰到一个问题。
我相信,系统为了提高程序IO效率,会先将输出流缓存起来,不会立即写到磁盘。
但感觉这个理论,不能说服我在帖子里提到了两个疑问:
tail延时5-10秒,才读取到日志。(延时太长令人费解!)
部分log并不是按逻辑顺序输出。(无法接受!)
比如 PS:
LOG("1");
LOGERR("2");
// 在日志文件里,2竟先打印
2
1
最近从《UNIX环境高级编程》第五章-标准IO/库读到了相关内容,认为可以解答以上2个疑问。
以下大部分内容摘自抄原文。
标准I/O提供了以下3种类型的缓冲:
全缓冲。在这种情况下,填满标准I/O缓存后才进行实际I/O操作。对于驻...
Click to read more ...
zlog运行时增加format和rule规则
zlog是一个日志库,我对它的配置化操作很感兴趣
我希望zlog能在运行时增加format和rule规则,这样做有个好处(见issues
): 相同的日志输出格式可以在运行时,统一定义。
增加这个功能尝试修改了一下。
zlog.h添加增删[format]和[rule]规则的接口(删规则还未实现)
int zlog_add_format(const char *ctx);
void zlog_del_format(const char *name);
int zlog_add_rule(const char *ctx);
void zlog_del_rule(const char *name);
test目录里增加了相应的测试用例test_add_rule.c
// Fil...
Click to read more ...
修复toluapp在lua5.3的整数错误
长期以来,lua number即用来表示整数类型,也用来表示浮点类型。
最近将旧工程lua从5.1.4升级到5.3.4后。发现以下问题,lua_pushnumber压入整数,该值在lua里打印却是带有“点号”浮动数
// c/c++ File
int val = 1;
lua_pushnumber(L, val);
lua_setglobal(L, "value");
-- Lua File
print(value)
--5.1.4打印"1"
--5.3.4打印"1.0"
出现这个问题,原因是Lua 5.3之后,官方已明确区分integer和number类型
Changes since Lua 5.2
Here are the main changes introduced...
Click to read more ...
进程开关实例及shell技巧
后端程序免不了经常启动、关闭和检查进程。本文简单实现这3个操作,引出一些shell技巧。
只是自己的一些经验,难免会有偏颇,不过抛砖引玉罢。
进程列表
进程列表是key-value结构,通过进程名称(key),获取其对应配置信息(value)。不像其它高级编程语言,shell原生没有key-value容器。另外列表不会很长,选择遍历列表的做法不会对性能影响太大
# 配置列表
proc_list=\
(
loginSrv="-cfg loginSrv.cfg -ip 192.168.0.2 -port 123"
dbSrv="-cfg dbSrc.cfg -ip 192.168.0.3 -port 456"
)
# 通过进程名称,获取列表配置信息
function get_p...
Click to read more ...
斯蒂芬·金《写作那会事》
前部分是作者的自传,后部分介绍写作经验心得体会。全书没有严肃的教条,通俗易懂。
作者书中多次推荐另一本写作技巧书。小威廉.斯特伦克和e.b怀特合著的《风格的要素》
在开始写作前,找一个能让你进入安静工作的地方,
以下我阅读后,总结的写作技巧
描述有时侯不必细致,留给读者去想象。
积累词汇。为了准确表达内容。
学好语法。错误的语法导致含义模糊,但是正确语法的语句也不见得有实际意义。
适当使用被动语法。被动语法可以避免与主语产生行动竞争,但可以为语句增加权威性。如:“会议将于七点整被举行”修改成“会议定在七点整”
适当使用副词。读者通过现实的...
Click to read more ...