• 找到恶意软件包:Go 语言生态系统中的供应链攻击是怎样的?

    近期发生的严重的 SolarWinds 攻击事件和新型 “依赖混淆“攻击,让供应链攻击成为讨论焦点:攻陷供应链中不太安全的元素,导致更安全的目标遭攻陷。 供应链攻击的流行目标一直都是流行编程语言的很多包管理系统,如 NPM (JavaScript)、Rubygems (Ruby) 以及 PyPI (Python)。这些系统常年来遭受恶意攻击,攻击者上传恶意包并等待受害者安装。 目前为止,尚未看到关于 Go 生态系统的供应链攻击情况。鉴于 Go 语言是我的新宠,我决定自己做一些调查。 好在依赖混淆…

    Go自学教程 2021年6月24日
  • Go 中如何准确地判断和识别各种网络错误

    Go语言集成了简单易用的网路库,今天的推送是一线架构师分享的Go网络库使用入门指南。 Go 自带的网络标准库可能让很多第一次使用它的人感慨,这个库让网络编程的门槛低到了令人发指的地步。然而,封装层次与开发人员的可控性往往是矛盾的。Go 的网络库封装程度算是一个不错的折衷,绝大部分时候,我们只需要调用 Dial, Read, Write Close 几个基本操作就可以了。 但是,网络是复杂的。我们有时候需要细致的处理网络中的各种错误,根据不同的错误进行不同的处理。比如我们遇到一个网络错误时,需要区…

    Go自学教程 2021年6月24日
  • 使用 Go 实现 TLS socket server

    安全传输层协议 TLS,以前称为 SSL(Secure Sockets Layer) ,由于HTTPS的推出受到了很多人的欢迎。但是正如TLS的名称 Transport Layer Security 所示的那样,它实际上是独立于 HTTP,一个更深入的安全协议,我们可以将 TLS 视为 TCP 的安全版本,其提供了对 socket 通信进行加密和签名的功能。在我们的日常开发中,会将 gRPC 协议运行在TLS之上以确保安全。 今天我们来了解一下如何创建一个通过 TLS 加密的 socket 服务…

    马哥教育快报 2021年6月23日
  • 我们为什么需要Go这样一门新语言呢?

    Go语言官方自称,之所以开发Go 语言,是因为“近10年来开发程序之难让我们有点沮丧”。这一定位暗示了Go语言希望取代C和Java的地位,成为最流行的通用开发语言。 Go希望成为互联网时代的C语言。多数系统级语言(包括Java和C#)的根本编程哲学来源于C++,将C++的面向对象进一步发扬光大。但是Go语言的设计者却有不同的看法,他们认为C++ 真的没啥好学的,值得学习的是C语言。   C语言经久不衰的根源是它足够简单。因此,Go语言也是要足够简单! Stack Overflow 20…

    马哥教育快报 2021年6月15日
  • 0元抢!Go开发升级课程正式开班,免费试听通道限时开启!

    5月29日早上9:00,Go后台开发大厂高薪实战特训班正式开班! 当天,早9:00—晚18:30,VIP正课全天直播,马哥教育诚邀您来免费试听! 你还在为未来感到迷茫吗?你还在苦于拿不到高薪吗?你对Go后台开发有了解吗?你知道进大厂需要掌握哪些技能吗? 来参加这次试听吧,为你的梦想之路开疆扩土! 本次直播将会在腾讯课堂实时同步,大家可扫描下方二维码提前预约,相信这场直播将会给你带来意向不到的收获! 腾讯课堂直播二维码 (微信预约直播) 观看tips:扫描上方二维码,下拉目录至 → 11 Go语言…

    马哥教育快报 2021年5月29日
  • 50 万行Go代码,美国一组织从Python 2迁移到 Go

    美国教育非营利组织可汗学院(Khan Academy)方面透露,其已经用谷歌的 Go 编程语言完成了 50 万行代码,以取代此前用 Python 2 编写的后台服务器。根据介绍,可汗学院在其 Goliath 项目下实现了从 Python 2 到 Go 的大转变。Goliath 最初是使用 Python 2 实现的;从 2019 年开始,可汗学院逐步将其迁移到了 Go。 当我们开始 Goliath 项目的时候,团队中没有人知道 Go,只是通过实验验证了 Go 是相较而言更好的选择。今天,我们所有的…

    马哥教育快报 2021年5月24日
  • SRE和DevOps值得关注的十大开源项目

    构建可扩展且高度可靠的软件系统是每个SRE的最终目标。 在SRE/DevOps领域中,有大量出色的开源项目,每个项目都有新颖而激动人心的解决方案。在本文中,我们将会介绍一些在监控,部署和运维领域最受欢迎的开源项目。 1. Cloudprober Cloudprober可以主动跟踪和监控应用程序,并帮助你提前发现故障。它使用“活动(active)”监控模型来检查你的组件是否按预期运行。例如,它会主动运行探针,以确保你的前端是否可以访问你的后端。同样,可以运行探针来验证你的本地系统是否可以真正访问你…

    马哥教育快报 2021年5月20日
  • 如何用Golang协程实现流量统计系统?

    相信专业的程序开发人员都对并发编程十分熟悉。实现并发编程有进程、线程等方式,但是多进程和多线程并不是很完美。都是有内核进行调度,有 CPU 时间片的概念,进行抢占式调度,对于编程来说,难度比较大。 而 Golang 作为一门现代化的编程语言,它不需要你直面这些复杂的问题。本质上, goroutine 就是协程。 不同的是,Golang 在 runtime、系统调用等多方面对 goroutine 调度进行了封装和处理,当遇到长时间执行或者进行系统调用时,会主动把当前 goroutine 的CPU …

    马哥教育快报 2021年4月22日
  • 腾讯T12专家认定!马哥教育课程入选“薪选课程”,太顶了!

    近期,马哥教育通过了腾讯课堂“薪选·互联网课”项目的严格筛选认证,《Linux云计算架构高薪名师班》、《高端Go语言百万并发高薪课》分别正式对标腾讯T8、T9级别岗位聘用技术标准,完成课程及考核的学员将从代码能力、架构能力、运营能力、工程素养、安全能力等五个维度全面提升专业能力,匹配腾讯职业能力水平。 什么是“薪选·互联网课” “薪选·互联网课”是”2020年11月由腾讯课堂联合腾讯T12级专家团队,建立课程标准,通过三层审核的方式,对教培机构的教学、师资等进行筛选认证,完成课程及考核的学员将基…

    马哥教育快报 2021年4月6日
  • Go语言并不简单

    Go 不是一种很简单的编程语言。尽管它的许多方面都很简单:语法很简单,大多数语义也很简单。然而,语言不仅仅是语法,我们希望利用它编写出实用的代码。利用 Go 编写有用的代码并不总是那么容易 事实证明,通过某种方式将一些简单的功能组合在一起,编写出有用的代码可能会非常棘手。在 Ruby 中,如何删除某个数组中的一项?list.delete_at(i)。如何通过值删除条目?list.delete(value)。非常简单! 然而在 Go 中,事情可没有那么容易,为了删除索引 i,你需要执行以下操作: …

    马哥教育快报 2021年3月24日