欢迎光临
我们一直在努力

PHP 8 发布首个 Alpha 版本

admin阅读(9)

按照发布计划,PHP 8 将于今年 11 月 26 日发布,而原定于 6 月 18 日发布的第一个 Alpha 版本跳票到了今天发布。

下载地址:https://downloads.php.net/~pollita

PHP 8 是一个新的主要版本,它引入了一些重大变更,以及许多新特性和性能改进,下边简单介绍一些亮点:

JIT,Just-In-Time,即时编译

最重大的特性非 JIT 莫属。该特性的研发历时多年,熬过了 PHP 5 与 7 大版本系列(PHP 6 项目流产),直到去年 3 月份才最终通过投票确认将进入 PHP 8

JIT 是一种编译器策略,它将代码表述为一种中间状态,在运行时将其转换为依赖于体系结构的机器码,并即时执行。在 PHP 中,这意味着 JIT 将为 Zend VM 生成的指令视为中间表述,并以依赖于体系结构的机器码执行,也就是说托管代码的不再是 Zend VM,而是更为底层的 CPU。

虽然自 PHP 7.0 以来,通过优化核心数据结构 HashTable、强化 Zend VM 中某些操作码与持续改进 OPCache 的 Optimizer 组件等具体措施,PHP 性能得到了显著提升,但是实际上这些优化似乎已经走到极限了。现在 JIT 从底层着手,被认为是目前提升 PHP 性能的最佳出路。

关于引入 JIT 后的性能对比(以及 PHP 8 整体性能),可以参考一下本月 Phoronix 的基准测试(注:用的是 5 月底的源码构建版进行的测试)。

Union Types,联合类型

Union Types 支持接收多个不同类型的值,它是两种或多种类型的集合,使用时可以选择其一。包括 PHP 在内的开源生态的标准库中使用联合类型非常普遍,PHP 支持联合类型,将会允许将更多类型信息从 phpdoc 迁移至函数签名。可以说,泛型之后,联合类型是目前类型声明系统中最大的突破口。

Attributes,注解

这里的 Attributes 也就是其它语言中的 annotations(注解),它提供了一种向类添加元数据的方法,无需解析文档块。

新的 static 返回类型

虽然已经可以返回 self,但是考虑到 PHP 具有动态类型的性质,PHP 8 中支持 static 返回类型将更加高效,对于许多开发者来说应当非常有用。

class Foo
{
    public function test(): static
    {
        return new static();
    }
}

WeakMap,弱映射

WeakMaps 允许创建从对象到任意值的映射(类似 SplObjectStorage),而不会阻止对用作 key 的对象进行垃圾回收。只要将对象添加到 WeakMap 中,GC 在触发条件时就可以将其占用内存回收。

PHP 7.4 中,实际上已经引入了对 WeakReference(弱引用)的支持。但是,原始的弱引用本身用途有限,而弱映射在实践中更为常用。由于没有提供注册销毁回调的功能,因此无法在 PHP 弱引用之上实现有效的弱映射。弱映射的一般用例是将数据与单个对象实例相关联,而不强迫它们保持活动状态,避免长时间运行的进程无谓地占用内存。

class Foo 
{
    private WeakMap $cache;
 
    public function getSomethingWithCaching(object $obj): object
    {
        return $this->cache[$obj]
           ??= $this->computeSomethingExpensive($obj);
    }
}

关于 WeakMap/WeakReference,可以参考这一篇的 WeakRef 部分,虽然讲的是 JS,但原理是相通的:

https://www.oschina.net/news/106670/what-s-new-in-javascript-google-io-2019

更多的相关特性可以查看:

此外还注意到几个处于投票阶段的特性(也就是可能比较快会并入某个版本中的),像 match expression(匹配表达式)与使用 @@ 或 #[] 替代 <<>> 的提案都是比较值得关注的:

需要注意的是,PHP 8 是一个重大更新版本,带了一些重大变更,所以最好查看 UPGRADING 文档的相关事项。不过实际上,其中许多重大变更在之前的 7.* 版本中已经引入,因此,如果你一直保持最新版本,那么升级到 PHP 8 也影响不大。

另外,PHP 8 中 JIT 主要贡献者鸟哥 @Laruence 在此版本发布前也发表了相关文章,讲述 JIT 的研发历程,感兴趣可以瞧瞧:写在PHP8发布之前的话

Elasticsearch 7.8.0 发布

admin阅读(21)

Elasticsearch 7.8.0 已发布,主要更新内容如下:

新特性

Aggregations

  • 支持 Student 的 t-test 聚合 #54469 (issue: #53692)
  • 为 t-test 聚合增加对过滤器的支持 #54980 (issue: #53692)
  • 直方图字段类型支持 Sum 聚合 #55681 (issue: #53285)
  • 直方图字段类型支持 ValueCount 和 Avg 的聚合 #55933 (issue: #53285)

Features/Indices APIs

  • 新增模拟的可组合模板 API _index_template/_simulate_index/{name} #55686 (issue: #53101)

Geo

  • 为 geo_shape 添加 geo_bounds 聚合支持 #55328
  • 为 geotile_grid 和 geohash_grid 添加 geo_shape 支持 #55966
  • 为 geo_centroid 聚合添加 geo_shape 支持 #55602
  • 添加新的 point field #53804

SQL

Breaking changes

Aggregations

  • 优化value_count聚合 #54854

Features/Indices APIs

  • 添加自动创建操作 #55858

Mapping

  • 禁止更改 root mapper 上的 enabled 状态 #54463 (issue: #33933)
  • 修复更新嵌套字段的 include_in_parent/include_in_root of #54386 (issue: #53792)

详情查看 发布公告

下载地址:https://www.elastic.co/cn/downloads/elasticsearch

PHP 8 性能基准测试

admin阅读(23)

外国科技媒体 Phoronix 发布了针对 PHP 8 的性能基准测试报告。由于 PHP 8 Alpha1 大约要到6月中旬才发布,所以 Phoronix 从 PHP 8 最新的 Git 代码(截至5月底)构建了用于测试的版本。PHP 8 重要新特性除了新的 JIT 编译器,还包括新的静态返回类型、union types 2.0(联合类型)和 attributes(属性)等。

用于参考对比的版本包括:PHP 7.4.6, 7.3.18, 7.2.31, 7.1.33, 7.0.33, 5.6.39, 5.5.38 和 5.4.44,以及启用了 JIT (Just In Time) 的 PHP 8。

所有受测试的版本都是在相同系统中使用相同的编译器和 PHP 配置文件以相同的方式进行构建,测试环境如下:

测试结果如下:

上图显示了使用 PHPbench 测试各版本 PHP 的性能结果。可以看到,从 PHP 7.4 stable 到 PHP 8 有小幅度改进,大约是 7% 的提升,但如果 PHP 8 启用了 JIT,性能改进可以说是非常明显,比 PHP 7.4 stable 提升了 92%。至于更旧的版本,PHP 8 with JIT 的性能是 PHP 5.4 的 5 倍。

上图是各版本 PHP Micro 基准测试的结果,通过一些 PHP 自带的内置测试,可以看到 PHP 8.0 的速度比已经很快的 PHP 7.4 略有提高,而启用 JIT 支持后,其速度更是碾压全场。

上图的测试结果显示,在使用 Phoronix Test Suite Self Tests 进行测试的过程中,无论是否开启 JIT,PHP 8 的性能

与 PHP 7 的成绩都没有明显的改进,主要是遇到了 I/O 瓶颈,所以总体上没有产生太大的差异。

同样的,在渲染测试和合并测试方面,启用 JIT 的 PHP 8 没有产生明显的优势,不过与旧版本 PHP 5 相比,PHP 8 的性能有了显著的提升。

上图是综合了各测试结果的评分数据对比,就目前的开发状态来看,PHP 8.0 的速度是 PHP 5.4-5.6 的 3 倍左右,启用 JIT 后,就变成了 4 倍左右的差距。

从数据来看,PHP 8.0 是一个相当值得期待的版本,无论是性能方面的提升还是语言特性的增加。

详细测试结果查看 https://www.phoronix.com/

Raspberry Pi 4 发布 8G 内存版本,同时带来 64 位镜像

admin阅读(34)

Raspberry Pi 4 发布了 8GB 内存版本,同时带来 64 位镜像(beta 中)。

去年 6 月发布的 Raspberry Pi 4,带来了可选内存 1GB、2GB 与 4GB DDR4 版本,官方博客介绍:“我们在 Raspberry Pi 4 上使用的 BCM2711 芯片可以寻址高达 16GB 的 LPDDR4 SDRAM,因此,我们提供更大内存版本的真正障碍是缺少 8GB LPDDR4 封装。”该问题最终由合作伙伴 Micron 解决,于是有了目前 8GB 版本的诞生。

8GB 版本售价 $75。这么大的内存,对于打算编译和链接大型软件或运行繁重的服务器工作负载,或者只是希望能够一次打开更多浏览器选项卡的用户来说,都绝对够用了。

此次发布的版本,同时还从电路板右侧靠近 USB 2.0 插槽的位置卸下了开关模式电源,并在 USB-C 接口旁添加了一个新开关,这样可以提供更高的峰值电流以匹配 8GB 内存版本的需求。

操作系统镜像方面,现在 Raspberry Pi 支持 64 位,其包含与常规 32 位镜像相同的应用程序集和相同的桌面环境,不过只是针对 Debian arm64 构建的。同时,现在开始,32 位和 64 位操作系统镜像都不再使用“Raspbian”这一名称,改用新的统一的名称:Raspberry Pi OS,这样更便于用户识记。

64 位镜像下载地址:https://www.raspberrypi.org/forums/viewtopic.php?f=117&t=275370

在这一年时间里,Raspberry Pi 4 已经卖出了近 300 万台,对主板进行了几次较小的修订,而在软件方面,也带来了不少改进,包括减少设备的空闲和负载功耗、通过了 OpenGL ES 3.1 认证、支持 Vulkan 驱动等。此次 8GB 版本与 64 位的推出,估计又将带来一个销售热潮。

nginx 1.19.0 主线版发布

admin阅读(32)


nginx 1.19.0 主线版已发布,更新内容如下:

  • Feature: 使用 OCSP 进行客户端证书验证
  • Bugfix: 修复与 gRPC 后端搭配使用时,可能出现的”upstream sent frame for closed stream”错误
  • Bugfix: 如果没有指定”resolver”指令,OCSP stapling 可能无法运行
  • Bugfix: HTTP/2 连接前言(preface)不正确的链接无法被记录

下载地址 | 更新说明

Grafana 7.0 发布:改进的界面、新的插件平台和可视化等

admin阅读(38)

Grafana 7.0 正式发布了,Grafana 是一个功能丰富的指标标准仪表板和图形编辑器,用于分析和监控 Graphite、Elasticsearch、OpenTSDB、Prometheus 和 InfluxDB。

更新亮点包括:

  • UX 增强功能和统一数据模型:增强的 UX 和可视化选项提供了更好的一致性和可用性,包括新的表格面板、新的网格布局引擎,以及对面板编辑的改进体验。 数据可视化现在基于特定的数据配置(最小/最大/平均值图等),以在整个 Grafana 中提供更好的一致性。

  • 插件平台:使用户可以轻松快捷地创建新的插件,并且效率更高。
  • 跟踪:支持 Jaeger 数据源;Loki 中的 traceID 可以减少平均解决时间。
  • 转换(Transformations):新的转换功能使用户能够转换所有类型的数据。
  • 检查和导出:新的数据检查功能使用户可以查看、导出(CSV),并在面板的基础源数据上执行简单的转换(例如透视和联接)。
  • AWS CloudWatch Logs:添加了对 AWS CloudWatch Logs 的支持。
  • 使用情况分析和状态:这是一项企业功能,可帮助公司更好地洞察用户、仪表板及数据源的行为和利用率。

详细内容请查看发布公告:

https://grafana.com/blog/2020/05/18/grafana-v7.0-released-new-plugin-architecture-visualizations-transformations-native-trace-support-and-more/

Windows Terminal 1.0 正式发布

admin阅读(30)

在 Build 2020 开发者大会上,微软宣布 Windows Terminal 1.0 版本正式可用。Windows Terminal 将从 2020 年 7 月开始每月更新一次。

主要功能:

选项卡和窗格

Windows Terminal 允许用户在选项卡和窗格中运行任何命令行应用程序。用户可以为每个命令行应用程序创建配置文件,并可以并排打开它们以实现无缝地工作流程。同时,用户的每个配置文件都可以根据喜好进行独特定制。此外,如果用户的计算机上安装了 Windows Subsystem for Linux 发行版或其他 PowerShell 版本,则终端将自动为其创建配置文件。

GPU 加速渲染

Windows Terminal 使用 GPU 渲染其文本,为使用命令行时提供了更快的体验。该渲染器还支持 Unicode 和 UTF-8 字符。使得用户有机会在多种语言中使用此 terminal,同时还可以显示用户喜爱的所有表情符号。最后,Windows Terminal 现在还附带 Cascadia Code 2005.15。默认字体设置为 Cascadia Mono,这是不包含编程连字的字体变体。

自定义选项

Windows Terminal 充满了提供无限量自定义的设置。用户可以有 acrylic 背景和背景图像,以及独特的配色方案和自定义字体,以实现自己的个性化体验;还可以添加自定义密钥绑定。此外,无论是在 Windows、WSL 还是 SSH 上,每个概要文件都是可定制的,以匹配用户需要的工作流程。

开发者最喜欢的功能

Windows Terminal 中一些最酷的功能是由社区成员提供的。微软介绍了其中的几项,首先介绍的是背景图片支持,它可以在文本窗口的背景中同时支持 gif 和图像。到目前为止,这是 Windows Terminal 中其最常用的功能之一。

另一个是复古终端效果设置,增加了对文本缓冲区内的发光文本和扫描行的支持,从而提供了使用经典 CRT 机器的感觉。

此外,Windows Terminal 的文档已移至 docs.microsoft.com。微软还表示,将启动 Windows Terminal 的预览频道,用户可以从 Microsoft Store 或 GitHub 版本页面下载 Windows Terminal Preview。

更多详细内容可查看官方博客:https://devblogs.microsoft.com/commandline/windows-terminal-1-0/

Deno 1.0 发布

admin阅读(31)

Deno 1.0 发布了。Deno 是作者 Ryan Dahl 在 Node 之后的又一大作,它是一个新的运行时,用于在 Web 浏览器之外执行 JavaScript 和 TypeScript,其采用 Rust 编写而成(最初用的是 Golang)。

Deno 试图提供一个独立的工具来快速编写复杂功能的脚本,它将始终是单个可执行文件。就像 Web 浏览器一样,它知道如何获取外部代码。在 Deno 中,单个文件可以定义任意复杂的行为,而无需任何其它工具。

Ryan Dahl 认为过去他在设计 Node 时犯了一些错误,包括安全性、构建系统、package.json、node_modules、index.js 等等,并表示 Node 存在的种种不足导致有许多严重 bug 问题且不可回避,当前 JavaScript 和周围的软件基础架构已经发生了巨大的变化,值得进行简化,于是他重新设计了 Deno 这门脚本语言。

Rust API

今天正式发布的 1.0 版本带来了命令行界面 CLI 1.0。Deno 本身并不是一个单体的程序,而是设计为 Rust crate 的集合,以允许在不同的层进行集成。Deno 中的 Rust crate deno_core 不依赖于 TypeScript 或 Tokio,它只是提供了操作和资源基础架构。也就是说,它提供了一种将 Rust 特性绑定到 JavaScript promise 的有组织方式。CLI 则完全建立在 deno_core 之上。

rusty_v8 crate 提供高质量的 V8 C++ API 的 Rust 绑定。该 API 尝试尽可能与原始 C++ API 匹配,它是零成本的绑定,因为 Rust 中暴露的对象与在 C++ 中操作的对象完全相同。

HTTP 服务器性能

Deno 的 HTTP 服务器是采用 TypeScript 在原生 TCP socket 的顶层实现的,Node 的 HTTP 服务器使用 C 语言编写,并作为对 JavaScript 的高级绑定暴露。一直以来 Deno 拒绝将原生 HTTP 服务器绑定添加进来,因为这还需要优化 TCP socket 层,更常见的是优化 op 接口。

Deno 是一个合适的异步服务器,每秒 25k 请求足以满足大多数目的,此外,由于普遍使用 Promise,Deno 需要有更好的尾部延迟。目前 Deno HTTP 服务器每秒处理约 25 000 个请求,最大延迟为 1.3 毫秒,与之相比,Node 程序每秒处理 34 000 个请求,最大延迟介于 2 到 300 毫秒之间。

这样看来,作者认为 Deno 的 HTTP 服务器还有更多的性能优势,并表示希望在将来的版本中实现这一目标。

具体关于 HTTP 服务器性能,可以查看:

https://deno.land/benchmarks

插件/扩展

Deno 1.0 还带来了一个新生的插件系统,用于通过自定义操作扩展 Deno 运行时。但是,此接口仍在开发中,并已标记为不稳定。

此外,发布公告中还提及 Deno 稳定性与兼容性等内容,还介绍了接下来将会把 TSC 移植到 Rust,最终加速类型检查,提高从 TS 解析到 JS 性能的计划,详情查看:

https://deno.land/v1

Ubuntu 20.04 LTS(Focal Fossa)发布

admin阅读(37)

Ubuntu 20.04 LTS 已经发布,代号 Focal Fossa,这是 Ubuntu 的第 8 个长期支持版本,将提供 5 年支持。桌面、服务器版本和云等版本全线更新,并且一系列 Ubuntu 衍生系统也更新到 20.04,包括 Kubuntu、Ubuntu Budgie、Ubuntu MATE、Lubuntu、Ubuntu Kylin 和 Xubuntu。

Ubuntu 20.04 LTS 新特性

首先是主题变化,Yaru 会有一个从亮到暗的主题变化可选,该主题下的复选框、单选按钮以及滑块和进度条等,都不再呈蓝色或绿色,而以紫色取代之。从绿色切换到紫色,整体上减少了纷杂的色彩,同时也不破坏 Ubuntu 本身的和谐。

具体可以查看:https://www.oschina.net/news/112837/ubuntu-yaru-theme-changes

其次,Ubuntu 社区的另一个期待已久的需求也得到满足,系统将删除预装的 Amazon 应用。Ubuntu 上的 Amazon 图标一直就挂在桌面,这早已被人吐槽,因为它比较鸡肋,相关调查数据也反映了这一点。此次变化,特别是对于普遍不习惯首选 Amazon 购物的中国人来说,是一大好事。

Ubuntu 20.04 使用 Linux 5.4 内核,该版本具有内核锁定模式和 exFAT 支持等新特性。

内核锁定功能主要是为了防止 root 帐户篡改内核代码,从而在用户态进程和代码之间划清界限。启用该功能后,即便是 root 帐户也无法访问某些内核功能,从而保护操作系统免受受损的 root 帐户影响。

exFAT 文件系统则是 FAT32 的替代者,它由微软开发,但是不仅用于 Windows 系统,目前 exFAT 在整个电子行业中都得到了广泛应用,特别是 SD 卡、USB 闪存驱动、数码相机和 MP3 播放器中使用最为充分,你平时用这些电子产品的时候,多半就使用到了 exFAT 技术。

另一方面,在 19.10 版本中引入的 ZFS 作为根目录的支持也进一步得到改进,现在版本 0.8.3,主要亮点包括:

  • 原生加密(启用了硬件加速)
  • 设备移除
  • Pool TRIM
  • 顺序 scrub 与 resilver

效果可以查看:Ubuntu 20.04 ZFS 快照初体验

此外,20.04 其它增强功能包括(一些是来自 Linux 内核的能力):

  • GNOME 从 v3.34 升级到 v3.36,带来:
    • 新的锁屏设计
    • 新的系统菜单设计
    • 新的 app 折叠设计
    • 更流畅,窗口和概述动画、JavaScript 执行、鼠标移动和窗口移动的 CPU 使用率更低
    • 10 位深色支持
    • X11 分数比例缩放
  • 游戏相关的改进
  • 支持树莓派(Pi 2B、Pi 3B、Pi 3A+、Pi 3B+、CM3、CM3+、Pi 4B)
  • Ubuntu 20.04 LTS 附带了最新的工具链,包括 glibc 2.31、OpenJDK 11、rustc 1.41、GCC 9.3、Python 3.8.2、ruby 2.7.0、php 7.4、perl 5.30 的新上游版本、golang 1.13
  • Mesa 20.0 OpenGL 技术栈
  • BlueZ 5.53
  • PulseAudio 14.0 (prerelease)
  • Firefox 75.0
  • Thunderbird 68.7.0
  • LibreOffice 6.4
  • 默认 Python 3.8,不再提供 Python 2.7
  • QEMU 更新至 4.2 版本
  • 通过调制解调器 NetworkManager 后端支持 GSM 调制解调器
  • 节能方面的重大改进
  • 大量 USB 3.2 和 Type-C 改进
  • ……

详情查看更新说明:

https://wiki.ubuntu.com/FocalFossa/ReleaseNotes

下载地址:

http://releases.ubuntu.com/20.04

Ubuntu 其它衍生版本:

关于 Ubuntu 20.04 LTS,还可以查看相关内容:

Redis 6.0.0 GA 稳定版本发布

admin阅读(44)

Redis 创始人宣布 Redis 6.0.0 稳定版正式 GA。从首个 RC 版本到正式 GA 经历了四个月左右的时间,正如 Redis 作者 antirez 所说,这是迄今最“企业”化的版本(SSL 与 ACL 等特性与企业极相关),也是最大的版本,同时也是参与人数最多的版本。GA 版本除了比 RC1 更稳定,还对部分功能进行了重新设计或是进一步的改进。重要的新特性已在 RC1 中公布过:

  • 许多新的模块 API(modules API)
  • 更好的过期周期(expire cycle)
  • SSL
  • ACL
  • RESP3
  • 客户端缓存
  • 线程 I/O
  • 在副本上进行无盘复制
  • Redis-benchmark 集群支持与 Redis-cli 改进
  • Systemd 支持重写
  • Redis 集群代理与 Redis 6 一起发布(位于不同仓库)
  • Disque 模块与 Redis 6 一起发布(位于不同仓库)
  1. 对客户端缓存某方面的功能进行了重新设计,主要是放弃了“缓存插槽”(caching slot)改为使用键名(key name)。另外还新增了“广播模式”(broadcasting mode),当使用广播模式时,服务器不需要记住每个客户端请求的 key。相反,客户端会订阅 key 的前缀:每当有匹配前缀的 key 被修改时,客户端就会收到通知。
  2. 用于主从复制的 RDB 文件如果不再使用会被删除
  3. 新的 ACL LOG 命令,可查看不遵循 ACL 权限的客户端(例如访问了无权限的命令和 key,以及验证失败),主要用于调试 ACL 问题。此外还有重新实现的 ACL GENPASS,它使用了基于 SHA256 的 HMAC 加密算法。
  4. 改进 PSYNC2 主从复制协议
  5. 改进 Redis 命令行的超时选项
  6. 提升 RDB 文件的加载速度(~20/30% 的提升)
  7. 新的 STRALGO 命令,实现了复杂的字符串算法。这是一个重要的算法,主要用于比较冠状病毒的 RNA(以及其他生物体的 DNA 和 RNA)

重要新特性介绍

RESP3

这是 Redis 6 中的新网络协议,但它是可选的,连接以 RESP2 模式开始,只有使用新的 HELLO 命令进行握手时,才进入新的协议模式。为什么要使用新协议?因为旧的语义不够。此外,RESP3 中还有其它功能,但是主要能力还是直接从 Redis 返回复杂的数据类型,而客户端对于数据类型的转换是透明的。

ACL

作者认为 Redis 需要 ACL,因为人们在更大的环境中需要更好地控制哪些客户端可以执行某些操作。同时,向 Redis 添加 ACL 的另一个要点是隔离,以保护数据免受应用程序错误的侵害。Redis 中还为 ACL 提供了 Redis 模块接口,因此开发者可以编写自定义身份验证方法。

SSL

这一特性值得一提的是,工作是完全在没有 antirez 参与的情况下完成的,这显示了 Redis 开发过程的变化。这可能需要简单结合一下背景:Redis 6 中 commit 次数最多的是 antirez,达到 685 次,而排在第二位的 zhaozhao.zz commit 数量是 81。

客户端缓存

antirez 此前已经详细介绍过该特性,我们也有相关分享:Redis 6 将采用全新协议 RESP3,以提供客户端缓存功能。当使用者需要进行快速存储或快速取操作时,就需要在客户端内存中存储一小部分信息,这可以降低程序获取数据时的延迟。

但是现在 antirez 认为这是 Redis 6 最不成熟的特性,他想在 Redis 6 GA 之前对此进行改进。可能会添加一个新模式,该新模式要求服务器不维护有关客户端的状态,或者根本不维护任何状态,并与更多消息进行交易。目前某些“缓存插槽”中过期的信息无法单一合并,antirez 表示一月份关于此特性还有更多工作要做。

Disque 成为模块

Disque 目的是构建分布式的内存中消息代理,此前它是一项实验功能,现在在 Redis 6 中成为模块,它可以支持集群消息总线 API,可以阻止和恢复客户端、支持计时器、模块私有数据的 AOF 和 RDB 控制功能。

集群代理

在 Redis 集群中,客户端会非常分散,现在为此引入了一个集群代理,可以为客户端抽象 Redis 群集,使其像正在与单个实例进行对话一样。同时在简单且客户端仅使用简单命令和功能时执行多路复用。

模块

Redis 6 的模块 API 达到了一个新高度,发展迅速,因为 Redis Labs 从零开始就使用模块系统来开发非常复杂的内容,使得 Redis 实际上变成一个框架,可以将系统作为模块来编写,而不必从头开始发明所有东西。

Red Hat Enterprise Linux 8.2 发布

admin阅读(73)

红帽推出了其最新的 RHEL 版本 Red Hat Enterprise Linux 8.2,专为混合云时代的互连性而构建,新功能旨在帮助组织从其他 Red Hat Enterprise Linux 订阅中获得更多价值。

Red Hat Enterprise Linux 副总裁兼总经理 Stefanie Chiras 表示,“目前,IT 组织需要利用其已建立的软件堆栈中的现有技术做更多的事情;他们需要经常与远程或有限的 IT 团队合作,以提高运营稳定性和维护服务可用性。Red Hat Enterprise Linux 8.2 通过主动、智能的监视功能和可用于企业的容器工具提供了更多功能,使IT团队能够满足当今的关键需求,同时随时准备应对云原生的未来,支持它。  ”

同时,8.2 版提供了对主动操作和安全风险管理产品 Red Hat Insights 的更新,包括:

  • 改进了对 IT 安全性、合规性状况和运营效率的可见性,有助于消除手动方法并提高管理大型复杂环境的效率,同时增强这些部署的安全性和合规性。
  • 新的策略和补丁程序服务可帮助组织定义和监视重要的内部策略,并确定哪些 Red Hat 产品咨询适用于 Red Hat Enterprise Linux 实例以及补救指南。
  • Drift service 可帮助 IT 团队将系统与基准进行比较,并提供基准以指导战略以降低复杂性并加快故障排除速度。

此版本中的其他监视性能更新包括:

  • 借助 Control Groups(cgroup)v2 改进了资源管理,旨在通过保留内存和设置使用下限/限制来帮助限制内存使用。这有助于防止特定进程消耗过多的内存并导致系统故障或减速。
  • 通过 NUMA 和子 NUMA 服务策略来优化对性能敏感的工作负载的更好功能
  • Performance Co-Pilot(PCP)5.0.2 为 Microsoft SQL Server 2019 添加了新的收集代理,以帮助收集和分析与 SQL Server 相关的各种指标,从而为数据库和操作系统调优提供更清晰的画面。
  • 红帽订阅监视,一种软件即服务(SaaS)工具,使客户能够跨混合云基础架构更轻松地查看和管理红帽企业 Linux 和红帽 OpenShift 容器平台订阅。

Red Hat Enterprise Linux 8.2 还为红帽的容器工具添加了更新。Red Hat Enterprise Linux 8.2 提供了 Red Hat 容器工具的更新的应用程序流,支持 24 个月。此外,对于希望在容器内部构建容器以获得更多隔离和安全性的组织,Skopeo 和 Buildah 的容器化版本则可在 Tech Preview 中获得

为了进一步扩展容器化工作负载的安全性,Red Hat Enterprise Linux 8.2 引入了 Udica。这是一种新工具,可以更轻松地创建以容器为中心的定制化 SELinux 安全策略。当将 Udica 应用于特定工作负载时,它可以降低进程“break out”容器并在其他容器或主机本身上引起问题的风险。

Red Hat Enterprise Linux 8.2 还引入了对红帽通用基本镜像的增强功能,包括:

  • OpenJDK 和 .NET 3.0 在构建支持 Red Hat 认证的云原生应用程序中扩展了开发人员的选择
  • 通过单个命令改善了与给定图像相关联的源代码的访问,使 Red Hat 合作伙伴更容易满足开源许可需求的源代码要求。

最后,该版本还改善了用户体验,其功能包括:

  • Red Hat Enterprise Linux 订阅注册成为安装的一部分
  • 在安装过程中启用 Red Hat Insights 的能力
  • 对 Red Hat Enterprise Linux 生命周期的持续改进

此版本随 GCC Toolset 9.1、Python 3.8 和 Maven 3.6 一起提供。

发布说明

Python 2.7.18 最后一个版本发布 Python 2 时代结束

admin阅读(49)

今年 1 月 1 日的时候,Python 2.7 正式停止维护,但是实际上还遗留有一个版本 2.7.18 没发布。20 日,官方发布了最后的这一个版本,为 Python 2 划下圆满的句号。

注:Python 2.7 在 2019 年的最后一个版本是 10 月 19 日发布的 2.7.17 版本,在它之后直到 2020 年 1 月 1 日之间产生的问题会合入最后一个版本 2.7.18。

Python 核心开发团队宣布了这一消息,“自 11 年前发布 Python 2.6 以来,Python 2.7 一直处于积极开发中。这些年来,CPython 的核心开发人员和贡献者认真地将 bug 修复应用到 2.7 分支,这是一项艰巨的任务,因为 Python 2 和 3 分支有所不同。”官方感谢 CPython 社区的奉献精神。

梳理一下 Python 2 的发布历程:

  • 2000 年 10 月 16 日,Python 2.0 发布
  • 2001 年 4 月 17 日,Python 2.1 发布
  • 2001 年 12 月 21 日,Python 2.2 发布
  • 2003 年 7 月 29 日,Python 2.3 发布
  • 2004 年 11 月 30 日,Python 2.4 发布
  • 2006 年 9 月 19 日,Python 2.5 发布
  • 2008 年 10 月 1 日,Python 2.6 发布
  • 2010 年 7 月 3 日,Python 2.7 发布
  • 2020 年 1 月 1 日,Python 2.7 停止维护
  • 2020 年 4 月 20 日,Python 2 最后一个版本 2.7.18 发布

今后 Python 2 系列真的不会再发布版本了,这是一个独特的纪念版本,下载地址:https://www.python.org/downloads/release/python-2718

深度操作系统 20 Beta – 全新出发,为你而来

admin阅读(42)

深度操作系统是一个致力于为全球用户提供美观易用、安全可靠的Linux发行版。

深度操作系统 20 Beta采取统一的设计风格,从桌面环境和应用重新进行设计,其中底层仓库、内核分别升级到Debian 10、Kernel 5.3,全新的设计带来不一样的交互体验,同时不断优化系统各个方面,带来更加丰富的应用生态和系统稳定性,本次深度应用家族也带来全新的设计和新的应用。

令您耳目一新的deepin桌面环境

焕然一新的图形界面,具备独树一帜的圆角窗口设计,自然、平滑的动画过渡效果,精美绝伦的多任务视图,别出心裁的配色与图标设计,处处精心,只为令您心动的操作体验。

全新打造的桌面应用 | 全家桶

预装大量精心设计的原创应用程序,贴心的设计,交互逻辑更贴合国人的使用习惯,使您的桌面操作体验更加丰富充盈、完整、一致、统一。

支持更多硬件的新版稳定内核

新版自带内核升级到最新Kernel 5.3版本,系统稳定性和兼容性方面得到了大大的提升,支持更多的硬件设备。

稳定可靠的Debian 10软件仓库

提升深度操作系统底层的稳定性和安全性,对软件安全漏洞的处理更加及时,对第三方应用的支持(兼容性)更好。

官方下载点:

其他下载点:

百度云(提取码:csr3)OSDN
Google Drive、MEGA、OSDN、SourceForge 正在准备中

温馨提示:

Beta版本尚有很多已知问题和尚未完善的各项功能,不建议用于生产环境和日常的主力系统。
亲爱的国际用户,由于智能镜像源仓库正在建设中,本次Beta版本取消智能镜像源功能,后期同步完成后会对此功能进行开放,敬请期待。
Deepin 20 Beta 应用商店因评论数据暂未同步,用户无法查看前期评论,待同步完成后用户可查看前期评论内容。

深度操作系统是一款针对普通用户而发行的开源桌面系统,您可自由下载、分发、修改和使用。

欢迎您关注我们的微博微信(深度操作系统)、TwitterFacebookGithub以第一时间获取最新动态和源代码,同时也欢迎您前往我们的论坛,与我们交流和分享您的快乐。

最后,我们郑重感谢为深度操作系统提供测试、文档、翻译和镜像支持的社区团队与企业,感谢你们的无私的贡献,开源有你们更精彩。也要感谢一直支持、理解和等待我们的用户,是你们给了深度操作系统不断前行的动力,和不断自我修正的勇气。

GitHub宣布向所有人免费开放所有核心功能

admin阅读(42)

每个私有库合作人数不设限,所有核心功能向所有人免费开放,这是 GitHub 放出的最新福利。

今日,GitHub CEO Nat Friedman 在官方博客中正式宣布,GitHub 所有核心功能从此对所有人都免费提供。

「在此之前,如果您的团队想使用 GitHub 进行私有开发,则必须订阅我们的付费计划。但每个开发者都应该有使用 GitHub 的权利,价格不应该成为阻碍。」

本次重大福利更新包括:

1、此前仅对个人免费的私有仓库,现在对所有账号类型开放,取消协作者数量上限;

2、GitHub Pro 现在将包括 2GB 的 Packages 存储和 10GB 的数据传输;

3、在官宣时间之前注册并已为团队服务付费的用户,订单到期之日按比例退款;

4、自 5 月 14 日起,GitHub 团队每月将为私有仓库提供 3000 分钟的操作时间;

5、……

此外,Team 付费计划的价格从每位用户每个月 9 美元降低到了 4 美元,即刻生效,也就是「四舍五入等于不要钱」。对于需要使用高级功能和企业级功能的团队来说,也可以不高的价格升级至付费计划。

去年初,GitHub 宣布私有仓库面向个人用户免费开放,提供 3 个免费协作人数的名额,如果想要更多人一起协作则需要付费。现在,不管多少人协作,都可以享受免费的私有仓库了。

这一消息的公布让广大用户「喜大普奔」。用户花钱少了,GitHub 的使用频率也高了,好像是一个双赢的结果。

自去年被微软收购之后,GitHub 宣布了一系列重大更新。去年一月,GitHub 宣布将免费开放私有代码库,即允许用户免费创建无限量的私有仓库。去年 5 月,GitHub 又加入了免费软件包管理服务。因此有网友发出了如下感叹:

这一步步的免费计划不免令人好奇,GitHub 现在这么有钱吗?有个高中的小朋友直接向 GitHub CEO Nat Friedman 提出了这个问题。Friedman 回答说,「我们的大型企业用户真的很多!」

如果你也有很多关于 GitHub 的问号,可以去这个帖子底下围观或提问:https://news.ycombinator.com/item?id=22867627。GitHub CEO 正在在线答疑。

关于此次变动的官方答疑可以参考:https://help.github.com/en/github/getting-started-with-github/faq-about-changes-to-githubs-plans

Git 诞生 15 周年

admin阅读(44)

4 月 7 日是 Git 15 周岁生日,项目主要维护者 Junio C Hamano(濱野 純)发邮件庆祝了这一日子。他在邮件中主要是感谢了各种参与者,除了代码贡献者,使得可以不断更新 Git 版本,还包括通过其它形式帮助发展 Git 社区的人,比如擅长写文档的人、了解软件商标相关法律问题的专家等。

Thanks all, and let's look forward to see the next 15 years be as wondreful years for Git as the past 15 years ;-)

濱野純提到“专业”Git 贡献者的雇主也参与到这过程中,他们可能有自己的算盘,但不一定是“邪恶的”,有可能只是对这一特定领域感兴趣而支持。不管怎么样,他们的支持,最终都会使 Git 用户受益。

Git 是当前的主流版本控制系统,采用分布式模型,便于源码管理与协作评审,具体优势包括更好的性能、更高的可靠性与分支处理等。根据一份 Stack Overflow 开发人员调查,近 90% 的开发人员使用 Git。

濱野純是一名谷歌工程师,他是 Git 的主要维护者,同时也是《入门 Git》一书的作者。15 周年之际,除了在 Git 邮件列表中发文,濱野純还接受了 Git 贡献者 Jeff King 的采访(Jeff 来自 GitHub),分享了当年接手 Git 维护的过程,以及对开发者构建软件方式的看法。

微软以 160 万美元买下史上最危险域名 corp.com

admin阅读(44)

在与域名持有者僵持了 26 年后,微软终于拥有了“魔鬼域名 Corp.com ”的所有权。

雷锋网消息,近日,据外媒报道,微软已经以 160 万美元购买了该域名。

微软在声明中写道:

为了保护系统,我们鼓励客户在规划内部域名和网络名称时养成安全的安全习惯。我们在 2009年 6 月发布了一份安全建议,并发布了一项有助于保护客户安全的安全更新。在我们对客户安全的持续承诺中,我们还获得了corp.com 域名。

需要注意的是,之所以称 Corp.com 为魔鬼域名,是因为任何人只要拥有 corp.com,就能访问全球主要公司数十万台 Windows PC 中海量的密码、电子邮件和其他敏感数据。也就是说,Corp.com 的拥有者什么都不用做,就会有海量敏感企业数据踏破门槛“投怀送抱”。

那么,微软为什么选择在此时买下它呢?故事还要从域名的持有者 Mike O’Connor 说起。

持有者 Mike O’Connor 喊话微软:这个锅请微软自己背

Corp.com 注册于 1994 年,Mike O’Connor 是 corp.com 域名的所有者 。作为一名早期的域名投资者,他在 1994 年以低价将几个国宝级珍稀域名收入囊中,包括 bar.com、cafes.com、grill.com、place.com、pub.com 和 television.com。

多年来,Mike O’Connor 靠出售域名捞金。虽然不时卖掉一些域名,但是他对 corp.com 一直“讳莫如深”,绝口不提出售之事。因为他深知这个域名的“威力”,不会轻易出手。

那么,它的“威力”究竟有多大呢?

安全研究人员这样评价说:

Corp.com 的巨大杀伤力不亚于切尔诺贝利事件,如果这个域名落入犯罪分子或者国家黑客的手中,后果将不堪设想。

2019 年,对 DNS 名称空间冲突进行过长期研究的安全专家杰夫·施密特(Jeff Schmidt)和其他专业人士做了一个“危险的实验”。他们每天记录并分析流向 Corp.com 的企业内部流量,八个月后,施密特发现超过 375000 台 Windows 电脑端正在尝试发送信息,包括尝试登录内部公司网络以及访问网络上特定共享文件。

在测试期间,施密特的公司施密特的公司 JAS Global Advisor 一度模拟本地 Windows 网络登录和文件共享环境接管了对 Corp.com 的连接请求。

大约过了一小时,他们收到了超过 1200 万封电子邮件,并且其中很多邮件都包含了敏感信息,于是施密特等人立刻终止了实验,并销毁了整个数据库。

通过这次实验,施密特等人得出了一个结论:最终控制 Corp.com 的人可能会立即拥有一个开箱即用的遍布全球的企业计算机僵尸网络 。

所以,一旦被不法分子控制,后果将不堪设想。

今年 2 月,70 岁的 Mike O’Connor 正式宣布开始考虑出售 corp.com ,要价 170 万美元,并喊话微软出来“背锅”。

“我并不缺钱,我只是希望微软站出来承担自己犯的错误。”

为什么是微软接盘?

那么,这个域名和微软什么关系呢?

雷锋网了解到,早在 1997 年,Mike O’Connor 就用这个域名开了个世界级的玩笑。

他将对域名的查询短暂地重定向到了本地成人玩具商店的网站。没过多久,他就收到了困惑的人发来的愤怒电子邮件,但这些人把这个“漏洞”抄送给了微软的联合创始人比尔·盖茨。

至于他们为什么要把这个漏洞抄送给比尔·盖茨,这还要回溯到 Active Directory 的诞生。

Active Directory 是 Windows 环境中各种与身份相关的服务的统称。系统要素彼此查找需要借助一个名为 DNS 名称传递(DNS name devolution)的 Windows 功能,这是一种网络速记方法,可以轻松查找其他计算机或服务器,而无需为这些资源指定完整的合法域名。

例如,如果一家公司运行一个名为 internalnetwork.example.com 的内部网络,而该网络上的员工希望访问一个名为“drive1”的共享驱动器,则无需键入“drive1.internalnetwork.example.com”进入Windows 资源管理器,仅键入“\\drive1\”就足够了,Windows 会负责其余的工作。

但是,如果内部 Windows 域无法映射回企业实际拥有和控制的二级域名,事情就不那么顺利了。在支持Active Directory 的 Windows 的早期版本(如 Windows 2000 Server)中,默认或示例 Directory 路径被指定为“ corp ”,并且许多公司采用了此默认设置,而没有修改成自己公司的二级域名。

值得注意的是,Windows 的早期版本实际上鼓励采用这种存在风险的设置,这使 得 Windows 计算机有可能尝试与 corp.com 共享敏感数据。

也就是说,任何控制 corp.com 的人都可以被动地拦截来自成千上万台计算机的私人通信。

事实上,多年来,Microsoft一直在试图消除corp.com的威胁,发布了数个软件更新,以帮助客户减少名称空间冲突的可能性。

但是事实上这些缓解措施收效甚微,因为很少有企业听从微软的建议部署这些修复程序。原因主要有两点:首先,这样做需要企业在一段时间内同时关闭其整个 Active Directory 网络。其次,根据微软的说法,补丁程序可能会破坏或拖慢企业日常运行所依赖的许多应用程序。

当然,微软曾经也试图购买 corp.com,据 Mike O’Connor 透露,微软当时的出价是 2 万美元,但 Mike O’Connor认为对于 corp.com 这样的四字母顶级“优质”域名来说,这个报价不符合其本身价值及市场价值,拒绝出售。

而微软此时买下 corp.com ,很可能是因为全球新冠病毒肆虐下,远程办公激增导致域名相关企业安全风险飙升有关。

不过,也有人提出疑问,微软买下最危险的域名企业就一定安全吗?

但这个答案,恐怕只能等待时间给出了。

雷锋网(公众号:雷锋网)雷锋网雷锋网

参考来源:

[1]https://krebsonsecurity.com/2020/02/dangerous-domain-corp-com-goes-up-for-sale/#more-50407

[2]https://krebsonsecurity.com/2020/04/microsoft-buys-corp-com-so-bad-guys-cant/

Red Hat Enterprise Linux 7.8 发布 附下载地址

admin阅读(167)

Red Hat Enterprise Linux (RHEL) 7.8 已发布,这是 RHEL 7 系列的最新更新,目前正处于支持周期的 “维护阶段”。此次属于次要版本的更新,主要是继续提升稳定性和可靠性,而不是增加新功能。同样地在这个维护阶段,官方建议客户应该开始规划他们升级至 RHEL 8 的策略。

红帽订阅允许用户部署适合其业务需求的版本。为了便于迁移到 Red Hat Enterprise Linux 8,红帽提供了包括现场升级在内的工具,可以精简和简化迁移过程。当 RHEL 8.2 宣布 GA 后,将有一个由 7.8 开始的升级路径。

从 7.8 开始,红帽对 RHEL 7 系列的更新将仅限于错误修复和安全修复,因此上个版本 7.7 是最后一个增加功能的版本,主要内容包括:

  • Red Hat Enterprise Linux 7.7 为构建用于在所有主要公共云上使用的云映像提供了完全的支持
  • Red Hat Container Toolkit 现在完全支持 RHEL 7.7 工作站
  • 该版本支持内核实时修补,以及其他各种主要针对云的改进
  • RHEL 7.7 还增加了 MDS/Zombieload 缓解和切换,默认情况下使用 REtpolines 作为 Spectre Variant 的两种缓解措施

详情查看 RHEL 7.8 的发布说明

https://access.redhat.com/documentation/en-us/red_hat_enterprise_linux/7/html/7.8_release_notes/overview

安全

SCAP安全指南现在提供符合澳大利亚网络安全中心(ACSC)基本八成熟度模型的配置文件。

See Section 4.11, “Security” for more information.

桌面

GNOME Classic环境中的工作区切换器已被修改。 现在,该切换器位于底部栏的右侧,它被设计为水平的缩略图带。 通过单击所需的缩略图可以在工作空间之间切换。 有关详细信息,请参见 Section 4.5, “Desktop”

下载地址:https://access.redhat.com/downloads/

百度网盘:  https://pan.baidu.com/s/1-jScJUWgRFkdx32ppb8hvw 提取码: z5f5

黑客劫持微软公司的数个YouTube帐户 以传播加密庞氏骗局

admin阅读(48)

外媒ZDNet从一位读者那里了解到,黑客已经劫持了微软公司的一些YouTube帐户,并向该公司的订阅用户广播了一种加密货币庞氏骗局。根据消息来源,这些黑客入侵似乎发生在当地时间周一。尽管向YouTube工作人员报告了这些情况,但截至外媒记者发稿前,被劫持的帐户仍在直播。

这位黑客目前正在直播前微软首席执行官比尔·盖茨(Bill Gates)在2019年6月在Village Global向听众提供有关创业公司建议的旧演讲。黑客正在直播演示文稿的变更版本,同时还要求观众参加经典的“加密货币赠品”活动-受骗者可能发送少量加密货币以使收入翻倍,但从未获得任何回报。

目前,加密货币庞氏骗局正在Microsoft US,Microsoft Europe,Microsoft News等YouTube帐户上实时流式传输。目前,YouTube上有超过19个直播视频正在直播。这些视频不仅在微软YouTube频道上播放,而且还在从其他用户手中劫持并重命名为合法Microsoft帐户的YouTube频道上播放,以扩大效果。

视频流中列出的比特币地址未收到任何交易或持有任何资金,表明没有用户落入该骗局。根据YouTube的统计信息,目前有成千上万的人观看了视频。

微软并不是受到大规模黑客入侵事件影响的唯一组织。著名的德国黑客社区Chaos Computer Club也被劫持以传播类似消息。

Linux Kernel 5.6 正式发布

admin阅读(42)

Linus Torvalds 宣布 Linux Kernel 5.6 的发布,此举也意味着 Linux 5.7 合并窗口的开放。经过一系列改进之后,Linux Kernel 5.6 版本中包含的一些亮点内容有:对 WireGuard VPN 的支持、对USB4 的初始支持、对亚马逊 Echo 智能扬声器的支持,以及许多其他显着改进。

Linus 在官方公告中表示,“我承认在进行此 5.6 版本的发布与执行另一个-rc 之间是摇摆不定的。这有比我想要的更多的更改,但是它们主要来自 davem 的网络修复程序,David 对此很满意。我看了看差异,没有一个看起来是吓人。其只是比我现阶段所希望的稍微多一点-似乎并不值得推迟发布。”

并透露,“与上周相比,大约一半的差异是网络驱动程序修订包和一些次要的核心网络修复程序。另外 20% 是工具-主要是 bpf 和 netfilter 自检(但也有一些 perf 工作)。其余的是’misc’-主要是随机驱动程序(gpio、rdma、input)和 DTS 文件。在其他地方有少量修补程序(几个 afs 修补程序、一些 vm 修补程序等)。”

针对近期肆虐的新冠病毒可能产生的影响,Linus 则表示,因为大多数工程师基本都在家办公,所以新冠状病毒爆发不太可能对下一内核更新的开发产生重大影响。不过,他也表示,由于社会疏远和大流行,预计经济将会放缓。

“我目前的假设是我们将拥有相当正常的 5.7 版本,并且当前似乎没有任何迹象可以表明该版本不会是正常的。但是,人们可能有比平常更好的原因错过了合并窗口。如果您知道某个子系统最终受到影响,请告诉我。”

Dharma 勒索软件的源代码在黑客论坛开售

admin阅读(58)

一个名为 Dharma 的勒索软件病毒的源代码周末在两个俄罗斯黑客论坛上开售。

FBI 在今年 RSA 安全会议上的一次演讲中,将 Dharma 列为近年来第二赚钱的勒索软件,在 2016 年 11 月至 2019 年 11 月之间勒索了超过 2400 万美元。现在,其源代码的售价低至 2,000 美元。

今天与 ZDNet 交谈的几名勒索软件专家表示,出售 Dharma 勒索软件代码很可能会导致其最终在公共互联网上泄漏,这将导致该勒索软件在网络犯罪集团之间更广泛的扩散,并最终导致攻击激增。

Dharma 是由资深的恶意软件作者创建的高级勒索软件。它的加密方案非常先进,自 2017 年以来一直无法解密。唯一的一次“解密”还是因为泄露了主解密密匙,而不是因为其加密的问题。