jiechuhoudeshang的博客

私信 关注
Oliver-hny
码龄8年

只有想不到,没有做不到!

  • 112,039
    被访问量
  • 41
    原创文章
  • 114,093
    作者排名
  • 15
    粉丝数量
  • 于 2012-10-21 加入CSDN
获得成就
  • 获得43次点赞
  • 内容获得14次评论
  • 获得163次收藏
荣誉勋章
兴趣领域
  • #安全
    #安全架构#web安全#系统安全
TA的专栏
  • 面试
    2篇
  • 操作系统
    1篇
  • 计算机网络--自顶向下方法与Internet特色学习
    1篇
  • 数据库
    1篇
  • dpdk
    5篇
  • Linux
    14篇
  • C语言
    8篇
  • Ubuntu
    3篇
  • Python
    2篇
  • 数据结构与算法
    10篇
  • AI
    1篇
  • Java
    2篇
  • Source Insight
    2篇
  • 编程语言
    1篇
  • 虚拟机
    1篇
  • docker
    1篇
  • 计算机网络
    9篇
  • 最近
  • 文章
  • 资源
  • 问答
  • 课程
  • 帖子
  • 收藏
  • 关注/订阅

leetcode刷题参考网址

https://www.cnblogs.com/grandyang/p/4606334.htmlhttps://github.com/grandyang/leetcode
原创
10阅读
0评论
0点赞
发布博客于 27 天前

指针函数与函数指针(C语言)

参考网址:https://www.jianshu.com/p/20e7c3568a12
原创
12阅读
0评论
0点赞
发布博客于 1 月前

Linux 网络命令大全

Linux 网络命令大全:https://juejin.cn/post/6844903844267180039
原创
20阅读
0评论
0点赞
发布博客于 3 月前

一文看懂DPDK

一文看懂DPDKhttps://cloud.tencent.com/developer/article/1198333
原创
20阅读
0评论
0点赞
发布博客于 3 月前

TCP三次握手四次分手

知乎链接学习参考:https://zhuanlan.zhihu.com/p/53374516https://zhuanlan.zhihu.com/p/100894192?from_voters_page=true
原创
53阅读
0评论
0点赞
发布博客于 3 月前

进程与线程的一个简单解释

参考:https://www.ruanyifeng.com/blog/2013/04/processes_and_threads.html
原创
22阅读
0评论
0点赞
发布博客于 3 月前

Wireshark抓包分析带VLAN_tag的IPv4/UDP报文字段

1. 以太头:8字节目的MAC地址 + 8字节源MAC地址 + 4字节VLAN头(2字节type:0x8100 + 2字节Tag控制信息(VLAN tag为12bit)) + 2字节以太网帧类型/* Ethernet frame types */#define ETHER_TYPE_IPv4 0x0800 /* IPv4 Protocol. */#define ETHER_TYPE_IPv6 0x86DD /* IPv6 Protocol. */#define ETHER_TYPE_ARP 0x.
原创
241阅读
0评论
0点赞
发布博客于 4 月前

Wireshark抓包分析不带VLAN_tag的IPv4/UDP报文字段

1. 以太头:8字节目的MAC地址 + 8字节源MAC地址 + 2字节以太网帧类型2. IP头:12字节IP头(除IP地址)+ 4字节源IP地址 + 4字节目的IP地址3. UDP头:2字节源port + 2字节目的port + 4字节UDP头其他字段4. 分析...
原创
57阅读
0评论
0点赞
发布博客于 4 月前

Wireshark抓包分析不带VLAN_tag的IPv4/TCP报文字段

1.以太头:8字节目的MAC地址 + 8字节源MAC地址 + 2字节以太网帧类型2.IP头:12字节IP头 + 4字节源IP地址 + 4字节目的IP地址3.TCP头:2字节源port + 2字节目的port + 16字节TCP头其他字段分析
原创
136阅读
0评论
0点赞
发布博客于 4 月前

计算机网络--自顶向下方法与Internet特色(第一版第一章)

第一章:计算机网络与因特网1.1 什么是因特网架构上描述因特网:(从因特网的硬件和软件组件来描述)传输控制协议(TCP):Transmission Control Protocol网际协议(IP):Internet ProtocolTCP/IP是因特网中最为重要的两个协议,于是因特网的主要协议统称为TCP/IP协议。链路传输速率通常称为链路带宽(link bandwidth),一般以位/秒(bps)为测量单位。在通信过程中,通信双方以分组为单位、使用存储-转发机制实现数据交互的通信方
原创
97阅读
0评论
0点赞
发布博客于 7 月前

递归调用

递归(recursion):一个函数在其定义中直接或间接调用自身的一种方法。数学公式表示关系,数学归纳法。回推和递推,递归结束(终止)条件数学归纳法公式: 1 n=0,1;n! = n*(n-1)! n>1;int fun(int n) //递归:复杂问题好理解{ int c = 0; if((1 == n)||(0 == n)) { c = 1; } else ...
原创
61阅读
0评论
0点赞
发布博客于 8 月前

MTU和Fragment详解(IP分片)

参考网址:https://blog.csdn.net/weixin_33866037/article/details/92300693
原创
142阅读
0评论
0点赞
发布博客于 9 月前
细谈8种架构设计模式及其优缺点
发布Blink于 9 月前

LMDB数据库概述

一、名字英文全名:Lightning Memory-Mapped Database (LMDB);对应中文名:轻量级内存映射数据库。二、说明LMDB是一种key/value形式的非关系型数据库;LMDB数据库使用mmap文件映射方式进行存储,不论这个文件存储在内存上还是在持久存储器上。三、具体介绍参考网址:https://www.geek-share.com/detail/27...
原创
259阅读
1评论
1点赞
发布博客于 10 月前

访问控制列表及服务质量(QACL)

ACL(Access Control List)访问控制列表:主要是指通过一定的访问控制规则来实现防火墙的功能,增加安全特性的同时也通过一些扩展的控制规则来对网络流量进行更加有效的管理,比如流量统计,流量监控,报文重定向等等特性。QOS(Quality of Service)服务质量:通信网络在各种情况下都能保证可预期的可用性、吞吐量(带宽)、时延抖动、丢包率等方面...
原创
144阅读
0评论
0点赞
发布博客于 1 年前
写给软件工程师的 30 条建议
发布Blink于 1 年前

C语言函数指针的应用----回调函数及钩子函数

Linux C 函数指针应用---回调函数https://blog.csdn.net/zqixiao_09/article/details/50373567钩子函数https://blog.csdn.net/sunstars2009918/article/details/39340449https://blog.csdn.net/FourLeafCloverLLLS/articl...
原创
579阅读
0评论
0点赞
发布博客于 2 年前

递归和迭代的区别

递归(recursion):一个函数在其定义中直接或间接调用自身的一种方法。迭代(iterate):利用变量的初值推算出变量的一个新值,迭代就是A不停的调用B。迭代是在函数内某段代码实现循环,迭代与普通循环(loop)的区别是:循环代码中参与运算的变量同时是保存结果的变量,当前保存的结果作为下一次循环计算的初始值。网址参考:https://blog.csdn.net/laoy...
原创
99阅读
0评论
0点赞
发布博客于 2 年前

ARP(Address Resolution Protocol,地址解析协议)

ARP(Address Resolution Protocol,地址解析协议)是将IP地址解析为以太网MAC地址(或称物理地址)的协议。在网络中,当主机或其它网络设备有数据要发送给另一个主机或设备时,它必须知道对方的网络层地址(即IP地址),由于IP数据报必须封装成帧才能通过物理网络发送(三层到二层),因此还需要知道对方的物理地址,所以设备上需要存在一个从IP地址到物理地址的映射关系。ARP就是...
原创
132阅读
0评论
0点赞
发布博客于 2 年前

数据结构与算法的理解

1、数据结构的操作:数据结构主要有树、hash、数组、堆栈及链表等,对这些数据结构的操作无外乎就是建立、插入、删除、查找和遍历等。2、数据结构的定义理解:结构即关系,一个节点用来存储一个数据,很多数据就会构成多个节点,多个节点就会形成一定结构关系或组织形式,这种关系或者组织形式就是数据结构。数据结构研究的就是待处理对象的特性及各处理对象之间存在的关系。最后就是对这种数据结构的相...
原创
123阅读
0评论
1点赞
发布博客于 2 年前

符号表

符号表是一种用于语言翻译器(例如编译器和解释器)中的数据结构。在符号表中,程序源代码中的每个标识符都和它的声明或使用信息绑定在一起,比如其数据类型、作用域以及内存地址。符号表在编译程序工作的过程中需要不断收集、记录和使用源程序中一些语法符号的类型和特征等相关信息。这些信息一般以表格形式存储于系统中。如常数表、变量名表、数组名表、过程名表、标号表等等,统称为符号表。对于符号表组织、构造和管理方法...
原创
132阅读
0评论
0点赞
发布博客于 2 年前

TCP/IP报文的封装与解封装过程

1、数据的封装过程2、数据的解封装过程
原创
4188阅读
0评论
6点赞
发布博客于 2 年前

Docker 容器

网址参考:https://yeasy.gitbooks.io/docker_practice/basic_concept/container.html1、Docker与VM
原创
48阅读
0评论
0点赞
发布博客于 2 年前

在虚拟机VMware下安装Ubuntu18.04系统时,屏幕看不到(鼠标点击不了)下一步或者确认键解决方法

用tab键选取下一步来解决。看不到继续键:正常安装显示情况:
原创
2461阅读
1评论
1点赞
发布博客于 2 年前

虚拟机和主机相互ping不通方法总结

一、【虚拟机和主机相互ping不通的解决方法】1、主要检查几个方面:1)检查虚拟网卡有没有被禁用2)检查虚拟机与物理机是否在一个VMNet中3)检查虚拟机的IP地址与物理机对应的VMNet是否在一个网段4)检查虚拟机与物理机的防火墙是否允许PING,不行的话干脆全部关闭2、虚拟机的联网方式:vm的联网方式一般有3种方式:NAT、bridged、host-Only。如下...
转载
70351阅读
6评论
8点赞
发布博客于 2 年前

二叉树学习参考网址

二叉树就是这么简单:https://juejin.im/post/5ab5a01d518825555c1d9a24二叉树入门:https://www.jianshu.com/p/00b5966723c0用C语言实现二叉树的结构和常用操作:https://blog.csdn.net/yudejiao/article/details/53366745...
原创
399阅读
0评论
0点赞
发布博客于 2 年前

Linux内核同步

1、临界区临界区:就是访问和操作共享数据的代码段,这段代码必须被原子地执行。 共享数据主要包括:全局变量、全局数据结构、多线程/多进程所共有的需要访问处理的资源。 原子地:指整个的执行,完全地(不会分割开的)。 竞争状态:多个任务同时访问同一临界区。 同步:避免并发和防止竞争状态称为同步。2、加锁当共享资源是一个复杂的数据结构时,竞争状态往往会使该数据结构遭到破坏。 对...
原创
86阅读
0评论
0点赞
发布博客于 2 年前

内联函数和宏定义函数的区别

1、不同点:内联函数是在编译时展开,而宏在预编译时展开;在编译的时候,内联函数直接被嵌入到目标代码中去,而宏只是一个简单的文本替换。 内联函数可以进行诸如类型安全检查、语句是否正确等编译功能,宏不具有这样的功能;宏不是函数,而inline是函数。 宏在定义时要小心处理宏参数,一般用括号括起来,否则容易出现二义性。而内联函数不会出现二义性。 inline有点类似于宏定义,但是它和宏定义不同...
原创
1405阅读
3评论
3点赞
发布博客于 2 年前

并发(Concurrent) 与并行(Parallel)

1、翻译:两者的英文翻译没有多大区别,差不多都是说同是发生,但字面上Parallel多了一个平行的意思。所以在计算机领域正常的中文翻译是:Concurrent(Concurrency) --并发Parallel(Parallelism)--并行2、解释:1)、Erlang 之父 Joe Armstrong 用一张小孩都能看懂的图解释了并发与...
转载
130阅读
0评论
0点赞
发布博客于 2 年前

弱类型、强类型、动态类型、静态类型语言的区别

1、强类型:偏向于不容忍隐式类型转换。譬如说haskel语言中的int就不能变成double。2、弱类型:偏向于容忍隐式类型转换。譬如说C语言中的int可以变成double。3、静态类型:是编译期间做检查数据类型的语言,编译的时候就知道每一个变量的类型,因为类型错误而不能做的事情是语法错误。4、动态类型:是运行期间才做数据类型检查的语言,编译的时候不知道每一个变量的类型...
原创
262阅读
0评论
0点赞
发布博客于 2 年前

位图法:bitmap

文章目录一、定义 二、数据结构 三、相关操作 四、位图法的缺点 五、位图法的应用 六、实现 一、定义位图法就是bitmap的缩写。所谓bitmap,就是用每一位来存放某种状态,适用于大规模数据,但数据状态又不是很多的情况。通常是用来判断某个数据存不存在的。在STL中有一个bitset容器,其实就是位图法,引用bitset介绍:Abitset is...
转载
128阅读
0评论
0点赞
发布博客于 2 年前

Source Insight 快捷键使用整理

前面为最常用的几种:高亮当前单词 : Shift+F8(Source Insight4.0为:F8)关闭窗口 : Alt+F6, Ctrl+F4左边缩进 : F9右边缩进 : F10搜索 : Ctrl+F向后搜索 : F3向前搜索 : F4在多个文件中搜索 : Ctrl+Shift+F搜索选择的(比如选择了一个单词,shift+F4将搜索下一个) : Sh...
原创
79阅读
0评论
0点赞
发布博客于 2 年前

Source Insight 4.0中文注释乱码解决办法

Source Insight 4.0 的中文注释为乱码解决办法(source insight 3.5 及以下版本就到其他地方看看吧)1、【临时解决办法】:只针对当前文件解决中文乱码。菜单栏中【File】->【Reload As Encoding...】->【Chinese Simplified (GB18030)】->选择后,点击load,问题解决。—————...
转载
16743阅读
3评论
18点赞
发布博客于 2 年前

链表学习参考网址

1、链表上与下(编程经验总结):https://www.w3xue.com/exp/article/201810/2260.htmlhttps://www.w3xue.com/exp/article/201810/2259.html2、[数据结构与算法] 链表:哨兵针对链表的插入、删除操作,需要对插入第一个结点和删除最后一个结点的情况进行特殊处理。这样代码实现起来就会很繁琐,...
原创
76阅读
0评论
0点赞
发布博客于 2 年前

哈希表网址参考

C语言实现HashMap:https://zhuanlan.zhihu.com/p/54017133查找算法之哈希查找:https://blog.csdn.net/xiaoping8411/article/details/7706376聊一聊哈希表:http://legendtkl.com/2017/07/23/about-hash-table/...
原创
97阅读
0评论
0点赞
发布博客于 2 年前

集合框架——HashTable和HashMap的区别

继承类不同HashTable继承Dictionary类,HashMap继承AbstractMap类线程安全级别不同HashTable是线程安全的类,每个public方法都有Synchronized修饰,HashMap不是线程安全的是否允许null的要求不同HashTable:key不允许为null,value不允许为nullHashMap:key允许为null,value允许为n...
转载
74阅读
0评论
0点赞
发布博客于 2 年前

Linux上的epoll机制及使用

epoll机制:epoll - I/O event notification facility: epoll-I/O事件通知工具epoll是靠事件触发机制实现的功能,与任务轮询机制相比,优势就是:效率高,资源占用少。#include <sys/epoll.h>1 EPOLL功能1)epoll_create函数Int epoll_create(int size);...
原创
159阅读
0评论
0点赞
发布博客于 2 年前

回调函数

回调函数函数指针作为某个函数的参数函数指针变量可以作为某个函数的参数来使用的,回调函数就是一个通过函数指针调用的函数。简单讲:回调函数是由别人的函数执行时调用你实现的函数。以下是自知乎作者常溪玲的解说:你到一个商店买东西,刚好你要的东西没有货,于是你在店员那里留下了你的电话,过了几天店里有货了,店员就打了你的电话,然后你接到电话后就到店里去取了货。在这个例子里,你的电话...
转载
49阅读
0评论
0点赞
发布博客于 2 年前

dpdk收不到报文问题解决

二层转发实例:export RTE_SDK=/home/w15018/dpdk/dpdk-stable-18.02.2/export RTE_TARGET=x86_64-native-linuxapp-gccsudo ./examples/l2fwd/build/l2fwd -c 3 -n 2 -- -q 1 -p 1-P 1 -P 1是指开启网卡的混杂模式 -p PO...
原创
536阅读
0评论
0点赞
发布博客于 2 年前

AI发展历程及机器学习、深度学习开发流程

1、AI实现方法及发展历程人工智能在计算机上实现时有2种不同的方式。一种是采用传统的编程技术,使系统呈现智能的效果,而不考虑所用方法是否与人或动物机体所用的方法相同。这种方法叫工程学方法(ENGINEERING APPROACH),它已在一些领域内作出了成果,如文字识别、电脑下棋等。另一种是模拟法(MODELING APPROACH),它不仅要看效果,还要求实现方法也和人类或生物机体所用的方法...
原创
869阅读
0评论
1点赞
发布博客于 2 年前

linux内核中的likely()和unlikely()宏的作用

在看linux内核代码的时候,经常会看到likely(x)和unlikely(x)宏的使用。那这两个宏有什么作用呢?这两个宏在内核中的定义如下:# define likely(x) __builtin_expect(!!(x), 1)# define unlikely(x) __builtin_expect(!!(x), 0)可见这里使用了gcc的内建函数__builtin_expect()...
转载
61阅读
0评论
0点赞
发布博客于 2 年前

查找算法之哈希查找

哈希查找定义:哈希查找是通过计算数据元素的存储地址进行查找的一种方法。O(1)的查找,即所谓的秒杀。哈希查找的本质是先将数据映射成它的哈希值。哈希查找的核心是构造一个哈希函数,它将原来直观、整洁的数据映射为看上去似乎是随机的一些整数。哈希查找的操作步骤:1)用给定的哈希函数构造哈希表;2)根据选择的冲突处理方法解决地址冲突;3)在哈希表...
转载
142阅读
0评论
0点赞
发布博客于 2 年前

Python 直接赋值、浅拷贝和深度拷贝解析

直接赋值:其实就是对象的引用(别名)。 浅拷贝(copy):拷贝父对象,不会拷贝对象的内部的子对象。 深拷贝(deepcopy):copy 模块的 deepcopy 方法,完全拷贝了父对象及其子对象。 字典浅拷贝实例实例 1 2 3 4 5 6 7 >>>a={1...
转载
61阅读
0评论
0点赞
发布博客于 2 年前

vim中对所有相同单词高亮及取消高亮的方法

高亮方法:用vim时,想高亮显示一个单词并查找的方发,将光标移动到所找单词.1: shift + "*" 向下查找并高亮显示2: shift + "#" 向上查找并高亮显示3: "g" + "d" 高亮显示光标所属单词,"n" 查找!取消高亮的方法:使用vim的高亮搜索功能之后,如果不取消的话,代码中就会有像补丁一样的一块一块的高亮。之前用的方法很土,就是找一个再...
原创
2793阅读
0评论
4点赞
发布博客于 2 年前

deb软件包的构建参考网址整理

Debian Binary Package Building HOWTO:这个网址说的很清楚http://www.tldp.org/HOWTO/Debian-Binary-Package-Building-HOWTO/index.htmlhttps://www.ibm.com/developerworks/cn/linux/l-debpkg/index.htmlhttps://blog.c...
原创
113阅读
0评论
0点赞
发布博客于 2 年前

C经典100例说明

学习网址:http://www.runoob.com/cprogramming/c-100-examples.html实例1:编写程序不仅要实现基本的功能,还要考虑尽量减少资源的利用,主要包括时间和空间。这里面可以通过continue语句来减少循环语句的使用,这样就减少了时间复杂度。实例2:除了按题目要求实现基本功能外,还要考虑程序的可扩展性,找到共同的特性,即:输入值位于区间内,然后求大...
原创
142阅读
0评论
0点赞
发布博客于 2 年前

Linux系统进程状态监控

如何使用Sysdig监控您的Ubuntu 16.04系统https://www.howtoing.com/how-to-monitor-your-ubuntu-16-04-system-with-sysdig/首先我们会讨论 Docker 自带的几个监控子命令:ps, top 和 stats。然后是几个功能更强的开源监控工具 sysdig, Weave Scope, cAdvisor 和 P...
原创
167阅读
0评论
0点赞
发布博客于 2 年前

libpcap及tcpdump简介

libpcap简介:Libpcap是Packet Capture Libray的英文缩写,即数据包捕获函数库。该库提供的C函数接口用于捕捉经过指定网络接口的数据包,该接口应该是被设为混杂模式。这个在原始套接子中有提到。libpcap是unix/linux平台下的网络数据包捕获函数包,大多数网络监控软件都以它为基础。著名的软件TCPDUMP就是在Libpcap的基础上开发而成的。Libpc...
原创
366阅读
0评论
0点赞
发布博客于 2 年前

Linux发包工具pktgen

1.pktgen简介: pktgen是Linux内核里包含的一个高性能发包工具,主要用来测试网络性能。一般情况下,使用pktgen就可以满足千兆网卡的测试需要,不必花钱购买昂贵的硬件发包设备。pktgen运行在“内核态”,并不占用太多的系统资源,就可以达到非常高的发包速率。 pktgen只支持UDP发包(端口9)。因为pktgen是一个非常底层测试工具,而且一般是测试网络设备的...
原创
1587阅读
0评论
0点赞
发布博客于 2 年前

dpdk运行及多进程运行,相关问题解决,pktgen, tcpdump应用

ifconfig -a问题:解决是缺sudowlw@ubuntu:~/dpdk/dpdk-stable-18.02.2/usertools$ ./../examples/helloworld/build/helloworldrte_virtio_pmd_init(): IOPL call failed - cannot use virtio PMDEAL: Detected 40 lco...
原创
772阅读
0评论
0点赞
发布博客于 2 年前

dpdk编译,详细的环境搭建过程

dpdk环境的搭建过程:Linux平台上DPDK入门指南:中文,比较详细https://dpdk-docs.readthedocs.io/en/latest/linux_gsg/index.htmldpdk编译:dpdk依赖库:https://www.cnblogs.com/vancasola/p/8881197.html按上述网址安装完所有的依赖库后,按以下命令安装(脚本):e...
原创
3091阅读
0评论
0点赞
发布博客于 2 年前

深入浅出dpdk网址推荐

编译指导网址:doc.dpdk.org/guides/linux_gsg/build_sample_apps.html (官方网址,看什么资料都不如直接看官方网址,哪怕需要翻译一下,上面说的既详细又准确)DPDK二层转发示例源码阅读:https://www.cnblogs.com/vrg0/p/7552774.htmlDPDK盒子使用手册——DPDK入门:https://www.sdnl...
原创
830阅读
0评论
0点赞
发布博客于 2 年前

AI软件开发流程

AI软件开发流程总结,包括AI实现方法及发展历程,机器学习的开发流程,深度学习与机器学习等
docx
发布资源于 3 年前

V4L2摄像头读取图片

V4L2USB摄像头读取一张图片
c
发布资源于 5 年前

omap3530Linux开发资料

详细描述了omap3530Linux学习与开发过程
pdf
发布资源于 5 年前

C++Primer+中文第四版(pdf高清完整版)

人们现在还用C++的惟一理由是其性能。相比之下,Java/C#/Python等语言更加易学易用并且开发工具丰富,它们的开发效率都高于C++。但C++目前仍然是运行最快的语言[1],如果你的应用领域确实在乎这个性能,那么 C++ 是不二之选。
pdf
发布资源于 6 年前