#673 元宇宙

2021-10-10

元宇宙

最近总听说这个词,这到底是是个啥?

元宇宙(英语:Metaverse)一词由前缀“ meta”(意思是超越)和词干“ verse”(通过逆向构词法从“宇宙(universe)”得来)组成;简称:MVS;这个词通常用来描述未来互联网迭代的概念,由连接到一个可感知的虚拟宇宙的持久、共享的3D 虚拟空间组成。广义上的元宇宙不仅指虚拟世界,还指整个互联网,包括增强现实的整个范围。

历史

这个词是在尼尔·斯蒂芬森在1992 年的科幻小说《雪崩》中创造的,其中人类作为化身,在一个使用现实世界模拟的三维虚拟空间中与彼此和软件客户端进行交互。斯蒂芬森用这个词来描述一个基于虚拟现实的互联网后继者。类似于元宇宙的概念很早就以各种名称出现在赛博朋克小说类型中,最早可以追溯到1981 年的中篇小说《真实姓名》。史蒂芬森在《雪崩》的后记中表示,在完成小说后,他了解了《Habitat》 ,这是一款类似于元宇宙的大型多人在线角色扮演游戏。

看这个解释,就是虚拟世界啊,应该是《第二人生》,《头号玩家》类似的概念。
在回头看看国内的相关新闻,这通概念炒作,估计是有人缺钱了。

Update @ 2021-10-29

扎克伯格宣布 Facebook 公司更名为 Meta,就是来自 Metaverse,股票代码也由 FB 改成 MVRS,同时更改公司发展方向为“元宇宙优先”。

社交网络中的种树、种菜、养鸡、停车、开餐厅确实有很多人喜欢玩,或许今后技术发达之后,科幻电影中的那些第二人生的场景也会真的出现,但我不认为目前很有意义。
虽然可能 Facebook 的新战略能为他们带来新的赢利点,但对于其他人来说参考价值不大。
尤其是在中国,我们还是比较注重现实世界一些。

参考资料与拓展阅读

#672 c const

2021-10-06

C 常量

c 常量的两种实现方法:

  1. define
  2. const 关键字

const 关键字

  • 常量 const int a / int const a
    a 是一个 int 类型常量
  • 常量指针 const int *a / int const *a
    a 是一个指针,指向一个 int 类型常量
  • 指针常量 int *const a
    a 是一个指针常量(指针类型(int *)的常量), 指向的位置不能修改
  • 指向常量的指针常量 const int *const a
    同上,不过更进一步,指向位置是一个常量(const int),不能更改

问题

int main()
{
    const int a = 1;

    int *ptr = (int *)&a;
    *ptr = 2;
    printf("a = %d\n", a);

    return 0;
}

如果用 gcc 编译会输出:a = 2, g++ 的话,会输出 a = 1, WHY? 为什么 C 允许修改常量,是不是一个 BUG?

原因

参考网上诸多资料,我的理解如下:

  1. C 会给 const 常量正常分配内存,const 只会在编译时起到静态分析的作用(限定常量不能作为左值)。
  2. C++ 则是将 const 常量放在符号表,如果用指针指向这个常量,会新分配内存地址,操作也是操作的这个内存空间,符号表中存储的值不受影响。
  3. 符号表在内存布局中的那一部分?

参考资料与拓展阅读

#670 scrypt 加密

2021-10-03

在 Python 标准库 hashlib 中见过 scrypt,说是 3.6 引入。
然后,这两天看到的资讯说是 Django 4 将加入了 scrypt 做密码哈希,据说安全性比之前的 PBKDF2 更好。
PS: 由于需要 OpenSSL 1.1+ 的支持,以及会消耗更多的内存,所以不是默认选项。

#668 Python 内置函数: hash

2021-10-01

一个不值一提的小问题:
有个地方使用 hash 方法来做哈希计算,将字符串转换成一个数值,但是发现改用 Python 3 之后,这个值每次运行都不一样了。

#665 DedeCMS 开始割韭菜了

2021-09-29

织梦官网放出上面这张公告:除了 “个人非盈利” 网站,其他没有拿到正式授权的织梦网站需要交 5800 授权费。

他们可能已经把清单列好了,律师团队也准备好了,正磨刀霍霍向着小站长们。

这可能就是中国特色开源协议的正确使用方式。

PS: 虽然我觉得 织梦CMS 是个垃圾,但我也不知道为啥,据说很多小站都是用的这个系统。