自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(823)
  • 收藏
  • 关注

原创 Go GOPATH 模式未来会怎么样,会消失吗?

大家好,我是煎鱼。还记得好多年前,我们才刚刚开始学习和使用 Go 这一门编程语言。当时依赖管理还在用 GOPATH 模式,为此大家基于此去开发和管理了很多配套工具和流程。随着 Go 模块管理(Module)的成熟,有在用新的,有在用旧的。GOPATH 的去留成为了一个折腾的问题。GOPATH 存在的问题现阶段 Go 维护既有的 GOPATH 模式,至少存在两个重要问题:新特性更不上:在模块代理、校...

2024-08-22 08:41:12 581

原创 Go1.23 新特性:再开后门,可以记录未捕获的 panic 和 throw 日志了!

大家好,我是煎鱼。今天继续给大家分享 Go1.23 的新特性,这一轮里还是有不小有意思的惊喜的。其中不得不评本文中的这个新变化。必须得来一篇独立话题来提一下这个事!过去学习写 Go 时,初学者入门的教程教一定会提到在使用 panic 时,强烈建议要使用 recover。否则在 goroutine 的场景下很容易出问题,也会导致记不来日志。新版本后,终于有兜底 Go 程序崩溃的日志记录方法了!过于感...

2024-08-20 08:41:18 451

转载 Go1.23 新特性:新库 structs.HostLayout,终于可以指定内存布局了!

大家好,我是煎鱼。在 Go 这一门编程语言中,我们时常会看到一些 Go 面试题或结构体的知识讲解,主要是针对内存对齐这一块的知识点。这次 Go1.23 新版本中也针对这块进行了一些补全,分享给大家,一起学习和进步!背景Go 在对于结构体(struct)的布局规则描述得相当简略。在现实环境中,大多数都是由需要准备面试的同学、感兴趣的同学研究后分析在社区内分享出来。但在实践中,由于结构体在极少数情况下...

2024-08-16 08:41:39 53

转载 8月,软考彻底爆了!?

人社部门重磅消息,程序员今年拿下软考赚翻了!日前,其官网发布的一则事业编招聘公告中提到,具有中级专业技术任职资格的人员报考年龄放宽至40岁,而具有高级技术任职资格的人员报考年龄放宽至45岁。政策口子一旦放开,持有软考证书的程序员退路又多了一条,“失业危机”至少往后延了5年时间!???? 软考证书,作为仅存的72项职业资格之一,拿下不仅具备中级或高级专业技术任职资格,还享受‍积分落户+单位评职称+涨养老金...

2024-08-14 08:42:00 37

原创 Go1.23 新特性:试图禁用 //go:linkname,建立新的握手机制!

大家好,我是煎鱼。Go1.23 的新版本特性中,还有一些声势浩大的变更,引发了社区的一些争议和讨论。今天主要给大家分享 //go:linkname 变更的前因后果和新特性。背景在今年 5 月份,rsc 不知道是看到了什么项目在乱搞什么骚操作,触发了他的 “逆鳞”。直接反手光速敲出了以下提案:他发现的问题是:目前存在过度使用 //go:linkname 来深入 Go 标准库内部(尤其用在 runti...

2024-08-12 08:41:29 962

原创 Go1.23 新特性:slices、panic、cookie 等函数改进,效率提高了!

大家好,我是煎鱼。最近介绍了 Go1.23 的几个重要新特性。今天给大家分享一些本次新版本的方法/函数的功能优化、改进的汇总。主打一个快速知悉,跟上新用法。看看 rsc 在 Go 核心团队负责人的职业生涯最后都推动了什么函数的合入。Go1.23 方法/函数优化slices.Repeat这是一个今年(2024 年)才提出的新提案,原提案作者提供给功能介绍时,还给出了其他语言的相关案例。很快受到了 G...

2024-08-07 08:41:53 873

转载 最近行情变了,后端这薪资。。。

随着GPT大热“AI大模型”无疑是最火爆的话题!Google、百度、腾讯等巨头互联网公司,无不在布局人工智能技术和市场,为挖掘会用AI的后端相关人才甚至开出60k*16薪的高薪抢人作为普通程序员,如何站在时代前沿,享受AI技术带来的红利?!????知乎知学堂特发起:行业前沿资源——AI大模型公开课已为本号粉丝开通免费领取权限预计24小时后关闭通道!速进!AI大模型-重塑程序员核心竞争力(不限年龄!不...

2024-08-05 18:10:37 76

原创 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 956

转载 Go MySQL 的学习秘籍,我不允许还有人不知道!

前两天,我跟一个面试官聊天,发现一个普遍现象,不少候选人,对数据库的认知,还处在比较基础的阶段,以为会写“增删改查”、做表关联就足够了,那些工作中经常出现的问题,却支支吾吾答不上来,比如:使用索引查询一定能提高查询的性能吗?为什么?一个 6 亿的表 a,一个 3 亿的表 b,通过外间 tid 关联,你如何最快地查询出满足条件的第 50000 到第 50200 中的这 200 条数据记录?一条 SQ...

2024-08-02 08:41:35 53

原创 Go1.23 新特性:花了近 10 年,time.After 终于不泄漏了!

大家好,我是煎鱼。好多年前,我写过 timer.After 的使用和坑。Go 这么多年以来这块一直有内存泄露。有的同学或多或少都有遇到过。最近 Go1.23 即将正式发布,Go 核心团队负责人 rsc 自述花了将近 10 年的努力,终于把这个问题修复了。值得我们关注!timer.After 是什么这是之前编写的部分,我测试验证了下。在 Go1.22 依然有效,仍然是有问题的。因此没有做什么修改。主...

2024-08-01 08:41:37 444

原创 Go micro/cli 很不专业,居然直接删库了!

大家好,我是煎鱼。作为一个资深的 “技术客服”(经常回答处理各种问题),前段时间遇到了一个比较无语的事情。还埋伏了挺久。在我朋友他们当年搭建微服务生态时,go-micro 是非常火的,也没有那么多其他 Go 框架的竞争对手。因此很多第三方库(例如:这次遇到是 sentinel 的库)有直接或间接依赖到他们。但没有想到,最近有同学反馈自己在新环境运行程序后报错了。我一看,go-micro 组织下的这...

2024-07-30 08:41:47 316

原创 Go1.23 新特性:新标准库 unique,性能更好,开销更小!

大家好,我是煎鱼。Go1.23 吵来吵去的,现在已经基本尘埃落定了。在我开始写这个新版本特性系列时,Go1.23 rc2 已经发布了有一周多:今天我们分享的是新的标准库 unique 的介绍和快速入门。背景基于 Go unique 官方提案,我简化了一下内容。要做这个主要原因是:Go 缺乏运行时的驻留支持,这与其他语言存在差距。多年来,Go 社区对弱映射(weak map)和字符串驻留(strin...

2024-07-24 08:41:25 1256

原创 Go 发布 AI 机器人 Oscar,解决开源项目的维护痛点!

大家好,我是煎鱼。前段时间我给大家介绍了 Go 核心团队负责人 rsc 开发的新 AI 轮子 @gabyhelp,目的是对各种 GitHub 日常的 Go 社区管理事项进行自动化管理。他的 GitHub 账户长这个样子:当我以为这个事就这样了。没想到 rsc 又搞了一发更大的,给出了更高的产品愿景。Oscar:开源贡献者代理架构实际上 rsc 表示 Gabyhelp 只是为开源维护的一个实验原型。...

2024-07-22 08:41:59 759

原创 发现了一个 Go 最小化日志系统的好轮子

大家好,我是煎鱼。在目前降本增效的大浪潮下,很多甲方给的服务器资源非常稀缺,又或是乙方做 OP 时,需要以更合理的应用资源去报价,以此取得一定的综合优势。这种情况下,日志系统常常被削减甚至是去掉的一个组件。为此,一个极简方案就非常有必要了。最近在冲浪时,发现了个新起之秀。分享新轮子给大家。Logdy 极简日志系统基本使用这个新开源库 logdyhq/logdy-core[1] 给自己打的标语是:“...

2024-07-17 08:41:10 842

转载 【免费赠书】微服务经典重磅升级!Amazon 4.8 星高赞

随着业务系统的不断发展,很多公司引入了微服务的设计模式,有利有弊。我们仍需要不断的学习新知识。最近微服务的巨作出了新版:《微服务设计(第2版)》,为此煎鱼向出版社申请了 5 本图书,作为粉丝福利,免费送给大家!大家只需在评论区留言对微服务的思考或实践分享。我们会从中选择 5 条最佳评论,赠送给获奖的同学。Amazon 4.8 星是什么概念?相当于豆瓣 9.6 分!毫无疑问,领域内首屈一指的图书!为...

2024-07-15 08:41:26 67

原创 rsc 给 Go 社区写了个 AI 机器人,他很满意!

大家好,我是煎鱼。最近 AI 浪潮席卷,很多公司和程序员小伙伴都参与了进来。Go 团队也在这方面做了新的尝试。主要的方面是 Go GitHub issues 的参与。Go 核心团队负责人 rsc 正在尝试在 Go issues 中运行一个新的 AI 机器人,昵称叫:@gabyhelp,目的是实现对各种日常的社区管理事项进行自动化管理。具体功能实现上,有的方面会涉及 AI/LLM(快速扫了眼源码,用...

2024-07-10 08:41:25 331

原创 对过去一年多的 AI 轮子们碎碎念

过去这一年多,是 AI 技术的大浪潮,GPT 各种词汇也出现在原本非 ML 领域的同学视野中。增长了不少知识。从我这个普通码农来看,感触最深的就是这手里的锤子一直在变。有的同学总是会因为一些新的热点被迫离开根源。因为新的技术总是需要人去尝试一下。以个人狭隘的视角,总结了四个阶段的工具类的轮子趋势变化,仅供参考。欢迎大家一起学习和提供建议。1、LangChain 火爆,成为 AI 代名词:首先较早火...

2024-07-08 08:41:27 422

转载 免费赠书,推荐一本云原生 containerd 新书!

随着云原生的不断发展,Kubernetes 也在不断的升级版本。逐渐弃用了 dockershim,选用了 containerd 作为底层运行时。最近我有个朋友出了一本书《containerd 原理剖析与实战》,为此我们向出版社申请了 5 本图书,作为粉丝福利,免费送给大家!大家只需要在评论区留言自己对云原生的想法和思考。我们会从中选择 5 条最佳评论,赠送给获奖的同学。大模型与云原生近年来,大语言...

2024-07-05 08:41:22 74

原创 通义千问 Qwen2,登顶国内第一大模型!

大家好,我是煎鱼。7 月 9 日起,OpenAI 将正式终止对部分地区(包含中国)提供 API 服务,引起业内一片哗然,纷纷开始自检,找新的国内可用的国产化替代方案。此时我有一个朋友的 Boss,结合各家大模型的表现和价格(性价比),推荐了阿里云的通义千问。尤其是提起最近新出的开源大模型 Qwen2 系列。非常强!今天特意了解了下,做一个快速的介绍分享。通义千问 Qwen22024 年 6 月 7...

2024-07-04 18:10:35 934

转载 恭喜了!全体程序员彻底炸锅了!又一利好消息传来!

软考也叫软件水平考试,是国央企、IT 圈、大厂公认的高含金量证书,加上政策福利好、市场需求变大,直接火爆 IT 圈。软考2024年下半年8-9月报名考试!再不开始备考就晚了!但教材中数以千计的知识点,光靠死记硬背很难通过。????分享一个知乎知学堂发起的软考学习交流群(IT人必备!!)群内有:✅免费课程:2天大咖直播课,梳理核心考点✅免费指导:7天1V1备考指导,扫清备考难题✅免费资料:赠送202...

2024-07-02 08:40:51 72

原创 国内多个库被 rsc 钉上 Go 耻辱柱。。。

大家好,我是煎鱼。这还是比较突然的,下午正努力打工。国内社区群里突然就闹腾起来了。仔细一看,原来是 Go 核心团队负责人 rsc,又冷不丁搞大招 ????。他直接把国内好几个知名库给直接钉上了 Go 源码库的耻辱柱上了。如下图所示:相关的源码地址:src/runtime/malloc.go[1],直接写在注释里了。诱发这个事情的原由是:因为和新版本 Go1.23 不兼容,最新的版本不允许 //go:li...

2024-06-28 22:23:22 546

原创 Go 模块使用 GitLab subgroups 的问题

大家好,我是煎鱼。最近帮忙小伙伴处理了一个小问题,感觉五六年前就有人问过我,当年觉得没啥大问题记录。没想到。。。2024 年了,还是有同学表示他的姿势搜不到相关的解决办法。今天主打一个分享和记载,看看有没有也踩过坑的朋友。(结果我发文前两天就有社区的朋友问到了我????)我感觉 2027 年这问题都不会解决。功能介绍在 GitLab 中,提供了一种叫做子组(subgroups)的功能特性。它允许对项目仓...

2024-06-27 08:41:36 719

原创 业内大佬怒喷:Go 正朝着错误的方向发展

大家好,国外知名开源大佬Aliaksandr Valialkin[1],最近针对即将正式发布的 Go1.23 中的迭代器写了篇文章[2]怒喷。引起了巨大的社区热议。迭代器这一新特性,有认同也有否定。无论怎么说,Go 新的复杂度来了。今天分享他针对 Go 在 rsc 当权后的现状的看法和对迭代器的不满等看法的文章。本文原作者 Aliaksandr Valialkin 是 vm、quicktempl...

2024-06-24 08:41:58 1077

原创 Go 设计模式:责任链和函数选项,让你的代码更优雅!

最近接触到越来越多有历史 “沉淀” 的 Go 项目,深感设计模式和及时干预的重要性。近期会分享一些设计模式,一起学习代码设计!今天的分享的设计模式是:责任链和函数选项模式。在日常程序里是比较常用的。很多开源库中也有使用。责任链模式责任链模式(Chain of Responsibility Pattern)是一种行为设计模式,它允许对象将请求沿处理程序链进行传递。程序链既可以处理请求,也可以继续将请...

2024-06-23 10:10:19 349

原创 10 个提高生产力的 Go 小技巧

最近 Phuong Le 大佬针对日常开发 Go 项目时,总结了一些好用的 Go 小技巧。看了后,感觉对于刚入门 Go 的同学有一定的学习价值。可以挑好的学。应用到自己项目里。以下内容分享给大家。在开发 Go 生产项目时,我发现自己经常重复编写代码和使用某些技术,直到后来回顾自己的工作时才意识到这一点。下面是从总结经验中挑选的一些有用的代码片段,希望对大家有所帮助。1. 计时技巧如果你对跟踪函数的...

2024-06-21 08:42:00 845

转载 Go 不太适用的场景,或许你可以试试 Rust

2024 年已过半,如果要选出今年开发者群体关注度最高的编程语言,Rust 一定排得上号。这两年在我的 Go 微信群里经常看到“使用 Rust 重写”的表情包,这也从侧面反映了 Rust 日益剧增的影响力。例如,Rust 没有历史包袱,集表达力、高性能、内存安全于一身,可以说,掌握了 Rust,就相当于掌握了很多其他语言的精髓;把 Rust 引入你的技术栈,也让自己职业生涯多一门面向未来的利器。再...

2024-06-20 08:41:21 121

原创 为什么 Go 不学 Rust 用 ? 做错误处理?

大家好,我是煎鱼。Go 错误处理,一直是个必争之地。为什么不学 Rust 使用 ? 来解决错误处理的问题,也是大家非常好奇的地方。为此 Go 核心团队成员之一 @Robert Griesemer 给出了官方诠释和解答。以下为其解答的内容。推荐大家阅读,表明了官方态度!Go 的语言设计非常注重可读性!我们希望即使是不熟悉该语言的人也能理解 Go 代码(这并不意味着每个名称都需要不言自明;毕竟我们还有...

2024-06-19 08:41:15 354

转载 Go 后端必学的分布式数据库知识,全在这里了!

随着云计算、大数据和微服务架构的兴起,海量数据的持续激增,数据资产的核心价值正在凸显,数据库技术不断演进,数据库行业也迎来了快速增长。据信通院统计,预计到2027年,我国数据库市场总规模将达到 1286.8 亿元。再者来说,当今云原生时代,微服务架构和容器化技术使得服务层能够实现高度弹性扩展。而数据库作为软件系统的基石,掌握不同数据库的基本原理和它们各自的适用场景,对于技术人员来说至关重要。这不仅...

2024-06-18 08:41:50 78

原创 Go 再讨论 catch error 模型,官方回应现状

大家好,我是煎鱼。最近社区的同学和 Go 官方又因为错误处理的提案屡屡被否,发生了一些小的摩擦。也非常难得的看到核心团队成员首次表达了目前的态度和情况。基于此,我们今天进行该内容分享。紧跟 Go 官方最新进展,看看官方对于错误处理的态度如何。快速背景Go 的错误处理机制,主要是依赖于 if err != nil 的方式。因此在对函数做一定的封装后。代码会呈现出以下样子:jy1,err:=Fo...

2024-06-17 08:41:27 262

转载 恭喜了!全体后端彻底狂欢吧!这个好消息来得太及时!

IT人想升职?涨薪?评职称?积分落户?考一个软考证书是性价比最高的路径!软考,全称计算机技术与软件专业技术资格(水平)考试,是IT圈公认含金量极高的证书。据显示:持软考证的全职IT人才平均年薪20W-50W一线城市持软考证IT从业者平均工资1.5W+高级软考证持有者可申领技能补贴5W-25W*数据源于网络,统计日期截止2024年3月。很多企业单位招聘时,会优先考虑软考证书持有者,还会提供相应的晋升...

2024-06-13 08:41:51 81

原创 Go 面试中的隐藏陷阱:SliceHeader 问题解析

大家好,我是煎鱼。最近也是面试季+毕业季了,很多同学正在积极准备面试。尤其是很多同学,已经通过官网资料熟悉了 Go 基本语法,但没有太大把握。希望对一些常见的棘手面试问题做一些预习。今天和大家学习 @Harutyun Mardirossian 大佬分享的面试题,一起进步!面试问题请先在脑子里思考一下具体的运行结果,再查看答案。如下代码:funcmain(){s:=make([]i...

2024-06-12 08:41:46 328

转载 怎么计算我们自己程序的时间复杂度

知道自己写的程序的时间复杂度,有利于我们写出能够高效运行的程序。程序是由一个个函数组成的,有些简单的由几个基础运算组成的函数大家一眼就能看出来它的时间复杂度,但是大部分函数没那么简单,只要函数里面涉及到了循环、外部函数调用甚至递归的时候它的时间复杂度就没那么容易分析啦。这篇文章的内容,可以帮你快速推导出程序代码的时间复杂度。要分析程序的时间复杂度,首先还是要确定时间复杂度的度量标准— —英文文档里...

2024-06-05 08:41:59 60

原创 Go 新提案:用 #err 标识符去做错误处理!

大家好,我是煎鱼。前几天看 Reddit 社区里的讨论,发现 Go 这一门编程语言,错误处理永远是讨论的议题之一。本着追踪网友脑洞 Proposal 的基础上,周末看到个被反对比较多的 Go2 错误处理提案。今天结合分享给大家,好的坏的都可以看看别人的想法。问题背景在 Go 这门编程语言中,错误处理机制主要是依赖于 if err != nil 的方式。因此在对函数做一定的封装后。代码最终常呈现出以...

2024-06-05 08:41:59 475

原创 Go 还缺少什么,能更完美?

大家好,我是煎鱼。最近国外社区 reddit 对 Go 这一门编程语言发起了一次讨论,提问的标题大致意思是:“你们认为 Go 还缺少什么,能让它变得更完美?”。内容上主要是方向是:开发人员对 Go 中缺少什么的看法,希望在 Go 中看到什么特性,能够使得其比现在要更好。这些交流点,在日常读者群中也经常有同学提到。今天结合分享给大家。社区觉得缺少什么在我查看帖子时,得到最多人点赞的是以下两个功能。感...

2024-06-03 08:42:02 271

转载 100w,确实可以封神了!

GPT全新升级,再次震动全球市场!OpenAI 推出最新AI模型GPT-4o实现视频语音即时交互AI的多模态交互形式有了巨大飞跃人工智能+的应用场景越来越多!马上,国内互联网行业招聘风向将被改变AI大模型人才缺口会越来越大现在,Google、百度、腾讯等等巨头互联网公司已经开出100w-200w年薪,挖掘AI人才!作为普通程序员,如何在技术上不掉队,享受AI技术带来的红利?!????知乎知学堂特发起:...

2024-06-02 10:10:40 72

原创 为什么 Go protobuf 不支持标签注入?

大家好,我是煎鱼。前几天我们交流了 gogo/protobuf 前两年开始 Deprecated,作者最终放弃更新的事情,还是挺让人深思的。其作者在最终对官方 protobuf 库最绝望的一个事情,莫过于他朝朝暮暮,但官方一直不愿支持的标签注入功能。这也是很多人使用 gogo/protobuf 的原因。如下图所示:标签注入是什么功能我们来看看 gogo/protobuf 扩展(包含自定义结构注入标...

2024-05-28 08:41:54 979

转载 走进 Rust 世界:打破界限,成为硬核程序员

在 Stack Overflow 的年度开发者调查中,Rust连续第八年成为“最受欢迎的编程语言”。Rust 最近可谓风头正劲,很多人都有所耳闻,但没用过。日前,美国总统拜登公开表示:出于安全考虑,大力发展 Rust 项目,拒绝支持“非 Rust”项目。Lars Bergstrom(Google 工程总监)在一个分享中表示:Rust 和 go 语言一样有很高效率的生产力,Rust 团队的生产力是...

2024-05-23 08:42:03 104

原创 优秀开源项目 gogo/protobuf 已经凉了。。。

大家好,我是煎鱼。最近我有一个朋友在内部陆续推动一些内部更新时,发现一个比较震惊的事,就是一个著名的 Go 开源项目居然已经陨落有两年多了。突然发现自己当年没能及时发现...似乎完全被当时 golang/protobuf v2 的热度压没了。尴尬得很。gogo/protobuf 发展和成熟相信大家对于 gogo/protobuf 这一个优秀的 Go 开源项目并不陌生,使用 grpc 就会用到 pr...

2024-05-22 08:41:41 1084

原创 Go module 目录为什么带 ! 感叹号?

大家好,我是煎鱼。前段时间二丫大佬反馈了一个较为细节的问题,当时在忙一下子没查阅出来。最近交流后有了新的验证和官方结论,获得一个新的小知识点,分享给大家。该问题与 Go 模块的存储目录和方式有关。首先我们查看在本地 mod 目录下的相关目录。如下图的模块存储路径:认真一看,会发现一个神奇的现象。那就是有的文件夹名称是带 ! 感叹号的。但是包本身并没有这样命名。如下图红框中的感叹号:这是怎么回事,目...

2024-05-15 08:41:57 381

原创 Google 内部 Go 的使用率有多少?

大家好,我是煎鱼。众所周知,Go 这一门编程语言的最大金主爸爸是 Google,Go 核心团队绝大部分也都在 Google 中工作,Google 为他们支付工资、福利等任何薪酬相关的内容。那在 Google 里到底对于 Go 的使用又是什么情况呢?今天我们基于社区的讨论,一起快速了解内部情况。快速背景最近在国外 reddit 社区的 r/golang 频道上,有人发出了直击灵魂的提问:“How m...

2024-05-14 08:41:21 454

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除