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

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