Kubernetes
参考资料以下是文章的主要参考资料,非常感谢这些教程/博客/书籍的帮助。
尚硅谷Kubernetes教程(K8s入门到精通)
kubernetes 资源管理概述
kubernetes 权限管理
Helm Docs
Kubernetes in Action中文版
Kubernetes Documentation
如果我的文章中还引用了您的原创内容,请联系我添加出处,如果侵权请联系删除!
导航一、介绍二、集群搭建三、Pod四、资源控制器五、服务六、存储七、有状态服务八、运行原理九、高级调度十、API Server的访问控制十一、计算资源管理十二、Helm
友链朋友圈后端开发记录与部署说明
前言你是否经常烦恼于友链过多但没有时间浏览?那么友链朋友圈将解决这一痛点。你可以随时获取友链网站的更新内容,并了解友链的活跃情况。
前排提醒项目地址:https://github.com/Rock-Candy-Tea/hexo-circle-of-friends
部署教程:文档 | 备用地址
debug记录
wordpress类型博客的时间格式问题
butterfly主题友链页解析不再抓取背景图片了
修复了github和gitee对volantis主题的友链获取
屏蔽站点现在不计入失联数
修复了sakura主题和nexmoe主题偶尔报错的问题
现在可以获取Yun主题的外置JSON友链
优化了启动项配置
feed订阅解析更加精准了
解决了docker和server定时任务运行爬虫报错的问题
功能概览
支持 gitee 和 github 上的 issuse 友链获取
支持butterfly、volantis、matery、sakura、fluid、nexmoe、Yun、stun、stellar主题的友链和文章获取
支持feed订阅规则,如atom、rss等规则(支持wordpress类型 ...
Hexo搭建个人博客
Hexo搭建个人博客1 介绍Hexo 是一个快速、简洁且高效的博客框架。Hexo 使用 Markdown(或其他渲染引擎)解析文章,在几秒内,即可利用靓丽的主题生成静态网页。
如果你希望自己的博客自定义程度更高,并且愿意折腾的话,Hexo是不二选择。
2 安装如果已经安装,请跳过本节。
Hexo自带中文文档,有能力可以直接按照官方文档操作。
官方网站
GitHub
这里按照官方安装步骤,简单介绍一下:
2.1 安装node.js和gitgit下载
node.js下载
安装即可。不同平台安装方法请查阅各自的官方文档。
建议把它们添加到环境变量。
[可选项]cnpm由于npm速度比较慢,可以使用淘宝npm镜像来代替下载。
123// 二选一即可npm install -g cnpm --registry=https://registry.npmmirror.comnpm install -g cnpm --registry=https://registry.npm.taobao.org
安装好之后,所有的npm命令可以使用cnpm代替。
2.2 安装Hexo打开命令行输入
1npm in ...
Linux从入门到入土
Linux从入门到入土前言:水平十分有限,仅仅是个人总结linux的入门知识,参考资料众多无法一一考证出处,如有侵权请联系删除!
并不能保证内容全部正确,请读者仔细甄别,如有错误欢迎批评指正。
一、绪论1 什么是linuxLinux,全称GNU/Linux,是一种免费使用和自由传播的类UNIX操作系统,其内核由林纳斯·本纳第克特·托瓦兹于1991年10月5日首次发布,是一个基于POSIX的多用户、多任务、支持多线程和多CPU的操作系统。它支持32位和64位硬件。Linux继承了Unix以网络为核心的设计思想,是一个性能稳定的多用户网络操作系统。Linux有上百种不同的发行版,如基于社区开发的debian、archlinux,和基于商业开发的Red Hat Enterprise Linux、SUSE、Oracle Linux等。
今天各种场合都有使用各种Linux发行版,从嵌入式设备到超级电脑,并且在服务器领域确定了地位。开放源代码的Linux可以让知识延续下去,新兴的软件公司可以从开放源代码上快速、低价的创建专业能力,丰富市场的竞争,防止独霸软件巨兽的存在。个人使用很少有著作权问题,绝 ...
GO语言基础
GO语言基础一、绪论1 Go语言介绍Go 即Golang,是Google公司2009年11月正式对外公开的一门编程语言。
Go是静态强类型语言,是区别于解析型语言的编译型语言(静态:类型固定 强类型:不同类型不允许直接运算)。
解析型语言——源代码是先翻译为中间代码,然后由解析器对代码进行解释执行。
编译型语言——源代码编译生成机器语言,然后由机器直接执行机器码即可执行。
2 Go语言特性
跨平台的编译型语言
交叉编译(在win平台可编译出mac平台的可执行文件)
语法接近C语言
管道(channel),切片(slice),并发(routine)
有垃圾回收的机制
支持面向对象和面向过程的编程模式
3 go适合做什么
服务端开发
分布式系统,微服务
网络编程
区块链开发
内存KV数据库,例如boltDB、levelDB
云平台
4 下载和安装开发环境:
官网下载地址为:https://golang.org/dl/
如果打不开可以使用这个地址:https://golang.google.cn/dl/
IDE:
GoLand
vscode
5 配置GOPAT ...
redis源码分析
redis源码分析
持续更新…
一、C语言基础
本节参考资料:
1、C Primer Plus(第6版)中文版
2、stdint.h
3、编译器特性 attribute_((packed))
redis基于C语言编写,因此在阅读之前,先对C语言的相关语法进行简单回顾。
1 变量1.1 整型整型一般使用int定义,它占用一个机器字长,现在一般的个人计算机使用32位(4字节)来储存一个整型的数据。
除此之外,还有其它的附属关键字来定义整型:
short或short int,它占用16位(2字节)存储一个整型数据。
long或long int,它占用32位(4字节)或64位(8字节),具体占用多少取决于什么样的操作系统。
long long或long long int,它占用64位(8字节)存储整型数据。
在上述关键字的基础上,使用unsigned可以定义无符号整型,如unsigned int、unsigned short等,它的占用和对应的关键字占用相同,但表示的范围不同(非负)。
1.2 字符型字符型char实际上也是一个整型,它实际存储的是整数而不是字符。根据不同的字符编码,数 ...
twisted快速入门
一、介绍twisted是基于事件驱动的网络引擎框架,事件驱动编程是一种编程范式,这里程序的执行流由外部事件来决定。它的特点是包含一个事件循环,当外部事件发生时使用回调机制来触发相应的处理。
twisted支持许多常见的传输及应用层协议,包括TCP、UDP、SSL/TLS、HTTP、IMAP、SSH、IRC以及FTP。
twisted的架构与单线程、多线程的对比如下:
和asyncio一样,twisted的编程模型可以在单线程下实现并发编程,即事件驱动版本的程序中,多个任务交错执行,但仍然在一个单独的线程控制中。当处理I/O或者其他耗时的操作时,注册一个回调到事件循环中,然后当I/O操作完成时继续执行。回调描述了该如何处理某个事件。事件循环轮询所有的事件,当事件到来时将它们分配给等待处理事件的回调函数。这种方式让程序尽可能的得以执行而不需要用到额外的线程。事件驱动型程序比多线程程序更容易推断出行为,因为程序员不需要关心线程安全问题。
二、反应堆reactor1 hello world12345678910from twisted.internet import reactor# rea ...
对于TCP的一次抓包分析
一、TCP基础1 TCP介绍TCP是一种面向连接的、可靠的、基于字节流的传输层通信协议,它建立在IP层之上,用于解决可靠传输、有序传输等问题。
TCP包又称TCP报文段,报文段分为TCP首部和TCP数据两个部分。TCP首部最小为20B,最大为60B,如图:
其中:
源端口和目的端口字段:各占2B(2^16-1=65535,这是端口号的上限)
序列号字段:占4B,TCP是基于字节流的通信协议,在传输数据流时,要为每个字节编号。比如一个TCP报文的序列号字段为101,总共占100B,则代表这个TCP报文的最后一个字节序号为200,下一个TCP报文的起始序号字段就为201。
确认号字段:占4B,表示期望收到的另一个TCP报文的序列号,ack=seq+1(期望收到的下一个seq)。比如:我收到了一个TCP报文,其seq为301,长度为300B,此时我正确接收了301-600序号的数据,接下来期望收到seq为601的TCP报文,于是我把自己的ack置为601。
数据偏移:占4bit,它表示首部长度,即:TCP数据部分距离TCP整个报文的首部偏移量为多少,数据偏移以4B为单位,最小为(0101 ...
scrapy源码分析
一、初出茅庐1 架构总览Scrapy的基础架构:
关于架构,很有趣的一点是在Scrapy文档里的问题:
Did Scrapy “steal” X from Django?Probably, but we don’t like that word. We think Django is a great open source project and an example to follow, so we’ve used it as an inspiration for Scrapy.
We believe that, if something is already done well, there’s no need to reinvent it. This concept, besides being one of the foundations for open source and free software, not only applies to software but also to documentation, procedures, policies, etc. S ...
Docker
docker
持续更新中..
一、 简介1 虚拟化技术虚拟化技术是一种资源管理技术,是将计算机的各种实体资源(CPU、内存、磁盘空间、网络适配器等),予以抽象、转换后呈现出来并可供分割、组合为一个或多个电脑配置环境。虚拟机和docker都属于虚拟化技术的一种。
2 容器技术容器技术属于虚拟化技术。当一个项目仅由几个大组件构成的时候,可以为它们单独创建虚拟机,为它们提供完全独立的环境(分配独立的硬件环境);但是,但这些组件逐渐解耦成为更小的组件,它们的数量逐渐增长,为它们一一分配虚拟机是浪费资源的行为,并且大大增加了系统管理员和运维人员的负担。
容器技术应运而生地解决了这个问题,它的开销相比虚拟机小很多,并且在一台机器上允许运行多个相互隔离的服务。在宿主机看来,一个容器不过是一个运行的进程,在容器本身看来,就好像是机器和操作系统上运行的唯一一个进程。
3 虚拟机和容器比较虚拟机和容器比较,容器更加轻量。因为容器直接运行在宿主机的操作系统上,虚拟机则需要创建出虚拟的硬件资源,将操作系统跑在这些硬件资源之上。
但是虚拟机的好处是它们提供完全隔离的环境,每个虚拟机运行在自己的linux内核上 ...