Skip to content

周刊第 6 期:网络没有版本号

Published:

分享文章

一些本周阅读过的好文章、以及我的一些总结和个人思考;非常建议你直接阅读原文,毕竟一千个读者就有一千个哈姆雷特,而且我的理解可能是错的。

网络没有版本号

在过去一年时间里,我们经常听到 WEB3,以及相关的术语:如区块链、加密、NTF 等,让不少 WEB 开发者认为这项技术是未来的趋势,于是每个开发者都跃跃欲试,但本文作者认为我们应该对这个充满误导性的术语「WEB3」持谨慎态度,因为网络并没有版本号,更没有某个权威的机构会定期更新网络的版本。

希望 WEB3 及其相关术语不会成为 WEB 开发者的简历上必备的流行词,对于大部分 WEB 开发者而言,该领域的专业知识是不必要的。

您在软件开发方面的经验水平将使您产生截然不同的观点和意见

假设你是一个初级开发者,你为了实现某个功能,而刚好有一个库/框架能够满足你的需求,所以你希望能够把这个库/框架加入到项目中,但比你更有经验的同事拒绝了这个建议,他认为没必要仅仅为了实现一个功能而添加一个库/框架。

你可能会认为这是一个短视的看法,他们不应该被困在什么都自己重新造轮子的旧观念上。

但也许他是这样思考问题的:

  1. 添加一个库,意味着增加系统的复杂度、意味着更多的风险。
  2. 需要及时跟踪这个库的安全漏洞、并在 breaking change 时更新现有的代码。
  3. 这个库的安全性如何?是否会有意外的情况发生?
  4. 添加这个库的成本和风险?成本是否会比自己开发更低?

个人思考

对于任何一个商业项目而言,不应该也不可能完全脱离开源社区的框架、类库,我们确实不可能所有事情都重新造轮子,开源类库的健壮性肯定比自己实现要强,但这也不意味着我们可以盲目地使用开源类库,即便要使用类库,也可能会面临多个不同选择,我们应该从生态社区、维护积极性、安全性等多方面进行考察和对比,最终选择出适合的方案。

当你在构建产品时,你应该听取谁的意见?

人们根据自己的背景来重视不同的东西。就比如对于笔记本电脑,不同的群体需要不同的功能:

本文作者提出我们在构建产品时,最应该听从谁的意见,以及如何听从:

在浏览器 devtools 中打印图片

Untitled

我们使用以下代码在 devtools 中利用 console.log 输出图片:

function getBox(width, height) {
  return {
    string: "+",
    style:
      "font-size: 1px; padding: " +
      Math.floor(height / 2) +
      "px " +
      Math.floor(width / 2) +
      "px; line-height: " +
      height +
      "px;",
  };
}

console.image = function (url, scale) {
  scale = scale || 1;
  var img = new Image();

  img.onload = function () {
    var dim = getBox(this.width * scale, this.height * scale);
    console.log(
      "%c" + dim.string,
      dim.style +
        "background: url(" +
        url +
        "); background-size: " +
        this.width * scale +
        "px " +
        this.height * scale +
        "px; color: transparent;"
    );
  };

  img.src = url;
};

或者直接使用这个库:https://github.com/adriancooney/console.image

有趣的链接


作者 : 4Ark

地址 : https://4ark.me/posts/2022-03-28-weekly-06/

来源 : https://4ark.me

著作权归作者所有,转载请联系作者获得授权。