FizzBuzz与写代码的“一万”个细节 (insights.thoughtworks.cn)
技术是由一万个细节组成的,哪怕一个这么简单的题目,也有如此多的点。我也不敢说自己是什么高手,起码写了许多年代码,也就把自己写代码的思维展示给大家,希望对有心人有所帮助。
by @ThoughtWorks 2020-06-24 10:06 分享 查看详情
iOS打包发布那些事儿 (insights.thoughtworks.cn)
一个iOS应用最终能在用户的设备上使用,是经过了开发 -> 打包 -> 发布 -> 下载安装过程的。为了更易于理解,以及避免从一开始就陷入细节,本文将逆序讲述整个过程。
by @ThoughtWorks 2020-06-17 10:46 分享 查看详情
一项改变游戏规则的技术 - Flutter (insights.thoughtworks.cn)
Flutter从2018.02发布beta版,2018.12发布1.0版本,短短2年时间,到现在github上的start数量已经有81.6K。不论是国内还是国外,已经有大量的使用Flutter开发的产品,比如 Realtor.com Real Estate Search, Google Assistant,咸鱼等。
从我自己的角度来说,十分推荐采用Flutter。可能web端和desktop端目前还不那么成熟,但是native端可以大胆尝试。
by @ThoughtWorks 2020-06-10 10:31 分享 查看详情
谁说区块链保护隐私的? (insights.thoughtworks.cn)
我们当然知道隐私保护很重要,但是我以为区块链技术其实是放大了隐私保护的需求,并没有有效地解决这个问题。隐私保护里面有多少是区块链技术的功劳,就看我们往区块链这个概念里塞多少东西了。
by @ThoughtWorks 2020-06-08 17:24 分享 查看详情
DevOps实施的五个关键点 (insights.thoughtworks.cn)
DevOps实现的最终目标是快速交付,整合了精益思想、敏捷思想、学习型组织,它是一套科学的思想和实践方法,实施DevOps才是打破恶性循环,实现价值交付的最好解决方案。
by @ThoughtWorks 2020-06-05 18:05 分享 查看详情
有态度的前沿技术解析,第22期技术雷达 (insights.thoughtworks.cn)
​技术雷达是ThoughtWorks每半年发布一期的技术趋势报告,它不仅是一份持续的技术成熟度评估,其产生还源于ThoughtWorks另一个更大宏大的使命—IT革命。我们一直深信,IT行业从定位、价值、实践和技术都会发生巨大的变革。然而任何宏观的变革,都会有一些微小的信号,我们需要持续关注这些微小的改变,这也就是技术雷达的由来。
by @ThoughtWorks 2020-05-31 14:11 分享 查看详情
新一代BDD框架Gauge+Taiko (insights.thoughtworks.cn)
BDD,Behavior Driven Development,行为驱动开发。Gauge不强调协作,可以作为自动化测试工具独立存在,同时又支持高效协作、支持实现BDD,是一款灵活性更好的框架。它的秘密武器Taiko是一款优秀的Web UI自动化工具,两者的结合堪称完美,让需求规范、自动化测试和活文档的有机结合真正成为可能。
by @ThoughtWorks 2020-05-27 10:04 分享 查看详情
种草Cypress和TestCafe,QA同学一定想了解的Web UI自动化测试工具 (insights.thoughtworks.cn)
Cypress和TestCafe这两个工具相比于Selenium都更加的轻量级,且在不同的方面有了改进,比如安装更简单,增加了内置等待机制,调试更加方便等。
by @ThoughtWorks 2020-05-15 10:19 分享 查看详情
条件型业务规则的抽象与实现——从Spring Profile得到的灵感 (insights.thoughtworks.cn)
当我们更倾向于使用具体的场景沟通的时候,团队更不容易意识到需要从中寻找稳定的抽象。那么我们需要花费精力去改变用户的思维方式吗,如果需要又应该使用什么样的方式?又或者我们需要使用更抽象的方式来撰写用户故事吗?
by @ThoughtWorks 2020-04-29 14:39 分享 查看详情
Hacking,约不约! (insights.thoughtworks.cn)
对于hacker来说,最有趣的事情莫过于破坏软件设计者的原有规则,重新建立属于自己的规则了。姑且不论这个行为是否合法或违规,单就技术本身而言,矛与盾、攻与防、破坏与重建的过程中,为了达到最终目的而衍生出来的奇妙技术,再配上天马行空的想像和创造足以 让人着迷不已。
by @ThoughtWorks 2020-04-23 10:28 分享 查看详情
一个黑客的自白书 (insights.thoughtworks.cn)
我摊牌了,其实我是一名黑客,这是我的自白书。
我将坦白当我准备入侵一个目标时,我是如何收集信息并入侵的。最重要的是,我会给你们一些有用的忠告。
技术只是一种工具,就看掌握它的人如何去使用它。攻和防是安全领域永恒的话题。
by @ThoughtWorks 2020-04-22 16:41 分享 查看详情
GraphQL 测试实践 (insights.thoughtworks.cn)
我们很熟悉以REST实现的API,可以用任何能够发出http 请求的库或者工具来测试REST API。去年随着GraphQL在全球风靡,它也出现在了最近两期的ThoughtWorks技术雷达中,当我们面对新的GraphQL APi时,QA应如何应对? 知彼知己,方能百战百胜,下面让我们首先来看看什么是GraphQL,它和传统的REST API又有什么不同?
by @ThoughtWorks 2020-04-22 12:01 分享 查看详情
异步函数的两个视角 (insights.thoughtworks.cn)
Promise的作用在于:
1. 给异步算法的编写者和使用者之间提供一种统一的交流手段
2. 给异步算法的使用者提供一种组织代码的手段,以便于将一层又一层嵌套的业务主流程变成一次一次的对then的调用
by @ThoughtWorks 2020-04-21 16:05 分享 查看详情
Apache HBase内核深度剖析 (insights.thoughtworks.cn)
前面一篇文章介绍了Kafka的具体内容,今天讲述一下HBase相关的知识。首先HBase作为大数据发展初期伴随Google三大论文问世的一个组件,在今天依旧被广泛的应用,今天我们来仔细的分析一下HBase的内部原理,了解一下HBase的具体内幕,以便在工作中更好使用它。以下内容涉及到的源码基于HBase 的Master分支编译出的最新的3.0.0版本。
by @ThoughtWorks 2020-04-09 18:49 分享 查看详情
异地情侣如何安全地传递情书 — 哈希时间锁定机制剖析 (insights.thoughtworks.cn)
在探索学习区块链扩容方面的技术时,了解到跨链是区块链二层扩容的重要部分,而实现跨链的技术主要有:公证人技术、中继/侧链技术、哈希时间锁定技术。接下来,我们将在这篇文章中详细介绍哈希时间锁定技术的原理及实现等。
by @ThoughtWorks 2020-04-01 17:19 分享 查看详情
Apache Kafka内核深度剖析 (insights.thoughtworks.cn)
目前来说市面上可以选择的消息队列非常多,像activemq,rabbitmq,zeromq已经被大多数人耳熟能详,特别像activemq早期应用在企业中的总线通信,基本作为企业级IT设施解决方案中不可或缺的一部分。目前来说Kafka已经非常稳定,并且逐步应用更加广泛,已经算不得新生事物,但是不可否认Kafka一枝独秀如同雨后春笋,非常耀眼,今天我们仔细分解一下Kafka,了解一下它的内幕。以下的内容版本基于当前最新的Kafka稳定版本2.4.0。文章主要包含以下内容:

Kafka为什么快
Kafka为什么稳
Kafka该怎么用
该文章为开篇引导之做,后续会有对应的HBase,Spark,Kylin,Pulsar等相关组件的剖析。
by @ThoughtWorks 2020-04-01 12:25 分享 查看详情
使用DDD指导业务设计的一点思考 (insights.thoughtworks.cn)
领域驱动设计(DDD) 是 Eric Evans 提出的一种软件设计方法和思想,主要解决业务系统的设计和建模。DDD 有大量难以理解的概念,尤其是翻译的原因,某些词汇非常生涩,例如:模型、限界上下文、聚合、实体、值对象等。

实际上 DDD 的概念和逻辑本身并不复杂,很多概念和名词是为了解决一些特定的问题才引入的,并和面向对象思想兼容,可以说 DDD 也是面向对象思想中的一个子集。如果遵从奥卡姆剃刀的原则,“如无必要,勿增实体”,我们先把 DDD 这些概念丢开,从一个案例出发,在必要的时候将这些概念引入。
by @ThoughtWorks 2020-03-23 18:37 分享 查看详情
大团队精益敏捷转型实践 (insights.thoughtworks.cn)
我们经常说量变引起质变,如何保证组织转型过程中,大团队从传统的瀑布式开发转变到精益敏捷模式的开发呢?今天我们不谈理论,不谈框架(SAFe,LeSS),我想从一个实操的方面来剖析一些我们实际遇到的困难和一些应对策略。
by @ThoughtWorks 2020-03-12 16:26 分享 查看详情
机器学习下的持续交付 (insights.thoughtworks.cn)
这篇文章将讲述在实现CD4ML时我们发现的重要技术组件,我们使用一个ML样例应用来解释概念,同时演示怎样把不同的工具放在一起来使用进而实现一个完整的端到端的流程。在合适的情景下,我们将会突出我们所选择的可代替的工具。也将使用我们在行业上的成熟实践经验来讨论未来的开发和研究的领域。
by @ThoughtWorks 2020-03-09 17:56 分享 查看详情
一个输入框你要做一周? (insights.thoughtworks.cn)
如果PO说这是个很小的改动,你不要信他。在实际项目中,一方面由于知识壁垒和一些偏见,人们倾向于忽略必要的细节,从而造成对实际所需工作量错误的评估。另一方面,由于我们所处于的现实世界是一个高度复杂,不确定性很高的环境,很多因素往往会互相叠加,互相影响,从而导致即使我们从比较客观的视角去评估,如果忽略了不确定性,同样可能低估实际所需的工作量。
by @ThoughtWorks 2020-01-19 17:44 分享 查看详情