自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(68)
  • 资源 (2)
  • 论坛 (12)
  • 问答 (1)
  • 收藏
  • 关注

原创 k8s系列(一):kube-proxy代理方案

背景知识跨主机通信解决方案虚拟化网络NetfilterKube-proxy代理方案包转发路径userspace模式iptables模式ipvs模式BPF模式背景知识跨主机通信解决方案主机 A 上的实例(容器、VM 等)如何与主机 B上的另一个实例通信?有很多解决方案:直接路由:BGP 等隧道:VxLAN, IPIP, GRE 等NAT:例如 docker 的桥接网络模式其它方式虚拟化网络LAN缺点: 广播风暴假设图中的计算机A需要与B通信,必.

2021-09-15 09:39:42 42 2

原创 MySQL组复制(二):为何不推荐执行大事务

场景复现术语及函数介绍alive_tasksend_msgsender_task_send_msg结论解决方法写在最后❝最近在测试不同数据量下备份还原的功能,因此需要迁移大量数据到MGR集群中,但是迁移数据量大一点的情况经常报错中断,在网上搜索了很多都只是提了一下建议不要执行大事务就没了,官方文档则好一点提示可能因为内存分配及网络带宽引发问题。但由于要交差并且可以水一下日报周报我们不能只知其一不知其二对不对,还是得找出阻碍执行大事务的真正原因!❞场景复现这个错误几乎是必现的,往MGR集群迁移个几百

2021-07-17 15:54:16 63 1

原创 MySQL组复制(一):成员事务执行过程

文章目录1.本地事务控制模块1.1对本地事务控制的三个步骤向通信模块发送事务消息等待全局事务认证模块的认证结果认证结果处理2.成员间的通信模块2.1步骤2.2优化3.全局事务认证模块3.1检测内容3.2冲突处理对于本地事务:对于异地事务:4.异地事务执行模块5.事务流程总结根据事务处理过程中的不同处理步骤,组复制中事务分发器的功能划分为四部分:本地事务控制模块成员间的通信模块全局事务认证模块异地事务执行模块1.本地事务控制模块MySQL通过API向插件提供了事务执行过程中几个重要阶段的监

2021-07-16 20:48:37 38 1

原创 DeFi流动性挖矿实操

DeFi流动性挖矿实操文章目录DeFi流动性挖矿实操获取LP代币质押LP代币获取LP代币奖励取出LP代币提现跑路风险获取LP代币能提前购买交易对就提前购买,这样就可以直接质押,不能就按下面步骤走流动性提供者(LP)必须向流动性池中提供两种固定价值比例的资产。通常输入数量之后会自动计算需要多少才能配对,然后点击add liquidity增加流动性然后就会获取LP代币,即流动性提供商代币,然后可以将LP质押为什么需要质押呢,是因为这个LP其实就是一个证明,证明了你为pool中提供了货币,

2021-03-17 21:39:22 975

原创 go-zero基于prometheus的指标监控

基于prometheus的指标监控prometheus的架构prometheus的工作基本原理是通过HTTP协议周期性抓取被监控组件的状态,这样做的好处是任意组件只要提供HTTP接口就可以接入监控系统,不需要任何SDK或者其他的集成过程。这样做非常适合虚拟化环境比如VM或者DockerPrometheus 的整体架构以及生态系统组件如下图所示:从上面的架构图我们可以知道Prometheus Server通过注册中心/配置文件找到需要收集指标的目标Prometheus Server的工作

2020-11-15 18:54:40 560

原创 go-zero的链路追踪

文章目录链路追踪Trace 和 SpanSpan操作RPC Server端(HTTP Server类似)RPC Client端获取信息调用链监控全链路超时控制链路追踪Trace 和 Span在OpenTracing(基本是行业标准了~)中,一个重要的概念是“trace”,它表示从头到尾的一个请求的调用链,它的标识符是“traceID”。 一个“trace”包含有许多跨度(span),每个跨度捕获调用链内的一个工作单元,并由“spanId”标识。 每个跨度具有一个父跨度,并且一个“trace”的所有跨度

2020-11-13 23:37:28 251

原创 PlantUML与C4模型

文章目录背景plantUML流程图时序图外观文档链接C4模型与C4PlantUML概念布局Context上下文Container容器Component组件Code代码示例C4PlantUML引入样式写在最后背景在平常的学习工作生活中,我们都离不开画流程图、时序图、大耳朵图图等等(之前实习的时候领导让我在做一个需求之前画流程图给他们看,恰巧上课学的画图的一些规则我全都忘了,然后瞎选图形就直接往上面塞字????,虽然是完成任务了,但后来还是觉得应该把这些规则记起来)。通过流程图和时序图,可以让我们更好的梳

2020-11-04 23:30:02 850

原创 MySql面试笔记

文章目录MySql索引的分类B树与B+树B树B+树面试常见问题四大特性隔离级别快照读和当前读MVCCbinlogredologundolog锁锁的粒度乐观锁悲观锁锁的分类共享锁排他锁行锁间隙锁表锁死锁面试常见问题分析分析行锁定MySql索引的分类1️⃣从存储结构上来划分:BTree索引(B-Tree索引或B+Tree索引),Hash索引,Full-Index全文索引,R-Tree索引2️⃣从应用层次来分:普通索引,唯一索引,复合索引3️⃣根据数据的物理顺序与键值的逻辑顺序关系:聚集索引,非聚集索引

2020-07-29 09:58:06 108

原创 go map介绍

整体图Golang中的map底层实现是一个哈希表,一个哈希表里可以有多个哈希表结点,也就是bucket。在这个散列表中,主要使用的结构体有两个,一个是hmap一个是bmaphmap结构体type hmap struct { count int //当前保存元素个数 ... B uint8 //buckets 的对数 log_2 ... buckets unsafe.Pointer //bucket数组指针,数组的大小为2^B}bucket的结构体type bmap str

2020-07-25 21:20:38 122

原创 理财基础小知识

感觉无论怎样还是应该学一点理财的知识的,不能总是靠运气去买,总是这样的话还是会靠实力亏回去。。。所以记录了一下这些基础的部分目录文章目录目录一、基金类别1.根据基金投资对象划分2.根据基金投资策略划分3.根据基金投资地域划分4.根据基金交易场所划分二、风险1.风险排序2.股票型基金风险排序三、股票型基金划分2.1指数型基金划分2.1.1 根据资产类别划分2.1.2 根据指数的代表性来划分2.1.3 根据交易方式类分类四、常见单位1. 万份收益率2. 年化收益率3. 单位净值4. 累计净值一、基金类.

2020-06-20 21:47:45 451

原创 go设置函数默认参数(函数选项模式)

在日常开发中,我们有时候需要使用默认设置,但有时候需要提供自定义设置 结构体/类,在Java我们可以使用无参、有参构造函数来实现,在PHP中我们也可以使用构造函数来实现(如 public function __construct($isCName = false, $securityToken = NULL, $requestProxy = NULL))。但在golang中无法这样做,不过我们可以使用另外一种方式优雅的实现。1.举例在这之前,我们在golang中大多是使用以下方式来实现的:typ.

2020-05-28 22:59:08 5026

原创 go 基于DFA算法的敏感词过滤包

package sensitiveimport ( "bufio" "io/ioutil" "os" "path/filepath" "strings" "sync")type MATCHTYPE intconst ( ALL MATCHTYPE = iota SINGLE INVALID_WORDS = " ,~,!,@,#,$,%,^,&,*,(,),_,-,+,=,?,<,>,.,—,,,。,/,\\,|,《,》,?,;,:,:

2020-05-19 15:58:38 381 2

原创 go 反射 思维导图

之前对reflect的总结

2020-05-16 21:41:54 127

原创 go gin的多文件(图片)上传

先上图代码// Form is a parsed multipart form.// Its File parts are stored either in memory or on disk,// and are accessible via the *FileHeader's Open method.// Its Value parts are stored as strin...

2020-04-12 12:31:34 911

原创 使用grpc client pool复用连接

前言前面使用了grpc进行客户端和服务端之间的数据传输。客户端每次使用前都需要先Dial,使用完之后直接就Close掉了,下一次请求进来又重新Dial,这样资源消耗十分严重,于是将rfyiamcool写的连接池改了一点点,实现连接的复用先上对比go test -bench=. -run=nonegoos: linuxgoarch: amd64pkg: clientBenchma...

2020-04-03 14:40:40 1448

原创 go的强制类型转换

go因为是强类型语言,所以没有隐式类型转换例如"zifu" + 1这种会直接报错;只有显示类型转换,有两种方式:①类型断言:x.(T) 检查x的动态类型是否是T,其中x必须是接口类型的值,会返回两个值,第一个是对应类型的值,第二个是bool类型,通过它来判断是否转换正确(如果相同则返回断言成功的类型值,不相同则返回断言类型的默认值)var a interface{}a = "zifu"re...

2020-04-01 18:07:31 1438

原创 go grpc安装与使用

1.安装1. 安装protoc编译器它可以把我们编写的 .proto文件编译成不同语言的代码下载wget https://github.com/protocolbuffers/protobuf/releases/download/v3.11.4/protoc-3.11.4-linux-x86_64.zip解压unzip protoc-3.11.4-linux-x86_64.zip...

2020-03-31 16:52:01 322

原创 goland 结合 delve远程 debug go程序
原力计划

1.原因有时候项目在服务器中存在很多依赖,有些依赖可能因为种种原因只能运行在linux环境中,又或者依赖的包太多,总之不方便在本地运行项目,那么只能够通过远程调试了。2.安装delve服务器上运行该命令安装 delve[Luther@server ~]#go get -u github.com/go-delve/delve/cmd/dlv3.编译项目记得一定要加上 -gcfl...

2020-03-29 13:10:26 888

原创 go简单实现fan out/worker模式

func pool(wg *sync.WaitGroup, workers int, jobs []int) { //设置工作台 deskCh := chan int //告诉工人让他们去这个工作台取任务 for i := 0; i < workers; i++ { go worker(wg, deskCh) } //向工作台发布任务 for _, job := r...

2020-03-27 12:07:02 111

原创 go在多平台登陆中使用策略模式

目录结构─project │ main.go │ ├─controller │ │ UserController.go │ │ │ └─strategy │ LoginStrategy.go │具体代码controller/strategy/LoginStrategy.go//定义登陆策略需要实现...

2020-03-26 21:05:40 78

原创 Mqtt协议——cleansession、retain、will、Shared Subscription

前言之前在练车的期间无聊就看了一些关于Mqtt协议的文章,看完了没有去做笔记,就忘了很多。最近刚好在做相关的东西,需要用到,就顺便记下来了。正文cleansession在客户端连接服务端时设置。值为:true/false作用:服务器必须在客户端断开之后继续存储/保持客户端的订阅状态,包括以下状态存储订阅的消息Qos1和Qos2消息,当客户端重新订阅时发送服务端正在发送消息给客...

2020-03-15 00:39:15 2139

原创 laravel的服务容器(药箱)、服务提供者(小盒子)、Facades(更方便用药)

服务容器(药箱)就是这个$app绑定(放药)$app->bind('Apple', function(){ return 一个对象;})解析(取药)resolve('Apple'); //返回一个上面设定好的对象$this->app->make('HelpSpot\API');app()->make('HelpSpot\API');app('He...

2020-03-03 19:44:58 127

原创 uniapp app端和微信小程序端使用微信登陆以及获取用户信息

前言最近在用uniapp,因为可以多端兼容,所以就入坑了擦app端和微信小程序端使用uni.login()app端调用uni.login返回的数据:微信小程序端调用uni.login后返回的数据:可以看到里面都有code共同点它们都会返回 code不同点在app端拿到的这个code,去请求后端接口,后端用这个code去请求微信接口换取openid, session_ke...

2020-03-01 22:08:57 3674 1

原创 DHT11模块监测家中温湿度并通过微信公众号获取数据

前言之前没怎么接触过物联网硬件设备,最近由于疫情在家挺闲的,又看到了一些相关的视频,挺感兴趣的,就来尝试尝试准备硬件ESP826601s以及其搭配的固件烧写器 、DHT11 温湿度传感器开发平台Arduino IDE 、dweet 、 微信公众号开发平台开发语言c++ 、 phpc++所需库DHT.h 、 dweetESP8266.h 需要在github上...

2020-02-14 01:08:00 432

原创 C# 使用SqlBulkCopy 复制数据到含自增列的表时的问题

问题在批量导入.csv文件数据到数据库表的时候,由于表包含了一列自增列,所以csv文件中则没有添加这一列,所以在导入的时候遇到了些问题。(其实没什么问题,是程序报错看错了,白白搞了很久 TAT)解决方案一、设置映射DataTable myDataTable = ioec.getDataTable(filePath, fileName);SqlBulkCopy sqlBulkCopy = ...

2020-02-02 12:12:42 982

原创 c# enity framework的一些坑

c# enity framework从数据库更新模型的坑想把数据库新建的表更新到模型中,结果死活导不进去,明明存在这个表了。。后来对比了前面导入成功的表的字段设计,发现都有一个主键,于是突然想起来:数据库第二范式规定:一是表必须有一个主键;二是没有包含在主键中的列必须完全依赖于主键,而不能只依赖于主键的一部分。直接加个主键啪,导入成功。。。。...

2019-11-30 00:26:54 107

原创 rabbitmq ack与nack导致的队列消息堵塞以及死循环问题

ack机制ack分为自动ack和手动ack两种如果是自动ack,有两个弊端:MQ broker只需要确认消息发送成功,无需等待应答就会丢弃消息,这样导致如果消费者客户端还未处理完消息,出现异常或者断电时消息丢失的后果。自动ack没有qos控制,可能消费者客户端因为瞬间收到太多消息导致服务挂掉所以,常用的是手动ack应答手动ack一般手动ack处理业务的逻辑如下:try { ...

2019-11-24 13:52:55 2118

原创 RabbitMQ的流控机制

RabbitMQ的流控机制消息发布RabbitMQ是使用Erlang语言实现的,其中进程之间的通信是通过send发送消息来完成的。当一个RabbitMQ实例运行时,就有数百个erlang进程交换消息来相互通信。例如,我们有一个reader进程从网络读取AMQP帧。这些帧被转换成AMQP命令,并被转发到AMQP的channel进程。这个channel进程需要向特定的exchange询问这个消息...

2019-11-23 15:54:28 578

原创 composer安装php-amqplib

前言原本是想RabbitMQ运行在ECS上,然后client运行在windows本地上的,后来在windows上安装php-amqplib时,一直提示:The “https://mirrors.aliyun,com/composer/packages.json” file could not be downloaded: php_network_getaddresses: getaddri...

2019-11-11 15:15:01 1985

原创 ssh访问手机Termux

打开Xshell这类软件,点击工具-》新建用户密钥生成向导,然后疯狂下一步,知道这个界面输入密码(记住这个密码),然后点击下一步,出现该画面将该段公钥复制下来,点击完成,然后用QQ或者微信什么的把这段东西发送给自己,然后手机打开,复制下来。手机打开Termux,进入到home目录,再进入.ssh$ cd ~$ pwd/data/data/com.termux/files/hom...

2019-10-25 22:39:19 941

原创 go 变量及作用域

图中1,2,4的地址一样x:=1 相当于先声明变量x,然后赋值1;x,err=f(1)相当于赋值所以地址一致x,err1:=f(4) 没报重复声明的错误是因为后面有了个新的 err1,这样编译器就会认为重新声明的是后面的变量err1,前面的x只是赋值而已,所以地址也会一致3,5的地址不一样3 的 xx,err:=f(3)相当于声明并赋值了一个新的变量xx,地址自然会变;5 的地...

2019-10-23 21:56:31 55

原创 golang JWT包 token验证

介绍JWT:json web token,是一种规范由三部分组成Header 头部PayLoad 有效载荷Signature 签名使用 . 来连接上面的3部分“Token” : Header+"."+PayLoad+"."+SignatureHeaderHeader的作用是用来表明签名所使用的加密算法{ "typ":"JWT", "alg":"HS256"l...

2019-10-15 20:59:59 3157 5

原创 解决vscode编写go代码时提示过慢(gopls)

前言之前用的vscode的自动代码提示,发现太慢了,隔3,4秒才会出提示,所以换为Google推荐的 gopls来代替。过程方案一打开 VS Code 的setting, 搜索 go.useLanguageServe, 并勾选上.默认情况下, 会提示叫你reload,重新打开之后,右下角会自动弹出下载的框框,点击 install即可。如果下载时间过长,不成功,可以看方案二方案二直接...

2019-10-13 18:21:00 16699 9

转载 MySQL可以通过field()函数自定义排序

转载自:https://blog.csdn.net/lxz3000/article/details/6173873MySQL可以通过...

2019-10-12 12:05:11 59

原创 git屏蔽某个文件夹, add某个文件夹下的改动,并push到远程分支

文件目录结构|-- \033|-- app|-- artisan|-- bootstrap|-- \033c|-- composer.json|-- composer.lock|-- config|-- database|-- package.json|-- phpunit.xml|-- public|-- readme.md|-- resources|-- rout...

2019-10-02 14:09:54 703

原创 go.mod方式下gopm get安装成功,import之后还是报错的解决办法

版本go 1.13过程一开始直接go go get gopkg.in/gomail.v2时提示:go get gopkg.in/gomail.v2: module gopkg.in/gomail.v2: Get https://proxy.golang.org/gopkg.in/gomail.v2/@v/list: dial tcp 216.58.200.49:443: conne...

2019-09-22 17:31:18 1917

原创 go mod方式下载Beego以及Bee(windows和linux都差不多)

创建项目文件夹mkdir go_project cd go_project初始化项目并替换Bee源为什么要替换呢?下面是作者的原话you’ll need to clone it over the original repo (that is best anyways, so you don’t have to refactor any code when this gets rele...

2019-09-20 09:43:31 8117 16

原创 go package、import、go.mod 理解 以及 私有包引入

ds

2019-09-06 00:42:10 6781 2

原创 Windows安装Go、VScode GO配置 以及gopm包下载

转自Go中文社区https://studygolang.com/articles/20219

2019-09-05 00:33:08 619

原创 Centos crond定时监测MYSQL并自动重启服务

学生机的配置有点低,在上面部署了一些项目,并发量大一点MYSQL很容易就被 kill掉了,所以写一个自动监测的脚本,挂了之后就自动 启动 MYSQL服务过程新建目录,日志及脚本cd /homemkdir checktouch mysql.logtouch restart_mysql.shchmod 700 mysql.log restart_mysql.sh编写脚本...

2019-09-01 11:42:05 454

json2.js json.parse json未定义 的解决方案!

json2.js json.parse json未定义 的解决方案!

2019-03-25

wox+everyhting安装就可以用了

wox和everything,下载之后安装,重启一下wox就可以用了

2019-04-21

微信引入mqtt.js库一直提示VM42 WAService.js:1 Uncaught TypeError: s is not a constructor

发表于 2020-03-13 最后回复 2020-03-13

SqlBulkCopy插入带有自增列的表时,提示:列“id”不允许 DBNull.Value

发表于 2020-02-01 最后回复 2020-02-01

centos crond执行shell无反应

发表于 2019-08-31 最后回复 2020-02-01

php redis 有序集合的返回值被覆盖的问题

发表于 2019-05-25 最后回复 2019-09-03

请问有词频统计及其可视化 C#+jieba.net+wordcloud的例子吗,寻遍全网好像都没有。。

发表于 2019-03-11 最后回复 2019-09-02

C#怎么生成词云啊,没看到一个方法

发表于 2019-03-10 最后回复 2019-09-02

nginx禁止访问某个目录下特定文件,怎样使都还是可以访问

发表于 2019-06-26 最后回复 2019-08-01

php redis拓展和redis程序版本不一样也能用?

发表于 2019-06-24 最后回复 2019-06-24

C#Bitmap保存一直提示GDI中发生一般性错误

发表于 2019-03-13 最后回复 2019-04-22

C# jieba.net 一直提示类型初始值设定项引发异常

发表于 2019-04-20 最后回复 2019-04-20

这个是怎么回事???是BUG吗

发表于 2019-03-10 最后回复 2019-03-12

TA创建的收藏夹 TA关注的收藏夹

TA关注的人 TA的粉丝

提示
确定要删除当前文章?
取消 删除