FEX 技术周刊 - 2018/04/30
[报名]FDCon2018 – 前端体验的融合开发之道
第三届中国前端开发者千人峰会，FDCon2018主要面向各行业对前端、移动开发感兴趣的中高端技术人员，聚焦前沿技术及实践经验，旨在帮助参会者了解前端和移动开发领域最新的技术趋势与最佳实践。本次大会的主题是“前端体验的融合开发之道“，重点讲述端的融合和栈的融合。另附：报名 - PHPCon China 2018、GMIC北京 - 全球移动互联网大会
Feature Highlights for the Node-ChakraCore release include: V8 6.6; Full support for N-API; Easy getting started with Time-Travel Debugging via a new Visual Studio Code Extension; TTD support for generators and async functions; Support for Inspector protocol; Increased stability and other assorted improvements. 附：The Node.js Project Introduces Latest Release Line: Node.js 10.x, Node v10 Feature Breakdown, Announcing npm@6, The new npm CLI: a year in review; or, what you may have missed, Beyond npm@6: The future of the npm cli.
V8 - Improved code caching
V8 uses code caching to cache the generated code for frequently-used scripts. Starting with Chrome 66, we are caching more code by generating the cache after top-level execution. This leads to a 20-40% reduction in parse and compilation time during the initial load.
CKEditor 5 v10 Released: A Powerful WYSIWYG Editor Framework
It has been a long time coming, but after almost 4 years of research, planning and developing, we give you a totally new experience in rich text editing — CKEditor 5. For those who are not familiar with CKEditor 5 yet — it is a powerful framework that enables you to create any kind of text editing solution and include real-time collaborative editing inside.
Writing WebAssembly By Hand
This post describes the process of implementing Conway’s Game of Life, it’s something of a classic. You might also want to take a look at this fantastic tutorial which also implements Life in WebAssembly using Rust. 另附：Beta for Qt for WebAssembly
CSS at Scale: LinkedIn’s New Open Source Projects Take on Stylesheet Performance
CSS Blocks is an ergonomic, component-oriented CSS authoring system that compiles to high-performance stylesheets. By combining an opinionated authoring system, build-time analysis and rewriting of templates, and a new type of CSS optimizer, css-blocks breathes new power and ease of use into the technologies and best practices that stylesheet developers already know and love.
Testing Strategies for React and Redux
When the Firefox Add-ons team ported addons.mozilla.org to a single page app backed by an API, we chose React and Redux for powerful state management, delightful developer tools, and testability. Achieving the testability part isn’t completely obvious since there are competing tools and techniques. Below are some testing strategies that are working really well for us. 另附：Software Testing Anti-patterns
Nerv实战 - 京东首页改版小结
从 整体开发架构与模式，性能、体验优化的探索，页面可用性的保障等方面对京东首页的开发过程做了 简单的介绍。之所以说简单，是因为短短的篇幅完全无法说完我们在开发期间的故事和感悟：许多问题的解决并不像上面讲的那样水到渠成；除此之外更是有一大堆深夜加班撸串的故事没有地方讲。
非常适合用 Node 实践全栈的前端同学看看。
这里记录过去一周，我看到的值得分享的东西。长久以来，我一直用各种方式，尝试整理我的收藏夹。最近想到，把它写成文章，共享出来，也许效果更好。感兴趣的可以 RSS 订阅，长期关注。
Under the hood of CSS and JS animations + how to optimize their performance
As you surely know, animations play an essential role in the creation of compelling web apps. As users increasingly shift their attention to UX and businesses start realizing the importance of flawless, enjoyable user journeys, web applications become heavier, and feature more dynamic UI. This all requires more complex animations for smoother state transitions throughout the journey of the user.
Replace Animated GIFs with Video
In this article, you’re going to learn how to do what the GIF hosting sites do to keep their bandwidth bills from going through the roof, and convert those giant GIFs into lean and fast video files! You’ll then learn how to properly embed these videos in web pages so they behave just like GIFs. Finally, we’ll talk a little bit about decoding performance for both GIF and video. Before you know it, you’ll be well on your way to shaving megabytes off your GIF-heavy web pages in no time at all!
How to break a Monolith into Microservices
As monolithic systems become too large to deal with, many enterprises are drawn to breaking them down into the microservices architectural style. It is a worthwhile journey, but not an easy one. We’ve learned that to do this well, we need to start with a simple service, but then draw out services that are based on vertical capabilities that are important to the business and subject to frequent change. These services should be large at first and preferably not dependent upon the remaining monolith. We should ensure that each step of migration represents an atomic improvement to the overall architecture. 另附：Introduction to Microservices
MacOS monitoring the open source way
We eventually landed on 3 open source tools: osquery, Santa, and the OpenBSM/Audit system; with each tool serving a specific purpose: osquery provides periodic snapshots describing changes to the state of a machine; Santa provides real-time process launch events containing details about the executing binary; OpenBSM/Audit is real-time system call monitoring module in the macOS kernel that can provide networking, file operations, administrative events, and other system interactions.
Moving Fast and Securing Things - The SDL at Slack and goSDL
For development teams, process can often be antithetical to speed. Ease of deployment and security tend to have an inverse relationship, with some resentment for the security team occasionally mixed in. “SDL” stands for “Security Development Lifecycle”.
Hijack of Amazon’s internet domain service used to reroute web traffic for two hours unnoticed
The attackers used BGP — a key protocol used for routing internet traffic around the world — to reroute traffic to Amazon’s Route 53 service, the largest commercial cloud provider who count major websites such as Twitter.com as customers. 另附：BGP leaks and cryptocurrencies
Scaling a High-traffic Rate Limiting Stack With Redis Cluster
Stripe’s rate limiters are built on top of Redis, and until recently, they ran on a single very hot instance of Redis. The server had followers in place for failover, but at any given time, one node was handling every operation. 另附：Yes, I’m Forking Redis。
Parsing JSON is a Minefield
I’ll show that JSON is not the easy, idealised format as many do believe. Indeed, I did not find two libraries that exhibit the very same behaviour. Moreover, I found that edge cases and maliciously crafted payloads can cause bugs, crashes and denial of services, mainly because JSON libraries rely on specifications that have evolved over time and that left many details loosely specified or not specified at all.
What Will Programming Look Like In The Future?*
Humans and AIs working together to produce software better than either can separately. The computer as a creative agent, working in tandem with a human partner, to produce software, in a beautiful act of co-creation. What we need is a manufacturing process that puts software production on an exponential curve. The only conceivable tool we have at the moment to put software on an exponential production curve is AI. That’s the only way software can truly eat the world.
WebDriver is a W3C Proposed Recommendation
The Browser Testing and Tools Working Group has published a Proposed Recommendation of WebDriver. WebDriver is a remote control interface that enables introspection and control of user agents. It provides a platform- and language-neutral wire protocol as a way for out-of-process programs to remotely instruct the behavior of web browsers.
GitHub partners with the Fintech Open Source Foundation (FINOS)
We’re proud to announce our membership in the Fintech Open Source Foundation (FINOS)—a newly launched nonprofit foundation promoting open innovation in financial services—along with technical organizations like Red Hat and Nodesource and financial organizations like Citigroup, UBS, and HSBC.
GitLab 10.7 released with open source Web IDE and SAST for Go and C/C++
We are making these tasks easier and more efficient with an amazing Web IDE, more flexible pipelines, additional security testing, and so much more.
RxJS v5.x to v6 Update Guide
RxJS v6 has arrived! While this is a major version change (from 5.x to 6.x), we’ve put in a lot of work to keep the hard breaking changes to a minimum. In most cases, this allows application and library developers to update incrementally and use RxJS v6 without any modifications to their code.
Announcing Storybook 3.4
Storybook 3.4 is on the NPM registry, and it’s a big one. It includes:, New framework support: Polymer; Component testing: Storyshots image snapshots, Vue/Angular support; UI improvements: Multiple story hierarchies; Storysource: New addon for component code documentation.
Microsoft makes AI training courses available to the public
Microsoft announced the Microsoft Professional Program in AI, the latest learning track open to the public. The program provides job-ready skills and real-world experience to engineers and others who are looking to improve their skills in AI.
Webkit - Visualizing Layers in Web Inspector
Recent releases of Safari Technology Preview contain a new experimental feature for Web Inspector: the Layers tab. Building upon the legacy Layers sidebar, this tab introduces a 3D visualization of the inspected page’s compositing layers, to provide developers with a more hands-on (and hopefully fun!) way to understand where layers are being generated and in what order they will render. 另附：Web Inspector Styles Sidebar Improvements
Permit - An unopinionated authentication library for building Node.js APIs.
Permit makes it easy to add an authentication layer to any Node.js API. It can be used with any of the popular server frameworks (eg. Express, Koa, Hapi, Fastify) and it can be used for any type of API (eg. REST, GraphQL, etc.) due to its simple, unopinionated design.
TOAST UI Calendar
State so simple, it goes without saying. 附：Easy State Management in React Using Unstated
Tone.js is a framework for creating interactive music in the browser. It provides advanced scheduling capabilities, synths and effects, and intuitive musical abstractions built on top of the Web Audio API.
Renders a svg circle + progress
Although form validation is boring af, it’s also one of the most important improvements to your user experience. Get ready to be mildly impressed!
Electrode is a platform for building universal React/Node.js applications with standardized structure, best practices, and modern technologies baked in. Electrode Native is a mobile platform that simplifies development and streamlines the integration of React Native components into existing mobile applications.
iOS Dev Directory
The iOS Dev Directory is a comprehensive list of blogs & sites covering iOS development. Whether it’s about coding, design, marketing or anything in between, if a blog or site is related to iOS development it should be listed here.
Flask 1.0 Released
Flask is a lightweight WSGI web application framework. It is designed to make getting started quick and easy, with the ability to scale up to complex applications. It began as a simple wrapper around Werkzeug and Jinja and has become one of the most popular Python web application frameworks. 可看看有哪些值得 Node 框架借鉴的.
Go’s New Brand
I am delighted to announce the launch of Go’s new look and logo. 另附：Awesome Go: 1400+ Go Links, Libraries and Tools
Practical Jokes in the Browser
I know April Fool’s Day is at the beginning of this month, but hey, now you’ve got a year to prepare. Not to mention a gool ol’ practical joke can be done anytime. Fair warning on this stuff… you gotta be tasteful. Putting someone’s stapler in the jello is pretty hilarious unless it’s somehow a family heirloom, or it’s someone who’s been the target of a little too much office prankery to the point it isn’t funny anymore. Do good. Have fun.
What I have learned at Google as a designer
A running list of learnings & insights from my ongoing journey as a Googler. 另附：What happened Gmail
Working Together: How Designers And Developers Can Communicate To Create Better Projects
A good relationship starts with the ability for all of us to take a step back from our strongly held opinions, listen to our colleagues, and learn to compromise. We can then choose tools and workflows which help to support that understanding that we are all on the same team, all trying to do a great job, and all have important viewpoints and experience to bring to the project. 另附：design systems will only work if we improve the way we work together
The Illusion of Control in Web Design
The Front-End Design Checklist
An Exhaustive List of all the Elements which Web Designers and Front-End Developers need to take into Consideration to Facilitate their Collaboration.
Many Faces of Graphic Design: What Graphic Designers Do
Seeing the steady interest in the issues on graphic design on Quora, we have collected the most popular questions here for our readers. They cover the following questions: What is graphic design? What are the creative directions of graphic design? Is graphic design art? Why is graphic design important? What skills are needed to reach success in graphic design?
Seven best practices for inclusive product design
We’re building a product for everyone, because the best Pinterest is inclusive and easily usable for people with all levels of abilities. That’s why today we’re sharing our learnings and best practices we developed over the last year as we redesigned Pinterest to be more accessible for people who are blind and visually impaired. 另附：Building a more inclusive way to search
How To Drive Change as a Software Engineer
You have an idea. Your boss is indifferent, your team-mates apprehensive, and that other team whose help you need are dubious. You are an individual-contributor with no direct-reports. You still think it’s a good idea, but cannot make it happen alone. What next? 另附：Managing a Fully Remote Dev Team - Interview With CTO of Zapier
MIT Researchers Have Developed a ‘System for Dream Control’
So far Horowitz has tested the device on 8 subjects and found that it is able to reliably maximize the amount of time users spend suspended between wakefulness and sleep, as well as shape the content of the microdreams they experience. In other words, these MIT researchers have developed a low cost device that allows users to interface with sleep.
Why it took a long time to build that tiny link preview on Wikipedia
The history of page previews.
Stack Overflow Isn’t Very Welcoming. It’s Time for That to Change
As of last week, we’re prioritizing this and staffing it with talented employees from our Executive, Community, Data, Design, Research, and Engineering teams. We’re listening to our community and those sharing their experiences. In any case, here are some areas we’re planning to focus on first: Let’s shift from “don’t be an asshole” to “be welcoming.”; Let’s do something about comments; Let’s make it easier for new users to succeed; Let’s stop judging users for not knowing things…
– THE END –