自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

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

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

2024-05-22 08:41:41 776

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

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

2024-05-15 08:41:57 324

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

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

2024-05-14 08:41:21 400

转载 Kafka 是什么?

你是一个程序员,假设你维护了两个服务 A 和 B。B 服务每秒只能处理 100 个消息,但 A 服务却每秒发出 200 个消息,B 服务哪里顶得住,分分钟被压垮。那么问题就来了,有没有办法让 B 在不被压垮的同时,还能处理掉 A 的消息?当然有,没有什么是加一层中间层不能解决的,如果有,那就再加一层。这次我们要加的中间层是 消息队列Kafka。Kafka什么是消息队列为了保护 B 服务,我们很容...

2024-05-14 08:41:21 10

原创 Go1.0 到 1.22 的性能表现,提高了多少倍?

大家好,我是煎鱼。五一假期时看到 @Ben Hoyt 大佬分享的文章《Go performance from version 1.0 to 1.22》,分享了他在这么多年来一直坚持不懈的对 Go 进行性能测试的记载。今天基于此分享给大家,有所调整和精简。原作者对 Go1.0 到 Go1.22 的所有 Go 版本进行了性能测试,包含了在 Go 1.20 中新增的性能分析引导优化(PGO)的结果。Go...

2024-05-11 08:41:40 750

原创 Go 未来方向:标准库 v2 改进的指导原则

大家好,我是煎鱼。在五一假期的第一天,Go 核心团队也没有闲着,@Russ Cox 直接在官方博客发布了《Evolving the Go Standard Library with math/rand/v2》这篇文章。其部分内容是对本次做 math/rand/v2 标准库升级的内容进行再度陈述,有兴趣的小伙伴可以阅读我之前写的《Go1.22 新特性:新的 math/rand/v2 库,更快更标准!...

2024-05-10 08:41:27 784

转载 再让我推荐 Go 练手项目,就它了~

5 月 TIOBE 编程语言榜单已发布,大部分变化都不是很大。其中我最关注的是, Go 继续挤进了前10 且份额持续新增,而 PHP 则越来越少的份额在跌落。前五名中,只有 Pyhon 在增加,其它份额全部都在下降:这一成绩,不仅体现了 Go 越来越受到技术人的青睐,也印证了它在各行业中的实际价值。作为一门语法不算复杂的语言,入门 Go 比较容易,但很多朋友在学习 Go 项目开发时,经常会遇到不少...

2024-05-09 08:42:03 28

原创 Google 如果把 Go 团队给裁了会怎么样?

大家好,我是煎鱼。节前有一则劲爆消息,Google 把 Python 基础团队和 flutter/dart 团队里相当多的开发人员给解雇了,据说可能是要换个城市重组(真是熟悉的 CY 套路)。据悉被解雇的人中基本都是负责了 Python 重要维护的相关核心成员。如下图所示:此时引发了国内外社区一个较大的担忧,如果 Google 如法炮制,要放弃 Go 核心团队。会发生什么事,会不会有什么问题?现在...

2024-05-07 08:41:09 878

转载 最近,后端的薪资爆了。。。

如果问你:2024年,程序员必须掌握哪项技术?AI一定是榜首!从去年起,AI大模型已是程序员的必备工具——‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍编程提效:编写更快,程序更稳定;代码更优:测试数、BUG对应减少;项目爆单:训练模型,接&做项目更快;输入prompt指令和搭建AI大模型开发框架,AI就能迅速批量完成工作,甚至比人工更出色。知名大厂都在布局AI市场,懂AI的程序员年薪甚至翻到80w-96...

2024-05-05 10:10:28 17

原创 Google 孵化了 3 个 Go 安全库,推荐使用!

大家好,我是煎鱼。Google 作为一家用户体量很大的企业,有非常多的产品,经常会被黑客攻击或被拿来练手。因此其设计的产品、编程语言、工具库等都会要求考虑安全性相关的内容。例如:各种供应链攻击、CWE 等安全的查缺补漏等。我们作为用户(使用者),可以 “白嫖” 这些功能实现。直接复用在自家的业务上就可以了。这样每年在护网上都能省不少劲。三个 Go 安全库本次 Google 输出了三个新的 Go 开...

2024-04-29 08:41:55 684

原创 Go 最大挑战、AI 方向、内部优先级?2024 H1 开发者报告发布

大家好,我是煎鱼。在这个月的月初,Go 官方公布了 1 月、2 月做的 Go 开发者调查结果。本次调查的主要关注点是:开发人员如何开始将 Go(或其他语言)用于 AI(人工智能)相关场景。以及正在学习 Go 或希望扩展 Go 技能的开发人员面临的特殊挑战有哪些。老样子,我会摘取其中我认为有了解意义的 TOP3 分享给大家。使用 Go 最大的挑战在本轮调查中,我们引入了封闭式问题,提供了往年最常见的...

2024-04-23 08:41:56 1034 1

转载 我有一千个学 Rust 的理由

前几日,我在群聊中稍微调侃了一下 Rust 的学习难度,没想到有位朋友竟戏言“Rust 是编程界的原神”。我们老友间的闲谈,总带着几分戏谑与调侃,但在这背后,也透露着对Rust 领域的热爱与关注。那?谁在用 Rust?看起来仿佛「人人都爱 Rust」,而 Rust 也并非叫好不叫座,它近些年来也逐渐在工业实践中崭露头角,例如:Mozilla:使用 Rust 开发其旗下 Firefox 浏览器的 C...

2024-04-17 08:41:20 45

原创 Go 新提案:返回值应该明确使用或忽略?

大家好,我是煎鱼。之前在写 Go 代码时 IDE 经常会提示。外加我有一个朋友他团队内 CodeReview 也会遇到一些方法的返回值,处理不处理的问题。一开始大家还会讨论一下,久而久之基本也就麻木了。假期时翻资料学习时,看到了 Go 社区这个相关的 issues#20803[1]。之前已经有大佬提过类似的疑惑,Go 团队也进行了回复。官方算是给了一个初步的定论,今天分享给大家。和煎鱼一起学习!快...

2024-04-16 08:41:20 794

原创 Go 如何缓解来自软件依赖的恶意攻击?

大家好,我是煎鱼。前段时间有一起比较严重的安全事故,引起了国内外的集中关注、讨论和走查。听说个别朋友在当时都加塞了新的活,得加班加点检查一下。这一连串事件,不禁让我思考到 Go 是如何解决和防护攻击相关的问题。周末翻到了《How Go Mitigates Supply Chain Attacks[1]》,内容物就是针对 Go 如何解决来自软件依赖的恶意攻击是相关的。基于此整理和调整后分享给大家。安...

2024-04-15 08:41:49 296

转载 全网独一份!Go+AI大模型学习资源...(待会删)

国内AI赛道又爆了!继科大讯飞、阿里、华为等巨头公司发布AI产品后,很多中小企业也陆续进场!人才市场上AI大模型工程师“一将难求”!甚至开出80k*16的高薪,挖掘AI大模型人才!如今大厂老板们,也更倾向于会AI的人,普通程序员,还有应对的机会吗?与其焦虑……不如成为「掌握AI工具的技术人」,毕竟AI时代,谁先尝试,谁就能占得先机!????知乎知学堂特邀你加入:行业前沿资源——AI大模型公开课已为本...

2024-04-14 10:10:21 47

原创 Go 工具链已经开始收集和上报使用数据!

大家好,我是煎鱼。一年多前,Go 核心团队提起了想要收集用户使用数据的诉求,为此我们在《Go 工具链想主动上报使用数据,你愿意吗?》中进行了深入探讨。还做了个投票,以下是我们当时的投票结果:从 Go 社区的讨论结果来看,最后是绝大部分开发者是没有直接同意 rsc 这么干的。都非常关注 ”隐私“ 的问题。更建议做成可选项,也就是用户选择上报。最后 rsc 就以收集够信息,“草草了事” 的关掉了讨论区...

2024-04-12 08:41:57 531

转载 这是最近频繁刷的 Go 八股文,好用!

在最近的一份程序员薪资报告中,Go的平均薪资位居榜首,平均薪资¥25739,Java、C++、C分别位列13、12、11名,平均薪资在¥18000-19000之间。随着国内Go环境的逐步成熟,企业应用范围越来越广,主动学习Go的人也越来越多,希望通过Go弯道超车。都说 Go 入门容易,但实际上很多时候,语法一学就会,上手一写就废,真要用 Go 来开发项目,直接懵逼。究其原因,还是缺乏项目经历,相关...

2024-04-11 08:41:34 57

原创 Go 标准库中的一个设计败笔:哨兵错误

大家好,我是煎鱼。在 Go 的历史发展中,总是有或多或少的坑。最近遇到一个跟错误类型定义和声明使用有关的小坑。翻了一圈 Go 社区里的争论,发现又是一个暂时无法解决的未解之坑。今天分享给大家,平时开发时也可以给自己避避坑,以免有人乱用。快速背景在 Go 里有一种错误类型的定义,官方叫做哨兵错误(Sentinel errors):哨兵错误,常用于在程序中与全局变量的值对比。可以参考最常见的 os 标...

2024-04-10 08:41:50 641

转载 讲真,今年后端的行情好了很多

今年后端的行情确实比去年好转了一些,不是我为了安慰大家,一方面群里后端朋友有面试机会和拿 offer 的人多了起来,另一方面CoderPad 发布的《2024 年技术招聘现状》报告也说,今年招聘后端开发 >50 人的公司达到了 30%(去年是 23%)。这说明更多公司扩大了招聘规模,这对我们来说是一个积极的信号。四月是找工作的高峰期,现在的情况已经和前几年完全不一样了,如果只是随便写写简...

2024-04-09 08:42:01 64

原创 Go 哪里没有做好?Rob Pike 深刻反思了

大家好,我是煎鱼。前段时间给大家分享了《Go 创始人 Rob Pike:我们做对了什么?》,看了看大佬认为成功的地方在哪里。今天这篇将会继续延续前文,一起深入探究 Go 做错、失败的地方在哪。学习前人的经验。没有引导好并发理念从历史背景来看,在 Go 诞生的那个年代,并发编程是一个比较新颖的理念。许多其他编程语言、论文甚至书籍都写过关于并发编程的内容。并发编程还没有成为主流思想。Go 团队发明了 ...

2024-04-08 08:41:26 626

转载 docker 和传统虚拟机有什么区别?

我有一个程序员朋友,他每年情人节都要送女朋友一台服务器。他说:“谁不想在过节当天收到一台4核8g的服务器呢?”“万一对方不要,我还能留着自己用。” 给他一次过节的机会,他能把浪漫玩的明明白白。所以今年情人节,他自己一个人过。太痛了,是那种布洛芬都不知道他哪里痛的痛。虽然人跑了,但起码还有服务器陪着他,但屏幕前依然单身的你呢?你连服务器都没有。那么问题就来了,你买过服务器吗?看着云厂商各种产品...

2024-04-08 08:41:26 44

转载 几个祖传代码不遵守就想骂的代码规范

今天说几个我曾经在管理项目和团队要求的基本编码规范。实际执行下来成本比较低,长期坚持下来的确有助于项目的维护。虽然是几个非常基本的代码规范,但我们只在团队比较稳定的时候坚持下来过,后来随着人员更迭,懂得都懂。这里也不是吐槽谁的代码习惯不好, 我也干过复制旧代码过来就能用,妈呀真香,赶紧上线吧这种事情。数据表和Model的命名规范类型规则正确示例错误示例数据表名使用SnakeCase 命名法多个单词...

2024-04-07 08:41:24 39

原创 Go 是社区驱动吗?哪种模式更好

大家好,我是煎鱼。上一篇给大家分享了《Go 是 Google 的语言?核心成员的内部视角》,增加了一些 Go 核心团队内部视角思考。本文继续基于对两篇文章的前因后果的补充,基于《Is Golang truly community driven and does it really matter?》,煎鱼对内容有所调整和补充。快速背景几年前在 Hacker News 社区,针对 Go 的一个问题引发...

2024-04-07 08:41:24 753

原创 Go 是 Google 的语言? 核心成员的内部视角

大家好,我是煎鱼。一直以为大家对于 Go 这一门编程语言和背后的金主爸爸 Google 错综复杂的关系感到疑惑。周末在学习时又再看到了 Go 核心团队的 @Ian Lance Taylor(下称:Ian)的回复和社区整理思考。分享给大家!本文主要基于邮件《Interesting public commentary on Go...[1]》所输出和答复,煎鱼有所调整和总结。背景好多年前,Hacker...

2024-03-31 10:11:02 682

转载 变天了!软考官方正式明确!全体程序员开始狂欢吧!

随着国家计算机与软件技术的发展,每年报名参加计算机软件资格考试(简称:软考)的人越来越多。据工信部新闻发布会消息:????2023年有超500万人都在考软考,报名人数较2020年直翻10倍。据悉,国内持软考证书的IT人才缺口高达950万,持软考证书的全职IT人才平均年薪可达20-50万元。前几天,软考官方公布了24年软考大改革,即技术类科目变多了!这意味着,市场急需持有软考证书的IT人才,且今年改革第一...

2024-03-30 10:10:51 49

转载 服务熔断是指什么?

微服务领域里有个词叫服务熔断,你知道这是啥不?故事要从我读大学那会说起。因为功率问题,很多寝室都是不让用吹风筒和热水壶的。但我那时候头铁,不仅用,而且还同时开了两个热水壶和一个吹风筒。直接给寝室电路来了个压测。不出意外的出了意外,寝室直接停电。一时间,隔壁寝室灯火通明,我们寝室一片漆黑。作为本科专业电气工程的靓仔,我们意识到,这妥妥是电路过载导致断路器跳闸了。于是我们趁社管阿姨不注意,偷偷摸进配电...

2024-03-28 08:41:43 47

原创 Go 创始人 Rob Pike:我们做对了什么?

大家好,我是煎鱼。前两个月 Go 创始人之一 @Rob Pike(下称:rob) 分享了他对 Go 这门语言的历史性回顾和思考《What We Got Right, What We Got Wrong[1]》。今天和煎鱼一起看看大佬认为 Go 做对的部分,看看能不能从中吸取到一些神奇的知识,再化作技巧在平时使用。为什么要创造 GoGo 创始人 rob 表示,他们最初的目标不是创造一种新的编程语言,...

2024-03-28 08:41:43 441

原创 Go 负责人 rsc 翻车,决定追加 godebug 行

大家好,我是煎鱼。上年我给大家分享过《加大力度!Go 将会增强 Go1 向后兼容性》,当时是 Go 核心团队负责人 @Russ Cox(下称:rsc)主导和推进的。没想到,那么快就发现新的坑。为此 rsc 光速推进了一个新的提案《cmd/go: separate default GODEBUGs from go language version[1]》,现在已经是接受状态了。今天就由本煎鱼为大家分...

2024-03-26 08:41:38 1007

转载 十年老后端运行公司前端项目,连编译都没过去...问题出在哪?

▲点击上方"网管叨bi叨"关注公众号事情是这样的兄弟们,作为一个工作十年的老后端,最近两个月没事学了学前端,本来学之前还信心满满“前端你工程话再复杂能有些Java项目那些切面、各种Bean注解、maven复杂?一个月上手应该没问题”结果最近一直加班……两个月了,才把Vue看了个大概,起初刚看前端的时候发现Y工程化咋用那么多工具和插件啊还是我后端香用go tools 或者Maven管理项目所有的依...

2024-03-26 08:41:38 68

转载 服务发现有哪些要素?

服务发现(Service Discovery)是微服务领域中的一个关键概念,它指的是在网络环境中,应用程序和服务能够自动地发现、注册和获取其他服务的位置和状态信息的过程。这个过程使得服务能够动态地加入或离开网络,同时其他服务能够感知到这些变化,从而实现服务之间的有效通信和协作。服务发现通常涉及以下要素:服务发现有哪些要素(上)服务发现有哪些要素(下)注册(Registration):服务在启动时将...

2024-03-20 08:41:59 50

原创 Go 团队近两年在做什么,AI 方面如何发力?

大家好,我是煎鱼。本文继续承接 @Sameer Ajmani 的回忆录《Go 和 Google、Cloud 融合的那么深,绝非偶然》,他现在作为 Google 工程总监 ,负责领导 Go 编程语言团队。本次也给出了 Go 这两年大的关键变动说明,更重要的是提及了 Go 计划在生成式 AI 方面的发力方向。今天由煎鱼结合分享一下,看看未来会发生什么变化。最近几年做了什么马后炮一下,在过去的几年(20...

2024-03-20 08:41:59 1005

原创 Go 和 Google、Cloud 融合的那么深,绝非偶然

大家好,我是煎鱼。我记得以前每当谈论起 Go 这一门编程语言的 “成功” 或是 “崛起” 时,大家总会提到几个关键的内容点,例如:云原生、微服务。更具体 Go 编写的基础组件会提到:Kubernetes、Docker、Etcd 等。其中被广泛应用的 Kubernetes,也是由 Google 家出品。这一切,不禁让人怀疑是否有什么关联。也有同学会认为其是完全站在了风口上。最近看到 Google 工...

2024-03-17 10:10:59 652

转载 在“没能力”的领导下面工作时,要记住这三点

相信很多人在职场里待久了,都会遇到自己觉得比较差劲的领导,这些人可能除了向上管理能力很强外(会舔老板),其他能力在你看来都挺一般,专业能力一般,超级缝合怪--上级给他的任何任务他都能分配给你们,然后他再缝合一遍完事。那么遇到这种领导我们该怎么办呢?多数人想到的是跳槽,这确实是一个解法,但你跳到下家公司也保不齐会有这样的领导呀,今天咱们讨论的这个话题就先把条件限定成你不能跳槽,这个时候你该采用什么方...

2024-03-14 08:41:13 36

原创 Go 错误处理:用 select-case 来解决这个历史难题?

大家好,我是煎鱼。日常看 Go 社区的一些新动态,发现大家对于错误处理的新提案是很积极。上次分享了一篇想要用 switch-case 来解决现状的新提案,不少同学认为不可行。没想到 Go 社区的同学脑洞还是很大的,这几天又整出来个 select-case 的新提案的方式来解决错误处理。今天基于此给大家分享一下社区里的新脑洞。快速背景本节的背景主要是给不了解的同学拉通一下。如果已经知道的可以跳过本节...

2024-03-14 08:41:13 962

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

2024年适合IT人才的“一举三得”的全方位职业提升方式终于出现了!!!如果你想实现个人技术全体系提升,实现升职加薪!如果你想胜任技术管理岗位,实现职业延伸!如果你想在工作之余做些副业,实现收入增长!那么我强烈推荐你考取一个软考证书。高级推荐:系统分析师/系统架构设计师中级推荐:软件设计师这种考试既是职业资格考试,又是职称资格考试。取得软考高级资格可聘任高级工程师职务,有了系统分析师证书就具备了评...

2024-03-13 08:41:49 45

原创 Go arena 民间库来了,可以手动管理内存!

大家好,我是煎鱼。上年我们有讨论过关于 Go arena 手动管理内存的相关提案。一开始还高歌猛进,但没想到后面由于严重的 API 问题(想把 arena 应用到其他的标准库中,但会引入大问题):Go 核心团队中途咕咕咕到现在,没有新的推动和突破性进展,实属尴尬。最近有社区的大佬有了新的动作,来自 Grafana 的 @Miguel Ángel Ortuño 开源了一个新的第三方库 ortuman...

2024-03-12 08:41:59 846

转载 这是最近频繁刷的 Go 面试题,好用!

在最近的一份程序员薪资报告中,Go的平均薪资位居榜首,平均薪资¥25739,Java、C++、C分别位列13、12、11名,平均薪资在¥18000-19000之间。随着国内Go环境的逐步成熟,企业应用范围越来越广,主动学习Go的人也越来越多,希望通过Go弯道超车。都说 Go 入门容易,但实际上很多时候,语法一学就会,上手一写就废,真要用 Go 来开发项目,直接懵逼。究其原因,还是缺乏项目经历,相关...

2024-03-11 08:41:41 46

转载 QPS 的计算是怎么实现的?

面试的时候,面试官看着你做的项目,大概率会问一句,这个项目(API)能支持多大 QPS?如果你是个已经工作有几年的程序员,那想必这个问题难不倒你。但如果,我是说如果,面试官问你,你知道QPS 的计算是怎么实现的不,能详细说下思路吗?阁下又该如何应对呢?这是个很有意思的问题,我们今天就来聊聊这个话题。考虑到有不少读者还是学生,我们先来看下QPS 的含义。QPS 是什么QPS(Queries P...

2024-03-08 08:41:24 67

原创 Go 为什么不支持从 main 包中导入函数?

大家好,我是煎鱼。作为一个维护过许多有一定历史沉淀的 Go 项目的人,在历史债务下和奇葩需求下,会遇到一些迫于业务需求的技术诉求。诉求上是希望引用多项目,会出现从 main 包(package)中导入相关函数的这种使用诉求。为了将多 Go 工程合并到一个大单体中使用。问题案例具体的使用案例如下。我们有一个 Go 应用,目录结构如下:demo1├──go.mod├──main.go└──...

2024-03-08 08:41:24 579

原创 Go 泛型有没有可能在后期改为 <> 尖括号?

大家好,我是煎鱼。最近有一个社区朋友反馈他在某乎上看到一个提问,内容是如标题,对于 Go 泛型的标识符 <> 不太满意,想看看 Go 以后有没有机会改。问题上的原话是:一直对 Go 语言的泛型使用 [] 中括号耿耿于怀,[] 中括号在视觉上很难有辨识度,尤其是和切片在视觉上不具有明显区别,当泛型类型约束是切片时更是灾难,对此一直久久不能释怀,那么 Go 官方在后续版本迭代中是否会考虑新...

2024-03-04 08:41:56 728

空空如也

空空如也

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

TA关注的人

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