Web 开发阅读清单 #147:安全指南、可访问的 UI 组件和内容优先设计

已发表: 2022-03-10
快速总结↬在团队中工作时,遵守规则很重要。 一个常见的挑战是使用相似或相同的工具集和编码指南来构建您的所有项目。 就在昨天,我讨论了我们如何将一个多年来超出其初始代码库的项目移植到一个新的、基于 React.js 的源代码。 做出这个决定并不容易,因为我们已经在这个项目上投入了大量的工作和资金,而迁移到 React 也需要相当长的时间。 但由于从技术角度来看,这种转换是有意义的,并且团队已经在其他三个项目中使用 React,我们得出结论认为这将是一个很好的步骤。 它将使团队的更多开发人员能够为项目做出贡献,审查代码并减少公司中的技术转移。 有时,是时候重新评估您的项目并继续前进了。

在团队中工作时,遵守规则很重要。 一个常见的挑战是使用相似或相同的工具集和编码指南来构建您的所有项目。 就在昨天,我讨论了我们如何将一个多年来超出其初始代码库的项目移植到一个新的、基于 React.js 的源代码。

做出这个决定并不容易,因为我们已经在这个项目上投入了大量的工作和资金,而迁移到 React 也需要相当长的时间。 但由于从技术角度来看,这种转换是有意义的,并且团队已经在其他三个项目中使用 React,我们得出结论认为这将是一个很好的步骤。 它将使团队的更多开发人员能够为项目做出贡献,审查代码并减少公司中的技术转移。 有时,是时候重新评估您的项目并继续前进了。

关于 SmashingMag 的进一步阅读

  • 是时候开始使用 CSS 自定义属性了
  • Houdini:也许是 CSS 中最令人兴奋的开发
  • 如何扩展 React 应用程序
  • 具有 vh 和 vw 单位的真正流畅的排版

消息

  • Bootstrap 4 Alpha 3 已于本周发布。 它带有大修网格、更新的表单控件、系统字体堆栈等。
  • 微软宣布他们的 JavaScript 引擎 ChakraCore 现在支持 Mac OS 和 Linux。 这意味着,您现在不仅可以在 Google 的 V8 引擎中测试和运行您的 Node.js 应用程序。 Christian Heilmann 写了为什么这是一个重要的步骤。
跳跃后更多! 继续往下看↓
脉轮核心
Mac 和 Linux 用户的好消息:终于支持 ChakraCore。 (图片来源:克里斯蒂安·海尔曼)

概念设计

  • “4 分钟内的网页设计”是一篇非常简洁的文章,介绍了为什么内容优先很重要。

工具和工作流程

  • 如果您从事小型项目,(S)FTP 客户端仍然非常有用。 但另一方面,这意味着您需要手动将文件从 git 工作流程复制到服务器。 为了解决这个问题,独立开发者 Jan Ostlund 构建了 GitFTP-Deploy,这是一个方便的 (S)FTP 工具,只需支付少量费用,即可根据您的 git 工作流程进行自动部署。
  • 隐私/跟踪问题比我们想象的要大。 您是否曾经监控过哪些应用程序连接到了哪些服务? 您突然意识到浏览器中的广告拦截器/隐私插件只是杯水车薪。 应用程序经常连接到 Google 服务、Google Analytics,有时连接到各种广告网络,并且经常连接到 New Relic 的用户跟踪服务。 幸运的是,几乎所有问题都有解决方案:将跟踪器主机名添加到/etc/hosts文件中。 甚至还有一个公共示例主机文件可供您使用,其中包括大多数广告网络和跟踪器。 不过,使用它需要您自担风险,并注意某些应用程序可能不再工作。 但也许你的隐私值得吗?

安全

  • FallibleInc 的“Web 开发人员实用安全指南”试图帮助开发人员构建更安全、更不易受攻击的解决方案。 虽然他们声称这绝不是一份全面的指南,但它涵盖了基于他们过去发现的最常见问题的内容。
  • 我们知道 HTTPS 不是超级安全的。 这就是为什么最近在软件实现中修复了很多错误,并添加了很多技术,如 HSTS 和 HPKP。 但有时这一切都无济于事。 最近,发现了一种攻击,几乎任何类型的网络的运营商都可以进行攻击,包括公共 Wi-Fi 网络,这可以说是人们最需要 HTTPS 的地方。 也有迹象表明,至少 NSA 已经在使用这种类型的攻击,因此也可能被很多其他人使用。 请永远不要仅仅为了您自己的安全而信任 TLS,而是将 VPN 用于公共网络。
HTTPS 保护
即使 Wi-Fi 不可信,人们也依赖 HTTPS 来保护他们的连接。 一个谬误,正如最近发现的攻击所示。 (图片来源:Ars Technica)

隐私

  • 我不想成为这里的替罪羊,但是 Pokemon Go 很受欢迎,我读到了一些关于游戏隐私的有趣的东西。 例如,不仅 Alphabet(又名 Google)是主要投资者之一,而且游戏制造商 Niantic 和 CIA 天使投资公司 In-Q-Tel 之间也存在财务关系。 虽然没有证据表明这对用户隐私意味着什么,但这绝对意味着这些公司对游戏玩家提供的数据非常感兴趣——这是可以理解的,因为很难获得地理信息和图片以正常方式进行私人土地。 听说宝马等几家公司已经告知员工,工厂禁止玩游戏,德军也对他们的士兵发布了类似的命令。 ExpressVPN 还发布了一个简短的摘要列表,其中列出了玩 Pokemon Go 时需要考虑的九个隐私问题。

网络性能

  • Erik Duindam 写了一篇关于良好架构如何在构建产品时为您节省大量资金的文章。 他分享了他如何在短短五天内构建了一个拥有 50 万用户的 Pokemon Go 应用程序,并将其成本降低到每月 100 美元的服务器基础设施,而许多 MVP 产品通过选择糟糕的技术设计来烧钱。
  • 关于使用rel=noopener的好处,Jake Archibald 分享了一个有趣的小事实:它更快。

可访问性

  • Addy Osmani 解释了如何为 Web 构建可访问的 UI 组件,将视觉、听觉、移动性和认知作为可访问性因素考虑在内。 一个非常棒的入门级指南,提供更好、更易于使用的产品。
  • 有一个开发人员可以参考的可访问性指南对每个项目都是有意义的。 创建一个的灵感来自于公开发布其可访问性指南的 Vox。

JavaScript

  • Pascal Precht 分享了如何在 Angular 2 中以他通常易于理解的高质量风格创建自定义表单控件。
  • Krasimir Tsonev 写了一篇关于设计模式中的 React.js 的文章,其中包含一些常见的代码片段,这些代码片段将在大多数 React.js 项目中派上用场。

CSS/萨斯

  • Chris Coyier 编写了创建有限宽度父容器的全宽子容器的解决方案,包括 Sven Wolfermann 的简单而聪明的方法。

工作生活

  • “永远改进、永不停止、永不暂停、永不欣赏”是开发人员、公司领导和经理可以轻松应用于他们的工作的东西。 Mathias Meyer 指出正确评价已完成工作的重要性。
  • 我们已经有一些证据表明,多任务处理对生产力没有好处。 莉迪亚·迪什曼现在写下了当她转向单任务一周后发生的变化。 我发现这篇文章特别有趣的原因是,意识到我们在正常的一天中进行了多少多任务处理而没有注意到它。
多任务处理
如果你放弃一周的多任务处理会发生什么? 莉迪亚·迪什曼发现了。

超越……

  • 我们可能仍然不知道气候变化是否是我们的错。 但我们现在知道的是,格陵兰的冰盾在过去四年中损失的冰量是之前 20 年的两倍。 这意味着海平面上升得更快,饮用水的流失,以及地球上重要的天气控制的丧失(北极对风暴和天气的发展有很大影响)。 最终,受害的是我们自己,所以我们需要采取行动,尽最大努力阻止这种趋势。
  • Zack Bloom 分享了 CSS 被发明时替代语言的建议以及 CSS 成功的原因。

有了这个,我将在本周关闭。 如果您喜欢我每周写的内容,请通过捐款支持我或与其他人分享此资源。 您可以在此处了解有关项目成本的更多信息。 它可以通过电子邮件、RSS 和在线获得。