首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

Twitter工程师聊JS

本文是Twitter软件工程师Bonnie Eisenman对JS现状的看法和对开发者的一点建议 01 关于框架 框架的目标是减少繁琐的工作,是基础的脚手架工具 很多流行框架都针对一个问题: “...这些框架都是用来帮助你更好的开发应用,没有一个确切的答案说是应该用谁 如果你是刚起步的JS开发者,可能都不需要框架,用jquery就很好了,可能会枯燥,但可以让你更好的了解JS是如何工作的 如果开发复杂一些的网站...,就建议考虑下React、Angular、Ember 现在框架太多,比较起来不容易,建议看一个网站 http://todomvc.com TodoMVC用不同的框架实现了同一套TODO功能,便于大家对不同框架进行对比...-6 这个网站是个很好的ES6入门读物 尽管JS有着不同的运行环境,但并不影响使用ES6新特性,因为有了像Babel这类很棒的工具,可以把你的代码转换为兼容各个平台的代码 JS还有一些变体,例如...JS的测试越来越重要,JS本身没有测试框架,需要依赖外置库 Mocha和Jasmine是两个主流库,你来定义预期行为,然后进行断言 对于运行测试,Mocha提供了命令行工具,而Jasmine没有,很多开发者使用

1.4K60

Twitter是如何部署公共JS组件的?

Twitter有一个对外开放的JS组件,widgets.js,其他站长可以把这个js嵌入到自己的网页中,就可以有Twitter的一些功能(类似新浪微博开放的JS组件) 为了让站长简单方便的集成,所有功能都在这一个...js文件中,引用时也不需要版本号 widgets.js 的访问量巨大,每秒30万次 所以,这个js的更新部署是个比较麻烦的任务,如何安全的部署新版,出现问题时把影响范围尽量降低?...Twitter特别对这个js的部署流程进行了优化 部署流程的要求 1. 可回退 ‘回退第一,改错第二’是Twitter的重要理念,回退必须快速、简单 2....DNS 管理服务 每当有请求来到 platform.twitter.com 时,会根据这个请求的地理位置区域来决定解析到哪个IP(IP1 是旧版,IP2 是新版) 例如以地区A作为试点儿,具体规则如下:...Origin 源 是上传 widgets.js 的地方,CDN 会从 Origin 获取最新的 widgets.js Origin 1 上是旧版,Origin 2 上是新版,流量被逐渐转移到 Origin

1.4K80
您找到你想要的搜索结果了吗?
是的
没有找到

Twitter发布基于组件的轻量级JavaScript框架——Flight

Twitter发布了Flight项目。Flight是一个轻量级的、基于组件的JavaScript框架,可以将行为映射到DOM节点上。...Twitter将其用在自己的Web应用上,Twitter基于MIT许可证开放了Flight的源代码,同时提供了一个演示应用,还提供了用于解释如何设置Flight、如何开始创建、测试和调试组件的文档。。...框架设计的本意如此。组件不能彼此直接访问,实际上,它们会以事件来广播自己的行为,而且其他组件可以订阅这些行为。...我们准备加入一个完整的测试框架,同时公开更多Twitter网站使用的前端工具。 在Github上,Flight团队发布了一个用Flight框架构建的简单email客户端演示。...Flight使用了es5-shim项目和jQuery,如果要安装,还需要包括require.js或loadrunner这样的异步模块定义(Asynchronous Module Definition,简称

80670

JS 后端框架盘点

Express 是一个保持最小规模的灵活的 Node.js Web 应用程序开发框架,为 Web 和移动应用程序提供一组强大的功能,目前 Express 一家独大,是基于 Node.js平台,快速、开放...Next.js中文站Github https://github.com/raoenhui/next-site-cn Next.js 是一个轻量级的 React 服务端渲染应用框架,Next.js 想学的人比较多...3:Koa 基于 Node.js 平台的下一代 web 开发框架 :https://koa.bootcss.com/ Koa 是一个新的 web 框架,由 Express 幕后的原班人马打造, 通过利用...Express是 Node.js 社区广泛使用的框架,简单且扩展性强,非常适合做个人项目。...是一款面向未来开发的 Node.js 框架,整合了大量的项目最佳实践,让企业级开发变得如此简单、高效。

5.5K30

Twitter 开源增强学习框架Torch-twrl ,可与OpenAI 无缝对接

Twitter Cortex 采用最先进的机器学习方法来提升Twitter的产品质量。...Twitter正在把增强学习当成一种学习范式来进行探索,为了达到这一目的,Twitter Cortex 开发了一个用于发展增强学习的框架。...今天,Twitter 正式向全世界开源这一框架——torch-twrl 。 增强学习算法(或智能体)的目标是通过与任务(或者环境)进行互动,学会执行复杂的、新颖的任务。...(https://github.com/twitter/torch-twrl) 我们希望torch-twrl 作为一个RL 框架可以不断发展,与 RLLab 一样,让 Torch 和 Lua 上的开发者进行使用...虽然目前基于Torch,已经有一些很好的增强学习框架,我们想要的是一个从零开始搭建的框架,可以将外部依赖降到最小,这样就能更好地解决Twitter的内部问题。

59160

2017年JS 框架回顾:后端框架

,主要介绍 JavaScript 的后端框架情况。...第一篇:《2017 前端框架的现状》 第二篇:《2017 年 JS 框架回顾:React 生态系统》 从上图中可以看到,Express 作为用 JavaScript 编写的后端服务的主流解决方案,占据了后端框架使用率的绝大部分...接下来我们查看其它的后端框架。 其他后端框架 下面是除 Express 之外的四个最大的后端框架,分别为: Koa Hapi Sails Next koa 蓝色代表的是 koa 的相对使用率情况。...Next.js Next.js 是一个基于 React 的通用 JavaScript 框架,同时也是一个较新的框架。 Zeit 的开发团队在 React 的基础上创建了 Next.js。...Next.js 提供了一种很方便的方式来创建新的 Web 应用。当前 Next.js 的使用率尽管还很低,但是却一直保持着上升的趋势,值得关注。

3.6K90

JS模块加载框架 SeaJS

SeaJS是一个遵循CMD规范的JavaScript模块加载框架,可以实现JavaScript的模块化开发及加载机制,兼容所有主流浏览器 SeaJS的主要目的是令JavaScript开发模块化并可以轻松愉悦进行加载...,让开发可以专注于代码本身的逻辑 上手示例 html中加载初始化模块init.js,init 中调用 module1 模块,同时 module1 模块调用 module2 模块 ?..., factory) id : 模块标识(选填),不填时,id会被默认赋值为此js文件的绝对路径 deps : 是模块依赖(选填) factory : 模块定义方法(必填) 例如 define...module.id 模块的ID、module.dependencies 此模块依赖的所有模块的ID列表、module.exports 与exports指向同一个对象) 模块的寻址 (1)绝对地址——给出js...文件的绝对路径 require("http://example/js/a"); (2)相对地址——用载入函数所在js文件的相对地址寻找模块 例如有 js/a.jsjs/m/b.js 在b.js

6K50

twitter系统架构分析

twitter系统架构分析 (一)twitter的核心业务 twitter的核心业务,在于following和be followed: (1)following-关注 进入个人主页,会看到你follow...的业务逻辑 twitter的业务逻辑也不复杂 following业务,查follow了哪些人,以及这些人发表的留言; followed业务,前端js轮询后端,看follow了的人有没有新留言,有则更新(...无论如何,架构框架清晰如下: ?...twitter工程师认为,良好体验的网站平均响应时间应该在500ms左右,理想的时间是200-300ms。 关于cache的使用,是twitter架构的一大看点,带cache的架构清晰如下: ?...用户访问twitter时,接待他的是apache web server,而apache不能接待无限多的用户。 2009年1月20日,奥巴马发表就职演说,twitter流量猛增,此时如何是好。

2.8K70
领券