DevOps Roadmap 第二章《理解不同操作系统的概念》
Please do not throw sausage pizza away.
Networking 计算机网络Computer networking refers to interconnected computing devices that can exchange data and share resources with each other. These networked devices use a system of rules, called communications protocols, to transmit information over physical or wireless technologies.
计算机网络是指可以相互连接并交换数据以及共享资源的计算设备。这些网络设备使用一套被称为通信协议的规则系统,在物理或无线技术上传输信息。
Begin by studying the OSI Model. This model will assist in constructing an understanding of the linked top ...
DevOps Roadmap 第一章《Go基础》
gopher [ˈɡoʊfər] n. 囊地鼠(产自北美的一种地鼠)
命令
go mod init example.com/greetings:初始化项目 ,会生成go.mod,标明你使用的go version
go run main.go:运行main.go
go build main.go:打包(windows打包为linux可执行文件)
12$Env:GOARCH="amd64";$Env:GOOS="linux"go build main.go
数据类型声明方式
声明一个变量1var i = 1
声明多个变量1234var ( i string = "10" j int = 20)
省略类型声明1234var ( i = "10" j = 20)
省略var(常用)
12i := "10"j := 20
基础数据类型整形
有符号整型(负数、0和正数):如 int(可能是 32bit,也可能是 64bit,和硬件设备 CPU 有关)、int8、 ...
SpringBoot + WebSocket (token) + Vue 代码
SpringBoot都是绿色的
前言由于网上各式各样的 WebSocket 代码都太旧了,前端后端代码的坑又特别多,所以总结了一套自己常用的 WebSocket 代码,这个代码仅针对单体应用
背景前端需要与后端建立一个长连接,用于传递新用户订阅的通知,并实时发送给前端的所有用户。传统的代码能用,但却面临以下痛点:
如何校验连接的安全性
如何防止连接断开
对于 如何校验连接的安全性 ,网上许多拆东墙补西墙的方法,是在 URL 做手脚,也就是将 token 以 ws://xx.xx.xx.xx:8080/application/{userId}?token={token} 这样的形式发送给后端,后端通过获取请求行中的内容,得到 token,再进行验证操作。
但有一天我通过 goaccess 分析 Nginx 日志,一下子就看到了许多用户的 ws 请求,上面的 token 写的可真是一清二楚,这对于生产环境来说,太危险了,如果有人得到了这份日志,就可以匿名做任何事情。
如果不在 URL 做手脚,但 WebSocket 又不支持请求体存放内容 ...
Hexo butterfly 常用的标签
提示类info
success
primary
warning
danger
12345678910111213141516171819{% note info icon %}info{% endnote %}{% note success icon %}success {% endnote %}{% note primary icon %}primary {% endnote %}{% note warning icon %}warning {% endnote %}{% note danger icon %}warning {% endnote %}
隐藏类下拉式隐藏这是一个彩蛋
123{% hideToggle 【选读/点击查看】,bg,color %}这是一个彩蛋{% endhideToggle %}
...
2023 Ubuntu Server + K3s + Rancher
环境声明
系统
配置
节点
部署
Ubuntu-Server(20.04)
2c4g
root@m1(192.168.1.150)
k3s(v1.24.6+k3n1) server + rancher(2.7.1)+ Helm(3.10.3)
Ubuntu-Server(20.04)
1c2g
root@n1(192.168.1.151)
k3s(v1.24.6+k3n1) agent + Helm(3.10.3)
【选读/点击查看/Ubuntu-Server安装和配置】安装 Ubuntu-Server下载地址:Get Ubuntu Server | Download | Ubuntu
语言:English
是否更新:Continue without updating
键盘选中文
自定义网卡
12345Subnet: 子网掩码 192.168.1.0/24Address: ip地址 192.168.1.150GateWay: 网关 192.168.1.1Name servers: DNS 223.5.5.5Search domain ...
Leopold's Proust Questionnaire @2022
普鲁斯特问卷(Proust Questionnaire)由一系列问题组成,问题包括被提问者的生活、思想、价值观及人生经验等。因著作《追忆逝水年华》而闻名的马塞尔·普鲁斯特(Marcel Proust)并不是这份问卷的发明者,但这份问卷因为他特别的答案而出名,并在当年时髦的巴黎人沙龙中颇为流行。因此后人将这份问卷命名为“Proust Questionnaire”。——来源:百度百科
P.S. 所有问题摘自 https://thewritepractice.com/proust-questionnaire/
1. What is your idea of perfect happiness? (你认为最完美的快乐是怎样的?)
Leopold : 一个人安静的汲取知识、看待世界。
2. What is your greatest fear? (你最恐惧的是什么?)
Leopold : 我一事无成,宛如机器生活。
3. What is the trait you most deplore in yourself? (你自己的哪个特点让你感到痛恨?)
Leopold : t o o ...
ECK 安装文档
版本信息
CORE
VERSION
PORT
ORDER
OTHER
Elasticsearch
7.13.3
9200 9300
1
搜索引擎
Kibana
7.13.3
5601
2
数据可视化
Canal-Admin
1.1.15
8489 11110(Admin) 11111(tcp) 11112(metric)
3
Canal管理页面
Canal-Server
1.1.15
4
Canal数据同步,MySQL同步ES(1.1.16版本有bug,回调至低版本)
Prometheus
2.37.0
9090
5
采集
Grafana
9.0.4
3000
6
可视化
Node_exporter
1.3.1
9100
7
系统监控采集
P.S. 服务器为Linux,本文涉及到的ip地址请自行根据个人情况更改,所有组件部署全为单机部署,大部分为服务方式启动,本文仅简单记录部署过程,仅供参考,切勿完全照搬。
准备工作必备组件1yum -y install nano tar net-tools
JDK需要大于等于1.8版本
123 ...
MySQL优化
一只小海豚
索引的常见类型底层哈希表哈希表是一种以键 - 值(key-value)存储数据的结构,我们只要输入待查找的值即 key,就可以找到其对应的值即 Value。哈希的思路很简单,把值放在数组里,用一个哈希函数把 key 换算成一个确定的位置,然后把 value 放在数组的这个位置。如果计算后的哈希值相同,则以链表的形式存在。
但由于哈希表并不是顺序存储,因此哈希索引做区间查询的速度是很慢的,它更适用于等值查询,比如 Memcached 及其他一些 NoSQL 引擎。
有序数组有序数组在等值查询和范围查询场景中的性能就都非常优秀,但是,在需要更新数据的时候就麻烦了,你往中间插入一个记录就必须得挪动后面所有的记录,成本太高。所以,有序数组索引只适用于静态存储引擎。
二叉搜索树二叉搜索树的特点是:每个节点的左儿子小于父节点,父节点又小于右儿子。二叉树是搜索效率最高的,但是实际上大多数的数据库存储却并不使用二叉树。其原因是,索引不止存在内存中,还要写到磁盘上。
你可以想象一下一棵 100 万节点的平衡二叉树,树高 20。一次查询可能需要访问 20 个数据块。在机械硬盘时代,从磁盘 ...
Java分库分表
这个图标让我想起了火狐
Java分库分表概念对于分库分表的概念,建议查看这篇文章:[00 如何正确学习一款分库分表开源框架?.md (lianglianglee.com)](https://learn.lianglianglee.com/专栏/ShardingSphere 核心原理精讲-完/00 如何正确学习一款分库分表开源框架?.md),这篇文章大致讲述了分库分表的起源、原因以及各种解决方案。
本文主要讲述如何使用 ShardingSphere ,通过Java代码来分库分表,对于该组件的详细说明请参考概览 :: ShardingSphere (apache.org)。
引入Maven1234567891011121314151617<properties> <sharding-sphere.version>4.1.1</sharding-sphere.version> <shardingsphere.version>5.1.0</shardingsphere.version></properties& ...