FEX 技术周刊 - 2017/10/09
An Internship on Laziness: Lazy Unlinking of Deoptimized Functions
I’ll explain how V8 used to unlink deoptimized functions, how we changed this, and what performance improvements were obtained.
附：[Optimizing ES2015 proxies in V8](https://v8project.blogspot.jp/2017/10/optimizing-proxies.html
Essential Image Optimization
We should all be automating our image compression. In 2017, image optimization should be automated. It’s easy to forget, best practices change, and content that doesn’t go through a build pipeline can easily slip. To automate: Use imagemin or libvips for your build process. Many alternatives exist. 附：Fundamentals of Responsive Images
Talk to Google at Node.js Interactive
Web Frameworks: Soundness
While we have been comparing web frameworks to music, soundness in this context isn’t how good the framework sounds on a turntable. It is the concept of our code being in a good condition and robust. While we should and can test for this, helping us in other ways should be one of the main benefits of using a framework.
Pipeline 一般具有如下特点：各个子过程高内聚，专注于解决特定问题，Simple & Sharp；所有子过程具有一致的接口，例如从标准输入读取数据，正常结果输出到标准输出，异常结果输出到标准错误；能够通过一定形式将子过程组合起来解决复杂问题，例如 pipe。事实上，Pipeline 作为化整为零、去繁就简的重要手段，在前端中也有诸多应用。
Lessons from migrating a large codebase to React 16
While the React team has diligently deprecated methods and packages throughout the last version, warning us strongly in console statements to upgrade, the actual final migration is not trivial for larger codebases. We at Discord just launched our React 16 based app and wanted to share our experience and some tips we learned along the way.
The 100% correct way to structure a React app (or why there’s no such thing)
In this post, I’d like to tell you how I structure my React apps, and what drove my decisions. Along the way I’ll mention some options I don’t use because they don’t suit me, but that might serve you well.
Free Cross-Platform Mobile App Development Tools Compared
This list includes open-source and free cross-platform mobile app development tools that any developer can use immediately.
8 Key React Component Decisions
Here are eight key decisions your team needs to make when writing React components today.
The Road to Ember 3.0
Ember 3.0 removes public API deprecated in Ember 2.x releases. 3.0 does not introduce new public APIs or breaking changes.
Airbnb’s 10 Takeaways from Moving to Microservices
Monolith first, DevOps culture, Configuration as Code…
Publishing what you mean to publish
You, as a developer publishing to npm, want to avoid leaking your data like this. I’ll share some tips for how to control what you’re publishing and keep your secrets out of the public registry. 另附：Protect your npm account with two-factor authentication and read-only tokens
Size Limit:Make the Web lighter
Text Editor: Data Structures
I researched several data types, and I tried to be language agnostic. I wanted my decision to not be influenced by any particular language, and first see if there was a “best way” out there, solely based on operations. Of course, a “best way” rarely exists. However, in the case of text manipulation and storage, there are some clear “worst ways” and “better ways.” 另附：The Craft of Text Editing
How we created a design system for the U.S. government
I was part of a team of designers and developers who unified a complex system with numerous rules to serve users from all corners of the country. I’ll shed some light on how we built tools to leverage industry-standard best practices and produce a design system with reusable components. You’ll also see how our system is helping agency teams in the federal government create simple, efficient, consistent experiences quickly and at reduced cost.
A Five Minutes Guide to Better Typography
CSS Grid Challenge: Winners and Templates
One of the main reasons behind the idea of the CSS Grid Challenge was to have some starting points for layouts, and show what can be achieved with CSS Grids today. So without a further ado, let’s look at the submissions which we think are the most impressive ones.
Functional Minimalism for Web Design
Minimalist websites simplify interfaces by removing unnecessary elements and paring down content that does not support user tasks. What makes such websites inspiring is the combination of usability and great aesthetics: An easily navigable, beautiful website is a powerful vehicle of communication.
Babel Turns Three
Babel has really come a long way since Sebastian started the project only 3 years ago! A while back it was renamed from 6to5 to Babel; for good reason as it has signficantly contributed to the use of ES2015+ by many companies, libraries, and developers alike.
Announcing Microsoft Edge for iOS and Android, Microsoft Launcher
iOS 下用系统的，Android 下用 Blink，所以不用担心兼容性问题。
附：Microsoft Edge for iOS and Android: What developers need to know
HTML 5.1 2ND EDITION IS A W3C RECOMMENDATION
An Update on Firefox Containers
Containers is now available as a Firefox Extension, accessible to all Firefox users.
Structor - React UI Builder
nstall Components > Prototype UI > Generate Source Code > Build Application
statty is meant to manage app-wide state and can be thought of as a simplified version of Redux. It safely leverages context to expose application state to children, along with a function to update it when needed. The update function acts like Redux dispatch, but instead of an action, it takes an updater function as a parameter that returns the new state. This way it’s easy to write testable updaters and to organize them as you prefer, without having to write boilerplate code.
Announcing Node.js for Mobile Apps: a full-fledged Node.js runtime for Android and iOS
At the heart of it, is a library – available for Android and iOS – that allows an app to host a full-fledged Node.js execution environment. In addition to the core library, we have released plugins for Cordova and React Native – both also compatible with Android and iOS – which make it extremely easy to integrate the Node.js runtime into applications built using on those frameworks.
Walmart Labs open sources its tool for bringing React Native to existing mobile apps
Walmart is placing a big bet on React Native. With Electrode, the company’s Walmart Labs division open sourced the React-based framework that powers Walmart.com’s frontend and today the same group is also launching Electrode Native, its tool for bringing React Native to existing native apps on iOS and Android.
Introducing Cloud Firestore: Our New Document Database for Apps
We’re excited to launch Cloud Firestore, a fully-managed NoSQL document database for mobile and web app development. It’s designed to easily store and sync app data at global scale, and it’s now available in beta. 附：Improved Querying and Offline Data with AngularFirestore
Falcor 1.0 Released
Winners of the Recent js13kGames
JSON logger for Node.js and browser. 附：https://medium.com/@gajus/roarr-the-perfect-json-logger-node-js-and-browser-935180bda529
Coolest handpicked Gradient Hues and Swatches for your next super ⚡ amazing stuff. coolHue has 60 coolest Gradients and 🌱 the list is still growing. You can also personalize the coolHue Palette as per as your taste.
Decentralized websites using Bitcoin crypto and the BitTorrent network. Why? We believe in open, free, and uncensored network and communication. No single point of failure: Site remains online so long as at least 1 peer is serving it. No hosting costs: Sites are served by visitors. Impossible to shut down: It’s nowhere because it’s everywhere. Fast and works offline: You can access the site even if Internet is unavailable.
This list is going to be short — I am definitely forgetting many that were interesting to me at the time — , and it’s mostly out of order, but you may want to consider it if you want to be surprised, like I was, or learn a thing or two perhaps.
URL to PDF Microservice
Web page PDF rendering done right. Microservice for rendering receipts, invoices, or any content. Packaged to an easy API.
TLA+ is a formal specification language. It’s a tool to design systems and algorithms, then programmatically verify those systems don’t have critical bugs. It’s the software equivalent of a blueprint.
Y Combinator’s Founding Principles
From the point YC funds a startup we should put the founders’ interests first, before even our own. We must remember that we’re investors, not bosses. We can advise and persuade, but not command. What drove us in starting YC was that it seemed a cool hack: that if we helped founders in the earliest stages, there could be a lot more successful startups. That hypothesis turned out to be correct, and it has a long way to run. Focus on helping founders, and everything else will follow.
Be a Mentor
Remember, you don’t have to be a famous speaker, a renowned expert, or even at the top of the career ladder to be a good mentor—you just have to be able to articulate what what got you where you are today to someone who’s not there yet. If you are willing to do this authentically by being present, positive, patient, and productive, you can be a great mentor today.
AI+硬件+软件，这是 Google 为智能硬件定下的发展方向。在可见的未来内，印有「Made by Google」的产品将在多个领域和竞争对手展开厮杀。