每日英语

每日总结9月21日

今天体育课跑50米差点没给我肠子跑出来,浑身疼,太缺乏锻炼了,从明天开始多锻炼吧,我的父亲来石家庄开会,中午就没有留在学校,下午的数据结构的栈有些难度,不太好懂,离散就更别提了,跟上个学期学的内容像两门课 ......

每日总结20230929

代码时间(包括上课)3h 代码量(行):50行 博客数量(篇):1篇 相关事项: 1、今天是周五,今天是中秋节,学校的食堂还发了月饼和水果,晚上去了姑姑家吃的饭。 2、今天下午洗澡洗衣服,打了几局游戏,今天还算是开心。 ......
20230929

Go每日一库之142:esc(嵌入静态文件)

与 [go-bindata](https://www.yuque.com/startisan/go-daily-lib/cxtq2d) 类似,[esc](https://github.com/mjibson/esc) 同样提供了将静态文件转换为go源码并暴露了类似于http.FileSystem的A ......
静态 文件 142 esc

Go每日一库之170:user-agent

## 一、User-Agent是什么 User-Agent叫做用户代理,是HTTP协议中请求头中的一个字段值。通过该字段值可以告诉网站服务器用户使用的什么产品发送的http请求。该信息一般发送请求的产品名称、操作系统、版本号等信息。大家熟知的浏览器其实就是所谓的一种用户代理。 通过谷歌的chrome ......
user-agent agent user 170

Go每日一库之171:go-qrcode

**使用Go语言编程时,生成任意内容的二维码是非常方便的,可以使用 go-qrcode 这个库快速生成二维码**。大家可以从 github 上(https://github.com/skip2/go-qrcode)下载并使用这个库。要是下载不下来的挂个代理就可。 上代码 ```go package ......
go-qrcode qrcode 171 go

Go每日一库之175:goexpr (通用表达式引擎)

`goexpr`是一个`golang`实现的通用`表达式引擎(expression engine)`,支持自定义`操作数(operand)`,`操作符(operator)`以及`函数(function)`。 [体验地址](https://git.woa.com/goexpr/goexpr) ## 1 ......
表达式 引擎 goexpr 175

Go每日一库之185:SagooIOT(轻量级物联网平台)

# 一、开源项目简介 # Sagoo IOT SagooIOT是一个基于golang开发的轻量级的物联网平台。支持跨平台的物联网接入及管理方案,平台实现了物联网开发相关的基础功能,基于该功能可以快速的搭建起一整套的IOT相关的业务系统。 # 二、开源协议 使用Apache-2.0开源协议 # 三、界 ......
轻量 轻量级 SagooIOT 平台 185

Go每日一库之127:rk-boot(快速构建服务)

## rk-boot的介绍 通过 [rk-boot](https://github.com/rookie-ninja/rk-boot),用户可以通过yaml格式的配置文件启动gRPC、gin、echo、GoFrame、prometheus客户端或自定义入口服务。很容易易编译、运行和调试你的 grpc ......
rk-boot boot 127 rk

2023.9.29——每日总结

学习所花时间(包括上课):0h 代码量(行):0行 博客量(篇):1篇 今天,上午陪同学去医院,下午休息; 我了解到的知识点: 休息 明日计划: 休息 ......
2023 29

Go每日一库之147:goldmark(Markdown转html)

# 简介 使用 Markdown 书写结构化的文档和评论已经相当流行了,Web 服务需要将用户编写的 Markdown 文本转换为 html 以便浏览器渲染,还常常需要对 Markdown 语法进行自定义扩展以实现个性化的功能。 本期要介绍的 [**goldmark **](https://gith ......
goldmark Markdown html 147

Go每日一库之181:conc(并发库)

来自公司 sourcegraph 的 [**conc**](https://github.com/sourcegraph/conc)** (**[**https://github.com/sourcegraph/conc**](https://github.com/sourcegraph/conc, ......
conc 181

Go每日一库之167:emoji(emoji表情)

大家在使用微信或钉钉聊天时,一定使用过表情符号。今天就给大家介绍一个能够在终端上显示emoji表情符号的包:[emoji](https://github.com/kyokomi/emoji)。 **实现原理:**emoji表情符号实际上就是在unicode编码表中有定义的一个编码。通过将符号的文字表 ......
emoji 表情 167

Go每日一库之176:filetype(文件类型鉴别)

filetype(https://github.com/h2non/filetype)是一个 Go 语言的第三方库,可以根据文件的魔数(magic numbers)签名来推断文件的类型和 MIME 类型。它支持多种常见的文件类型,包括图片、视频、音频、文档、压缩包等。它还提供了一些便捷的函数和类型匹 ......
filetype 类型 文件 176

Go每日一库之187:singleflight(合并重复调用)

本文主要介绍Go语言中的`singleflight`包,包括什么是`singleflight`以及如何使用singleflight合并请求解决缓存击穿问题。 [singleflight](https://pkg.go.dev/golang.org/x/sync/singleflight) 目前(Go ......
singleflight 187

Go每日一库之169:dongle(编解码、加解密)

一个轻量级、语义化、对开发者友好的 golang 编码解码、加密解密库。 ## 安装使用 ```go // 使用 github 库 go get -u github.com/golang-module/dongle import ( "github.com/golang-module/dongle" ......
dongle 169

Go每日一库之172:go-prompt

## 简介 受python提示工具包的启发,在Go中构建强大的交互式提示 ## 一、代码示例 ```go package main import ( "fmt" "github.com/c-bata/go-prompt" ) func completer(d prompt.Document) []p ......
go-prompt prompt 172 go

Go每日一库之174:delve (Go 调试工具)

## 简介 `Delve` 用来调试 `Go` 语言开发的程序,该工具的目标是为 `Go` 语言提供一个简单、功能齐全的调试工具。 ## 为什么不推荐 gdb - • gdb 对 Go 的调试支持是通过一个 python 脚本文件 `src/runtime/runtime-gdb.py` 扩展的,功 ......
工具 delve 174 Go

Go每日一库之184:katana(新一代爬虫框架)

## 项目链接 > [https://github.com/projectdiscovery/katana](https://github.com/projectdiscovery/katana) ## 项目简介 ![](https://mmbiz.qpic.cn/sz_mmbiz_png/BOAj ......
爬虫 新一代 框架 katana 184

Go每日一库之168:redsync(redis分布式锁)

今天给大家推荐的是基于redis的Go版本的分布式锁工具:[redsync]()。该工具也是redis官网上推荐的。redsync 基于redis的高可用、高性能、防死锁、防误删的分布式锁实现,具有高性能、高可用、防死锁、防误删的特点。 ## 一、分布式锁基础知识 **什么是分布式锁** 锁,在编程 ......
分布式 redsync redis 168

Go每日一库之186:sonic(高性能JSON库)

## 介绍 我们在日常开发中,常常会对JSON进行序列化和反序列化。Golang提供了`encoding/json`包对JSON进行`Marshal/Unmarshal`操作。但是在大规模数据场景下,该包的性能和开销确实会有点不够看。在生产环境下,JSON 序列化和反序列化会被频繁的使用到。在测试中 ......
高性能 sonic JSON 186

Go每日一库之183:vegeta(http压力测试工具库)

项目地址:[https://github.com/tsenart/vegeta](https://github.com/tsenart/vegeta) > [https://mp.weixin.qq.com/s/J0PiqTifr_rs_S2CzMRoWg](https://mp.weixin.qq ......
测试工具 压力 工具 vegeta http

Go每日一库之173:Pie (高性能、类型安全的slice操作库)

在Go语言中,对slice和map是我们最常用的数据结构。比如,计算两个切片的交集、差集;判断切片中的元素是否都满足某个条件的等。我推荐大家使用这个包:`[elliotchance/pie](https://github.com/elliotchance/pie)`。 该包封装了**对切片和map的 ......
高性能 类型 slice 173 Pie

Go每日一库之179:env(将系统环境变量解析到结构体的库)

该包的实现是基于标准库os/env包中的相关函数(比如Getenv)来获取系统的环境变量的。获取到环境变量值后,再通过结构体中的tag,将值映射到对应的结构体字段上。 ### 使用示例 下面是将系统的一些环境变量映射到config结构体的示例。如下: 我们可以像以下这样运行该代码: ```shell ......
变量 结构 环境 系统 179

Go每日一库之182:RuleGo(轻量级高性能嵌入式规则引擎)

# ◆ 一、开源项目简介 ![](https://mmbiz.qpic.cn/sz_mmbiz_png/RQueXibgo0KNH6A281w2suibhkebibiakFZAM97kypujbVw5UfL2Upib97JlricuGvWBzwPHzmQw5GGL1fG7XA4zPY3A/640?w ......
轻量 轻量级 高性能 嵌入式 规则

Go每日一库之180:fastcache(协程安全且支持大量数据存储的高性能缓存库)

> fastcache 是一个线程安全并且支持大量数据存储的高性能缓存组件库。 这是官方 `Github` 主页上的项目介绍,和 `fasthttp` 名字一样以 `fast` 打头,作者对项目代码的自信程度可见一斑。此外该库的核心代码非常轻量, 笔者本着学习的目的分析下内部的代码实现。 ## 基准 ......
高性能 fastcache 数据 180

Go每日一库之178:chromedp(一个基于Chrome DevTools协议的库,支持数据采集、截取网页长图)

该库提供了一种简单、高效、可靠的方式来控制Chrome浏览器进行自动化测试和爬取数据。 项目地址:[https://github.com/chromedp/chromedp](https://github.com/chromedp/chromedp) **它可以模拟用户在浏览器中执行各种操作**,* ......
数据采集 chromedp DevTools 网页 数据

Go每日一库之132:wasm与tinygo

WASM 的概念,这几年还是挺火的,新的语言,比如 Rust、Go、Swift 等,都对 WASM 提供支持。相比之下,Go 语言的简单性,使得对 WASM 的支持,使用起来也较简单。本文是目前公开资料中为数不多较完整的教程,希望能对你有帮助。 ## WASM 是什么 标题说:“Golang 中的 ......
tinygo wasm 132

Go每日一库之137:easeprobe(探活工具)

服务探活在现实场景中应用广泛,比如:服务发现、服务负载均衡、服务调度、服务状态监控等。然而,“探活”往往是作为一个功能模块或者组件集成在各个平台系统中。本次要介绍的easeprobe是一款轻量级的,可独立运行的探活工具,利用easeprobe,无需其他系统支持,就可以对多种类型的服务/中间件等探活。 ......
easeprobe 工具 137

Go每日一库之139:cmux (连接多路复用)

如果一个应用需要同时对外提供 HTTP 和 gRPC 服务,通常情况下我们会为两个服务绑定不同的监听端口,而本文要介绍的 cmux 为我们提供了一种连接多路复用的新选择,使用 cmux 可以将不同服务绑定在同一个网络端口上! # 简介 多路复用是个很常见的概念,我们在编写 HTTP 服务时通常会用 ......
cmux 139

Go每日一库之134:fsm(基有限状态机库)

开发中,我们经常会遇到这种情况,服务模块有多种状态,它们有一定的顺序,先后执行,逐步切换。这时,fsm这个库可以帮助我们更好的管理多个状态。 fsm库,它主要基于两个FSM实现,增加了golang版本的实现: - Javascript Finite State Machine, [https://g ......
机库 状态 有限 134 fsm