04 2022 档案
摘要:什么是protobuf# protocol buffers 是一种语言无关、平台无关、可扩展的序列化结构数据的方法,它可用于(数据)通信协议、数据存储等。是一种灵活,高效,自动化机制的结构数据序列化方法-可类比 XML,但是比 XML 更小(3 ~ 10倍)、更快(20 ~ 100倍)、更为简单。
阅读全文
摘要:概要 在调用第三方 API 的时候, 基本都有访问限速的限制条件. 第三方的 API 有多个的时候, 就不太好控制访问速度, 常常会导致 HTTP 429(Too Many Requests) 然后就会有一段时间的禁止访问. 为了应对这种限速的情况, 通过一个简单的请求队列来控制访问的速度, 之后基
阅读全文
摘要:查看所有api资源 kubectl api-resources kubectl get apiservice 在 K8s 中,创建资源有两种方式: 直接使用 kubectl run 命令创建 使用 kubectl create/apply 命令从 YAML 文件创建 在本文中,我将通过示例解释这两种
阅读全文
摘要:let str = `第一行, 第二行, 第三行, 第四行` let len = str.split('\n').length console.log(len) // 4
阅读全文
摘要:Gorm 预加载及输出处理(一)- 预加载应用 单条关联查询 先创建两个关联模型: // 用户模型 type User struct { gorm.Model Username string `gorm:"type:varchar(20);not null;unique"` Email string
阅读全文
摘要:一、计算属性(computed) 1、说明 当一些数据需要根据其它数据变化时,需要进行处理才能去展示,虽然vue提供了绑定数据表达式绑定的方式,但是设计它的初衷只是用于简单运算的。在模板中放入太多的逻辑会让模板过重且难以维护,对于一些比较复杂和特殊的计算有可能就捉襟见肘了,而且计算的属性写在模板里也
阅读全文
摘要:方法中用到了插件moment.js,使用day.js也是一样的。这两个时间工具超好用,不知道的快去了解一下,从此不需要new Date()。moment官网地址:http://momentjs.cn/day.js官网地址:https://dayjs.fenxianglu.cn/它们两个的用法基本是一
阅读全文
摘要:// 时间差计算 difference: function (row) { var dateBegin = new Date(row.beginTime); var dateEnd = new Date(row.endTime); var dateDiff = dateEnd.getTime() -
阅读全文
摘要:最近接触到微服务框架go-zero,翻看了整个框架代码,发现结构清晰、代码简洁,所以决定阅读源码学习下,本次阅读的源码位于core/syncx/singleflight.go。 在go-zero中SingleFlight的作用是:将并发请求合并成一个请求,以减少对下层服务的压力。 应用场景 查询缓存
阅读全文
摘要:结构体: type Device struct { ID int64 `gorm:"column:id" json:"id"` HardwareId string `gorm:"column:hardware_id" json:"hardwareId"` ModelId int64 `gorm:"c
阅读全文
摘要:迭代器变量上使用 goroutine 这算高频吧。 package mainimport ( "fmt" "sync")func main() { var wg sync.WaitGroup items := []int{1, 2, 3, 4, 5} for index, _ := range it
阅读全文
摘要:Maven(mvn)是基于项目对象模型(POM project object model),可以通过一小段描述信息(配置)来管理项目的构建,报告和文档的软件项目管理工具(百度百科) 简单理解为一个打包工具,其他的打包工具比如gradle也很火,常用于与jenkins等代码发布平台的联合代码发布 本文
阅读全文
摘要:欢迎来到 Golang 系列教程的第 32 篇。 package mainimport ( "fmt")func TestDefer() { defer func() { if err:=recover();err!=nil{ fmt.Println(err) //log.Println(err)
阅读全文
摘要:vue组件传值的方法:1、父向子传值使用props;2、子向父传值使用“$emit”;3、使用EventBus或Vuex进行兄弟传值;4、使用“provide/inject”或“$attrs/$listeners”方法进行跨级传值。 本教程操作环境:windows7系统、vue2.9.6版、Dell
阅读全文
摘要:到了 Linux 磁盘 I/O 的工作原理,我们了解到 Linux 存储系统 I/O 栈由文件系统层(file system layer)、通用块层( general block layer)和设备层(device layer)构成。 其中,通用块层是 Linux 磁盘 I/O 的核心。向上,它为访
阅读全文
摘要:https://open.oceanbase.com/softwareCenter/community
阅读全文
摘要:https://www.cnblogs.com/linuxk/p/9371475.html 一、备份单个数据库 1、备份命令:mysqldump MySQL数据库自带的一个很好用的备份命令。是逻辑备份,导出 的是SQL语句。也就是把数据从MySQL库中以逻辑的SQL语句的形式直接输出或生成备份的文件
阅读全文
摘要:package mainimport ( "encoding/json" "fmt" "log" "os")type YY struct { S string I float64}func main() { _=json.NewEncoder(os.Stdout).Encode(&YY{ S: "t
阅读全文
摘要:前言 最近在项目中用到连接查询,连接查询是关系数据中最主要的查询,包括内连接、外连接等。通过连接运算符可以实现多个表查询。下面来复习一下。 正文 连接查询主要分为三种:内连接、外连接、交叉连接。 内连接 使用比较运算符(包括=、>、<、<>、>=、<=、!> 和!<)进行表间的比较操作,查询与连接条
阅读全文
摘要:veleo备份原理 https://blog.csdn.net/weixin_42914965/article/details/106035429(ds安装minio) 本地 Velero 客户端发送备份指令。 Kubernetes 集群内就会创建一个 Backup 对象。 BackupContro
阅读全文
摘要:package mainimport "fmt"func main() { //var x,y,z = 1,2,3 var s []*int = []*int{new(int)} for i:=range s { fmt.Println(*s[i]) //s=nil会报错,空指针不可取值 = 0 }
阅读全文
摘要:在我的上一篇文章谈到了如何使用 tcpdump 和 wireshark,并带您了解了几个用例。今天我们来看看另一个常见的问题,如何缓解 DDoS(分布式拒绝服务)导致的性能下降。 什么是 DDoS? DDoS 的前身是 DoS(Denial of Service),即拒绝服务攻击,是指利用大量合理请
阅读全文
摘要:JavaScript变量字符串类型转为数值类型有一下方法4中法方法,下面我们一个介绍。 1. Number() 使用Number()方法实现转换,语法: 变量 = Number(变量); 案例: <script> var a = 1; var b = '100'; var c = 'abcd'; v
阅读全文
摘要:https://golang.iswbm.com/c02/c02_06.html 1. 对方法的调用限制 接口是一组固定的方法集,由于静态类型的限制,接口变量有时仅能调用其中特定的一些方法。 请看下面这段代码 package main import "fmt" type Phone interfac
阅读全文
摘要:type Student struct { Age int Name string} func (it *ServiceContext) AutoMigrate() { it.DB.AutoMigrate( &Student{}, )}// 数据库中照样会创建这张 student 表,并且该表 有
阅读全文
摘要:Promise Promise 是异步编程的一种解决方案,比传统的解决方案——回调函数和事件——更合理且更强大。它最早由社区提出并实现,ES6将其写进了语言标准,统一了用法,并原生提供了Promise对象。 特点 对象的状态不受外界影响 (3种状态) Pending状态(进行中) Fulfilled
阅读全文
摘要:(2)问:0.1 + 0.2 0.3 嘛?为什么? JavaScirpt 使用 Number 类型来表示数字(整数或浮点数),遵循 IEEE 754 标准,通过 64 位来表示一个数字(1 + 11 + 52) 1 符号位,0 表示正数,1 表示负数 s 11 指数位(e) 52 尾数,小数部分(即
阅读全文
摘要:应用情景: multipart/form-data类型主要是上传文件时用到;application/x-www-form-urlencoded类型主要是提交k-v时用到,当然这种方法也可以将json设置在v中提交json数据;application/json类型主要是传递json数据用到,层次比较深
阅读全文
摘要:https://blog.51cto.com/lhrbest/2695358
阅读全文
摘要:type SshFilterGroupQ struct { PaginationQ SshFilterGroup}//Allfunc (m SshFilterGroupQ) Search() (pagination PaginationQ, err error) { pagination = m.P
阅读全文
摘要:1)application/x-www-form-urlencoded 这应该是最常见的 POST 提交数据的方式了。浏览器的原生 <form> 表单,如果不设置 enctype 属性,那么最终就会以 application/x-www-form-urlencoded 方式提交数据。 <form a
阅读全文
摘要:文章目录 一、数据绑定: 1. 数据绑定介绍: 2. 数据绑定--Should bind: 2.1 ShouldBind: 2.2 ShouldBindWith 2.3 ShouldBindQuery等 2.4 ShouldBindUri:绑定 Uri: 3. 数据绑定--Must bind 3.1
阅读全文
摘要:1Node节点默认的 Pod 数量 Kubernetes Node节点每个默认允许最多创建110个Pod,有时可能会由于系统硬件的问题,从而需要控制Node节点的Pod的运行数量。 即:需要调整Node节点的最大可运行Pod数量。 一般来说,我们只需要在 kubelet 启动命令中增加 --max-
阅读全文
摘要:(一)form-data: 对应于http请求中的multipart/form-data。 它会将表单的数据处理为一条消息,以标签为单元,用分隔符分开。 既可以上传键值对,也可以上传文件。 Content-disposition,用来说明字段的一些信息。 当上传的 key 是文件时: Content
阅读全文
摘要:大家好,我是飞哥! Linux 中的 veth 是一对儿能互相连接、互相通信的虚拟网卡。通过使用它,我们可以让 Docker 容器和母机通信,或者是在两个 Docker 容器中进行交流。参见《轻松理解 Docker 网络虚拟化基础之 veth 设备!》。 不过在实际中,我们会想在一台物理机上我们虚拟
阅读全文
摘要:https://mp.weixin.qq.com/s?__biz=MjM5Njg5NDgwNA==&mid=2247484207&idx=1&sn=50ae06628062bcdd5b2aff044f34fa80&chksm=a6e3021491948b0287e4f856791e4d1880ddf
阅读全文
摘要:https://github.com/cookieY/Yearning/blob/ad6c04b2904bb4cdcb64f732ce088d072751074e/src/lib/toolbox.go#L237 package soar import ( "errors" "fmt" "github
阅读全文
摘要:我们在接口测试过程中,可能会用http协议,webservice协议,当然用的较多的还是http协议,webservice协议在此不做过多介绍,我们先了解一下http协议,然后重点介绍http请求与响应。http协议超文本传输协议(HTTP,HyperText Transfer Protocol)是
阅读全文
摘要:前言 这段时间面试官都挺忙的,频频出现在博客文章标题,虽然我不是特别想蹭热度,但是实在想不到好的标题了-。-,蹭蹭就蹭蹭 :) 事实上我在阿里面试的时候确实被问到了这个问题,HTTP、HTTPS、TCP/IP、Socket通信、三次握手四次挥手过程?当时虽然思路正确,可惜最终也并不算完全答对 结束后
阅读全文
摘要:先清楚一个概念http请求与tcp链接之间的关系,在客户端向服务端请求和返回的过程中,是需要去创建一个TCP connection,因为http是不存在链接这样一个概念的,它只有请求和响应这样一个概念,请求和响应都是一个数据包,中间要通过一个传输通道,这个传输通道就是在TCP里面创建了一个从客户端发
阅读全文
摘要:https://mp.weixin.qq.com/s/C8VDSeCH2x-9i1Zt67Eq_w 事情从一个健身教练说起吧。 李东,自称亚健康终结者,尝试使用互联网+的模式拓展自己的业务。在某款新开发的聊天软件琛琛上发布广告。 键盘说来就来。疯狂发送"李东",回车发送!,"亚健康终结者",再回车发
阅读全文
摘要:package mainimport ( "fmt" "strconv")func Demo() (s *[]string){ s = new([]string) // s = &[]string{} return s}func main() { var s interface{}= "test"
阅读全文
摘要:r:=gin.New() r.GET("/", func(c *gin.Context) { var cc SSHconfig if err:=c.BindJSON(&cc);err!=nil{ log.Println(err) } var ( //u model.CoreAccount p mod
阅读全文
摘要:json.stringify()的妙用,json.stringify()与json.parse()的区别 一、JSON.stringify()与JSON.parse()的区别 最近做项目,发现JSON.stringify()使用场景真的挺多,我们都知道JSON.stringify()的作用是将 Ja
阅读全文
摘要:多字段更新? 并发编程中,原子更新多个字段是常见的需求。 举个例子,有一个 struct Person 的结构体,里面有两个字段。我们先更新 Person.name,再更新 Person.age ,这是两个步骤,但我们必须保证原子性。 有童鞋可能奇怪了,为什么要保证原子性? 我们以一个示例程序开端,
阅读全文
摘要:这是Go单元测试从入门到放弃系列教程的第1篇,介绍了如何使用httptest和gock工具进行网络测试。 在上一篇《Go单元测试从入门到放弃—0.单元测试基础》中,我们介绍了Go语言编写单元测试的基础内容。 而实际工作中的业务场景往往会比较复杂,无论我们的代码是作为server端对外提供服务或者还是
阅读全文
摘要:import ( "database/sql/driver" "encoding/json" "github.com/sirupsen/logrus" "sshfortress/util")type HardwareInfo struct { Disk string `json:"hi_disk"`
阅读全文
摘要:{ "data-root": "/var/lib/docker", "exec-opts": ["native.cgroupdriver=systemd"], "registry-mirrors": [ "https://docker.mirrors.ustc.edu.cn", "http://hu
阅读全文
摘要:重启docker服务时,容器会全部退出,解决方法: 方法一:(单个服务)(推荐) 启动服务时加参数: docker run --restart=always 方法二: "live-restore":true (全局) docker-compose(单机版的容器编排工具) 和harbor(企业级镜像仓
阅读全文
摘要:Telegraf + InfluxDB + Grafana Telegraf:1.6.0 InfluxDB:1.5.2 Grafana:5.0.4 环境:Centos 7 安装 Telegraf $ wget https://dl.influxdata.com/telegraf/releases/t
阅读全文
摘要:1Docker 迁移存储目录 默认情况系统会将 Docker 容器存放在 /var/lib/docker 目录下 [问题起因] 今天通过监控系统,发现公司其中一台服务器的磁盘快慢,随即上去看了下,发现 /var/lib/docker 这个目录特别大。由上述原因,我们都知道,在 /var/lib/do
阅读全文
摘要:实践是检验真理的唯一标准,所以当我们遇到一个不确定的问题,直接写demo来验证,因为切片的特点,我们可以分多种情况来验证: 不指定索引,动态扩容并发向切片添加数据 func concurrentAppendSliceNotForceIndex() { sl := make([]int, 0) wg
阅读全文
摘要:nil 切片、空切片与零切片是切片的三种状态,nil 切片是指在声明时未做初始化的切片,不用分配内存空间,一般使用 var 创建。使用 make 创建的空切片需要分配内存空间,nil 切片与空切片的长度、容量都为 0 ,如果我们要创建长度容量为 0 的切片,官方推荐 nil 切片。零切片指初始值为类
阅读全文
摘要:1 简介 Kubernetes提供了两种资源限制的方式:ResourceQuota 和LimitRange。 其中ResourceQuota是针对namespace做的资源限制,而LimitRange是针对namespace中的每个组件做的资源限制。 奇妙的Linux世界 这里是 Linux 爱好者
阅读全文
摘要:https://blog.csdn.net/qq_50156012/article/details/123391854 目录一、TCP协议二、TCP原理1,确认应答机制2,超时重传机制3,连接管理机制4,滑动窗口5,流量控制6,拥塞控制7,延迟应答8,捎带应答9,粘包问题一、TCP协议TCP,即Tr
阅读全文
摘要:分享一波个人知识星球里面的部分内容,十个比较有用的系统架构拓扑。 分享部分知识星球内的符占位符占位符
阅读全文
摘要:ansible配置host文件 /usr/bin/ansible Newpwd -i /data/fs_playbook/inventory/springcloud.hosts -m copy -a "src=/usr/local/src/telegraf-1.14.4-1.x86_64.rpm d
阅读全文
摘要:要研究 Go 的定时器,那么肯定要从 time.Ticker 这个结构体入手。 先看一个官网的例子: func main() { ticker := time.NewTicker(time.Second) defer ticker.Stop() done := make(chan bool) go
阅读全文
摘要:mvn clean package -Dmaven.test.skip=true -U //更新包命令
阅读全文
摘要:在计算机内存昂贵,处理能力有限的美好旧时光里,用比较黑客范的位运算方式去处理信息是首选方式(某些情况下只能如此)。时至今日,直接使用位运算仍然是很多计算领域中不可或缺的部分,例如底层系统编程,图形处理,密码学等。 Go 编程语言支持以下按位运算符: & bitwise AND | bitwise O
阅读全文
摘要:对于当今的工程团队来说,太多的监视和警报疲劳是一个真正的问题。现在有很多开源和第三方工具可以解决这些问题。这听起来总是像是真的,而且很可能是真的。但是,如果我告诉你,我最喜欢的一个替代方案就在你面前,并且几乎可以立即从 Kubernetes API 访问,你会怎么做呢?我说的是 Kubernetes
阅读全文
摘要:掌握了Go语言的朋友们应该都知道,在Go的结构体类型声明里面,字段声明后可以跟一个可选的字符串标签。 type User struct { Name string `json:"name"`} 上面是一个标准的例子,Name字段声明中指定了标签json:"name" xml:"name" ,这个标签
阅读全文
摘要:之前咱们学习过原生的Go连接MYSQL的方法,使用Go自带的"database/sql"数据库连接api,"github.com/go-sql-driver/mysql"MYSQL驱动,通过比较原生的写法去写sql和处理事务。目前开源界也有很多封装好的orm操作框架,帮我们简省一些重复的操作,提高代
阅读全文