自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(125)
  • 资源 (17)
  • 收藏
  • 关注

原创 学会MySQL(2)——间隙锁加锁算法分析

在进行死锁分析时,如果看 MySQL 的死锁日志云里雾里,那可能是我们对 MySQL 的加锁规则不甚了解,从而感觉分析无从下手。只能看代码,改 SQl 碰运气。有一句话说的好:我也不知道为什么这么改就好了,反正它已经能工作了!所以,本文总结了各种常见的加锁情况,分析其加锁过程,以方便我们更好的分析死锁问题。

2024-04-23 16:11:28 889

原创 学会MySQL(1)——MySQL锁的种类

本文是对官方文档 MySQL 5.7 InnoDB Locking 的翻译和补充,适合在调查死锁或者分析 MySQL 间隙锁原理时查看,介绍 MySQL 有那些锁,概念和大概的原理,方便我们调查死锁,分析阅读看 mysql 的输出,做到事半功倍的效果。

2024-03-18 10:58:54 926

原创 RESTful API 设计指南——为什么要用(上)

还记得上文提到过的API命名问题吗?cmd = add把新增翻译为 save、append、new,或者干脆用拼音把参数放在 query 中,比如通过 cmd=add 来代表具体的操作。直接在 path 中拼接2个单词除了上述问题之外,这个新增员工接口是发 POST 还是 GET 请求?是通过 HTTP 状态码代表操作结果,还是需要解析 json 来判断?如果是解析 json ,那个字段代表成功?等等这些问题,需要我们仔细的查阅它的 API 文档才能下定论。

2023-11-21 10:06:59 161

原创 RESTful API 设计指南——开篇词

本章我们向大家推荐了一本书籍,通过阅读 "第4章 面向资源的架构"我们可以补足 RESTful API 理论知识(我很少看到有人推荐这本书)。我们通过对比 REST、RESTful API 和 HTTP 的关系,以及给出了 REST 风格架构的出处(博士论文),让大家初步了解了 RESTful API 的前后今生。所有的接口都使用Post请求不管成功还是失败,HTTP状态码都返回200API命名千奇百怪这几个问题通常发生在不同的公司、不同的团队,如果你跳槽过几次,可能会遇到类似的问题。

2023-11-21 10:03:06 149

原创 Go-Benchmark入门-进阶篇(下)

打开 png,我们看到下面3个红框的位置,分辨有3个操作每个耗时10ms(mysql操作),他们是顺序执行,所以会占用30ms,总计40ms耗时左右,1秒钟也就执行25次,和压测结果接近,至此,我们结合pprof找到了函数耗时的点,可以做针对性的性能优化了,是不是很方便?

2023-05-16 13:29:15 780

原创 Go-Benchmark入门-基础篇(上)

以斐波那契数 为例,我们实现了一种最简单的递归版本的解法,现在假设我们要编写 Benchmark 来测试这种解法的性能,让我们对算法的好坏有一个直观的了解

2023-05-16 13:18:30 845

原创 经典面试题:Go Slice切片扩容策略

最近在刷面试题的过程中,因为本。Go使用的是1.20版本,而网上关于 Go slice扩容策略的描述还大多停留在 2021年前的版本,也就是Go1.17版本和之前的所有版本,遂分享出来。

2023-05-16 13:00:33 351 2

原创 go 图片上传:文件和Base64方式

网上找了好些教程,go客户端上传文件这一块,大部分的例子都是从文件读取然后上传的,但是项目中因为调用了第三方SDK,返回的是 base64 格式的图片,却没找到这方面的例子,特此分享一下解决方案。

2023-03-02 17:42:24 1184

原创 Kratos框架Http请求实现动态json解析

kratos框架可以支持grpc和http2种请求,当处理http post请求时,如果body 会根据type动态改变,那么kratos中的api proto应该怎么写呢?

2023-02-28 18:08:52 365

原创 Go最佳实践1——单元测试的另一种写法

本文介绍了3种单元测试类型:Test、Benchmark和Example

2022-12-16 12:00:54 354

原创 no matching versions for query “latest“

升级到1.18,即可解决上述问题。如果无法升级,请使用 tag。如下图,打tag的时候要带上 sdk 才行。go mod 缓存路径可以通过。

2022-11-28 16:48:43 1996

原创 2022版使用云服务器搭建公网k8s容器集群

逻辑云服务部署公网k8s集群详细步骤和踩坑经验,2022版!

2022-10-09 11:47:40 2943 6

原创 k8s dashboard安装

k8s dashboard安装指南,公网环境下实测有效!

2022-10-09 11:37:27 1562 2

原创 利用Kafka的Assign模式实现超大群组(10万+)消息推送

本文通过图文并茂的方式,介绍使用kafka 手动消费分区的方式实现广播的效果,解决了百万级别长连接网关的消息路由问题,提升了整体系统性能和可用性

2022-09-23 09:50:27 2287

原创 go 中解析JSON的三种姿势

go中解析json的三种方式,你都掌握了吗?

2022-09-13 16:00:05 7500 1

原创 go kratos框架跨域中间件实现(v2)

go kratos框架跨域中间件实现,亲测通过,直接复制到项目中使用即可!

2022-08-31 10:48:07 1142

翻译 【翻译】一步一步教你实现JWT安全认证(Go)

写给新手的jwt认证指南,教会你正确的使用jwt保证应用安全,涵盖accessToken和refreshToken的实现机制和原理。

2022-08-24 11:54:16 1176

原创 Go死锁——当Channel遇上Mutex时

最近,我在测试 `ws长链接网关`时,平均一个星期会遇到一次服务假死问题,因为并不是所有routine被阻塞,故runtime的检查无法触发,http health check又是另开的一个端口,k8s检查不到异常,无法重启服务。到底是什么问题呢?...

2022-07-13 10:26:38 340

原创 史上最全面聊天机器人总结(图灵、思知、小i、小微)

翻了下自己在2020年发的文章,主要是对聊天机器人进行了一些科普和简介,结合公众号的定位,故打磨下分享出来,希望有用!

2022-07-11 15:29:38 12693

原创 百度AI自然语言处理AnyQ开源FAQ问答系统Centos7编译运行

百度开源 FAQ 问答系统(AnyQ)安装—Linux(无docker)编译成功!!!

2022-07-06 16:36:53 977

原创 使用JMeter测试Go WebSocket服务的并发

Performance Testing Web Sockets with JMeter

2022-06-23 18:51:00 4063

原创 qt creator使用vcpkg

Qt Creator使用Vcpkg,有图,快速有效!

2022-05-21 17:01:05 3469

原创 go Cobra命令行工具入门

本文介绍一个go命令行工具库,我们可以基于cobra快速的开发我们自己的命令行程序,特别适合Admin CLI、写各种测试脚本(如果使用main入口,要建很多个package)等等场合。

2022-05-06 19:42:16 2131

原创 2022年最新3月Go面经(凉)

2022年3月Go最新面经,字节,商米,流利说,人人视频等。

2022-05-03 14:28:42 6670 2

转载 Go git commit 规范指南(Angular 规范)

文章目录Go git commit 规范指南(Angular 规范)前言Angular规范简介有什么好处?快速知道某次 commit 的目的方便过滤可以直接从commit生成Change log其他优点Angular规范规范构成HeadertypescopesubjectBodyFooter不兼容变动关闭 IssueRevert实用工具Commitizen安装validate-commit-msg生成 Change log参考Go git commit 规范指南(Angular 规范)根据原文:git

2022-03-09 11:29:19 1508

原创 7天docker入门:第3天Dockerfile实战

引言这是docker入门教程系列的第3篇,如果完成了前面2篇,我想你应该是初步学会使用Docker了:7天docker入门:第1天 getting-started7天docker入门:第2天 特定语言指南(Go)如果没看,我建议你去看看,官方的教程,真的很好不枯燥。那么接下来,你可能会考虑如何在项目中应用Docker,所以,我们今天主要是讲解如何编写Dockerfile以及一些实践技巧。别人的学习经历作者也是一边学Docker,一边记录。所以,我把我的学习经历分享更你,共勉,一起加油!截

2022-02-24 23:12:33 824

原创 7天docker入门:第2天 特定语言指南(Go)

引言学完了:docker入门(1)getting-started 之后,你应该:初步掌握了Docker的使用知道了Dockerfile是什么docker compose出现的目的以及作用。但是,你可能我和当时一样有个问题:我要怎么为我的项目(比如Go)编写Dockfile?此时,很有必要把官方的这个特定语言的指南再快速的过一遍。https://docs.docker.com/language/golang/build-images/#create-a-dockerfile-for-the

2022-02-24 22:49:48 584

原创 7天docker入门:第1天 getting-started

引言docker安装访问官网下载安装Docker Desktop:https://www.docker.com/get-started安装完成之后启动即可输入以下命令测试是否安装成功:$ docker versionClient: Cloud integration: 1.0.17 Version: 20.10.8 API version: 1.41 Go version: go1.16.6 Git commit: 3967

2022-02-24 22:15:26 987

原创 7天docker入门:第0天 引言

引言当你犹豫到底要不要学Docker的时候,你发现GitHub中,很多开源项目都有dockerfile.yml,docker-compose.yml等文件的时候,于是你幡然悔悟:是时候学习docker了。为什么要学Docker?我学Docker的初衷主要有以下几个:很多意向的Go后端岗位(互联网稍大一点规模的公司)需要具备Docker&K8S技能,面试过一家游戏公司,可能就是因为这一块被刷了。自己的开源项目是分布式微服务架构,依赖mysql、redis等。要让别人快速体验,非常麻烦。…

2022-02-24 22:04:14 533

原创 跳槽季,技术面试最后反问面试官的话

跳槽季,用好GitHub,面试事半功倍!最近,我在github上发现一个宝藏仓库(我是如何发现的?方法见文末),列举了技术面试最后反问环节,一些反问面试官的话。地址:英文原版:https://github.com/viraptor/reverse-interview中文翻译:https://github.com/yifeikong/reverse-interview-zh为了方面大家,我把内容放在下面,知识版权归 reverse-interview 所有。推荐问题问HR试用期:试用期有

2022-02-15 13:23:06 593

原创 docker compose mysql中文乱码

docker compose mysql中文乱码网上很多教程都没有用,最后根据:https://www.thinbug.com/q/45729326 解决。command增加–character-set-server=utf8mb4,–collation-server=utf8mb4_unicode_ci还是乱码:mysql> show variables like 'char%';+--------------------------+----------------------------

2021-11-01 18:37:28 667 1

原创 ElasticSearch IK热词自动热更新原理与Golang实现

热更新概述ik分词器本身可以从配置文件加载扩张词库,也可以从远程HTTP服务器加载。从本地加载,则需要重启ES生效,影响比较大。所以,一般我们都会把词库放在远程服务器上。这里主要有2种方式:借助Nginx,在其某个目录结构下放一个dic.txt,我们只要更新这个文件,不需要重启ES也能达到热更新的目的。优点是简单,无需开发,缺点就是不够灵活。自己开发一个HTTP接口,返回词库。注意:一行代表一个词,http body中,自己追加\n换行。这里主要介绍第2种接口方式。热更新原理查看ik分词

2021-10-15 17:12:34 1145

原创 Go操作Elasticsearch总结

Go操作Elasticsearch总结安装参见:CentOS 7 RPM安装 Elasticsearch 7.14.1和常用插件官方入门例子《Elasticsearch:权威指南》“适应新环境” 通过一个例子,介绍了ES的核心概念。我们受雇于 Megacorp 公司,作为 HR 部门新的 “热爱无人机” (“We love our drones!”)激励项目的一部分,我们的任务是为此创建一个员工目录。该目录应当能培养员工认同感及支持实时、高效、动态协作,因此有一些业务需求:支持包含多值标签

2021-09-28 12:27:53 1483

原创 CentOS 7 RPM安装 Elasticsearch 7.14.1和常用插件

CentOS 7 RPM安装 Elasticsearch 7.14.1和常用插件安装JDK 1.8安装jdk:打开官网下载:https://www.oracle.com/java/technologies/javase/javase-jdk8-downloads.html下载 Linux x64 RPM Package:jdk-8u301-linux-x64.rpm输入密码,[email protected] / Oracle123(如果失效,自己在网上搜索jdk账号找一个即可)rpm安装jd

2021-09-28 11:40:19 619

原创 C++调用Python3实战,和PyImport_ImportModule返回NULL问题解决

Linux C++调用Python3入门准备以下面的目录结构演示如何在Linux C/C++调用python3。|--hello.py|--main.cpp|--CMakeLists.txthello.py:python的脚本,里面有2个函数main.cpp:c++函数CMakeLists.txt:Cmake文件,生成makefilepython脚本示例python脚本hello.py内容如下,有2个函数:def add(a,b): return a+bdef ge

2021-09-07 20:46:12 5064

原创 Go标准库日志打印,以及同时输出到控制台和文件

打印在使用go写一些小程序时,我们没必要引入额外的包,直接使用fmt标准包打印即可:import "fmt"func main() { fmt.Println("line1") fmt.Print("line2") fmt.Printf("line%d \n", 3) str1 := fmt.Sprintln("hello", 3) str2 := fmt.Sprint("hello ", 1, " 2") str3 := fmt.Sprintf("hello

2021-08-25 17:41:58 21364 4

原创 C++打印堆栈

今日发现http_msg_server异常,遂查看日志,发现了这么一坨东西:2021-08-24 20:13:20.102 [ERROR] [0x7f7fe5a80820] [IM] - <HttpConn.cpp>|<178>|<Close>,erase handle:99 ,./http_msg_server(_Z13GetTraceStackv+0x2f) [0x4f766f]./http_msg_server(_ZN9CHttpConn5CloseEv+0x3

2021-08-24 20:27:43 1271

原创 GDB调试指南:C++中如何调试生产环境的程序?

GDB调试指南:C++中如何调试生产环境的程序?引言对于后端开发而言,不管是java还是c++/go等程序员,都会遇到线上程序崩溃的问题,此时,我们有2种方式进行排查:通过log确定问题范围,比如有没有error级别的log,或者根据最后一行log大概确定出问题的模块如果启用了linux的coredump功能,则在程序崩溃时,会把当时的所有堆栈信息按照指定格式转存到文件中,我们可以通过gdb加载这个文件,还原崩溃时程序运行的情况,找到错误具体原因。除了生产环境中出现问题,平时的调试中我们可能也

2021-08-21 23:46:42 686

原创 CentOS 7 中如何启用coredump,一个shell脚本搞定

CentOS 7 中如何启用coredump,一个shell脚本搞定引言为了尽可能的提高服务的可用性,在程序部署时,我们通常会打开很多的辅助功能:监控报警类:帮助我们迅速发现问题快速恢复服务。如端口监控、健康检查等日志类:通常在线上我们会禁用应用程序TRACE、DEBUG等级别的日志,启用INFO等级以上的日志,便于留痕和事后追溯。另外一个方面,我们会启用linux的coredump功能,一旦程序崩溃,让其把程序的堆栈、内存等信息进行转储,方便我们事后确定问题原因。守护类:如monit等进程监测

2021-08-21 23:41:09 2742

原创 CGO入门和OCR文字识别(非第三方API,有源码,效果好)实战

文章目录CGO入门和OCR文字识别(非第三方API,有源码,效果好)实战CGO是什么极简入门CGO基础类型字符串、数组和函数调用CGO实战分离Go和C代码调用C静态库和动态库静态库动态库调用C++动态库CGO的缺陷CGO最佳使用场景总结CGO案例:在Go中调用动态库实现OCR文字识别chineseocr_lite介绍识别效果编译chineseocr_lite导出c函数环境变量设置运行参考CGO入门和OCR文字识别(非第三方API,有源码,效果好)实战CGO是什么简单点来讲,如果要调用C++,C写的库(

2021-08-20 16:55:52 1662

AssistX vs2013 vs2015 vs2017

assistx for vs2013 vs2015 vs2017带破解补丁,目前在vs2015\2013\2017都用的挺好

2019-01-25

Hadoop权威指南(中文第3版) pdf

Hadoop权威指南(中文第3版)

2018-09-19

大数据架构师指南高清完整pdf

【更多关于《大数据》资料,加qq群:931257845领取!】 【别人收费太高,特此下载转分享】中兴大数据平台DAP团队,结合案例,总结大数据建设实践中的经验与知识

2018-01-23

UDP简单聊天程序示例

演示了如何使用UdpClient进行UDP聊天的例子,好久没用Socket通讯了,有点忘记了,特此上传备忘。

2014-10-13

C#ActiveX聊天控件

简单的Socket聊天控件,主要验证C#ActiveX的控件的制作和,验证在Web中使用Scoket,和是否能使用Udp通讯。包括完整的实例,因为是测试代码所以很简单。 UdpClient.sln是测试exe,包括服务器端和客户端。ActiveXUdpClient.sln是ActiveX控件和Web测试端解决方案,直接编译运行即可(需要在IE内核中,我是在IE11中测试通过的)

2014-09-25

DirectShow帮助手册

DirectShow官方SDK帮助手册,英文版的,对于使用DirectShow开发视频播放等相关产品有很大的指导作用,值得推荐。

2014-09-02

WPF漂亮的TabControl

WPF十分漂亮的TabControl,更改下样式就可以使用。不需要积分,下载后你不会后悔的。可以在正式项目中使用,强力推荐。

2014-05-09

wpf 带头像的listbox实现

wpf中DataTemplate实现带图标的listbox,网上收集资料收集了很久,才实现类似QQ好友分组节点下好友形似的列表。

2014-05-08

程序加载示例

有一个程序加载中的一个过渡界面,加载完成后进入到主界面,不是使用隐藏加载界面的方式,这是不知道在那个地方找到的,上传上来,便于备忘,只提供学习之用,不收取资源分。

2013-11-20

socket异步利用BeginReceive

大半夜的爬起来给别人写的个socket的异步示例,里面有很多缺陷,但是懒得改了,只是演示程序而已,本程序包含server和client2部分,客户端主动连接服务器,建立连接后,客户端可以给服务器发文本消息,服务器也可以给客户端发,非常简单的一个小程序,备忘。

2013-07-25

windows系统操作类和演示程序

c#调用api和shutdown控制系统,功能如下: 打开/关闭显示器 省电状态 打开屏幕保存程序 注销/关机/重启 打开/关闭光驱

2013-07-22

InstallShield2010Crack(无毒,注册机,破解InstallShield2010)付使用方法

InstallShield2010破解方法,点击InstallShieldCrack.exe安装后,打开安装路径,里面有3个文件,Frm.WrkLib.dll、osdev.exe、ISUIService.dll,将这三个文件剪切到installshield2010的安装目录下的System目录替换,提醒,上面的空文件夹可以删掉了,点击installshield2010.exe打开直接进入主界面,恭喜您,破解成功。使用教程附上本人写的博客链接一份,需要的朋友可以去踩踩,适合新手。以下:http://www.cnblogs.com/wishFreedom/p/3176701.html

2013-07-07

AForge.Net框架实现视频通话

AForge.Net框架实现视频通讯,利用socket的数据报传输帧图片

2012-12-21

确定用户是否在线心跳包

服务端定时检测所连接客户端是否有给来报到,报到了则判断在线,否则掉线,客户端定时发包给服务端,超过3次未取得响应,则理解为掉线,大概这就是所谓心跳包

2012-12-14

GDI+入门级网络绘图板

GDI+入门级网络绘图板,用Socket技术实现程序之间简单的图形传输和交流,自定义二进制保存图形,点,圆,直线,曲线,三角形,矩形等简单的入门级小程序,新手们可参考参考,部分图形传输未实现,GDI+入门时所写,有不足之处还望见谅

2012-12-07

空空如也

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

TA关注的人

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