随笔分类 -  Go每日一库

上一页 1 ··· 4 5 6 7 8 9 10 下一页
摘要:## 简介 我们在 Web 开发中时常会遇到这样的需求,执行一个操作之后,需要给用户一定形式的通知。例如,用户下单之后通过邮件发送电子发票,网上购票支付后通过短信发送车次信息。但是这类需求并不需要非常及时,如果放在请求流程中处理,会影响请求的响应时间。这类任务我们一般使用异步的方式来执行。[`job 阅读全文
posted @ 2023-09-28 14:20 larkwins 阅读(137) 评论(0) 推荐(0)
摘要:## 简介 [`mapstructure`](https://github.com/mitchellh/mapstructure)用于将通用的`map[string]interface{}`解码到对应的 Go 结构体中,或者执行相反的操作。很多时候,解析来自多种源头的数据流时,我们一般事先并不知道他 阅读全文
posted @ 2023-09-28 14:20 larkwins 阅读(490) 评论(0) 推荐(0)
摘要:## 简介 [`cron`](https://github.com/robfig/cron)一个用于管理定时任务的库,用 Go 实现 Linux 中`crontab`这个命令的效果。之前我们也介绍过一个类似的 Go 库——[`gron`](https://go-quiz.github.io/2020 阅读全文
posted @ 2023-09-28 14:17 larkwins 阅读(312) 评论(0) 推荐(0)
摘要:## 简介 [`cli`](https://github.com/urfave/cli)是一个用于构建命令行程序的库。我们之前也介绍过一个用于构建命令行程序的库[`cobra`](https://go-quiz.github.io/2020/01/17/godailylib/cobra/)。在功能上 阅读全文
posted @ 2023-09-28 14:17 larkwins 阅读(180) 评论(0) 推荐(0)
摘要:## 简介 [`negroni`](https://github.com/urfave/negroni)是一个专注于 HTTP 中间件的库。它小巧,无侵入,鼓励使用标准库`net/http`的处理器(`Handler`)。本文就来介绍一下这个库。 为什么要使用中间件?有一些逻辑代码,如统计、日志、调 阅读全文
posted @ 2023-09-28 14:17 larkwins 阅读(86) 评论(0) 推荐(0)
摘要:## 简介 在上一篇文章中,我们介绍了一个 Go 的高颜值 GUI 库`fyne`。本文接着上一篇,介绍如何使用`fyne`编写一个简单的计算器程序。程序效果如下: ![](/img/in-post/godailylib/calc1.png) ## 控件布局 我们使用`widget.Entry`来显 阅读全文
posted @ 2023-09-28 14:17 larkwins 阅读(441) 评论(0) 推荐(0)
摘要:## 简介 Go 语言生态中,GUI 一直是短板,更别说跨平台的 GUI 了。[`fyne`](https://fyne.io/)向前迈了一大步。`fyne` 是 Go 语言编写的**跨平台的** UI 库,它可以很方便地移植到手机设备上。`fyne`使用上非常简单,同时它还提供`fyne`命令打包 阅读全文
posted @ 2023-09-28 14:17 larkwins 阅读(1193) 评论(0) 推荐(0)
摘要:## 简介 权限管理在几乎每个系统中都是必备的模块。如果项目开发每次都要实现一次权限管理,无疑会浪费开发时间,增加开发成本。因此,`casbin`库出现了。`casbin`是一个强大、高效的访问控制库。支持常用的多种访问控制模型,如`ACL/RBAC/ABAC`等。可以实现灵活的访问权限控制。同时, 阅读全文
posted @ 2023-09-28 14:17 larkwins 阅读(397) 评论(0) 推荐(0)
摘要:## 简介 [twirp](https://github.com/twitchtv/twirp)是一个基于 Google Protobuf 的 RPC 框架。`twirp`通过在`.proto`文件中定义服务,然后自动生产服务器和客户端的代码。让我们可以将更多的精力放在业务逻辑上。咦?这不就是 gR 阅读全文
posted @ 2023-09-28 14:17 larkwins 阅读(134) 评论(0) 推荐(0)
摘要:## 简介 在之前的两篇文章[`rpc`](https://go-quiz.github.io/2020/05/08/godailylib/rpc)和[`json-rpc`](https://go-quiz.github.io/2020/05/10/godailylib/jsonrpc)中,我们介绍 阅读全文
posted @ 2023-09-28 14:17 larkwins 阅读(268) 评论(0) 推荐(0)
摘要:## 简介 在[上一篇文章](https://go-quiz.github.io/2020/05/08/godailylib/rpc)中我们介绍了 Go 标准库`net/rpc`的用法。在默认情况下,`rpc`库内部使用`gob`格式传输数据。我们仿造`gob`的编解码器实现了一个`json`格式的 阅读全文
posted @ 2023-09-28 14:17 larkwins 阅读(150) 评论(0) 推荐(0)
摘要:## 简介 RPC(Remote Procedure Call)是远程方法调用的缩写,它可以通过网络调用远程对象的方法。Go 标准库`net/rpc`提供了一个**简单、强大且高性能**的 RPC 实现。仅需编写很少的代码就能实现 RPC 服务。本文就来介绍一下这个库。 ## 快速使用 标准库无需安 阅读全文
posted @ 2023-09-28 14:17 larkwins 阅读(113) 评论(0) 推荐(0)
摘要:## 简介 Go 标准库提供的数据库接口`database/sql`比较底层,使用它来操作数据库非常繁琐,而且容易出错。因而社区开源了不少第三方库,如上一篇文章中的`sqlc`工具,还有各式各样的 ORM (Object Relational Mapping,对象关系映射库),如[`gorm`](h 阅读全文
posted @ 2023-09-28 14:17 larkwins 阅读(378) 评论(0) 推荐(0)
摘要:## 简介 在 Go 语言中编写数据库操作代码真的非常痛苦!`database/sql`标准库提供的都是比较底层的接口。我们需要编写大量重复的代码。大量的模板代码不仅写起来烦,而且还容易出错。有时候字段类型修改了一下,可能就需要改动很多地方;添加了一个新字段,之前使用`select *`查询语句的地 阅读全文
posted @ 2023-09-28 14:16 larkwins 阅读(297) 评论(0) 推荐(1)
摘要:## 简介 [`nutsdb`](https://github.com/xujiajun/nutsdb)是一个完全由 Go 编写的简单、快速、可嵌入的持久化存储。`nutsdb`与我们之前介绍过的[`buntdb`](https://go-quiz.github.io/2020/03/21/goda 阅读全文
posted @ 2023-09-28 14:16 larkwins 阅读(156) 评论(0) 推荐(0)
摘要:## 简介 每个编程语言都有很多日志库,因为记录日志在每个项目中都是必须的。前面我们介绍了标准日志库[`log`](https://go-quiz.github.io/2020/02/07/godailylib/log/)、好用的[`logrus`](https://go-quiz.github.i 阅读全文
posted @ 2023-09-28 14:16 larkwins 阅读(248) 评论(0) 推荐(0)
摘要:## 简介 在很早之前的文章中,我们介绍过 Go 标准日志库[`log`](https://go-quiz.github.io/2020/02/07/godailylib/log/)和结构化的日志库[`logrus`](https://go-quiz.github.io/2020/02/07/god 阅读全文
posted @ 2023-09-28 14:16 larkwins 阅读(224) 评论(0) 推荐(0)
摘要:## 简介 [`go-app`](https://github.com/maxence-charriere/go-app)是一个使用 Go + WebAssembly 技术编写**渐进式 Web 应用**的库。WebAssembly 是一种可以运行在现代浏览器中的新式代码。近两年来,WebAssem 阅读全文
posted @ 2023-09-28 14:16 larkwins 阅读(267) 评论(0) 推荐(0)
摘要:## 简介 [`gron`](https://github.com/roylee0704/gron)是一个比较小巧、灵活的定时任务库,可以执行定时的、周期性的任务。`gron`提供简洁的、并发安全的接口。我们先介绍`gron`库的使用,然后简单分析一下源码。 ## 快速使用 先安装: ```bash 阅读全文
posted @ 2023-09-28 14:16 larkwins 阅读(167) 评论(0) 推荐(0)
摘要:## 简介 本文介绍 Go 语言的一个非常强大、好用的绘图库——`[plot](https://github.com/gonum/plot)`。`plot`内置了很多常用的组件,基本满足日常需求。同时,它也提供了定制化的接口,可以实现我们的个性化需求。`plot`主要用于将数据可视化,便于我们观察、 阅读全文
posted @ 2023-09-28 14:16 larkwins 阅读(657) 评论(0) 推荐(0)

上一页 1 ··· 4 5 6 7 8 9 10 下一页