【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、 ...
【Spring】SpringBoot对接WebSocket
SpringBoot都是绿色的
## 前言
由于网上各式各样的 WebSocket 代码都太旧了,前端后端代码的坑又特别多,所以总结了一套自己常用的 WebSocket 代码,这个代码仅针对单体应用
背景前端需要与后端建立一个长连接,用于传递新用户订阅的通知,并实时发送给前端的所有用户。传统的代码能用,但却面临以下痛点:
如何校验连接的安全性
如何防止连接断开
对于 如何校验连接的安全性 ,网上许多拆东墙补西墙的方法,是在 URL 做手脚,也就是将 token 以 ws://xx.xx.xx.xx:8080/application/{userId}?token={token} 这样的形式发送给后端,后端通过获取请求行中的内容,得到 token,再进行验证操作。
但有一天我通过 goaccess 分析 Nginx 日志,一下子就看到了许多用户的 ws 请求,上面的 token 写的可真是一清二楚,这对于生产环境来说,太危险了,如果有人得到了这份日志,就可以匿名做任何事情。
如果不在 URL 做手脚,但 WebSocket 又不支持请求体 ...
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 l a z y
...
【大数据】Elastic + canal + kibana 安装文档
版本信息
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分库分表实战之ShardingSphere
这个图标让我想起了火狐
## 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></propert ...
【博客】TinyPNG搭配GitHub Action实现自动压缩图床
起因在使用Typora搭配PicGo自动上传图片至GitHub图床时,图片是未被压缩的,导致博客在GitHub图床上获取图片的时间很长。因此想通过TinyPNG无损压缩图片,并通过GitHub Action自动压缩并替换原图,从而实现自动压缩并上传图片的功能。
项目地址 :https://github.com/leopold7/Learn_Tinify_Image_Action
步骤申请 Tinify API key申请地址:https://tinypng.com/developers
在你的邮箱中点击链接登录后,选择 Add API key,即可生成。
请记住此token
申请 GitHub Token在GItHub中点击头像,选择 Settings
选择Developer settings
选择 Personal access tokens -> Generate new token
按照下图勾选即可
请记住此token
配置yaml在GitHub项目中创建GitHub Action 所需的yaml配置文件,路径为 /.github/workflows/,文件名为 ...
【VPS】V2-ui转X-ui的升级与配置
前言自从在腾讯轻量云搭载V2-ui以来,稳定使用后就没再有过改动,由于最近入手了xbox,需要使用加速器,想到自身环境有利,便着手于对现有环境进行改造,发现V2-ui已经替换为X-ui。本文主要记录升级替换过程中遇到的问题,以及在nginx上的一些操作。
背景旧版使用的V2-ui采用HTTP域名访问的方式,共用443端口后,通过nginx进行分发到面板端口和地址。
系统采用的是CentOS。
开始更新及安装组件12yum update -y #CentOS 命令yum install -y curl #CentOS 命令
升级 X-ui1bash <(curl -Ls https://raw.githubusercontent.com/vaxilu/x-ui/master/install.sh)
启动 X-ui1x-ui
V2-ui ~ X-ui 数据迁移1x-ui v2-ui
仅迁移帐号,面板设置和用户名密码不会迁移。
停止V2-ui123456789101112131415161718192021222324252627282930[root@ ...