- 博客(19)
- 资源 (2)
- 收藏
- 关注
原创 GDB调试
GDB(GNU Debugger)包含在 GNU 的 GCC 开发套件中,是基于命令行的、功能强大的程序调试工具。对于一名 Linux 平台下工作的 C/C++ 程序员,GDB 是必不可少的工具。GDB可以按照自定义的要求运行程序,也支持基于条件表达式的断点,动态的修改程序的执行环境。当程序被停住时,可以检查此时程序中所发生的事情。程序的调试过程主要有:单步执行,跳入函数,跳出函数,设置断点,设置观察点,查看变量。一个简单示例如下$gdb programmer # 启动 gdb>bre
2022-04-16 10:08:02 1319
原创 linux内核编译替换
linux内核编译比我想象的要简单很多。之所以要编译内核,是因为BPF开发过程需要打开内核的一些功能。但是基础镜像的内核版本默认是不打开这些功能的。所以只能尝试自己编译内核。整个编译过程如下:安装编译所依赖的包下载Kernel源码自定义配置项编译重启安装依赖包apt-get install build-essential kernel-package libncurses-dev dwarves apt-get install flex bison openssl libssl-dev
2022-04-16 10:02:32 619
原创 openssl与证书机制
1. openssl加密功能openssl 是一个密码工具集,可以完成对称加密,非对称加密,生成摘要,解密。并且包含多种密码算法。1.1 对称加密enc表示执行加密功能,-e是加密,-d是解密。-aes128是加密算法,除此之外还有-dec3/-cast/-blowfish。-in与-out分别是输入输出文件,在不同功能下含义不同。openssl enc -e -aes128 -in $FileName -out $EncryptFileopenssl enc -d -aes128 -in $En
2022-04-16 09:55:26 891
原创 https证书机制
在学习kubernetes的证书机制中,许多概念没有明白。例如CA,证书,签名,指纹等等。查找资料后发现这个机制与https的证书机制是一致的。所以以https为例,讲解一下证书认证的过程。这个过程依赖两个关键算法——非对称加密与摘要算法。非对称加密加密算法分为对称加密与非对称加密。对称加密中秘钥只有一个,信息传输的双方都有秘钥。发送端将明文通过秘钥加密为密文,接收方收到密文后再用秘钥解密为明文。而非对称加密的秘钥有两个,公钥和私钥。用公钥加密的密文只有用私钥才能解密,反之,用私钥加密的内容也只有用公钥
2020-09-16 09:57:18 447
原创 oslo_db与sqlalchemy的应用
sqlalchemy是python中对象关系模型的实现库,就是将数据库的每一条记录在查询时转化为一个类实例。而oslo_db是OpenStack中对于数据库的封装,应用的也是sqlalchemy。在说明使用方法之前,先谈目录的编排方式:文件目录--db |--__init__.py |--api.py |--sqlalchemy |--__init__.py |--api.py |--models.py从目录上可以看出对于oslo_db,数据库经过了多层封装
2020-05-14 20:33:55 747
原创 python获取对象成员函数与变量
python在编程中总是不清楚对象的成员方法,通过一些内置函数可以在运行环境中得到成员函数和成员变量。当然也可以应用inspect库函数查看。class A(object): def __init__(self, x): self.x = xobj = A()print(obj.__dict__)print(vars(obj))print(dir(obj))运行结果:{'x': 2}{'x': 2}['__class__', '__delattr__', '__dict__',
2020-05-14 19:47:56 10491
原创 static_rnn与dynamic_rnn的区别
static_rnn与dynamic_rnn都可以将训练数据与一个RNN网络关联起来。两者之间的不同在于,dynamic_rnn支持不同时间步的数据,而static_rnn必须要求所有输入的数据时间步是相同的。RNN的网络结构是多变的,可以一对多,多对多,多对一。虽然网络结构多变但是并不影响RNN的参数。因为RNN中的参数应用的都是相同的一套参数。通过迭代次数来表示输入的序列时间步长度(与输入的...
2019-08-19 14:53:44 778
原创 Pycharm应用anaconda创建的虚拟环境
问题说明因为工作原因,需要安装fbprophet第三方库。但是因为公司网络管理的原因,始终不能成功。在多方尝试之下终于成功解决了网络代理问题,并在anaconda中创建了fbprophet的虚拟环境。可是发现虚拟环境在anaconda的Prompt中可以运行,但是在pycharm或者VScode中都不能应用,错误提示:找不到指定的模块。甚至连numpy等基本库都不能使用。网络上给出的解决方案大多...
2019-07-29 16:22:17 1670
原创 Python数据读写
数据处理过程中常用到的数据文件格式有txt,csv,excel,xml,数据库。本文的应用对象是数据处理,所以我们关注的是结构化数据。至于基础的文本读写不在本文的讨论范围。对于不同类型的数据,我们用到的工具也不同。txt,csv通常存储关系型数据,也就是是可以用二维数组表示。对于这一类数据,我们一般使用pandas读写。所以这里介绍pandas内置的函数处理方法。excel也可以存储关系型...
2018-11-13 19:22:42 483
原创 python执行Windows命令查询文件夹中的所有文件
import subprocess def listDataPath(self): cmd = 'dir ' + self.OriginalData_path.replace('/','\\') files = subprocess.check_output(cmd,shell=True) files = str(files, enc...
2018-08-24 14:34:53 1826
原创 pandas学习笔记
在使用pandas时语法规则是清楚的,但是对于一些细节,例如以Series和DataFrame为遍历对象有什么不同。每次遇到这种问题总是要用一个例子测试一次。索性每次测试都记录下来。for循环中使用pandas的DataFrame和Series从下面的例子可以看出对于DataFrame,不可以直接作为遍历对象,否则只会打印columns列表。而Series类型是可以作为遍历对象输出值得。如...
2018-08-22 14:28:24 2800
原创 cmake使用gprof输出数据为空
gprof简介gprof可以统计程序各个函数的运行时间与调用次数,还可以给出各个函数之间的调用关系。使用方法假设我生成一个可执行文件main 1. 编译时添加-pg命令 2. 执行可执行文件,在执行目录下会生成gmon.out文件 3. 使用命令gprof main gmon.out,也可以使用gprof main gmon.out > profile.txt将显示内容...
2018-07-05 16:54:58 2449
原创 VScode多行编辑的设置
VScode对多行编辑有两种模式。第一种模式Alt+Shift 竖列选择这种模式下只可以选择竖列,不可以随意插入光标。所以只限制于同一列且不间隔的情况下。第二种模式Shift+Ctrl 竖列选择Ctrl+光标点击 选择多个编辑位点这种模式下不仅可以选择竖列,同时还可以在多个地方插入光标。两种模式的切换使用Shift+Ctrl+p快捷键调用查询输入栏,输...
2018-06-15 09:51:58 48051 1
原创 openCV数据符号说明
在openCV中常常会使用CV_32UC1等相似的字符,这里简单说明含义,作为备忘录。标识含义CV_表示是openCV中的宏定义。32是指这个数据是一个32位数据,相同的还有8,16,64三种。U是unsigned的首字母,代表最高位表示计数,而不是符号位。除此之外还有:F,float的首字母,表示浮点数;S,signed首字母,表示有符号的数。后面的C1是channel 1的含义。就...
2018-06-12 14:26:52 1235
原创 ros程序编译中出现的问题
roscore引用Python的yaml时出现格式问题Ubuntu16.04本身就有Python2.7和Python3.5的版本,我安装caffe时安装了anaconda。所以环境中就有多个版本。 ros在运行内核时,本身调用的Python2.7的程序。但是由于环境变量PYTHONPATH的设置问题,调用yaml是从Python3.6的包中寻找的,这样就出现了格式错误。修改的方法是/etc/b...
2018-04-30 22:02:35 5256 5
原创 PCL制作map遇到的问题
之前安装ros的时候选择了全部安装,所以PCL实际上已经安装了。网上也有很多关于PCL安装的教程fatal error: vtksmartpointer.h: no such file or directory我使用的是VS code,有时通过include并不能找到特殊位置的头文件。首先我们可以在命令行中使用locate filename 查询文件的位置,然后跳转到这个目录。之后VSco...
2018-04-26 21:07:31 3685
原创 linux使用杂记
最近工作中遇到一些小问题,现在抽时间来总结一下。由于问题没什么主题,就题名杂记吧VScode中#include的规则之前在Windows的Visual Studio中基本不会考虑编译链接的问题,可是在linux下就得考虑这些问题。之前习惯将项目的所有头文件包含在stdafx.h中,然后所有文件包含stdafx.h这个文件,这样就避免反复添加头文件。可是在VSCode中会出现循环包含头文...
2018-03-24 21:27:17 457
原创 Ubuntu16.04安装过程
之前一直在博客园发表文章。每次编写都要借助第三方的markdown编辑器,这一点的确没有CSDN方便。所以以后还是在CSDN吧。之前的博客也不准备转移了。今天就作为我的第一篇CSDN博客。之前的笔记本年久失修,沦为超大MP4。于是从家里拿了一个二手货,勉强能用。今天给电脑装了系统,考虑到平时的工作娱乐,觉得使用Ubuntu更方便一点,就没有装双系统,只装了Ubuntu16.04。这里对装机记录...
2018-03-03 09:05:40 2387
spring boot+Vue全栈开发实战
2019-11-16
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人