无题
1697
k8s网络基础
文章一
基础知识
向外发送一个数据包
查找目的地址的路由信息,如果是直连路由,则在邻居表中找到他的Mac地址,然后把数据包直接发给他
如果不是直连路由,则在邻居表中找默认路由的Mac地址,把数据包发给默认路由对应的设备
如果找不到路由信息,那么就是不可达
如果邻居表中找不到Mac地址,就发起ARP请求询问
发出去的数据帧,Mac地址一直在变,但是只要不经历nat(snat和dnat),那么ip地址是全程不会变的
接收到一个数据包
如果数据帧的目标Mac地址不是自己的Mac地址,而且也不是广播Mac地址(ff:ff:ff:ff),且网卡没有开启混杂模式,则拒绝收包,混杂模式就是所有的帧我都接受
如果是目标地址是广播Mac地址,那就进入ARP请求处理
如果目标Mac地址就是自己的Mac地址,也要分几种情况讨论
目标ip地址是本机,则上送到上一层协议继续处理
如果目标ip不在本机,如果开启了路由转发,则转发这个分组,否则就丢弃这个分组
对于一台linux主机来说,影响网络方面的配置主要有以下几个:
网卡,网卡的配置,ip地址啊,是否开启,也可以虚拟出一张网卡
端口: 1-6 ...
hello
hello
1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374apiVersion: v1kind: Podmetadata: annotations: kubectl.kubernetes.io/last-applied-configuration: | {"apiVersion":"v1","kind":"Pod","metadata":{"annotations":{},"labels":{"run":"myapp"},"name":"myapp","n ...
go总结
环境搭建
Go设置国内镜像源
1go env -w GOPROXY=https://goproxy.cn,direct
基础教程
go.mod 是用来管理我们引入模块的信息,里面记录了我们当前模块的模块名,以及需要的模块的信息
go mod init 名字 用来创建一个模块
go mod tydy 加载模块(本地,或者远程)
init 函数会最先执行,早于main函数
go中**{**不能单独一行
一行代表一个语句结束,如果要多个语句写一起,就必须使用;分隔,但是并不推荐这样做
数据类型
注意一下不同的数据类型就行了
int 这个和c语言不同哦,c语言是int ,不过使用起来是一样的,只是声明的时候不同
函数类型 声明的时候,是可以直接用变量接收一个函数的哦
变量声明方式
方式1 var 名字1,名字2 … type (没有赋值,默认值代替)
方式二 var 名字1,名字2 类型 = 值1,值2 (值类型必须一致
方式三 var 名字 1,名字2= 值1,值2 (根据类型推断)
方式四(局部变量才可以用) 名字1,名字2:=值 相当于 var 名字1 type,va ...
thinking in java
第一章 对象入门
拟出一个计划
首先我们应该要明白我们的程序需要做什么,而不是考虑程序要怎么做,我们应该将重心放到这一阶段的核心问题上,不要纠结与一些细枝末节,同时也不要过分在意系统的**“完美”**,否则容易产生挫败感和焦虑情绪
对自己的系统做一些**“名词"和"动词”**的描述,名词成为自然对象,动词成为对象接口中的方法
根据自己的经验与直觉,对一个项目进行日程估计,然后在这个时间上再加上百分之十,如果按时完成了,那么这个百分之十的时间,可以用来完善项目
java的包名命名规范一般是域名倒着来,首先,我们是想包名唯一,正好域名是唯一的,但是域名后两个是固定的,前面又可以随便变化,所以域名符合要求,而且我们为了方便管理,还要把域名倒过来才行,假如我有个域名 djm.com 那么 ww.djm.com,abc.djm.com 不都是我的子域名么,如果正着来,不好管理啊,反着来,前面都一样,好管理
@Override 是重写 发生在子父类之间(同名,同参数,而且子类访问权限不能小于父亲,子类异常也要是父类的异常的子类)
@Overload 是重载 发生在本类中 ...
无题
什么是docker
Docker 使用 Google 公司推出的 Go 语言 进行开发实现,基于 Linux 内核的 cgroup,namespace,以及 OverlayFS 类的 Union FS 等技术,对进程进行封装隔离,属于操作系统层面的虚拟化技术(虚拟机是属于软件层面的虚拟化技术)。由于隔离的进程独立于宿主和其它的隔离的进程(既然是一个进程,当然能够直接使用系统资源),因此也称其为容器
以下所有操作均在CentOS Linux release 7.6.1810 (Core)中进行,仅供参考哦,不同版本可能会有区别
为什么要用docker
传统的虚拟技术是利用软件虚拟出一套硬件环境,而且还需要再跑一个操作系统,所以无论执行速度,内存损耗,文件存储,都比传统的虚拟技术,而且一套dockerfile可以保证相同的环境,一次创建,到处可以运行,Docker 使用的分层存储以及镜像的技术,使得应用重复部分的复用更为容易,也使得应用的维护更新更加简单,基于基础镜像进一步扩展镜像也变得非常简单,因此docker有以下几个优势
更高效的利用系统资源
更快的启动速度
一致运行环境
更轻 ...
hexo搭建
前言
我觉得hexo是一个非常不错的博客系统,非常轻量,非常适合程序员,我用过WordPress,我感觉它使用起来比较笨重,功能比较多,容易迷失自我,最最最让我受不了的是,你必须在那上面写文章,这是我最不能接受的(我不知道有没有什么可以改进的,至少我不知道)
安装nodejs
可以参考我的另一篇文章
安装git
这个比较简单,自行百度即可
安装hexo
1234# 全局安装hexo包npm install -g hexo-cli# 检查安装是否成功hexo -v
搭建博客
初始化博客
注意,这里是去GitHub克隆仓库,所以最好是能翻墙
12# 来到一个空目录,用来存放博客hexo init
成功后会产生上面文件
然后执行
12# 启动博客hexo s
访问后就能看到自己的博客了
博客文件解释
scaffolds
用来存放模板文件,比如文章的Front-matter内容,每次都会使用这里面的模板填充
source
用来存放文章,资源,标签,分类…这些东西的
_config.yml
用于配置网站信息的
package.json
用来存放下载的包,或者是插件这些
themes
...
无题
没开代理
GET / HTTP/1.1
Host: localhost:18000
Connection: keep-alive
sec-ch-ua: “Microsoft Edge”;v=“107”, “Chromium”;v=“107”, “Not=A?Brand”;v=“24”
sec-ch-ua-mobile: ?0
sec-ch-ua-platform: “Windows”
Upgrade-Insecure-Requests: 1
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/107.0.0.0 Safari/537.36 Edg/107.0.1418.62
Accept: text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,image/apng,/;q=0.8,application/signed-exchange;v=b3;q=0.9
Sec- ...
无题
十万个为什么
目前CPU分为两种架构,精简指令集和复杂指令集,不同的CPU的指令集是不一样的
精简指令集(RISC):动作简单,执行时间短,效率高,执行复杂操作的时候,需要多条指令集完成 主要的CPU有:ARM ,SPARC
复杂指令集(CISC):
硬盘是分扇区的,以前每个扇区512B,为了减少存储一个文件的拆解 现在一般是 4KB(所以现在文件所占大小一定是4KB的整数倍,所以文件的实际大小一般比文件所占大小小),
传统硬盘是分为很多盘片,每个盘片上又分为很多磁道(就是一圈一圈的),每个磁道又分了很多扇区,每个扇区就是存放一个文件的一部分的地方,每个盘片相同的磁道被称为柱面,当我们需要数据时,告诉磁头在哪个盘面哪个扇区哪个柱面就行,这样是比较慢的,因为盘面转一圈才能找到一个或者多个文件块.
固态硬盘像内存那样,可以直接定位到数据在哪,所有就非常快
Linus是很聪明,但是,我觉得他的成功可不只有聪明,他早些年的经历(学过组合语言,经常跟硬件打交道,明白硬件的特性,CPU不够用,需要紧凑,这样写代码的话需要充分考虑资源,这些不是正好符合操作系统的功能吗?),让他写出了如此优秀的操作 ...