左诗右码_社区达人页

个人头像照片
左诗右码

0关注

0粉丝

已加入开发者社区2129

勋章 更多

个人头像照片
专家博主
专家博主
个人头像照片
星级博主
星级博主
个人头像照片
技术博主
技术博主
个人头像照片
江湖侠士
江湖侠士

成就

已发布99篇文章
14条评论
已回答0个问题
0条评论
已发布0个视频
github地址

我关注的人 更多

技术能力

兴趣领域
  • Go
  • PHP
  • Python
  • 微服务
  • 容器
  • 人工智能
  • Linux
  • MacOS
擅长领域
技术认证

暂时未有相关云产品技术能力~

三观比五官更正,思想比套路更深。常用技术栈PHP、Go、Python,享受编程,平时爱好写点文章。V公主耗:「左诗右码」,欢迎关注交流。

暂无精选文章
暂无更多信息

2024年12月

  • 12.03 11:10:46
    发表了文章 2024-12-03 11:10:46

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

    在Python开发中,处理HTTP请求至关重要。`grequests`库基于`requests`,支持异步请求,通过`gevent`实现并发,提高性能。本文介绍了`grequests`的安装、基本与高级功能,如GET/POST请求、并发控制等,并探讨其在实际项目中的应用。
  • 12.02 10:03:02
    发表了文章 2024-12-02 10:03:02

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

    微信已成为日常生活中的重要社交工具,但随着使用时间增长,好友列表可能变得臃肿。本文介绍了一个基于 Python 的自动化脚本,利用 `uiautomator2` 库,通过模拟用户操作实现根据标签批量清理微信好友的功能。脚本包括环境准备、类定义、方法实现等部分,详细解析了如何通过标签筛选并删除好友,适合需要批量管理微信好友的用户。
  • 12.01 17:22:03
    发表了文章 2024-12-01 17:22:03

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

    微信清理僵尸粉工具利用Python和`uiautomator2`库,通过模拟转账操作自动检测并标记微信好友列表中被删除、被拉黑或账号存在问题的“僵尸粉”。工具支持开启调试模式、自动打开微信、获取好友信息、判断好友状态、管理标签等功能,最终将检测结果记录到文件中,便于用户管理和清理好友列表。此工具适用于Android设备,已在OPPO Reno4 Pro上测试成功。

2024年11月

  • 11.30 13:16:01
    发表了文章 2024-11-30 13:16:01

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

    `hyperf-throttle-requests` 是专为 Hyperf 框架设计的请求频率限流库,适用于分布式系统和微服务架构,能有效防止恶意攻击和流量高峰对后端服务的影响。通过限制用户在一定时间内的请求次数,确保服务的稳定性和可用性。该库支持注解、助手函数及直接调用三种使用方式,并提供了灵活的配置选项,如存储驱动、最大请求次数等。最新版已兼容 Hyperf 3.1 版本,安装简便,配置灵活,是保护后端服务的理想选择。
  • 11.29 10:06:02
    发表了文章 2024-11-29 10:06:02

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

    `hyperf-alarm-clock` 是专为 Hyperf 框架设计的库,用于监控代码执行时间并在超时后发送通知。支持多种通知通道,如标准输出、日志文件和飞书。适用于需要确保响应及时性的系统,如电商平台订单处理流程监控。安装简单,配置灵活,是提高系统性能和稳定性的有力工具。
  • 11.28 10:19:13
    发表了文章 2024-11-28 10:19:13

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

    `hyperf-wise-locksmith` 是 Hyperf 框架下的互斥锁库,支持文件锁、分布式锁、红锁及协程锁,有效防止分布式环境下的竞争条件。本文介绍了其安装、特性和应用场景,如在线支付系统的余额扣减,确保操作的原子性。
  • 11.27 10:01:47
    发表了文章 2024-11-27 10:01:47

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

    在多线程和高并发环境中,确保代码段互斥执行至关重要。本文介绍了 PHP 互斥锁库 `wise-locksmith`,它提供多种锁机制(如文件锁、分布式锁等),有效解决线程安全问题,特别适用于电商平台库存管理等场景。通过 Composer 安装后,开发者可以利用该库确保在高并发下数据的一致性和安全性。
  • 11.26 10:13:57
    发表了文章 2024-11-26 10:13:57

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

    在现代计算中,文件压缩是节省存储空间和提高传输效率的关键技术。Linux 提供了多种压缩工具,如 `tar`、`zip`、`gzip`、`bzip2` 和 `xz`。本文重点介绍 `xz` 命令,探讨其高压缩比的优势及其基本用法,适合编程新手学习。
  • 11.25 10:25:44
    发表了文章 2024-11-25 10:25:44

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

    在软件开发中,数据安全和隐私保护至关重要。`go-crypto` 是一个专为 Golang 设计的加密解密工具库,支持 AES 和 RSA 等加密算法,帮助开发者轻松实现数据的加密和解密,保障数据传输和存储的安全性。本文将详细介绍 `go-crypto` 的安装、特性及应用实例。
  • 11.24 22:21:07
    发表了文章 2024-11-24 22:21:07

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

    在Go语言开发中,JSON因其简洁和广泛的兼容性而常用于数据交换,但其在处理数字类型时存在精度问题。本文探讨了JSON序列化的一些局限性,并介绍了两种替代方案:Go特有的gob二进制协议,以及msgpack,两者都能有效解决类型保持和性能优化的问题。
  • 11.23 13:09:20
    发表了文章 2024-11-23 13:09:20

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

    在Go语言开发中,用户信息管理常涉及敏感数据如密码的处理。为防止这些数据暴露给客户端,本文介绍了三种方法:使用JSON标签忽略字段、自定义序列化逻辑、使用数据传输对象(DTO),以确保用户数据的安全性。通过这些方法,可以有效控制数据输出,避免敏感信息泄露。
  • 11.22 10:49:35
    发表了文章 2024-11-22 10:49:35

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

    在 Go 语言中,内存对齐是优化内存访问速度的重要概念。通过调整数据在内存中的位置,编译器确保不同类型的数据能够高效访问。本文通过示例代码展示了两个结构体 `A` 和 `B`,尽管字段相同但排列不同,导致内存占用分别为 40 字节和 48 字节。通过分析内存布局,解释了内存对齐的原因,并提供了优化结构体字段顺序的方法,以减少内存填充,提高性能。
  • 11.21 10:21:36
    发表了文章 2024-11-21 10:21:36

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

    在Web开发中,后端与前端的数据交换常使用JSON格式,但JavaScript的数字类型仅能安全处理-2^53到2^53间的整数,超出此范围会导致精度丢失。本文通过Go语言的`encoding/json`包,介绍如何通过将大整数以字符串形式序列化和反序列化,有效解决这一问题,确保前后端数据交换的准确性。
  • 11.20 11:16:56
    发表了文章 2024-11-20 11:16:56

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

    本文通过一个实际示例,展示了如何使用 Go 语言的 Gin 框架结合 `validator` 包实现高级表单验证,并支持多语言错误提示。示例包括表单数据结构定义、自定义验证器、多语言支持及错误处理等关键步骤,确保用户提交的信息符合要求,并能根据用户语言偏好提供相应的错误提示。
  • 11.19 15:03:18
    发表了文章 2024-11-19 15:03:18

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

    本文介绍如何在 Go 语言的 Gin 框架中使用漏桶算法和令牌桶算法实现 API 限流,以保护系统资源,防止过载和恶意攻击,确保服务稳定。通过具体代码示例展示了两种算法的应用方法。
  • 11.18 10:40:01
    发表了文章 2024-11-18 10:40:01

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

    本文介绍了如何在 Go 语言中使用 Gin 框架实现 JWT 用户认证和安全保护。JWT(JSON Web Token)是一种轻量、高效的认证与授权解决方案,特别适合微服务架构。文章详细讲解了 JWT 的基本概念、结构以及如何在 Gin 中生成、解析和刷新 JWT。通过示例代码,展示了如何在实际项目中应用 JWT,确保用户身份验证和数据安全。完整代码可在 GitHub 仓库中查看。
  • 11.17 15:04:36
    发表了文章 2024-11-17 15:04:36

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

    在分布式系统中,确保每个节点生成的 ID 唯一且高效至关重要。Snowflake 算法由 Twitter 开发,通过 64 位 long 型数字生成全局唯一 ID,包括 1 位标识位、41 位时间戳、10 位机器 ID 和 12 位序列号。该算法具备全局唯一性、递增性、高可用性和高性能,适用于高并发场景,如电商促销时的大量订单生成。本文介绍了使用 Go 语言的 `bwmarrin/snowflake` 和 `sony/sonyflake` 库实现 Snowflake 算法的方法。
  • 11.16 16:34:12
    发表了文章 2024-11-16 16:34:12

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

    Viper 是一个功能强大的 Go 语言配置管理库,支持从多种来源读取配置,包括文件、环境变量、远程配置中心等。本文详细介绍了 Viper 的核心特性和使用方法,包括从本地 YAML 文件和 Consul 远程配置中心读取配置的示例。Viper 的多来源配置、动态配置和轻松集成特性使其成为管理复杂应用配置的理想选择。
  • 11.15 10:10:07
    发表了文章 2024-11-15 10:10:07

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

    在生产环境中,服务升级时如何确保不中断当前请求并应用新代码是一个挑战。本文介绍了如何使用 Go 语言的 `endless` 包实现服务的优雅重启,确保在不停止服务的情况下完成无缝升级。通过示例代码和测试步骤,详细展示了 `endless` 包的工作原理和实际应用。
  • 11.14 11:50:02
    发表了文章 2024-11-14 11:50:02

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

    在构建 Web 服务时,优雅关机是一个关键的技术点,它确保服务关闭时所有正在处理的请求都能顺利完成。本文通过一个简单的 Go 语言示例,展示了如何使用 Gin 框架实现优雅关机。通过捕获系统信号和使用 `http.Server` 的 `Shutdown` 方法,我们可以在服务关闭前等待所有请求处理完毕,从而提升用户体验,避免数据丢失或不一致。
  • 11.13 17:24:20
    发表了文章 2024-11-13 17:24:20

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

    在现代应用程序开发中,日志记录至关重要。Go 语言中有许多日志库,而 Zap 因其高性能和灵活性脱颖而出。本文详细介绍如何在 Go 项目中使用 Zap 进行结构化日志记录,并展示如何定制日志输出,满足生产环境需求。通过基础示例、SugaredLogger 的便捷使用以及自定义日志配置,帮助你在实际开发中高效管理日志。
  • 11.12 11:17:56
    发表了文章 2024-11-12 11:17:56

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

    本文介绍了如何使用 Redis 实现异步队列和延迟队列。通过 Go 语言的 `github.com/go-redis/redis` 客户端,详细讲解了 Redis 客户端的初始化、异步队列的实现和测试、以及延迟队列的实现和测试。文章从基础连接开始,逐步构建了完整的队列系统,帮助读者更好地理解和应用这些概念,提升系统的响应速度和性能。
  • 11.11 17:49:01
    发表了文章 2024-11-11 17:49:01

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

    在众多软件应用中,点赞功能几乎成为标配。本文从实际需求出发,探讨如何利用 Redis 的 `Set` 和 `Bitmap` 数据结构设计高效点赞系统,分析其优缺点,并提供 PHP 实现示例。通过对比两种方案,帮助开发者选择最适合的存储方式。
  • 11.07 22:47:12
    发表了文章 2024-11-07 22:47:12

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

    `pytesseract` 是一个基于 Google Tesseract-OCR 引擎的 Python 库,能够从图像中提取文字,支持多种语言,易于使用且兼容性强。本文介绍了 `pytesseract` 的安装、基本功能、高级特性和实际应用场景,帮助读者快速掌握 OCR 技术。
  • 11.07 22:38:16
    发表了文章 2024-11-07 22:38:16

    Python爬虫神器requests库的使用

    在现代编程中,网络请求是必不可少的部分。本文详细介绍 Python 的 requests 库,一个功能强大且易用的 HTTP 请求库。内容涵盖安装、基本功能(如发送 GET 和 POST 请求、设置请求头、处理响应)、高级功能(如会话管理和文件上传)以及实际应用场景。通过本文,你将全面掌握 requests 库的使用方法。🚀🌟

2024年08月

  • 08.30 17:46:15
    发表了文章 2024-08-30 17:46:15

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

    豆包 MarsCode 是一款 AI 编程助手,提供智能代码补全等功能,支持多种编程语言及 IDE,涵盖代码解释、审查与修复等辅助功能,旨在提升开发效率。其支持线上编辑器,无需搭建环境即可运行代码,体验接近本地 VS Code。尽管部分功能解释略显不足,但整体表现出色,可无缝替代 GitHub Copilot,适合希望提高开发效率的程序员使用。无论是在本地还是线上,MarsCode 都能显著提升编程体验。
  • 08.19 14:49:20
    发表了文章 2024-08-19 14:49:20

    Go语言中高效使用Redis的Pipeline

    Redis 是构建高性能应用时常用的内存数据库,通过其 Pipeline 和 Watch 机制可批量执行命令并确保数据安全性。Pipeline 类似于超市购物一次性结账,减少网络交互时间,提升效率。Go 语言示例展示了如何使用 Pipeline 和 Pipelined 方法简化代码,并通过 TxPipeline 保证操作原子性。Watch 机制则通过监控键变化实现乐观锁,防止并发问题导致的数据不一致。这些机制简化了开发流程,提高了应用程序的性能和可靠性。
  • 08.16 22:12:18
    发表了文章 2024-08-16 22:12:18

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

    在Redis中,遍历大量键时直接使用`KEYS`命令会导致性能瓶颈,因为它会一次性返回所有匹配的键,可能阻塞Redis并影响服务稳定性。为解决此问题,Redis提供了`SCAN`命令来分批迭代键,避免一次性加载过多数据。本文通过两个Go语言示例演示如何使用`SCAN`命令:第一个示例展示了基本的手动迭代方式;第二个示例则利用`Iterator`简化迭代过程。这两种方法均有效地避免了`KEYS`命令的性能问题,并提高了遍历Redis键的效率。
  • 08.15 14:58:43
    发表了文章 2024-08-15 14:58:43

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

    在应用中,数据库事务保证操作的ACID特性至关重要。`github.com/jmoiron/sqlx`简化了数据库操作。首先安装SQLX和MySQL驱动:`go get github.com/jmoiron/sqlx`和`go get github.com/go-sql-driver/mysql`。导入所需的包后,创建数据库连接并使用`Beginx()`方法开始事务。通过`tx.Commit()`提交或`tx.Rollback()`回滚事务以确保数据一致性和完整性。
  • 08.14 14:00:02
    发表了文章 2024-08-14 14:00:02

    Go语言中使用 sqlx 来操作 MySQL

    Go语言因其高效的性能和简洁的语法而受到开发者们的欢迎。在开发过程中,数据库操作不可或缺。虽然Go的标准库提供了`database/sql`包支持数据库操作,但使用起来稍显复杂。为此,`sqlx`应运而生,作为`database/sql`的扩展库,它简化了许多常见的数据库任务。本文介绍如何使用`sqlx`包操作MySQL数据库,包括安装所需的包、连接数据库、创建表、插入/查询/更新/删除数据等操作,并展示了如何利用命名参数来进一步简化代码。通过`sqlx`,开发者可以更加高效且简洁地完成数据库交互任务。
  • 08.13 16:26:50
    发表了文章 2024-08-13 16:26:50

    Go 语言中的 MySQL 事务操作

    在现代应用中,确保数据完整与一致至关重要。MySQL的事务机制提供了可靠保障。本文首先解释了事务的概念及其ACID特性,随后介绍了如何在Go语言中使用`database/sql`包进行MySQL事务操作。通过一个银行转账的例子,演示了如何通过Go开启事务、执行操作并在必要时回滚或提交,确保数据一致性。最后,还讨论了不同事务隔离级别的含义及如何在Go中设置这些级别。通过本文的学习,开发者能更好地掌握MySQL事务的应用。
  • 08.12 22:12:59
    发表了文章 2024-08-12 22:12:59

    Go语言中进行MySQL预处理和SQL注入防护

    在现代Web应用开发中,安全性至关重要。SQL注入是一种常见的攻击方式,攻击者可通过构造特殊SQL查询来非法访问或修改数据库数据。本文介绍如何利用Go语言中的预处理SQL语句来防范此类攻击。预处理不仅能提升安全性,还能提高性能并简化代码。通过使用`?`作为占位符,Go自动处理参数转义,有效避免SQL注入。此外,文章还提供了连接MySQL数据库、执行预处理查询以及最佳实践的示例代码。务必遵循这些指导原则,确保应用程序的安全性。
  • 08.09 12:06:13
    发表了文章 2024-08-09 12:06:13

    手摸手教你,从0到1开发一个Chrome浏览器插件

    开发 Chrome 插件既有趣又具成就感。本教程将引导你从零开始,逐步创建一个简单的 Chrome 插件。首先了解 Chrome 插件是可增强浏览器功能的小程序。以一个基础示例开始,你将学习如何设置开发环境,包括安装 Chrome 和准备文本编辑器,并掌握 HTML、CSS 和 JavaScript 的基础知识。接着,我们将构建插件的基本结构,涉及 `manifest.json` 配置文件、`background.js` 后台脚本、`popup.html` 用户界面以及 `style.css` 样式表。
  • 08.08 23:22:01
    发表了文章 2024-08-08 23:22:01

    Go语言中如何连接 MySQL,基础必备!

    在现代应用中,数据库操作至关重要。本教程将指导你使用Go语言进行MySQL的CRUD操作。首先,确保已创建`test_db`数据库及`users`表。接着安装MySQL驱动:`go get -u github.com/go-sql-driver/mysql`。通过示例代码,你将学会连接数据库、创建、查询、更新及删除用户记录。尽管此方法直接,但在实际项目中可能略显繁琐,后续会介绍更高效的库如sqlx或gorm。现在,让我们从基础开始,掌握Go语言中的数据库交互技巧。
  • 08.07 18:18:48
    发表了文章 2024-08-07 18:18:48

    涨姿势啦!Go语言中正则表达式初始化的最佳实践

    在Go语言中,正则表达式是处理字符串的强大工具,但其编译过程可能消耗较多性能。本文探讨了正则表达式编译的性能影响因素,包括解析、状态机构建及优化等步骤,并通过示例展示了编译的时间成本。为了优化性能,推荐使用预编译策略,如在包级别初始化正则表达式对象或通过`init`函数进行错误处理。此外,简化正则表达式和分段处理也是有效手段。根据初始化的复杂程度和错误处理需求,开发者可以选择最适合的方法,以提升程序效率与可维护性。
  • 08.06 22:10:10
    发表了文章 2024-08-06 22:10:10

    在项目中到底应不应该用jwt?

    JSON Web Tokens(JWT)是一种开放标准,用于在网络上传输安全信息。它常用于身份验证场景,用户登录后,服务器生成JWT并返回给客户端。客户端在后续请求中携带此令牌,服务器验证其有效性来确认用户身份。JWT具有无状态、可扩展和安全的特点,支持跨域认证,但也有令牌大小、续期复杂等缺点。是否使用JWT取决于项目需求,多数公司在采用,除非有特殊理由避免。以下是Go语言中使用JWT的一个示例。
  • 08.05 15:28:29
    发表了文章 2024-08-05 15:28:29

    一文弄懂Go语言的Context包,值得收藏!

    在开发高效的Go应用程序时,处理超时、取消操作和传递请求范围的数据至关重要。Go标准库中的`context`包提供了一套强大的工具,用于在不同层级间传递取消信号、超时和截止时间等信息。本文首先概述了`context`包的核心功能,接着详细介绍了关键方法,如`WithCancel`、`WithDeadline`、`WithTimeout`和`WithValue`的使用场景。通过创建和派生上下文,开发者能更好地管理请求的生命周期,控制长时间运行的操作,并在并发环境中传递必要的数据。
  • 08.02 13:42:48
    发表了文章 2024-08-02 13:42:48

    想要解析邮件?IMAP协议轻松助你,不再烦恼!

    电子邮件仍是关键的通讯工具,利用编程语言自动化处理能显著提高效率。本文介绍使用Go语言从IMAP服务器读取、解析邮件及处理相关信息。首先概述POP3/IMAP/SMTP协议的作用,强调IMAP协议的优势及其在邮件客户端与服务器间双向同步的特点。接着,指导如何获取授权码以连接第三方服务。通过实战演示,展示使用`go-imap`库连接服务器、读取邮件详情(如主题、收件人等)、标记邮件为已读的过程。最后,对比`Store`与`UidStore`方法的区别,指出使用`UidStore`更安全可靠。本文提供了一段详细的Go语言示例代码,帮助读者快速上手。

2024年07月

  • 07.18 17:34:53
    发表了文章 2024-07-18 17:34:53

    使用 Hugo 快速搭建一个云博客系统

    使用Hugo快速搭建博客,Hugo是基于Go的静态站点生成器,以其简单、高效著称。[官网](https://gohugo.io/) 提供多种主题,如[m10c](https://themes.gohugo.io/themes/hugo-theme-m10c/)等。在Mac上可通过`brew install hugo`安装。创建站点`hugo new site ~/hugo-blog`,
  • 07.18 17:11:42
    发表了文章 2024-07-18 17:11:42

    新MacBook到手时,建议你需要做的事情(二)

    在Mac上重装系统前,应备份`~/.gitconfig`, `~/.ssh`, `~/.config`等个人配置文件。推荐的软件包括有道云笔记、WPS Office、FastZip、XMind、网络调试助手、Chrome、Clash、iTerm2、oh-my-zsh、Homebrew、Git、wget、tree、telnet、Neovim、tldr、IDEs(如JetBrains产品)、GitHub Desktop、VS Code、
  • 07.18 17:03:10
    发表了文章 2024-07-18 17:03:10

    新MacBook到手时,建议你需要做的事情(一)

    Markdown 摘要: --- 重装 **MacBook Pro (16", 2019)** 后,配置从简,侧重系统默认软件。首先在引导时联网、启用定位,登录 **Apple ID** 以实现跨设备同步。设置包括:启用触控板轻点、三指拖移,显示访达中的硬盘和常用边栏项,个性化输入法如双拼,并在控制中心显示键盘亮度。安装必要字体如 MiSans 和阿里妈妈数黑体。后续内容将涉及软件安装及编程相关配置。
  • 07.18 16:52:19
    发表了文章 2024-07-18 16:52:19

    如何借助Redis巧妙的管理用户签到?——Bitmap篇

    Redis位操作用于高效存储分析,如用户签到。通过位操作,每个用户签到只需1位,节省空间。使用`setbit`设置签到状态,`getbit`查询,`bitcount`统计签到天数。适用于用户特征标记、系统功能开关和在线状态追踪。高效率、低空间占用,适合大数据场景。
  • 07.18 16:48:10
    发表了文章 2024-07-18 16:48:10

    如何借助Redis更高效统计UV?——Hyperloglog篇

    Redis的HyperLogLog数据类型是用于近似计算大规模数据集中不重复元素基数的工具,它以低空间开销(约12KB)提供高精度的估算(误差率约0.81%)。通过`pfadd`添加元素,`pfcount`统计数量,`pfmerge`合并多个HyperLogLog,实现去重计数。尽管内部存储为字符串,但它是概率数据结构,适合高效UV统计和其他大数据场景。
  • 07.18 16:37:35
    发表了文章 2024-07-18 16:37:35

    如何在Redis中快速推算两地之间的距离?——Geo篇

    Redis 3.2 引入Geo类型,支持地理位置数据存储和计算,如距离和范围查询。使用`GEOADD`将城市经纬度添加至`zset`中,通过`GEOPOS`获取坐标,`GEODIST`计算距离,`GEORADIUS`查找指定范围内的城市。Redis的Geo功能适用于快速的地理位置服务,如附近搜索和配送范围分析。利用`ZSET`操作可增删位置数据,简化地理空间应用开发。
  • 07.12 02:12:39
    发表了文章 2024-07-12 02:12:39

    Go语言map并发安全,互斥锁和读写锁谁更优?

    Go并发编程中,`sync.Mutex`提供独占访问,适合读写操作均衡或写操作频繁的场景;`sync.RWMutex`允许多个读取者并行,适用于读多写少的情况。明智选择锁可提升程序性能和稳定性。示例展示了如何在操作map时使用这两种锁。
  • 07.12 02:09:06
    发表了文章 2024-07-12 02:09:06

    Go语言map并发安全使用的正确姿势

    在Go并发编程中,由于普通map不是线程安全的,多goroutine访问可能导致数据竞态。为保证安全,可使用`sync.Mutex`封装map或使用从Go 1.9开始提供的`sync.Map`。前者通过加锁手动同步,后者内置并发控制,适用于多goroutine共享。选择哪种取决于具体场景和性能需求。
  • 07.12 02:05:12
    发表了文章 2024-07-12 02:05:12

    Go语言中的map为什么默认不是并发安全的?

    Go语言的map默认不保证并发安全,以优化性能和简洁性。官方建议在需要时使用`sync.Mutex`保证安全。从Go 1.6起,并发读写map会导致程序崩溃,鼓励开发者显式处理并发问题。这样做的哲学是让代码更清晰,并避免不必要的性能开销。
  • 07.11 17:55:45
    发表了文章 2024-07-11 17:55:45

    Docker 安装 KONG 带你玩转 API 网关

    **摘要:** 在微服务架构中,API网关Kong作为流行开源选择,提供身份验证、安全和流量控制等功能。通过Docker部署Kong简单高效。步骤包括:创建Docker网络,部署PostgreSQL数据库,初始化Kong数据库,启动Kong容器,并检查运行状态。此外,安装Konga管理界面便于直观管理Kong。使用Docker命令行,逐步设置环境变量和网络连接,即可完成安装。当不再需要时,可清理相关容器和网络。Kong结合Konga,为API管理提供强大且用户友好的解决方案。
  • 发表了文章 2024-12-03

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

  • 发表了文章 2024-12-02

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

  • 发表了文章 2024-12-01

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

  • 发表了文章 2024-11-30

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

  • 发表了文章 2024-11-29

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

  • 发表了文章 2024-11-28

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

  • 发表了文章 2024-11-27

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

  • 发表了文章 2024-11-26

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

  • 发表了文章 2024-11-25

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

  • 发表了文章 2024-11-24

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

  • 发表了文章 2024-11-23

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

  • 发表了文章 2024-11-22

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

  • 发表了文章 2024-11-21

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

  • 发表了文章 2024-11-20

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

  • 发表了文章 2024-11-19

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

  • 发表了文章 2024-11-18

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

  • 发表了文章 2024-11-17

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

  • 发表了文章 2024-11-16

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

  • 发表了文章 2024-11-15

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

  • 发表了文章 2024-11-14

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

正在加载, 请稍后...
滑动查看更多
正在加载, 请稍后...
暂无更多信息
正在加载, 请稍后...
暂无更多信息
AI助理

你好,我是AI助理

可以解答问题、推荐解决方案等