FEX 技术周刊 - 2018/10/09
深阅读
Solid – Reshape the web as we know it
https://solid.inrupt.com/
Solid was created by the inventor of the World Wide Web, Sir Tim Berners-Lee. Its mission is to reshape the web as we know it. Solid will foster a new breed of applications with capabilities above and beyond anything that exists today. Solid empowers users and organizations to separate their data from the applications that use it. It allows people to look at the same data with different apps at the same time. It opens brand new avenues for creativity, problem-solving, and commerce. Learn how it came to be. 另附:Tim Berners-Lee tells us his radical new plan to upend the World Wide Web、How solid is Tim’s plan to redecentralize the web?
Rethinking JavaScript Test Coverage
https://blog.npmjs.org/post/178487845610/rethinking-javascript-test-coverage
You can now expose coverage output through Node.js by setting the environment variable NODE_V8_COVERAGE to the directory you would like coverage data output in. The tool c8 can be used to output pretty reports based on this coverage information.
Mastering Modular JavaScript
https://github.com/mjavascript/mastering-modular-javascript
Modular JavaScript is a book series with the mission of improving our collective understanding of writing robust, well-tested, modular JavaScript code. Mastering Modular JavaScript is the second book in the series, and it discusses modular JavaScript application development. Mastering Modular JavaScript includes hundreds of real-world patterns and practices, as well as detailed explanations of what works and what hasn’t when it comes to leveraging ES6 in the wild. 另附:What is Modular CSS?
How to Build a Low-tech Website?
https://solar.lowtechmagazine.com/2018/09/how-to-build-a-lowtech-website/
Low-tech Magazine was born in 2007 and has seen minimal changes ever since. Because a website redesign was long overdue — and because we try to practice what we preach — we decided to build a low-tech, self-hosted, and solar-powered version of Low-tech Magazine. The new blog is designed to radically reduce the energy use associated with accessing our content.
Plans for the Next Iteration of Vue.js
https://medium.com/the-vue-point/plans-for-the-next-iteration-of-vue-js-777ffea6fabf
Vue 3.0 aims to leverage these new language features to make Vue core smaller, faster, and more powerful. Vue 3.0 is currently in prototyping phase, and we have already implemented a runtime close to feature-parity with 2.x. Many of the items listed below are either already implemented, or confirmed to be feasible.
When a bar chart isn’t enough… Morph helps you turn data into art
https://medium.com/google-news-lab/when-a-bar-chart-isnt-enough-morph-helps-you-turn-data-into-art-986e41a33837
Sometimes a bar chart just won’t do. Sometimes you want to see data presented in a new way, a way it just hasn’t been shown as before. That’s where Morph comes in. Morph is a brand new tool, built by data studio Datavized, to allow anyone to create their own computer-generated data art project.
Lessons learned from creating a rich-text editor with real-time collaboration
https://ckeditor.com/blog/Lessons-learned-from-creating-a-rich-text-editor-with-real-time-collaboration/
This article describes how we approached the problem and what challenges we had to overcome in order to provide real-time collaborative editing capable of handling rich text. Check it out if you are interested in: Learning what problems you may face when implementing real-time collaborative editing; Building a rich-text editor with support for real-time collaboration; How we approached collaborative editing in CKEditor 5.
RESTful API 最佳实践
http://www.ruanyifeng.com/blog/2018/10/restful-api-best-practices.html
RESTful 是目前最流行的 API 设计规范,用于 Web 数据接口的设计。它的大原则容易把握,但是细节不容易做对。本文总结 RESTful 的设计细节,介绍如何设计出易于理解和使用的 API。
Best design practices to get the most out of your API
https://www.oreilly.com/ideas/best-design-practices-to-get-the-most-out-of-your-api
Practical techniques to ensure developers can actually do the things you want them to do using your API.
The Shapes of CSS
https://css-tricks.com/the-shapes-of-css/
We also get the ::before and ::after psuedo elements in CSS, which give us the potential of two more shapes we can add to the original element. By getting clever with positioning, transforming, and many other tricks, we can make lots of shapes in CSS with only a single HTML element.
On Node Framework Popularity
https://hueniverse.com/on-node-framework-popularity-355fbde5cbe4
Much of the conversation about choosing an HTTP framework for your node.js application is about performance, features, stability, and support. But when almost every framework available delivers enterprise-grade performance, cutting edge features, and are generally well maintained, do the technical specs really matter that much? 另附:awesome-nodejs.
Porting a 75,000 line native iOS app to Flutter
https://medium.com/flutter-community/porting-a-75-000-line-native-ios-app-to-flutter-57c6571c57b4
Not much has been written about porting large apps to Flutter. When I did it I was surprised at the results.
A Beginner’s Guide to JavaScript’s Prototype
https://tylermcginnis.com/beginners-guide-to-javascript-prototype/
In this post you’ll learn about a variety of patterns for instantiating new objects and in doing so, you’ll be gradually led to understanding JavaScript’s prototype in depth.
A Brief History of High Availability
https://www.cockroachlabs.com/blog/brief-history-high-availability/
In this post, we want to take a look at how distributed databases have historically handled partial failures within a system and understand––at a high level––what high availability looks like.
The interesting ideas in Datasette
https://simonwillison.net/2018/Oct/4/datasette-ideas/
Datasette is my open source tool for exploring and publishing structured data. There are a lot of ideas embedded in Datasette. I realized that I haven’t put many of them into writing.
Validating performance and reliability of the new Dropbox search engine
https://blogs.dropbox.com/tech/2018/10/validating-performance-and-reliability-of-the-new-dropbox-search-engine/
In our previous post, we discussed the architecture of our new search engine, named Nautilus, and its use of machine intelligence to scale our search–ranking and content–understanding models. Along with best–in–class performance, scalability, and reliability, we also provided a foundation for implementing intelligent document ranking and retrieval features. This flexible system allows our engineers to easily customize the document–indexing and query–processing pipelines while maintaining strong safeguards to preserve the privacy of our users’ data. In this post, we will discuss the process that we undertook to ensure optimal performance and reliability.
Open-sourcing StateService: Automating recovery of third-party services after a major outage
https://code.fb.com/open-source/stateservice/
StateService is self-documenting — the individual states become part of configuration management (CM) software, such as a Chef cookbook. By replaying the states that were previously applied to a VM (or a group of VMs), StateService returns services to their last-known state.
Rethinking Netflix’s Edge Load Balancing
https://medium.com/netflix-techblog/netflix-edge-load-balancing-695308b5548c
We briefly touched on some of the load balancing improvements we’ve recently been making in our Open Sourcing Zuul 2 post. In this post, we’ll go into more detail on the whys, hows and results of that work.
Upgrading GitHub from Rails 3.2 to 5.2
https://githubengineering.com/upgrading-github-from-rails-3-2-to-5-2/
On August 15th GitHub celebrated a major milestone: our main application is now running on the latest version of Rails: 5.2.1! In total the project took a year and a half to upgrade from Rails 3.2 to Rails 5.2. Along the way we took time to clean up technical debt and improve the overall codebase while doing the upgrade. Below we’ll talk about how we upgraded Rails, lessons we learned and whether we’d do it again.
Kubernetes: The Surprisingly Affordable Platform for Personal Projects
http://www.doxsey.net/blog/kubernetes–the-surprisingly-affordable-platform-for-personal-projects
Kubernetes makes sense for small projects and you can have your own Kubernetes cluster today for as little as $5 a month. 另附:Kubernetes for personal projects? No thanks!
新鲜货
Node + JS Foundation
https://www.linuxfoundation.org/news/2018/10/node-js-foundation-and-js-foundation-announce-intent-to-create-joint-organization-to-support-the-broad-node-js-and-javascript-communities/
https://blog.npmjs.org/post/178734613655/node-js-foundation
Today, JavaScript is nearly ubiquitous. Enterprises have been able to greatly reduce training costs and increase developer productivity because frontend JS developers can work on the server side, and vice-versa, eliminating the context switches and enabling all developers to pull from the same knowledge base and vast module ecosystem. Node.js is a major catalyst for this growth. It has become an important part of the modern web development stack and is often the assumed default when working with JavaScript. Merging the Foundations will bring the governance of these technologies in line with its real-world use.
Create React App 2.0
https://reactjs.org/blog/2018/10/01/create-react-app-v2.html
Babel 7, Sass, and More.
Announcing TypeScript 3.1
https://blogs.msdn.microsoft.com/typescript/announcing-typescript-3-1/
Mappable tuple and array types; Easier properties on function declarations; Version redirects for TypeScript via typesVersions; Refactor from .then() to await.
Parcel v1.10.0 https://medium.com/@devongovett/parcel-v1-10-0-babel-7-flow-elm-and-more-c20736553573 Babel 7, Flow, Elm, and more!
PM2 Runtime - 3.2
https://blog.pm2.io/pm2-runtime-3-2-autumn-features/
PM2 we have 3 differents products: PM2 Runtime, the Open Source process manager (which this article is about); PM2 Plus, a self service monitoring system dedicated to PM2 Runtime; PM2 Enterprise, a package containing support, feature requests and advanced monitoring system.
13 Games in ≤ 13kB of JavaScript · js13kGames 2018
https://blog.github.com/2018-10-05-js13kgames-highlights-2018/
As the seventh annual js13kGames competition comes to a close, a grand total of 274 games were submitted. Even more impressive, each one was created in a single month, using less than 13 kB. We rounded up a few of our favorites featuring a number of different styles and genres.
Sal
https://github.com/mciastek/sal
Performance focused, lightweight (less than 2.8 kb) scroll animation library, written in vanilla JavaScript. No dependencies!
imgToAscii
https://github.com/victorqribeiro/imgToAscii
A JavaScript implementation of a image to ascii converter.
SVGR
https://github.com/smooth-code/svgr
Transform SVGs into React components.
awesome-vscode
https://github.com/viatsko/awesome-vscode
A curated list of delightful VS Code packages and resources.
husky
https://github.com/typicode/husky
Husky can prevent bad git commit, git push and more 🐶 ❤️ woof! To all the amazing people who have answered the Husky survey, thanks so much <3 !
Trix - A rich text editor for everyday writing
https://trix-editor.org/
Compose beautifully formatted text in your web application. Trix is an editor for writing messages, comments, articles, and lists—the simple documents most web apps are made of. It features a sophisticated document model, support for embedded attachments, and outputs terse and consistent HTML.
Tabulator
http://tabulator.info/
Tabulator allows you to create interactive tables in seconds from any HTML Table, Javascript Array, AJAX data source or JSON formatted data. Simply include the library in your project and you’re away!
30 seconds of code
https://30secondsofcode.org/
通过简单的工具类代码学习 JS
Brigadier
https://github.com/Mojang/brigadier
Brigadier is a command parser & dispatcher, designed and developed for Minecraft: Java Edition and now freely available for use elsewhere under the MIT license.
Sourcegraph is now open source
https://github.com/sourcegraph/sourcegraph
Sourcegraph is a fast, open-source, fully-featured code search and navigation engine.
Operating Systems: Three Easy Pieces
http://pages.cs.wisc.edu/~remzi/OSTEP/
A free online operating systems book! The book is centered around three conceptual pieces that are fundamental to operating systems: virtualization, concurrency, and persistence. In understanding the conceptual, you will also learn the practical, including how an operating system does things like schedule the CPU, manage memory, and store files persistently. Lots of fun stuff! 另附:Should you learn C to “learn how the computer works”?
设计
Motion design doesn’t have to be hard
https://medium.com/google-design/motion-design-doesnt-have-to-be-hard-33089196e6c2
Motion helps make UIs expressive and easy to use. Despite having so much potential, motion is perhaps the least understood of all the design disciplines. This may be due to it being one of the newer members of the UI design family. Visual and interaction design dates back to early GUIs, but motion had to wait for modern hardware to render animation smoothly.
The Psychology of Design
https://alistapart.com/article/psychology-of-design
There are a number of debates about which additional skills designers should learn. Should designers code, write, or understand business? These skills are incredibly valuable but perhaps not essential. However, I would argue that every designer should learn the fundamentals of psychology. But knowing where to start can be a challenge. Which principles from psychology are useful? What are some examples of these principles at work? In this article, I’ll cover the basics, and discuss the ethical implications of using psychology in design.
Product Design by Google
https://blog.prototypr.io/product-design-by-google-part-4-eca8d846301f
The ‘Product Design by Google’ course is a great course and you shouldn’t entirely rely on these notes, these notes are helpful if you don’t have the time to do the course and would like a bit of a rundown. They’re also useful if you have completed the course and would like notes to help retain what you’ve learnt.
Framer X + React: Diversity Initiative
https://blog.framer.com/framer-x-react-diversity-initiative-c3c5045829b2
We’ve set aside 10 passes that will cover the cost of Framer X + React. With each of these passes we’ll also be giving away a free one-year subscription to Framer X. 另附:The New Framer X: Initial Impressions
产品及其它
Introducing Oculus Quest, Our First 6DOF All-in-One VR System, Launching Spring 2019
https://www.oculus.com/blog/introducing-oculus-quest-our-first-6dof-all-in-one-vr-system-launching-spring-2019/
We’re excited to usher in the next era of VR gaming with the introduction of Oculus Quest, our first all-in-one VR gaming system. Oculus Quest will launch in Spring 2019 for $399 USD. Offering six degrees of freedom and Touch controllers, Oculus Quest makes it easy to jump right into the action—with no PC, no wires, and no external sensors.
TiddlyWiki
https://tiddlywiki.com/
A unique non-linear notebook for capturing, organising and sharing complex information. TiddlyWiki is a complete interactive wiki in JavaScript. It can be used as a single HTML file in the browser or as a powerful Node.js application. It is highly customisable: the entire user interface is itself implemented in hackable WikiText.
虚空迷茫中价值
https://mp.weixin.qq.com/s?__biz=MzA3NTcwOTIwNg==&mid=2655842840&idx=1&sn=eaf77378c574aa3f5edb7d371eeea8b9
当互联网行业在用户红利消失后,通过渗透人性 kill time,获取用户消费时间,满足资本的估值模型的时候,我们其实并没有真正的去尊重用户,也没有尊重自己。当整个行业生态如此,我们又收获了什么呢?看似我们仿佛是获利的一方,只是我们不知道我们失去了更多。
“乔布斯宿敌”:安卓之父的苦情创业史
https://www.huxiu.com/article/265455.html
从最初的处处碰壁发展到现如今市场份额最高的手机操作系统,安卓走过了风雨十年。而作为改变全球IT产业格局的人之一,鲁宾创业的脚步从未停下。如果要用一句话来形容“安卓之父”鲁宾,那大概是:生命不息,折腾不止。
– THE END –