FEX 技术周刊 - 2019/03/18
深阅读
30th Anniversary of the World Wide Web https://web30.web.cern.ch/ To celebrate 30 years since Sir Tim Berners-Lee’s proposal and to kick-start a series of celebrations worldwide, CERN hosted a 30th Anniversary event in the morning of 12 March 2019 in partnership with the World Wide Web Consortium (W3C) and with the World Wide Web Foundation. 附:
- 30 years on, what’s next #ForTheWeb?
- 30 years ago the world changed forever、
- Tim Berners-Lee: ‘Stop web’s downward plunge to dysfunctional future’
- Tim Berners-Lee on 30 years of the world wide web: ‘We can get the web we want’
- Developers revive first Web browser at week-long hackathon.
JIT-less V8 https://v8.dev/blog/jitless V8’s new JIT-less mode is intended to address these points. When V8 is started with the –jitless flag, V8 runs without any runtime allocation of executable memory.
A JavaScript-Free Frontend https://dev.to/winduptoy/a-javascript-free-frontend-2d3e Slimvoice - A Webapp Without JavaScript is a series where I document how I rebuilt my app, Slimvoice, using as little JavaScript as possible. I’ve tagged this series with JavaScript to present JavaScript alternatives and encourage those who reach for a SPA for every project to give it a second thought. 附:译文.
Third Party Web https://github.com/patrickhulce/third-party-web Data on third party entities and their impact on the web. This document is a summary of which third party scripts are most responsible for excessive JavaScript execution on the web today.
2019年大前端技术趋势深度解读 https://mp.weixin.qq.com/s?__biz=MzUxMzcxMzE5Ng==&mid=2247490726&idx=1&sn=7f385d8a714a452719e971f9d149e7e0 未来浏览器会越来越重要,Web Os 的概念正在慢慢落地。另外三大框架趋于稳定,写法上也越来越像,学习成本是降低的。但周边应用层面的封装还会是爆发式增长,更多复杂的细节会被包装到应用框架里,可能还有很多不一样的开发方式需要大家熟悉。对于开发者而言,唯一不变的就是学习能力。掌握了学习能力就能够应对这些趋势变化,无论是在三大框架混战时代,还是后面周边封装时代都能很开心的“折腾”。哪怕有一天 AI 真的能够替人写代码,能应变的人自然也是不怕的。
工程师看得懂的商业原理、商业变迁史 https://mp.weixin.qq.com/s?__biz=Mzg3NjAzMjAzNg==&mid=2247484014&idx=1&sn=e08a08d49b26b0c658abf79b2751f7b3 纵观中西方商业的变迁历史,商业的本质在于价值创造。价值创造的过程需要提出问题、建立完整解决方案、从最小可行产品模型入手以及不断迭代。人类的商业活动极大地促进了生产率的提升,而这种生产率的提升随着工具尤其是机器甚至是智能化机器的使用而加速。
Taro UI 2.0 发布:新增自定义主题功能,适配更多小程序 https://aotu.io/notes/2019/02/25/taro-ui-2.0/ 转眼间,Taro UI 发布已有半年,感谢大家的支持,让我们收获了 GitHub 1400+ star。在此期间,我们不断完善组件库的功能和特性,新增了许多组件和小工具,包括但不限于: 新增日历、索引选择、区域选择、图片选择等十一个组件、适配支付宝小程序、百度小程序、新增自定义主题功能。
精读《Serverless 给前端带来了什么》 https://zhuanlan.zhihu.com/p/58877583 Serverless 是一种 “无服务器架构”,让用户无需关心程序运行环境、资源及数量,只要将精力 Focus 到业务逻辑上的技术。 现在公司已经实现 DevOps 化,正在向 Serverless 迈进,而为什么前端要关注 Serverless?
A Complete Guide to useEffect https://overreacted.io/a-complete-guide-to-useeffect/ The goal of this article isn’t to give you a list of bullet point recipes. It’s to help you truly “grok” useEffect. There won’t be much to learn. In fact, we’ll spend most of our time unlearning. 另附:Scheduling in React.
Building Angular and React Applications Together With Nx https://blog.nrwl.io/building-angular-and-react-applications-together-with-nx-78b5578de598 Large companies often use multiple frontend frameworks to build their products. One product can be built with Angular, another one with React. These products, even though are built by different teams using different stacks, often share components and utilities. Setting this up traditionally is challenging. Companies put a lot of effort in making sure teams can collaborate and use each other’s work. Nx drastically simplifies this.
Flutter’s Key Difference: Owning Every Pixel https://medium.com/flutter-community/flutters-key-difference-owning-every-pixel-e2135b44c8a There’s been plenty of comparing Flutter with other cross-platform mobile frameworks. But the key difference is often overlooked or downplayed. Flutter owns every pixel on the screen.
Why you shouldn’t use Moment.js… https://inventi.studio/en/blog/why-you-shouldnt-use-moment-js JavaScript’s built-in Date object is far from ideal, let’s admit it. We could spend a lot of time talking about Date API methods like getYear, however we believe everything has been told in that matter. Everyone of us, at some point realized that or has been warned by older friends, if lucky enough. Whatever the reason was, at the end we all reached for external library and the choice was obvious - Moment.js. The most popular JS DateTime library that gave us everything we wanted so much from native Date API.
Designing An Aspect Ratio Unit For CSS https://www.smashingmagazine.com/2019/03/aspect-ratio-unit-css/ The CSS Working Group have designed an aspect ratio unit for CSS. While this isn’t in browsers yet, this article takes a look at the process of designing a new sizing method and explains how it will work.
Writing CSS Algorithms https://notlaura.com/writing-css-algorithms/ A CSS algorithm is a well-defined declaration or set of declarations that produces a specific styling output.
Fast, Bump-Allocated Virtual DOMs with Rust and Wasm https://hacks.mozilla.org/2019/03/fast-bump-allocated-virtual-doms-with-rust-and-wasm/ Dodrio is a virtual DOM library written in Rust and WebAssembly. It takes advantage of both Wasm’s linear memory and Rust’s low-level control by designing virtual DOM rendering around bump allocation. Preliminary benchmark results suggest it has best-in-class performance.
KV Storage: the Web’s First Built-in Module https://developers.google.com/web/updates/2019/03/kv-storage Chrome is experimenting with a new feature known as built-in modules, and the first one we’re planning to ship is an asynchronous key/value storage module called KV Storage.
Update on Experimental Features in Node.js https://nodesource.com/blog/experimental-features-in-node.js A lot of experimental features get to the stable phase, like HTTP2, where it first landed as an experimental feature in Node v8.4.0 and then became stable in Node v10. But also, some other experimental features get deprecated.
When “Zoë” !== “Zoë”. Or why you need to normalize Unicode strings https://withblue.ink/2019/03/11/why-you-need-to-normalize-unicode-strings.html Never heard of Unicode normalization? You’re not alone. But it will save you a lot of trouble.
Give Me Back My Monolith http://www.craigkerstiens.com/2019/03/13/give-me-back-my-monolith/ It feels like we’re starting to pass the peak of the hype cycle of microservices. It’s no longer multiple times a week we now see a blog post of “How I migrated my monolith to 150 services”. Now I often hear a bit more of the counter: “I don’t hate my monolith, I just care that things stay performant”. We’ve actually seen some migrations from micro-services back to a monolith. When you go from one large application to multiple smaller services there are a number of new things you have to tackle, here is a rundown of all the things that were simple that you now get to re-visit.
Visualizing Cold Starts https://mikhail.io/2019/03/visualizing-cold-starts/ I wrote a lot about cold starts of serverless functions. The articles are full of charts and numbers which are hopefully useful but might be hard to internalize. I decided to come up with a way to represent colds starts visually.
Reinventing Facebook’s data center network https://code.fb.com/data-center-engineering/f16-minipack/ Because of these dual pressures of increasing demand and physical constraints, we decided to rethink and transform our data center network from top to bottom, from topologies to the fundamental building blocks used within them. In this post, we’ll share the story of this transformation over the last two years.
Amazon Aurora ascendant: How we designed a cloud-native relational database https://www.allthingsdistributed.com/2019/03/Amazon-Aurora-design-cloud-native-relational-database.html Aurora’s design preserves the core transactional consistency strengths of relational databases. It innovates at the storage layer to create a database built for the cloud that can support modern workloads without sacrificing performance. Customers love this because Aurora provides the performance and availability of commercial grade databases at 1/10th the cost. Since Aurora’s original release, it has been the fastest-growing service in the history of AWS. In this post, I’d like to give you a peek under the hood at how we built Aurora. I’ll also discuss why customers are adopting it faster than any other service in AWS history.
新鲜货
Iodide: an experimental tool for scientific communication and exploration on the web https://hacks.mozilla.org/2019/03/iodide-an-experimental-tool-for-scientific-communicatiodide-for-scientific-communication-exploration-on-the-web/ In the last 10 years, there has been an explosion of interest in “scientific computing” and “data science”: that is, the application of computation to answer questions and analyze data in the natural and social sciences. To address these needs, we’ve seen a renaissance in programming languages, tools, and techniques that help scientists and researchers explore and understand data and scientific concepts, and to communicate their findings. But to date, very few tools have focused on helping scientists gain unfiltered access to the full communication potential of modern web browsers. So today we’re excited to introduce Iodide, an experimental tool meant to help scientists write beautiful interactive documents using web technologies, all within an iterative workflow that will be familiar to many scientists. 另附:Introducing Firefox Send.
New in Chrome 73 https://developers.google.com/web/updates/2019/03/nic73 In Chrome 73, we’ve added support for: Creating portable content easier with signed HTTP exchanges. Dynamically changing styles becomes way easier with constructable style sheets. Support for Progressive Web Apps arrives for on Mac, bringing support for PWAs to all desktop and mobile platforms, making it easy to create installable apps, delivered through the web. 另附:Microsoft proves the critics right: We’re heading toward a Chrome-only Web、Safari 11: On the Road to WebRTC 1.0, Including VP8、Chrome Lite Pages - For a faster, leaner loading experience.
Introducing the OpenJS Foundation: The Next Phase of JavaScript Ecosystem Growth https://medium.com/@nodejs/introducing-the-openjs-foundation-the-next-phase-of-javascript-ecosystem-growth-d4911b42664f The OpenJS Foundation is made up of 31 open source JavaScript projects including Appium, Dojo, jQuery, Node.js, and webpack. Our mission is to support the healthy growth of JavaScript and web technologies by providing a neutral organization to host and sustain projects, as well as collaboratively fund activities that benefit the ecosystem as a whole.
NGINX to Join F5: Proud to Finish One Chapter and Excited to Start the Next https://www.nginx.com/blog/nginx-joins-f5/ I truly believe the combination opens up a larger addressable market and accelerates our collective growth. It’s a story where the sum is greater than the individual parts. Enterprises are undergoing digital transformation. Their applications are their business. Combined, F5 and NGINX provide a new, end-to-end set of application offerings that bridge the divide between NetOps and DevOps. The result? Customers can spend more time focused on their apps, and less time worrying about the underlying infrastructure. We’re truly excited to be joining the F5 family and looking forward to the journey ahead. If you have any concerns or questions, I’d like to hear them. Leave a comment below.
Neo4j Joins GraphQL Foundation as a Founding Member https://neo4j.com/blog/neo4j-joins-graphql-foundation-founding-member/ Neo4j is excited to share that we have joined the GraphQL Foundation as one of the founding members to support the evolution of GraphQL as it continues to become a standard for building APIs.
The ACME Protocol is an IETF Standard https://letsencrypt.org/2019/03/11/acme-protocol-ietf-standard.html It has long been a dream of ours for there to be a standardized protocol for certificate issuance and management. That dream has become a reality now that the IETF has standardized the ACME protocol as RFC 8555. I’d like to thank everyone involved in that effort, including Let’s Encrypt staff and other IETF contributors.
Sucrase https://github.com/alangpierce/sucrase Sucrase is an alternative to Babel that allows super-fast development builds. Instead of compiling a large range of JS features to be able to work in Internet Explorer, Sucrase assumes that you’re developing with a recent browser or recent Node.js version, so it focuses on compiling non-standard language extensions: JSX, TypeScript, and Flow. Sucrase is about 20x faster than Babel.
Releasing React Native 0.59 https://facebook.github.io/react-native/blog/2019/03/12/releasing-react-native-059 Welcome to the 0.59 release of React Native! This is another big release with 644 commits by 88 contributors. Contributions also come in other forms, so thank you for maintaining issues, fostering communities, and teaching people about React Native. This month brings a number of highly anticipated changes, and we hope you enjoy them.
Reaviz - ReactJS Data Visualization Library based on D3.js https://github.com/jask-oss/reaviz REAVIZ is a modular chart component library that leverages React natively for rendering the components while using D3js under the hood for calculations. The library provides an easy way to get started creating charts without sacrificing customization ability.
The chart library: billboard.js 1.8.0 released https://medium.com/@alberto.park/billboard-js-1-8-0-released-today-3ed432f2d9d4 Re-usable, easy interface JavaScript chart library based on D3 v4+.
Ink 2.0: Like React, But For Building CLI Apps https://github.com/vadimdemedes/ink/releases/tag/v2.0.5 React for CLIs. Build and test your CLI output using components.
better-sqlite3 https://github.com/JoshuaWise/better-sqlite3 The fastest and simplest library for SQLite3 in Node.js.
NLP.js https://github.com/axa-group/nlp.js An NLP library for building bots, with entity extraction, sentiment analysis, automatic language identify, and so more.
XXH3 - a new speed-optimized hash algorithm https://fastcompression.blogspot.com/2019/03/presenting-xxh3.html The xxHash family of hash functions has proven more successful than anticipated. Initially designed as a checksum companion for LZ4, it has found its way into many more projects, requiring vastly different workloads. I was recently summoned to investigate performance for a bloom filter implementation, requiring to generate quickly 64 pseudo-random bits from small inputs of variable length. The end result of this investigation is XXH3, a cross-over inspired by many other great hash algorithms, which proves substantially faster than existing variants of xxHash, across basically all dimensions.
ArchiveBox https://michael.stapelberg.ch The open-source self-hosted web archive. ArchiveBox takes a list of website URLs you want to archive, and creates a local, static, browsable HTML clone of the content from those websites (it saves HTML, JS, media files, PDFs, images and more). You can use it to preserve access to websites you care about by storing them locally offline.
go-perfbook https://github.com/dgryski/go-perfbook This document outlines best practices for writing high-performance Go code. The first sections cover writing optimized code in any language. The later sections cover Go-specific techniques.
Open Distro for Elasticsearch https://opendistro.github.io/for-elasticsearch/ An Apache 2.0-licensed distribution of Elasticsearch enhanced with enterprise security, alerting, SQL, and more.
Kdenlive https://kdenlive.org/ Kdenlive is an open source video editor. The project was started around 2003. Kdenlive is built on Qt and the KDE Frameworks libraries. Most of the video processing is done by the MLT Framework, which relies on many other open source projects like FFmpeg, frei0r, movit, ladspa, sox, etc… Our software was designed to answer most needs, from basic video editing to professional work.
Announcing the release of sway 1.0 https://drewdevault.com/2019/03/11/Sway-1.0-released.html 1,315 days after I started the sway project, it’s finally time for sway 1.0! I had no idea at the time how much work I was in for, or how many talented people would join and support the project with me. In order to complete this project, we have had to rewrite the entire Linux desktop nearly from scratch. Nearly 300 people worked together, together writing over 9,000 commits and almost 100,000 lines of code, to bring you this release. Sway is an i3-compatible Wayland desktop for Linux and FreeBSD. 1.0 is the first stable release of sway and represents a consistent, flexible, and powerful desktop environment for Linux and FreeBSD.
Let’s Build a Simple Database https://cstack.github.io/db_tutorial/ Writing a sqlite clone from scratch in C.
设计
Beyond Vision: Sound Design as Sensory Design https://medium.com/microsoft-design/beyond-vision-sound-design-as-sensory-design-3259a8ca59ea Orchestrating healthier and more beautiful digital experiences.
Portfolios for UX Researchers: Top 10 Recommendations https://www.nngroup.com/articles/ux-researcher-portfolio/ A portfolio of past projects can advance the career of a UX researcher. Present the right work, summarize your findings, and communicate clearly to showcase your skills.
A Complete Overview of the Best Data Visualization Tools https://www.toptal.com/designers/data-visualization/data-visualization-tools Creating data visualizations is rarely straightforward. It’s not as if designers can simply take a data set with thousands of entries and create a visualization from scratch. Sure, it’s possible, but who wants to spend dozens or hundreds of hours plotting dots on a scatter chart? That’s where data visualization tools come in.
Quantifying UX: How we validated the redesign of GitLab’s settings pages https://about.gitlab.com/2019/03/13/quantifying-ux-validating-the-redesign-of-gitlabs-settings-pages/ A GitLab senior UX designer shares how we determined whether a recent redesign improved the overall experience for users.
Sketch to Flutter. Automatically https://blog.prototypr.io/sketch-to-flutter-automatically-cf693ea1c892 We are happy to introduce full support for Flutter in Supernova, including all the sweet things that people love to use: micro-animations, transitions, localizations and more. More importantly, the Flutter exporter is fully-customizable based on best practices.
产品及其它
The Lost Worlds of Telnet https://thenewstack.io/the-lost-worlds-of-telnet/ Most people think of Telnet as “that thing I used to use to remotely access servers.” But a few hearty souls are still keeping their Telnet services online — and it’s a great way to experience some good old-fashioned time-wasting fun! Although, as a work tool, Telnet has long been deprecated in favor of the Secure Shell (SSH), a few minutes of exploration quickly reveals that there’s still a whole forgotten subculture around the places Telnet can take you to.
This is the Future of Finance https://developers.googleblog.com/2019/03/this-is-future-of-finance.html March 15th, we will see this cohort graduate from the program at the Launchpad team’s inaugural event - The Future of Finance - a global discussion on the impact of applied ML/AI on the finance industry. These startups are ensuring that everyone has relevant insights at their fingertips and that all people, no matter where they are, have access to equitable money, banking, loans, and marketplaces. Tune into the event from wherever you are via the livestream.
开源时代,人才哪里找?这份报告给出了一份详尽的人才供需图 https://zhuanlan.zhihu.com/p/59381112 伴随着供给侧改革的逐步深化,2019年将是企业人才生态进化与经济结构性改革的冲刺年。这场赛跑,既是对企业“节流”能力的检验,也是对企业“开源”能力的挑战。“节流”体现在企业如何通过建立科学的培训和晋升机制,快速提升内部人才资本的生产效率;“开源”则体现了企业如何不断提升自身吸引力,最大化地建立起与外部人才生态的互联网络。与此同时,我们每个人在面临时代变革的时候如何固本培元,在把握就业市场脉搏的同时应该重点增强那些方面的竞争力,BOSS直聘《开源时代:2019年人才资本趋势报告》尝试给出答案。本报告按照从宏观到微观的视角,对当下就业市场的九个趋势进行了深度分析,试图为读者展示一张未来就业市场的导航图。笔者对报告重点进行了梳理,以飨读者。
张一鸣谈「务实的浪漫」:把想象变成现实 https://www.geekpark.net/news/239089 张一鸣在公司 7 周年庆典上首次提到,字节跳动是一家务实浪漫的公司。所谓务实浪漫,就是把想象变成现实,face reality and change it。体现在产品上,有同理心是务实,有想象力是浪漫。「同理心是地基,想象力是天空,中间是逻辑和工具。」A/B 测试只是工具,测不出用户需求,同理心才是重要的基础。但是光有同理心还不够,这样只能做出有用的产品。想要做出彩的产品,想象力非常重要。
从腾讯历次变革看组织进化方法论 https://mp.weixin.qq.com/s?__biz=MzA5MTMyNzAzMQ==&mid=2651549247&idx=1&sn=3bd7bdc0ea68cf285e440b86f41148e4 在2019腾讯T+HR峰会上,作为腾讯最新组织变革设计的参与者、集团组织侧盘点的牵头人,腾讯组织发展部总监舒润哲为大家分享了:面对充满未知的内外部形势,腾讯是如何进行组织变革,从组织进化的角度迎接新任务、新问题、新挑战的。
一位无名企业家的十年生死路 https://mp.weixin.qq.com/s?__biz=MzU5OTI0NTc3Mg==&mid=2247486531&idx=1&sn=46dbd5cf8f8fad2f0f680394b4c32c48 数次濒死,侥幸活着,回望身后,万丈深渊。用这16个字形容赵剑锋过去的十年,一点也不为过。成立于2009年的点我吧,幸运又不幸地见证了中国互联网的“战争纪元”:视频、团购、外卖、打车、共享单车,资本助推了一场场商业奇景,颠覆了一切既有逻辑——规模和速度取代盈利本身,成为最大的商业正确。而彼时的赵剑锋,是那个没看清“势”的人,是“愚蠢”坚守了自己那套理性逻辑和心理底线的人,他就像外卖行业里的周航。所以这是一个关于遗憾的故事。取势、明道、优术,点我达惜在错判外部大势。
– THE END –