2021年11月

KDE Plasma 正在升级中,以改善类似于 GNOME shell 的概览,并为非技术用户提供更多的可用性改进。

自从 2011 年 GNOME 3 以来,活动概览在与 GNOME 的互动中起到了关键作用。尽管它在发布时受到了严厉的批评,但许多用户现在已经爱上了它,导致其他一些桌面环境也在考虑实现类似的功能。

而且,看起来 KDE Plasma 正在添加类似的东西,它就像是一个全新的类似 GNOME 的概览。让我们来仔细了解一下。

新的 Plasma 概览

Image: Vlad Zahorodnii / KDE Developer

当我偶然看到 KDE 开发者 Nate Graham 的博文 时,我注意到了一个与 GNOME 活动概览非常相似的东西。

如上面的截图所示,当你在 KDE 上按 Windows/Super 键进入概览界面时,你就会看到它。

然而,值得注意的是,它仍然处在开发版本中。而且,它已经被合并到 KDE Plasma 5.24 中去了。

但是它和 GNOME 活动概览相似吗?

它看起来确实相似,但有一些关键的区别,其中包括:

  • 在概览中,你可以完全访问底部面板。
  • 搜索功能是由 KRunner 提供的,用来寻找应用程序和活动窗口。

可以完全访问底部面板

如果你正在使用 KDE,你肯定知道底部面板。到目前为止,它与 GNOME 的概览效果最显著的区别是有任务栏。这使得用户可以访问一个统一的地方来打开应用程序,访问快速设置,并查看通知。

作为一个拥有任务栏的传统桌面理念的粉丝,这对于 Plasma 这样的传统桌面环境来说感觉非常完美。

使用 KRunner 进行强大的搜索(新增加的功能)

多年来,KRunner 无疑是 Linux 中最强大的应用程序启动器之一。它的一些神奇功能包括可以搜索:

  • 文件
  • 设置
  • 应用程序
  • 打开浏览器标签
  • 打开现有窗口

因此,KRunner 已被整合到 KWin 的概览效果中,可以让你搜索现有窗口或启动新的应用程序。

我相信很多用户会非常高兴地看到这个整合,特别是那些已经使用 KRunner 的用户。

防止用户卸载 KDE

为了改善非技术用户的用户体验,Discover(KDE 的软件中心)现在会阻止任何删除任何关键软件包的行为,比如桌面环境。

来自 PointiestStick 博客

你可能知道,这个问题是由 Linus Sebastian(Linus Tech Tips)强调的,当他在 Pop!\_OS 上安装 Steam 时,结果却删除了 GNOME、Xorg 和其他重要软件包。

所以,接下来的改进是为了解决这个问题,这对 KDE Plasma 5.24 来说是一个很好的补充。

其他改进

除了关键的亮点之外,KDE Plasma 5.24 旨在提高性能、响应速度和用户体验。

此外,也有一些细微的用户界面调整和小程序改进。要想了解更多,你应该浏览一下 Nate 的博文 以及与上述功能相关的 合并请求

总结

根据我对 KDE Plasma 的体验,它是一个非常注重生产力的桌面。KDE 在改善桌面环境的概览效果和可用性的同时,将包括一个同样具有生产力和专注性的用户界面,这是很有意义的。

如果你想尝试新的改进,恐怕你必须等待 Plasma 5.24 发布。虽然这对现在来说是要等待相当长的时间(2022 年 2 月),但我相信这将是值得的。


via: https://news.itsfoss.com/kde-plasma-5-24-dev/

作者:Jacob Crume 选题:lujun9972 译者:wxy 校对:wxy

本文由 LCTT 原创编译,Linux中国 荣誉推出

现在,很多嵌入式系统都是在 Linux 上运行的。但是,在很久很久以前,嵌入式系统要么在一个定制的专有的平台上运行,要么在 DOS 上运行。

 title=

FreeDOS 网站 宣称,大多数人使用 FreeDOS 来完成三项主要任务:

  1. 玩经典的 DOS 游戏
  2. 运行老式的 DOS 软件
  3. 运行一款嵌入式系统

但是,运行一个“嵌入式”系统的意义是什么呢?

嵌入式系统基本上是一款非常小的系统,专用于运行一个特定的任务。你可以把现在的嵌入式系统当作是 物联网(IoT)的一部分,这包括传感器、恒温器和门铃摄像头。现在,很多嵌入式系统都是在 Linux 上运行的。

但是,在很久很久以前,嵌入式系统要么在一个定制的专有的平台上运行,要么在 DOS 系统上运行。在现在,一些基于 DOS 的嵌入式系统仍然在运行,例如,收银机或电话专用交换机(PBX)系统。举个例子来说,在 2017 年,酷爱列车的人发现一个正在运行 FreeDOS 的俄罗斯的电动列车控制系统 (俄语: САВПЭ),它使用特殊的软件来控制和监控郊区列车的线路,并发布乘客通告。

在 DOS 上建立一个嵌入式系统需要定义一个最小化的 DOS 环境来运行单个应用程序。幸运的是,设置一个最小化的 FreeDOS 环境是非常容易的。从技术上来说,启动 FreeDOS 并运行 DOS 应用程序仅需要内核和一个 FDCONFIG.SYS 配置文件。

安装一款最小化的系统

我们可以使用 QEMU 仿真器来模拟一个专用的、最小化的 FreeDOS 系统,并给它分配很少的资源。为了更准确地反映一个嵌入式系统,我将定义一个只有 8 MB 的存储器和仅仅有 2 MB 的硬盘驱动器的虚拟机。

为创建这个微小的虚拟硬盘,我将使用这个 qemu-img 命令来定义一个 2M 的文件:

$ qemu-img create tiny.img 2M
Formatting 'tiny.img', fmt=raw size=2097152

下面的这行命令定义了一个 32 位的 “i386” CPU、8MB 的存储器,使用 2MB 的 tiny.img 文件作为硬盘驱动器镜像,使用 FreeDOS 1.3 RC4 LiveCD 作为 CD-ROM 介质。我们也将机器设置为从 CD-ROM 驱动器启动(-boot order=d),尽管我们只需要用它来安装系统。在我们完成所有的设置后,我们将从该硬盘启动完成的嵌入式系统:

qemu-system-i386 -m 8 -hda tiny.img -cdrom FD13LIVE.iso -boot order=d

使用 “ 现场环境模式 Live Environment mode ” 来启动系统,这将为我们提供一个正在运行的 FreeDOS 系统,我们可以使用它来将一个最小化的 FreeDOS 转移到硬盘上。

 title=

启动到 LiveCD 环境之中(Jim Hall, CC-BY SA 4.0

我们需要在虚拟硬盘驱动器上为我们的程序创建一个分区。为此,从命令行中运行 FDISK 程序。FDISK 是 FreeDOS 上的一个标准的 磁盘分区 实用程序。使用 FDISK 来创建一个单个硬盘驱动器分区,占用整个(2 MB)硬盘驱动器。

 title=

FDISK,在创建 2 MB 分区后(Jim Hall, CC-BY SA 4.0

但是,在你重新启动 FreeDOS 之前,FreeDOS 不会看到新的硬盘驱动器分区 — FreeDOS 仅在启动时读取硬盘详细信息。退出 FDISK ,并重新启动 FreeDOS 。

在重新启动后,你需要在新的硬盘驱动器上创建一个 DOS 文件系统。因为这里只有一个虚拟硬盘,FreeDOS 将识别其为 C: 驱动器。你可以使用 FORMAT 命令来在 C: 驱动器上创建一个 DOS 文件系统。使用 /S 选项将把操作系统文件(内核,外加一个 COMMAND.COM shell 的副本)转移到新的驱动器上。

 title=

格式化新的驱动器来创建一个 DOS 文件系统(Jim Hall, CC-BY SA 4.0 你已经创建了硬盘驱动器并将其格式化,现在,你可以安装应用程序,这些应用程序是将会在新安装的嵌入式系统上运行的。

安装专用的应用程序

嵌入式系统实际上只是一个运行在一个专用系统上的单一用途的应用程序。这些应用程序通常是为其将要控制的系统而自定义构建的,例如,一台收银机、显示终端、或控制环境。在这个演示中,让我们使用一个来自 FreeDOS 1.3 RC4 安装光盘中的程序。它需要足够小,以适应我们为其创建的 2 MB 微型硬盘驱动器。这可以是任何东西,所以,为了好玩,让我们把它变成一个游戏。

FreeDOS 1.3 RC4 包含一些有趣的游戏。我喜欢的一个游戏是一个名称为 “Simple Senet” 的棋类游戏。它是一个基于 Senet 的古埃及棋类游戏。游戏的细节对这个演示并不重要,我们将安装它,并将其设置为嵌入式系统的专业应用程序。

为安装应用程序,在 FreeDOS 1.3 RC4 LiveCD 上,进入 \PACKAGES\GAMES 目录。你将在其中看到一个很长的软件包列表,而我们想要的 SENET.ZIP

 title=

来自 FreeDOS 1.3 RC4 的一个游戏软件包列表(Jim Hall, CC-BY SA 4.0

为解压缩 “Simple Senet” 软件包到虚拟硬盘上,使用 UNZIP 命令。所有的 FreeDOS 软件包都是 Zip 文件,因此,你可以使用任意与 Zip 兼容的档案实用程序来管理它们。FreeeDOS 1.3 RC4 包含创建 Zip 档案文件的 ZIP 和提取 Zip 档案文件的 UNZIP 。它们都来自 Info-Zip 项目

UNZIP SENET.ZIP -d C:\FDOS

通常,使用 UNZIP 来提取 Zip 文件到当前目录中。在命令行结尾的 -d C:\FDOS 选项将告诉 UNZIP 来提取 Zip 文件到 C:\FDOS 目录之中。(-d 指的是“目的地”)

 title=

解压缩 Simple Senet 游戏(Jim Hall, CC-BY SA 4.0

为了让嵌入式系统启动时运行 “Simple Senet” 游戏,我们需要告诉 FreeDOS 来使用 Senet 作为系统的 “shell” 。 默认的 FreeDOS 的 shell 是 COMMAND.COM 程序,但是,你可以在 FDCONFIG.SYS 内核配置文件中使用 SHELL= 指令来定义一个不同的 shell 程序。我们可以使用 FreeDOS 的 Edit 来创建新的 C:\FDCONFIG.SYS 文件。

 title=

(Jim Hall, CC-BY SA 4.0

如果你需要定义其它的参数来支持嵌入式系统,你可以将其添加到 FDCONFIG.SYS 文件之中。例如,你可能需要使用 SET 动作来设置环境变量,或者使用 FILES=BUFFERS= 语句来调整 FreeDOS 内核。

运行嵌入式系统

在全面地完成嵌入式系统的定义之后,现在,我们可以重新启动计算机来运行嵌入式应用程序。运行一个嵌入式系统通常仅需要有限的资源,因此,在这个演示中,我们需要调整 QEMU 命令行来只从硬盘驱动器(-boot order=c)中启动,而不再定义一个 CD-ROM 驱动器:

qemu-system-i386 -m 8 -hda tiny.img -boot order=c

当 FreeDOS 内核启动时,它将读取 FDCONFIG.SYS 文件以获取启动参数。然后,它将使用 SHELL= 行的定义来运行 shell 。这将自动地运行 “Simple Senet” 游戏。

 title=

作为一个嵌入式系统运行 Simple Senet(Jim Hall, CC-BY SA 4.0

我们已经使用了 “Simple Senet” 来演示如何在 FreeDOS 上设置一个嵌入式系统。根据你的需要,你可以使用任何你喜欢的独立应用程序。在 FDCONFIG.SYS 中使用 SHELL= 行将其定义为 DOS 的 shell ,FreeDOS 将在启动时自动地启动该应用程序。

不过,在这里有一个限制。嵌入式系统通常不需要退回到一个命令行提示符之中,因此这些专用应用程序通常不允许用户退出到 DOS 之中。如果你设法退出了嵌入式应用程序,你可能会看到一个 “Bad or missing Command Interpreter” 的提示,你将需要在其中输入一个新的 shell 的完整路径。对于一个以用户为中心的桌面系统来说,这将是一个问题。但是在一个嵌入式系统上,它只专注执行一种工作的,那么,你也永远不需要退出嵌入式应用程序。


via: https://opensource.com/article/21/6/freedos-embedded-system

作者:Jim Hall 选题:lujun9972 译者:robsean 校对:wxy

本文由 LCTT 原创编译,Linux中国 荣誉推出

Rust 语言社区内讧,审核团队集体辞职

昨天,Rust 社区“帮助维护行为准则和社区标准”的审核团队突然宣布辞职,且即刻生效。他们用拉取请求发出了 该声明,称辞职“是为了抗议核心团队不对任何人负责,除了他们自己。”据悉,这次冲突爆发的原因由来已久,有人 指责 Rust 核心团队权力过大,他们之外的人无法决定谁加入核心团队,在 Rust 社区形成了一种“寡头政治”。也有人认为与 AWS 试图 “接管” Rust 有关。但目前具体情况尚没有得到澄清。而 Rust 核心团队已经火速任命了两位新的 审核团队 成员,以取代辞职的三位前成员。

老王点评:目前发展的很好的 Rust 语言,突然以这样的形式发生内讧,令整个社区为之震动,无论如何,我觉得这对 Rust 语言的发展是不利的。

JetBrains 发起成立 PHP 基金会

为 78% 的网站提供了动力的 PHP 已经有 26 年历史 了,终于有自己的基金会了,虽然这个基金会的成立原因让我百味杂陈。据悉,这项 决定 背后的主要原因之一,是 PHP 的主要贡献者 Nikita Popov 决定离开 JetBrains,将精力从 PHP 转向 LLVM 。他在为 JetBrains 工作的近三年时间里,为 PHP 7.4/8.0/8.1 这三个大版本做出了重要贡献。该基金会 的成员除了 JetBrains 还包括 WordPress 背后的 Automattic,以及 Laravel、Zend 等公司。

老王点评:我居然忘记了 PHP 一直没有自己的基金会。虽然这次是由于主要贡献者离开而成立,但是希望可以带来更好的发展。

因微软赏金太少,安全研究人员曝光 Windows 提权零日漏洞

有安全研究人员在推特上说:由于微软调整了漏洞赏金计划,其原本想提交的一个影响所有受支持 Windows 操作系统版本的提权漏洞的“认定价值”,从 10000 美元瞬间跌到了 1000 美元。他称,大家对微软的新漏洞赏金政策感到十分沮丧,因而将其发现的漏洞 公之于众。有安全研究人员认为他披露的漏洞,很容易让普通用户提权获得 SYSTEM 系统权限。

老王点评:虽然说微软这样的做法有些不厚道,但是一怒曝光也欠考虑。如果不满意微软的赏金,你可以不挖啊,这样直接曝光和利用漏洞做黑产有什么区别?

它被称为“Notion 的开源替代品”,AppFlowy 旨在让你可以完全控制你的数据和定制选项。

Notion 是深受团队和个人欢迎的生产力应用之一,而现在我们似乎有希望获得一个有前途的开源替代品。

这里为还没用过 Notion 的人介绍一下,Notion 是一个多功能合一的生产力应用,可以用于创建/管理任务、笔记、项目、数据,以及组建维基。

换句话说,它能让你自由组织你的 工作流 workflow ,让你在一个地方就能集中完成所有事情。更进一步,Notion 还支持连接团队或邀请他人的协作功能。

那么,如果有一个可以提供类似 UI 和功能的开源应用会怎么样?

这就是 AppFlowy。

什么是 AppFlowy

Source: AppFlowy.io

AppFlowy 和 Notion 非常相像,但有一个巨大的区别,那就是它是 100% 开源的。

虽然它还处在一个积极开发中的状态,但已经吸引到了不少的关注。至少可以说,尽管它是一个全新的东西,但任何开源替代项目都是令人兴奋的!

正如他们 GitHub 页面的表述,说明了为什么开发者们想要创造一个 Notion 的替代品:

我们都知道 Notion 有其局限性。比如说脆弱的数据安全性和糟糕的移动设备端兼容性。同样,其它一些协作工作管理工具替代品也具有各自的局限性。

因此,他们希望他们的的用户既拥有 Notion 的功能特性,又具备良好的数据安全性和由社区驱动的良好的原生体验。

他们也明确表示不想在功能特性和设计上与 Notion 相竞争。

坦率的讲,我们并没有声称在功能和设计上要优于 Notion,至少现在还是如此。此外,我们当前的首要任务也不在于提供更多的功能。相反,我们期望培养一个社区,使制作复杂工作场所管理工具的知识和设施民主化,同时通过为个人和企业配备一个多功能积木工具箱,使他们能够自己创造美好的事物。

听起来很吸引我!

继续关于 AppFlowy 的更多信息:

AppFlowy 的首个 macOS 版本已经在几天前发布了。它是用 Flutter 和 Rust 构建的。

它的目标是让用户和团队能够完整控制他们的数据和定制。他们还表示,他们希望提供包括移动设备在内的跨平台的原生体验。除此之外,你还可以离线访问你的工作区,这一点是与 Notion 不同的。

别忘了,社区可以发布定制主题和模板给他人使用,你可以按照你的需求任意定制。用户对它的发展能产生直接的影响。

它还将支持插件以扩展应用的功能。因此,即使你不具有任何编程经验,你也仍然可以选择使用这些插件来增强你工作空间的功能。并且,由于它的 UI 和 Notion 本身非常相似,如果你以后想要在两者之间切换,也不会让你感觉有太大的改变。

是否仅支持 macOS ?

到目前为止只有 macOS 的用户可以尝鲜使用 AppFlowy。但 Linux 和 Windows 客户端也在开发之中。你可以持续关注它的 GitHub 主页 或订阅官网的最新通知。

开发者还希望能带来更多视觉上的改变和优化。

当然,它仍然处在开发阶段。所以也别期望它现在就能替代 Notion。一些类似于 拖放模式 drag/drop 和离线模式的功能仍然还在它的 路线图 之中。

如果你有兴趣的话,可以访问它的官方网站或 GitHub 页面获取更多的信息,以及为其发展做出贡献。

总而言之

有了社区的支持,AppFlowy 可能是 Notion 的可靠替代品。基于免费和开源的事实让它一开始就吸引大量个人和团队来试用它。

我也开始期待它尽快增加对 Linux 的支持,我知道它已经在开发中了。

你如何看待 AppFlowy? 你会计划试用它吗?


via: https://news.itsfoss.com/appflowy-development/

作者:Rishabh Moharir 选题:lujun9972 译者:zengyi1001 校对:wxy

本文由 LCTT 原创编译,Linux中国 荣誉推出

自动化是 DevOps 的关键,但是,是否任何事都可以自动化?

 title=

自动化控制了那些手工的、费力的和容易出错的过程,用运行自动化脚本的计算机代替了执行手工任务的工程师。每个人都认同手工流程是健康的 DevOps 模式的敌人。一些人认为自动化不是一件好事,因为它取代了辛勤工作的工程师,而另一些人则意识到它提高了一致性、可靠性和效率,节省了时间,(最重要的是)使工程师能够聪明地工作。

“DevOps 并不只是自动化或者基础架构即代码。” — Donovan Brown

自从上个世纪 80 年代早期开始使用自动化流程和工具链以来,每当我听到或读到“自动化一切”的建议时,我总是会激动不已。虽然在技术上可以实现一切自动化,但自动化是复杂的,并且需要付出开发、调试和维护方面的代价。如果你曾经重新启用一个许久不用的 Azure 资源管理器(ARM)模板或很久以前编写的宝贵维护脚本,并期望它在几个月或几年之后仍然能够完美地执行,那么你就会明白,自动化就像任何其他代码一样,是脆弱的,需要持续的维护和培养。

所以,你应该对什么进行自动化并在何时进行自动化?

  • 当你手动执行自动化流程超过一两次
  • 当你需要经常地持续地执行自动化流程
  • 自动化任何可被自动化的

更重要的是,什么是你不应该自动化的?

  • 不要自动化一次性的流程,因为不值得投入,除非你会重新使用它作为参考文档,并定期验证它的可用性
  • 不要自动化高度不稳定的流程,因为太复杂且昂贵
  • 不要自动化有问题的流程,在自动化前先修复它们

举例来说,我的团队使用我们通用的协作和工程系统来不断的监控数百个用户活动。如果一个用户在三个月或者更长时间处于非活动状态,并且这个用户被分配了一个昂贵的许可证,我们就会重分配这个用户一个功能少一些但是免费的许可证。

如图 1 所示,这是一个没有技术挑战性的流程。这是一个令人费解且容易出错的过程,尤其是在执行上下文时与其他开发和运维任务切换时。

 title=

图 1 手工流程切换用户许可证

顺带的,这里有一个用简单三步创建的价值流图的例子:

  1. 可视化所有活动: 列出用户、过滤用户、重置许可证。
  2. 确定利益相关者,即运营和授权团队。
  3. 措施:
* 总交货时间(TLT)= 13 小时
* 总周期时间(TCT) = 1.5 小时
* 总效率百分比 = TLT/TCT*100 = 11.5%

如果你在人群流量大和容易看到的区域挂一个这些可视化的副本,比如在你的团队的讨论区、餐厅,或在去洗手间的路上,你将引发大量的讨论和主动反馈。例如,从视觉上看,很明显,手工任务是一种浪费,主要是由于漫长的流程等待时间造成的。

让我们研究一个简单的 PowerShell 脚本,它可以自动化该流程,如图 2 所示,将总交付时间从 13 小时减少到 4 小时加 60 秒,并将总体效率从 11.5 提高到 12.75%。

 title=

图 2 半自动化的 PowerShell 脚本切换用户许可

PowerShell 是一种开源的基于任务的脚本语言。它可以在 GitHub 上找到。它构建在 .NET 上,允许你自动化 Linux、macOS 和 Windows 流程。具有开发背景的用户,特别是 C# 用户,将享受到 PowerShell 的全部好处。

下面的 PowerShell 脚本示例通过它的服务 REST APIAzure DevOps 进行通信。脚本结合了在图 1 中的手动列表用户和过滤用户任务,识别了 Demo 组织中的所有两个月没有活动的、使用基本许可证或更昂贵的基本+测试许可证的用户,并将用户的详细信息输出到控制台。很简单!

首先,设置认证标头和其他变量,这些变量将在稍后的初始化脚本中使用:

param(
  [string]   $orgName       = "DEMO",
  [int]      $months        = "-2",
  [string]   $patToken      = "<PAT>"
)

# Basic authentication header using the personal access token (PAT)
$basicAuth = ("{0}:{1}" -f "",$patToken)
$basicAuth = [System.Text.Encoding]::UTF8.GetBytes($basicAuth)
$basicAuth = [System.Convert]::ToBase64String($basicAuth)
$headers   = @{Authorization=("Basic {0}" -f $basicAuth)}

# REST API Request to get all entitlements
$request_GetEntitlements    = "https://vsaex.dev.azure.com/" + $orgName + "/_apis/userentitlements?top=10000&api-version=5.1-preview.2";

# Initialize data variables
$members              = New-Object System.Collections.ArrayList
[int] $count          = 0;
[string] $basic       = "Basic";
[string] $basicTest   = "Basic + Test Plans";

接下来,使用此脚本查询所有授权,以识别不活动用户:

# Send the REST API request and initialize the members array list.
$response = Invoke-RestMethod -Uri $request_GetEntitlements -headers $headers -Method Get
$response.items | ForEach-Object { $members.add($_.id) | out-null }

# Iterate through all user entitlements
$response.items | ForEach-Object {
  $name    = [string]$_.user.displayName;
  $date    = [DateTime]$_.lastAccessedDate;
  $expired = Get-Date;
  $expired = $expired.AddMonths($months);
  $license = [string]$_.accessLevel.AccountLicenseType;
  $licenseName = [string]$_.accessLevel.LicenseDisplayName;
  $count++;

  if ( $expired -gt $date ) {

    # Ignore users who have NEVER or NOT YET ACTIVATED their license
    if ( $date.Year -eq 1 ) {
      Write-Host " **INACTIVE** " " Name: " $name " Last Access: " $date "License: " $licenseName
    }
    # Look for BASIC license
    elseif ( $licenseName -eq $basic ) {
         Write-Host " **INACTIVE** " " Name: " $name " Last Access: " $date "License: " $licenseName
    }
    # Look for BASIC + TEST license
    elseif ( $licenseName -eq $basicTest ) {
        Write-Host " **INACTIVE** " " Name: " $name " Last Access: " $date "License: " $licenseName
    }
  }
}

当你运行脚本时,你将得到以下输出,你可以将其转发给授权团队,以重置用户许可证:

**INACTIVE** Name: Demo1 Last Access: 2019/09/06 11:01:26 AM License: Basic
**INACTIVE** Name: Demo2 Last Access: 2019/06/04 08:53:15 AM License: Basic
**INACTIVE** Name: Demo3 Last Access: 2019/09/26 12:54:57 PM License: Basic
**INACTIVE** Name: Demo4 Last Access: 2019/06/07 12:03:18 PM License: Basic
**INACTIVE** Name: Demo5 Last Access: 2019/07/18 10:35:11 AM License: Basic
**INACTIVE** Name: Demo6 Last Access: 2019/10/03 09:21:20 AM License: Basic
**INACTIVE** Name: Demo7 Last Access: 2019/10/02 11:45:55 AM License: Basic
**INACTIVE** Name: Demo8 Last Access: 2019/09/20 01:36:29 PM License: Basic + Test Plans
**INACTIVE** Name: Demo9 Last Access: 2019/08/28 10:58:22 AM License: Basic

如果你将最后一步自动化,自动将用户许可设置为一个自由的利益相关方许可,如图3所示,你可以进一步将总体交付时间减少到65秒,并将总体效率提高到77%。

 title=

图 3 完全自动化的基于 Powershell 的流程来切换用户许可证。

这个 PowerShell 脚本的核心价值不仅在于能够实现 自动化,还在于能够 定期持续快速地 执行这个流程。进一步的改进是使用 Azure 管道等调度器每周或每天触发脚本,但我将把程序化的许可证重置和脚本调度保留在未来的文章中。

这里有一个图表,可以直观地看到进展情况:

 title=

图 4,措施,措施,措施

我希望你能喜欢这个简短的关于自动化、PowerShell、REST API 和价值流图的介绍。请在评论中分享你的想法和反馈。


via: https://opensource.com/article/20/2/devops-automation

作者:Willy-Peter Schaub 选题:lujun9972 译者:FigaroCao 校对:wxy

本文由 LCTT 原创编译,Linux中国 荣誉推出

密码学家对加密货币使用“加密”这个词不满意

密码学家门一直 向公众澄清 加密 crypto 是指 密码学 cryptography ”,而不是“ 加密货币 cryptocurrency ”。他们甚至还专门做了一个网站,他们说,“几十年来,‘crypto’一直被用作与密码学有关的事物的速记和前缀。”并且,密码学家们不准备向“一个可能无法在政府监管下生存的概念”让步。而事实上,在加密货币这个词中,前缀 crypto 指的就是密码学。

老王点评:你说的没错,但是我想早晚 crypto 会被更多人特指加密货币。

德国一个州正在将其 25000 台电脑从 Windows 转向 Linux

德国北部的石勒苏益格-荷尔斯泰因州计划 改用开源软件,到 2026 年底,公务员和雇员(包括教师)使用的所有 25000 台计算机上的微软 Office 将被 LibreOffice 取代,Windows 操作系统将被 GNU/Linux 取代。该州议会已经将从专有系统过渡到开放系统的步骤编入法规。他们说,“我们已经在我们的 IT 部门测试了两年的 LibreOffice,我们的经验很清楚:它很有效,” 他们目前正在研究适合他们目的的五个发行版,但还没有选择哪个发行版作为标准。

老王点评:可能已经被德国地方拥抱开源的事迹麻木了,毕竟这不算什么大事是吧,对于 Linux 来说?

《第 27 届互动小说年度大赛》决出胜利者

周六下午,91 名极客在 Twitch 上听取了《第 27 届互动小说年度大赛》的获奖者名单。今年的比赛吸引了 71 个参赛作品,并筹集了约 1 万美元的现金奖励,第一名获得数百美元的奖金,前三分之二的人不等的分配了剩余奖金,最少的得到了 10 美元。此外还有很多有趣的非现金奖。第一名的作品有一个奇怪的标题《然后你来到了一个与前一个不一样的房子》。在这个文本冒险游戏中,你扮演一个少年,他开始出门……玩一个文本冒险游戏《贪吃的精灵:冒险 #1》……

老王点评:真是小众而有趣的活动,你听说过互动小说和文本冒险游戏吗?