首页
学习
活动
专区
工具
TVP
发布

ThoughtWorks

专栏成员
914
文章
779639
阅读量
116
订阅数
第26期技术雷达正式发布!部分内容抢先了解
技术雷达是Thoughtworks每半年发布一次的技术趋势报告,它持续追踪有趣的技术是如何发展的,我们将其称之为条目。技术雷达使用象限和环对其进行分类,不同象限代表不同种类的技术,而环则代表我们对其作出的成熟度评估。 经过半年的追踪与沉淀,Thoughtworks TAB(Thoughtworks技术咨询委员会)根据我们在多个行业中的实践案例,为技术者产出了第26期技术雷达。对百余个技术条目进行分析,阐述它们目前的成熟度,并提供了相应的技术选型建议。 一、本期主题 离奇集市:开源软件不断变化的经济学 Tho
ThoughtWorks
2022-03-30
5820
Web前端性能优化思路
本文旨在整理常见Web前端性能优化的思路,可供前端开发参考。因为力求精简,限于篇幅,所以并未详述具体实施方案。 基于现代Web前端框架的应用,其原理是通过浏览器向服务器发送网络请求,获取必要的index.html和打包好的JS、CSS等资源,在浏览器内执行JS,动态获取数据并渲染页面,从而将结果呈现给用户。 在这个过程中,有两个步骤可能较为耗时,一个是网络资源的加载,另一个是浏览器内代码执行和DOM渲染。 而耗时的增加会导致页面响应慢,卡顿,影响用户体验。 针对上述两种耗时的情况,常见的优化方向有: 缩短
ThoughtWorks
2022-03-04
1.5K0
Ghost in the Log4Shell
多年以后,面对加班的夜晚,Volkan Yazıcı 一定会回忆起发生在 2021 年底的这件事情,除了没日没夜的工作和无休止的解释以外,当然也少不了人们的愤怒和对他的谩骂。一不小心就见证历史的,除了 log4j 的作者们,还有我们所有人。起初,大家都度过了一个黑客狂欢,吃瓜群众玩梗,开发们加班的周末,以为这可能是又一次“心脏出血”或者“永恒之蓝”。随着事情愈演愈烈,影响愈来愈大,现在大家都应该认识到,这个漏洞比心脏出血要严重得多。比如 CISA 的官员称其为从业以来最严重的漏洞(之一),log4j 的修复也导致短短两周内升了三个大版本(目前只有最新的 2.17.0 被认为是没有问题的)。所以朋友们,不要怀疑,这绝对是一个有生之年系列。
ThoughtWorks
2022-02-16
6200
异步函数的两个视角
以下示例代码是用Scala写的,不过本文所讲的话题并不仅限于Scala,任何有Future/Promise支持的语言都是适用的。
ThoughtWorks
2020-04-23
6780
标准化技术下的软件开发
聊到集成测试、单元测试等测试分类,我想大多数人都有类似困惑或讨论,集成测试和 E2E 测试到底有啥区别。甚至还有一些系统测试、配置项测试等概念,不但让我们这种非 QA 专业的人弄不清楚,在和我们的 QA 同学讨论时也很难得到清晰的结论。
ThoughtWorks
2019-09-29
9210
ISOMORPHIC 的升级之路
近些年来,史诗级网游 Web Online 中,一个新兴职业 —— Isomorphic JavaScript Application —— 越来越多地得到了玩家的青睐。
ThoughtWorks
2019-06-14
7460
《重构》再版——听Martin Fowler聊聊新版的故事
现在这本书的纸质版以及各种电子版本都可以在InformIt购买,很快也会在亚马逊上线。购买该书让你也可以访问标准网络版,其中有纸质版或电子版中没有的附加资料。
ThoughtWorks
2019-01-02
1.2K0
RxJS 快速入门
我们都知道 JavaScript 是个多范式语言,它既支持过程式编程,又支持函数式编程,两者分别适用于不同的场合。在同步环境下,两者各有优缺点,甚至有时候过程式会更简明一些,但在异步环境下(最典型的场景是一个 Ajax 请求完成后紧接着执行另一个 Ajax 请求),由于无法控制执行和完成的顺序,所以就无法使用传统的过程式写法,函数式就会展现出其优势。
ThoughtWorks
2019-01-02
1.9K0
TW洞见 | 李光磊:JavaScript语言中五种消除分支的方法
最近开始使用JavaScript。回顾了一下这几天的代码,发现圈复杂度为1。30几个函数40多行,超过两行的函数都很少 (当然那种当做对象来用的函数除外,只说实际做事的函数。不要小看这40几行代码,完成了5个完整的具有用户价值的功能。JavaScript的表达能力不是盖的)。 由于JavaScript具备一些函数式编程语言的特征,写出没有分支没有显式循环的代码也属正常。但实际上多数代码还是命令式的。命令式风格也能写出圈复杂度为1的代码,看看都用到了哪些技巧。 多态 这种技巧在<<重构>>里提过,跟JavaS
ThoughtWorks
2018-04-20
5610
谁动了我的Token | TW洞见
今日洞见 文章作者/配图来自ThoughtWorks:禚娴静。 本文所有内容,包括文字、图片和音视频资料,版权均属ThoughtWorks公司所有,任何媒体、网站或个人未经本网协议授权不得转载、链接、转贴或以其他方式复制发布/发表。已经本网协议授权的媒体、网站,在使用时必须注明"内容来源:ThoughtWorks洞见",并指定原文链接,违者本网将依法追究责任。 这里涉及到的系统是一个7年的遗留系统(技术栈是.NET MVC2),即将被客户淘汰。这篇博文的主题无关技术本身,文中谈到的技术细节也不是什么高大上的
ThoughtWorks
2018-04-20
8240
刘尚奇:JavaScript技术爆炸下的项目选型何去何从
作为一家服务于全球不同类型客户的IT专业服务公司,ThoughtWorks一直追求最卓越的技术,并用它们来解决客户实际的问题。而为了体现技术卓越,ThoughtWorks全球技术委员会(TAB)定期讨论技术战略,分析对行业产生重大影响的最新技术趋势,这便是我们看到的每年两度的《ThoughtWorks技术雷达》。 2016技术雷达峰会不仅能为您解读最新版《ThoughWorks技术雷达》四大主题之外,还希望能覆盖更多更具实践价值的专题,为您提供更多选择,也为各个优秀实践提供多一个展示和分享的平台。 ●
ThoughtWorks
2018-04-20
9080
像机器一样思考|TW洞见
今日洞见 文章作者、部分图片来自ThoughtWorks:仝键。 本文所有内容,包括文字、图片和音视频资料,版权均属ThoughtWorks公司所有,任何媒体、网站或个人未经本网协议授权不得转载、链接
ThoughtWorks
2018-04-20
9670
ThoughtWorks 2015年11月期技术雷达正式发布!
点击【阅读原文】或复制打开以下链接,即可下载同步发行的技术雷达中文版: https://assets.thoughtworks.com/assets/technology-radar-nov-2015-cn.pdf 订阅技术雷达,获取未来更多技术雷达相关内容: http://info.thoughtworks.com/technology-radar-subscription.html 本期精彩集锦 DOCKER引爆容器生态系统 以Docker为典范的容器技术在越来越多的组织中广受欢迎。在组织间以及组织
ThoughtWorks
2018-04-20
7810
前端页面替换文本的方法和一些小技巧
在前端页面替换文本有几种做法,不假思索的答案通常是直接用JavaScript。但你有没有想过这完全可以用CSS实现呢? 背景 在前端页面上,有的时候我们需要根据用户行为,替换的显示文本。比如 “显示/隐藏”、“展开/收起”。这是一个很常见的功能,实现起来也没有太大的难度。 CSS Tricks 有一篇文章谈及“替换文本的五种方法”(Swapping Out Text, Five Different Ways)。在这篇文章里,作者总结了使用五种实现方法,并且在评论里和很多读者进行了一些讨论分析。我在这里总
ThoughtWorks
2018-04-18
2.3K0
为什么要使用现代浏览器?
标题中所提及的 现代浏览器 主要指桌面浏览器也就是PC端所使用的浏览器软件,移动端(手机和平板电脑)所使用的浏览器我们暂且认为其已经属于现代浏览器范畴(虽然也有很多不尽如人意之处,后续文章会详细叙述)所以按下不表。 正文开始前先上几张图和数据,以便大家对国内浏览器占有率有个直观感受,图片和数据均来源于CNZZ: 注:本报表数据自2009年01月开始统计 根据CNZZ数据中心对国内主流浏览器的统计分析,2013年5月,IE浏览器市场份额有所波动。总体上讲,使用率环比4月份呈现增长趋势,使用率从4月份的47.0
ThoughtWorks
2018-04-18
1.2K0
#TW对话# 王秋:渐进增强在移动开发中应用
王秋:渐进增强在移动开发中应用 在2012年6月召开的百度开发者大会西安站上,来自ThoughtWorks的前端工程师王秋(@Sheldon-秋 ),进行了题为《移动Web开发中的渐进增强》的演讲。在稍后的OpenSpace环节,他还担任话题小组长与参会者进行了讨论,笔者就渐进增强的问题对其进行了采访,以下是详细内容。 InfoQ:请简单介绍一下自己以及目前所从事的工作? 王秋:大家好,我是王秋,是ThoughtWorks的一名前端工程师,JavaScript语言爱好者,平时喜欢钻研技术寻找突破,善于分享经
ThoughtWorks
2018-04-18
8230
编程魔法的麻瓜入门手册——《一路编程》
《一路编程》 不论你想要成为一个专业的软件开发者,还是想要学习如何更高效地和程序员沟通,或者只是对于程序如何工作感到好奇,这本书都非常适合作为帮你达成所愿的第一步。 —
ThoughtWorks
2018-04-17
1.2K0
你不知道的高性能JAVASCRIPT | TW洞见
想必大家都知道,JavaScrip是全栈开发语言,浏览器,手机,服务器端都可以看到JS的身影。 本文会分享一些高效的JavaScript的最佳实践,提高大家对JS的底层和实现原理的理解。 数据存储 计算机学科中有一个经典问题是通过改变数据存储的位置来获得最佳的读写性能,在JavaScript中,数据存储的位置会对代码性能产生重大影响。 - 能使用{}创建对象就不要使用new Object,能使用[]创建数组就不要使用new Array。JS中字面量的访问速度要高于对象。 - 变量在作用域链中的位置越深,访
ThoughtWorks
2018-04-17
7940
从未失约|2017年11月期技术雷达正式发布!
技术雷达是由 ThoughtWorks 技术战略委员会(TAB)经由多番正式讨论给出的最新技术趋势报告,它以独特的雷达形式对各类最新技术的成熟度进行评估并给出建议,为从程序员到CTO的利益相关者提供参
ThoughtWorks
2018-04-17
7310
语言设计中的鸭子类型风格
image.png #思特沃克好声音# (图片:网络) 在动态语言的世界里一直流传着一种叫做鸭子类型的风格,其来自谚语:“如果行鸭子一样走路,像鸭子一样呱呱叫,那它就是一只鸭子”。      从鸭子类型,我们可以联想到它的推导,并不在乎类型的真正实体,只要他的行为有鸭子的特性,那么我们就可以把它当做一只鸭子来看到。在动态语言设计中,可以解释为无论一个对象是什么类型的,只要它具有某类型的行为(方法),则它就是这一类型的实例,而不在于它是否显示的实现或者继承。      鸭子类型在动态语言中被广为奉行。某类接
ThoughtWorks
2018-04-16
8060
点击加载更多
社区活动
【纪录片】中国数据库前世今生
穿越半个世纪,探寻中国数据库50年的发展历程
Python精品学习库
代码在线跑,知识轻松学
博客搬家 | 分享价值百万资源包
自行/邀约他人一键搬运博客,速成社区影响力并领取好礼
技术创作特训营·精选知识专栏
往期视频·千货材料·成员作品 最新动态
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档