- 博客(36)
- 资源 (2)
- 收藏
- 关注
转载 go module 基本使用
前言#go的版本以至1.13,一直以来令人诟病的依赖管理也有了官方的方向,但是看了一下目前很多blog文章还是比较老的.所以这里对 go mod 做一个大致的说明正文#前提#go版本为1.13及以上官方文档#如果你想更深层次的了解GO MODULE的意义及开发者们的顾虑,可以直接访问官方文档(EN)https://github.com/golang/go/wiki/Modulesgo module介绍#go module是go官方自带的go依赖管理库,在1.13版本
2020-09-28 17:15:49
382
转载 TCP,UDP,IP包头格式及说明
一、MAC帧头定义/数据帧定义,头14个字节,尾4个字节/typedef struct _MAC_FRAME_HEADER{ char m_cDstMacAddress[6]; //目的mac地址 char m_cSrcMacAddress[6]; //源mac地址 short m_cType; //上一层协议类型,如0x0800代表上一层是IP协议,0x0806为arp}__attribute__((packed))MAC_FRAME_HEADE..
2020-09-04 10:13:23
2799
转载 根证书、服务器证书、用户证书的区别
https证书包含的文件ca.cer 中间证书和根证书 nginx.cn.cer 你申请的ssl证书 fullchain.cer 包括了 ca.cer 和 nginx.cn.cer 的全链证书 nginx.cn.key 证书的私钥 什么是证书链证书链的意思是有一个证书机构A,A生成证书B,B也可以生成证书C,那么A是根证书。操作系统预先安装的一些根证书,都是国际上很有权威的证书机构,比如 verisign 、 ENTRUST 这些公司。我们...
2020-08-25 15:47:16
16144
1
转载 数字证书应用综合揭秘(包括证书生成、加密、解密、签名、验签)
引言数字证书是一个经证书授权中心数字签名的包含公开密钥拥有者信息以及公开密钥的文件。为现实网络安全化标准,如今大部分的 B2B、B2C、P2P、O2O 等商业网站,含有重要企业资料个人资料的信息资信网站,政府机构金融机构等服务网站大部分都使用了数字证书来加强网络的安全性。数字证书一般由经过国家认证的权威机构颁发,即CA(例如中国各地方的CA公司)中心签发的证书,也可以由企业级CA系统进行签发,例如:Symantec、ResellerClub、数安时代等。开发人员也可以通过工具自动生成证书进行开发,但不
2020-08-25 15:32:14
5630
1
原创 简单解释一下 公钥 私钥 数字签名 数字证书
文章目录 目录 文章目录 前言 一、应用场景 二、公钥和私钥的加密体系 二、公钥的发布 总结 前言一、应用场景 在开始了解公钥和私钥之前,我们先来了解一下它们的应用场景:1、一个在网络上公开的服务器要对外提供服务,它需要一种安全通信手段;2、这个服务器需要对公众证明它是一台合法的服务器,而不是什么钓鱼服务器,在https普及之前,钓鱼服务器是很普遍的。二、公钥和私钥的加密体系 公钥和私钥是成对的,...
2020-08-25 10:52:22
1613
原创 使用Maven + IDEA 编译Java项目(一)
前言 今天,有很多java项目都是以Maven来进行管理、构建,尤其是在开源网站上的项目更是如此,Idea则是大受程序员们喜爱的java编码工具,那么我们今天来了解一下,如何使用Maven + IDEA来开始编译一个java项目。1、Mavan的安装我们的工作环境在win10下,那么我们以win10的配置方法为例,Maven的安装必须需要jdk1.7+,我们可以从官网上,下载一个windows平台的压缩包,怎么下载我就不多做解释,大家去Maven官网http://maven....
2020-08-21 09:44:20
5476
1
转载 Docker 核心技术与实现原理
提到虚拟化技术,我们首先想到的一定是 Docker,经过四年的快速发展 Docker 已经成为了很多公司的标配,也不再是一个只能在开发阶段使用的玩具了。作为在生产环境中广泛应用的产品,Docker 有着非常成熟的社区以及大量的使用者,代码库中的内容也变得非常庞大。同样,由于项目的发展、功能的拆分以及各种奇怪的改名PR,让我们再次理解 Docker 的的整体架构变得更加困难。虽然 Docker 目前的组件较多,并且实现也非常复杂,但是本文不想过多的介绍 Docker 具体的实现细节,我们...
2020-08-19 15:41:13
155
原创 自己构建Docker镜像的一些基本思考
我们在自己创建Docker镜像的时候,经常在Dockerfile中添加以下语句:其中,FROM是指明我们自己的镜像是从一个什么样的镜像继承而来。我们可以在一个镜像的基础上,增加自己的程序、修改运行环境,运行自己定义的命令。 ubuntu:15.04表明这是使用了ubuntu:15.04的一个linux发行版本的基础镜像。 FROM ubuntu:15.04 RUN echo "Hello world" > /tmp/newfile我们从上面的例子可以看到,当需要自己构建一个镜像时,.
2020-08-19 15:28:34
253
转载 k8s集群外访问集群内部服务的几种方式
前言 目前k8s+docker算是运维必修了,docker能让我们的环境一键迁移,k8s能自动编排,还能保证服务高可用,两者结合自然是无敌,那我们要不要使用k8s呢?这要根据自身情况,任何技术的使用,都需要根据具体情况来定,就像你要杀鸡,却非要选牛刀,牛刀是很锋利,但还不够你折腾的 本文重点介绍k8s集群外如何访问集群内的服务,主要方式有:hostPort或hostNetwork、NodePort、Ingress一、hostPort或hostNetworkhostP...
2020-08-13 16:49:42
3935
原创 四种以太帧格式
四种以太帧格式一般我们讨论的以太帧头不包括它的前导码和帧定界。1、前导码:7字节0x55,一串1、0间隔,用于信号同步2、帧起始定界符:1字节0xD5(10101011),表示一帧开始转自四种格式的以太网帧结构用过NetXray之类的抓包软件的人,可能经常会被一些不同的FrameHeader搞糊涂,为何用的Frame的Header是这样的,而另外的又不一样。这是因为在Ethernet中存在几种不同的帧格式,下面我就简单介绍一下几种不同的帧格式及他们的差异。一、Ethern.
2020-08-11 17:38:52
3396
转载 Linux下各数据报头部结构体定义
Linux下各数据报头部结构体定义:#ifndef LITTLE_ENDIAN#define LITTLE_ENDIAN (1) //BYTE ORDER#else#error Redefine LITTLE_ORDER#endif//Mac头部,总长度14字节typedef struct _eth_hdr{unsigned char dstmac[6]; //目标mac地址unsigned char srcmac[6]; //源mac地址unsigned short e
2020-08-11 17:35:57
439
原创 IPv4报文格式
下图是IP的报文格式,Ipv4头长度最低为20字节最大长度为60字节(20字节 ~ 60字节长度中为4的倍数的长度),接下来我们先说明各个字段的意义。常见的IPv4报文格式表:1.版本:ip报文中,版本占了4位,用来表示该协议采用的是那一个版本的ip,相同版本的ip才能进行通信。一般此处的值为4,表示ipv4。2.头长度:该字段用四位表示,表示整个ip包头的长度,其中数的单位是4字节。即二进制数0000-1111(十进制数0-15),其中一个最小长度为0字节,最大长度为60字节。...
2020-08-11 17:33:19
10886
1
转载 kubernetes之helm简介、安装、配置、使用指南
转自:https://blog.youkuaiyun.com/bbwangj/article/details/81087911目录helm简介Helm 组件及相关术语HelmTillerChartRepoistoryReleaseHelm工作原理helm部署一、Helm 客户端安装二、Helm 服务端安装Tiller三、给 Tiller 授权四、验证 Tiller 是否安装成功五、卸载 Helm 服务器端 Tiller六、Helm 使用Helm Cha
2020-08-08 15:17:47
1397
转载 linux内核之:深度理解 epoll 本质
linux内核之:深度理解 epoll 本质目录一、从网卡接收数据说起二、如何知道接收了数据?三、进程阻塞为什么不占用cpu资源?四、内核接收网络数据全过程五、同时监视多个socket的简单方法六、epoll的设计思路七、epoll的原理和流程八、epoll的实现细节九、结论 一直对epoll的本质有一定的理解,但是又不够深入,被别人问起时,总是有一些悬而未决的问题答不出来。最后发现了这篇文章,我觉得真的特别棒。转载以学习之! 转载来源: https://bbs.gameres.
2020-08-06 15:48:47
384
转载 YML简介
文章目录一、YML是什么二、YML的优点三、YML语法1.约定2.键值关系1) 普通值(字面量)2)日期3)对象(属性和值)、Map(键值对)4)数组、list、set5)数组对象、list对象、set对象6)Java代码示例3.文档块一、YML是什么YAML (YAML Aint Markup Language)是一种标记语言,通常以.yml或者.yaml为后缀的文件,是一种直观的能够被电脑识别的数据序列化格式,并且容易被人类阅读,容易和脚本语言交互的,可以被支持YAML库的不
2020-07-29 10:23:12
14915
转载 java中序列化的两种接口Serializable和Externalizable
摘要: 本文主要要看看JDK中使用Serializable和Externalizable接口来完成Java对象序列化,并给出部分属性序列化的几种方式,最终做出Serializable和Externalizable接口的几个方面的对比。Java序列化是指把Java对象转换为字节序列的过程;而Java反序列化是指把字节序列恢复为Java对象的过程。从而达到网络传输、本地存储的效果。本文主要要看看JDK中使用Serializable和Externalizable接口来完成Java对象序列化,并给出部分属性序列
2020-07-28 17:31:38
448
原创 java中反序列化与单例模式的冲突
今天在序列化反序列化的时候,发现单例模式竟然实现不了,查了一下资料,发现反序列化由于使用了反射机制来创建一个新的对象,导致其并没有受到单例模式的约束,今天做一个总结,以便后续查询。有兴趣的可以从java.io.ObjectInputStream中的public final Object readObject()开始,看一下jdk的源码:public final Object readObject() throws IOException, ClassNotFoundException {
2020-07-28 15:55:37
203
原创 Java IO流的划分表
java.io 包下的IO流很多:其中,以Stream结尾的为字节流,以Writer或者Reader结尾的为字符流。所有的输入流都是抽象类IuputStream(字节输入流)或者抽象类Reader(字符输入流)的子类,所有的输出流都是抽象类OutputStream(字节输出流)或者抽象类Writer(字符输出流)的子类。字符流能实现的功能字节流都能实现,反之不一定。如:图片,视频等二进制文件,只能使用字节流读写。...
2020-07-20 14:49:10
220
原创 JAVA中的泛型方法的声明形式的介绍
在java中,泛型分为称为泛型类、泛型接口、泛型方法。其中泛型类、泛型接口理解较为容易,但是泛型方法,容易让人产生困惑。那么我们在这片文章中来学习一下泛型方法。泛型方法,是在调用方法的时候指明泛型的具体类型 。/**泛型方法的基本介绍@param tClass 传入的泛型实参@return T 返回值为T类型说明:1)”修饰符“ 与 “返回值类型” 之间的 为声明此方法为泛型方法。只有声明了的方法才是泛型方法,泛型类中的使用了泛型的成员方法并不是泛型方法。2)表明该方法将使用泛型类型
2020-07-09 10:15:33
2062
转载 JAVA中的Class对象
Class类简介 在java世界里,一切皆对象。从某种意义上来说,java有两种对象:实例对象和Class对象。每个类的运行时的类型信息就是用Class对象表示的。它包含了与类有关的信息。其实我们的实例对象就通过Class对象来创建的。Java使用Class对象执行其RTTI(运行时类型识别,Run-Time Type Identification),多态是基于RTTI实现的。每一个类都有一个Class对象,每当编译一个新类就产生一个Class对象,基本类型 (boolean, byte, char,
2020-07-09 08:50:53
169
原创 Java 构造方法的继承/构造方法的调用顺序(二)
我们在构造方法的继承、调用顺序一文中,已经了解过子类的构造过程中,构造方法是如何调用的。那么,我们看下面一个例子来巩固一下:public static class A { private int f1 = 7; //(1) public A(int b) { this.f1 = b; //(2) System.out.println(f1); //(3) initialize1(); //(4) }
2020-07-02 20:25:45
249
原创 Java 构造方法的继承/构造方法的调用顺序(一)
在java中,假如一个类Money 存在private 成员amount,另一个类USD继承自这个类,那么 USD子类中与这个amount成员是一个什么样的关系呢?我们来看一段代码,父类Money :这里解释一下,抽象类其实也是有构造方法的,只不过抽象类是不能被实例化,也就是说,抽象类的构造方法不能在对抽象类进行实例化的场合调用。那么言外之意,如果在某个场合抽象类的方法被调用并不会引起抽象类的实例化,那么它就允许被调用。我们将在下面的代码中来介绍这样一种特殊情况。public abstract cl
2020-06-30 22:05:53
1154
原创 Java 接口是否可以存在属性字段?
在Java中,接口是一组方法的集合,那么接口可不可以有属性呢?答案是可以,接口可以存在属性,但是这个属性必须是一个public static final的常量。 public interface Alcoholic extends Drinker { boolean READY_TO_GO_HOME = false; //public static final被省略 void sleepOnTheFloor(); }在这段代码中,READY_TO
2020-06-24 14:17:17
11382
4
原创 Java中的多态、golang中的多态
我们来看看java代码,如下,所示的示例,class Cow{ public void printAll() { printColor(); printName(); } public void printColor() { System.out.println("我浑身白色"); } public void printName() { System.out.println("我是一头奶牛"); }}class Whale extends Cow{ publi
2020-06-23 11:16:04
246
原创 IPv6数据报头部格式
文章摘自书籍《深入理解计算机网络 王达 机械工业出版社》RFC2460定义了IPv6数据报格式。总体结构上,IPv6数据报格式与IPv4数据报格式是一样的,也是由IP报头和数据(在IPv6中称为有效载荷)这两个部分组成的,但在IPv6数据报数据部分还可以包括0个或者多个IPv6扩展报头(Extension header), 如下图所示。IP报头部分固定为40字节长度,而有效载荷...
2020-06-03 13:49:51
1616
原创 802.1q以太帧
802.1q 并非实际封入原始帧中。相反,在以太网帧格式里,在MAC地址源 与 以太网类型/长度 之间添加一个32位的域(field)。VLAN标签领域必须遵守下列格式(4个字节):16 bits 3 bits 1bit 12 bitsTPID PCP CFI VID标签协议识别符(Tag Protocol Ident...
2020-06-01 17:20:27
3191
原创 以太报文优先级、MPLS的EXP优先级、IP报文的IP Precedence/DSCP优先级
以太报文优先级,参考https://blog.51cto.com/91235688/2500345MPLS报文EXP 优先级 :EXP优先级位于 MPLS 标签内,用于标记MPLS QoS。MPLS 标签的封装结构:在图中,Exp 字段就是EXP优先级,长度为 3 比特,取值范围为0~7(0表示报文转发优先级最低,7最高)...
2020-06-01 16:35:01
7110
原创 IPv4地址的基本构成
为了便于寻址,了解目标主机的位置,每个 IPv4 地址包括两个标识码(ID),即网络 ID 和主机 ID。同一个物理网络上的所有主机都使用同一个网络 ID,网络上的一个主机(包括网络上的工作站、服务器和路由器等)有一个主机 ID 与其对应。网络 ID 和主机 ID 含义如下:网络 ID:用于识别主机所在的网络,网络 ID 的位数直接决定了可以分配的网络数量。主机 ID:用于识别该网络中的主机,主...
2020-06-01 15:35:24
5718
原创 MPLS报文格式
原文链接:https://blog.youkuaiyun.com/qq_38265137/article/details/80503389MPLS 独立于第二和第三层协议,诸如ATM 和IP。它提供了一种方式,将IP地址映射为简单的具有固定长度的标签,用于不同的包转发和包交换技术。它是现有路由和交换协议的接口,如IP、ATM、帧中继、资源预留协议(RSVP)、开放最短路径优先(OSPF)等等。在MPLS 中...
2020-06-01 14:36:28
8051
原创 golang中接口的面向对象(三)--go实现继承的局限
接上一节,我们继续看一下继承的局限,假设我们的circle 只重写了area()以及perim() 方法,没有重写sayHi()方法,在sayHi()我们加入调用area()的语句,那么我们来看一看如下的测试代码:type geometry interface { sayHi() }type rect struct { len, wid float32}func (r rect) sayHi() { fmt.Println("i am a rect", r.a
2020-05-30 17:04:57
408
原创 golang中接口的面向对象(二)--继承
在上一节 golang中接口的面向对象(一)–多态特征中,我们学习了galang中的多态,参考https://blog.51cto.com/91235688/2499405继承那么这一节中,我们继续用上一节中的例子,来学习继承。我们修改上一节中的示例代码,如下所示:type geometry interface { sayHi() //geometry 只有一个方法sayHi()}type rect struct { geome
2020-05-30 13:55:49
558
原创 golang中接口的面向对象(一)--多态特征
https://blog.51cto.com/91235688/2499405 文章从我的51cto博客搬迁过来最近在学习golang,虽然go并不是一个传统意义的面向对象的语言,但是发现接口interface{}这个类型却体现了一些面向对象的特点。 本人也是初学,参考了《Go 零基础编程入门教程》-- “进击的皇虫”大佬的教学。示例代码按我个人的理解稍微有所改动。有什么不妥的地方也请大家不吝赐教。 在学习golang的面向对象之前,我们先来了解一下 方法 method 和 接口 i
2020-05-30 13:42:16
321
原创 输出svn版本号到头文件
linux平台##############################################2014-05-26 rongxiang ##############################################version=\"$(svnversion)\"output="#define VERSION $version"echo "...
2015-08-04 10:58:40
89
转载 bit 位域大小端转换问题
http://www.cnblogs.com/chencheng/archive/2012/06/19/2554081.htmlbit 位域大小端转换问题 计算机系统中,我们是以字节为单位的,每个地址单元都对应着一个字节,一个字节为 8bit。但是在C语言中除了8bit的char之外,还有16bit的short型,32bit的long型(要看具体的编译器),另...
2015-08-04 10:24:20
548
原创 自己总结并定义一套简单的字节序转换宏
#define HOST_LITTLE_ENDIANtypedef unsigned short int UINT16;typedef unsigned long int UINT32;typedef unsigned long long int UINT64;#ifdef HOST_LITTLE_ENDIAN#define XY_SWAP_16(s) ((((UI...
2015-08-04 10:17:01
175
bstree.zip
2020-08-08
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人