FEX 技术周刊 - 2019/04/01
业界大会
中国第五届CSS大会
https://css.w3ctech.com/
期待会议资料。
深阅读
Responsible JavaScript: Part I
https://alistapart.com/article/responsible-javascript-part-1
By the numbers, JavaScript is a performance liability. If the trend persists, the median page will be shipping at least 400 KB of it before too long, and that’s merely what’s transferred. Like other text-based resources, JavaScript is almost always served compressed—but that might be the only thing we’re getting consistently right in its delivery.
Blazingly fast parsing, part 1: optimizing the scanner
https://v8.dev/blog/scanner
To run a JavaScript program, the source text needs to be processed so V8 can understand it. V8 starts out by parsing the source into an abstract syntax tree (AST), a set of objects that represent the program structure. That AST gets compiled to bytecode by Ignition. The performance of these parse + compile phases is important: V8 cannot run code before compilation is done. In this series of blog posts, we focus on parsing, and the work done in V8 to ship a blazingly fast parser.
A Future Without Webpack
https://www.pikapkg.com/blog/pika-web-a-future-without-webpack
How @pika/web installs npm packages that run natively in the browser, for a faster and less complex web app.
The Future of Cross-Platform is Native
https://hackernoon.com/the-future-of-cross-platform-is-native-13cc66bf1c00
This is the 2nd post in a 2 post series. Post 1: “Cross-Platform? We Don’t Say That Around Here Anymore”. 另附:NativeScript 5.3.
百度App网络深度优化:DNS 和连接优化
https://mp.weixin.qq.com/s?__biz=MzUxMzcxMzE5Ng==&mid=2247490822&idx=1&sn=8610ca7454655d59d948afb952003750
网络优化是客户端几大技术方向中公认的一个深度领域,百度 App 也不例外,今天,我们在这里向大家介绍百度 App 网络深度优化的实践经验,内容主要包括 DNS 优化和连接优化,希望对大家在网络方向的学习和实践有所帮助。另附:腾讯对抗腾讯、阿里巴巴重磅发布120页PPT,深度诠释国家“智能+”战略。
腾讯 - 产业互联网 ——构建智能+时代数字生态新图景
http://tisi.org/5072
随着云计算等企业级技术应用的发展普及,产业互联网实际已经在各行各业展开实践。广度上不仅覆盖服务业、工业和农业,还从商业扩展到公益和政府,整个社会走向全面互联;深度上从营销服务、生产研发到运营管理,互联渗透到组织内部的各个环节。数据信息由此实现从消费端到供给端的高效流通,数字产业与传统产业相互协同带动,推助中国经济迈向高质量发展新阶段。
中国互联网公司开源项目调查报告
https://mp.weixin.qq.com/s?__biz=MjM5MDE0Mjc4MA==&mid=2651014704&idx=1&sn=6620ef984165b918a1e239ab67624732
近年来,开源技术得到越来越多的重视,微软收购 GitHub、IBM 收购红帽,都表明了开源的价值。国内公司也越来越多的参与开源,加入开源基金会 / 贡献开源项目。但是,它们到底做得如何呢?为此 InfoQ 统计了国内在 GitHub 上较活跃的 7 家一线互联网公司的 50 多个账号的 2800 多个项目,为大家呈现一部分答案。
计算广告系统算法与架构综述
https://mp.weixin.qq.com/s?__biz=MjM5ODkzMzMwMQ==&mid=2650409451&idx=1&sn=38c225b5d084558a09240ba2cffd0570
我们当今身处一个被广告包围的时代,无论是走在马路上、收看电视剧、或者是玩手机游戏,都能看见形形色色的广告。作为IT从业者,自然想对广告产业背后的产品、技术一探究竟,正如刘鹏博士在其《计算广告》一书中所说的“不论你在做一款用户产品还是商业产品,不深入了解在线 广告,就不太可能全面地了解互联网业务”,因此本文也希望能带领读者从产品、技术以及整个生态的角度深入浅出的了解计算广告。
配置化页面渲染系统设计和实践
https://mp.weixin.qq.com/s/nwC7-ATCCUBS11Gb7FtbgA
随着大数据、监控系统、分析系统等概念逐渐在各大小公司中普及后,开发一个前端系统以展示和控制的需求则变得十分常见,所以我们也不例外。在开始着手开发之前,事实上我们已经考察甚至长时间使用过一些不同类型的类似系统,如监控报表系统 Grafana、数据分析系统 Zeppline、Metabase、Superset 等等。我们不难发现这些的设计思路都有一个共同的特点:卡片式页面结构。
Building Spotify’s New Web Player
https://labs.spotify.com/2019/03/25/building-spotifys-new-web-player/
The purpose of this post is to tell the story of the new Spotify web player. How and why it came to be. We will focus on what the steps were that led to a complete rewrite and how the lessons learned influenced the experience and the tech decisions of the new web player for desktop browsers.
How To Align Things In CSS
https://www.smashingmagazine.com/2019/03/css-alignment/
There are a few ways to align elements in CSS. In this article, Rachel Andrew explains what they are with some tips to help you remember which to use and why.
CSS Houdini Could Change the Way We Write and Manage CSS
https://css-tricks.com/css-houdini-could-change-the-way-we-write-and-manage-css/
One way I’ve been able to do that is to use it as a way to avoid reinventing the wheel. We’ll go over that in this post while comparing it with methods we currently use in JavaScript and CSS.
how YOU visualized it
http://www.storytellingwithdata.com/blog/2019/3/25/how-you-visualized-this
We sought to see how people varied in answering specific questions about the same dataset. Data was sourced from AidData in partnership with Enrico Bertini, Associate Professor at NYU, who will be undertaking some data visualization research based on this challenge.
Visualizing memorization in RNNs
https://distill.pub/2019/memorization-in-rnns/
This article presents a qualitative visualization method for comparing recurrent units with regards to memorization and contextual understanding. The method is applied to the three recurrent units mentioned above: Nested LSTMs, LSTMs, and GRUs.
Was MongoDB Ever the Right Choice?
https://www.simplethread.com/was-mongodb-ever-the-right-choice/
MongoDB has become a much more mature product. So what happened? Did all of the hate truly come from mistakes made in the early implementation/marketing of MongoDB? Or is the problem that people are blaming MongoDB for their own lack of efforts when evaluating if it was a good fit?
How Heroku Expects the Unexpectable
https://blog.heroku.com/bug-bounties-black-swans
There’s obviously more to security than humans, technology, and vendors with all of their implementations and expertise. At Heroku we believe that security is a byproduct of excellence in engineering. All too often, software is written solely with the happy path in mind, and security assurances of that software has it’s own dangerous assumptions. A mature security program should challenge assumptions of security controls, move to testing continuous, and prepare for the unexpectable.
Building and Scaling Data Lineage at Netflix to Improve Data Infrastructure Reliability, and Efficiency
https://medium.com/netflix-techblog/building-and-scaling-data-lineage-at-netflix-to-improve-data-infrastructure-reliability-and-1a52526a7977
In the rest of this blog, we will a) touch on the complexity of Netflix cloud landscape, b) discuss lineage design goals, ingestion architecture and the corresponding data model, c) share the challenges we faced and the learnings we picked up along the way, and d) close it out with “what’s next” on this journey.
White Paper: The Journey to DevOps
https://blog.scottlogic.com/2019/03/25/the-journey-to-devops.html
DevOps methodology is currently at the peak of its popularity. Despite this popularity, DevOps adoption is still a challenging undertaking, especially when the unique challenges of public sector organisations are taken into account.
Go - A Key Language in Enterprise Application Development?
https://www.infoq.com/presentations/go-lang-design
Aarti Parikh goes over the Go language design and talks about why Go matters in the age of multicores and cloud-native computing.
on internal engineering practices at amazon
https://jatins.gitlab.io/me/amazon-internal-tools/
A company that’s innovating how rest of the companies work, doesn’t innovate internally.
The Illustrated Word2vec
https://jalammar.github.io/illustrated-word2vec/
In this post, we’ll go over the concept of embedding, and the mechanics of generating embeddings with word2vec. But let’s start with an example to get familiar with using vectors to represent things. Did you know that a list of five numbers (a vector) can represent so much about your personality?
新鲜货
React v16.8.5
https://github.com/facebook/react/releases/tag/v16.8.5
另附:React - v7.0.0 beta.
Standardizing WASI: A system interface to run WebAssembly outside the web
https://hacks.mozilla.org/2019/03/standardizing-wasi-a-webassembly-system-interface/
We announce the start of a new standardization effort — WASI, the WebAssembly system interface. 另附:Announcing Lucet: Fastly’s native WebAssembly compiler and runtime.
Introducing the JetStream 2 Benchmark Suite
https://webkit.org/blog/8685/introducing-the-jetstream-2-benchmark-suite/
JetStream 2 combines a variety of JavaScript and WebAssembly benchmarks, covering an array of advanced workloads and programming techniques, and reports a single score that balances them using a geometric mean. JetStream 2 rewards browsers that start up quickly, execute code quickly, and run smoothly. Optimizing the overall performance of our JavaScript engine has always been a high priority for the WebKit team.
996.icu
https://github.com/996icu/996.ICU
https://996.icu/#/zh_CN
https://www.zhihu.com/topic/20064332/hot
https://mp.weixin.qq.com/s?__biz=MzA4MzE1MzQ3MA==&mid=2450141684&idx=1&sn=2d71d1177e84d9d891e7973ebc7a42c0
然,人在江湖,身不由己…
Swift 5 Released!
https://swift.org/blog/swift-5-released/
Swift 5 is a major milestone in the evolution of the language.
Elasticsearch 6.7.0 released
https://www.elastic.co/blog/elasticsearch-6-7-0-released
CCR (Cross Cluster Replication) is now GA! SQL, including JDBC and ODBC drivers, is now GA! ILM (Index Lifecycle Management) is now GA!
Computer Networks: A Systems Approach
https://book.systemsapproach.org/
This site contains source text for Computer Networks: A Systems Approach, now available under terms of the Creative Commons (CC BY 4.0) license.
Untrusted
https://alexnisnevich.github.io/untrusted/
A user javascript adventure game.
Lucet
https://github.com/fastly/lucet
Lucet is a native WebAssembly compiler and runtime. It is designed to safely execute untrusted WebAssembly programs inside your application.
Majestic
https://github.com/Raathigesh/majestic/
Zero config GUI for Jest.
Tone.js
https://github.com/Tonejs/Tone.js
A Web Audio framework for making interactive music in the browser.
Cube.js
https://github.com/statsbotco/cube.js
Cube.js is an open source modular framework to build analytical web applications. It is primarily used to build internal business intelligence tools or to add customer-facing analytics to an existing application.
Vibe – React Dashboard Kit
https://vibe.nicedash.com/
Vibe is a beautiful React.js dashboard build with Bootstrap 4 and comes with lots of custom templates and components. It uses Sass which allows you to quickly change global colors and styles.
CSSeffectsSnippets
https://github.com/emilkowalski/css-effects-snippets
A collection of CSS effects made with Vue.js. 另附:Useful Vue Admin Templates for 2019.
Cross platform GUI in Go based on Material Design
https://github.com/fyne-io/fyne
Fyne is an easy to use UI toolkit and app API written in Go. We use OpenGL (through the go-gl and go-glfw projects) to provide cross platform graphics. The 1.0 release is now out and we encourage feedback and requests for the next major release :).
Sonic
https://github.com/valeriansaliou/sonic
Sonic is a fast, lightweight and schema-less search backend. It ingests search texts and identifier tuples that can then be queried against in a microsecond’s time. Sonic can be used as a simple alternative to super-heavy and full-featured search backends such as Elasticsearch in some use-cases. It is capable of normalizing natural language search queries, auto-completing a search query and providing the most relevant results for a query. Sonic is an identifier index, rather than a document index; when queried, it returns IDs that can then be used to refer to the matched documents in an external database.
设计
Editable, royalty-free SVG illustrations
https://gallery.manypixels.co/
Discover royalty-free illustrations to power up your projects. Use them in a commercial or non-commercial way for your landing pages, blog posts, email newsletters, social media graphics and more!
Yes, AI Will Replace Designers
https://medium.com/microsoft-design/yes-ai-will-replace-designers-9d90c6e34502
But here are 3 ways we can work with AI for future success.
Exploring the Reasons for Design Thinking Criticism
https://www.toptal.com/designers/product-design/design-thinking-criticism
Design thinking has been called revolutionary, a “failed experiment,” and a set of buzzwords. While contradictory, these statements shed light on the increasing criticism of design thinking.
放置类AR体验框架和设计建议 (上篇)
http://aiid.baidu.com/1060/
AR的场景多种多样,其中在手机设备的AR体验中,有一种基本且常见的场景:通过手机摄像头,用户在环境中放置虚拟物体(模型),用户与它有一些具体的互动操作,如移动、旋转等。我们将这类场景统一称为放置类AR场景:基放置对象可以是一扇虚拟场景的任意门,用户可走入门中互动;也可以是一件家居商品,用户可预览商品是否与室内环境搭配等。针对不同的放置对象和场景,设计侧重点也会有所不同。
于真实环境放置虚拟模型,并与模型进行交互的AR场景。
产品及其它
Mathigon
https://mathigon.org/
Mathigon is part interactive textbook and part virtual personal tutor. Using cutting-edge technology and an innovative new curriculum, we want to make learning mathematics more active, personalised and fun. Our innovative new content format makes mathematics more interactive than ever before. At every step students have to actively participate, explore, and discover new ideas. Unlike videos and other textbooks, students don’t just consume information: they engage through problem solving, reasoning and creativity.
81岁自学编程,半年时间开发上架一款APP
https://new.qq.com/omn/20190327/20190327A0L7MH.html
60 岁开始自学计算机,81 岁开始自学 Swift,83 岁高龄成为全球年龄最大的独立开发者,仅用半年时间就成功开发并上线了一款 iOS 应用,这位名叫若宫雅子的 83 岁高龄开发者的故事告诉我们:年龄从来都不是问题。
如果员工是老油条,那他的老板也是
https://mp.weixin.qq.com/s?__biz=MzU2NzA3NDE3Mw==&mid=2247484027&idx=1&sn=6a8209d998bacde5fd45a9ad0230ec63
每个公司的愿景和使命都很重要,在我眼里最重要的还是公司的价值观和文化。很多人认为文化是非常虚的东西,没有什么必要,但我认为这完全是错的。公司的愿景和使命会一直变化,但是公司的文化和价值观从成立的第一天就要定下来一直不变,要天天讲、月月讲,重复强调、一直秉承下去。
张小龙:笨是一种人品
https://mp.weixin.qq.com/s?__biz=MzU1MzQ0MzA2Mw==&mid=2247483756&idx=1&sn=684ae544d7c62d0df10662d831f26d18
很多时候,笨并不是智力不及,而是选择不运用智力——如果你懂这句话,就知道:笨是一种人品。
– THE END –