自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

pg的博客

想写就写

  • 博客(110)
  • 资源 (1)
  • 收藏
  • 关注

原创 vim fzf

vim fzf

2022-04-12 10:58:51 1097

原创 vim-plug

some tips about vim-plug

2022-04-11 19:03:37 1322

原创 python3获取stock历史信息

#pythonimport json,urllibfrom urllib.request import urlopenurl = 'http://api.k780.com'params = { 'app' : 'finance.stock_history', 'symbol' : 'sh601318', 'date' : '20200512', 'appkey' : '10003', 'sign' : 'b59bc3ef6191eb9f747dd4e83c99f2a4',

2020-05-13 21:07:44 532

原创 vim之YouCompleteMe插件安装

YouCompleteMeYouCompleteMe :一个随键而全的、支持模糊搜索的、高速补全的插件。YCM 由 google 公司搜索项目组的软件工程师 Strahinja Val Markovic 所开发,YCM 后端调用 libclang(以获取AST,当然还有其他语言的语义分析库)、前端由 C++ 开发(以提升补全效 率)、外层由 python 封装(以成为 vim 插件)依赖请...

2019-12-30 18:57:32 337

原创 VIM 小技巧

vim 查找小技巧大家应该都知道,在 VIM 里面如果要搜索某个关键字,只要键入 /xxx就可以了,而键入 ?xxx 可以反向查找.例如,我要找到所有 hello,我就键入/hello然后回车,一个文件中,所有出现这个字样的地方都会被高亮显示。按n键,就可以自动把光标跳到下一个,N 会反向跳。但是,用好这个功能,怎么消除高亮呢?只要键入:noh...

2019-12-28 19:43:29 242

原创 我的 ~/.vimrc

set encoding=utf-8 set t_Co=256set autoindentset tabstop=2set shiftwidth=4set expandtabset softtabstop=4set numberset textwidth=80set wrapset nowrapset linebreakset wrapmargin=2set scro...

2019-12-27 21:33:15 176

原创 VIM 快捷键

关于Vimvim是我最喜欢的编辑器,也是linux下第二强大的编辑器。 虽然emacs是公认的世界第一,我认为使用emacs并没有使用vi进行编辑来得高效。 如果是初学vi,运行一下vimtutor是个聪明的决定。Vim的几种模式正常模式:可以使用快捷键命令,或按:输入命令行。插入模式:可以输入文本,在正常模式下,按i、a、o等都可以进入插入模式。可视模式:正常模式下按v可以进入可视模...

2019-12-27 21:23:03 164

原创 gtest宏列表

简介总结gtest中的所有断言相关的宏。gtest中,断言的宏可以理解为分为两类,一类是ASSERT系列,一类是EXPECT系列。一个直观的解释就是:ASSERT_* 系列的断言,当检查点失败时,退出当前函数(注意:并非退出当前案例)。EXPECT_* 系列的断言,当检查点失败时,继续往下执行。布尔值检查Fatal assertionNonfatal assertion...

2019-12-27 11:00:23 639

原创 gtest使用友元类测试私有函数

私有函数怎么测?What is the best way of testing private methods with GoogleTest? [closed]OPTION 2 修正后/*example*/class Foo{public: Foo(){} friend class FooTest;private: int bar(){return 1;...

2019-12-26 11:56:45 971

原创 socket tcp

socket编程(tcp)相关函数socket()bind()listen()connect()accept()recv()/read()send()/write()close()函数流程图

2019-10-12 18:07:56 142

原创 Linux 终端显示 Git 当前所在分支

Linux 终端显示 Git 当前所在分支编辑 ~/.bashrc 文件vi ~/.bashrc下面的代码加入到文件的最后处 function git_branch { branch="`git branch 2>/dev/null | grep "^\*" | sed -e "s/^\*\ //"`" if [ "${branch}" != "" ];th...

2019-10-09 14:14:42 1507 1

原创 聊聊 CAN 总线

CAN(Controller Area Network)总线CAN(Controller Area Network)即控制器局域网,是一种能够实现分布式实时控制的串行通信网络。CAN 总线广泛应用于汽车、船舰等电子设备通信概述CAN是由 Bosch (德国)和 Intel 公司开发的CAN有很多优秀的特点,使得它能够被广泛的应用。比如:传输速度最高到 1Mbps通信距离最远到 10...

2019-06-24 10:10:36 1649

原创 快速设置无线网络和查看串口号 bat 脚本

关于目的快捷设置无线网络,包括 ip 地址、网关、DNS快捷查看串口号提高工作效率适用范围win10 或 win7ip 设置 bat 脚本以设置 ip 192.168.1.121 为例,假设已设置显示文件后缀名新建 txt输入以下代码:netsh interface ipv4 set address WLAN static 192.168.1.123 255.25...

2019-05-09 17:01:40 1693 1

原创 C++实现仅判断 ip是否可访问的 ping (win32/Linux)

C++实现仅判断 ip是否可访问 pingping 的实现ping 是基于 ICMP 协议实现的,而 ICMP 协议又是基于 IP 协议实现的(ICMP作为IP协议的数据部分传输)ping 通过 ICMP 协议中的 type=8 和 code=0 来实现的,这个 type 和 code 的组合在 ICMP 协议中表示请求回显。如果能正常回显,那么返回的 ICMP 协议包中的类型是类型0,表...

2019-01-10 17:43:58 2568 1

原创 不借助第3个变量交换两整形变量的值(C/C++)

问交换两个变量的值。通常我们的做法是:定义一个新的变量,借助它完成交换。代码如下:int a=1; int b=2; int t; t=a; a=b; b=t; 如何在不借助第3个变量交换两变量的值?这是个常见的面试笔试题,题目随小,但是却非常巧妙,遇到这个小问题是在同事写的代码中,这位优秀同事使用的位运算符 ^,让我眼前一亮,于是决定仔细思考并在此记录下来。答有三种...

2019-01-04 12:02:49 1238

原创 C语言中利用绝对路径与相对路径读取文件

#include <stdio.h>#include <dirent.h>#include <stdlib.h>#include <string.h>#include <sys/types.h>#include <sys/stat.h> int main(int argc, char const *argv[])...

2018-11-29 10:48:06 8921

原创 python利用正则筛选信用卡

本文来源于两个简单的题目:判断一对单词是否是" Anagrams "判断信用卡是否合理判断 Anagramsanagrams 的百度翻译:由颠倒字母顺序而构成的字(短语)而题目给出例子:[ DOG , ODG ][ DOG , DOG ][ DOG , GOD ][ DOG , GDO ]均为 anagrams 。那思路就简单了,直接拆分字母,排序,比较就 ok 。...

2018-11-15 21:03:23 624

翻译 什么是堆和栈?它们在哪?

原文What and where are the stack and heap?译文问编程语言书籍解释了在堆栈上创建了值类型,并且在堆上创建了引用类型,而没有解释这两者是什么。 我还没有看到对此的明确解释。 我理解堆栈是什么。 但,它们在哪里(物理上在真实计算机内存中)?它们在多大程度上受操作系统或语言运行时控制?它们的范围是什么?是什么决定了它们的大小?哪一个更快?答(7...

2018-11-01 16:40:12 1413

翻译 Modbus协议(翻自wiki)

原文Modbus译文Modbus来自维基百科,自由的百科全书Modbus 是一种串行通信协议,最初由Modicon(现为施耐德电气)于 1979 年出版,用于其可编程逻辑控制器( PLC )。 Modbus 已成为约定俗成的标准通信协议,现在已成为连接工业电子设备的常用方法。[^1] 在工业环境中使用 Modbus 的主要原因是:在考虑工业应用的情况下开发,公开发布,免版税,易...

2018-10-31 09:10:59 6008 1

翻译 DHCP 协议如何工作?

How does DHCP work?

2018-10-29 15:24:06 1772

原创 ubuntu下libmodbus库的使用

工作项目中,机器人要完成一个电源管理的功能,自带可充电触点接触充电的电池,具体参数不表,代码要完成通过无线网络与西门子的PLC通信,协议是modbus-tcp。因此在网上找来好用的开源库——libmodbus。记录下简单使用过程。下载地址:download 选择v3.0.6长期稳定版本文分为以下部分:源码安装测试与使用源码安装下载完压缩包放至/home目录下,解压:tar ...

2018-10-25 20:13:30 10239 9

原创 gcc与makefile

前言自接触C语言以来,小demo直接gcc,大项目的Makefile都是框架里自带的,一般都是按需修修补补,具体的规则总是摸不清搞不懂!当自己搭个小项目,手搓一个Makefile真是费劲,根本写不出来,因此书此博客,以后来ctrl+c。本文不会详细展开如何编写一个Makefile。如想了解种种细节,请参考下面这个非常详细的教程,包含几乎GNU make的Makefile的所有细节:跟我一起写...

2018-10-25 18:33:14 11092

原创 Ubuntu下使用Gtest

Gtest(googletest)GTest是Google开发的跨平台而且开源的C++单元测试框架,很好很强大。下载地址:https://code.google.com/p/googletest/ 。关于GTest在Windows下使用,CoderZh给出了十分详尽的使用指南:玩转Google开源C++单元测试框架Google Test系列本文由如下部分组成:环境配置gtest的简...

2018-10-23 11:58:27 2282

原创 Windows下忘记svn密码怎么办

TortoiseSVN Password Decrypter is a free utility to view cached repository credentials that TortoiseSVN has saved on your PC.The tool is helpful if you checkmarked the “Save authentication” box at s...

2018-09-27 14:39:18 1817

原创 float 与 int 相乘产生的令人崩溃的“ 2.3 * 10 = 22 ”

越是简单的越不能忽视 类型强转一定要 注意! 注意! 注意!以上两天结论前前后后花了我三天工作时间才让我意识到并学到。有的时候,不管你小心还是无意,坑就在那里,踩的人够多,也许就填平了。 在工作中,分配到一个bug,简单描述一下:该程序很庞大,由QT编写,跨平台,支持ubuntu和windows,其中一个模块需要控制海康摄像头,代码中有海康的SDK。bug的现象是无法设定到指定的摄像头调焦...

2018-09-14 11:17:50 4082

原创 FreeRTOS(九)——队列

在编写项目应用时,常常会遇到一个任务和另一个任务进行“沟通交流”的情况,在没有操作系统时,全局变量可以解决这个问题,但是如果在使用操作系统的应用中用全部变量来传递信息就会涉及到“资源管理”的问题,而且全局变量不易维护,往往逻辑复杂的程序中,无法追踪全局变量被谁使用或被谁更改。 FreeRTOS对此提供一个叫做“队列”的机制。 本文分为如下几部分:队列简介队列结构体队列创建向队列发送消...

2018-09-08 16:08:37 657

原创 FreeRTOS(八)——时间管理

在使用过程中,我们通常会在一个任务函数中使用 延时函数来延时,当执行延时函数的时候就会进行任务切换,并且此任务就进入阻塞态。直到延时完成,任务重新进入就绪态。延时函数属于FreeRTOS的时间管理。在这个时间管理过程中,调用延时函数以后究竟发生了什么?任务是如何进入阻塞态的?延时完成以后任务又是如何恢复到就绪态的?本文会分为如下几部分FreeRTOS延时函数FreeRTOS...

2018-09-07 10:15:10 732

原创 共用体Union

union是很少见的一种数据格式,接触c以来,真的很少用到,而在最近的工作项目中,需要调试一款陀螺仪, 而在其stm324xx系列的SDK源码中,发现在使用union,好奇之下,翻了翻《C++PrimerPlus》,大致了解到这种 数据格式,记录如下一、什么是公用体?它是一种特殊的数据格式,它能够存储不同的数据类型,但只能同时存储其中的一种类型,也就是说:结构可以同时存储int、...

2018-09-04 11:10:19 427

原创 gSoap例子——calc

一、readme Simple calculator service implements: - add(a,b) - sub(a,b) - mul(a,b) - div(a,b) - pow(a,b) Compilation in C (see samples/calc): soapcpp2 -c calc....

2018-09-04 10:22:08 322

原创 python实现扫描局域网指定网段ip

一、问题由来工作的局域网中,会接入很多设备,机器人上的网络设备就2个了,一个巨哥红外,一个海康可见光。机器人还有自身的ip。 有时候机器人挂的多了,设备维修更换中,搞来搞去就不记得ip是什么,用自带的软件的确能扫出来,但是这就要开两个windows环境下的软件,耗时耗力,折腾。正好在linux,那简单,敲命令。 nmap -P 192.168.1.0/24 可以扫描出 192.168.1...

2018-09-01 18:57:54 7171 2

原创 sublime text3设置运行自己的Makefile

一、Sublime Text3简介Sublime Text3:一款具有代码高亮、语法提示、自动完成且反应快速的编辑器软件,不仅具有华丽的界面,还支持插件扩展机制,用她来写代码,绝对是一种享受。相比于难于上手的Vim,浮肿沉重的Eclipse,VS,即便体积轻巧迅速启动的Editplus、Notepad++,在SublimeText面前大略显失色,无疑这款性感无比的编辑器是Coding和Writ...

2018-09-01 17:43:44 3256

原创 sqlite的C/C++ API接口的基础操作与事务

1、C/C++ 接口 API主要通过通过sqlite3_open,sqlite3_exec和qlite3_close来实现一个简单的数据库操作。1.1、sqlite3_opensqlite3_open(const char *filename, sqlite3 **ppDb)打开一个指向 SQLite 数据库文件的连接,返回一个用于其他 SQLite 程序的数据库连接对象fil...

2018-08-30 15:37:22 4679 1

原创 leetcode MYSQL数据库题目181

181.Employees Earning More Than Their Managers1、题目与答案 The Employee table holds all employees including their managers. Every employee has an Id, and there is also a column for the manager Id....

2018-08-30 09:27:15 321

原创 C语言中通过sprintf()函数构造sql语句

char* insertJob; char sql[255]; insertJob = "INSERT INTO job_table (task_id,point_tag,task_serial,device_tag) VALUES ("; sprintf(sql,"%s%d%s%d%s%d%s%d%s", i

2018-08-28 20:29:19 1971

原创 C语言实现一种创建易管理易维护线程的方法

一、什么是线程?在一个程序中的多个执行路线就叫做线程。 就个人理解而言,一个线程就是一个进程里的一个while(1),一般情况下线程是不会退出的。 而多线程自然就是一个进程里的多个while(1)了。 《西游记》中,有一种有趣的设定——“天上一天,地上一年”。 而在现实世界中,随着技术发展,CPU的性能越来越高,夸张点说:“CPU一年,地上一天”。 为了高效利用CPU性能,多进程的方...

2018-08-28 20:20:04 289

原创 完美二叉树、完全二叉树、完满二叉树

1、二叉树(Binary Tree)1.1 什么是二叉树(Binary Tree)每个结点至多拥有两棵子树(即二叉树中不存在度大于2的结点),并且,二叉树的子树有左右之分,其次序不能任意颠倒。1.2 二叉树的性质若二叉树的层次从0开始,则在二叉树的第i层至多有2^i个结点(i>=0)。高度为k的二叉树最多有2^(k+1) - 1个结点(k>=-1)。 (空树的高...

2018-08-24 19:56:03 25142 7

原创 leetcode MYSQL数据库题目180

180.Consecutive Numbers1、题目与答案 Write a SQL query to find all numbers that appear at least three times consecutively.编写SQL查询以查找连续出现至少三次的所有数字 Table:Logs:+----+-----+| Id | Num |+----+-----...

2018-08-22 11:47:52 345

原创 leetcode MYSQL数据库题目178

178. Rank Scores题目与答案 Write a SQL query to rank scores. If there is a tie between two scores, both should have the same ranking. Note that after a tie, the next ranking number should be the next...

2018-08-21 18:44:31 366

原创 leetcode MYSQL数据库题目177

177. Nth Highest Salary1、题目与答案Table:Employee+----+--------+| Id | Salary |+----+--------+| 1 | 100 || 2 | 200 || 3 | 300 |+----+--------+ Write a SQL query to get the n...

2018-08-20 11:45:37 463

原创 leetcode MYSQL数据库题目176

176. second highest salary1、题目与答案Table: Employee+----+--------+| Id | Salary |+----+--------+| 1 | 100 || 2 | 200 || 3 | 300 |+----+--------+ Write a SQL query to get the...

2018-08-18 10:54:57 358

sublime_text_3_build_3176_x64(linux可用))

Sublime Text是一款跨平台代码编辑器(Code Editor),从最初的Sublime Text 1.0,到现在的Sublime Text 3.0,Sublime Text从一个不知名的编辑器演变到现在几乎是各平台首选的GUI编辑器,资源里只有linux64位的,但是“使用”方法都是一致的。

2018-08-31

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除