47__弹力设计篇之“重试设计”

关于重试,这个模式应该是一个很普遍的设计模式了。当我们把单体应用服务化,尤其是微服务化,本来在一个进程内的函数调用就成了远程调用,这样就会涉及到网络上的问题。

47__服务治理的宏观视角

你好,我是七牛云许式伟。

服务治理的目标

很多开发人员可能会习惯地认为,把软件开发出来交付给用户是其工作的结束。但实际上对于任何一个产品或者产品里面的某项功能来说,把东西开发出来只是个开始,实际上这个产品或功能在其被取代或去除之前,都会有很长一段时间的维护期。

47__基于HTTP协议的网络服务

我们在上一篇文章中简单地讨论了网络编程和 socket,并由此提及了 Go 语言标准库中的syscall代码包和net代码包。

我还重点讲述了net.Dial函数和syscall.Socket函数的参数含义。前者间接地调用了后者,所以正确理解后者,会对用好前者有很大裨益。

47__接收网络包(上):如何搞明白合作伙伴让我们做什么?

前面两节,我们分析了发送网络包的整个过程。这一节,我们来解析接收网络包的过程。

如果说网络包的发送是从应用层开始,层层调用,一直到网卡驱动程序的话,网络包的结束过程,就是一个反过来的过程,我们不能从应用层的读取开始,而应该从网卡接收到一个网络包开始。我们用两节来解析这个过程,这一节我们从硬件网卡解析到 IP 层,下一节,我们从 IP 层解析到 Socket 层。

47__绝不仅仅是安全:Kata_Containers_与_gVisor

你好,我是张磊。今天我和你分享的主题是:绝不仅仅是安全之 Kata Containers 与 gVisor。

在上一篇文章中,我为你详细地讲解了 kubelet 和 CRI 的设计和具体的工作原理。而在讲解 CRI 的诞生背景时,我也提到过,这其中的一个重要推动力,就是基于虚拟化或者独立内核的安全容器项目的逐渐成熟。

47__前端架构:前端架构有哪些核心问题?

你好,我是 winter(加微信:642945106 发送“赠送”领取赠送精品课程 发数字“2”获取众筹列表。)

今天我们来谈谈架构。

在传统桌面软件开发中,架构师是一种通过设计架构保证团队能够良好分工和有序工作的岗位。

47__微服务API网关搭建三步曲(一)

你好,我是温铭。

今天这节课,OpenResty 专栏就要进入实战的章节了。我会用三节课的内容,来为你介绍如何实现一个微服务 API 网关。在这个过程中,我们不仅会涉及到前面学过的 OpenResty 知识,我也会从行业、产品、技术选型等多个维度,为你展示下,如何从头做一个新的产品和开源项目。

47__向量空间:如何实现一个简单的音乐推荐系统?

很多人都喜爱听歌,以前我们用 MP3 听歌,现在直接通过音乐 App 在线就能听歌。而且,各种音乐 App 的功能越来越强大,不仅可以自己选歌听,还可以根据你听歌的口味偏好,给你推荐可能会喜爱的音乐,而且有时候,推荐的音乐还非常适合你的口味,甚至会惊艳到你!如此智能的一个功能,你知道它是怎么实现的吗?

47__用机器设计测试用例:基于模型的测试

你好,我是茹炳晟。今天我和你分享的主题是:用机器设计测试用例之基于模型的测试”。

我在前面 4 篇文章中,和你分享的探索式测试、测试驱动开发 TDD、精准测试,以及渗透测试的内容,你是否已经掌握了呢?有没有尝试将这些比较新的理念用到你的工程项目中呢?如果你在应用的过程中,遇到了任何问题,也欢迎给我留言一起讨论。

47__原型模式:如何最快速地clone一个HashMap散列表?

对于创建型模式,前面我们已经讲了单例模式、工厂模式、建造者模式,今天我们来讲最后一个:原型模式。

对于熟悉 JavaScript 语言的前端程序员来说,原型模式是一种比较常用的开发模式。这是因为,有别于 Java、C++ 等基于类的面向对象编程语言,JavaScript 是一种基于原型的面向对象编程语言。即便 JavaScript 现在也引入了类的概念,但它也只是基于原型的语法糖而已。不过,如果你熟悉的是 Java、C++ 等这些编程语言,那在实际的开发中,就很少用到原型模式了。