文/智能相对论作者/离离如果有一只不掉毛、无异味、不需每天带牠出门散步、身体强健不易生病、活泼好动、反应敏捷、忠心耿耿、聪明听话的狗狗出现在面前,喜爱动物的你,愿意饲养它吗?相信大多数爱狗者会点头。那,如果“牠”不是真的狗呢?从电子玩具到AI宠物上个世纪起,电子机器宠物就开始代替活生生的动物,一直陪伴着那些想要饲养宠物,却因为时间、金钱等各种原因而不得不放弃这个心愿的人们。不同于活在屏幕中,看得见摸不着的虚拟宠物;机器宠物虽然也没有生命,但作为拥有实体触感、“真实存在”的玩伴,也陪伴了不少小朋友度过快乐的童年,并为感到孤独的大人们带来慰藉。像是1998年风靡欧美地区的菲比小精灵(Furby),...... Last article READ

告别性能问题:Ruby 3.0正式发布

  经历了长久的等待,我们终于在圣诞期间迎来了 Ruby 3.0,正如开发者 Matz 在上次演讲中所说的那样。对于 Web 开发者来说,本次更新不仅提升了运行速度,还克服了早前的一些缺点。首先,异步线程将由 Fibers 进行控制,因为当前的服务器会在释放其它线程时阻塞 I/O 操作,比如 API 调用 / 数据库操作等。

(图 via )

  其次是启用基于 Fibers over Threads 的线程操作,是因为这么做能够减少上下文的切换开销。

  然后是 Ruby Actor / Ractor:它与 JavaScript 中在后台运行的网络操作相似,但 Ractor 还支持并行执行。由于法共享普通对象,Ractor 的线程并行安全性也更优,且支持基于消息传递的通讯方案。

  内存性能方面,通过使用垃圾压缩器(GP),大多数对象将被传输到堆(heap)并自动压缩。

  得益于 RBS,Ruby 3.0 还支持类型检查。作为一款类型签名语言,RBS 可用于描述类的类型和定义、方法、实体变量、继承 / 混合关系、以及 Ruby 模块。

  其旨在查看 Ruby 程序中的常见模式,且允许联合、方法重载、以及泛型之列的高级类,让进程处理以 .rbs 格式编写的签名文件成为了可能。

(传送门:)

  此外还有即时编译器方面的改进,因为 JIT 的编译速度提升了 50~500%(取决于具体的工作量)、支持编码块参数、权利转让(Right Assignmenet),以及包括 RubyGems 3.2.0.rc.1、Bundler 2.2.0.rc.1、IRB 1.2.6、Reline 0.1.5 在内的某些标准库更新。

  最后是向后兼容性,Ruby 3.0 让在不同版本间进行切换不再是个问题,且日志中的警告信息有助于快速修复 bug 。

埃隆·马斯克(Elon Musk)表示,现在将电动汽车公司特斯拉私有化“已不可能”,但 SpaceX 的星链互联网业务可能在合适时机上市。 特斯拉股票 21 日被纳入标准普尔 500 指数(S&P 500),其股价今年迄今已飙升 7 倍。彭博亿万富翁指数显示,今年马斯克的净资产增加了 1322 亿美元,达到 1597 亿美元,令其成为世界上第二大富豪。 与此同时,马斯克表示,当星链太空互联网业务的收入增长变得“合理并可预测”时,可能在合适的时机选择上市,这与该公司总裁格温·肖特维尔(Gwynne Shotwel......Next article READ