- 博客(21)
- 资源 (19)
- 收藏
- 关注
原创 又是strtok导致的bug
最近碰到一个不起眼的bug, 看了一下, 就基本知道原因了, 又是strtok函数改变了入参, 这个我们已经讨论多次了, 故不赘述。 strtok太坑, 少用为妙, 万一要用的时候, 也要知道其容易出问题的点。 与strtok越亲近, 就越容易core或者出多线程安全、可重入、字符串被修改的问题。
2016-09-25 23:24:03 7973 1
原创 一根头发导致的bug------扯一下软件开发经验
很久以前, 我在用鼠标的时候, 发现鼠标光标移动不正常, 第一感觉是中了毒, 然后各种百度找原因啊, 然后调节鼠标的灵敏度, 然后又各种倒腾, 最后还是没有解决问题, 鼠标光标的移动还是晃晃的, 恼人啊, 后来无意发现, 原来是鼠标底下有一根头发, 拿走之后, 就好了。 最近, 又出现了鼠标光标晃动, 呵呵, 这次有经验了, 一看, 果然又有一根头发在鼠标底部, 拿走之后, 又OK
2016-09-25 23:14:22 7245
原创 tar命令用错, 差点毁掉了core宝贝
上次遇到一个低概率core问题, 好不容易等了一天, 才等到core, 前面说过了, 强烈建议对core文件进行备份, 确保不丢失。 当时, 我要对core文件进行打包, 但我把tar命令用错: tar zcvf test.core test.core.tar.gz , 后面两个参数刚好用反了, 破坏了test.core这个珍贵的文件, 万幸的是, 我进行了备份, 能恢复,
2016-09-24 11:19:39 7676
原创 一个并不高明但却让人蛋疼的安全问题------不要给真理, 要给解决方案
最近, 出了一个安全问题, 某号的登录态被盗用, 导致发布恶意诈骗内容, 要定位处理。 一旦出了这种安全问题, 各方就容易起鸡皮疙瘩, 安全同学一顿猛催, 其他方也是一样。 在毫无根据的情况下, 一些人猜测是原因a, 猜测是原因b, 有说是原因c, 总之, 要表现得非常在乎, 让其他人做一些漫无目的的验证。 我一开始就陷入了这个思维, 要查为什么, 要查出为什么
2016-09-22 23:57:55 7442 1
原创 samba映射文件和linux文件不一致, 什么鬼?
说来也搞笑, 我直接在Windows用samba映射到linux, 这样在Windows上就能看到linux文件目录了, 奇怪的是, 我编译后, 在linux上生成了新的a.out, 但是, 从Windows上看, 并没有这个文件, 这是为毛毛呢? 原来, 需要在Windows映射目录中刷新一下
2016-09-22 23:35:39 8273
原创 知道怎么停止很重要!!!
在实际开发中, 我们要考虑到多种情况, 为未来做准备, 防患于未然, 比方说: 1. 开启了跑任务模式, 那基本要考虑如何停止, 还要考虑停止后如何不重复前面的已进行动作, 从而进行新的开始; 2. 设置了某定时任务, 那基本就要考虑如何查看定时任务, 停止定时任务; 这些都是基本的开发素养, 遇到了太多例子, 只知道如何开始, 不
2016-09-22 23:28:08 7079
原创 对象如何持久化(用json_encode)?
前面讲过用serialize实现持久化, 但有个问题, 那就是可读性不强。 权衡考虑后, 还是用json_encode来序列化比较好。 咱们以数组为例来看看:<?php $arr = array ('a'=>1,'b'=>2,'c'=>3,'d'=>4,'e'=>"5"); $test = json_encode($arr); echo $test; ec
2016-09-16 11:53:21 7613
原创 搞两套编译环境玩玩
在多人联合开发时, 大家肯定都饱受编译不过之苦, 简直是折磨哦。 我自己习惯于搞两套编译环境, 进行备份, 确保偶尔遇到编译失败也不阻塞自己当前的工作, 用起来爽爽哒! 而且, 对于比较稳定的编译环境, 不要经常去更新它!!!
2016-09-15 13:06:44 7029 1
原创 use echo $x as apposed to echo ($x)
最近遇到一个小问题, 闲来无聊, 撸一发:Administrator@51B6904C3C8A485 ~$ export x=yAdministrator@51B6904C3C8A485 ~$ echo $xyAdministrator@51B6904C3C8A485 ~$ echo ($x)sh.exe": syntax error near unexpected toke
2016-09-15 12:46:05 7343 1
原创 无协议情况下的反序列化
以gpb为例, 我们可以写出.proto协议文件, 然后进行序列化。 收到buffer后, 又根据协议进行反序列化。 其实, 序列化本身就是一个固有的算法, 对于序列化后的buffer, 完全不需要协议, 就可以解析出原内容。 这样我想到了h.264的解码,去理解每一个bit, 有点类似。 哈哈。
2016-09-15 12:38:36 7726
原创 万恶的crontab -r命令
大家对linux中的crontab不陌生, 今天强调的是, 使用crontab命令时, 一定要慢, 要小心小心再小心。 crontab -e是编辑 crontab -r 是删除 crontab -l是查看 其中crontab -r的r和e, 在键盘上是邻居的, 很容易敲错了, 没有提示啊, 难以恢复啊!!! 当多
2016-09-15 00:39:15 18361 7
转载 linux下so覆盖导致coredump问题的分析
转载地址:http://blog.sina.com.cn/s/blog_622a99700100pjv3.html尝试解答以下问题: 1.为什么cp的方式更新运行中进程的so,程序会coredump 2.采用什么方式更新已经加载了的so,就可以避免coredump 我们的公共组件绝大部分都支持so形式的自定义插件,比如s++,
2016-09-15 00:22:59 9042 1
原创 stl map find使用不当导致的低概率core dump问题的定位
最近呢, 收到低概率core dump告警, 不频繁, 但挺恼人, 那就展开定位呗。再低概率的core, 在亿万请求下, 必然会发生。 这么搞起: 1. 上外网core dump的机器一看, 没有core文件了, 于是从backup目录找到了备份的core 2. 看了一下core文件的大小, 太小, 无法定位, 这肯定是被截断了。
2016-09-15 00:16:14 15965 7
原创 white list 机制
之前说过软件中的白名单机制, 实际上, 在开发中, 白名单是很有用的, 极大方便定位和调试。 白名单的表现形式有很多, 可以慢慢体会下。
2016-09-14 23:50:36 8437
原创 C++ string find的误用
最近在代码中, 看到类似这样一段代码:#include #include using namespace std;int main(){ string s = "abc"; if(s.find("x")) { cout << "yes" << endl; } else { cout << "no" << endl; } return 0; }
2016-09-14 23:47:30 7692 6
原创 linux crontab定时使用入门 (炒鸡简单的)
linux crontab的使用还是很简单的, 主要用于定时执行任务, 在本文中, 我们来玩一下linux中的crontab, 确保任何菜鸟都能学会。 1. 先写个待定时执行的shell脚本, 内容如下:taoge@localhost Desktop> cat test.sh#! /bin/bashecho "yes" >> /home/taoge/Desktop/
2016-09-11 00:34:23 12066 7
原创 对象如何持久化(用serialize)?
对象如何持久化? 哈哈, 可以序列化并写到文件。 下面来玩玩php的序列化(用数组), 好方便:<?php $a = array(12=>"one", 31=>"two", 22=>"three"); $b = serialize($a); $c = unserialize($b); var_dump($b); var_dump($c);?>
2016-09-09 23:41:32 7405
转载 细说 Form (表单)
转载地址:http://www.cnblogs.com/fish-li/archive/2011/07/17/2108884.html 细说 Form (表单)阅读目录开始简单的表单,简单的处理方式表单提交,成功控件多提交按钮的表单上传文件的表单MVC Controller中多个自定义类型的传入参数F5刷新问题并不是WebForms的错
2016-09-06 23:56:23 7768 1
原创 php定时执行、取消定时的伪代码(低级版本)
最近要写个小工具, 实现一个定制执行的功能, 并能取消定时。 我是这么搞的, 结果被老大狠批。 自己回头看自己的程序, 也算是笑尿。function addTimer(){ create file for(600次) { sleep(1); if(file not exist) { exit; } }
2016-09-06 23:39:56 7549 1
原创 云南之行
按照以往, 我是要写写游记和感悟的, 现在还是算了吧。 写个流水账就行, 其余的留在心中: Day1: from 广东深圳 to 昆明滇池 Day2: from 昆明滇池 to 大理双廊 Day3: from 大理双廊 to 大理古城 Day4: from 大理古城 to 宝山腾冲 Day5: fro
2016-09-03 12:12:58 7638 3
linux protobuf安装文件
2016-11-04
linux tree命令的源码
2015-11-01
编译好的openssl库和头文件
2014-12-14
入门数据库sqlite3的最佳实践资料
2014-08-12
在Windows下学习Linux命令
2013-08-08
音频处理软件Gold Wave
2013-07-17
H.264visa软件
2013-07-13
YUVviewer :原始的YUV视频的播放器
2013-06-24
经典的C语言编译器:TC2.0
2013-06-23
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人