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

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

Go语言中高效使用Redis的Pipeline

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

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

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

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

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

Go语言中使用 sqlx 来操作 MySQL

8 月 14 日
阅读 6 分钟
257
Go 语言以其高效和简洁的语法逐渐受到开发者的青睐。在实际开发中,数据库操作是不可避免的任务之一。虽然标准库提供了 database/sql 包来支持数据库操作,但使用起来略显繁琐。
封面图

Go 语言中的 MySQL 事务操作

8 月 13 日
阅读 3 分钟
195
事务是一个包含一个或多个 SQL 操作的逻辑单元。在 MySQL 中,事务确保了这些操作要么全部成功执行,要么在发生错误时全部回滚,保持数据的一致性。事务的主要特性包括:
封面图

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

8 月 12 日
阅读 3 分钟
215
在现代 web 应用开发中,安全性是我们必须重视的一个方面。SQL 注入是常见的攻击手法之一,它允许攻击者通过构造特殊的 SQL 查询来访问、修改数据库中的数据。
封面图

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

8 月 9 日
阅读 3 分钟
923
开发 Chrome 浏览器插件(也称为扩展)是一段有趣且有成就感的过程。在本教程中,我将引导你从零开始,逐步创建一个简单的 Chrome 插件。无论你是编程新手还是有一定基础的用户,我们都将以简单易懂的方式介绍整个过程。
封面图

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

8 月 8 日
阅读 4 分钟
682
在本教程中,我们将学习如何使用 Go 语言与 MySQL 数据库进行基本的 CRUD(创建、读取、更新、删除)操作。我们将使用 database/sql 标准库以及 github.com/go-sql-driver/mysql 驱动来实现这些功能。
封面图

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

8 月 7 日
阅读 5 分钟
268
然而,正则表达式的编译过程是比较耗费性能的,因此在初始化正则表达式时需要考虑性能和代码的可读性。本文将讨论两种主要的正则表达式初始化方式,并给出最佳实践建议。
封面图

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

8 月 6 日
阅读 3 分钟
206
通常用于身份验证和授权场景,通过 JWT 可以安全地传输用户信息,如用户名和用户角色等。一旦用户登录成功,服务器会生成一个包含用户信息的 JWT 并将其返回给客户端。客户端在后续的请求中携带这个令牌,服务器可以验证令牌的有效性以确定请求的来源身份是否合法。这样无需在每个请求中都验证用户凭证。这种认证机制可...
封面图

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

8 月 5 日
阅读 5 分钟
591
这时,Go 标准库中的 context 包就显得尤其重要了,它提供了在不同 API 层级之间传递取消信号、超时时间、截止日期,以及其他特定请求的值的能力。
封面图

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

8 月 2 日
阅读 8 分钟
370
POP3 (Post Office Protocol - Version 3)协议用于支持使用电子邮件客户端获取并删除在服务器上的电子邮件。
封面图

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

7 月 18 日
阅读 3 分钟
621
Hugo 快速搭建一个博客系统Hugo 是由 Go 语言实现的静态网站生成器。简单、易用、高效、易扩展、快速部署。支持 markdown 语法。官网地址皮肤地址这里我使用的主题是 m10c,你也可以使用更多的主题,比如:图文并茂类型的极简类型的传统博客类型的极客风格的安装 Hugo直接去 Hugo Releases 页面下载对应系统版本的 Hugo ...
封面图

2024年,是该掌握双拼打字的时候了!

7 月 18 日
阅读 5 分钟
569
双拼是汉语拼音输入法的一种编码方案。相对于全拼而言,使用双拼输入汉字时只需输入一个代表声母的字母,一个代表韵母的字母,就可以打出任意一个中文字了。(摘抄自维基百科)
封面图

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

7 月 18 日
阅读 10 分钟
294
我的 Mac 版本为 MacBook Pro(16 英寸,2019 年) 系统版本为:macOS Sonoma 14.5如果你是想将一台 Mac 进行重装系统,那么则十分建议以下文件或者目录,你需要先进行备份。~/.gitconfig Git 的配置文件~/.ssh SSH 的密钥目录~/.config 一些软件的个人配置目录这篇文章主要介绍我一般都下载了哪些软件,以及常见的配置...
封面图

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

7 月 18 日
阅读 3 分钟
379
昨天把电脑重装了一下,导致现在就是一个完全干干净净的系统,什么软件都没有,也没有任何生产力工具,因此,借着这个机会来记录一下我的 Mac 相关的一些配置。
封面图

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

7 月 18 日
阅读 2 分钟
206
Redis,作为一种高性能的键值对存储系统,提供了丰富的数据操作指令,其中位操作指令(Bit operations)允许我们直接在字符串类型的值上执行位级操作,这种方式非常适合处理如用户签到等场景,它可以以极小的存储空间来表示大量的用户签到信息。
封面图

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

7 月 18 日
阅读 2 分钟
166
在今天的互联网时代,数据如潮水般汹涌而来。从用户行为数据、系统日志到实时交互数据,如何高效、准确地统计这海量数据中的唯一元素数量,成为了一个不小的挑战。
封面图

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

7 月 18 日
阅读 3 分钟
266
处理地理位置数据已成为许多应用程序的核心需求。无论是推送附近的餐馆还是对全国范围内的服务点进行分析,快速而准确地处理和检索地理位置信息都至关重要。Redis,作为一种高性能的内存数据库,为我们提供了这样的解决方案。
封面图

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

7 月 12 日
阅读 2 分钟
235
在处理并发控制时,sync.Mutex(互斥锁)和 sync.RWMutex(读写锁)是两个常用的工具。理解它们各自的优劣及擅长的场景,能帮助我们更好地设计高效且稳定的并发程序。
封面图

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

7 月 12 日
阅读 2 分钟
292
在 Go 的并发模型中,goroutine 是轻量级的线程,我们可以轻松地创建成千上万的 goroutine。但是,当这些 goroutine 尝试同时访问和修改同一个 map 时,由于 map 本身不是并发安全的,这就可能导致数据竞态,进而影响数据的完整性与程序的稳定性。
封面图

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

7 月 12 日
阅读 2 分钟
193
首先,我们得知道 map 是什么。在 Go 中,map 是一种内置的数据结构,它提供了 “键值对”(Key-Value)的存储机制。使用 map,你可以通过 Key 快速找到对应的 Value,这让我们在处理一些需要快速查询的场景时如虎添翼。
封面图

Docker 安装 KONG 带你玩转 API 网关

7 月 11 日
阅读 4 分钟
772
在当今的软件开发中,API 网关已成为微服务架构中不可或缺的一环。它不仅简化了服务间的通信、提供了统一的入口,还能在安全、监控、限流等方面发挥巨大作用。
封面图

深入理解 Nginx 与 Kong 的配置与实践

7 月 11 日
阅读 3 分钟
1.8k
在现代的微服务架构中,服务之间的通信和负载坐标成为了关键环节。这篇文章将深入探讨如何通过 Nginx 配置实现服务的负载均衡,同时如何利用 Kong API 网关管理微服务,包括但不限于服务发现、路由、和负载坐标。我们将使用具体代码示例,确保即便是编程新手也能轻松领悟。
封面图

使用 Protobuf 实现高效数据交换

7 月 11 日
阅读 2 分钟
335
在当今的软件开发领域,数据传输的效率和格式化方式尤为关键。Google 开发的 Protocol Buffers(Protobuf) 是一种语言无关的、平台无关的、高效、可扩展的序列化格式。
封面图

Go语言设计模式:使用Option模式简化类的初始化

7 月 9 日
阅读 2 分钟
523
在面向对象编程中,当我们需要创建一个构造参数众多的类时,不仅使得代码难以阅读,而且在参数较多时,调用者需要记住每个参数的顺序和类型,这无疑增加了使用的复杂性,代码往往变得难以管理。
封面图

Go 语言性能优化技巧

7 月 9 日
阅读 3 分钟
295
在软件开发中,性能往往是我们需要特别关注的方面之一。对于使用 Go 语言的开发者而言,如何编写高性能的代码是一个重要的考虑点。今天,我将分享一些在 Go 语言开发中可以采取的性能优化策略,希望能帮助大家写出更高效的程序。数字与字符串的转换在处理数字和字符串的转换时,strconv.Itoa() 通常比 fmt.Sprintf() 更...
封面图

聊聊 Go 中的单例模式

7 月 8 日
阅读 2 分钟
1.9k
饿汉式单例模式的核心思想是:类加载时就创建实例。由于 Go 语言不同于 Java,没有显式的类概念,我们通常使用结构体来模拟类的行为。下面是一个饿汉式单例模式的实现示例:
封面图

Go 项目自动重载解决方案 —— Air 使用入门

7 月 8 日
阅读 2 分钟
663
Air 是一个为 Go 项目提供自动重载功能的工具。通过监听项目中文件的变化,自动重新编译并运行你的应用,从而达到热重载的效果,极大地提升开发效率。Air 的使用也非常简单,下面我们将通过几个步骤来详细介绍。
封面图