- 博客(69)
- 收藏
- 关注
原创 C++执行命令并获取输出的内容
搜到的一些结果感觉不太严谨,所以自己写了一个,记录一下。主要用到popen和fgets函数;着重需要注意获取输出时不要越界。
2022-09-08 16:29:21 1114
原创 gcc 10 安装
rsync rsync://mirrors.tuna.tsinghua.edu.cn/gnu/gcc/gcc-10.2.0/gcc-10.2.0.tar.gz ./ // 下载gcc10源码包tar xvf gcc-10.2.0.tar.gz // 解压缩,默认解压出的文件夹名为gcc-10.2.0mkdir objdircd objdir/ // 新建一个编译目标文件暂存文件夹,官方文档不建议使用gcc源码包的文件夹../gcc-10.2.0/configure --enable-...
2022-01-31 15:45:07 1292
原创 go pprof
go tool pprof http://127.0.0.1:8097/debug/pprof/heapgo tool pprof http://127.0.0.1:8097http://go tool pprof pprof.myproject.alloc_objects.alloc_space.inuse_objects.inuse_space.001.pb.gzgo tool pprof -http=:8081 pprof.myproject.alloc_objects.alloc_spa
2022-01-31 15:40:57 310
原创 gcc10 编译安装
rsync rsync://mirrors.tuna.tsinghua.edu.cn/gnu/gcc/gcc-10.2.0/gcc-10.2.0.tar.gz ./ // 下载gcc10源码包tar xvf gcc-10.2.0.tar.gz // 解压缩,默认解压出的文件夹名为gcc-10.2.0mkdir objdircd objdir/ .
2020-10-19 15:24:20 2166
原创 golang map 用原生range遍历不能保证顺序输出
按照之前我对map的理解,map中的数据应该是有序二叉树的存储顺序,正常的遍历也应该是有序的遍历和输出,但实际试了一下,却发现并非如此,网上查了下,发现从Go1开始,遍历的起始节点就是随机了,当然随机到什么程度还不清楚。package mainimport ( "fmt")func main() { x := make(map[int]int) for i := 0; i <
2020-07-16 15:33:43 18389
原创 grep ip 并计数
grep -oE '[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}' | sort | uniq -c| sort -nrk 1
2019-05-09 16:21:30 1468
原创 Mysql 命令导出符合条件数据到本地
mysql -h host -P port -u user -ppassword -D databasename -e "your sql" > filename
2019-04-09 20:21:37 1164
原创 人情的滥用-破格获取
中国是一个人情化的社会,这让大家恍惚觉得中国比其他国家更有人情味。人情,不同于亲情,友情,爱情,却又都有包含。这种情况是长达几千年的农耕文明积攒而成的,其意义在于互相帮助,而不是合作。而寄期望于,利用人情获取正常合法手段获取不到的利益,是对人情的滥用,这种人情的滥用就是破格获取。破格获取的本质就在于,弱者没有勇气和能力与强者在同一平台进行竞争,只能寄期望于破格获取。这种情况,很...
2018-10-19 14:06:22 2742
原创 Mysql查看数据库总行数 占用硬盘容量
SELECT sum(TABLE_ROWS),sum(DATA_LENGTH),sum(INDEX_LENGTH),sum(DATA_LENGTH)+sum(INDEX_LENGTH) FROM information_schema.TABLES where TABLE_SCHEMA=
2017-12-05 15:17:05 1301
原创 关于golang的error判断
e1 := errors.New("hello error")e2 := errors.New("hello error")按照我之前的理解,上面的两个error(e1, e2)应该是相等的,但是结果是不相等的, 测试代码如下package mainimport ( "errors" "fmt")func main() { e1 := errors.New("hello
2017-10-09 16:41:12 4881
原创 我是个菜鸟
耗时好几天来梳理,设计,发现要做的事情是如此简单,并没有开始想象的那么难,但是,即便如此,我也并没有把设计做的有多好,可想而知,自己是有多菜!
2017-09-05 13:39:34 311
原创 Centos7编译安装GCC7.2
wget 'http://mirrors-usa.go-parts.com/gcc/releases/gcc-7.2.0/gcc-7.2.0.tar.gz' // 下载gcc7.2源码包tar xvf gcc-7.2.0.tar.gz // 解压缩,默认解压出的文件夹名为gcc-7.2
2017-08-18 11:07:10 12536 5
原创 Mark一下,以提醒自己
大学之道,在明明德,在亲民,在止于至善。 知止而后有定,定而后能静,静而后能安,安而后能虑,虑而后能得。物有本末,事有终始。知所先后,则近道矣。 古之欲明明德于天下者,先治其国;欲治其国者,先齐其家;欲齐其家者,先修其身;欲修其身者,先正其心;欲正其心者,先诚其意;欲诚其意者,先致其知。致知在格物。物格而后知至,知至而后意诚,意诚而后心正,心正而后身修,身修而后家齐,家齐而后国
2017-02-06 15:50:25 524
原创 关于memory fence
#给自己记个笔记c++11 中 引入的 memory fence 是为了解决可能的代码重排有可能引起非预期的问题memory_order_relaxed 没有fencing作用memory_order_consume 后面依赖此原子变量的访存指令勿重排到此指令之前memory_order_acquire 后面访存指令勿重排至此指令之前memory_order_release 前
2017-02-06 14:35:22 2934
原创 王垠,我钦佩他的思维,但我永远也成为不了他
不知道是多少年前就听说过这位大侠的高名,但这两天在面对 对于我来说 是个重大人生选择的时候,因为查一些资料而去了解了一些他的光荣事迹和blog,以致于都忘了开始是要查什么了。从他的博客中,我了解到他所记录的他做的一些事情,如果这些事件本身属实的话,我真的很钦佩他,他是怎么想到的,而我能不能做到。经过这两天的思考,我认为我做不到,因为我发现我没有他那么重的好奇心,没有他那种认知世界的天赋,也
2017-01-05 10:27:30 3229 1
原创 重温《遥远的救世主》
从第一次接触“它”,到现在大约得有六七年了,每一次的重温,依然总是给我一种震撼:原来,人,还可以这样活着。应该说,是这本书改变了我的人生轨迹,或者,至少有着巨大的影响。从当时辞去第一份工作,到现在从事当下的工作,中间磕磕绊绊经历了很多,而自己也似乎因此成熟了一些。应该说,现在的工作不是很愉快,可也并不是一无是处。我,应该怎样活着,我需要思考,并且去实践。我可能永远也成为不了书中
2016-12-06 13:19:40 786
原创 厉害了我的哥,1000行的main函数
从报到算起,今天是到新公司的第三天了。三点感受:1. 系统算比较庞大。子项目很多,项目的管理应该说不错 。2. 流程上比较规范,问题从客户到研发,到测试,再发布,有严格的规范管理3. 代码写的糟糕透了,我想我的第一步就是消灭那个1000行的main函数吧。
2016-11-17 09:59:03 679
原创 关于守护进程daemon
对于c++的应用,我目前采用的是写了一个c++的小程序#include int main(){ while(true){ system("需要启动的程序加参数"); }}网上也有说这么写的while( 1 ){ if( kill(pid_to_be_check, 0) < 0 ) system("重启命令"); sleep(10);}当然我们也可
2016-10-09 13:11:39 545
原创 关于git上传后自动部署到服务器
可以考虑githook如果使用的是阿里云的服务器,可以和 code.aliyun 搭配使用 crp.aliyun,按着操作一遍,一两个小时就可以熟悉
2016-09-29 18:08:07 824
原创 查找指定后缀文件并删除
在写makefile的过程中,clean中需要删除编译过程中产生的 .o 文件查找文件 find [目录名] -namefind obj -name '*.o'find obj -name "*.o"find obj -name *.ofind obj -type f|grep .o$以上四种测试都可行,日后再琢磨有啥区别“并删除”有两种方式:1. 用find命令的 -exe
2016-08-24 15:06:32 2080
原创 修改glog源码解决不同级别日志混合输出的问题
ERROR的日志会被同时输出到INFO中,这在正式上线的应用中,会导致ERROR日志多次输出,感觉不爽,故对glog中src下logging.cc中inline void LogDestination::LogToAllLogfiles函数做如下修改:inline void LogDestination::LogToAllLogfiles(LogSeverity severity,
2016-08-10 11:55:55 3426 1
原创 查看进程打开的 fd 数
lsof -n|awk '{print $2}'|sort|uniq -c |sort -nr|more lsof -n|awk '{print $2}'|sort|uniq -c |sort -nr|grep [pid]lsof -p [pid]lsof -n|awk '{print $2}'|uniq -c |sort -nr|grep [pid]
2016-07-26 15:03:02 10530
原创 关于vim go环境的配置问题
要将 GOPATH/bin 下面的 可执行程序 ln -s 到 /usr/bin/ 下面 而且执行 ln -s 命令时必须使用绝对路径,否则很多命令将不可用
2016-07-05 16:45:10 513
原创 mysql 批量更改符合指定条件的记录的主键为一系列值
今天测试有一个奇葩的需求:按客户id 去查询消息表,可以确定能查到两条记录,将这两条记录的主键 分别更改为998 和999例如:表名 messageid customer_id ...59 10010 ....90 10010 ...两条记录 不能说没有联系,客户id都是10010,并且即将被up
2016-06-21 11:29:33 2493
原创 关于golang中map的key的类型
golang中的map,的 key 可以是很多种类型,比如 bool, 数字,string, 指针, channel , 还有 只包含前面几个类型的 interface types, structs, arrays 显然,slice, map 还有 function 是不可以了,因为这几个没法用 == 来判断原文如下:As mentioned earlier, map keys
2016-06-17 18:15:49 12951
原创 git 查看某文件修改历史
git blame filename.go显示文件的每一行的最后修改版本,修改人,修改时间git whatchanged filename.go显示某文件所有版本的提交详细信息git show [某次提交的版本号] [文件名]查看某次提交的详情(若指定了文件名,则只查询该文件的该次提交的详情)
2016-06-17 17:07:11 1754
原创 关于golang中的引用类型(reference type)
map,指针(pointers),还有slice,按照我的理解,这样的一个变量,存的就是个内存地址,而这样的一个声明var a map[int]stringvar p *intvar arr []string在没有初始化之前都是nil,对这样的一个变量进行写(write)操作,都会抛出一个运行异常(a runtime panic),当然,append操作是可以的,现在需要去验证
2016-06-13 11:49:34 2712
原创 据说最快的拼接字符串的方式bytes. Buffer
var param_buffer bytes.Bufferparam_buffer.WriteString(SMS_Param_Head)param_buffer.WriteString(verification_code)param_buffer.WriteString(SMS_Param_Tail)return param_buffer.String()该方法是网上搜集到的
2016-05-11 10:26:06 1253
原创 生成不重复的数字,但看起来又不是顺序数出来的
func getOdernoAlipay() uint64 { orderno := atomic.AddUint64(&forOdernoAlipay, 1) orderno = ((orderno & 0xf0f0f0f0f0f0f0f0) >> 4) | ((orderno & 0x0f0f0f0f0f0f0f0f) ordern
2016-05-10 16:45:27 637
原创 centos 7 MariaDB 开始
centos 7 下输入yum install mysql mysql-devel 会默认安装mariadb mariadb-devel因此我们如果准备在centos 7 上安装mysql服务器,可以用以下代码代替yum install mariadb mariadb-server启动mysql服务器
2016-05-09 09:49:33 325
原创 常用mysql命令 for 命令行
mysql -h [host] -u [username] -pshow databases; 查看数据库use 数据库名; 选择某个数据库show tables; 查看所有表;desc [tablename]; 查看某个表show create table deposit; 查看某个表的创建语句 (create语句)show full columns from depos
2016-05-05 11:01:08 347
原创 一键 为 Win7 安装盘 注入 USB 3.0驱动
一键 为 Win7 安装盘 注入 USB 3.0驱动以使得 可以通过USB 3.0 安装Win7https://downloadcenter.intel.com/zh-cn/download/25476/Windows7-USB3-0Creator只需要下载此软件(Windows7 USB3.0 Creator),选择 你的安装所用的U盘, 轻轻一点 ,就等待成功吧
2016-03-30 16:45:25 138298 4
原创 protobuf jsoncpp 安装
git clone https://github.com/open-source-parsers/jsoncpp.gitgit clone https://github.com/google/protobuf.gitgit clone https://github.com/google/googlemock.gitmv googlemock gmock
2016-03-24 15:59:23 436
原创 计算文档中某一列数值的总和
awk -F',' '{sum+=$6}END{printf"%.4f",sum}' filenamecat impression.txt|awk -F',' '{sum+=$6}END{printf"%.4f",sum}'以 , 为 分隔符, 计算所有行中 第6列的数值总和.
2016-03-22 16:04:19 1445
原创 centos7.1 部署环境
空服务器首先 安装了 gcc和g++,然后升级了软件然后安装nginxyum install gccgcc -vyum install gcc-c++g++ -vyum check-updateyum update binutilsyum updatevim /etc/yum.repos.d/nginx.repo[nginx]name=nginx
2016-01-13 11:39:27 688
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人