five-zh
码龄15年
关注
提问 私信
  • 博客:524,213
    524,213
    总访问量
  • 52
    原创
  • 1,635,847
    排名
  • 20
    粉丝
  • 0
    铁粉
IP属地以运营商信息为准,境内显示到省(区、市),境外显示到国家(地区)
IP 属地:北京市
  • 加入CSDN时间: 2009-06-24
博客简介:

肖武的专栏

查看详细资料
个人成就
  • 获得26次点赞
  • 内容获得43次评论
  • 获得79次收藏
创作历程
  • 3篇
    2017年
  • 1篇
    2016年
  • 4篇
    2015年
  • 1篇
    2014年
  • 25篇
    2013年
  • 11篇
    2012年
  • 3篇
    2011年
  • 5篇
    2010年
成就勋章
TA的专栏
  • 随笔
    2篇
  • 未分类
    5篇
  • php
    9篇
  • linux
    15篇
  • c/c++
    9篇
  • shell
    4篇
  • mac osx
    1篇
  • python
    1篇
  • mysql
    1篇
  • go语言
    1篇
创作活动更多

如何做好一份技术文档?

无论你是技术大神还是初涉此领域的新手,都欢迎分享你的宝贵经验、独到见解与创新方法,为技术传播之路点亮明灯!

182人参与 去创作
  • 最近
  • 文章
  • 代码仓
  • 资源
  • 问答
  • 帖子
  • 视频
  • 课程
  • 关注/订阅/互动
  • 收藏
搜TA的内容
搜索 取消

go语言通道channel使用总结

1.广播当一个通道关闭时, 所有此通道的读取都会退出阻塞. 利用此特性可以实现广播功能package mainimport ( "fmt" "time")func main() { c := make(chan bool) for i := 0; i < 5; i++ { go func(n int) { <-c //读取到数据
原创
发布博客 2017.04.03 ·
12346 阅读 ·
1 点赞 ·
2 评论 ·
2 收藏

匹配json字符串的正则表达式

大家感觉正则表达式难写吗? 反正我感觉挺难的, 语法晦涩,难以阅读,不方便调试. 需求:一个字符串里可能包含一个或多个json格式的子串以及一些普通格式的子串, 希望用正则把json格式的子串都匹配出来. 正则:(?(?:\{\s*"(?:\\"|[^"])+"\s*:\s*(?:(?P>json)|"(?:\\"|[^"])+"|[-+]?(0|[1-9]\d*)(?:\.[-+]?(0|
原创
发布博客 2017.03.24 ·
46990 阅读 ·
4 点赞 ·
7 评论 ·
20 收藏

mac osx 下安装lisp环境sbcl,并解决方向键不能用问题

首先假设你的系统已经安装好homebrew, 若没有安装可参看我之前的博客: mac osx 下的apt-get,yum的代替工具 ----homebrew安装sbcl$brew install sbclsbcl交互模式下, 输入代码时不支持左右箭头移动光标,比较崩溃. 如下图$ sbclThis is SBCL 1.3.14, an implementation of ANSI Common
原创
发布博客 2017.03.22 ·
1647 阅读 ·
1 点赞 ·
0 评论 ·
0 收藏

打造xhprof调试环境

XHProf是一个分层PHP性能分析工具. 其扩展只有4个函数, 常用的只有两个,见php手册. 使用起来并不复杂, 但返回的报告数据是一个大数组, 阅读很不方便, 所以还需要一个优化显示的工具, 例如xhprof的pecl包. php扩展和pecl的安装这里不详细讲解, 网上有很多教程. 下面介绍一个比较酸爽的配置方式 — 不修改项目代码,以入侵的方式实现get参数控制是否打开xhprof调试.下
原创
发布博客 2016.12.03 ·
855 阅读 ·
0 点赞 ·
0 评论 ·
0 收藏

使用nc命令监听端口编写git的web hooks

需求: git 服务器可以配置 web hooks 希望git服务器能在提交代码后通知开发机更新代码解决方案: 1.使用nc命令监听5001端口(service.sh) 2.当nc命令接收到请求后, 数据使用管道传给run.php进行处理 3.因为web hooks是http协议请求, run.php解析出path, 然后分类处理service.sh#/bin/bashdir=`dirna
原创
发布博客 2015.07.17 ·
1697 阅读 ·
0 点赞 ·
0 评论 ·
0 收藏

php解析crontab时间格式

crontab 时间格式: 配置 说明 “* * * * * *” 分 时 日 月 周 “0 3 * * * *” 数字精确配置, 星号为任意.(每天凌晨3点整) “15,30 3 * * *” 逗号表示枚举 (每天3点15分和3点30分) “15-30 3 * * *” 短线表示范围 (每天的3点15分到30分) “*/10 3 * * *” 斜杠表
原创
发布博客 2015.04.14 ·
5085 阅读 ·
1 点赞 ·
1 评论 ·
2 收藏

mysql同时使用order by和limit查询时的一个严重隐患 -- 丢失数据

我经常使用order by和limit来做数据分页显示并排序,一直也没发现过什么问题。但这两天缺遇到一个严重的问题,在按时间戳升序排列并用limit分批读取数据时,却发现在某些记录丢失了,表中明明有的记录确死活读取不到。研究了大半天终于发现了问题所在,记录一下以防忘记,也是给大家提个醒。
原创
发布博客 2015.04.11 ·
38766 阅读 ·
3 点赞 ·
11 评论 ·
18 收藏

判断用户权限后,如何高效的提供文件下载

问题:某些文件只希望特定用户可以下载,那么下载之前必须进行权限判断。判断通过时,跳转到被下载文件的真实地址肯定不行,这相当于没有做权限限制了。一般的做法是读取被下载的文件然后输出给用户。在这个过程中动态语言干了一件吃力不讨好的事情,转了一个弯读取数据然后在交给web服务器输出,多消耗了资源还可能降低下载速度。对于此问题,我曾一度纠结,后来才发现web服务器有一个X-Sendfile的特
原创
发布博客 2015.02.27 ·
1194 阅读 ·
0 点赞 ·
0 评论 ·
0 收藏

阿里云linux系统 centos 安装svn服务器

一、安装svn
原创
发布博客 2014.09.16 ·
3427 阅读 ·
0 点赞 ·
0 评论 ·
2 收藏

c/c++ 获取命令行参数示例

# a.out -d /data/ -i /tmp/a.txt -c 1int main(int argc, char* argv[]) { //参数变量初始化 string type; string db_path; string in_file; string out_file; string sep("\t"); int col = -1; //get查询的列索引0
原创
发布博客 2013.12.12 ·
20858 阅读 ·
2 点赞 ·
0 评论 ·
3 收藏

chrome扩展下载地址 --- url模版

https://clients2.google.com/service/update2/crx?response=redirect&x=id%3D{id}%26uc用扩展的id替换以上路径中的"{id}", 就是扩展的下载地址了。然后你就可以请别人帮忙下载或者用其它程序下载都行,把下载好的文件拖入到chrome即可安装了。扩展的id示例:如下url的红色部分https:
原创
发布博客 2013.11.26 ·
2325 阅读 ·
0 点赞 ·
0 评论 ·
0 收藏

判断python 列表/字典深层key是否存在的方法

从接口获取的json数据,有时会非常复杂,有很多层,可能还是列表和字典嵌套的。这个时候若要判断深层次的一个是否存在。则比较麻烦了特把这些判断封装为一个通用的方法,以后备用import typesdef json_get(json, l_key, default): ret = json for k in l_key: if t
原创
发布博客 2013.11.14 ·
10793 阅读 ·
0 点赞 ·
0 评论 ·
0 收藏

mac osx  下的apt-get,yum的代替工具 ----homebrew

linux下有很方便的包管理器如:apt-get、yum,mac下也有类似的工具:Homebrew 和 Fink、MacPort。Flink是直接编译好的二进制包,MacPorts是下载所有依赖库的源代码,本地编译安装所有依赖,Homebrew是尽量查找本地依赖库,然后下载包源代码编译安装。 Flink容易出现依赖库问题,MacPorts相当于自己独立构建一套,下载和编译的东西
原创
发布博客 2013.11.12 ·
76367 阅读 ·
0 点赞 ·
1 评论 ·
6 收藏

用于“实时”读取文件数据的小工具 ----- dread

/* * File: dread.cpp * Author: 肖武 * * Created on 2013年10月31日, 上午10:02 * * 延时读取(delayed read)文件 */#include #include #include #include using namespace std;/* * */int main(int argc,
原创
发布博客 2013.10.31 ·
2024 阅读 ·
0 点赞 ·
1 评论 ·
3 收藏

c++ 编写管道命令的技巧

shell里的管道非常方便和好用,但不是所有命令都可以直接放在管道符("|")后面接收管道输出的数据。能接收管道输出的数据并正确处理的命令称之为管道命令,这需要命令本身支持,如ls就不是管道命令。下面以c++为例说一下怎么编写管道命令.
原创
发布博客 2013.10.24 ·
4686 阅读 ·
0 点赞 ·
0 评论 ·
1 收藏

ubuntu 13.04 普通用户丢失sudo权限后的恢复办法

起因:虚拟机的usb功能启用,说需要把当前用户加入到“vboxusers”用户组,结果直接执行了以下命令$ usermod -G vboxusers xw悲剧就这么产生了,这时一条错误的命令,它会让当前用户退出原来所有的组,当然包括“sudo”用户组,所以没有sudo权限了。。。。而root帐号是默认的,没有密码;并且也没有其它帐号有sudo权限解决:网
原创
发布博客 2013.09.29 ·
3923 阅读 ·
0 点赞 ·
1 评论 ·
2 收藏

使用shell巧妙高效的批量删除历史文件或目录

背景:有实时产生的数据按小时分文件保存,如“/data/2013/09/18/14.txt”。现需要保留30天的最新数据,而删除所有其它的历史数据。注意“保留30天的最新数据”,可能不是连续的30天,中间若某一天数据缺失,也必须把最新的30天的数据保留下来。思路:获取所有数据路径列表,去除最新30天的数据路径,然后遍历删除。若是使用脚本语言来开发(如php,python),循环获取路径
原创
发布博客 2013.09.25 ·
6555 阅读 ·
2 点赞 ·
1 评论 ·
1 收藏

c++ 实现“实时”读取不断有增量写入的文本文件

啥也别说,先上代码/* * File: readuntil.cpp * Author: @肖武 * * Created on 2013年8月30日, 上午10:44 */#include #include #include #include #include #include using namespace std;int main(int argc,
原创
发布博客 2013.09.25 ·
8377 阅读 ·
1 点赞 ·
1 评论 ·
10 收藏

c/c++编译时,指定程序运行时查找的动态链接库路径

g++ -Wl,-rpath,/usr/local/lib/ -oevh libevent_http.cpp -levent-Wl,-rpath,  用于指定程序运行时查找动态链接库的路径,多个路径是使用冒号隔开。这样就不用添加路径到 /etc/ld.so.conf 文件中了,在需要多个so版本共存时很有用
原创
发布博客 2013.08.23 ·
12048 阅读 ·
1 点赞 ·
0 评论 ·
14 收藏

python和php的文本处理速度对比

运行环境:PHP 5.4.17Python 2.6.6linux 64位一、逐行读取数据文件,用tab键做分隔处理split.py #!/usr/bin/python#coding=utf-8import sysif len(sys.argv) != 2: print sys.argv[0]+" [in_file]
逐行读取数据,做'
原创
发布博客 2013.08.12 ·
4042 阅读 ·
0 点赞 ·
0 评论 ·
0 收藏
加载更多