自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(190)
  • 收藏
  • 关注

原创 解决 confluent-kafka-go 在windows下未定义的引用 __imp__wassert 错误

找到 GOPATH\pkg\mod\github.com\confluentinc\confluent-kafka-go@v1.9.2\kafka\build_windows增加链接库 msvcrXX 即可,例 msvcr120d 或者看下 C:\Windows\System32 有哪个版本的 msvcrXX.dll 及 mingw64 也有相同版本的 库。编译成功后,如果提示找不到 msvcr120d.dll, 则下载个放到 C:\Windows\System32 下即可。

2024-02-28 14:20:53 766

原创 sed 命令

bin/bash。

2024-01-11 19:00:50 429

原创 git撤回上一次push

我们有时候误提交代码需要回滚到上一个版本,需要通过git命令重新提交处理。

2023-04-14 17:35:50 531

原创 MySQL常用函数

MySQL常用函数

2022-11-07 10:51:55 229

原创 laravel server error 服务器内部错误

laravel server error 服务器内部错误

2022-08-30 13:38:49 460

原创 服务器抓包命令

tcpdump -i eth0 host 10.255.11.118 -w /tmp/0829dump.pcap

2022-08-29 16:24:47 169

原创 pprot分析

go tool pprof -http=“:8083” /Users/hp/pprof/pprof.wechat-core.contentions.delay.001.pb.gz

2022-05-25 15:24:15 264

原创 git 忽略已提交文件的修改

我们在使用git中,经常会遇到这样的情况:git仓库中有某个必要的配置文件,这个文件应该存在,但是在每个开发人员的本地都要对他进行修改。这就导致这个文件要被反复修改,容易冲突。要想不冲突,就要每个人提交前,都刻意不提交该文件,很是麻烦。一般我们这时候就会想到,用.gitignore来忽略这个文件,但是该文件是已经提交过的,并且对于工程是必要的,应该保存在git中的。.gitignore对于这种已提交过的文件是无能为力的。这时候,就需要使用git update-index --skip-worktree

2021-11-30 17:01:12 1773

原创 【计算机网络】第二章:物理层

2.1 物理层定义的标准物理层解决如何在链接各种计算机的传输媒体上传输数据比特流,而不是指具体的传输媒体。物理层的主要任务:确定传输媒体的接口的一些特性,包括,机械特性:接口形状,大小,引线数量电气特性:例如规定电压范围(-5V-5V)功能特性:例如规定-5V上0,+5V是1过程特性:也称规程特性,规定建立连接时各个相关部件的工作步骤2.2 数据通信基础知识2.2.1 通信的目的是传送消息数据(data)——运送消息的实体。信号(signal)——数据的电气或电磁的表现。->

2021-03-19 11:55:11 246

原创 【计算机网络】第一章:计算机网络概述

第一章 计算机网络概述局域网:覆盖范围小,自己花钱购买设备, 带宽固定10M 100M 1000M,自己维护,最远100m广域网:距离远(>100m),花钱租带宽internet:ISP是电信运营商internet service producer自己的机房,对网民提供访问Internet网站的访问:帧:数据包包括数据+网站和请求端的IP地址;后两部分是目标mac地址和原mac地址,即物理地址,传播过程中一直在变化。数据的请求:数据的返回:网页上的数据是一块块发送给请求端的,

2021-03-19 10:47:43 180

原创 laravel server error 服务器内部错误

1.首先确保工程目录下有 .env 文件2.工程目录下 cmd 窗口 执行 php artisan key:generate3.php artisan cache:clear4.php artisan config:clear完工

2021-03-09 14:44:33 395

转载 docker toolbox 设置镜像加速

docker toolbox 设置镜像加速

2020-12-24 10:15:10 219

转载 docker快速搭建php7.2-nginx开发环境

docker快速搭建php7.2-nginx开发环境

2020-12-24 08:56:48 209

转载 《自控力》读书笔记思维导图

《自控力》读书笔记思维导图

2020-12-08 14:05:12 158

转载 RocketMQ安装-Windows环境

RocketMQ安装-Windows环境

2020-09-17 14:27:25 342

原创 ab压力测试工具

介绍吞吐率(Requests per second)概念:服务器并发处理能力的量化描述,单位是reqs/s,指的是某个并发用户数下单位时间内处理的请求数。某个并发用户数下单位时间内能处理的最大请求数,称之为最大吞吐率。计算公式:总请求数 / 处理完成这些请求数所花费的时间,即 Request per second = Complete requests/ Time taken for tests并发连接数(The number of concurrent connections)概念:某个时刻服

2020-07-16 15:52:53 244

转载 Golang 大杀器之性能剖析 PProf

Golang 大杀器之性能剖析 PProf

2020-07-16 15:46:41 243

转载 终于有人把“TCC分布式事务”实现原理讲明白了!

终于有人把“TCC分布式事务”实现原理讲明白了!

2020-06-23 16:19:59 203

转载 Redis源码剖析和注释(二十四)--- Redis Sentinel实现(哨兵操作的深入剖析)

Redis Sentinel实现(下)本文是Redis Sentinel实现(上)篇文章的下半部分剖析。主要剖析以下内容:哨兵的使命Redis Sentinel实现下哨兵的使命1 周期性的操作11 建立连接12 发送监控命令13 判断节点的主观下线状态14 判断主节点的客观下线状态15 对主节点执行故障转移151 故障转移开始152 选择一个要晋升的从节点153 使从节...

2020-02-24 16:06:52 216

转载 Redis源码剖析和注释(二十三)--- Redis Sentinel实现(哨兵的执行过程和执行的内容)

Redis Sentinel实现(上)Redis Sentinel 介绍和部署请参考Redis Sentinel 介绍与部署sentinel.c文件详细注释:Redis Sentinel详细注释本文会分为两篇分别接受Redis Sentinel的实现,本篇主要将Redis哨兵的执行过程和执行的内容。Redis Sentinel实现上Redis Sentinel 介绍和部署Redi...

2020-02-24 14:35:41 170

转载 Redis源码剖析和注释(二十二)--- Redis 复制(replicate)源码详细解析

Redis 复制(replicate)实现复制的介绍Redis为了解决单点数据库问题,会把数据复制多个副本部署到其他节点上,通过复制,实现Redis的高可用性,实现对数据的冗余备份,保证数据和服务的高度可靠性。关于复制的详细配置和如何建立复制,请参考:Redis 复制功能详解 。Redis 复制replicate实现复制的介绍复制的实现1 主从关系的建立2 主从网络连接建立3...

2020-02-19 17:09:14 371

转载 Redis源码剖析和注释(二十一)--- 单机服务器实现

Redis 单机服务器实现Redis 服务器Redis服务器负责与客户端建立网络连接,处理发送的命令请求,在数据库中保存客户端执行命令所产生的数据,并且通过一系列资源管理措施来维持服务器自身的正常运转。本次主要剖析server.c文件,本文主要介绍Redis服务器的一下几个实现:命令的执行过程Redis服务器的周期性任务maxmemory的策略Redis服务器的main函数其他的...

2020-01-21 11:48:02 162

转载 Redis 学习笔记(十二)Redis 复制功能详解

Redis 复制(Replication)复制介绍分布式数据库为了获取更大的存储容量和更高的并发访问量,会将原来集中式数据库中的数据分散存储到多个通过网络连接的数据存储节点上。Redis为了解决单点数据库问题,会把数据复制多个副本部署到其他节点上,通过复制,实现Redis的高可用性,实现对数据的冗余备份,保证数据和服务的高度可靠性。复制的建立建立复制的配置方式有三种。在red...

2020-01-21 11:11:34 146

转载 Redis源码剖析和注释(二十)--- 网络连接库剖析(client的创建/释放、命令接收/回复、Redis通信协议分析等)

Redis 网络连接库剖析Redis网络连接库介绍Redis网络连接库对应的文件是networking.c。这个文件主要负责客户端的创建与释放命令接收与命令回复Redis通信协议分析CLIENT 命令的实现我们接下来就这几块内容分别列出源码,进行剖析。客户端的创建与释放redis 网络链接库的源码详细注释2.1客户端的创建Redis 服务器是一个同时与多个客户端建立连...

2020-01-20 11:19:27 378

转载 Redis源码剖析和注释(十九)--- Redis 事件处理实现

Redis 事件处理实现Redis事件介绍Redis服务器是一个事件驱动程序。下面先来简单介绍什么是事件驱动。所谓事件驱动,就是当你输入一条命令并且按下回车,然后消息被组装成Redis协议的格式发送给Redis服务器,这就会产生一个事件,Redis服务器会接收该命令,处理该命令和发送回复,而当你没有与服务器进行交互时,那么服务器就会处于阻塞等待状态,会让出CPU从而进入睡眠状态,当事件触...

2020-01-19 16:52:17 186

转载 Redis源码剖析和注释(十八)--- Redis AOF持久化机制

Redis AOF持久化机制AOF持久化介绍Redis中支持RDB和AOF这两种持久化机制,目的都是避免因进程退出,造成的数据丢失问题。RDB持久化:把当前进程数据生成时间点快照(point-in-time snapshot)保存到硬盘的过程,避免数据意外丢失。AOF持久化:以独立日志的方式记录每次写命令,重启时在重新执行AOF文件中的命令达到恢复数据的目的。Redis RDB持久化...

2020-01-17 11:29:36 265

转载 Redis源码剖析和注释(十七)--- RDB持久化机制

Redis RDB持久化机制RDB的介绍因为Redis是内存数据库,因此将数据存储在内存中,如果一旦服务器进程退出,服务器中的数据库状态就会消失不见,为了解决这个问题,Redis提供了两种持久化的机制:RDB和AOF。本篇主要剖析RDB持久化的过程。RDB持久化是把当前进程数据生成时间点快照(point-in-time snapshot)保存到硬盘的过程,避免数据意外丢失。1.1 RD...

2020-01-16 11:46:23 192

转载 Redis源码剖析和注释(十六)---- Redis输入输出的抽象(rio)

Redis 输入输出的抽象(rio)概述rio是Redis对IO操作的一个抽象,可以面向不同的输入输出设备,例如一个缓冲区IO、文件IO和socket IO。一个rio对象提供一下四个方法:read:读操作write:写操作tell:读写的偏移量flush:冲洗缓冲区操作使用C语言,实现面向对象的思想。rio对象的抽象rio结构体如下:rio.c 和 rio.h 文件详细...

2020-01-16 10:36:56 145

转载 Redis源码剖析和注释(十五)---- 通知功能实现与实战 (notify)

Redis 通知功能实现与实战通知功能介绍客户端可以通过 订阅与发布功能(pub/sub)功能,来接收那些以某种方式改动了Redis数据集的事件。目前Redis的订阅与发布功能采用的是发送即忘(fire and forget)的策略,当订阅事件的客户端断线时,它会丢失所有在断线期间分发给它的事件。通知的类型通知功能的类型分别为:键空间通知(key-space notificat...

2020-01-15 11:38:09 754

转载 Redis源码剖析和注释(十四)---- Redis 数据库及相关命令实现(db)

Redis 数据库及相关命令实现数据库管理命令数据库管理的命令如下表格所示:redis keys命令详解数据库的实现2.1数据库的结构typedef struct redisDb { // 键值对字典,保存数据库中所有的键值对 dict *dict; /* The keyspace for this DB */ // 过期字典...

2020-01-14 15:27:04 199

转载 Redis源码剖析和注释(十三)--- 有序集合类型键实现(t_zset)

有序集合类型键实现有序集合命令Redis有序集合命令如下表所示:Redis 有序集合命令详解有序集合类型实现有序集合对象的底层实现类型如下表:Redis 跳跃表源码剖析和注释Redis 字典结构源码剖析和注释Redis 压缩列表源码剖析和注释一个有序集合对象的结构如下:typedef struct redisObject { //对象的数据类型:OBJ_ZSET...

2020-01-14 11:40:05 174

转载 Redis源码剖析和注释(十二)--- 集合类型键实现(t_set)

Redis 集合类型键实现(t_set)集合命令介绍redis中所有的集合命令如下:Redis集合命令详解集合类型的实现之前在redis对象系统源码剖析和注释中提到,一个集合类型的对象的编码有两种,分别是OBJ_ENCODING_HT和OBJ_ENCODING_INTSET。关于集合类型底层的两种数据结构的源码剖析和注释,请看下面的博文。Redis 字典结构源码剖析和注...

2020-01-14 11:00:06 137

转载 Redis源码剖析和注释(十一)--- 哈希键命令的实现(t_hash)

Redis 哈希键命令实现(t_hash)哈希命令介绍Redis 所有哈希命令如下表所示:Redis 哈希命令详解哈希类型的实现之前在redis对象系统源码剖析和注释中提到,一个哈希类型的对象的编码有两种,分别是OBJ_ENCODING_ZIPLIST和OBJ_ENCODING_HT。redis 压缩列表源码剖析和注释redis 字典结构源码剖析和注释但是默认创建的哈希类型的...

2020-01-14 09:40:46 180

转载 【PHP】PHPUnit单元测试利器:PHP Mock的使用方法

由于环境依赖关系,或者是特殊环境的构造要求,这就可能导致我们在测试环境下做验证是很困难的。当我们无法直接使用的真实被依赖模块时,我们可以用“测试替身”(Test Double)来代替。这个测试替身不需要与真实的被依赖模块有相同的行为,它只需要提供和真实的被依赖模块有相同的API就行了。PHPUnit提供的getMock($className)方法可以自动生成一个对象,而这个对象就可以作为原来那...

2020-01-02 14:47:43 1603

原创 Scrapy 入门教程

Scrapy 是用 Python 实现的一个为了爬取网站数据、提取结构性数据而编写的应用框架。Scrapy 常应用在包括数据挖掘,信息处理或存储历史数据等一系列的程序中。通常我们可以很简单的通过 Scrapy 框架实现一个爬虫,抓取指定网站的内容或图片。Scrapy架构图(绿线是数据流向)Scrapy Engine(引擎): 负责Spider、ItemPipeline、Downloade...

2019-12-20 12:03:08 101

原创 利用Redis Sorted Set实现排行榜功能

Redis 有序集合(sorted set)一、向集合中添加(多个)元素和元素分值ZADD key score1 member1 [ score2 member2]1. ZADD runoobkey 1 redis2. ZADD runoobkey 2 mysql 3 java二、遍历集合ZRANGE XXX 0 -1 WITHSCORES1三、 获取有序集合的成员数zca...

2019-12-16 17:41:44 722

原创 详解redis的bitmap应用

bitmap的原理、用法原理8bit = 1Bbitmap就是通过最小的单位bit来进行0或者1的设置,表示某个元素对应的值或者状态。一个bit的值,或者是0,或者是1;也就是说一个bit能存储的最多信息是2。用法setBit说明:给一个指定key的值得第offset位 赋值为value。参数:key offset value: bool or int (1 or 0)返回值:...

2019-12-16 15:16:28 4542 2

转载 从PHP 到Golang 的笔记

https://www.jianshu.com/p/44905bdeb505

2019-11-24 16:30:23 102

原创 PHPunit快速入门

一、获取PHPunit要获取 PHPUnit,最简单的方法是下载 PHPUnit 的 PHP 档案包 (PHAR),它将 PHPUnit 所需要的所有必要组件(以及某些可选组件)捆绑在单个文件中:要使用 PHP档案包(PHAR)需要有 phar 扩展。全局安装 PHAR$ wget https://phar.phpunit.de/phpunit.phar$ chmod +x phpuni...

2019-11-22 15:46:30 139

转载 vbox在共享文件夹设置链接报错Protocol error问题

https://www.cnblogs.com/cxbhakim/p/8882947.html环境:基于VBox 的 vagrant (centos版本)开发环境。问题:Virtualbox 虚拟机(centOS)中,在进行go程序编译的时候,需要设置一个链接符,然后得到了如下的错误:ln: failed to create symbolic link ‘/home/gopath/s...

2019-11-14 18:37:22 1244

空空如也

空空如也

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

TA关注的人

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