TB一周萃选第3期

一周文章精粹

01

Go初学者的类型系统入门

对于Go初学者而言,尤其是对那些从OO语言转到Go的开发者,在他们大脑中根深蒂固的OO type hierachy不见了,这让他们似乎一下子失去了着力点或抓手。原Go core team成员JBD撰文阐述了Go类型系统的特点,诸如:流程优先、嵌入不是继承、多态、没有构造函数、没有范型等。

02

Go反射详解

Go语言提供了反射(reflect)特性,在标准库中很多常见功能都是用反射实现的,比如:encoding/json、fmt包的Println系列等。但日常编程中,直接使用reflect包的场合并不多。reflect为Go程序员提供了一种在运行时 “陷入” 的机制,使得Go程序具备了直接操作runtime中类型元数据的能力以及在运行时凭空“制造”变量的能力,因此reflect操作是比较“危险”的。

Sidhartha Mani的“Go反射详解”分为两个part,part1主要讲解type与kind的区别、基于reflect包的type和value进行Go原生类型变量的构造和值的析出;part2则是针对复合类型,比如数组、map、struct等类型变量的构造和值的析出进行讲解,思路十分清晰。

《Go Reflection: Creating Objects from Types — Part I (Primitive Types)》- https://medium.com/kokster/go-reflection-creating-objects-from-types-part-i-primitive-types-6119e3737f5d

《Go Reflection: Creating Objects from Types — Part II (Composite Types)》- https://medium.com/kokster/go-reflection-creating-objects-from-types-part-ii-composite-types-69a0e8134f20

03

现代网络负载均衡和代理指南

lyft的envoy工程师撰文对高可用分布式网络中的负载均衡和反向代理做了详尽的科普性讲解,内容包含:lb与proxy的区别、L4 lb、L7 lb、lb特性分析、lb的拓扑类型、当前L4-lb技术、L7-lb技术现状的情况、全局lb和集中控制平面等。强烈推荐阅读!

04

Go编译器内幕

这是由国内一位就职于ARM公司的开发者在Go dev group上发的topic,这位开发者将自己学习和整理了Go compiler的原理(主要针对ARM平台)放在了一篇slide中,并在Go core team的反馈下,对他的slide进行了修正和优化。这份资料对于想深入了解Go compiler的朋友可能是大有裨益的。

05

年度盘点2017之Service Mesh:群雄逐鹿烽烟起

在Kubecon&CloudNativeCon 2017上大放异彩后,Service Mesh在国内已经渐入火热阶段。Service Mesh的著名Advocator:数人云的架构师敖小剑年终前发了此文,对service mesh的发展历史、来龙去脉、各方开源项目和厂商势力分析以及未来发展做了回顾和展望。如果你还不知道什么是service mesh,那借此文赶紧上车吧:)

一周资料分享

01

Microservice’ing like a unicorn with kubernetes, envoy, and istio

随着传播渠道多元化和传播速度的加快,新技术“火”的速度也变得以前所未有。以Service Mesh概念为例(参考 “年度盘点2017之Service Mesh:群雄逐鹿烽烟起”):

2016 年 9 月 29 日在 SF Microservices 上,“Service Mesh”这个词汇第一次在公开场合被使用。这标志着“Service Mesh”这个词,从 Buoyant 公司走向社区。

2017 年 4 月 25 日,William Morgan 发布博文“What’s a service mesh? And why do I need one?”。正式给 Service Mesh 做了一个权威定义。

2017 年 5 月 24 日,Istio 0.1 release 版本发布,Google 和 IBM 高调宣讲,社区反响热烈,很多公司在这时就纷纷站队表示支持 Istio。

istio的正式发布,成为了service mesh的一个重要里程碑事件。谁能否认istio不是另一个Google内部技术的开源版本呢,就好比当年Kubernetes的开源。微服务框架走向统一的service mesh似乎成了大势所趋的趋势。无论国内外,对service mesh的研究、开发和试验,甚至是商用都在如火如荼地进行当中。

Redhat架构师Christian Posta近日在自己的博客上放出一份正在构建中的资料:Microservice’ing like a unicorn with kubernetes, envoy, and istio,对envoy和istio的原理与使用进行案例式的详尽说明,同时配有对应的示例源码。对于希望学习service mesh技术的朋友们,这是一份不可多得的资料。

资料分享链接:Microservice’ing like a unicorn with kubernetes, envoy, and istio - http://blog.christianposta.com/istio-workshop/slides/#/title

一周工具推荐

01

mdp

今天给大家推荐一个比较有Geek赶脚的present工具:mdp。

mdp是一款文稿演示工具,与go present工具有些类似,都是以一种类markdown格式的文档作为输入。不同之处,后者是将演示文稿渲染到浏览器中,而mdp工具则是将文稿渲染到terminal中,效果参见下面图示:

mdp支持标准markdown语法,同时也支持通过一些扩展语法实现的特定渲染效果。mdp同时支持一些快捷键控制命令,比如:h,j,k,l组合的翻页控制等。在Mac上可使用brew工具来install mdp,在其他平台可以通过下载源码并自行编译的方式安装。

工具链接:mdp - https://github.com/visit1985/mdp

一周图书推荐

笔者认为人类正在构建支撑未来20-30年支撑人类社会发展的IT技术“有机生命体”,包括:

能量系统(类比于细胞化学反应,提供计算能量) – IT基础设施(云计算、vm、k8s、container)、Cloud Native技术框架:microservice 、service mesh(服务治理网络) 、serverless等。

神经通道 – 基础高速互联网、移动网络、区块链(信用网络)

大脑 – 人工智能、数据与智能算法

肢体与感知 – 机器人、智能交通工具(比如:无人汽车等)、智能硬件、Iot等。

其中区块链技术作为未来社会信用网络的重要基础,IT技术人员都应该认真学习。本期我就推荐一本有关区块链技术的开源书:yesky的《区块链开发指南》。这是一本关于区块链技术的较为系统的开源书。该书探索了区块链概念的来龙去脉,剥茧抽丝,剖析关键技术原理、典型应用场景、分布式系统核心问题,同时讲解了区块链技术的三大典型应用:比特币、以太坊和Hyperledger超级账本以及相关应用的开发入门。

本文来自企鹅号 - TonyBai媒体

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏牛客网

奉献一波腾讯的面经!

7130
来自专栏程序员宝库

九年程序人生

一次做规划局的项目,规划局的职员很是钦佩地说:“你们真了不起,在电脑上敲敲键盘就能做出软件来。”,

1122
来自专栏phodal

那些年,你应该读的7本Beautiful计算机书

O'Reilly Beautiful系列的电子书都是相当不错的文章合集,不仅可以扩大我们的市场,还可以装逼~~。 很多年前,有一本叫《代码之美》的书预售的时候,...

2206
来自专栏平凡文摘

假笨说-离开是为了更好的开始(寒泉子)

2303
来自专栏老九学堂

与程序打交道的九年里,我的爱恨情仇...

一次做规划局的项目,规划局的职员很是钦佩地说:“你们真了不起,在电脑上敲敲键盘就能做出软件来。”

880
来自专栏JAVA烂猪皮

如何成为10倍速的程序员

国外有个词叫做10x Programmer,直译是以一当十的程序员。我并不认为一个技术大牛能完成10个普通程序员的工作,技术大牛会花1/10的时间把工作做完,然...

1382
来自专栏大数据挖掘DT机器学习

如何处理 Python 入门难以进步的现象?

问题: 如何处理 Python 入门难以进步的现象? 看视频看呀看呀看, 看完了,基础的都懂了 然后就想写点东西 可是无从下手呀,我以为基础不扎实,又去看视...

3954
来自专栏Python绿色通道

数据分析 | 你要的数据分析教程来了

最近休息了一段时间,也准备了新的课程,经过两个月的筹备,我把数据分析这一块内容已经做了一下整理与总结,最近公众号会出一个数据分析专题了.

5272
来自专栏大数据挖掘DT机器学习

微软亚洲研究员:回顾我走过的编程之路

作者: 陈梓瀚(vczh) (很荣幸被华南理工大学软件学院邀请撰写此文,关于毕业那会儿找工作的一些事情) 前些日子被华南理工大学软件学院邀请回去参加一些活动,...

3327
来自专栏哲学驱动设计

《Framework Design Guidelines 2nd Edition》推荐

前言     最近看了《FDG 2nd Edition》,也适当做了些笔记,在这里写这篇文章的目的主要有两个,一是对自己学习的一个记录、积累;另外,还可以用这...

19610

扫码关注云+社区

领取腾讯云代金券