-
字节开源以Go为核心的项目,为何大厂都如此偏爱Go?
9月8日,字节跳动正式宣布开源CloudWeGo,这是一套以Go 语言为核心中间件集合。字节相关技术负责人表示希望CloudWeGo能丰富云原生社区的Golang工具体系。 可以看出,字节内部已有诸多用Go语言开发的成熟项目,基本上也已经全员转Go了。其实不只是字节,阿里、腾讯、百度、B站等也都开始尝试用Go来开发项目了,如果你想进大厂,那么Go语言毫无疑问是最佳通行证。 为什么现在BAT大厂纷纷转Go? Go有十分明显的优势 许多大厂内部需要构建大型项目,而Go的高并发、高性能、高效率等优势,…
-
教师节重磅献礼!马哥教育向全体燃灯者致敬!
昨天有个关于"学习"的话题瞬间冲上了热搜榜:中国人为了学习能有多努力。 热爱学习,艰苦奋斗一直是中华民族的优良传统,即使家境贫寒,即使名落孙山,我们始终在学习的路上,不曾停止过。 当我们还是孩童时,我们就意识到学习的重要性。我们早起晚归,就算是周末也不曾放弃学习的机会,甚至在上下学路上,我们仍在学习。 当我们偶尔放松,玩起游戏时,我们也要寻找一起学习的同伴,尽管大家来自天南地北,互不相识,只要你也热爱学习,我们就是"一家人"。 当我们终于从天涯海角聚在一起,相会于马哥教育时,即使结…
-
Python 处理 JSON 我选择 ujson 和 orjson
在 Python 使用用 json.dumps(data) 时突然发现特别慢,data 本身不大,但是一个包含很多元素的列表,所以促使本人寻找一个替代的 JSON 处理库。大概对比了一个 ujson(UtltraJSON), python-rapidjson(RapidJSON) 和 Python 自带的 json 库。还有一个 simplejson 是为兼容 Python 2.6 以前用的(json 是 Python 2.6 新加入的 API),性能有些差。 基本上姜还是老的辣,想要收获更好…
-
Go 项目中常见的 10 种错误
本文总结了10种 go 语言编成中可能导致性能下降的坏实践。有代码洁癖的同学来自我检查吧! 这篇文章主要讲述了我在 Go 项目中见到过的常见错误清单,顺序无关。 未知的Enum值 来看个简单的例子 在上面的代码中,使用iota创建了一个enum类型,分别代指下面的状态信息: 现在,我们假设Status 是一个 JSON 请求中被Marshalled / Unmarshalled的一个属性,我们可以设计出下面的数据结构: 然后,假设收到的Request 的接口返回值为: 到目前为止,没有什么特殊的…
-
面试官:二维码扫码登录是个啥原理
在日常生活中,二维码出现在很多场景,比如超市支付、系统登录、应用下载等等。了解二维码的原理,可以为技术人员在技术选型时提供新的思路。对于非技术人员呢,除了解惑,还可以引导他更好地辨别生活中遇到的各种二维码,防止上当受骗。 二维码,大家再熟悉不过了 购物扫个码,吃饭扫个码,坐公交也扫个码 在扫码的过程中,大家可能会有疑问:这二维码安全吗?会不会泄漏我的个人信息?更深度的用户还会考虑:我的系统是不是也可以搞一个二维码来推广呢? 这时候就需要了解一下二维码背后的技术和逻辑了! 二维码最常用的场景之一就…
-
微博崩,B站崩,B站崩完豆瓣崩......
9月5日,“豆瓣崩了”登上热搜,引起广泛讨论。 而在7月13日,热搜上也是一片“崩坏”。起因是因为B站崩了,看不了视频的用户又冲向了其他网站,之后A站、豆瓣、晋江文学都出现了不同程度的访问故障。B站7000多万日活网友的威力可见一斑。 这次事件,也为我们敲响了警钟。 事故的发生是量积累的结果,任何事情都没有表面看起来那么简单,在软件运行的过程中,随着用户量的增加,不考虑高可用,迟早有一天会发生故障! 高可用HA(High Availability)是分布式系统架构设计中必须考虑的因素之一,它通常…
-
Dockerfile文件全面详解
Docker 可以通过读取 Dockerfile 中的指令自动构建镜像。Dockerfile 是一个文本文档,其中包含了用户创建镜像的所有命令和说明。 一、 变量 变量用 $variable_name 或者 ${variable_name} 表示。 ${variable:-word} 表示如果 variable 设置,则结果将是该值。如果 variable 未设置,word 则将是结果。 ${variable:+word} 表示如果 variable 设置则为 word 结果,否则为空字符串。 …
-
Golang 如何表示枚举类型
go 语言枚举类型是这么用的?在什么场景下会用到枚举?本文对 go 语言枚举做了详细讲解。 枚举,是一种重要的数据类型,由一组键值对组成,通常用来在编程语言中充当常量的标识符。在主流行编程语言如 c、 java 等,都有原生支持。在 go 中,大家却找不到 enum 或者其它直接用来声明枚举类型的关键字。从熟悉其它编程语言的开发者转用 go 编程,刚开始会比较难接受这种情况。其实,如果你看到如何在 go 中表示枚举类型时,可能会感受到 go 语言设计者对简洁性、问题考虑的深度,是一般资浅工程师无…
-
内核 30 周年之际,Linux 5.14 版本正式发布
正如预期的那样,Linus Torvalds近日将Linux 5.14晋升为稳定版,在精彩的2021年秋季Linux发行版大量出现之前提供最新的功能、硬件支持和其他改进。您可以在本文参阅Linux 5.14功能列表,了解这个新内核版本的全面变化。 Linux 5.14带来了新的硬件支持,改进现有的功能,并加入了其他新的内核创新。 Linux 5.14的一些亮点包括核心调度支持、MEMFD_SECRET的秘密内存区域支持、围绕英特尔Alder Lake的各种新特性的持续启用、Yellow Carp…
-
20个提高生产力的 Linux 命令与技巧,用完带你飞
简介:这里有一些很有用的 Linux 命令,终端技巧和快捷方式,可以在使用Linux命令行时节省大量时间。 在本文中,我将向您演示一些专业的Linux命令技巧,这些技巧将使您节省大量时间,在某些情况下还可以避免很多麻烦,而且它也将帮助您提高工作效率。 并不是说这些只是针对初学者的Linux技巧。即使有经验的Linux用户也有可能没有发现这些,尽管你这些年来一直在使用Linux。 很酷的Linux终端技巧,帮助您节省时间和提高生产力 您很可能已经知道这些Linux命令中的一些或全部。无论哪种情况,…