- 博客(23)
- 问答 (1)
- 收藏
- 关注
原创 g++ 编译时,运行时链接顺序
实验(运行时)g++ -c -fPIC -o libshow.o libshow.cppg++ -shared -o libshow.so libshow.og++ -Wall -o code main.cpp -L$(pwd) -lshow./code无法执行,提示找不到so。LD_LIBRARY_PATH=$(pwd) ./code可以执行.拷贝libshow.so到/usr/local/lib,运行失败,ldd也提示失败。即使运行了ldconfig, 也没有用。移动到/usr/l
2021-05-19 22:20:26
373
原创 网络加密 概论
数字签名(防止篡改数据)加密过程使用md5等算法计算data的abstract使用非对称加密算法,配合private-key加密abstract,得到签名。解密过程使用md5等算法计算data的abstract。使用非对称加密算法,配合public-key解密得到abstract。对比两者是否一致。数字证书(防止中间人)申请CA证书,CA机构将web server的证书内容(域名,公钥等)生成hash值,使用自己的private-key 对hash加密,得到证书签名,进而生成一张
2021-05-10 13:43:26
111
1
原创 python 中的descriptor 详解
class Descriptor():def get(self, obj, obj_class):if obj == None:return “method2 called by instance object”else:return “method2 callled by class object”class Bar():m2 = Descriptor()def method(self): print("test") pass@classmethoddef clsme
2021-04-23 15:49:56
256
1
原创 telnet 协议以及源码解析
将asic码的普通字符与控制字符分开传送。https://www.cnblogs.com/binarylei/p/8964646.html
2020-04-22 14:37:06
1888
原创 x86 CPU arch
QPI: 实现了CPU之间的直连xeon e7-8800 有三个QPI, 可以实现直接四个cpu之间的直连,任意两个都可以互相访问。
2020-04-02 09:15:26
316
原创 移除win10 中此电脑中的文件夹(图片、视频等)
打开win10 资源管理器,点击此电脑的时候有相关的文件夹提示,个人不喜欢这种方式,更偏向直接传统的仅有磁盘显示。在网上找了一些方法,很多都是删除namespace下的注册表,但是删除有风险,这里将其属性设置为不可见,更加安全,也同样可以达到目的。运行regedit,找到\HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\...
2020-02-12 12:01:45
910
原创 xcb basics
xcb(X C Binding) 替代xlib,用于和xserver进行通信。xserver 与x client 可以通过tcp/ip socket 进行访问,如果两者都是local,可以通过 共享内存或者domain socket 进行访问。xclient为软件,可以是邮件软件,或者浏览器等,人类用户操作的对象却是server,然后将鼠标或者键盘移动的信息发送给client,进行相关的处理,...
2019-12-17 13:33:33
844
原创 libva
intel video and audio for linuxVA-API(Video Acceleration API): is an open-source library and API specificationlibva: Libva is an implementation for VA-APIlibva下可以接入各种driver,以支持不同的设备UMD:Unifor...
2019-08-01 16:52:51
2536
原创 Gstreamer
standard tutorialHow to initialize GStreamer using gst_init().How to quickly build a pipeline from a textual description using gst_parse_launch().How to create an automatic playback pipeline using...
2019-05-04 22:24:40
723
原创 Glib
GObjectGObject创建两个结构体typedef struct _PMDList PMDList;struct _PMDList { GObject parent_instance; PMDListNode *head; PMDListNode *tail;}; typedef struct _PMDListClass ...
2019-04-25 15:15:40
593
原创 English
English reviewas as参考链接as as 的用法直接加形容词或者副词He’s as old as she [her]. 他年纪跟她一样大。You love him as much as I (=as I love him). 你爱他像我爱他一样。Your room is as large as mine.如果涉及数量或程度可用:as much+ (不可数名词+...
2019-03-26 10:09:34
501
原创 程序员的自我修养 学习笔记
ELF文件结构描述ELF文件结构描述ELF HEADER : 描述ELF文件信息Section Table :各个段的信息,段名,长度等rel.text :重定位表string:符号的名字symtab:符号表,符号以及对应的值text: 代码段.data .rodata : 分别存放初始化的静态变量,只读常量bss: 未初始化的静态变量//其他段comment:注释...
2019-03-03 21:27:07
212
原创 gnu unix linux
UNIX是商业操作系统,由IBM等大公司开发,需要付费使用。GNU就是GNU’s Not Unix的缩写, GNU 的创始人准备改进unix系统,先开发了GNU应用程序,有emacs,GCC等工具软件开发出来,但是后来使用了Linux的内核,所以现在的操作系统应该称为GNU/Linux,不过很多人省略了前面的GNU。Linux 是一个Linus Torvalds同学开发的系统内核(有点仿照u...
2019-02-28 16:34:01
253
原创 LLVM vs GCC
基础知识代码的编译有三个步骤:前端,优化,后端。原始代码 | 前端: 根据特定的语言规则,将原始代码转换成语法树语法树 | 中间端:优化代码中间件(IR) | 后端:用特定平台的指令集替换,比如x86、x86-64最终程序对比对于gcc,它是一个大集合,并且没有开放具体部分的接口,用户无法自定义。对于LLVM,他支持自定义模块,用户可以自定义自己的编译器,LLV...
2019-02-27 10:37:05
1836
原创 Open source licenses
文章目录概念区分:分类概念区分:原始代码:从网络下载的原始的开源库用户代码:自己实现的代码分类使用/修改代码后,原始代码可以闭源(作为商业软件发售的):MIT: 为所欲为。BSD: 不可以用开源代码的作者/机构名字和产品的名字做市场推广APACHE: 每个修改的位置必须要说明使用/修改代码后,原始代码可以必须开源。GPL:用户代码必须完全开源,linux就是典型代表...
2019-02-27 09:41:23
1139
原创 Agile software development
敏捷开发,顾名思义相对于原先的瀑布式开发更加敏捷,主要区别是不断输出(持续交付),这能快速响应需求的变化。以scrum为例,从product backlog中割出一个sprint backlog交给scrum team。设置sprint 时间(一般2~4周),以及分配每个member的具体任务。每天站立会议汇报与讨论,并更新看板,且可持续集成与演示。team总结与发布。12条敏捷原则...
2019-02-24 14:55:26
246
原创 OKR vs KPI
KPIKPI(key performance indicator)意即关键绩效指标,OKROKR(Objectives and key result)目标与关键成果法我的理解两个都强调了key(关键),即把重心都关键工作上。我觉得okr中的kr约等于kpi,o作为一个相对的抽象的目标,需要kr或者kpi去衡量,员工在执行kpi工作中更多是为了完成kpi而埋头努力,而执行okr的过程中员工...
2019-02-23 20:19:20
670
原创 UML
泛化(Generalization)描述 三角箭头 实线 箭头指向父类常见用法 继承实现(Realization)描述 三角箭头 虚线 箭头指向接口常见用法 接口实现关联(Association)描述 实线 箭头指向子对象常见用法 成员变量聚合(Aggregation)描述 空心菱形 实线 箭头指向子对象常见用法 成员变量子对象可以单独存在组合(Composition)...
2019-02-23 11:35:30
129
原创 DesignPattern
单例模式工厂模式组合模式适配器模式桥接模式命令模式观察者模式空对象模式外观模式装饰器模式模板模式状态模式享元模式责任链模式解释器模式单例模式class Singleton{private: Singleton() {}; // ctor hidden Singleton(Singlet...
2019-02-23 11:32:50
175
原创 IPC-NamedPipe
keys of windows namedpipepipeline只能有一个,但是有多个instance,client 与 server 读写属性要兼容左边server,右边是clientAccess modeEquivalent generic access rightPIPE_ACCESS_INBOUNDGENERIC_READPIPE_ACCESS_OUT...
2019-02-22 23:24:49
453
原创 DevOps
团队高效开发工具缺陷管理常用工具:Jira, GitHub Issue, HSDremark:最好能与代码对应版本管理常用工具:Git持续集成即:自动build&自动test常用工具:Jenkinsremark:敏捷开发中重要的环节,开发与测试不断交替typeperiodscrum月sprint周CI天持续交付(部署)...
2019-02-22 23:23:46
1083
原创 boost asio
Basics线程提交请求后,系统异步执行IO,而线程继续,当系统执行完成,会调用回调函数io_service.run()可以多个线程执行,回调函数会在其中一个线程上执行,未必是提交异步I/O的线程如果不调用run,回调函数永远不会执行。线程安全socket:socket类不是线程安全的。 所以, 你要避免在某个线程里读一个socket时, 同时在另外一个线程里面对其进行写入操作。...
2019-02-22 23:22:48
281
原创 计算机基础知识
C++基础类中构造函数调用的顺序1. 调用基类构造函数2. 对象成员的构造函数3. 派生类的构造函数注:基类的构造函数与声明顺序有关,与初始化列表顺序无关 类赋值规则派生类的对象继承了基类所有的特性,因此派生类对象可以直接给基类对象赋值。 Base b; Deived d; b=d; Base *b; Deived d; b=&a...
2017-10-29 13:38:37
3293
空空如也
C++11 并发编程,unique_lock(),运行崩溃,这是为啥
2017-05-11
TA创建的收藏夹 TA关注的收藏夹
TA关注的人