mysql使用笔记
Explain
Extra 内容解释
类型
说明
Using filesort
MySQL 有两种方式可以生成有序的结果:通过排序操作或者使用索引。当 Extra 中出现了 Using filesort 说明使用了前者,但注意虽然 filesort 但并不是一定就是用了磁盘文件来进行排序,也可能是在内存里完成的。当出现排序,可以通过添加合适的索引来改进性能,用索引来为查询结果排序。
Using temporary
用临时表保存中间结果,常用于 GROUP BY 操作中,一般看到它说明查询需要优化了。
Using index
使用索引覆盖的情况
Using index condition
发生索引条件下推(Index Condition Pushdown)的情况
Using where
全表扫描的时候,MySQL 服务层应用 where 条件过滤数据;使用索引访问数据,但是 where 子句中有除了改索引包含的字段之外的条件
Using join buffer
当关联查询使用 Block Nested Loop 算法或者 Batched Key Acce ...
资源
Application
Typora旧版本(免费)
Typora 最后一个免费版本是 0.11.18(Windows、macOS、Linux 系统通用) 。在这个版本之后,Typora 从免费软件转变为采用订阅制的付费软件。
mac:https://typora.cn.uptodown.com/mac/versions
win:https://typora.cn.uptodown.com/windows/versions
Charles
抓包工具
www.charlesproxy.com/
https://juejin.cn/post/6844904182588112904
推荐阅读:https://www.cnblogs.com/Uni-Hoang/p/13796852.html
配置https:https://blog.csdn.net/jdsjlzx/article/details/95970917 (没有配置,抓到加密数据看不了啊)
破解:https://www.cnblogs.com/hahaniuer/p/17915980.html
内网穿透
内网穿透是一种将内网 ...
技术摘抄
systemd
systemd.unit 中文手册 https://www.jinbuguo.com/systemd/systemd.unit.html#
grafana
视频:https://www.bilibili.com/video/BV1Yv4y1W7tF/?vd_source=eca8bef44f4d5efc79f226fa688a5064
echart官方case:https://echarts.volkovlabs.io/dashboards
插件链接:https://grafana.org.cn/grafana/plugins/volkovlabs-echarts-panel/ (数据源)
jenkins
https://devtest-notes.readthedocs.io/zh/latest/CI/continuous-integration-for-jenkins-api-2.html
confluence
API:https://docs.atlassian.com/ConfluenceServer/rest/6.9.1/
个人访问令牌使用方式:
...
plantUML
B站:https://www.bilibili.com/video/BV1wb4y1d7XP?t=3.7
Gitee: https://gitee.com/lastinglate/PlantUML-Samples
官网—中文文档:https://plantuml.com/zh/
流程图
> 设置节点背景填充颜色
1234skinparam activity { BackgroundColor #fff BorderColor #000}
case:
12345678910111213141516171819202122232425@startuml xxxskinparam activity { BackgroundColor #fff BorderColor #000}start:输入数据集、k_max、k_min、H_T、m、i、采样比例;while (i < m) is (Y) :求最小信息熵及对应k值; if (最小信息熵 < H_T) then (Y) :KNN分类 ...
jwt - go
摘抄:https://learnku.com/go/t/52399
身份验证使应用程序知道向应用程序发送请求的人是谁。JSON Web 令牌(JWT)是一种允许身份验证的方法,而无需在系统本身实际存储任何有关用户的任何信息(与基于会话的身份验证相反 )。
在本文中,我们将演示基于 JWT 的身份验证的工作原理,以及如何在 Go 中构建示例应用程序以实现该示例。
如果你已经知道 JWT 的工作原理,并且只想看一下实现,则可以 跳过,或者在 Github 上查看源代码 。
JWT 格式
假设我们有一个名为的用户 user1,他们尝试登录到应用程序或网站。一旦成功,他们将收到一个看起来像这样的令牌:
1eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJ1c2VybmFtZSI6InVzZXIxIiwiZXhwIjoxNTQ3OTc0MDgyfQ.2Ye5_w1z3zpD4dSGdRp3s98ZipCNQqmsHRB9vioOx54
这是一个 JWT,由三部分组成(以分隔.):
第一部分是标题 header(eyJhbGciOiJIUzI1NiIsInR5c ...
设计模式(golang)
摘抄:https://github.com/mohuishou/go-design-pattern
课程:极客时间《设计模式之美》
pending…
connection pool
一次 HttpClient 连接池设置不当,引发服务雪崩
gRPC 客户端调用服务端需要连接池吗?
Go 语言使用 grpc 时,是否需要 grpc 连接池?
linux日常笔记
BSD & System V 风格
BSD(Berkeley Software Distribution)和 System V 都是 Unix 操作系统的重要分支和变体,它们在 Unix 的发展历程中有着重要地位,在系统架构、功能特性和应用场景等方面存在一定差异,以下是具体介绍:
BSD
起源与发展:BSD 起源于 20 世纪 70 年代末的加州大学伯克利分校。它是在 AT&T 的 Unix 基础上进行开发的,添加了许多新的特性和功能。在发展过程中,产生了如 FreeBSD、NetBSD、OpenBSD 等多个衍生版本,这些版本在服务器、嵌入式系统等领域都有广泛应用。
特点
网络功能强大:BSD 在网络方面的支持非常出色,它率先实现了许多重要的网络协议和功能,如 TCP/IP 协议栈的完善和优化,为现代网络通信奠定了基础。像 FreeBSD 就因其强大的网络性能,常被用于构建网络服务器和防火墙等设备。
开源与社区活跃:BSD 及其衍生版本大多采用开源的方式发布,拥有活跃的社区。社区成员积极参与开发和维护,不断为系统添加新功能、修复漏洞,使其技术不断更新和进步。
可移 ...
golang并发编程
摘抄自极客时间课程
go并发编程实战课:https://b.geekbang.org/member/course/intro/100061801
检查程序的工具:
race detector
vet工具
一、开篇词
学习 Go 并发编程,有哪些困难? 那学习 Go 并发会有哪些困难呢?
主要总结为 5 大问题。
在面对并发难题时,感觉无从下手,不知道该用什么并发原语来解决问题。
如果多个并发原语都可以解决问题,那么,究竟哪个是最优解呢?比如说是用互斥锁,还是用 Channel。
不知道如何编排并发任务。并发编程不像是传统的串行编程,程序的运行存在着很大的不确定性。这个时候,就会面临一个问题,怎么才能让相应的任务按照你设想的流程运行呢?
有时候,按照正常理解的并发方式去实现的程序,结果莫名其妙就 panic 或者死锁了,排查起来非常困难。
已知的并发原语都不能解决并发问题,程序写起来异常复杂,而且代码混乱,容易出错。
怎么提升 Go 并发编程能力?
学习这件事儿,最怕的就是不成体系,即使知识点之间是彼此独立的,也必定存在着联系。我们要做的,就是找出逻辑关系,拎出知识线。关于 ...
Prometheus
B站视频
Prometheus 是一个生态。
1. 概述
Prometheus Server,主要用于抓取数据和存储时序数据,另外还提供查询和 Alert Rule 配置管理。
client libraries,用于检测应用程序代码的客户端库。
push gateway,用于批量,短期的监控数据的汇总节点,主要用于业务数据汇报等。
exporters,收集监控样本数据,并以标准格式向Prometheus 提供。例如:收集服务器系统数据的node_exporter,收集MySQL监控样本数据的是MySQL exporter 等等。
alertmanager,用于告警通知管理。
Pushgateway 是Prometheus 生态中一个重要工具,使用它的原因主要是:
Prometheus 采用pull模式,可能由于不在一个子网或者防火墙原因,导致Prometheus 无法直接拉取各个target 数据。
在监控业务数据的时候,需要将不同数据汇总,由Prometheus 统一收集。
当exporter不能满足需要时,也可以通过自定义(python、shell、java)监控我们想要 ...