Web Analytics

如何在Go语言中使用Websockets:最佳工具与行动指南

如今,在不刷新页面的情况下发送消息并获得即时响应在我们看来是理所当然的事情。但是曾几何时,启用实时功能对开发人员来说是一个真正的挑战。开发社区在HTTP长轮询(http long polling)和AJAX上走了很长一段路,但终于还是找到了一种构建真正的实时应用程序的解决方案。 该解决方案以WebSockets的形式出现,这使得在用户浏览器和服务器之间开启一个交互式会话成为可能。WebSocket...

September 28, 2019 · 12 min · Tony Bai

Go语言包管理简史

包管理是Go一直被诟病做得不好的功能之一。先前版本(go 1.11之前)的主要缺点之一是go get是缺乏对依赖包版本的管理和对可复制构建(reproducible build)的支持。Go社区已经开发了一些包管理器和工具作为版本化包依赖的事实标准解决方案,如glide,dep以及一些辅助工具等。 > “我在生产构建中使用go get。” – 没有人这么说过。 Go语言的包管理实现可追溯到Goog...

September 21, 2019 · 7 min · Tony Bai

Go语言回顾:从Go 1.0到Go 1.13

Go 1.13版本在2019.9.3正式发布!国外的Gopher Vincent Blanchon发表了一篇文章《Go: Retrospective》(科学上网阅读),对Go从1.0版本到1.13版本做了简要的回顾,这里是那篇文章的译文。 对于每一位Go开发者来说,Go语言的演化历程是必须要知道的事情。了解这些横跨年份发布的大版本的主要变化将有助于Gopher理解Go语言的发展理念以及该语言每个版...

September 7, 2019 · 8 min · Tony Bai

构建Kubernetes集群 – 选择工作节点大小

> 近期learnk8s网站上发布了一些关于k8s的好文章,这里搬运并翻译了一些,供大家参考。 本文翻译自《Architecting Kubernetes clusters — choosing a worker node size》。 **当您创建Kubernetes集群时,冒出的第一个问题之一是:“我应该使用哪种类型的工作节点以及需要多少个这样的节点”。** 如果您正在构建在内部部署的k8s集...

September 5, 2019 · 12 min · Tony Bai

提高您的kubectl生产力(第三部分):集群上下文切换、使用别名减少输入和插件扩展

本文翻译自《Boosting your kubectl productivity》。 第一部分:什么是kubectl? 第二部分:命令完成、资源规范快速查看和自定义列输出格式什么是kubectl? 4\. 轻松切换集群和名称空间 --------------- 当kubectl必须向Kubernetes API发出请求时,它会读取系统上所谓的kubeconfig文件,以获取它需要访问的所有连接参数...

August 31, 2019 · 15 min · Tony Bai