自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

Liam的博客

技术在于坚持不懈的学习与思考

  • 博客(50)
  • 资源 (2)
  • 收藏
  • 关注

原创 合格的软件开发工程师-基本技能

合格的软件开发工程师-基本技能工作三年了,最近开始带新人,整理了一下对新人的培养计划,其实也是对自己的要求

2020-08-12 10:01:09 197

转载 懂得如何通过研究找到答案

通过研究找到答案可不仅仅只是在搜索引擎中键入几个关键字那么简单, 也不是到Stack Overflow或者MSDN forums这类网站发个问题帖。我就碰到过在搜索引擎里根本搜不到答案的问题,然后我Stack Overflow 或者MSDN forums里发的所有问题贴都没有一个像样的答案,不过我还是解决了我所碰到的问题使得工作得以继续。我不是魔术师 —— 我只是懂得如何找到答案,如何找出问题的根本原因。 有许问题都属于情景式的问题,如果你依赖于搜索引擎或者论坛,就会在各种链接中浪费大量的时间而最终无法得

2017-09-02 09:48:00 541

原创 #Windows命令行终端选择#git-bash ipconfig/ping/执行window命令#windows terminal git-bash ls 输出中文乱码

Windows命令行终端选择+git-bash ipconfig/ping/执行window命令+windows terminal git-bash ls 输出中文乱码#git-bash ipconfig/ping/执行window命令 输出中文乱码# #windows terminal git-bash ls 输出中文乱码#背景:git-bash ipconfig/ping/执行window命令 输出中文乱码习惯了linux下的命令,所以window自带的都用不习惯,用的git-bash(安装G

2021-02-06 17:34:30 581

原创 linux(Debian)支持xchacha-ietf-ploy1305

linux(Debian)支持xchacha-ietf-ploy13051. 安装build-essentialapt-get install build-essential参考:《build-essential的作用》 https://blog.csdn.net/yuhengyue/article/details/781321752. 下载最新版libsodiumhttps://github.com/jedisct1/libsodium/releases解压并进入目录执行:./confi

2020-10-28 21:09:13 1279

原创 编译 rocketmq-client-cpp centos

编译 rocketmq-client-cpp按照github上的README进行安装,它那边有个错误否则会出现如下类似的错误:bufferevent_openssl.c: In function 'bio_bufferevent_new':bufferevent_openssl.c:106:3: error: dereferencing pointer to incomplete type。。。具体原因可以参考:https://segmentfault.com/q/1010000015949

2020-09-27 23:17:05 1200

原创 Centos8双系统安装与卸载&Grub Error

安装Centos8双系统与卸载centos安装主要一个步骤是,启动后没有win10的启动选项参考:Win10+Linux(CentOS) 双系统安装教程–踩坑实录### BEGIN /etc/grub.d/30_os-prober###menuentry 'Windows 10' {  insmod part_msdos  insmod ntfs  set root='hd0,msdos1'  chainloader +1}### END /etc/grub.d/30_os-prob

2020-06-07 14:29:39 1192

原创 VirtualBox虚拟机安装Centos8 boot

Centos8 boot VirtualBox 虚拟机前置工作virtualbox新建虚拟镜像centos安装关键设置前置工作安装virtualbox到centos官网下载好镜像virtualbox新建虚拟镜像相关步骤此处不再赘述,注意选择动态分配大小镜像大小个人选择70G,后续root分配40G, home目录分配30G新建好了之后,添加centos ios路径centos安装关键设置以下只描述关键步骤:在上面图片上标注的步骤3中:点进去后,填写aliyu

2020-05-24 16:29:50 1000

原创 linux uts 全称

linux uts 全称uts是linux中的一种namespace类型,表示不同的 namespace 可以配置不同的 hostname。uts的全称: UNIX Time Sharing, UNIX分时操作系统参考:whats-a-uts-namespace

2020-05-09 09:26:08 2113

原创 linux 内存中Buffer和Cache的区别

linux 内存中Bufferhe和Cache的区别通过man proc(或者 man procfs),搜索关键词meminfo:Buffers %luRelatively temporary storage for raw disk blocks that shouldn't get tremendously large (20MB or so).Cached %lu ...

2020-04-17 12:52:22 469

原创 关于进程CPU使用率的解释

关于进程CPU使用率的解释比如系统现在有10个进程,进程a在单位时间内(比如1s)获取到的cpu时间的百分比计算公式:CPU平均使用率=1−空闲时间当前−空闲时间1s前CPU总时间当前−CPU总时间1s前CPU平均使用率=1-\frac{空闲时间_{当前}-空闲时间_{1s前}}{CPU总时间_{当前}-CPU总时间_{1s前}}CPU平均使用率=1−CPU总时间当前​−CPU总时间1s...

2020-03-31 10:39:42 1249

原创 jupyter attachment(jupyter 插入图片的原理)

jupyter attachment(jupyter 插入图片的原理)What is an ipynb File?It will be useful to understand what this file really is. Each .ipynb file is a text file that describes the contents of your notebook in a ...

2020-03-28 22:20:18 1901 1

原创 epoll 主从反应堆模式代码实现

epoll 主从反应堆模式学习极客时间《网络编程》。将 epoll 主从反应堆模式 部分的代码单独剥离出来,并写了简单的makefile。方便大家学习。如果不妥,联系删除。谢谢!...

2020-01-29 12:32:25 778

原创 vim 打开文件 gb2312 (Linux下为cp936)

vim 打开文件 gb2312 (Linux下为cp936)Windows下的中文编码gb2312在Linux下为cp936vim打开文件123.txt后,进入底线命令模式(在命令模式下按下:(英文冒号)就进入了底线命令模式)输入:e ++enc=cp936 123.txt...

2019-08-28 13:59:21 1623

原创 sslocal 报错undefined symbol: EVP_CIPHER_CTX_cleanup

sslocal 报错undefined symbol: EVP_CIPHER_CTX_cleanupINFO: loading config from /etc/shadowsocks.json2019-08-22 10:19:27 WARNING warning: local set to listen on 0.0.0.0, it's not safe2019-08-22 10:19:...

2019-08-22 10:23:48 1638

原创 web服务器原理与nodejs搭建

web服务器原理与nodejs搭建基础概念Web Service:https://zh.wikipedia.org/wiki/Web服务基础http网络传输协议的web服务处理过程:node.js: 基于JavaScript语言和V8引擎的开源Web服务器项目, 发展过程参考:https://www.liaoxuefeng.com/wiki/1022910821149312/102302...

2019-08-19 22:35:24 577

原创 git 用becompare查看本次修改内容

git 用becompare查看本次修改内容git difftool -x bcompare

2019-08-12 09:54:59 1145

原创 svn E200009 尚未纳入版本控制

svn E200009 尚未纳入版本控制svn commit -m "xxx" dir1/dir2/AAA 业务信令详解.docx提示错误svn: E200009: 提交失败(细节如下):svn: E200009: “dir1/dir2/AAA” 尚未纳入版本控制显然是因为,要提交的文件名包含空格,导致解析失败。将要提交的文件名用双引号括起来svn commit -m "xxx"...

2019-08-09 10:12:27 6506 1

原创 vscode win10 ssh连接 && 解决Bad owner or permissions

vscode win10 ssh连接 && 解决Bad owner or permissions参考官方的文档进行操作:https://code.visualstudio.com/docs/remote/ssh#_getting-started生成本地私钥和公钥之后,利用ssh-copy-id命令将公钥拷贝到远程主机上配置config文件【可选】点击连接即可解决 Bad...

2019-07-06 19:32:26 22252 6

原创 SHELL TEST命令[文件判断,字符串判断,整型判断]

SHELL TEST命令[文件判断,字符串判断,整型判断]文章目录SHELL TEST命令[文件判断,字符串判断,整型判断]test命令文件表达式字符串表达式整型表达式test命令test命令,test命令是一个经常与if 一块使用的命令,这个test 命令执行各种各样的检查与比较。它有两种等价模式:test expression比较流行的格式是:[ expression ] # ...

2018-11-22 10:04:33 512

原创 随笔-杂散

随笔-杂散文章目录随笔-杂散当编译的时候,提示什么什么库没找到的时候CentOS:# yum search all 库的名称例如:致命错误:mysql/mysql.h:没有那个文件或目录root:# yum search all mysql | grep i686qt-mysql.i686 : MySQL driver for Qt's SQL classesqt3-MySQL....

2018-11-11 18:13:48 648

转载 SDP学习笔记

SDP包括以下一些信息:1)会话的名称和目的2)会话存活时间3)包含在会话中的媒体信息4) 为接收媒体而需的信息(地址,端口,编码格式等)5) 本端的带宽信息6) 可信赖的接洽信息(Contact information)一、SDP规范了回话描述的格式,一般结合会话协议共同工作。常见的会话传送协议包括:SAP(Session Announcement Protocol 会话公告协议),SIP,RTSP,HTTP,和使用MIME的E-Mail。(PS:对S

2017-09-01 09:22:48 1490

原创 扩大VMware虚拟机中CentOS7的硬盘空间过程记录

扩大VMware虚拟机中CentOS7的硬盘空间过程记录

2017-08-26 12:36:14 3946 2

原创 比较简单的Generic Makefile for C/C++ Program

参考网上资料写的一个简单的能够编译C/C++混合工程的Makefile【网上大多通用Makefile很长且未有解释,故写此文档】暂未遇到问题,本人不甚精通,文件未经实际使用锤炼,如有问题请联系:[email protected] 墙裂欢迎指正与交流!本Makefie需要读者有一定的Makefile基础知

2017-07-05 14:05:40 1152

原创 Ubuntu1604下使用virtualenv工具搭建python2,3开发环境

ubuntu16.04自带python的环境,不用进行python环境安装。但是默认安装的版本是Python2,想在其上做python3的开发会出现问题,比如使用pip安装软件包时,默认安装的时python2的包。想要安装python3的包就需要用到virtualenv工具,创建独立的python的环境,解决python2和python3两个环境之间的干扰问题。

2017-06-20 17:29:51 1122

原创 OpenCV2.4.13 ARM版移植过程记录

移植OpenCV2.4.13库到嵌入式开发板,根据实际运行环境编译出合适的库文件

2017-05-28 09:29:06 3578 1

原创 ubuntu 16.04 samba安装与设置访问权限

ubuntu 14.04 samba安装&设置访问权限

2017-05-22 22:33:24 12809

转载 谈谈我对协议栈设计和架构的理解

因为工作的关系,有幸接触到一种不那么复杂的2G通信技术的协议栈(终端)和基带两方面的内容,经过一段较长时间的摸索和思考,再加上和终端厂商一线开发人员的的讨论深化,到现在总算对协议栈设计和架构方面有了一些比较粗浅的想法一家公司的协议栈代码确实很好,不是因为协议栈是用哪种语言写的,而是要看清其设计思想和实现手段

2017-04-13 16:46:00 2603

原创 uboot主Makefile分析

uboot主Makefile分析 完成uboot的编译,编译前需要进行相应的配置(通过对Makefile的分析知道了一个很重要的文件configs/$1.h)《uboot配置过程(mkconfig脚本+其他)》 《uboot根目录下的config.mk》

2017-03-13 08:56:26 371

原创 uboot配置过程(mkconfig脚本+其他)

uboot配置过程(mkconfig脚本+其他)在编译uboot之前需要进行配置(带参数执行mkconfig脚本+其他)1.创建符号链接;2.在include目录下创建**config.mk**文件并向里面写内容(其实就是把`$2到$6`的内容写入)让主Makefile去包含;3.包含配置头文件xxx.h(非常重要的文件);4.链接地址定义

2017-03-13 08:53:42 878

原创 uboot根目录下的config.mk

uboot根目录下的config.mkconfig.mk的主要内容是编译属性和链接属性预处理属性,这些是交叉工具链本身的一些特征,这里只选择性分析主要完成内容概览: include $(TOPDIR)/config.mk(1)编译工具定义; (2)包含开发板配置文件;(3)指定连接脚本LDSCRIPT;(4)uboot 链接地址TEXT_BASE;(5)自动推导规则

2017-03-13 08:49:23 658

原创 uboot链接脚本(为什么需要链接脚本)

uboot链接脚本(为什么需要链接脚本)链接器的主要有两个作用,一是将若干输入文件(.o文件)根据一定规则合并为一个输出文件(例如ELF格式的可执行文件);一是将符号与地址绑定(当然加载器也要完成这一部分工作)uboot链接脚本简单分析

2017-03-13 08:43:00 1753

原创 内核双向环形链表

内核链表实现分析与使用(双向环形链表) 内核对链表进行了封装。使用内核链表需要定义一个链表头,然后在需要管理的结构体中内嵌链表节点(通常又叫做链表入口entry)链表的初始化 分为链表头的初始化和各个入口entry的初始入口entry的插入入口entry的删除遍历链表

2017-03-02 22:43:09 857

原创 整理--Misc类设备驱动

知识整理–MISC类设备驱动 misc类设备的本质是字符设备,在驱动框架中使用register_chrdev注册了一MISC类设备驱动misc类设备介绍misc驱动框架源码分析:驱动框架模块的注册/开放出来的注册接口misc设备驱动源码分析:以misc类设备蜂鸣器为例/板载蜂鸣器驱动测试

2017-02-28 21:05:33 1578

原创 谈论attribute驱动实现方式(及device_create与设备节点的关系)

谈论attribute驱动实现方式(及device_create与设备节点的关系)(1)device_create要能实现自动创建设备节点这一部分作用需要真正的主设备号的存在,并不是使用了device_create就一定有设备节点产生(2)使用attribute的驱动实现方式不能通过设备节点来访问内核的对应驱动,只能通过/sys/class/xxx下的属性文件来访问

2017-02-24 13:40:59 1173

原创 从C语言的角度出发理解C++的封装继承和多态

从C语言的角度出发理解C++的封装继承和多态 在学习C++面对对象程序设计的时候,会把C++类的使用和C结构体的使用作比较。我们都知道C++是C语言的继承,而C++最明显的特征就是面对对象,那么C++是如何继承的,这是我思考的出发点

2017-02-23 20:13:54 1256

原创 移植库需要注意事项(与移植库生成的文件如何使用)

移植库需要注意事项(与移植库生成的文件如何使用)[ImagePlayer开发日记之开源库使用][1][ImagePlayer开发日记之libjpeg移植][2][ImagePlayer开发日记之libpng移植][3]

2017-02-18 20:42:37 1532

原创 如何正确使用指针(指针作为输出型参数)与结构体指针作为函数参数

如何正确使用指针(指针作为输出型参数)与结构体指针作为函数参数外部定义一个结构体类型指针变量,使用##结构体指针里面的内嵌指针,返回值,双重指针##方式进行地址传递

2017-02-10 15:12:28 7732 4

原创 Git简单使用

Git简单使用 参考文章《在GitHub上管理项目》

2017-02-09 22:46:36 923

原创 系统启动时在bus系统中注册platform总线

platform总线的注册是由platform_bus_init函数完成的,主要的内容是注册bus_type结构体类型的变量

2017-02-04 00:47:31 1281

原创 整理--platform平台总线

知识整理–platform平台总线 何为平台总线–为了方便管理扩展到CPU32位地址空间的设备 总线只是一种机制,一种管理方式,真正的起关键作用的是LED驱动框架关键点:platform平台总线的目的、意义platform自己本身的构建和工作原理如何使用平台总线来组织设备和驱动

2017-02-04 00:44:54 2084

RocketMQ-Client-CPP需要的第三方库

RocketMQ-Client-CPP需要的第三方库,github上面提供的库有的需要进行下载,这边自己下载下来,有需要的伙伴可以通过这边下载。里面有boost_1_58_0.tar.gz jsoncpp-0.10.7.zip libevent-release-2.1.11-stable.zip openssl-1.1.1d.tar.gz

2020-09-27

简单通用Makefile使用示例工程

简单的能够编译C和C++工程,以及C与C++混合工程, ,有一些基础的makefile, 供大家一起学习交流,不知道怎么编程了需要41积分。。。

2017-07-05

空空如也

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

TA关注的人

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