自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(38)
  • 资源 (2)
  • 收藏
  • 关注

原创 c++ unrar 源码

GitHub - pmachapman/unrar: Unrar source code from rarlab.com

2022-04-12 19:43:00 881

原创 sk_buff结构

可以说sk_buff结构体是Linux网络协议栈的核心中的核心,几乎所有的操作都是围绕sk_buff这个结构体进行的,它的重要性和BSD的mbuf类似(看过《TCP/IP详解 卷2》的都知道),那么sk_buff是什么呢?网络分层模型这是一切的本质。网络被设计成分层的,所以网络的操作就可以称作一个“栈”,这就是网络协议栈的名称的由来。在具体的操作上,数据包最终形成的过程就是一层一层封装的过程,在栈上形成一段连续的数据,我们可以称作是一层一层的push操作。同样的,数据包的解封装的过程,则可以认为是一层一层

2022-01-26 16:27:45 958

原创 路由器最高速度/性能测试 - Windows 安装 IPerf3 及 使用方法

iPerf 简介Iperf是一个网络性能测试工具。Iperf 可以测试最大 TCP 和 UDP 带宽性能,具有多种参数和 UDP 特性,可以根据需要调整,可以报告带宽、延迟抖动和数据包丢失。1. 安装 iPerf1-1. 下载 iPerf官方下载链接:https://iperf.fr/iperf-download.php 蓝奏云下载链接(我上传的版本是:3.1.3):http...

2022-01-26 16:27:06 24622 1

原创 Qt5应用程序动态插件的使用 单独模块制作成插件/动态连接集成到主程序

QT5应用程序动态插件的使用1 概要在软件开发中可以将某些独立的功能模块作为插件(编译为库文件)来使用。这样做的插件就可以单独发布和升级而不需要修改主程序。原理上是使用了C++的多态和QT元对象系统。插件功能的使用要分为主程序和插件程序两个部分。下面进行详细的介绍。制作可扩展(可调用插件)的主程序,步骤如下:定义一些列的操作接口(即抽象类,只有纯虚函数),用于插件内部方法的调用。使用Q_DECLARE_INTERFACE()宏将步骤1定义的接口进行声明,注册到QT的元对象系统中。在调用插件

2022-01-25 17:01:19 507

原创 rhel 5.5_x64 yum 配置本地光盘镜像源

以下在配置为在 rhel 5.5 64位 上实现yum 光盘源配置,仅供大家参考:1.#mount -o loop rhel5.iso /mnt #光盘光盘镜像#mount /dev/cdrom /mnt #或者直接挂载光盘2. vi /etc/yum.repos.d/rhel-cdrom.repo #创建一个新文件,写入如下内容:[Server]name=Red Hat Enterprise Linux $releasever - $basearch - Clientbaseurl=...

2021-06-07 10:39:58 159

原创 ubuntu下交叉编译arm内核模块

ubuntu下交叉编译arm内核模块安装编译环境及下载交叉编译工具: 1 2 3 4 5 apt-get install gcc make pkg-config git bison flex libelf-dev libssl-dev libncurses5-dev bc wget https://releases.linaro.org/components/toolchain/binaries/latest-7/aarch64-l

2021-03-09 10:13:25 1274

原创 VMware设置centos7共享文件夹

VMware设置共享文件夹 运行linux系统,如果以上步骤在linux系统开机的时候进行的则重启linux系统 输入命令vmware-hgfsclient查看共享目录是否已经设置成功 安装 VMware Tools 点击安装VMware Tools或更新VMware Tools后, CentOS会自动挂载VMware Tools, 双击打开,将里面的VMwareTools-X.tar.gz复制到桌面上 拷贝安装文件到桌面...

2020-09-25 13:00:34 568

原创 C语言插件机制(上)

前言插件机制可以使得应用程序在发布之后,在不经过重新编译的情况下修改应用程序的行为,这种形式使得应用的框架比较小巧,也可以给用户一些自由(不是完全的自由,有一定的限制)。Java中,使用*.jar或者其他的脚本引擎都可以完成这样的工作,如Eclipse那样。在C语言中,当然可以使用脚本引擎来实现,比如emacs,内置一个lisp的引擎,用户可以自己为emacs写脚本,访问emacs环境的一些组件,从而定制emacs.这里要讨论的无需使用脚本引擎,而是用C语言访问动态链接库来实现。Linux下的动态库

2020-09-17 10:37:38 355

原创 利用文件头标志判断文件类型

简介我们都知道,文件的扩展名是用来识别文件类型的。通过给他指定扩展名,我们可以告诉自己,也告诉操作系统我们想用什么方式打开这个文件。比如我么会把.jpg的文件默认用图片显示软件打开,.zip 文件会默认用解压软件打开等等。然而,扩展名完全是可以随便改改的。我们可以给文件设置一个任意的扩展名,当然也可以不设置扩展名。这样一来我们就不能了解到这个文件究竟是做什么的,究竟是个什么样的文件。我们或许也会疑惑,为什么一个软件,比如视频播放器,就能用正确的方式打开.mp4 .rmvb .wmv 等等的视频?

2020-09-08 15:41:05 1451

转载 linux下netlink的使用简介

一、什么是netlinkNetlink套接字是用以实现用户进程与内核进程通信的一种特殊的进程间通信(IPC) ,也是网络应用程序与内核通信的最常用的接口。在Linux 内核中,使用netlink 进行应用与内核通信的应用有很多,如路由 daemon(NETLINK_ROUTE) 用户态 socket 协议(NETLINK_USERSOCK) 防火墙(NETLINK_FIREWALL) netfilter 子系统(NETLINK_NETFILTER) 内核事件向用户态通知(NETLINK_

2020-08-28 11:22:58 529

原创 Linux内核开发进阶书籍推荐(不适合初学者)

很早之前就想写一篇文章总结一下Linux Kernel开发的相关资料,项目的原因,再加上家里的一些事情,一直没能找到闲暇,今天终于有些时间,希望可以完成这篇文章吧。首先需要说明的是不是所有的人都需要搞内核开发,因为据笔者了解,大部分的软件工程师的工作都在用户态开发,学习内核开发事倍功半,没什么实际意义,另外,初学编程的人也不太适合搞内核开发,因为信息量相对比较大,而且枯燥晦涩,很容易让初学者还没有入门,就已经放弃了,再有就是不想投入时间,总是试图走捷径的,内核开发可能也不适合你,因为必要的练习和资料学...

2020-08-24 11:24:21 228

原创 IT 下载常用网站

pdf下载网站,码农之间https://www.xz577.com/

2020-08-22 14:09:30 407

原创 centos下通过yum安装svn(1.7及以上版本)

今天测试环境svn突然不能更新了,看了下报错,发现是由于测试环境svn版本过低导致的,这边记录一下处理过程:1.新建 /etc/yum.repos.d/wandisco-svn.repo,添加如下内容[WandiscoSVN]name=Wandisco SVN Repobaseurl=http://opensource.wandisco.com/centos/6/svn-1.10/RPMS/x86_64/enabled=1gpgcheck=02.卸载旧版本,安装新版本yu..

2020-08-21 11:55:11 346

原创 Linux4.x内核编程实战——动态切库(1)

很多发行版默认情况下已经安装了linux-header头文件,意味着它可以直接来开发内核了。当然也有可能没有安装。可以使用先使用uname -r来查看当前使用的内核版本,然后到/usr/src/下看是否存在这个内核目录,如果存在再进一步确认里面的/usr/src/linux-headers-xxx.xx/include/linux里面是否真的有大量头文件。如果存在那么我们的开发环境就没有问题。当然各个发行版的包管理工具都可以一句话安装。首先使用包管理工具查询关键词“linux-header”,“ke

2020-08-17 17:56:18 243

原创 Linux4.x内核编程实战——动态切库(2)

学会了内核和用户空间的交互,之后我们便可以正式的完善我们的用户空间程序和内核,让它变得更加完整,切库其实本质上是切换ip/port二元组。所以我们需要一个数据结构来存放,这个数据结构是内核和用户空间都需要用到的,所以我们单独抽出来放到一个头文件中nc_def.h/* * nc_def.h */#ifndef __NC_DEF_H#define __NC_DEF_Hstruct nc_distort { unsigned int old_addr; unsigned int n

2020-08-17 17:55:27 124

原创 Linux内核开发必读书目

学完C语言之后,最终是要应用到某个领域的,比如后端开发,应用开发或者Linux内核开发等。本文将介绍一下Linux内核相关的内容,Linux内核开发是相对比较难的领域,主要是门槛相对较高。虽然门槛较高,但有它的好处,一方面是难度大,因此竞争力就高,另外一方面本操作系统内核的知识半衰期长,不需要频繁的学习新东西。因此,本号以为进行Linux内核开发是IT领域一个相对还可以的选择。但肯定不是最好的,Linux内核开发也有其缺点。学习Linux内核开发应该本着由具体到抽象,有使用到深入理解的过程。我们在学习的

2020-08-17 15:42:48 338

原创 CentOS 7 分区方案

通常系统盘都会选择性能较好SSD,一般在500G左右,这里就以500G硬盘为例,以下为CentOS 自动分区方案:分区应该按照实际服务器用途而定,自动分区方案将 /home 空间分配太多了,多数情况下并不适用。必须存在的分区/ 分区是必须存在的分区,所有一级目录都位于该分区之下,同时还与引导/还原/修复系统等动作有关,包含了一些修复系统的程序。文件系统层次标准(Filesystem Hierarchy Standard, FHS)建议根分区 / 在满足系统需求的情况下,应该越小越好,这样能.

2020-08-13 12:15:33 815

原创 MySQL5.7主从复制slave报Last_Errno: 1146错误解决

前提:由于slave磁盘未及时扩容原因导致磁盘即将写满,为了不影响业务将slave实例里一个10G的库drop了(项目前期建的库,数据现在已不使用了),然后又drop了master上的该库(对于大库建议先drop或truncate表再drop库,否则可能导致磁盘空间不能正常释放)。这时查看slave的主从状态,发现sql线程有异常,如下图:解决:记得该库下有200多张表,由于库已删,当时查询表数量的sql结果也不在了,所以具体有多少张表已无法核实,如果用STOP SLAVE;>SET GLOB

2020-08-12 15:19:02 951

原创 springboot2.0配置连接池(hikari、druid)

springboot2.0之后,自带了一个号称全世界最快的连接池hikari,直接在配置文件里输入以下配置即可:# Hikari will use the above plus the following to setup connection poolingspring.datasource.type=com.zaxxer.hikari.HikariDataSourcespring.datasource.hikari.minimum-idle=5spring.datasource.hika

2020-06-18 17:56:54 1410 1

原创 微服务架构设计

https://www.cnblogs.com/Leo_wl/p/4917489.html#_label4

2020-06-09 14:12:35 94

原创 系统架构设计说明书

XXX架构设计说明书(架构设计重点在于将系统分层并产生层次内的模块、阐明模块之间的关系)一. 概述描述本文的参考依据、资料以及大概内容。二. 目的描述本文编写的目的。三.架构设计阐明进行架构设计的总体原则,如对问题域的分析方法。3.1.架构分析对场景以及问题域进行分析,构成系统的架构级设计,阐明对于系统的分层思想。3.2.设计思想阐明进行架构设计的思想,可参考一些架构设计的模式,需结合当前系统的实际情况而定。3.3.架构体系根据架构分析和设计思想产生系统的

2020-06-09 10:04:01 2283

原创 Spring Boot如何优雅的使用 Mybatis

这两天启动了一个新项目因为项目组成员一直都使用的是 Mybatis,虽然个人比较喜欢 Jpa 这种极简的模式,但是为了项目保持统一性技术选型还是定了 Mybatis 。到网上找了一下关于 Spring Boot 和 Mybatis 组合的相关资料,各种各样的形式都有,看的人心累,结合了 Mybatis 的官方 Demo 和文档终于找到了最简的两种模式,花了一天时间总结后分享出来。Orm 框架的本质是简化编程中操作数据库的编码,发展到现在基本上就剩两家了,一个是宣称可以不用写一句 Sql 的 Hibern

2020-06-02 16:57:14 84

原创 python中杀死线程

有时候有这样的需要,在某种情况下,需要在主线程中杀死之前创建的某个线程,可以使用下面的方法,通过调用python内置API,在线程中抛出异常,使线程退出。import threadingimport timeimport inspectimport ctypesdef _async_raise(tid, exctype): """Raises an except...

2020-03-13 14:08:05 735

原创 centos7: iptables 配置 保存

配置iptables 查看iptables现有规则 iptables -L -n #先允许所有,不然有可能会杯具 iptables -P INPUT ACCEPT #清空所有默认规则 iptables -F #清空所有自定义规则 iptables -X #所有计数器归0 iptables -Z #允许来自于l...

2020-03-09 17:10:48 6333

原创 CentOS 7上配置MySQL5.7开机自启动方法

CentOS7开始使得以往老版本系统服务的/etc/init.d的启动脚本的方式就此改变,在CentOS7中所有对服务的管理都集中到了systemctl当中。systemctl是一个系统管理守护进程、工具和库的集合,用于取代以往的System V、service和chkconfig命令。创建用于启动MySQL的配置文件[root@localhost ~]# touch /usr/lib/...

2020-01-06 19:50:03 1602

原创 centos7.0 镜像下载 ,系统盘制作步骤

1.镜像下载 :http://vault.centos.org/7.0.1406/isos/x86_64/2.系统盘制作: rufus 制作U盘系统盘 https://www.jianshu.com/p/236554fe5ab73.rufus 工具下载 : https://rufus.updatestar.com/description/3.1...

2020-01-03 11:24:56 655

原创 linux 环境下python3 对google 的 protobuf 安装和使用 详解

1.安装a>在线安装 安装protobuf环境: sudo snap install protobuf --classic 安装protobuf python库:pip3 install protobufb>源码安装 下载源代码 安装protoc 解压:protoc-3.5.0-osx-x86_64.zip将解压出的:pro...

2019-12-16 10:51:33 6139

原创 python下使用protobuf

python解决ImportError: No module named google.protobuf  关于protocol buffer的优点,就过多涉及;如果涉及到数据传输和解析,使用pb会比自己去写解析代码更有效率,至少对于大部分而言是这样的。一、下载,安装  到code.google.com下载源码,解压:    ./configure&&make ...

2019-12-16 10:50:44 411

原创 管理学书籍推荐:这10本优秀的管理类书籍最值得一读

NO.1:《管理者必读12篇》12Reads 信汇中正领导力推荐理由:身为一名企业管理者,同时也是一名专业人士,面对日益复杂的组织环境及商业背景,你应当如何保有自身竞争力并实现迈向高绩效的跃进?作为专业人士,你的专业能力将是你通向高绩效与更多成就的第一步,但,这并不足够。很显然,在更加强调人本管理及协作文化的今天,你同样需要具备超群的社交技能。因此,《管理者必读12篇》这本教材认为,秉持“专业...

2019-12-15 09:41:34 997

原创 centos 7.x ssh 访问被拒绝 access denied 解决办法

ssh连接时,root 用户和普通用户 账户密码都正确,访问仍被拒绝,解决办法一、查看和关闭selinux 状态1、查看[root@dev-server ~]# getenforceDisabled[root@dev-server ~]# /usr/sbin/sestatus -vSELinux status: disabled2、临时关闭...

2019-12-13 09:26:37 13081

原创 Linux下U盘变成只读

1. 在Ubuntu终端运行如下命令tail -f /var/log/syslog 2. 插入有只读文件系统故障的U盘3. 观察命令行输出输出局部如下:Jul 8 16:44:50 cslouis-pc kernel: [15595.155904] FAT: Filesystem error (dev sdb4)Jul 8 16:44:50 cslouis-pc...

2019-12-11 09:55:20 339

原创 ubuntu下rabbitvcs安装后无右键菜单解决办法

1、sudo rabbitvcs2、rabbitvcs3、nautilus -q4、ls -ld xxx/RabbitVCS.log sudo chown -R 'current user' xxx/RabbitVCS.log

2019-11-14 10:45:08 1274

原创 虚拟IP和IP漂移

虚拟IP地址(VIP) 是一个不与特定计算机或一个计算机中的网络接口卡(NIC)相连的IP地址。数据包被发送到这个VIP地址,但是所有的数据还是经过真实的网络接口。VIPs大部分用于连接冗余;一个VIP地址也可能在一台计算机或NIC发生故障时可用,交由另一个可选计算机或NIC响应连接。虚拟IP地址的例子如:一个Loopback(无电路IP地址)作为不与在主机或路由器中任何一个特定接口(或电路)相关...

2019-11-13 11:06:24 611

原创 Linux虚拟IP漂移 快速生效的方法

物理环境:双机+多网卡+其中一个网卡绑定2个IP+带arp缓存的交换机使用场景:双机主备切换,通过虚拟一个IP地址来统一对外提供服务问题:主备切换后,虚拟IP绑定成功,但外面不能ping同虚拟IP,也就是虚拟IP不能快速生效注意:如果使用普通的二层交换机,则不存在该问题,因为普通交换机没有arp缓存。当然,通过调整交换机上的arp缓存失效时间,可以缓解该问题,但通常情况下,交换机是别人...

2019-11-13 11:04:51 985

原创 主备 主从 主主模式

单点故障的情况不可避免,而且单副本的存储方案早已无法满足业务的可靠性要求,单机可靠性就就两个9,也就是一年大概有3.65天不可用。因此一般情况下我们至少也会上个双机存储架构。凡事最好有个plan B。主备主:主机,备:备机。主机的意思当然是以它为主了,读写都是主机上,而备机呢就是备用,默默的在背后吸收主机的数据,时刻待命着等待主机挂了之后取而代之(没这么坏哈哈)。因此在主机还活着的情况下...

2019-10-22 11:31:52 3703

转载 VPP环境配置指南

简介VPP平台是一个可扩展的框架,提供开箱即用的可供生产环境使用的交换机/路由器功能。 它是一种可在x86 cpu上运行的高性能数据包处理堆栈。VPP采用模块化设计, 该框架允许任何人“插入”新的功能节点而无需更改核心/内核代码。一、VPP编译(开发版本)系统:ubuntu18.04.1 TLSvpp版本:19.01-rc0建议使用具有root权限的用户,并将源补全,初始源可能不完...

2019-10-14 16:30:24 4661 2

原创 一个健壮且可扩展的 CSS 架构所需的8个简单规则

这是一份清单,里面列出了在我多年的专业 Web 开发期间,在复杂的大型 Web 项目中学习到的有关管理 CSS 的事项。我多次被人问起这些东西,所以写一份文档记录下来听起来是个不错的主意。我已经尽力尝试用简短的语言去解释它们了,然而这篇文章本质上还是长文慎入:总是类名优先组件代码放在一起使用一致的类命名空间维护命名空间和文件名之间的严格映射避免组件外的样式泄露避免组件内的样式泄露遵守组

2017-06-06 11:30:44 306

转载 如何组织大型JavaScript应用中的代码?

摘要:我们常常看到Web应用中将JavaScript、CSS、图片文件分别按文件类型区分,这一习惯在过去的Web开发场景中尚可胜任。但随着Web App的发展,JavaScript应用越来越复杂,开发者需要更清晰、高效的文件结构。本文作者Cliff Meyers是一个前端工程师,熟悉HTML5、JavaScript、J2EE开发,他在开发过程中总结了自己在应对JavaScript应用越来越

2017-06-06 10:17:30 321

Qt 插件Plugins 动态集成到主程序 示例demo

Qt5应用程序动态插件 单独模块制作成插件/动态连接集成到主程序

2022-01-26

netfilter hook 注册,调用示例

Linux4.x内核编程实战——netfilter hook 注册,调用示例.nf_hook_ops,nf_register_net_hook, nf_unregister_net_hook 使用

2020-08-17

空空如也

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

TA关注的人

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