文蔺 发布于 2017-05-22

[译] Web 安全清单

在云上开发安全、健壮的 Web 应用特别特别难。如果你并不赞同这种说法,那也许你有着比人类还高级的生命形式,也可能是痛苦的觉醒正在前方等你。若你已潜心皈依 MVP,并坚信在一个月的时间足以完成一个能够创造价值且达到安全要求的产品 —— 听我一句劝,三思而行,不要急着做“产品原型”。也许在阅读完本文列出的清单之后,你会承认确实忽略了很多关键的安全问题。至少不要欺骗那些潜在用户,让他们知道眼下的产品并...

阅读全文 »

文蔺 发布于 2017-05-13

[译] GraphQL 的庐山真面目

译者注试用了众成翻译正在内测的新版翻译工具,借助谷歌翻译 API,速度比以前快多了。但也有一些缺憾,较以往逐句手动翻译字斟句酌不同,往往会迁就自动翻译结果,时间都花在调整工作上了。以下为正文:本文转载自:众成翻译译者:文蔺链接:http://www.zcfy.cc/article/2719原文:https://medium.freecodecamp.com/so-whats-this-graphq...

阅读全文 »

文蔺 发布于 2017-05-08

Chrome 中的 “Tab to Search” 与 Open Search

描述在 Chrome 中新建标签页,输入网址的时候,浏览器会根据书签、历史记录进行自动补全,通过 Tab 键可以在浏览器提供的补全选项中切换。有时可以发现,点击 Tab 的时候,地址栏右侧会出现“按 tab 键可通过 XX 进行搜索”的提示。再次点击 Tab,地址栏中文字,就变成了一段蓝色文字:“使用 XX 搜索”。这时候就可以直接在地址栏中输入你要搜索的关键词,然后点击回车键,页面就会直接跳转到...

阅读全文 »

文蔺 发布于 2017-05-06

[译] 浏览器中的 ES6 module 实现

ES6 的模块特性(module) 开始在浏览器端实现啦!一切正在路上...浏览器备注Safari 10.1(无)Chrome Canary 60打开 chrome:flags 启用“实验性网络平台功能”Firefox 54打开 about:config 启用 dom.moduleScripts.enabledEdge 15打开 about:flags 启用“实验性 JavaScript 功能”&...

阅读全文 »

文蔺 发布于 2017-05-04

Facebook 开源代码优化工具 Prepack

Fackbook 又搞了个大新闻!今天一早,朋友圈被一个名为 Prepack 的工具刷爆了。周刊君很好奇地看了下官网(prepack.io),这么厉害的工具,有必要第一时间向大家介绍一下(还能不能好好过个青年节了)。看 “Prepack” 这个名字就能大概知道,它的作用,肯定是在发布前(“pre”)对代码动了些什么手脚。官网介绍 Prepack 是“一个使 JavaScript 跑得更快的工具”。...

阅读全文 »

文蔺 发布于 2017-04-28

[译] 内容加速黑科技趣谈

数周前,在伦敦 Heathrow 机场等飞机的空闲中,我顺便处理了一些工作上的事情。不经意间发现 Github 在性能方面的一些问题,颇为诧异。通过新 tab 打开的页面,其加载速度竟然比直接点击链接打开的页面要快。不信请看视频(译者注:可能需要科学上网):GitHub link click vs new tab。点击链接的同时复制链接并在新的 tab 页中打开。可以看到,尽管先点击的是链接,但渲...

阅读全文 »

文蔺 发布于 2017-04-27

[译] Emoji.prototype.length —— Unicode 字符那些事儿

译者注:本文用到了很多 emoji 符号,建议不要使用 Windows 系统阅读本文。如今 emoji 已经成为文字交流的重要基础。离开这些精巧的符号,只怕很多对话早就因尴尬和误解而草草收场了。还记得当年短信风行时的那些事吗?没有笑脸表情的文字聊天过程中,常常会得到“你不是在开玩笑吧?”这样的回复,以免将一些无聊的笑话信以为真。后来并没有花多久的时间,大家都明白了,单纯靠文字来理解那些幽默与调戏并...

阅读全文 »

文蔺 发布于 2017-04-26

笔记:如何获取网站根域名

首先声明,这里所说的“根域名”,并不是指“全球共有13台根逻辑域名服务器”这句话中的“根域名”。而是指某一个站点的“根域名”(更新:或者也可以称之为“当前网站的主域名”,目前笔者并没有找到标准称呼)。百度搜索是“www.baidu.com”,百度翻译的域名是“fanyi.baidu.com”,百度地图的域名则是“map.baidu.com”。这些域名有共同的部分“baidu.com”。在本文中,我...

阅读全文 »

文蔺 发布于 2017-01-16

Angular 2 中的 HTTP 请求超时处理

以前做 React Native 时,需要对请求进行超时处理。然而,React Native 提供的 fetch 方法,根本没有提供超时的选择。于是只能自己玩些如下的黑科技了,代码一看就很乱,还难以维护:const TIME_OUT = 3000;let reqErrror = false;let reqDone = false;let timeout = setTimeout(() =>...

阅读全文 »

文蔺 发布于 2017-01-16

关于时序攻击

前些日子,奇舞周刊公众号推送了一篇文章,《Node.js 面试问题及答案(2017 版)》。其中有一个问题很有意思,请看下面这段代码,有什么问题吗?function checkApiKey (apiKeyFromDb, apiKeyReceived) { if (apiKeyFromDb === apiKeyReceived) { return true } return fals...

阅读全文 »