小工具(一)

太久没回来了,其实很多次想写但是无法静下心来,思绪如开始停更的三月里乱飞的柳絮,总感觉经历了很多,但却没有力气吐出一个字。终于处暑,昔时聚在一起的人们也已经走得差不多了,终于也想起了,该随便写点什么了。

就推荐一些小工具吧,这段时间发现的,感觉挺有意思的。以后也不知道会不会继续,先假设是个连续剧吧,写完拖更的那种。

FlashCards

一个类似单词卡的小工具,也可以用来放代码,示例仓库FlashCards
方法很简单,直接用Docker启动,可以放在自己的电脑上,也可以放在自己的服务器上,挂一个端口,然后可以Web端远程访问。另外,单词数据可以直接上传Github仓库,环境不需要。
这样随时随地,就是一个私人的Note?
搭好之后访问大概是这样:

终端美化LSD

主要功能是将Linux下的ls命令输出结果美化一下,不同的文件类型会有不同的图标,不过目前颜色还不支持修改。大概效果如下:

仓库地址在此
不过需要安装NerdFonts

Tree2dotx

就是将树形结构描述转化为DOT描述。 DOT语言是一种文本图形描述语言,可用于画有向无向图、流程图,语法比较简单,网上一搜就有,这里不做介绍。
比如将当前目录下的文件转成关系图,使用tree2dotx工具,命令为:

1
tree | tree2dotx > out.dot

Graphviz

Graphviz(Graph Visualization Software)是一个由AT&T实验室启动的开源工具包,用于绘制DOT语言脚本描述的图形,官网在这,可以从DOT文件生成图像,常见的有png/gif/svg等。
如果将之前的树形目录保存为关系图,只需要继续将上面的命令重定向即可。

1
tree | tree2dotx | dot -Tpng -o list.png

保存为list.png文件,大致就是这个样子:

Gprof

一个代码性能分析工具,结合Gdb可以很方便的分析所写的代码。
主要方式是在使用gdb编译时加上-pg参数,然后正常运行程序,最后会出现一个gmon.out的文件,里面就是各个函数的信息。
结合Graphviz,可以得到函数关系调用图。

1
gprof -b ./test gmon.out | gprof2dot | dot -Tpng -o test.png

其中gprof2dot工具可以通过pip安装。
最后结果如下:


里面有各个函数调用次数、运行时间等情况,保存为svg也可以在浏览器中看。

EMMMM, To be continued…

分享
匿名评论