Web Analytics

Go开发者的密码学导航:crypto库使用指南

本文永久链接 – https://tonybai.com/2024/10/19/go-crypto-package-design-deep-dive Go号称“开箱即用”,这与其标准库的丰富功能和高质量是分不开的。而在Go标准库中,crypto库(包括crypto包、crypto目录下相关包以及golang.org/x/crypto下的补充包)又是Go社区最值得称道的Go库之一。 ...

October 19, 2024 · 25 min · Tony Bai

有效表达软件架构的最小图集

本文永久链接 – https://tonybai.com/2023/12/06/a-minimum-set-of-diagrams-for-expressing-software-architecture 无论你是专职的软件架构师,还是在团队内兼职充当软件架构师角色的开发人员,一旦你处在软件架构师这个位置上,你自然就会遇到软件架构设计的三个困惑: ...

December 6, 2023 · 20 min · Tony Bai

通过实例理解API网关的主要功能特性

本文永久链接 – https://tonybai.com/2023/12/03/understand-api-gateway-main-functional-features-by-example 在当今的技术领域中,“下云”的概念正逐渐抬头,像David Heinemeier Hansson(37signals公司的联合创始人, Ruby on Rails的Creator)就直接将公司所有的业务都从公有云搬迁到了自建的数据中心中。虽说大多数企业不会这么“极端”,但随着企业对云原生架构采用的广泛与深入,不可避免地面临着对云服务的依赖。云服务在过去的几年中被广泛应用于构建灵活、可扩展的应用程序和基础设施,为企业提供了许多便利和创新机会。然而,随着业务规模的增长和数据量的增加,云服务的成本也随之上升。企业开始意识到,对云服务的依赖已经成为一个值得重新评估的议题。云服务的开销可能占据了企业可用的预算的相当大部分。为了保持竞争力并更好地控制成本,企业需要寻找方法来减少对云服务的依赖,寻找更经济的解决方案,同时确保仍能获得所需的性能、安全性和可扩展性。 ...

December 3, 2023 · 26 min · Tony Bai

Go项目目录该怎么组织?官方终于出指南了!

本文永久链接 – https://tonybai.com/2023/10/05/the-official-guide-of-organizing-go-project 长久以来,在Go语言进阶的学习和实践之路上,Go项目目录究竟如何布局一直是困扰大家的一个问题,这是因为Go官方针对这个问题迟迟没有给出说法,更没有提供标准供大家参考。仅有Go语言项目技术负责人Russ Cox在一个开源项目的issue中给出了他关于Go项目结构的最小标准布局的想法。 ...

October 5, 2023 · 9 min · Tony Bai

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

近期learnk8s网站上发布了一些关于k8s的好文章,这里搬运并翻译了一些,供大家参考。 本文翻译自《Architecting Kubernetes clusters — choosing a worker node size》。 当您创建Kubernetes集群时,冒出的第一个问题之一是:“我应该使用哪种类型的工作节点以及需要多少个这样的节点”。 如果您正在构建在内部部署的k8s集群,是应该订购一些最近一代的新服务器,还是使用数据中心内的十几台旧机器? 或者,如果您使用Google Kubernetes Engine(GKE)等托管Kubernetes服务,您是否应该使用八个n1-standard-1或两个n1-standard-4实例来实现所需的计算能力呢? ...

September 5, 2019 · 12 min · Tony Bai

基于consul实现微服务的服务发现和负载均衡

一. 背景 随着2018年年初国务院办公厅联合多个部委共同发布了《国务院办公厅关于促进“互联网+医疗健康”发展的意见(国办发〔2018〕26号)》,国内医疗IT领域又迎来了一波互联网医院建设的高潮。不过互联网医院多基于实体医院建设,虽说挂了一个“互联网”的名号,但互联网医院系统也多与传统的院内系统,比如:HIS、LIS、PACS、EMR等共享院内的IT基础设施。 如果你略微了解过国内医院院内IT系统的现状,你就知道目前的多数医院的IT系统相比于互联网行业、电信等行业来说是相对“落伍”的,这种落伍不仅体现在IT基础设施的专业性和数量上,更体现在对新概念、新技术、新设计理念等应用上。虽然国内医院IT系统在技术层面呈现出“多样性”的特征,但整体上偏陈旧和保守 – - 你可以在全国范围内找到10-15年前的各种主流语言(VB、delphi、c#等实现的IT系统,并且系统架构多为两层C/S结构的。 ...

September 10, 2018 · 19 min · Tony Bai

闲话智慧城市

这一个月,因为工作关系,我接触到了“智慧城市”这个概念,这里打算把这一个月来对智慧城市的认知和“感受”记录下来,算是一个小的总结吧,希望能给大家带去点营养。 ...

June 1, 2016 · 11 min · Tony Bai

现代企业应用架构-使用Docker CaaS交付敏捷的、可移植的、受控的应用

年初,火得发烫的独角兽IT公司Docker发布了一款新的企业级产品 Docker Datacenter (简称:DDC)。作 为拥有原生Docker容器技术的公司,其每个市场动作都会让轻量级容器生态圈内的公司不敢小觑。而要揣度Docker对商业改变的理解、对容器 技术栈应用的理解以及对新产品和服务在生态圈中的定位,就有必要对Docker的这款产品做一些比较深刻的了解。而其技术白皮书 恰是我们了解 Docker该产品的入口。这里我就基于自己对容器相关技术栈的粗浅理解,翻译一下这篇篇幅不长的技术白皮书,希望能给大家带来些许帮助。 ...

March 15, 2016 · 10 min · Tony Bai

Cocos2d-x屏幕适配之Sprite绘制原理

手机(智能终端)游戏绝大多数为全屏(Full Screen)显示,这样开发人员在制作游戏时势必要考虑不同手机(智能终端)屏幕大小、宽高比的不同给游戏画面带来的影响,并且要将这种影响降低到最 小,努力使用不同终端的游戏玩家拥有几乎相同的游戏画面体验。为此各种游戏引擎在屏幕适配方面都给出了自己的方案,Cocos2d-x也不例外。 在Cocos2d-x官网Wiki上特地撰写了一篇讲解Cocos2d-x多屏幕适配原理的文章“Detailed explanation of Cocos2d-x Multi-resolution adaptation”。 ...

May 13, 2014 · 25 min · Tony Bai

Cocos2d-x 3.0rc0集成Google AdMob SDK

话说Cocos2d-x 3.0上一周迫不及待地发布了正式版,本是一件值得庆幸的事情。但由于不可解决的技术问题,引擎无奈将Android平台的NativeActivity 实现重新回退到了Cocos2d-x 2.2.x版本的实现方案。由于之前已经将 GameDemo移植到了Cocos2d-x 3.0rc0版,直观感受到了NativeActivity方案带来的游戏操作体验上的提升(触屏事件的响应),因此心里总是“挂念”引擎的 NativeActivity方案。按照Cocos2d-x官方人士的说法,只要NDK的问题修复,NativeActivity还是未来引擎在 Android平台上的第一选择。我的理解,将来Cocos2d-x的某个版本中还会恢复NativeActivity的实现方案。 ...

May 1, 2014 · 8 min · Tony Bai