2018.02.12
Ping Xia
Title: 2018.02.12
Deep Reading
Why Developers Love Node.js & what's their main issue with it? https://blog.risingstack.com/why-developers-love-node-js-2018-survey/ Fast development, great performance, and the ease of use make Node.js a favorite. Node.js is mainly used for building APIs, back‑ends/servers, and web apps. Most Node.js developers encounter performance and security problems in production. Security is the most under‑explained topic for Node.js developers.
An Overview of JavaScript Testing in 2018 https://medium.com/welldone-software/an-overview-of-javascript-testing-in-2018-f68950900bc3 TL;DR: Use Jest for unit and integration tests and TestCafe for UI tests.
JavaScript’s a mess – and that’s a good thing http://2ality.com/2018/02/js-backward-compatibility.html JavaScript never removes old features—new versions are always backward compatible. I wish we could clean it up, but staying compatible has many benefits, as I’ll explain in this blog post.
Vue in 2018 — Interview with Evan You, author of the Vue.js framework https://blog.hackages.io/https-blog-hackages-io-evanyoubhack2017-cc5559806157 Will it continue its impressive rise to the top in 2018? Is Vue going to overtake React and Angular? Wondering whether you should switch to Vue.js?
Workers at Your Service https://webkit.org/blog/8090/workers-at-your-service/ Also see: Release Notes for Safari Technology Preview 49
Modern CSS Explained For Dinosaurs https://medium.com/actualize-network/modern-css-explained-for-dinosaurs-5226febe3525 The goal of this article is to provide a historical context of how CSS approaches and tooling have evolved to what they are today in 2018. By understanding this history, it becomes easier to grasp each approach and use it to your advantage. Let’s get started! Also see: Using Media Queries For Responsive Design In 2018
Various Ways to Make Jianbing Guozi — From Sequential to Reactive https://mp.weixin.qq.com/s?__biz=MzAxNDEwNjk5OQ==&mid=2650401119&idx=1&sn=47867810ce1ccfe2a7637d5805954f90 Using the Chinese street food jianbing guozi as an example, this piece shows how programming models evolve step by step from traditional methods to reactive ones. With a reactive approach we can easily orchestrate services; once we have service orchestration we can do far more. Services become smarter rather than static, improving customer experience and resource utilization while reducing waste.
Exploring Mobile Web Performance Optimization at YouHuo https://mp.weixin.qq.com/s?__biz=MzIwNjQwMzUwMQ==&mid=2247485780&idx=1&sn=849fb035a0ed4d9b94e00210b72d24f7 In the mobile‑internet era, user experience on the mobile side is crucial for any website. Modern web design and development adopt a mobile‑first principle, and we have performed specific optimizations for mobile web sites. Page load speed and smoothness are vital for keeping users engaged. Through a series of techniques we made our mobile site load quickly, display content promptly, and allow users to browse smoothly.
[Translation] Nearly 20 Years in the Field: Some Thoughts on Software Architecture https://mp.weixin.qq.com/s?__biz=MzIwMzg1ODcwMw==&mid=2247487435&idx=1&sn=e44deef950d293de5a511c5dca13a8b1 Between over‑design and no design, we should focus our attention on decisions and trade‑offs that have a major impact on the software system. A good architect should be an active team member who not only collaborates on code but also provides technical guidance. Communication in software architecture is highly challenging. The C4 model structures this communication, starting with a context diagram and then drilling down into each technical layer of the system. In practice, spending extra time to create a solid architecture pays off with greater agility.
In web design, everything easy is hard again https://frankchimero.com/writing/everything-easy-is-hard-again/ We enjoyed the work, but were utterly confused and overwhelmed by the rapidly increasing complexity of it all. What the hell happened?
My Accessibility Journey: What I’ve Learned So Far http://alistapart.com/article/my-accessibility-journey-what-ive-learned-so-far Making accessible sites forces you to engage with all of these variables—and pushes you, in the process, to do a great job as a developer. For me, making accessible sites means making fast, resilient sites with great UX that are fun and easy to use even in conditions that aren’t ideal.
Designing Windows 95’s User Interface https://socket3.wordpress.com/2018/02/03/designing-windows-95s-user-interface/ The development of the user interface for a large commercial software product like Microsoft® Windows 95 involves many people, broad design goals, and an aggressive work schedule. This design briefing describes how the usability‑engineering principles of iterative design and problem tracking were successfully applied to make UI development more manageable. Specific design problems and their solutions are also discussed.
Automatic visual diffing with Puppeteer https://meowni.ca/posts/2017-puppeteer-tests/ I put together a little script that launches Puppeteer*, takes screenshots of your app (all the routes you care about), and then compares them to the “golden” ones. If they match, the test passes! Yes, it only works on Chrome.
The Kubernetes Effect https://www.infoq.com/articles/kubernetes-effect Designing for, implementing, and running applications on Kubernetes gives you the freedom to move your applications between different cloud providers, Kubernetes distributions, and service providers. It lets you find Kubernetes‑certified developers to kick off a project and support staff to keep it running afterward. It is not the VM, it is not the JVM; it is Kubernetes that becomes the new application‑portability layer. It is the common denominator among everything and everybody. Also see: teacher Ruan Yifeng’s Docker Introductory Tutorial.
Language Framework Popularity: A Look at Go https://redmonk.com/fryan/2018/02/07/language-framework-popularity-a-look-at-go/ Gin and Beego dominate the Go web‑application framework scene; go‑kit and micro are the most popular micro‑services toolkits. Dependence on single contributors is a concern for several frameworks.
Migrating to Python 3 with Pleasure https://github.com/arogozhnikov/python3_with_pleasure The Python ecosystem co‑exists in Python 2 and Python 3, and Python 2 is still used among data scientists. By the end of 2019 the scientific stack will stop supporting Python 2. As for NumPy, after 2018 any new feature releases will only support Python 3. To make the transition less frustrating, I’ve collected a bunch of Python 3 features that you may find useful.
The Best UX Is No User Interface at All https://css-tricks.com/best-ux-no-user-interface/ But as a user, one thought has been recurring for me during the past few years: the best user experience is really no user interface at all. Even a perfect UI would be less than ideal. The ideal is to have no middleman at all. No translation layer. Historically, this hasn’t been possible because we couldn’t “talk” to computers. Until now. Natural‑language processing (NLP) is the field of computing that deals with language interaction between humans and machines.
AVA: The Art and Science of Image Discovery at Netflix [https://medium.com/netflix-techblog/ava-the-art-and-science-of-image-disco
(content truncated)
Originally written by Ping Xia (平侠) and published in Chinese on Web技术周刊 (Web Tech Weekly). Translated and adapted for DriftSeas with permission.
Sources & References
- [1]https://blog.risingstack.com/why-developers-love-node-js-2018-survey/
- [2]https://medium.com/welldone-software/an-overview-of-javascript-testing-in-2018-f68950900bc3
- [3]http://2ality.com/2018/02/js-backward-compatibility.html
- [4]https://blog.hackages.io/https-blog-hackages-io-evanyoubhack2017-cc5559806157
- [5]https://webkit.org/blog/8090/workers-at-your-service/
- [6]Release Notes for Safari Technology Preview 49
- [7]https://medium.com/actualize-network/modern-css-explained-for-dinosaurs-5226febe3525
- [8]Using Media Queries For Responsive Design In 2018
- [9]https://mp.weixin.qq.com/s?__biz=MzAxNDEwNjk5OQ==&mid=2650401119&idx=1&sn=47867810ce1ccfe2a7637d5805954f90
- [10]https://mp.weixin.qq.com/s?__biz=MzIwNjQwMzUwMQ==&mid=2247485780&idx=1&sn=849fb035a0ed4d9b94e00210b72d24f7
- [11]https://mp.weixin.qq.com/s?__biz=MzIwMzg1ODcwMw==&mid=2247487435&idx=1&sn=e44deef950d293de5a511c5dca13a8b1
- [12]https://frankchimero.com/writing/everything-easy-is-hard-again/