FEX 技术周刊 - 2019/11/04
Introducing Concurrent Mode (Experimental)
This page describes experimental features that are not yet available in a stable release. Don’t rely on experimental builds of React in production apps. These features may change significantly and without a warning before they become a part of React. This documentation is aimed at early adopters and people who are curious. If you’re new to React, don’t worry about these features — you don’t need to learn them right now. 另附：Why Is React Concurrent Mode Exciting?.
玉伯 - 我的前端成长之路
加入阿里的 11 年里，会不断回顾自己，特别是在这次接到前端大学的分享邀请后。想这 11 年里，对自己的成长来说，最关键的是什么。我自己总结是三个关键词：全情投入、守正出奇、愿等花开 今天跟大家分享下个人成长和带团队的一些感悟。我可能更偏向于写作型或阅读型，很少在对外分享中讲关于成长的话题。今天尝试下，希望能对大家有所帮助。
现代 Web 开发的现状与未来
JS 能在最近十多年里爆炸式发展到今天的程度，主要原因之一就是它建立在 Open Web 技术之上，这种技术是全行业在平台技术上最大最主要的交集和共识，JS 作为 Web 的原生语言，能力是跟 Web 本身一起不断发展的，而在 JS 生态的影响下，Web 本身和 Web 开发也都已经跟过去非常不同。我想通过几个主题来说明，如果把 Modern Web —— 也就是『现代 Web 开发』，而非『传统 Web 开发』——看作一种独立的技术范式和专业领域，它的现状是怎样的，有哪些重要趋势，未来会怎样，希望对大家有帮助。
小程序是近两年兴起的最热门的技术之一了，但不同于 H5 在工程化方面的成熟，小程序在工程化方面的探讨并不多。京东社交电商前端团队是最早的那一批小程序开发人员，有多早呢，我想可以用内测玩家这个词来形容。两年多以来，我们在工程化方面做了很多积累：包括规范化、组件化、工具化、自动化测试、持续集成系统等，接下来为大家一一揭晓。
现如今大部分互联网团队都是走 敏捷开发 的节奏。实际上，自动化测试才是实现“敏捷”的基本保障。业务端的快速上线和快速验证对技术侧的响应力提出了更高的要求：更快上线，持续上线。再考虑到人员流动和应用逐步变大的事实，日后迭代的成本只会变得越来越高。当然这个项目迭代的成本也跟项目的复杂度有关，比如笔者所在的点餐业务，项目有足够的复杂性，有些细微的改动点其实会牵扯到很多内容，而对刚加入团队的新人就会显得不太友好。因此，项目拥有前端测试是必不可少的，它能够有效保障业务迭代的质量和稳定性。
2019年，你是否可以抛弃 CSS 预处理器？
许多前端开发人员依然觉得 CSS 预处理器属于比较新的技术，其实不然，最早的 CSS 预处理器 Sass 从 07 年诞生距今已有 12 年，相对较新的的 Stylus 也已发布 9 年了。前端的技术栈发展突飞猛进，W3C 的 CSS 工作组也一直在持续从社区汲取营养，加快 CSS 的迭代。那么到现在为止，CSS 是否可以取代 CSS 预处理器的地位？CSS 预处理器会不会成为 CSS 过渡时期的产物呢？
UNIX 50 年：KEN THOMPSON 的密码
今年，我一直想写篇Unix 50周年纪念的文章，但一直无从下手，因为不想写过大的命题，如果能写个轶事最好不过。正好过完国庆节，技术圈里有个“热搜”——Ken Thompson的密码。但一直没有时间，所以拖到今天才写下来。正文开始，2014年，有个叫Leah Neukirchen的程序员（blog）在 BSD 3 的源代码中的 /etc/passwd 看到了早年Unix黑客们的被 hash了的密码，该文件如下所示。
Making instagram.com faster: Code size and execution optimizations
What’s the Difference Between a Framework and Library?
What’s the difference between a framework and library? I’ve had this discussion with developers at work and meetups, and the core idea boils down to this.
I tested a React app with Jest, Enzyme, Testing Library and Cypress. Here are the differences
Finally, a side-by-side code comparison between three of the most popular testing tools for React. Watch as we attempt to write the exact same tests with Jest, Testing Library, and Cypress.
Text Editing Hates You Too
Alexis Beingessner’s Text Rendering Hates You, published exactly a month ago today, hits very close to my heart. Back in 2017, I was building a rich text editor in the browser. Unsatisfied with existing libraries that used ContentEditable, I thought to myself “hey, I’ll just reimplement text selection myself! How difficult could it possibly be?” I was young. Naive. I estimated it would take two weeks. In reality, attempting to solve this problem would consume several years of my life, and even landed me a full time job for a year implementing text editing for a new operating system.
“Create Once, Publish Everywhere” With WordPress
The term COPE (“Create Once, Publish Everywhere”) is a methodology for publishing our content to different outputs (website, AMP site, email, apps, and so on) by having a single source of truth for all of them. Let’s explore how to implement COPE using WordPress.
Don’t wait for Functionless. Write less Functions instead
We live in a world where everyone wants more share of material things such as money, wealth, power, etc., but for some strange reason when it comes to technology we all try very hard to make less more appealing, which is definitely a good thing. And I do hope we all agree that we should become increasingly aware of reducing complexity in serverless. After all, something simple is better than something complicated. Go Build Server-less-Functions!
Building a Native GraphQL Database: Challenges, Learnings and Future
Most people who don’t know GraphQL assume it’s a graph database query language. Most people who know GraphQL wonder how a graph database is being powered by it. Our focus at Dgraph has always been on helping you build apps using an amazingly advanced graph database. And that extends to making sure Dgraph has a great development experience for modern developers. Other graph databases choose Gremlin, Cypher or write something custom inspired by SQL for their query language. We went a slightly different route in Dgraph, aiming to build a query language that modern developers would find useful and intuitive.
Microsoft Access: The Database Software That Won’t Die
Access was the first mass-market database program for Windows and it’s become core to the business processes in hundreds of thousands of companies. We rarely cover it here, but it remains an important part of the database space. The Access audience is a special crowd that’s rarely targeted these days: technical people who aren’t serious coders. They may know their way around an Office macro, but they don’t have a formal programming background. Not so long ago, we called this kind of a person a “power user.”
A beginner’s guide to database deadlock
In this article, we are going to see how a deadlock can occur in a relational database system, and how Oracle, SQL Server, PostgreSQL, or MySQL recover from a deadlock situation.
An Illustrated Guide to Some Useful Command Line Tools
This post is a living document and will be updated over time. It should be obvious that I have a strong preference for fast tools without a large runtime dependency like Python or node.js. Most of these tools are portable to *BSD, Linux, macOS. Many also work on Windows. For OSes that ship up to date software many are available via the system package repository. 另附：The Lines of Code That Changed Everything.
My Most Embarrassing Mistakes as a Programmer (so far)
I agree with the saying: “If you’re not embarrassed by your old code then you aren’t progressing as a programmer.” I began programming recreationally more than 40 years ago and professionally more than 30 years ago, so I have made a lot of mistakes. As a computer science professor, I encourage students to learn from mistakes, whether their own, mine, or famous examples. I feel it’s time to shine a light on my own mistakes to keep myself humble and in the hope that someone can learn from them.
As the internet turns 50, we must protect it as a force for good
On October 29, 1969, the internet era began as UCLA Computer Science Professor Len Kleinrock sent the first message on ARPANET, a network of computers that would evolve to become the internet. Five decades later, and 30 years since the World Wide Web brought the internet into the mainstream, global digital connectivity has fundamentally changed our world.
Highlights from GOTO Berlin 2019
GOTO Berlin 2019 was our biggest and best conference yet! We’re still processing all the new ideas we discovered and connections we made with our 973 attendees, 71 speakers, 18 partners and 19 CREW members, and we hope you’ll join us to do it all again in 2020. Until then, here are the quotes, tweets, videos and pictures that stood out throughout the week.
Thirteen spooktacular games to play, hack, and slash this Halloween
We’re covering 13 games with ghosts, ghouls, demons, daemons, witches, worms, and a myriad of monsters from jams like CGAJam, Global Game Jam, JS13K, LowResJam, and Ludum Dare. Play them alone in the dark, or fork them and make some tweaks to the source to give yourself an advantage. We’ve provided a few cheat codes to get you started.
Thank you, Guido
After six and a half years, Guido van Rossum, the creator of Python, is leaving Dropbox and heading into retirement. From the beginning, we knew Guido would be a great addition to our company. In fact, his contributions to Dropbox date back to day one. Our CEO Drew Houston’s very first lines of code for Dropbox were written in Python.
The Lines of Code That Changed Everything
Apollo 11, the JPEG, the first pop-up ad, and 33 other bits of software that have transformed our world.
Creating data grids in WYSIWYG editor - CKEditor 4 Spreadsheets released
We are happy to announce the release of CKEditor 4 Spreadsheets that offer Excel-like functionality right inside the WYSIWYG editor. The new Spreadsheet plugin allows you to create intelligent, data-driven documents directly in CKEditor 4. This makes it a perfect solution for financial, auditing, engineering, technical and science industries.
SWR - React Hooks for Remote Data Fetching
SWR is a React Hooks library for remote data fetching. The name “SWR” is derived from stale-while-revalidate, a HTTP cache invalidation strategy popularized by RFC 5861. SWR first returns the data from cache (stale), then sends the fetch request (revalidate), and finally comes with the up-to-date data again.
Lightweight scroll animation library
Formik is a popular helper library for working with forms in React apps. Version 2 is now out (2.0.3 to be specific) and it’s now built on top of hooks.
Beautiful and accessible drag and drop for lists with React.
A collection of bad practices in HTML, copied from real websites.
Amundsen is a metadata driven application for improving the productivity of data analysts, data scientists and engineers when interacting with data. It does that today by indexing data resources (tables, dashboards, streams, etc.) and powering a page-rank style search based on usage patterns (e.g. highly queried tables show up earlier than less queried tables).
User Interfaces (UI) will enable fabricated experiences to go from intuitive to native and will transcend efficiency as we know it. This article reviews how emerging input & output technologies will enable next-gen UI and what their impact will be on a human level.
Using Thoughtful Design to Fight Bullying on Instagram
We may not be able to stop online bullying altogether, but we’re committed to learning how we can best support people through difficult experiences. We’re taking a stand against bullying, and empowering our community with the tools they need to do the same.
The Evolution of Material Design’s Text Fields
How user research reshaped the design of Google’s open-source text fields.
The Power of Touch – The Evolution of Button Design (with Infographic)
Today, buttons are interaction celebrities. Product teams agonize over every state, label, color, and rounded corner. Well-considered buttons aid navigation, boost conversion, and improve the user experience. Buttons are the darlings of the design world, but it wasn’t always so.
Designing for Dark Mode: More Than Flipping a Switch
5 things the Outlook mobile team learned about scaling dark mode design.
Speaking Truth to Power: Reflections on My Career at Microsoft
Former Microsoft engineer James Whittaker talks about how CEO Satya Nadella can fix the deeply flawed company.
What Most Remote Companies Don’t Tell You About Remote Work
Isolation, anxiety, and depression in the remote workplace and what we’re doing about it. 另附：The parallels between all-remote and cloud computing.
对数据可视化有兴趣的可以阅读由 AntV 带来的 墨者修齐 2019-11-04·Model 3 Survey 可视化、图解机器学习、食物的节奏、图布局
– THE END –