建立可评估工作流 最近在看《演进式架构》这本书,从中得到了一些关于如何做好质量保障这件事的启发。 质量是所有人都关心的事 团队的组织架构决定了团队的分工模式,也间接决定了从属不同团队的组件所采用的架构,如果我们在系统立项之初,就构建与目标系统相仿的团队结构,无疑会使项目更容易实现。如果现实并非如此呢?由于人们很难改变其职责范围外的事情,所以软件架构师需要时刻关注团队的分工模式,从而使架构目标和团队结构保持... 2021-01-062 min read
ARTS #83 Algorithm 本周选择的算法题是:Rotate List 规则 Given the head of a linked list, rotate the list to the right by k places. Example 1: Input: head = [1,2,3,4,5], k = 2 Output: [4,5,1,2,3] Example 2: ... 2021-01-022 min read
《演进式架构》书评 《演进式架构》通篇只讲了一件事:构建可评估架构的重要性。 稍具规模的产品往往都是由不同团队协作完成的,团队之间会划分职责和关键需求,由关键需求定义架构的关键指标,不可避免的产生了团队之间目标不一致的事实。 在团队编制下,各个团队通常都会针对眼前的任务优化效率,而不是针对那些更抽象的战略业务目标(特别是有工期压力时),这会导致各团队往往专注于交付各自的组件,而不关注端到端的特性价值,导致这... 2020-12-301 min read
ARTS #82 Algorithm 本周选择的算法题是:Multiply Strings 规则 Given two non-negative integers num1 and num2 represented as strings, return the product of num1 and num2, also represented as a string. Note: You must n... 2020-12-263 min read
微信公众号 近期创建了一个微信公众号。 没啥目的,就想亲自试下微信的生态圈,看看相关工具的建设程度,毕竟公众号火了这么多年,红利都快没了,作为互联网人都没尝试过有些说不过去。 我一直认为自己是一个较为自律的人: 在扇贝、多邻国上保持500+天的连续打卡 每周的 ARTS 作业,目前到 #82 了 每天一道 checkio … ps:某次公司聚餐时,喝吐了三次,强忍着剧... 2020-12-231 min read
ARTS #81 Algorithm 本周选择的算法题是:Group Anagrams 规则 Given an array of strings strs, group the anagrams together. You can return the answer in any order. An Anagram is a word or phrase formed by rearranging t... 2020-12-192 min read
为 GitHub 提供 Owner 维度的文件过滤 本文介绍一个通过 Chrome 插件在 GitHub 上实现 Owner 维度的文件过滤功能。 背景 我们的代码库托管在 GitHub 企业版上,内部有一套明确的 Code Review 制度,按模块、目录、文件等不同的粒度划分具体的负责人或团队,保证所有代码的修改、变更是被允许的。 而由于 GitHub 只能以文件类型为维度过滤列表,如下图: 当 PR 文件过多时很难让对应的 ... 2020-12-184 min read
ARTS #80 Algorithm 本周选择的算法题是:Day 1: Report Repair 规则 Part1 … Specifically, they need you to find the two entries that sum to 2020 and then multiply those two numbers together. For example, supp... 2020-12-124 min read
CI 物理架构 这一篇介绍稿定客户端持续集成的物理架构。 目前整体的设计是这样的: 在我们引入容器、虚拟化之前的很长一段时间,我们的 CI 基础设施都处于雪花服务器的状态: 手动管理一堆服务器 手动登陆每台服务器 手动安装众多软件 手动修改各种配置文件 导致每台服务器如同雪花一样独特,各服务器配置千差万别难以复制。 为了减少这些机器带来的维护成本,我们做了一些调研。 虽然... 2020-12-101 min read
ARTS #79 Algorithm 本周选择的算法题是:Swap Nodes in Pairs 规则如下: Given a linked list, swap every two adjacent nodes and return its head. You may not modify the values in the list’s nodes. Only nodes itself may be... 2020-12-052 min read