自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

IT部落格

关注IT,关注编程

  • 博客(172)
  • 资源 (1)
  • 收藏
  • 关注

原创 【Golang】泛型与类型约束

简单讲解下Golang中的泛型

2025-03-31 16:15:21 850

原创 【Nginx】location匹配模式与规则

介绍Nginx location的几种匹配模式和规则

2025-03-27 16:27:51 400

原创 【PHP】获取PHP-FPM的状态信息

PHP-FPM内置有一个状态页面,通过这个页面可以获取到FPM的一些状态信息。

2025-03-15 22:22:39 1094

原创 【PHP】新版本特性记录(持续更新)

本文用于记录PHP各个版本的新特性,仅记录个人认为比较重要的特性,如果需要全面的信息,请查阅官方文档。

2025-03-15 14:14:51 1169

原创 迁移WSL中的ext4.vhdx文件

今天发现系统C盘的磁盘空间已经严重不足,查找后发现有一个很大的ext4.vhdx因为我在WSL中安装了一个ubuntu子系统,所以这个ext4.vhdx文件就是ubuntu系统的虚拟磁盘。下面介绍如何迁移这个文件到其它分区。

2025-01-13 22:48:48 1517 3

原创 【PHP】在ThinkPHP6中Swoole与FPM的简单性能测试对比

本文主要测试在ThinkPHP 6框架中,使用与使用PHP-FPM两者的HTTP并发性能差距,测试方法较简单,仅供参考。

2024-10-20 14:33:51 1177

原创 【PHP】安装swoole时报错:No package ‘libbrotlienc‘ found

No package 'libbrotlienc' found

2024-10-17 11:51:07 1403

原创 如何克隆Git仓库的子目录:稀疏检出

一般来说,我们在克隆git仓库的时候,都是一整个仓库都克隆出来的。如果假设现在有一个很大的仓库,仓库里有多个子项目,而我们只想克隆其中一个子项目的时候,应该怎么做呢?

2024-10-16 12:29:37 720

原创 【Ubuntu】apt命令安装最新版本Nginx

官方ubuntu软件仓库的软件版本可能会比较旧,导致无法安装最新版的软件包,例如在Ubuntu 22.04中,默认情况下,执行命令安装到的 Nginx 版本是1.18.0(2020年4月发布),比较旧。如果希望安装最新版本的Nginx,需要添加 Nginx 的外部仓库,其它软件也同理。另外一种方法是到 Nginx 的官网下载新版本tar.gz源码包,手动编译安装,本文暂不讨论。

2024-05-09 15:35:22 2859

原创 【Nginx】the “listen ... http2“ directive is deprecated

报这个错误的原因是,Nginx 自从 1.25 版本后,开启。今天安装了 1.26.0 版本的Nginx,执行。的配置写法有变更,旧的写法已经被标记为“过时”。

2024-05-08 14:53:24 2630 1

原创 【PHP】PHP7中的引用计数

PHP的变量在底层有一个引用计数(refcount)属性,这个引用计数是为垃圾回收(GC)服务的,当引用计数变为0的时候,就代表这个变量可以被回收。但也不是所有的数据类型都支持引用计数,例如一些简单类型如整型、浮点型、布尔型、NULL等,它们就不支持(表现为 refcount 的值恒为0)。不支持 refcount 的数据类型,不会被GC回收,它们在请求结束时才会释放。可以使用函数查看变量的refcount(需要安装xdebug// 整型$a = 1;// 浮点型$a = 1.1;// 布尔型。

2024-04-22 17:57:56 1148

原创 【Golang】并发编程之三大问题:原子性、有序性、可见性

在并发编程中会出现的问题可以归结为三大类:有序性、原子性、可见性。

2024-04-16 10:58:46 1394 2

原创 【Redis】解决List类型的消息可靠性问题

平时做后端开发时,如果需要用到消息队列功能,但公司的IT环境又没有提供专业的队列软件(RabitMQ/Kafka…),那么在简单场景下,可以使用 Redis 的List数据类型来做消息队列。但List类型有一个挺致命的缺点,就是消息可靠性。当消费者使用命令从队列中取出一条消息后,如果消费者在消费完成前崩溃了,那么这条消息就永远丢失找不回来了。注:为了方便理解,下文统一以“左进右出”的 List 作为例子。

2024-04-03 21:06:17 986

原创 【MySQL】LEFT JOIN表时条件的位置对查询结果的影响

我们知道,JOIN表的查询条件可以放在JOIN语句处,也可以放在 WHERE 语句处。用这条件举例:方式1:放在 WHERE 语句处方式2:放在 JOIN 语句处平时做开发我基本都是用 方式1,而 方式2 就较少使用,可能会有人像我一样,觉得这两种方式的查询结果是一样的,但其实不是的。

2024-03-15 16:38:49 772

翻译 【最佳实践指南】在ClickHouse中更新和删除数据

对于一个分析型数据库而言,更新和删除数据是有挑战的,它会显著影响数据库的性能。为了解决这个问题,ClickHouse为不同场景提供了不同的高效更新和删除数据方式:Lightweight删除,通过语句从ClickHouse里删除数据。这是删除数据最高效的方式,适合无需立即释放磁盘空间、允许数据继续存留在磁盘上的场景;Mutation删除,通过语句删除。适合需要立即释放磁盘空间的场景。例如,合规要求需要确保数据从磁盘上删除。Mutation更新,通过语句更新。适合不会频繁更新数据的场景使用TTLs。

2024-03-08 22:00:06 11890 2

原创 【javascript】如何判断一个对象属性是否存在

在javascript里,可以有多种判断对象属性是否存在的方法,使用哪种方法来判断,取决于对 “存在” 两个字的定义是什么。

2023-11-29 23:24:00 1585

转载 【golang】理解Golang赋值的并发安全性

并发安全就是程序在并发情况下执行的结果是正确的。比如对一个变量简单的自增操作count++,在非并发下很好理解,而在并发情况下却容易出现预期之外的结果,这样的代码就是非并发安全的。因为count++其实是分成两步执行的,当分成了两步执行,那么其他协程就可以趁着这个时间间隙作怪。count:= 1a > 读取count : 1b > 读取count : 1a > 计算count+1 : 2b > 计算count+1 : 2a > 赋值count : 2b > 赋值count : 2。

2023-11-29 18:09:33 427

原创 【javascript】如何给fetch请求设置超时时间,以及结合Promise使用的相关用法

在javascript中,fetch函数是用来进行网络请求的,但默认情况下它是不支持超时设置的

2023-11-23 15:15:08 3359

原创 【PHP】对称加密算法 AES-256-GCM 代码示例

下面介绍在PHP代码中,如何对数据进行 AES-256-GCM 加密和解密。

2023-11-02 15:46:56 2202

原创 【PHP】使用sodium扩展进行非对称加解密

在PHP中一般有三个密码库(扩展):mcrypt、openssl、sodium

2023-10-24 23:58:17 17

原创 【PHP】如何关闭buffer实时输出内容到前端

默认情况下,我们在PHP里使用echo等函数输出的内容,是不会马上发送给前端的,原因是有 buffer 的存在,buffer又分两处,一处是PHP本身的buffer,另一处是Nginx的buffer。

2023-09-28 10:51:02 533

原创 为什么SQL预编译可以防止SQL注入攻击

防范SQL注入攻击是每一位做后端开发的程序员必须会的基本功。本文介绍其中一种防范攻击的方法:SQL预编译。

2023-09-27 17:40:45 658

原创 在HTTP请求中安全传输base64编码的字符串

base64是一种常见的的编码格式,它可以把二进制数据编码成一个由大小写英文字母(a-zA-Z)、阿拉伯数字(0-9),以及三个特殊字符组成的字符串。

2023-09-25 16:03:45 3028

原创 如何给API签名

让API只能被特定的人访问防止别人抓包拿到请求参数,通过篡改参数发起新的请求。

2023-09-20 11:57:50 472 1

原创 在Windows上无法使用TortoiseSVN等工具管理WSL2中的代码的问题

众所周知,WSL2 的跨系统IO读写性能非常差(详情见我之前写的这篇文章),而我的代码又是在 WSL2 中运行的,为了提高性能,所以我的代码也必须放在 WSL2 中,以避免跨系统的IO读写。

2023-09-17 17:54:10 746

原创 【golang】在单线程程序中,协程并发是安全的吗?

我们都知道,多个线程操作同一个变量,是有线程安全问题的。但是,如果换成是“多个协程操作同一个变量”呢?还会有安全问题吗?

2023-09-05 15:50:14 683

原创 【golang】使用通道时需要注意的一些问题

经修改后代码不会再报错了,原因是,【协程1】退出后,虽然【协程2】还在阻塞式地读取空通道,但这时除了【协程2】以外,还有一个【main协程】在运行,所以不会报错。原因是,当【协程1】往通道写入3个数据后,【协程1】就结束运行了,这时【main协程】(是的,main函数也是运行在协程里的)读取出这3个数据后,并没有退出。针对第2点,如果这个空的通道是已关闭的,则不会阻塞,读取到的是这个通道数据类型的零值。通道,发生了阻塞,但这时只有【main协程】在运行了,只剩下一个协程,所以报错。

2023-07-03 21:08:54 449

原创 【golang】请求HTTP接口代码示例

在开发过程中,无论是前端还是后端,都经常需要对第三方服务发起HTTP请求获取数据,本文列出一些代码示例用于参考,主要是 GET 请求 和 POST 请求。

2023-07-02 22:01:50 1296

原创 Nginx域名跟server_name不匹配也能访问

最近发现有一个别人的域名(下文以举例),DNS恶意解析到了我的一台服务器IP上,我的服务器上刚好部署了一个网站(域名为),Nginx里的配置为mysite.com奇怪的是,用域名竟然也能访问到我的网站,都不匹配,Nginx怎么会允许它访问的呢?后来查资料得知,如果Nginx匹配不到的话,会将请求交给来处理。怎么确定呢?首先是看此端口有没有配置了如果这个server配置了指令,那么就会交给它处理。但如果所有的server都没有指令呢?那么就会交给第一个开启了此端口的server处理。

2023-06-30 13:18:25 3642

原创 Nginx配置https证书遇到的一个问题

今天在给一个站点配置 HTTPS 证书的时候,遇到了一个问题,写此文章记录一下解决过程。

2023-06-23 20:16:54 7368

原创 【PHP】一个简单的抽奖函数

设置N个奖品,为每个奖品设置一个抽中概率,然后程序根据概率进行抽奖。

2023-06-13 17:56:21 966

原创 高并发写场景:秒杀系统库存扣减

如何解决高并发下的商品库存扣减问题

2023-04-12 20:39:19 872

原创 解决PHP项目在Docker(WSL2)中运行缓慢的问题

最近在使用Docker容器运行PHP项目的时候,发现特别缓慢。

2023-03-28 01:37:26 5119 5

原创 Docker Desktop容器命令行不支持Tab键命令自动补全

Docker Desktop容器命令行不支持Tab键命令自动补全

2023-03-23 22:15:46 1725

转载 ANSI是什么编码?

ANSI编码是什么

2023-03-08 22:26:34 2300

原创 【golang】如何对struct切片进行去重

编写一个方法,给定一个元素为struct类型的切片,和一个struct的字段名,根据这个字段名对切片进行去重。

2023-03-02 16:50:22 363

原创 GoFrame框架model Update方法报“expected N arguments, got N+1”错误

GoFrame框架model Update方法报“expected N arguments, got N+1”错误

2023-03-01 16:41:33 349

原创 【golang】学习golang过程中遇到的坑

本文记录我在学习golang过程中遇到的一些容易踩到的坑,以及一些需要注意的问题。持续更新中...

2023-02-28 14:36:05 380

原创 golang接口用法之:结构体内嵌匿名接口

当我们需要重写一个 “实现了某个接口的结构体” 的部分方法,而其它方法保持不变 的时候,就需要用到这种用法。

2023-02-24 16:49:05 1570

原创 golang值方法和指针方法的区别

golang的值接收者和指针接收者的区别

2023-02-22 14:23:56 543

php5.4 memcache.dll文件 64位

该dll文件已经在PHP 5.4.12上成功安装,系统环境是win7 64位

2013-11-24

空空如也

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

TA关注的人

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