周刊地址:http://fex.baidu.com/blog/2017/06/fex-weekly-19/
Node.js 与 npm 刚发布了两个大版本。本文着重介绍了7个新增特性。
这篇 JavaScript 工程师必读。作者将多年 JavaScript 编程经验汇集成一篇文字,带你领略 JavaScript 编码之美。
JavaScript 编程中,最常用的调试方式就是 console.log()
实际上,你可以使用这个方法输出更多有用的信息,比如输出benchmark 时间,格式化数组和对象到表格,给输出内容上色。
这是内存管理的第一篇,另两篇如下
- A cartoon intro to ArrayBuffers and SharedArrayBuffers,
- Avoiding race conditions in SharedArrayBuffers with Atomics.
想要理解为何 JavaScript 要有 ArrayBuffer
以及 SharedArrayBuffer
,首先得理解 JavaScript 内存管理机制。
Here are 8 habits for happy Node hackers updated for 2017. They’re specifically for app developers, rather than module authors, since those groups have different goals and constraints.
This paper provides a fascinating look at common causes of concurrency bugs in server-side event driven architecture (EDA) based applications. By far the most popular framework supporting this style is Node.js of course.
建库是前端大规模开发中提升效率的重要一环,同时也是可视化页面搭建、自动化测试等上层建筑的基石。因此设计时要考虑的问题涵盖面非常广。要设计好非常难,但是设计好之后从上层建筑带来的回报会超过你的想象。这篇文章中我们先一起来关注和探讨组件库要解决的问题,最后会推导出一套足够灵活——适用于大团队或社区使用,又足够强大——能支撑起上层建筑的组件库方案。也请读者注意,结论其实很简单,文中思考过程才是重点。知道结论并能让你一跃成为架构师,但知道了如何从系统角度设计局部却让你有机会可以。共勉。
这篇教程就希望通过在 Gallery 里绘制一个有丰富的光效、阴影的写实风格的三维地图的例子,简单介绍一些ECharts GL与画质相关的配置项,最终效果。
良好解决多终端开发问题是提升团队开发效率的有效方法,本文全面解析了京东 JDReact 三端融合平台,一起来看看京东的解决方案吧!
正常情况下,可以通过写单测来保证新增代码的覆盖率,但在实际开发中,由于单测部署成本高、项目排期比较紧张、需求变化频繁、团队成员能力不足等多种原因,单测在互联网行业普及程度并不理想。所以我们实现了这样一个工具,不需要写单测的情况下,在代码提交之前自动检测新增代码的手工测试覆盖率,避免新开发的功能没有经过自测就直接进入代码审查环节。
本文首先介绍什么是网站可访问性、残障人士如何访问网站;然后提供一些开箱即用的建设无障碍网站的操作指南,让你能够立即在项目中使用;最后介绍了如何检测网站的可访问性。
Perhaps the most common point of confusion in React today: state. Here are four ways to treat state as immutable.
使用 JS 所以在工具层面比较容易支持
Through this series of blog posts, we are going to try our best to give you a framework for choosing a framework (how meta is that?) and along the way, we are going to try to provide some analysis of several of today’s leading frameworks.
FuseBox is a next generation ecosystem of tools that provides for all of the requirements of the development lifecycle. It enables developers to bundle any file format, it is a module loader, a transpiler, a task runner and much more. In this article we are going to use FuseBox to walk you through the common tasks involved in developing a JavaScript application.
In this guide, I will explain the individual components and steps and will clearly cover the individual stages of the setup. Your experience should be easy, especially if your hosting provider also supplies HTTPS certificates — chances are you will be able to perform everything from your control panel quickly and easily.
Ahem. Four. Hundred. Million. Users. Per. Day. Not only has Instagram scaled to become the biggest Python user in the world, but the company recently moved over to Python 3 with zero user experience interruption. Instagram engineers Hui Ding and Lisa Guo talked with The New Stack to share the Python love and describe the Python 3 migration experience.
SQLite reads small blobs (for example, thumbnail images) 35% faster¹ than the same blobs can be read from or written to individual files on disk using fread() or fwrite(). Furthermore, a single SQLite database holding 10-kilobyte blobs uses about 20% less disk space than storing the blobs in individual files.
With the new Web Bluetooth API now available in Chrome Browsers 56+ and Opera 44+, as well as more recent Android browsers, the world of connected devices just got a little closer to realizing the promise of the Physical Web: “Walk up and use anything”.
We just pushed ESLint v4.0.0, which is a major release upgrade of ESLint. This release adds some new features and fixes several bugs found in the previous release. This release also has some breaking changes, so please read the following closely.
关键升级点: Improving Inputs; Less Noisy Deprecation Warnings.
What’s new? Angular Forms now includes validators for min and max attributes; You can now bootstrap a component directly by passing an element reference to the bootstrap method of an ApplicationRef; Improved i18n tooling including MissingTranslationStrategy and location notes in xliff2 files; We’ve begun laying the foundation for testing AOT components, which will become possible in a future release; New compiler flag alwaysCompileGeneratedCode is available opt-in, and will be turned on by default in the future.
新特性:TypeScript 2.4 is bringing support for ECMAScript’s new import() calls. Safer callback parameter checking. Weak types. String enums.
Today’s release completes Firefox’s transformation into a fully multi-process browser, running many simultaneous content processes in addition to a UI process and, on Windows, a special GPU process. Firefox continues its rapid implementation of new WebExtension APIs. These APIs are designed to work cross-browser. The CSS clip-path property allows authors to define which parts of an element are visible.
Amplitude.js is a lightweight JavaScript library that allows you to control the design of your media controls in your webpage – not the browser. No dependencies (jQuery not required). Amplitude.js is available under the MIT License.
ZangoDB is a MongoDB-like interface for HTML5 IndexedDB that supports most of the familiar filtering, projection, sorting, updating and aggregation features of MongoDB, for usage in the web browser.
1kb(gzip) javascript Path Transition library.
Now UI Kit is a responsive Bootstrap 4 kit provided for free by Invision and Creative Tim. It is a beautiful cross-platform UI kit featuring over 50 elements and 3 templates. Now UI Kit is one of the most popular UI Kits online, provided in PSD and Sketch formats by Invision. We wanted to find a way for developers worldwide to benefit from using it. So, in collaboration with Invision, we are launching the HTML version for it!
A small (1kb), async and simple state management solution for Javascript applications.
Convenient and dependency free wrapper for working with arrays and objects. Collect.js offers an (almost) identical api to Laravel Collections 5.4.
Java 中著名的时间处理类库 joda 的 JS 版本。
camaro is an utility to transform XML to JSON, using Node.js binding to native XML parser pugixml, one of the fastest XML parser around.
整理各种 JS 写的模拟器,包括非常多老设备
快速查看颜色对应的 code
We began Reladomo development in 2004. The first production deployment was later that year and we’ve been releasing regularly ever since. In the intervening years, Reladomo has become widely adopted at Goldman Sachs, and the applications that use it have guided the major new features we’ve added. It is now used in multiple ledgers, middle office trade processing, balance sheet processing, and dozens of other applications. Goldman Sachs released Reladomo (short for relational domain objects) as an open source project under the Apache 2.0 license in 2016.
R Markdown provides an authoring framework for data science. You can use a single R Markdown file to both. R Markdown documents are fully reproducible and support dozens of static and dynamic output formats.
Step inside the minds of the most innovative designers in a variety of disciplines and learn how design impacts every aspect of life.
Standard Ebooks is a volunteer driven, not-for-profit project that produces lovingly formatted, open source, and free public domain ebooks. Standard Ebooks takes ebooks from sources like Project Gutenberg, formats and typesets them using a carefully designed and professional-grade style guide, lightly modernizes them, fully proofreads and corrects them, and then builds them to take advantage of state-of-the-art ereader and browser technology.
This is certainly a surprising result, one that I didn’t expect to find when I started exploring the data. And it is impressively robust even when controlling for many confounding factors. As an exercise I tried controlling for many other confounding factors within the survey data beyond those mentioned here, but it was difficult to make the effect shrink and basically impossible to make it disappear.
We’re introducing two new tools to help maintain and grow open source communities: Recommended community standards, Easier codes of conduct. 另: Nested teams add depth to your team structure
When our office culture is focused on business rather than socializing, we reduce the number of ways in which we all have to be the same. When we do that, we allow diversity to flourish. If your culture expects people to work long hours or hang out off-hours, the strain on the people who are different, in whatever way, is increased, and your ability to retain a diverse work force is reduced. If you want to build an inclusive culture, build a minimum culture. Build it around professionalism, boundaries, and work-life balance. Make sure your senior staff walks the walk, and spreads the word.˚
在此应用发布之前,我写过多个失败的 APP,为天使用户设计体验优良的应用,用心听喷子的意见,但千万不要按照他们说的直接就做了,三个臭皮匠才能顶一个诸葛亮。
人们总是热衷于关注和研讨一些高级话题,比如战略和格局之类,那些创业者以及大公司的管理者更是如此。这本无可厚非,战略思维和思考格局的确很重要。但是,仅凭这些高大上的东西并不能成功。我们看到,很多管理者脱离业务实际,整天到处参加聚会、演讲,张口闭口“倒逼、赋能、加持、all-in、布局、入口、大数据、云计算、人工智能”。他们的产品,均号称“智慧智能、贴心服务、一站式、全方位、业内领先、国际一流”。但当你实际使用一次他们的业务时,你会因为其糟糕的体验而感到无比震惊和愤怒。当然,世间也有不少低调务实的企业,他们不擅长“吹牛逼、画大饼”,只会用好的产品和服务来获得认可和尊重。战略和格局都类似,但为什么会产生天壤之别?这就涉及到产品“最后1米”的体验和服务是否良好的问题。所谓“最后1米”,类似于物流配送常说的“最后一公里”,指的是与用户紧密接触的产品、体验、包装、门店、客服等所有最后的关键环节。
这又是一篇劝大家“不要盲目崇拜”的文章。不过这次我列出了一长串有用的清单,或许能够帮助你们做出更好的决定。如果你还在使用 Google 搜索新技术来重建你的软件架构,那么我建议你不要再这么做了。相反,你可以考虑应用 UNPHAT 原则:在彻底了解(Understand)你的问题之前,不要急着去寻找解决方案。你的目标应该是在问题领域内“解决”问题,而不是在方案领域内解决问题;列出(eNumerate)多种方案,不要只把眼睛盯在你最喜欢的方案上;选择一个候选方案,并阅读相关论文(Paper);了解候选方案的产生背景(Historical context);比较优点(Advantages)和缺点,扬长避短;思考(Think),冷静地思考候选方案是否适合用于解决你的问题。另附一个和这篇文章观点类似的文章:Excel与微服务。