每月 Web 开发更新 4⁄2018:关于努力、偏见和高效

已发表: 2022-03-10
快速总结 ↬ Anselm Hannemann 总结了过去四个星期网络社区发生的事情。 从浏览器新闻和有用的工具到热门话题和我们应该经常谈论的事情。

如今,从长远来看,这是最大的挑战之一。 在我们生活的设备可能只能使用几个月或几年的世界里,我们购买的东西几天或几周后就扔掉了,“努力”这个词有了新的含义。

最近,我在读一篇关于“Yatnah”,“Effort”的文章。 在过去的几周里,我在大自然中度过了很多时间,并开辟了一小块土地来种植一些蔬菜。 我还参加了一个研讨会,学习嫁接果树的工艺。 当你砍一棵树时,你会意识到我们快速生活的短期生活方式与大自然的运作方式截然不同。 我嫁接了一棵已经长了几十年的树,如果你砍掉一棵已经长了四十年的树,再长出一棵同样高的树还需要四十年。

我希望我们都尝试创造更持久的作品,十年内可以运行的软件,为了做到这一点,努力学习如何实现这一目标。 这么久了,我会给你留下这句话和一堆有趣的文章。

“在我们的现代世界中,人们很容易放弃努力并用一些积极思考的短语来代替它。 但是没有什么可以替代实践”。

— 奇诺·麦克格雷格
跳跃后更多! 继续往下看↓

消息

  • Safari 技术预览版 52 删除了对除 Adob​​e Flash 之外的所有 NPAPI 插件的支持,并增加了对preconnect链接头的支持。
  • Chrome 66 Beta 带来了 CSS 类型对象模型、异步剪贴板 API、AudioWorklets,并支持在媒体查询中使用calc()min()max() 。 此外, selecttextarea字段现在支持autocomplete属性,并且从现在开始可以在没有参数的情况下使用try语句的catch子句。
  • iOS 11.3 现已向公众开放,正如已经宣布的那样,该版本为 iOS 带来了对渐进式 Web 应用程序的支持。 Maximiliano Firtman 分享了这意味着什么,什么有效,什么无效(还)。
  • Safari 11.1 现在可供所有人使用。 这是它包含的所有新 WebKit 功能的摘要。
iOS 上的渐进式 Web 应用
适用于 iOS 的渐进式 Web 应用程序在这里。 全屏、离线功能,甚至在 iPad 的扩展坞中可见。 (图片来源)

一般的

  • Anil Dash 反思了网络的初衷以及今天的网络与此有何不同:“在数百万人对网络最大的网站失去信任的时候,值得重新审视网络应该由无数小网站。 以下是本应使之成为可能的被忽视的技术。”
  • Morten Rand-Hendriksen 撰写了关于在网页设计中使用道德规范的文章,以及在提出解决方案、创建设计或新功能时我们应该问自己哪些问题。 尤其是当我们认为我们正在做一些“智能”的东西时,重要的是首先要问它是否真的能帮助人们。
  • Facebook / Cambridge Analytica 事件引发了很多抗议和讨论,其中大多数人指出了 Facebook 许可模式存在的技术问题。 但关键在于 Facebook 如何设计他们的公司以及他们设定的道德底线。 如果我们不希望这样的事情再次发生,那么我们就有责任设计我们想要的服务。
  • Brendan Dawes 分享了为什么他认为 URL 本身就是杰作和用户体验。
  • Charlie Owen 对“亲爱的开发人员,Web 与您无关”的谈话录音很好地总结了为什么我们作为开发人员需要思考什么对我们有利,并考虑什么是为用户服务以及我们如何实现这一目标。

用户界面/用户体验

  • B. Kaan Kavustuk 分享了他关于为什么我们无法在第一次尝试就构建完美设计或代码库的想法,无论我们有多少经验。 相反,不断的小改进为完美铺平了道路。
  • Trine Falbe 通过实用的入门指南向我们介绍道德设计。 它显示了在构建业务或产品时需要考虑的替代方案和事项。 无论您是所有者、开发人员、设计师还是销售人员,这都无关紧要,这关乎为用户服务并为真正和可持续的信任奠定基础。
  • 乔什·洛夫乔伊(Josh Lovejoy)分享了他在致力于包容性技术解决方案方面的经验,以及为什么创造公平、包容性技术不仅仅需要良好的意愿。 本文深入探讨了为什么人类判断非常困难并且通常基于偏见,以及为什么因此设计和开发平等对待不同人的算法并不容易。
  • HSB(色相、饱和度、亮度)颜色系统并不是特别新,但很多人仍然不了解它的优点。 Erik D. Kennedy 逐步解释了其原理和优势。
  • 虽然现在有更多关于包容性设计的讨论,但它经常被视为可访问性帽子或技术决策。 Robert del Prado 现在分享了包容性设计思维的重要性,以及为什么它更多地关注普通用户,而不是一些特定的残疾人。 包容性设计将人们聚集在一起,无论他们是谁,住在哪里,以及他们能负担得起什么。 每个产品的目标不就是通过吸引尽可能多的人来获得成功吗? 也许我们也需要与营销人员讨论这个问题。
  • Anton Lovchikov 分享了改进组件光学调整的方法。 这是一项有趣的研究,研究非常小的变化如何产生很大的不同。
公平不是默认值
害怕还是愤怒? 我们认为婴儿表现出的情绪取决于我们认为它是女孩还是男孩。 Josh Lovejoy 解释了像这样的个人偏见和判断如何导致不公平的产品。 (图片来源)

工装

  • Brian Schrader 在 Git 中发现了一个对快速测试想法非常有帮助的未知功能:Git Notes 让我们可以添加、删除或读取附加到对象的注释,而无需接触对象本身,也无需提交当前状态。
  • 对于许多项目,我更喜欢使用 npm 脚本而不是调用 gulp 或直接 webpack 任务。 Michael Kuhnel 分享了一些关于 npm 脚本的有用技巧,包括如何允许 CLI 选项参数或如何监视任务和错误警报通知。
  • Anton Sten 解释了为什么新工具并不总是等于生产力。 我们都喜欢新的设计工具,而 Sketch、Figma、Xd 或 Invision Studio 等新工具不断涌现。 但是,尽管这些工具解决了许多常见问题并使一些事情变得更容易,但生产力主要是关于什么对你的问题有效,而不是什么是最新的。 如果您需要创建静态模型并且 Photoshop 是您最了解的,为什么不使用它呢?
  • Cloudflare 提供了一项新的、快速的 DNS 服务。 最后,作为常用的 Google DNS 服务器的更好替代品,它在1.1.1.1下可用。 新的 DNS 是最快的,也可能是最安全的 DNS 之一。 Cloudflare 投入了大量精力来加密服务,并与 Mozilla 合作,使 DNS over HTTPS 工作,以弥补迄今为止将您所有浏览数据泄露给 DNS 提供商的巨大隐私漏洞。
  • 我已经听说过很多关于 iOS 机器学习的内容,但是尽管有趣的事实是他们能够在设备上执行此操作而无需将所有内容发送到云中,但我还没有找到如何将其用于应用程序。 幸运的是,Manu Rink 整理了一个很好的指南,她在其中为初学者解释了 iOS 中的机器学习。
  • Git GUI 粉丝有个好消息:Tower 现在提供了一个新的 beta 版本,其中包括拉取请求支持、交互式 rebase 工作流、快速操作、reflog 和搜索。 一个惊人的更新,使使用该软件的速度比以前快得多,即使对我作为命令行爱好者来说,这也是一个不错的选择。
iOS中的机器学习对于菜鸟
Manu Rink 通过构建离线手写文本识别来展示 iOS 中的机器学习如何工作。 (图片来源)

安全

  • HTTP 严格传输安全 (HSTS),尤其是预加载,长期以来一直被认为是确保浏览器只应安全连接到主机名的最佳安全功能之一。 然而,广告商已经找到了一种使用 HSTS 跟踪用户并将其用作持久跨站点标识符(称为“超级 cookie”)的方法。 WebKit 开发人员现在做出了反应,为了保护用户的隐私,他们通过限制主机名范围和忽略对被阻止域的子资源请求的 HSTS 状态来削弱 HSTS 的可靠性。
  • PagerDuty 刚刚发布了他们内部安全培训材料的开源版本,其中充满了关于常见安全问题和策略的有趣且易于理解的解释。 这特别有用,因为您可以将其提供给没有技术经验的人。
  • Christoph Rumpel 分享了他如何找到一种将他的内容安全策略与 Laravel 响应缓存包一起使用的方法。
  • 虽然 Argon2 是当前用于散列(例如密码)的最佳实践算法,但开发人员需要准备一些事情。 例如,使用 Argon2 很容易自己执行 DOS,因此您需要对查询进行速率限制。
  • James Fisher 分享了一种欺骗 Gmail 用户的有趣方法,如 Netflix 示例所示。

网络性能

  • 本周,出现了关于提供压缩图像的技术是否仍然是一个好主意的讨论。 Tim Kadlec 以此为契机重新审视它。 他现在得出的结论是,我们不应该再使用压缩图像技术,因为它的内存占用很大,而应该依赖新的响应式图像技术,例如<picture>元素或srcsetsizes属性。
  • Eric Portis 共享图像的w描述符和sizes属性的底层原理。 一篇非常技术性但具有启发性的帖子,让您最终了解这些新的响应式图像属性背后的魔力。
  • 蒂姆·奥克斯利(Tim Oxley)分享了为什么他更喜欢早点返回并尽可能避免else情况。 这是我在职业生涯开始时一直在做的事情,然后在某个时候迷失了,但最近又回到了它。 尤其是函数中复杂性的降低和更简单的逻辑对我来说是一个关键优势。
  • Jeremy Wagner 分享了如何为图像和视频构建延迟加载机制的最佳实践。 这绝对不是最快的解决方案,但该资源分享了如何基于浏览器中可用的最新技术构建最佳体验和性能。

可访问性

  • Marcy Sutton 解释了 Ax 3.0 中的新功能,它现在支持 Shadow DOM,您可以在自动化测试套件中运行这些新功能。
  • Patrick H. Laucke 分享了新的:focus-visible CSS 伪选择器的内容以及我们需要如何编写它以确保与尚不支持它的浏览器的向后兼容性。
  • Marco Zehe 向我们介绍了 Firefox 开发者工具中新的 Accessibility Inspector。 这是个好消息,有助于检查可访问性问题比以前更容易。

CSS

  • Amber Wilson 分享了一些关于投入到复杂项目中以便在那里进行造型的感觉的见解。 她正确地说“没有人说 CSS 很容易”,并表达了我们作为开发人员面对不便的情况以增长我们的知识是多么重要。
  • Ana Tudor 以其特殊的 CSS 技能而闻名。 现在她探索并描述了我们如何通过一些巧妙的技巧在 CSS 中实现挖角。
挖角
挖角? Ana Tudor 展示了如何做到这一点。 (图片来源)

JavaScript

  • WebKit 对剪贴板 API 进行了升级,团队就其工作原理以及 Safari 如何处理剪贴板数据(例如图像)的一些常见挑战提供了一些非常有趣的见解。
  • 如果您使用仅存在于前端的键值存储,IDB-Keyval 是一个出色的轻量级库,可简化 IndexedDB 和 localStorage 的使用。
  • 曾经想在网站上以手绘、粗略的外观从您的数据中创建图形吗? Rough.js 可以让你做到这一点。 它通常基于 Canvas(以获得更好的性能和更少的数据),但也可以绘制 SVG 路径。
  • 如果您需要拖放式重新排序模块,现在有一个流畅且易于访问的解决方案:dragon-drop。
  • 多年来,我们只能在它们的计算值中获取 CSS 值,即使这样也不灵活或不好用。 但是现在 CSS 有一个适当的基于对象的 API 来处理 JavaScript 中的值:CSS 类型对象模型。 它仅在即将推出的 Chrome 66 中可用,但绝对是我希望很快在我的代码中使用的一个很有前途的功能。
  • React.js 文档现在有一个额外的部分,解释了如何以编程方式轻松地管理焦点状态以确保您的 UI 可访问。
  • James Milner 分享了我们如何使用 abortable fetch 来取消请求。
  • 已经有一些关于 Web 推送通知的文章,但 Oleksii Rudenko 的入门指南是一本很好的入门指南,它很好地解释了这些原则。
  • 在过去的几年里,我们在 JavaScript 平台上获得了很多新功能。 由于很难记住所有新内容,Raja Rao DV 总结了“ECMAScript 2016、2017 和 2018 中的所有新内容”。

工作生活

  • 为了提高人们对这种情况对我们所有人的普遍认识,詹姆斯·贝内特分享了一个令人尴尬的情况,他犯了一个简单的错误,花了很长时间才发现。 不只是我犯错,不仅仅是你,不仅仅是詹姆斯——我们所有人都会犯错,尽管他们在那种特殊情况下看起来很尴尬,但没有什么好难过的。
  • 亚当布兰查德说:“人是机器。 我们也需要维护。” 并为工程师创建一个比较,以了解我们为什么需要照顾自己以及为什么我们需要照顾我们的人。 这是对人员工程师所做工作的深入了解,以及为什么公司雇佣这样的人以确保团队健康如此重要。
  • 如果说在网络行业中我们很少谈论一件事,那就是退休。 Jan Chipchase 现在写了很多关于退休的有趣想法。
  • 丽贝卡·唐斯 (Rebecca Downes) 分享了她对远程团队博士学位的一些见解,揭示了在哪些情况下远程团队很棒,在哪些情况下不是。
人们工程师会做什么
人们也需要维护。 这就是人事工程师进来的地方。(图片来源)

超越……

  • 现在我们讨论了 Facebook 和 Google 等中心化服务的问题,去中心化被视为独立网络的救星。 但我敢肯定,如果我们不尝试用技术解决根本的人道主义问题,一切都不会改变。
  • 您可能已经阅读过有关自动驾驶汽车首次发生致命事故的新闻。 一个可悲的里程碑表明,这项技术有多不可靠,以及我们离能够依赖这样的系统还有多远。
  • 十年前,智能设备承诺会改变我们思考和互动的方式,而且它们确实做到了——但不是让我们变得更聪明。 Eric Andrew-Gee 探讨了数字干扰正在损害我们的思想的科学证据。
  • Fred Pearce 撰写了关于我们如何让世界上最大的数据中心更高效的文章。 如果您想知道为什么这会是理想的目标,重要的是要知道这些数据中心占全球二氧化碳排放总量的 3%——与航空业一样多。
  • “一个废弃的煤电站将重新开放,只为加密货币供电。” 我对此无话可说。

我们希望您喜欢这个 Web 开发更新。 下一个定于 5 月 18 日星期五。 敬请关注。