全干工程师的收藏夹【第一期】

我是一个预备役码农,这是我新做的的一个小项目。把每天阅读很多的文章,选出一些值得思考的内容做推荐。针对每篇文章我会写一小段中文简评,督促自己认真阅读的同时也给同为码农的你一些参考。我觉得码农才能知道码农的需要,而我作为被老师誉为“全干工程师”预备役码农,方方面面都会有所涉猎。

今天是全干工程师阅读分享的第一期,这里会记录我看到的值得分享的文章,期待和你一起进步!阅读本期所有文章需35分钟。

在微信平台阅读的同学,由于平台限制无法直接跳转,我把链接直接放在博客中,读完正文后可以通过原文链接获取三篇推荐的原文地址。

今天的三个文章背后共同的主题是选型和决策。工程师的任务就是在现实的约束下去求解问题,很多时候我们学习的教条式的知识让我们总忍不住去找最佳实践,而忽略了工程师的本职。我以为科学家的要义是在理想条件下寻找极限,工程师的任务是在现实条件下寻求平衡。为什么这个问题对于科学家和工程师来讲一样重要。


MySQL在GitHub的高可用性

mysql

架构设计的主要目的是为了解决软件系统复杂度带来的问题。复杂度的主要来源包括高性能,高扩展和高可用以及成本安全等方面的考虑。本文阐述了GitHub的MySQL高可用性和主服务发现解决方案,这个方案使得我们能够可靠地进行跨数据中心运维、克服数据中心隔离的影响并实现故障时的短宕机时间。现实的案例的演进过程可以让我们学习到每个决策背后的原因,而不是一味的为了高大上而去设计架构,做到有据可依。

原链:https://githubengineering.com/mysql-high-availability-at-github/ 约15分钟读完


为什么说JSON不是一门好的配置语言

json

优劣之争总是一个很有意思的话题。本文的角度不是一般的语言框架的问题,而是一个通用的配置文件的组织结构。任何一个方案都要放在一个具体的场景下去讨论才有意义,json作为一种通用数据交换格式无疑是非常有效率的,也几乎成为了restful设计的事实通信标准。但是,在作为配置文件的角度来说它却不是那么完美。作者分析了json的一些缺点后也给出了推荐的解决方案,虽然我们不是每个人都有机会构建自己的框架或者库,但是这些理由在我们日后决策之时必然可以提示一些思考的方向。

原链:https://www.lucidchart.com/techblog/2018/07/16/why-json-isnt-a-good-configuration-language/ 约8分钟读完


Vue和React大比拼

Vue 和React 大比拼

前端圈内的争斗从未休止,在做技术选型之时总是一个逃不开的话题。vue的官方文档中也附带了一篇与其他框架对比的文章。这一篇文章相对来说比较客观和全面,集中讨论vue与react的异同(angular已经不在讨论范围了么??版本更新大家hold不住了吧)。每个框架设计要解决的主要问题不尽相同,解决问题相同时候使用的策略也不相同,这就决定了他们场景的差异,一味支持谁终将变成黑粉。码农到工程师的进化应该主要体现在能结合现实场景去考虑问题吧。

原链:https://mp.weixin.qq.com/s?__biz=MzUxMzcxMzE5Ng==&mid=2247489220&idx=1&sn=495ed9f9278f92bd671ea54ca30df2ae&chksm=f951a387ce262a91a13328c9420777e90c285078ac1c5a4456ef31e5003df271e682812dc6e3#rd 约10分钟读完


原文链接: