自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

强颜欢笑

cv大法

  • 博客(91)
  • 资源 (2)
  • 问答 (2)
  • 收藏
  • 关注

转载 从ES6到ES10的新特性万字大总结(值得收藏)

介绍ECMAScript是一种由Ecma国际(前身为欧洲计算机制造商协会)在标准ECMA-262中定义的脚本语言规范。这种语言在万维网上应用广泛,它往往被称为JavaScript或JScript,但实际上后两者是ECMA-262标准的实现和扩展。历史版本至发稿日为止有九个ECMA-262版本发表。其历史版本如下:1997年6月:第一版 1998年6月:修改格式,使其与ISO/IEC16262国际标准一样 1999年12月:强大的正则表达式,更好的词法作用域链处理,新的控制指令,异常.

2021-01-26 09:58:30 649

转载 基于Redis的Stream类型的完美消息队列解决方案

1 概述2 追加新消息,XADD,生产消息3 从消息队列中获取消息,XREAD,消费消息4 消息ID说明5 消费者组模式,consumer group6 Pending 等待列表7 消息转移8 坏消息问题,Dead Letter,死信问题9 信息监控,XINFO10 命令一览11 Stream数据结构,RadixTree,基数树12 相关产品1 概述Redis5.0带来了Stream类型。从字面上看是流类型,但其实从功能上看,应该是Redis对消息队列(MQ,Message Qu

2020-11-19 17:16:55 635

转载 图解phpstorm常用快捷键

CTRL+N 查找类CTRL+SHIFT+N 全局搜索文件 ,优先文件名匹配的文件CTRL+SHIFT+ALT+N 查找php类名/变量名 ,js方法名/变量名, css 选择器CIRL+B 找变量的来源,跳到变量申明处 (CTRL+ 鼠标单击 也可以)CTRL+ALT+B 找到继承该接口或者父级 的所有子类, 统计所有子类个数CTRL+SHIFT+B 找变量的类 (不太懂欢迎评价)CTRL+G 定位行,跳转行CTRL+F 在当前窗口查找文本.

2020-11-14 13:14:53 459

原创 mongodb for go driver

还是给自己看,单纯记录/*@Time : 2020/9/2 14:37@Author : xd@File : main@Software: GoLand*/package mainimport ( "context" "go.mongodb.org/mongo-driver/bson" "go.mongodb.org/mongo-driver/bson/primitive" "go.mongodb.org/mongo-driver/mongo" "go.mongodb.org/.

2020-09-02 16:40:20 280

原创 最简单mqtt协议客户端实现

懒得写介绍了,直接放代码,给自己看的!/*@Time : 2020/8/24 13:48@Author : xd@File : main.go@Software: GoLand*/package mainimport ( "fmt" MQTT "github.com/eclipse/paho.mqtt.golang" "github.com/gogf/gf/os/glog" "github.com/gogf/gf/os/gtime" "time")func main()

2020-08-25 09:39:28 798

转载 mysql索引篇之覆盖索引、联合索引、索引下推

覆盖索引在之前《mysql索引初识》这篇文章中提到过,mysql的innodb引擎通过搜索树方式实现索引,索引类型分为主键索引和二级索引(非主键索引),主键索引树中,叶子结点保存着主键即对应行的全部数据;而二级索引树中,叶子结点保存着索引值和主键值,当使用二级索引进行查询时,需要进行回表操作。假如我们现在有如下表结构CREATE TABLE `user_table` ( `id` int(11) unsigned NOT NULL AUTO_INCREMENT, `username`.

2020-08-07 16:39:21 325

原创 安装MetaMask的谷歌浏览器扩展

废话不多说直接上下载地址因为无法翻墙,各种下载不到,最后在github上找到了,完美下载地址下载完成之后进行解压打开浏览器地址栏输入 chrome://extensions/然后选择以下选项,选择到刚才解压后的目录,即完成安装...

2020-07-03 10:52:28 9814 3

原创 phpstorm在Windows平台开启xdebug打断点教程

第一步安装xdebug图片中有两个xdebug不要被误导,第二个是我下载得来的,xdebug下载地址修改php.ini主要修改zend_extension的地址,其他的可以选用我的默认配置[Xdebug]zend_extension="D:\phpstudy_pro\Extensions\php\php7.3.4nts\ext/php_xdebug.dll"xdebug.profiler_enable=onxdebug.auto_trace=onxdebug.collect_params

2020-07-02 12:05:50 214

原创 超轻量级golang的Goroutine池

本文是阅读GoFrame内grpool包的理解大致理解// 这是个Goroutine的 pooltype Pool struct { limit int //池子中最大数量 count *gtype.Int // 当前运行的任务计数器,并发安全,郭大nb list *glist.List //异步工作的队列 closed *gtype.Bool // 是否关闭的状态}两种工作方式,一种是链式操作,另一种非链式操作,这里只讲链式操作第一步初始化一个池子,可.

2020-07-01 15:58:59 750

原创 奇怪的知识增加

golang中的常亮不会存在精度丢失,但是当你赋值给一个变量时候可能会发生精度丢失,改天丰富为什么

2020-06-29 22:21:28 198

原创 goKit微服务系列文章二:增加log中间件

再系列文章一的基础上 增加 loggings.go文件/*@Time : 2020/6/22 14:04@Author : zhb@File : loggings@Software: GoLand*/package mainimport ( "github.com/go-kit/kit/log" "time")type loggingMiddleware struct { Server logger log.Logger}//日志功能的中间件结构体func Logg

2020-06-22 15:34:44 836

原创 goKit微服务系列文章一:http rest

本文主要为个人记录,首先实现的是一个简单的基于HTTP的微服务实例,将以REST形式对外暴露,具体要求如下:使用gokit构建REST接口;URL格式为:/calculate/{type}/{a}/{b},请求方法为POST;server.go 文件/*@Time : 2020/6/20 10:20@Author : zhb@File : server@Software: GoLand*/package mainimport "errors"type Server inte.

2020-06-20 13:03:44 424

原创 git在命令行上创建新的存储库

echo "# rpcDemo" >> README.mdgit initgit add README.mdgit commit -m "first commit"git remote add origin [email protected]:zhangHongBo21/rpcDemo.gitgit push -u origin master 或从命令行推送现有存储库git remote add origin [email protected]:zhangHo

2020-06-20 09:56:44 438

原创 golang操作excel

Excelize安装go get github.com/360EntSecGroup-Skylar/excelize如果您使用 Go Modules 管理软件包,请使用下面的命令来安装最新版本。go get github.com/360EntSecGroup-Skylar/excelize/v2创建 Excel 文档下面是一个创建 Excel 文档的简单例子:package mainimport ( "fmt" "github.com/360EntSecGroup

2020-06-19 14:31:41 6720

原创 golang监听文件变动

废话不多说,直接上抄袭来的demopackage mainimport ( "log" "github.com/fsnotify/fsnotify")func main() { watcher, err := fsnotify.NewWatcher() if err != nil { log.Fatal(err) } defer watcher.Close() done := make(chan bool) go func() { for { select .

2020-06-19 13:28:38 3430

原创 livego介绍以及最全使用方法介绍

昨天用nginx搭建了一套rtmp的服务器,心血来潮找到了用go语言写的livego,官方提供的使用手册不全,自己看源码琢磨出来的使用方式,先放一波官方介绍!简单高效的直播服务器:安装和使用非常简单;纯 Golang 编写,性能高,跨平台;支持常用的传输协议、文件格式、编码格式;支持的传输协议RTMPAMFHLSHTTP-FLV支持的容器格式FLVTS支持的编码格式H264AACMP3安装直接下载编译好的二进制文件后,在命令行中执行。从 Docker.

2020-06-11 10:42:56 36930 14

原创 Windows环境下基于NGINX进行rtmp推流直播

准备工作NGINX下载地址Rtmp扩展下载地址下载完进行解压nginx点播设置worker_processes 1; events { worker_connections 1024;} ##################RTMP服务#################rtmp { server { listen 1935; #//服务端口 chunk_size 4096; #//数据传输块的大小 application

2020-06-10 11:02:38 1969 1

原创 grpc同时支持rpc以及http服务

假定我们有一个项目需求,希望用Rpc作为内部API的通讯,同时也想对外提供Restful Api,写两套又太繁琐不符合于是我们想到了Grpc以及Grpc Gateway,这就是我们所需要的准备环境假设以及安装好go环境以及grpc所需的组件GolangGrpcProtoc PluginProtocol BuffersGrpc-gateway准备构建所需组件// +build toolspackage toolsimport ( _ "github.com/grp

2020-06-08 11:02:56 2576 1

原创 mysql,sum求和之后赋值到变量精度丢失

不管什么语言,只要从mysql中查询出来的数据是数字类型,就会有内存溢出的风险,解决办法,超级简单,//重点在cast函数SELECT cast(SUM(num) as CHAR) FROM `tra_fund`

2020-06-06 16:11:28 1618

原创 记录一哈

2020-06-05 13:10:50 115

原创 protobuf在Windows平台下生产golang代码

开始protobuf默认情况下执行 --go_out是报错的,'protoc-gen-go' 不是内部或外部命令,也不是可运行的程序或批处理文件。--go_out: protoc-gen-go: Plugin failed with status code 1.废话不多说,直接上干货!建立在你有go环境上以及安装过了protobuf执行这个命令go get -u github.com/golang/protobuf/protoc-gen-go下载完之后GOPATH目录下回出

2020-06-04 09:38:37 3250 1

原创 protobuf在Windows平台下载

下载自己按需下载,我是Windows平台,所以下载了win64下载链接接着自行添加环境变量验证一下

2020-06-03 17:35:24 286

转载 OpenTracing语义标准

语义惯例OpenTracing标准 描述的语言无关的数据模型,以及OpenTracing API的使用方法。在此数据模型中,包含了两个相关的概念 Span Tag 和 (结构化的) Log Field,尽管在标准中,已经明确了这些操作,但没有定义Span的tag和logging操作时,key的使用规范。这些语义习惯通过这篇文档进行描述。这篇文档包括两个部分:一. 通过表格罗列出所有的tag和logging操作时,标准的key值。二.描述在特定的典型场景中,如何组合使用这些标准的key值,进行建模。版本

2020-06-03 09:44:39 382

原创 Sentinel 的golang版本简单使用以及介绍

开始对 Sentinel 进行相关配置并进行初始化埋点(定义资源)配置规则对 Sentinel 进行相关配置并进行初始化使用 Sentinel 时需要在应用启动时对 Sentinel 进行相关配置并触发初始化。 api包下提供如下函数: InitDefault():从环境变量中读取相应配置来初始化 Sentinel,若环境变量不存在则使用默认值 Init(configPath string):从给定的 YAML 文件中读取相应配置来初始化 Sentinel。日志目录配置会从环境变量读取或

2020-06-02 17:08:27 3547

原创 element-ui的组件upload使用阿里云oss上传视频(进度条回显以及分片上传加断点续传)

1.先安装aliossnpm i ali-oss --save2安装完事之后,进行引入并进行oss的初始化,这里把初始化和后面用到的UUID生成规则放在一起,ali-oss.js文件// 引入ali-osslet OSS = require('ali-oss')/** * [accessKeyId] {String}:通过阿里云控制台创建的AccessKey。 * [accessKeySecret] {String}:通过阿里云控制台创建的AccessSecret。 * [bucke

2020-05-25 09:46:31 2607

原创 以太坊智能合约

pragma solidity ^0.4.8;contract Token{ // token总量,默认会为public变量生成一个getter函数接口,名称为totalSupply(). uint256 public totalSupply; /// 获取账户_owner拥有token的数量 function balanceOf(address _owner) constant returns (uint256 balance); //从消息发送者账户中

2020-05-13 16:06:16 192

原创 以太坊的 ChainId 与 NetworkId

只简单介绍这两个玩意是干啥的什么是 ChainIdChainId 是 EIP-155 引入的一个用来区分不同 EVM 链的一个标识。如下图所示,主要作用就是避免一个交易在签名之后被重复在不同的链上提交。最开始主要是为了防止以太坊交易在以太经典网络上重放或者以太经典交易在以太坊网络上重放。在以太坊网络上是从 2675000 这个区块通过 Spurious Dragon 这个硬分叉升级激活。引入 ChainId 后,带来了哪些影响呢?1.创建新的 EVM 链时,需要在 genesis 文件中指定 C.

2020-05-13 12:01:32 4828 2

原创 goland解决 No usages found in All Places问题

今天突然遇到了一个神奇的问题如下图,很多代码显示为灰色的未引用代码,但是确实该代码都有被引用。就很难受解决办法File -> Invalidate Caches/Restart点击第一个选项重启即可解决...

2020-05-07 14:41:22 6665

转载 HTTPS对比HTTP

本文来源:腾讯优图实验室笔者来自腾讯优图实验室,主要从事视觉 AI 能力赋能边缘计算设备的工作。一直以来,在实验室甚至整个公司特别强调“安全和隐私”,近半年,笔者在用 GoLang 开发智能边缘计算设备的网络通信项目时,常被要求务必重视“通信的安全和隐私”。期间,对接了多个合作方,有的要求“公网下要防止域名劫持”,有的要求“客户端上报要带‘证书’啊,更安全”,还有要求除了要用 HTTPS,还要...

2020-03-04 14:44:31 669

原创 golang 如何让程序优雅退出

最近公司交易所的撮合系统遇到了一个非常极端的bug,程序在匹配完买卖订单并且操作完redis内的数据之后,准备发送kafka的时候程序被意外kill掉了数据丢失,导致盘口信息更改完了,结果后续的程序无法处理!最终结果变相的解决了//就不写mian函数了,直接写我内部处理的func StartMatching() { //获取所有交易市场 MarketList := v1.GetAll...

2019-12-13 09:39:30 1702

原创 oceanbase一个超级nb的数据库

昨天支付宝发生大面积bug,然后看帖子里面有了一个关键词就了解了一下,惊为天人,它的官网官网上述不知道是多久之前的介绍看了,但是看完还是得说,恐怖如斯!上这个数据库的下载地址点击下载准备测试一波,结果,呵呵呵,玩不起,再见,告辞,具体原因如下,直接劝退...

2019-12-06 09:47:17 658

原创 为kafka添加用户以及密码,SASL/PLAIN

事先声明,有版本的问题,修改之前请备份好原配置文件在修改!!!1.先找到该文件添加以下内容 # 添加下面的配置 ip和端口改成自己需要listeners=SASL_PLAINTEXT://xx.xx.xx.xx:8123security.inter.broker.protocol=SASL_PLAINTEXTsasl.enabled.mechanisms=PLAINsasl.m...

2019-11-28 17:10:16 4612

原创 记录一次MongoDB安装启动报错

使用工具连接数据库时候报错随即解决问题然后在服务当中手动启动,结果报了一个我不知道的错误,因为我已经解决了我就不截图了然后点击查看属性查看可执行命令,我是不会说我安装完忘了安装到那个目录了这个时候就去cmd窗口手动执行这个命令,报错Unrecognized option: mptry 'mongod.exe --help' for more information这个错误是mo...

2019-11-23 12:38:05 1550

原创 vue filters 国家区号json数据

common.js//为了好复制我把json格式化了一下,如果需要使用的话最好压缩一下export const AreaCode = [{ 'short': 'AD', 'name': '安道尔共和国', 'en': 'Andorra', 'tel': '376'}, { 'short': 'AE', 'name': '阿拉伯联合酋长国', 'en': 'UnitedAr...

2019-11-22 10:05:20 1070 1

原创 关于redis性能优化的几点建议

1.尽量使用短的key,2.避免使用KEYS*,因为这个命令是阻塞的,当你在执行此操作的时候,其他命令会等待3.在存到redis之前将你的数据进行一定的压缩4.设置key的有效期5.选择回收策略(maxmemory-policy)6.使用bit位级别操作和byte字节级别操作来减少不必要的内存使用7.尽可能地使用hashes哈希存储8.想要一次添加多条数据的时候可以使用管道9.限制...

2019-11-22 10:03:46 435

原创 解决kafka在小内存的linux服务器上无法启动以及卡死服务器的问题

首先的一个说明几个排除问题的点就是需要java环境,版本不要太低安装java命令yum install -y java-1.11.0-openjdk*第二点,zookeeper默认的缓存目录是/tmp/zookeeper默认可能创建不成功,手动创建,或者是修改一下!修改启动内存占用过高,此方法只能解决一时,不能解决很久,只是能解决掉你kafka启动卡死服务器的问题//找到这块代...

2019-11-11 17:26:27 1322

原创 一种low版一键启动多服务,一键kill多服务的解决办法

首先介绍大体私聊,就是服务启动的时候获取pid并写入一个文件记录,保证文件可以重新覆盖即可大致三个shell例子启动脚本#!/bin/shnohup ./CapitalUpdate >> logs/CapitalUpdate.log &nohup ./changeOrderexec >> logs/changeOrderexec.log &noh...

2019-11-11 16:14:43 226

原创 golang报错 import cycle not allowed

golang不允许循环导包,如果检测到import cycle,会在编译时报错,通常是因为循环调用的问题,简单的说就是a包中调用了b中的方法或者是其他的,然后b中也调用了a的某个方法或者是其他的,这是golang不允许的,仔细检查一下代码吧,...

2019-11-06 09:39:22 715

转载 深入Golang Runtime之Golang GC的过去,当前与未来

对于学习Java的开发来说, GC并不陌生, 实际上Go的GC流程与Java的CMS实现上不尽相同, 但是流程基本类似. 而对于公司大部分C/C++的开发者来说, 习惯了尽量使用栈对象, 手动管理内存,尽量少new, 对GC的一些术语, 流程可能就有点陌生了, 或许可能对GC有一些些怀疑(实际上20世纪90年代后诞生的, 得到广泛应用的语言, 只有VB没有自动内存管理).如果从手动管理内存, ...

2019-09-17 15:52:45 7624

转载 进程、线程、协程、例程、过程的区别是什么?

首先解释下程序、进程、上下文切换和线程。然后再解释协程、例程、过程。程序程序:源代码堆起来的东西。相当于一个一动不动没有生命的机器人。虽然是没有生命的机器人,但是它被设计后就表示有了硬件,它的硬件决定了之后它有生命后是如何干活的 机器人有优劣,所以有些优秀的机器人干活很快,而有些机器人干活很慢进程进程:程序在系统上跑起来(运行)之后的东西(动态的)。相当于有了生命的机器人。生命...

2019-09-15 10:36:14 1135

abigen.exe

Windows平台下,以太坊abigen,生成golang,java等代码

2020-07-06

微信小程序 wepy框架 websocket

微信小程序,wepy框架,websocket,有简易心跳包保持连接存活机制,以及断网重连尝试功能,关闭页面断开连接,初学者,不喜勿喷

2018-10-10

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

TA关注的人

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