- 博客(842)
- 收藏
- 关注
原创 Go1.24 新特性:map 换引擎,性能显著提高!
大家好,我是煎鱼。本次 Go1.24 新版本又带来了一个比较不错的优化点,Go map 做了一个比较大的改变,有了一定的性能优化。咱们又可以躺着升级个版本就得到一定的性能益处了。今天这篇文章将主要针对这部分进行新版本特性分享。该提案(go/issues/54766[1])的发起方是来自字节的大佬们。主要目的建议在 Go map 使用 Swiss Table 来替换 Hashmap 的原始实现。这里...
2025-01-06 08:41:26 733
原创 Go1.24 新特性:泛型再查缺补漏,正式支持类型别名!
大家好,我是煎鱼。自从 Go1.18 支持泛型后,社区很多同学以为泛型会带来非常巨大的改变。但实际上,还是比较尴尬的。因为泛型还在持续的迭代中,还处于发展期。今天给大家分享的是 Go1.24 中给泛型加的新功能特性。一起来学习吧!背景泛型提案说:"类型别名(type alias)可以引用泛型,但类型别名不能有自己的参数。之所以有这一限制,是因为不清楚如何处理具有约束的类型参数的类型别名"。对应的场...
2024-12-30 08:41:26 849
原创 Go1.24 新特性:迈向合规,crypto 加密库将支持 FIPS140!
大家好,我是煎鱼。最近在 Go1.24 中出现了一个较为少见的名词:FIPS140。而且还是加密库里的一个新适配。很 “官方” 的样子,让我好奇了起来。今天本文结合基本知识和库内容给大家分享,一起学习和进步。什么是 FIPS140联邦信息处理标准 (FIPS,全称:Federal Information Processing Standards) 140 系列是美国政府计算机安全标准,规定了对加密...
2024-12-23 08:41:19 665
原创 为什么 DTS 升级 MySQL 会造成查询缓慢?
大家好,我是煎鱼。最近我有一个朋友遇到了一个 MySQL 相关的问题,在开启 DTS 升级同步后实例上的 SQL 查询大量缓慢。但监控图表上是一切正常的。某技术支持给出的缘由是 table_open_cache 关联因素造成的。咱们今天目标是深究一下这个指标和问题背后的逻辑。table_open_cache 是什么官方文档介绍根据 MySQL5.7 文档,table_open_cache 参数项的...
2024-12-16 08:42:02 718
原创 Go1.24 新特性:增强 os 标准库,防止目录遍历漏洞!
大家好,我是煎鱼。马上就要到 2025 年的 2 月份啦。Go1.24 又即将如期而至。接下来将给大家逐步带来新版本的特性更新。今天要给大家介绍的是 Go 在标准库 os 上做的一个安全方面的增强。有兴趣的同学可以后续在功能上保持跟进。提案背景在安全方面,目录遍历漏洞是一类常见的漏洞,攻击者会诱使程序打开一个它在原本的程序逻辑中并没有计划打开的文件。这些攻击通常采取提供相对路径名的形式,例如:./...
2024-12-09 08:41:18 1007
原创 Go 基于区域的内存管理,再战手动管理!
大家好,我是煎鱼。最近 Go 核心团队成员 @Michael Knyszek 发起针对 memory regions 的社区讨论。试图引入新的基于区域的内存管理(Region-based memory management),并再次之前提到的 Arena 实验给捞一下。“基于区域的内存管理” 是什么在计算机科学中,基于区域的内存管理(Region-Based Memory Management)是...
2024-12-03 08:41:42 948
原创 Go 里的海勒姆定律?非必要不修改。。。
大家好,我是煎鱼。在我们日常工作中,只要你维护过历史比较悠久的项目。总会遇到一些神奇的代码。其中最莫过于在老代码上,前人让你不要改这块逻辑的注释。在 Go 中也有一些约定俗成的代码。周末看到了还有点意思,分享给大家。“该文本不可变更”在 net/http 标准库中,有以下这段代码:func(e*MaxBytesError)Error()string{//DuetoHyrum's...
2024-11-27 08:42:02 582
原创 Go 语言十五周年!权力交接、回顾与展望
大家好,我是煎鱼。2024 年 11 月 11 日,Go 语言迎来了它的 15 岁生日。自 2009 年开源发布以来,Go 语言以其稳定性、安全性和对大规模软件工程的支持而闻名。本文将回顾 Go 语言的发展历程,探讨其最新特性,并展望 Go 语言的未来。Go 语言的快速增长在过去的五年中,Go 的用户基数增长了三倍多,成为增长最快的编程语言之一。Go 语言不仅跻身于十大编程语言之列,更成为现代云计...
2024-11-21 08:41:29 677
原创 新提案:由迭代器启发的 Go 错误函数处理
大家好,我是煎鱼。Go 错误处理的问题一直是各大开发者关注的话题。最近 Go1.23 出了迭代器后,又有许多同学有了新的灵感和想法。今天给大家分享的是社区里的新提案:《proposal: spec: error handling via iterator-inspired handler functions》,该提案提出了一个创新的概念:通过迭代器启发式处理函数来改进 Go 的错误处理方式。本文将...
2024-11-19 08:41:32 684
原创 Cloudflare 从 PHP 到 Go:迁移与经验分享
大家好,我是煎鱼。在现代软件开发中,技术栈的选择对于项目的成功至关重要。随着业务需求的演变,技术迁移成为了一个不可避免的话题。在本文中,我们将探讨从 PHP 到 Go 的迁移过程。分享来自 Cloudflare 的资深工程师 Matt Boyle 和 Chris Shepherd 的见解和经验。主要内容将涉及他们迁移的动机、挑战、以及在这个过程中的心得体会。迁移动机性能考量Matt Boyle 指...
2024-11-11 08:41:55 727
原创 快速掌握 Go 二进制文件的静态和动态链接
大家好,我是煎鱼。在编写 Go 应用程序时,Go 本身提供了跨平台编译,提供了非常大的便利。但内部其实有许多静态和动态链接的相关知识点。今天给大家分享这一块的基本知识。如何选择?Go 团队的讨论Go 核心团队在创造这门编程语言时已经做了大量的讨论和权衡。“静态链接有很多优点。部署简单是其中之一。没有版本问题是另一个优点(升级可能永远不会破坏您的 go 二进制文件。但动态链接或解释语言则不然,因为依...
2024-10-30 08:41:20 933
原创 Go 正在发生变化?从泛型到迭代器的爱恨
大家好,我是煎鱼。前段时间 Kris Brandow 和嘉宾 Ian Lopshire 在播客中针对《Go 的发展方向错了吗?》这个命题进行了深入讨论,还探讨了 Go 语言的最新变化及其发展方向,重点涉及泛型和新版本加入的迭代器功能。社区对这些特性的反应各不相同:1、一些开发者认为增加的新特性违背了 Go 语言原本简洁的设计理念。2、另一些则期待这些功能为开发带来的灵活性和便利性。本文将结合两位嘉...
2024-10-28 08:41:34 774
转载 恭喜了!软考重大利好!全体后端狂欢吧!
????门槛低、起薪高、就业广、有证终身受益!强烈建议尽快搞个软考证,政策重大利好:✔︎年薪60W起;✔︎????5-25W/年补贴;✔︎升职/就业更快;✔︎享落户福利;✔︎以考代评职称;✔︎3600个税抵扣......如今,软考证书已经成为计算机人才的必考证书。不仅是架构/开发/软件多技术岗位的敲门砖,在求职、晋升、考编和接项目时,也更受青睐!在如今降薪裁员的浪潮下,很多技术人才都通过软考证书,实现了职场...
2024-10-23 08:41:52 87
原创 Go 领导层交接,新篇章!来看看他们的思考
大家好,我是煎鱼。最近 Go 核心团队完成了领导班子的交接,并在播客上录制了《Russ Cox on passing the torch[1]》,今天将基于此分享给大家。Go 团队内部的领导层交接标志着 Go 进入了一个新的发展阶段,Russ Cox 退任技术负责人,Austin Clements 接任。本文将深入探讨这次 Go 核心团队的领导层变更及其对 Go 未来的影响,文章基于 Go Tim...
2024-10-20 10:10:20 1063
原创 Go 即将支持特定代码在主线程运行!
大家好,我是煎鱼。国庆的时候看到了一个较少见的提案,Go 竟然会提供主线程 API 的控制(说好的不对外...),还是挺有意思的。本提案已经 Accepted,会进入 Go 主版本特性。今天分享给大家,一起围观学习一下!背景某些 API(尤其是 macOS 的 AppKit 和 iOS 的 UIKit)需要对启动线程进行独占控制。Go 已经支持此类 API,如果在 init 函数中调用了 runt...
2024-10-15 08:41:13 899 1
原创 Go 将会支持弱指针 weak!
大家好,我是煎鱼。最近 Go 又有了新的动作,一路绿灯,已经审批通过了新增弱指针(weak pointers)库的提案,这对于 Go 来讲是一个不错的补充。今天这篇文章我们主要分享弱指针的介绍,让大家有一个基本前瞻。因为这个提案已经 Accepted!弱指针是什么此处是引用 Go 官方提案给出的介绍和原因,也就是为什么 Go 核心团队认可要去做弱指针。弱指针(或其他语言中的弱引用)允许开发人员引用...
2024-10-09 08:41:58 880
原创 Go1.23 新特性:争议最大的 iter 迭代器,可遍历万物!
大家好,我是煎鱼。Go1.23 新版本中,在发布过程中争议最大的新特性莫过于:迭代器(iterators)。原本计划先写一个这个 proposal 的提出背景的,但没想到,迭代器涉及的到 proposal 比较多,而且是由 rsc 亲自负责。总感觉 rsc 早有预谋,在 Go1.23 蓄力一击,搞完就撤了。Go1.23 新特性:迭代器提出过程我能翻到的最早明确提出要加迭代器是在 discussio...
2024-09-09 08:41:31 1235
原创 矛盾的很,Go1.24 将需要更新的 Linux 内核!
大家好,我是煎鱼。一门编程语言总是要适配多个平台多种架构,其中莫过于适配 Windows 和 Linux 的不同版本。老的可能会被逐渐废弃,稳定版本的逐渐占据主流。Go 有 Go1 兼容性保障,导致取舍之间总是会纠结要不要继续保留老的 Linux 版本内核支持。Go1.24 期望用 Linux 内核 3.2最近 Go1.24 的规划已经提上日程了,其中包含一项内核变更《all: require L...
2024-09-03 08:41:32 1476
转载 面了一个六年 Go 老后端,一问三不知
今年后端的行情确实比去年好转了一些,不是我为了安慰大家,一方面群里后端朋友有面试机会和拿 offer 的人多了起来,另一方面CoderPad 发布的《2024 年技术招聘现状》报告也说,今年招聘后端开发 > 50 人的公司达到了 30%(去年是 23%)。这说明更多公司扩大了招聘规模,这对我们来说是一个积极的信号。八月算是找工作的小高峰,现在的情况已经和前几年完全不一样了,如果只是随便写写...
2024-08-27 08:41:09 200
原创 Go 总负责人 rsc 即将卸任,回顾他的光与暗!
大家好,我是煎鱼。前段时间大家应该有被一则重磅消息给震惊到,那就是:Go 核心团队的负责人 rsc,对外突然宣布要卸任了,时间定在 9.1 号。rsc 在此前领导了 Go 编程语言项目超过 12 年,我们所经历的 Go 核心功能的氛围、发展、Go+云原生的黄金时代,都与他有直接关系。卸任宣言重点本次 rsc 的卸任宣言正文来自《passing torches to Austin and Cherr...
2024-08-26 08:41:12 806
原创 Go GOPATH 模式未来会怎么样,会消失吗?
大家好,我是煎鱼。还记得好多年前,我们才刚刚开始学习和使用 Go 这一门编程语言。当时依赖管理还在用 GOPATH 模式,为此大家基于此去开发和管理了很多配套工具和流程。随着 Go 模块管理(Module)的成熟,有在用新的,有在用旧的。GOPATH 的去留成为了一个折腾的问题。GOPATH 存在的问题现阶段 Go 维护既有的 GOPATH 模式,至少存在两个重要问题:新特性更不上:在模块代理、校...
2024-08-22 08:41:12 790
原创 Go1.23 新特性:再开后门,可以记录未捕获的 panic 和 throw 日志了!
大家好,我是煎鱼。今天继续给大家分享 Go1.23 的新特性,这一轮里还是有不小有意思的惊喜的。其中不得不评本文中的这个新变化。必须得来一篇独立话题来提一下这个事!过去学习写 Go 时,初学者入门的教程教一定会提到在使用 panic 时,强烈建议要使用 recover。否则在 goroutine 的场景下很容易出问题,也会导致记不来日志。新版本后,终于有兜底 Go 程序崩溃的日志记录方法了!过于感...
2024-08-20 08:41:18 589
转载 Go1.23 新特性:新库 structs.HostLayout,终于可以指定内存布局了!
大家好,我是煎鱼。在 Go 这一门编程语言中,我们时常会看到一些 Go 面试题或结构体的知识讲解,主要是针对内存对齐这一块的知识点。这次 Go1.23 新版本中也针对这块进行了一些补全,分享给大家,一起学习和进步!背景Go 在对于结构体(struct)的布局规则描述得相当简略。在现实环境中,大多数都是由需要准备面试的同学、感兴趣的同学研究后分析在社区内分享出来。但在实践中,由于结构体在极少数情况下...
2024-08-16 08:41:39 220
转载 8月,软考彻底爆了!?
人社部门重磅消息,程序员今年拿下软考赚翻了!日前,其官网发布的一则事业编招聘公告中提到,具有中级专业技术任职资格的人员报考年龄放宽至40岁,而具有高级技术任职资格的人员报考年龄放宽至45岁。政策口子一旦放开,持有软考证书的程序员退路又多了一条,“失业危机”至少往后延了5年时间!???? 软考证书,作为仅存的72项职业资格之一,拿下不仅具备中级或高级专业技术任职资格,还享受积分落户+单位评职称+涨养老金...
2024-08-14 08:42:00 135
原创 Go1.23 新特性:试图禁用 //go:linkname,建立新的握手机制!
大家好,我是煎鱼。Go1.23 的新版本特性中,还有一些声势浩大的变更,引发了社区的一些争议和讨论。今天主要给大家分享 //go:linkname 变更的前因后果和新特性。背景在今年 5 月份,rsc 不知道是看到了什么项目在乱搞什么骚操作,触发了他的 “逆鳞”。直接反手光速敲出了以下提案:他发现的问题是:目前存在过度使用 //go:linkname 来深入 Go 标准库内部(尤其用在 runti...
2024-08-12 08:41:29 1207
原创 Go1.23 新特性:slices、panic、cookie 等函数改进,效率提高了!
大家好,我是煎鱼。最近介绍了 Go1.23 的几个重要新特性。今天给大家分享一些本次新版本的方法/函数的功能优化、改进的汇总。主打一个快速知悉,跟上新用法。看看 rsc 在 Go 核心团队负责人的职业生涯最后都推动了什么函数的合入。Go1.23 方法/函数优化slices.Repeat这是一个今年(2024 年)才提出的新提案,原提案作者提供给功能介绍时,还给出了其他语言的相关案例。很快受到了 G...
2024-08-07 08:41:53 1470
转载 最近行情变了,后端这薪资。。。
随着GPT大热“AI大模型”无疑是最火爆的话题!Google、百度、腾讯等巨头互联网公司,无不在布局人工智能技术和市场,为挖掘会用AI的后端相关人才甚至开出60k*16薪的高薪抢人作为普通程序员,如何站在时代前沿,享受AI技术带来的红利?!????知乎知学堂特发起:行业前沿资源——AI大模型公开课已为本号粉丝开通免费领取权限预计24小时后关闭通道!速进!AI大模型-重塑程序员核心竞争力(不限年龄!不...
2024-08-05 18:10:37 124
原创 Go1.23 新特性:time.Reset 终于解决了过期时间值的坑!
大家好,我是煎鱼在 Go1.23 以前,标准库 time 除了 After 方法外。还有另外一个问题,那就是 Stop 和 Reset 方法不太靠谱。以至于大家在一些特殊场景下总是这踩点坑,那踩点坑。无论如何,解决了就值得我们给 rsc 鼓掌!问题背景最早的反馈来自 2016 年的 time: document proper usage of Timer.Stop[1],随后在 2020 年终于有...
2024-08-04 10:10:57 1121
转载 Go MySQL 的学习秘籍,我不允许还有人不知道!
前两天,我跟一个面试官聊天,发现一个普遍现象,不少候选人,对数据库的认知,还处在比较基础的阶段,以为会写“增删改查”、做表关联就足够了,那些工作中经常出现的问题,却支支吾吾答不上来,比如:使用索引查询一定能提高查询的性能吗?为什么?一个 6 亿的表 a,一个 3 亿的表 b,通过外间 tid 关联,你如何最快地查询出满足条件的第 50000 到第 50200 中的这 200 条数据记录?一条 SQ...
2024-08-02 08:41:35 90
原创 Go1.23 新特性:花了近 10 年,time.After 终于不泄漏了!
大家好,我是煎鱼。好多年前,我写过 timer.After 的使用和坑。Go 这么多年以来这块一直有内存泄露。有的同学或多或少都有遇到过。最近 Go1.23 即将正式发布,Go 核心团队负责人 rsc 自述花了将近 10 年的努力,终于把这个问题修复了。值得我们关注!timer.After 是什么这是之前编写的部分,我测试验证了下。在 Go1.22 依然有效,仍然是有问题的。因此没有做什么修改。主...
2024-08-01 08:41:37 700
原创 Go micro/cli 很不专业,居然直接删库了!
大家好,我是煎鱼。作为一个资深的 “技术客服”(经常回答处理各种问题),前段时间遇到了一个比较无语的事情。还埋伏了挺久。在我朋友他们当年搭建微服务生态时,go-micro 是非常火的,也没有那么多其他 Go 框架的竞争对手。因此很多第三方库(例如:这次遇到是 sentinel 的库)有直接或间接依赖到他们。但没有想到,最近有同学反馈自己在新环境运行程序后报错了。我一看,go-micro 组织下的这...
2024-07-30 08:41:47 386
原创 Go1.23 新特性:新标准库 unique,性能更好,开销更小!
大家好,我是煎鱼。Go1.23 吵来吵去的,现在已经基本尘埃落定了。在我开始写这个新版本特性系列时,Go1.23 rc2 已经发布了有一周多:今天我们分享的是新的标准库 unique 的介绍和快速入门。背景基于 Go unique 官方提案,我简化了一下内容。要做这个主要原因是:Go 缺乏运行时的驻留支持,这与其他语言存在差距。多年来,Go 社区对弱映射(weak map)和字符串驻留(strin...
2024-07-24 08:41:25 1822
原创 Go 发布 AI 机器人 Oscar,解决开源项目的维护痛点!
大家好,我是煎鱼。前段时间我给大家介绍了 Go 核心团队负责人 rsc 开发的新 AI 轮子 @gabyhelp,目的是对各种 GitHub 日常的 Go 社区管理事项进行自动化管理。他的 GitHub 账户长这个样子:当我以为这个事就这样了。没想到 rsc 又搞了一发更大的,给出了更高的产品愿景。Oscar:开源贡献者代理架构实际上 rsc 表示 Gabyhelp 只是为开源维护的一个实验原型。...
2024-07-22 08:41:59 891
原创 发现了一个 Go 最小化日志系统的好轮子
大家好,我是煎鱼。在目前降本增效的大浪潮下,很多甲方给的服务器资源非常稀缺,又或是乙方做 OP 时,需要以更合理的应用资源去报价,以此取得一定的综合优势。这种情况下,日志系统常常被削减甚至是去掉的一个组件。为此,一个极简方案就非常有必要了。最近在冲浪时,发现了个新起之秀。分享新轮子给大家。Logdy 极简日志系统基本使用这个新开源库 logdyhq/logdy-core[1] 给自己打的标语是:“...
2024-07-17 08:41:10 917
转载 【免费赠书】微服务经典重磅升级!Amazon 4.8 星高赞
随着业务系统的不断发展,很多公司引入了微服务的设计模式,有利有弊。我们仍需要不断的学习新知识。最近微服务的巨作出了新版:《微服务设计(第2版)》,为此煎鱼向出版社申请了 5 本图书,作为粉丝福利,免费送给大家!大家只需在评论区留言对微服务的思考或实践分享。我们会从中选择 5 条最佳评论,赠送给获奖的同学。Amazon 4.8 星是什么概念?相当于豆瓣 9.6 分!毫无疑问,领域内首屈一指的图书!为...
2024-07-15 08:41:26 109
原创 rsc 给 Go 社区写了个 AI 机器人,他很满意!
大家好,我是煎鱼。最近 AI 浪潮席卷,很多公司和程序员小伙伴都参与了进来。Go 团队也在这方面做了新的尝试。主要的方面是 Go GitHub issues 的参与。Go 核心团队负责人 rsc 正在尝试在 Go issues 中运行一个新的 AI 机器人,昵称叫:@gabyhelp,目的是实现对各种日常的社区管理事项进行自动化管理。具体功能实现上,有的方面会涉及 AI/LLM(快速扫了眼源码,用...
2024-07-10 08:41:25 407
原创 对过去一年多的 AI 轮子们碎碎念
过去这一年多,是 AI 技术的大浪潮,GPT 各种词汇也出现在原本非 ML 领域的同学视野中。增长了不少知识。从我这个普通码农来看,感触最深的就是这手里的锤子一直在变。有的同学总是会因为一些新的热点被迫离开根源。因为新的技术总是需要人去尝试一下。以个人狭隘的视角,总结了四个阶段的工具类的轮子趋势变化,仅供参考。欢迎大家一起学习和提供建议。1、LangChain 火爆,成为 AI 代名词:首先较早火...
2024-07-08 08:41:27 459
转载 免费赠书,推荐一本云原生 containerd 新书!
随着云原生的不断发展,Kubernetes 也在不断的升级版本。逐渐弃用了 dockershim,选用了 containerd 作为底层运行时。最近我有个朋友出了一本书《containerd 原理剖析与实战》,为此我们向出版社申请了 5 本图书,作为粉丝福利,免费送给大家!大家只需要在评论区留言自己对云原生的想法和思考。我们会从中选择 5 条最佳评论,赠送给获奖的同学。大模型与云原生近年来,大语言...
2024-07-05 08:41:22 104
原创 通义千问 Qwen2,登顶国内第一大模型!
大家好,我是煎鱼。7 月 9 日起,OpenAI 将正式终止对部分地区(包含中国)提供 API 服务,引起业内一片哗然,纷纷开始自检,找新的国内可用的国产化替代方案。此时我有一个朋友的 Boss,结合各家大模型的表现和价格(性价比),推荐了阿里云的通义千问。尤其是提起最近新出的开源大模型 Qwen2 系列。非常强!今天特意了解了下,做一个快速的介绍分享。通义千问 Qwen22024 年 6 月 7...
2024-07-04 18:10:35 2067
转载 恭喜了!全体程序员彻底炸锅了!又一利好消息传来!
软考也叫软件水平考试,是国央企、IT 圈、大厂公认的高含金量证书,加上政策福利好、市场需求变大,直接火爆 IT 圈。软考2024年下半年8-9月报名考试!再不开始备考就晚了!但教材中数以千计的知识点,光靠死记硬背很难通过。????分享一个知乎知学堂发起的软考学习交流群(IT人必备!!)群内有:✅免费课程:2天大咖直播课,梳理核心考点✅免费指导:7天1V1备考指导,扫清备考难题✅免费资料:赠送202...
2024-07-02 08:40:51 97
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人