FEX 技术周刊 - 2019/11/04
深阅读
Introducing Concurrent Mode (Experimental)
https://reactjs.org/docs/concurrent-mode-intro.html
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?.
玉伯 - 我的前端成长之路
https://www.yuque.com/yubo/morning/grow-up-at-alibaba
加入阿里的 11 年里,会不断回顾自己,特别是在这次接到前端大学的分享邀请后。想这 11 年里,对自己的成长来说,最关键的是什么。我自己总结是三个关键词:全情投入、守正出奇、愿等花开
今天跟大家分享下个人成长和带团队的一些感悟。我可能更偏向于写作型或阅读型,很少在对外分享中讲关于成长的话题。今天尝试下,希望能对大家有所帮助。
现代 Web 开发的现状与未来
https://zhuanlan.zhihu.com/p/88616149
JS 能在最近十多年里爆炸式发展到今天的程度,主要原因之一就是它建立在 Open Web 技术之上,这种技术是全行业在平台技术上最大最主要的交集和共识,JS 作为 Web 的原生语言,能力是跟 Web 本身一起不断发展的,而在 JS 生态的影响下,Web 本身和 Web 开发也都已经跟过去非常不同。我想通过几个主题来说明,如果把 Modern Web —— 也就是『现代 Web 开发』,而非『传统 Web 开发』——看作一种独立的技术范式和专业领域,它的现状是怎样的,有哪些重要趋势,未来会怎样,希望对大家有帮助。
小程序工程化探索
https://mp.weixin.qq.com/s/_NSJTQ-4-8gTnwTVK-tn0A
小程序是近两年兴起的最热门的技术之一了,但不同于 H5 在工程化方面的成熟,小程序在工程化方面的探讨并不多。京东社交电商前端团队是最早的那一批小程序开发人员,有多早呢,我想可以用内测玩家这个词来形容。两年多以来,我们在工程化方面做了很多积累:包括规范化、组件化、工具化、自动化测试、持续集成系统等,接下来为大家一一揭晓。
万字长文总结前端测试体系建设与最佳实践
https://mp.weixin.qq.com/s?__biz=MzI5MjYyODYyNQ==&mid=2247483987&idx=1&sn=132aea5d5185a1e4fa2fab5037a2fb3e
现如今大部分互联网团队都是走 敏捷开发 的节奏。实际上,自动化测试才是实现“敏捷”的基本保障。业务端的快速上线和快速验证对技术侧的响应力提出了更高的要求:更快上线,持续上线。再考虑到人员流动和应用逐步变大的事实,日后迭代的成本只会变得越来越高。当然这个项目迭代的成本也跟项目的复杂度有关,比如笔者所在的点餐业务,项目有足够的复杂性,有些细微的改动点其实会牵扯到很多内容,而对刚加入团队的新人就会显得不太友好。因此,项目拥有前端测试是必不可少的,它能够有效保障业务迭代的质量和稳定性。
2019年,你是否可以抛弃 CSS 预处理器?
https://aotu.io/notes/2019/10/29/css-preprocessor/index.html
许多前端开发人员依然觉得 CSS 预处理器属于比较新的技术,其实不然,最早的 CSS 预处理器 Sass 从 07 年诞生距今已有 12 年,相对较新的的 Stylus 也已发布 9 年了。前端的技术栈发展突飞猛进,W3C 的 CSS 工作组也一直在持续从社区汲取营养,加快 CSS 的迭代。那么到现在为止,CSS 是否可以取代 CSS 预处理器的地位?CSS 预处理器会不会成为 CSS 过渡时期的产物呢?
UNIX 50 年:KEN THOMPSON 的密码
https://coolshell.cn/articles/19996.html
今年,我一直想写篇Unix 50周年纪念的文章,但一直无从下手,因为不想写过大的命题,如果能写个轶事最好不过。正好过完国庆节,技术圈里有个“热搜”——Ken Thompson的密码。但一直没有时间,所以拖到今天才写下来。正文开始,2014年,有个叫Leah Neukirchen的程序员(blog)在 BSD 3 的源代码中的 /etc/passwd 看到了早年Unix黑客们的被 hash了的密码,该文件如下所示。
Making instagram.com faster: Code size and execution optimizations
https://instagram-engineering.com/making-instagram-com-faster-code-size-and-execution-optimizations-part-4-57668be796a8
In parts 1–3 we covered various ways that we optimized the loading patterns of the critical path static resources and data queries. However there is another key area we haven’t covered yet that’s crucial to improving web application performance, particularly on low-end devices — ship less code to the user — in particular, ship less JavaScript.
What’s the Difference Between a Framework and Library?
https://www.freecodecamp.org/news/frameworks-vs-libraries/
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
https://medium.com/javascript-in-plain-english/i-tested-a-react-app-with-jest-testing-library-and-cypress-here-are-the-differences-3192eae03850
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
https://lord.io/blog/2019/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
https://www.smashingmagazine.com/2019/10/create-once-publish-everywhere-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
https://medium.com/lego-engineering/dont-wait-for-functionless-write-less-functions-instead-8f2c331cd651
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
https://blog.dgraph.io/post/building-native-graphql-database-dgraph/
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
https://medium.com/young-coder/microsoft-access-the-zombie-database-software-that-wont-die-5b09e389c166
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
https://vladmihalcea.com/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
https://www.wezm.net/technical/2019/10/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)
https://stackoverflow.blog/2019/10/29/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
https://webfoundation.org/2019/10/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.
另附:I Miss the Old Internet, 50 Years of The Internet. Work in Progress to a Better Internet、Tim Berners-Lee published a document called HTML - 1991 October 29th.
Highlights from GOTO Berlin 2019
https://blog.gotocon.com/2019/10/30/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
https://github.blog/2019-10-30-13-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
https://blog.dropbox.com/topics/company/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
https://slate.com/technology/2019/10/consequential-computer-code-software-history.html
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
https://ckeditor.com/blog/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
https://swr.now.sh/
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.
Sal.js
https://mciastek.github.io/sal/
Lightweight scroll animation library
Formik V2
https://github.com/jaredpalmer/formik/releases/tag/v2.0.1
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.
react-beautiful-dnd V12.0.0
https://github.com/atlassian/react-beautiful-dnd/releases/tag/v12.0.0
Beautiful and accessible drag and drop for lists with React.
HTMHell
https://www.htmhell.dev/
A collection of bad practices in HTML, copied from real websites.
Amundsen
https://github.com/lyft/amundsen
https://eng.lyft.com/open-sourcing-amundsen-a-data-discovery-and-metadata-platform-2282bb436234
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).
设计
Next-Gen (U)I
https://uxplanet.org/next-gen-u-i-501c1e2d489d
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
https://medium.com/facebook-design/using-thoughtful-design-to-fight-bullying-on-instagram-d7943d7cb721
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
https://medium.com/google-design/the-evolution-of-material-designs-text-fields-603688b3fe03
How user research reshaped the design of Google’s open-source text fields.
The Power of Touch – The Evolution of Button Design (with Infographic)
https://www.toptal.com/designers/ui/button-design
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
https://medium.com/microsoft-design/designing-for-dark-mode-more-than-flipping-a-switch-c21fb38722d2
5 things the Outlook mobile team learned about scaling dark mode design.
产品及其它
Speaking Truth to Power: Reflections on My Career at Microsoft
https://onezero.medium.com/speaking-truth-to-power-reflections-on-a-career-at-microsoft-90f80a449e36
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
https://doist.com/blog/mental-health-and-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.
2019腾讯00后研究报告
https://cdc.tencent.com/2019/11/01/2019%e8%85%be%e8%ae%af00%e5%90%8e%e7%a0%94%e7%a9%b6%e6%8a%a5%e5%91%8a/
来到2019年,00后集体进入了青春期,也将陆续经历他们的成人礼。正如惊讶于第一批90后即将步入30岁,在去年,我们也突然发现00后已开始年满18。作为逐渐拥有话语权的新世代,他们成为了社会和各行业重点关注与深入分析的对象。腾讯广告TMI腾讯营销洞察携腾讯用户研究与体验设计部(CDC),于2018年发布了第一期00后研究报告,其中分享了对00后六大价值观的洞察。今年的研究,试图对00后的价值观做一次深入的基础性研究。调研团队走访9个城市、60所中小学校,深度访谈97位00后学生和家长,收集超过2.6万份调查问卷,基于Schwartz理论分析00后的价值观结构,一探00后学习、家庭、消费和追星的秘密,为你带来一份全面、普适和严谨的00后研究报告。
全球十佳「RPA+AI」创新企业榜正式揭晓
https://mp.weixin.qq.com/s/3B-l3xcjuWVRKzgrDdylVw
RPA+AI=?有人说这是RPA的枯木又逢春,有人说这是AI的最实用落地。不可否认的是,它一定会是科技行业下一个五年里,最不可或缺的商业影响因子。RPA和AI正以前所未有的程度紧密结合,迅速渗透到金融、制造业、物流业等所有行业,所有企业尚未实现数字化、智能化转型的工作场景里,为大众揭开人工智能在B端输出的又一条广阔赛道。同时,RPA也因着无限的包容性和看似不高的技术门槛,吸引了无数技术开发者和创业公司杀入这片蓝海。
80后“接管世界”
https://mp.weixin.qq.com/s?__biz=MjM5NzAwMzU0MA==&mid=2247503644&idx=1&sn=77047ea20036b3310cef658154aac66f
一个无可争议的事实是,80后正在“接管”互联网世界。在十年前的那篇文章结尾,魏武挥曾写下对十年后的预测,“一个文明的重大转折,总是由最艰难的那一代完成的”。而这一切,是否真的一语成谶?
对数据可视化有兴趣的可以阅读由 AntV 带来的 墨者修齐 2019-11-04·Model 3 Survey 可视化、图解机器学习、食物的节奏、图布局
– THE END –