左诗右码_社区达人页

个人头像照片
左诗右码
已加入开发者社区2035

勋章 更多

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

成就

已发布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服务中如何优雅关机?

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