链滴
社区愿景和功能特性
优雅的 Markdown 所见即所得编辑
快捷键交互
随时自由编辑分享内容
支持注销账号来去自由
分布式社区网络
开放 API
产品
Symphony 社区系统(Java)
Solo 博客系统(Java)
Vditor 编辑器(TypeScript)
思源笔记(Electron、Go)
Pipe 博客平台(Vue、Go)
发展计划表
发展简史
榜单
GitHub 仓库排行
帖子打赏排行
Solo 博客端排行
积分排行
活跃度排行
贡献排行
本站基于开源项目 Sym
编程代码问答
登录
注册
好玩
前端
后端
工作
B3
推介
查看所有领域
Java
golang
Node.js
Python
数据库
Spring
C++
PHP
关于 SiYuan v3.1.12 后默认自动清理超过 180 天快照的调查
目前思源加入了自动的快照清理功能,触发时机如下: 手动触发同步 每 24 小时执行一次 默认的配置是保留 180 天内的快照,每天保留两份。 在启动、退出时的同步不会触发,但是 30s 的自动同步会触发。 我个人不喜欢这个设计,因此以下的描述可能会有偏颇。不喜欢的原因如下: 清理功能是自动的且没有开关默认开启,这导致假 ..
345
2 小时前
Golang 错误处理:提供对用户友好的错误对象
Golang 程序中,函数执行出错的标准做法是返回一个实现了 error 接口的对象。函数调用者遇到返回值中的 error 对象非空时,大部分情况下会直接将这个对象返回给上一级的调用者。即使在最外层的 main 函数,也可以抛一个 panic 把问题甩给用户。或者在 Web 服务的 API 层,返回一个 500。我们不 ..
27
4 个月前
什么是 Protobuf?如何使用 Protobuf?
Protocol Buffers (protobuf) 介绍 官方文档:[链接] Protocol Buffers(简称 protobuf)是由 Google 开发的一种语言中立、平台中立、可扩展的序列化数据格式。它用于结构化数据的序列化和反序列化,常用于远程过程调用(RPC)、数据存储等场景。protobuf 提供了 ..
40
4 个月前
zap 转 slog 对象
[链接] slog.New(slogzap.Option{Level: slog.LevelDebug, Logger: xlog.Desugar()}.NewZapHandler()),
16
4 个月前
Go 语言 net/http 包使用模式
[图片] 译注: 这篇文章的内容非常基础,也非常容易理解。原文地址,感觉是最能清晰的讲述了 net/http 包的用法的一篇,故翻译一下共享之。 一切的基础:ServeMux 和 Handler Go 语言中处理 HTTP 请求主要跟两个东西相关:ServeMux 和 Handler。 ServrMux 本质上是一个 ..
42
5 个月前
如何区别请求中的零值与零
在 go 语言中,对于没有赋值的信息,会默认给予一个零值。而 int 型零值正好等于 0,因此在处理一些 http 请求时,容易产生无法区分读到的字段信息为 0 是零值还是传参为零。 这里提供两种简单的思路: 1、修改规定接收类型为 string 型。当前端如果没有传值进来,那么后端将解析得到 '' 。因为 strin ..
24
8 个月前
Excelize 开源基础发布 2.8.1 版本,2024 年首个更新
[图片] Excelize 是 Go 语言编写的用于操作电子表格办公文档的开源基础库,基于 ISO/IEC 29500、ECMA-376 国际标准。可以使用它来读取、写入由 Microsoft Excel、WPS、Apache OpenOffice、LibreOffice 等办公软件创建的电子表格文档。支持 XLAM ..
195
2 个月前
03 | 代码块与作用域:如何保证变量不会被遮蔽?
在上一章我们学习了变量的几种声明形式,还掌握了不同类型的变量应该采用哪种声明形式。 在这一节中里,我们还是继续聊聊有关变量的事情。聊什么呢? 别急,我们从一个 Go 变量遮蔽(Variable Shadowing)的问题说起。 什么是变量遮蔽呢?我们来看下面这段示例代码: var a = 11 func foo(n i ..
27
10 个月前
runc 的一段代码
[链接] // CreateCgroupPath creates cgroupv2 path, enabling all the supported controllers. func CreateCgroupPath(path string, c *configs.Cgroup) (Err error) { if ! ..
16
10 个月前
02|变量声明:静态语言有别于动态语言的重要特征
1. 什么叫变量 所谓的变量简单的理解就是计算机用来存储数据的。我们可以理解变量就像我们去超市买商品时用到的购物车,我们先将商品从货架上拿下来,放到购物车中,结账时在从购物车中取出商品。计算机通过变量来保存数据实际上将数据存储到计算机的内存中,这里我们可以画一个图给大家理解一下。 [图片] 计算机将内存划分成不同的区域 ..
28
11 个月前
01 | 初识 Go
1. GO 语言介绍 1.1 GO 语言是什么 “ Go 是一种开源的程序设计语言,它意在使得人们能够方便地构建简单、可靠、高效率的软件”(来自 go 官网 golang.org) 我们程序员在开发程序,开发软件时都会选择一门编程语言,那么我们应该怎样进行选择呢?可能有同学会说,我们要选择一门简单的,容易学习的,而且开 ..
108
11 个月前
闭包的概念
当通过调用外部函数返回的内部函数后,即使外部函数已经执行结束了,但是被内部函数引用的外部函数的变量依然会保存在内存中,我们把引用了其他函数作用域变量的函数和这些被引用变量的集合,称为闭包(Closure),闭包是这些东西共同的组合 在了解闭包的概念和用途之前,理解作用域和变量的生命周期等基础预备知识,对于理解闭包非常有 ..
44
1 年前
rm -rf 删库跑路?Golang 实现的 Linux 防误删命令 grm
别问我为什么要搞这个工具? Golang 实现的 Linux 防误删命令 grm,带删除日志方便恢复文件时用。 定时清空回收站 crontab 配置 0 0 /2 * * rm -rf /tmp/.trash/ 视频地址:[链接] 仓库地址:[链接]
77
1 年前
Gin
Gin - 高性能 Golang Web 框架的介绍和使用 (yoytang.com) Gin 框架源码阅读笔记 (wmf.im) 源码分析1 路由2 请求报文3 获取参数4 参数绑定5 验证6 响应7 中间件8 上传与返回文件9 日志10 http 重定向和路由重定向11 cookie12 记录日志13 响应输出14 ..
53
1 年前
Excelize 发布 2.7.1 版本,Go 语言 Excel 文档基础库
[图片] Excelize 是 Go 语言编写的用于操作 Office Excel 文档基础库,基于 ECMA-376,ISO/IEC 29500 国际标准。可以使用它来读取、写入由 Excel、WPS、OpenOffice 等电子表格办公应用创建的电子表格文档。支持 XLAM / XLSM / XLSX / XLTM ..
409
1 年前
Go 语言开源基础库 Excelize 2.7.0 发布, 2023 年首个更新
[图片] Excelize 是 Go 语言编写的用于操作 Office Excel 文档基础库,基于 ECMA-376,ISO/IEC 29500 国际标准。可以使用它来读取、写入由 Microsoft Excel 2007 及以上版本创建的电子表格文档。支持 XLAM / XLSM / XLSX / XLTM / X ..
263
1 年前
vscode linux 远程 go 调试环境
不建议用 vscode 开发 go 的大项目。 远程 linux 环境是 wsl2-ubuntu20,原理上基本是一致。 习惯用 vscdoe 工作区统一配置设置和插件,再写一个同一个通用的 task、launch 模板,但是每个项目(文件夹)的 task 和 lauch 单独配置(因为不同项目 args、参数、环境要 ..
308
2 年前
Excelize 发布 2.6.1 版本,支持工作簿加密
[图片] Excelize 是 Go 语言编写的用于操作 Office Excel 文档基础库,基于 ECMA-376,ISO/IEC 29500 国际标准。可以使用它来读取、写入由 Microsoft Excel™ 2007 及以上版本创建的电子表格文档。支持 XLAM / XLSM / XLSX / XLTM / ..
303
2 年前
学习周刊 - 总第 63 期 - 一款开源的本地代码片段管理工具
0 ,前言 周刊维护在:https://github.com/eryajf/learning-weekly 欢迎投稿,推荐或自荐项目 /文章 /博客,请提交 issue 。 这里记录我们每周工作学习过程中遇到学到的优秀开源项目,优秀文章,以及优秀博客。有很多优秀的内容,都值得被铭记,值得被分享,值得被更多人学习,我们想 ..
162
2 年前
学习周刊 - 总第 61 期 - 有意思的博客主题与 ETCD 管理后台
0,前言 周刊维护在:https://github.com/eryajf/learning-weekly 欢迎投稿,推荐或自荐项目/文章/博客,请提交 issue 。 这里记录我们每周工作学习过程中遇到学到的优秀开源项目,优秀文章,以及优秀博客。有很多优秀的内容,都值得被铭记,值得被分享,值得被更多人学习,我们想通过这 ..
257
2 年前
用 Go 编译到 WASM 在浏览器里实现了个编程语言解释器,欢迎来玩
网址: [链接] 仓库: [链接] 页面上方下拉菜单有一些例子,推荐试试 康威生命游戏 。 你也可以运行一些自己的代码。 欢迎各种建议、点子和 star. 同时推荐 Robert Nystrom 的书《 Crafting Interpreters (手写两个解释器)》,非常走心的作品。 感谢各位。
198
2 年前
Excelize 2.5.0 正式发布,这些新增功能值得关注
[图片] Excelize 是 Go 语言编写的用于操作 Office Excel 文档基础库,基于 ECMA-376,ISO/IEC 29500 国际标准。可以使用它来读取、写入由 Microsoft Excel™ 2007 及以上版本创建的电子表格文档。支持 XLSX / XLSM / XLTM 等多种文档格式,高 ..
341
2 年前
Golang 对象关系映射框架 GORM 实现自定义 SQL 提示
[图片] NO-ORMer 请绕道 Golang, ORMs, and why I am still not using one. (hydrogen18.com)。 GORM 原生支持 3 种提示,分别是: Index Hints:MySQL 索引提示; Optimizer Hints:MySQL 优化器提示; Co ..
298
2 年前
golang 断言:一个蛋疼的处理场景
这一切都来源于一个蛋疼的需求场景处理: 因为历史原因,一个需要用到的 JSON 数据被整个缓存进 Redis 的一个 key 中,大概如下: 127.0.0.1:6379> get dt '{\'address\':[{\'duration\':90,\'format\':\'mp4\',\'url\':\'xx ..
288
2 年前
面试题之 golang 语言篇
[图片] golang 协程和线程的区别 线程是操作系统负责调度的,调度时需要切换到内核态;golang 协程也称用户态线程,是由 golang 运行时负责调度的,完全在用户态进行调度。由于没有切换到内核态的开销,golang 协程的调度会比线程调度快很多。 相比线程,golang 协程占用内存空间很小,再加上调度快, ..
316
2 年前
SDB :纯 golang 开发、数据结构丰富、持久化的 NoSQL 数据库
[链接] :纯 golang 开发、数据结构丰富、持久化的 NoSQL 数据库 为什么需要 SDB? 试想以下业务场景: 计数服务:对内容的点赞、播放等数据进行统计 评论服务:发布评论后,查看某个内容的评论列表 推荐服务:每个用户有一个包含内容和权重的推荐列表 以上几个业务场景,都可以通过 MySQL + Redis ..
410
2 年前
2021 年 Go 语言入门
2021 年 Go 语言入门 1. 前言 1.1 参考 本篇文章参考了煎鱼的跟煎鱼学 Go 系列文章。教程写的非常好,推荐大家学习一下。 1.2 Go 语言是什么? Go 语言是一门编译性语言,在你运行程序之前,Go 首先使用编译器把你的代码转换程机器能够读懂的 1 和 0。它会把你所有的代码编译成一个可执行文件(Wi ..
249
3 年前
Go 语言错误处理的姿势
各位好。 前段时间看到有个帖子询问如何在 Go 中为错误加上堆栈,我以前也为类似的问题困扰过,后来找到了 pkg/errors ,再后来官方库有了 fmt.Errorf() ,我把这个小小经验写了下来,希望能抛砖引玉,欢迎各位交流拍砖。 在这篇文章中,我们将区分错误(error)和异常(panic),讨论什么样的错误是 ..
117
3 年前
golang 浮点数精度丢失问题详解
请看以下 Go 代码,会返回 0.7 吗? var num float32 for i := 0; i < 7; i++{ num = num + 0.1 } fmt.Println(num) 答案可能出人意料,是:0.70000005 也许有人会问,是不是 Go 语言的问题?换其他语言试试? OK,我们换 JS ..
248
3 年前
谈 Golang http.Server 安全退出:容易被误用的 Shutdown() 方法
各位好。 Go HTTP server 安全退出是一个比较常见的需求,妥善使用可以降低发版时的服务抖动。 我在最近才发现两年多以来,我的实现一直有问题,原因是我没好好读文档 ┑( ̄Д  ̄)┍,另外 Shutdown() 这个方法的 API 设计略微有些毛刺,望文生义容易翻车。 我把我的经历写了下来,希望能抛砖引玉,欢迎 ..
278
3 年前