又双叒叕出来了一款船新Copilot!腾讯终于发大招了!码农们又可以丝滑摸鱼啦~

12 月 11 日
阅读 6 分钟
101
说实话,自从去年年底 GitHub Copilot 腾空出世之后,陆陆续续出现了不少好用的 AI 代码助手,像 CodeGeeX 智能编程助手、JetBrains 官方出品的 JetBrains AI Assistant、字节跳动旗下豆包的 MarsCode AI、再到 Cursor AI 编辑器…… 在 AI 代码助手这方面,真可谓百花齐放,其中完全免费的,有体验期限的,直接需要付费的...
封面图

Grequests,非常 Nice 的 Python 异步 HTTP 请求神器

12 月 3 日
阅读 2 分钟
169
我们已知的 requests 库已经是相当的牛掰了,但是比较遗憾的是 requests 库不支持异步请求,今天,我们来介绍一个异步 HTTP 请求库 ——grequests。grequests 库以其异步处理能力,为开发者提供了一个高效、简洁的方式来发送和处理 HTTP 请求,并且它和 requests 库的用法贼为相似。一起来看看吧!
封面图

通过标签清理微信好友:Python自动化脚本解析

12 月 2 日
阅读 5 分钟
108
在上一篇文章中,我写了一个自动根据用户状态(好友将我们删除了还是拉黑了)将用户打上不同标签的工具。那么,已经将用户打好了标签之后,我们就可以根据指定的标签名来直接删除好友了。
封面图

手撸了一个全自动微信清粉小工具(源码详解)

12 月 1 日
阅读 16 分钟
164
在当今社交软件中,微信是最常用的通讯工具之一。然而,随着时间的推移,我们的好友列表中可能会出现一些不再活跃的账号,也就是我们俗称的“僵尸粉”。
封面图

hyperf-throttle-requests,一个超牛的 PHP 限流神器

11 月 30 日
阅读 8 分钟
183
在分布式系统和微服务架构中,API 的稳定性和可用性至关重要。为了保护后端服务不受恶意攻击和流量高峰的影响,请求频率限制(Rate Limiting)成为了一种常见的策略。
封面图

hyperf-alarm-clock,一个自动计算代码执行时间,超时并发送通知的小工具

11 月 29 日
阅读 4 分钟
160
在软件开发中,我们经常需要对代码执行时间进行监控,以确保系统的性能和稳定性。在 PHP 的世界里,Hyperf 框架以其高性能和丰富的组件生态而闻名,而今天我要介绍的是 Hyperf 生态中的一个小巧的插件包 —— hyperf-alarm-clock 库。它是一个计算代码执行时间,并在超时后发送通知的小工具。
封面图

hyperf-wise-locksmith,一个高效的PHP分布式锁方案

11 月 28 日
阅读 5 分钟
122
在分布式系统中,如何确保多台机器之间不会产生竞争条件,是一个常见且重要的问题。hyperf-wise-locksmith 库作为 Hyperf 框架中的一员,提供了一个高效、简洁的互斥锁解决方案。
封面图

PHP 互斥锁:如何确保代码的线程安全?

11 月 27 日
阅读 4 分钟
105
在多线程和高并发的环境下,我们经常会遇到需要确保代码段互斥执行的场景。比如,在电商平台中,当多个用户同时购买同一件商品时,如何确保库存的扣减是线程安全的?

你可能不知道 xz 也是一种压缩格式,并且还相当惊艳

11 月 26 日
阅读 3 分钟
229
Linux 系统中有多种工具和格式可以实现文件压缩,最常见的包括 tar、zip、gzip、bzip2 和 xz 等。本文将详细介绍 xz 命令,帮助读者理解其与其他压缩工具的不同之处,并指导编程小白用户如何使用该命令。
封面图

Go语言中的加解密利器:go-crypto库全解析

11 月 25 日
阅读 4 分钟
161
在软件开发中,数据安全和隐私保护越来越受到重视。Go 语言以其简洁高效的特性,成为了许多开发者的首选。然而,在实际项目中使用加解密时,还是需要在标准库的基础上做一些封装。go-crypto 库应运而生,它是一个专为 Golang 设计的加密解密工具库,提供了 AES 和 RSA 等多种加密算法的支持。
封面图

Go语言中json序列化的一个小坑,建议多留意一下

11 月 24 日
阅读 5 分钟
263
在 Go 语言开发中,JSON(JavaScript Object Notation)因其简洁和广泛的兼容性,通常被用作数据交换的主要序列化格式。然而,当你深入使用 JSON 时,可能会发现它并不总是最佳选择。
封面图

如何在 Go 项目中隐藏敏感信息,比如避免暴露用户密码?

11 月 23 日
阅读 3 分钟
162
在我们日常开发的 Go 项目中,用户信息管理是一个非常常见的场景。特别是当我们需要存储和处理用户密码等敏感信息时,如何确保这些信息不暴露给客户端就显得尤为重要。
封面图

探索 Go 语言中的内存对齐:为什么结构体大小会有所不同?

11 月 22 日
阅读 2 分钟
139
在这个例子中,我们定义了两个结构体 A 和 B。它们的字段基本相同,只是排列顺序不同。然后,我们使用 unsafe.Sizeof 来查看这两个结构体在内存中的大小。
封面图

聊聊 Go 语言中的 JSON 序列化与 js 前端交互类型失真问题

11 月 21 日
阅读 2 分钟
131
然而,在处理数字,尤其是大整数时,我们可能会遇到精度丢失的问题。这是因为 JavaScript 中的数字类型只能安全地处理一定范围内的整数。其数字类型是基于 64 位双精度浮点数的 Number 类型。这种类型可以安全表示 -2^53 到 2^53 之间的整数,超过这个范围的整数将无法精确表示,但是我们后端语言的整数范围是超过的,因...
封面图

如何在Go语言中实现表单验证?整一个validator吧!

11 月 20 日
阅读 6 分钟
174
本文将通过一个实际的示例,演示如何使用 Go 语言的 Gin 框架结合 validator 包,实现高级的表单验证功能,并且支持国际化(i18n)的错误信息提示。
封面图

使用漏桶和令牌桶实现API速率限制

11 月 19 日
阅读 3 分钟
112
在现代 Web 应用程序中,流量的突增是不可避免的。为防止服务器被过多的请求压垮,限流(Rate Limiting) 是一个至关重要的技术手段。
封面图

Go语言中使用JWT鉴权、Token刷新完整示例,拿去直接用!

11 月 18 日
阅读 7 分钟
143
在现代 Web 应用中,JWT(JSON Web Token)已经成为了主流的认证与授权解决方案。它轻量、高效、易于实现,并且非常适合于微服务架构。
封面图

分布式唯一ID生成:深入理解Snowflake算法在Go中的实现

11 月 17 日
阅读 4 分钟
179
在分布式系统中,为了确保每个节点生成的 ID 在整个系统中是唯一的,我们需要一种高效且可靠的 ID 生成机制。分布式 ID 的特点全局唯一性:不能出现有重复的 ID 标识,这是基本要求。递增性:确保生成的 ID 对于用户或业务是递增的。高可用性:确保任何时候都能生成正确的 ID。高性能性:在高并发的环境下依然表现良好。...
封面图

Viper,一个Go语言配置管理神器!

11 月 16 日
阅读 4 分钟
164
在 Go 语言中,Viper 是一个功能强大且广泛使用的配置管理库,它支持从多个来源读取配置,包括文件、环境变量、远程配置中心等。本文将详细介绍如何使用 Viper 来管理配置,包括从本地文件和 Consul 远程配置中心读取配置的示例。
封面图

Go Web服务中如何优雅平滑重启?

11 月 15 日
阅读 2 分钟
114
在这篇文章中,我将带大家一起探索如何在 Go 语言中通过使用 endless 包来实现服务的优雅重启,即在不影响当前正在处理的请求的情况下,完成服务的无缝升级。
封面图

Go Web服务中如何优雅关机?

11 月 14 日
阅读 4 分钟
157
在构建 Web 服务时,我们往往会遇到一个棘手的问题:当我们想要停止服务时,如何确保正在处理的请求能够顺利完成,而不是突然中断? 这种技术被称为“优雅关机”,它可以确保在服务关闭时,所有的请求都被妥善处理。
封面图

用 Zap 轻松搞定 Go 语言中的结构化日志

11 月 13 日
阅读 4 分钟
150
Zap 是 Uber 开发的一款高性能日志库,专为那些需要快速、结构化日志记录的场景而设计。与其他日志库相比,Zap 的性能更为优越,尤其是在需要频繁记录日志的高并发环境中。
封面图

Redis 实现高效任务队列:异步队列与延迟队列详解

11 月 12 日
阅读 5 分钟
124
在现代开发中,任务队列是一种非常常见的设计模式。它允许我们将需要耗时的操作放到后台执行,从而提高系统的响应速度和并发能力。而在众多的技术选型中,Redis 凭借其高性能和简单易用性,成为了任务队列的理想选择。
封面图

如何用Redis高效实现点赞功能?用Set?还是Bitmap?

11 月 11 日
阅读 3 分钟
202
我们设定这样一个需求场景:在一篇文章的评论下实现点赞功能,每位用户只能对同一条评论点赞一次,再次点赞则视为“取消点赞”。此外,我们还需要统计每条评论的总点赞数。
封面图

Python中的文字识别利器:pytesseract库

11 月 7 日
阅读 3 分钟
186
今天我要给大家介绍一个非常实用的 Python 库——pytesseract。这是一个基于 Google 的 Tesseract-OCR 引擎的 Python 封装,是一个功能强大的 OCR 工具,能够实现图像中文字的识别。无论是从图片中提取文本信息,还是实现图像转文字的自动化处理,pytesseract 都能够轻松胜任。
封面图

Python爬虫神器requests库的使用

11 月 7 日
阅读 4 分钟
281
在现代编程中,网络请求几乎是每个项目不可或缺的一部分。无论是获取数据、发送信息,还是与第三方 API 交互,都会涉及到网络请求。今天,我们就来详细介绍一下 Python 中的 requests 库,它是一个功能强大、使用方便的 HTTP 请求库。🚀让我们从基础知识开始,一步步深入了解它的特性和实际应用场景。🌟1. 安装 requests ...
封面图

体验了下豆包MarsCode编程助手,惊艳到我了!

8 月 30 日
阅读 3 分钟
2.8k
前天晚上打开掘金的时候,发现有一条系统通知,我还以为是掘金又有什么薅羊毛活动来了呢,😁 定睛一看,原来是:邀请一些博主测评 MarsCode。

Go语言中高效使用Redis的Pipeline

8 月 19 日
阅读 4 分钟
640
在构建高性能应用时,Redis 经常成为开发者的首选工具。作为一个内存数据库,Redis 可以处理大量的数据操作,但如果每个命令都单独发送,网络延迟会成为瓶颈,影响性能。
封面图

Go语言中如何扫描Redis中大量的key

8 月 16 日
阅读 3 分钟
350
KEYS 命令会一次性返回所有匹配的键,这可能导致 Redis 阻塞,严重影响线上服务的稳定性。为了解决这个问题,Redis 提供了 SCAN 命令,用于分批次迭代键,避免一次性返回所有数据。

Go语言中使用sqlx来操作事务

8 月 15 日
阅读 3 分钟
299
在应用程序中,数据库事务的使用至关重要。它可以确保操作的原子性、一致性、隔离性和持久性(ACID)。github.com/jmoiron/sqlx 包提供了一个便利的方法来简化对数据库的操作。
封面图