mirror of
https://github.com/LCTT/TranslateProject.git
synced 2024-12-26 21:30:55 +08:00
Merge remote-tracking branch 'LCTT/master'
This commit is contained in:
commit
48297158c2
97
published/20190604 5G will augment Wi-Fi, not replace it.md
Normal file
97
published/20190604 5G will augment Wi-Fi, not replace it.md
Normal file
@ -0,0 +1,97 @@
|
||||
[#]: collector: (lujun9972)
|
||||
[#]: translator: (GraveAccent)
|
||||
[#]: reviewer: (wxy)
|
||||
[#]: publisher: (wxy)
|
||||
[#]: url: (https://linux.cn/article-11098-1.html)
|
||||
[#]: subject: (5G will augment Wi-Fi, not replace it)
|
||||
[#]: via: (https://www.networkworld.com/article/3399978/5g-will-augment-wi-fi-not-replace-it.html)
|
||||
[#]: author: (Zeus Kerravala https://www.networkworld.com/author/Zeus-Kerravala/)
|
||||
|
||||
|
||||
5G 会增强 Wi-Fi,而不是取代它
|
||||
======
|
||||
> Aruba 战略和企业发展副总裁 Jeff Lipton 为 5G 炒作增添了一些干货,讨论了它和 Wi-Fi 如何协同工作以及如何最大化两者的价值。
|
||||
|
||||
![Thinkstock][1]
|
||||
|
||||
如今可以说没有技术主题比 [5G][2] 更热。这是最近 [移动世界大会][3] 节目的一个主题,并且已经在其他活动中占据了主导地位,例如 Enterprise Connect 和我参加的几乎所有供应商活动。
|
||||
|
||||
一些供应商将 5G 定位为解决所有网络问题的灵丹妙药,并预测它将消除所有其他形式的网络。像这样的观点显然是极端的,但我相信 5G 会对网络行业产生影响,网络工程师应该意识到这一点。
|
||||
|
||||
为了帮助为 5G 炒作带来一些现实感,我最近采访了一家惠普公司旗下的 Aruba 公司的战略和企业发展副总裁 Jeff Lipton,因为我知道惠普已经深入参与了 5G 和 Wi-Fi 的发展。
|
||||
|
||||
![Jeff Lipton, VP of strategy and corporate development, Aruba][4]
|
||||
|
||||
### Zeus Kerravala: 5G 被吹捧为“明日之星”。你是这样看的吗?
|
||||
|
||||
**Jeff Lipton:** 接下来的重点是连接“事物”并从这些事物中产生可操作的见解和背景。5G 是服务于这一趋势的技术之一。Wi-Fi 6 是另一个,还有边缘计算、蓝牙低功耗(BLE)、人工智能(AI)和机器学习(ML)。这一切都很重要,全都有自己的用武之地。
|
||||
|
||||
### 你是否在企业中看到 5G 的风头盖过 Wi-Fi?
|
||||
|
||||
**Lipton:** 与所有蜂窝接入一样,如果你需要<ruby>宏观区域覆盖<rt>macro area coverage</rt></ruby>和高速切换,使用 5G 是合适的。但对于大多数企业级应用程序而言,它通常不需要这些功能。从性能角度来看,[Wi-Fi 6][5] 和 5G 在大多数指标上大致相等,包括吞吐量、延迟、可靠性和连接密度。它们并不相似的地方在经济方面,Wi-Fi 要好得多。我不认为很多客户愿意用 Wi-Fi 交换 5G,除非他们需要宏观覆盖或高速切换。
|
||||
|
||||
### Wi-Fi 和 5G 可以共存吗? 企业如何一起使用 5G 和 Wi-Fi?
|
||||
|
||||
**Lipton:** Wi-Fi 和 5G 可以共存并且应该是互补的。5G 架构将蜂窝核心和无线接入网络(RAN)分离。因此,Wi-Fi 可以是企业无线电前端,并与 5G 核心紧密连接。由于 Wi-Fi(特别是 Wi-Fi 6)的经济有利,并且性能非常好,我们设想许多服务提供商会使用 Wi-Fi 作为其 5G 系统的无线电前端,充当其分布式天线(DAS)和小型蜂窝系统的替代方案。
|
||||
|
||||
> “Wi-Fi 和 5G 可以并且应该是互补的。” — Jeff Lipton
|
||||
|
||||
### 如果一个企业打算完全转向 5G,那将如何实现以及它的实用性如何?
|
||||
|
||||
**Lipton:** 为了将 5G 用于主要的室内访问方式,客户需要升级其网络和几乎所有设备。5G 在室外提供良好的覆盖,但蜂窝信号不能可靠地穿透建筑物,5G 会使这个问题变得更糟,因为它部分依赖于更高频率的无线电。因此,服务提供商需要一种提供室内覆盖的方法。为了提供这种覆盖,他们会部署 DAS 或小型蜂窝系统 —— 由终端客户支付费用。然后,客户将他们的设备直连到这些蜂窝系统,并为每个设备支付服务合同。
|
||||
|
||||
这种方法存在一些问题。首先,DAS 和小型蜂窝系统比 Wi-Fi 网络贵得多。并且成本不会仅限于网络。每台设备都需要一台 5G 蜂窝调制解调器,批量价格高达数十美元,而终端用户通常需要花费一百多美元。由于目前很少或者没有 MacBook、PC、打印机、AppleTV 有 5G 调制解调器,因此需要对这些设备进行升级。我不相信很多企业会愿意支付这笔额外费用并升级他们的大部分设备以获得尚不明确的好处。
|
||||
|
||||
### 经济性是 5G 与 Wi-Fi 之争的一个要素吗?
|
||||
|
||||
**Lipton:** 经济性始终是一个要素。让我们将对话集中在室内企业级应用程序上,因为这是一些运营商打算用 5G 定位的用例。我们已经提到升级到 5G 将要求企业部署昂贵的 DAS 或小型蜂窝系统用于室内覆盖,几乎将所有设备升级到包含 5G 调制解调器,并为每个设备支付服务合同。理解 5G 蜂窝网络和 DAS 系统在许可频谱上运行也很重要,这类似于一条私人高速公路。服务提供商为此频谱支付了数十亿美元,这笔费用需要货币化并嵌入服务成本中。因此,从部署和生命周期的角度来看,Wi-Fi 在经济上比 5G 有利。
|
||||
|
||||
### 5G 与 Wi-Fi 相比有任何安全隐患吗?
|
||||
|
||||
**Lipton:** 一些人认为蜂窝技术比 Wi-Fi 更安全,但事实并非如此。LTE 相对安全,但也有弱点。例如,普渡大学和爱荷华大学的研究人员表示,LTE 容易受到一系列攻击,包括数据拦截和设备跟踪。5G 通过多种认证方法和更好的密钥管理改进了 LTE 安全性。
|
||||
|
||||
Wi-Fi 的安全性也没有停滞不前而是在继续发展。当然,不遵循最佳实践的 Wi-Fi 实现,例如那些甚至没有基本密码保护的实现,并不是最佳的。但那些配置了适当的访问控制和密码的则是非常安全的。随着新标准 —— 特别是 WPA3 和<ruby>增强开放<rt>Enhanced Open</rt></ruby> —— Wi-Fi 网络安全性进一步提高。
|
||||
|
||||
同样重要的是要记住,企业已根据其特定需求对安全性和合规性解决方案进行了大量投资。对于包括 5G 在内的蜂窝网络,企业将失去部署所选安全性和合规性解决方案的能力,以及对流量流的大多数可见性。虽然 5G 的未来版本将通过称为网络切片的功能提供高级别的自定义,但企业仍将失去他们目前需要的和拥有的安全性和合规性定制级别。
|
||||
|
||||
### 关于 5G 与 Wi-Fi 之间的讨论的补充想法
|
||||
|
||||
**Lipton:** 围绕 Wi-Fi 与 5G 的争论忽略了这一点。它们都有自己的用武之地,而且它们在很多方面都是互补的。由于需要连接和分析越来越多的东西,Wi-Fi 和 5G 市场都将增长。如果客户需要宏观覆盖或高速切换,并且可以为这些功能支付额外成本,那么 5G 是可行的。
|
||||
|
||||
5G 也适用于客户需要物理网络分段的某些工业用例。但对于绝大多数企业客户而言,Wi-Fi 将继续像现在一样证明自己作为可靠、安全且经济高效的无线接入技术的价值。
|
||||
|
||||
**更多关于 802.11ax (Wi-Fi 6):**
|
||||
|
||||
* [为什么 802.11ax 是无线网络的下一件大事][7]
|
||||
* [FAQ:802.11ax Wi-Fi][8]
|
||||
* [Wi-Fi 6 (802.11ax) 正在来到你附近的路由器][9]
|
||||
* [带有 OFDMA 的 Wi-Fi 6 打开了一个全新的无线可能性世界][10]
|
||||
* [802.11ax 预览:支持 Wi-Fi 6 的接入点和路由器随时可用][11]
|
||||
|
||||
|
||||
--------------------------------------------------------------------------------
|
||||
|
||||
via: https://www.networkworld.com/article/3399978/5g-will-augment-wi-fi-not-replace-it.html
|
||||
|
||||
作者:[Zeus Kerravala][a]
|
||||
选题:[lujun9972][b]
|
||||
译者:[GraveAccent](https://github.com/graveaccent)
|
||||
校对:[wxy](https://github.com/wxy)
|
||||
|
||||
本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创编译,[Linux中国](https://linux.cn/) 荣誉推出
|
||||
|
||||
[a]: https://www.networkworld.com/author/Zeus-Kerravala/
|
||||
[b]: https://github.com/lujun9972
|
||||
[1]: https://images.idgesg.net/images/article/2019/05/wireless_connection_speed_connectivity_bars_cell_tower_5g_by_thinkstock-100796921-large.jpg
|
||||
[2]: https://www.networkworld.com/article/3203489/what-is-5g-how-is-it-better-than-4g.html
|
||||
[3]: https://www.networkworld.com/article/3354477/mobile-world-congress-the-time-of-5g-is-almost-here.html
|
||||
[4]: https://images.idgesg.net/images/article/2019/06/headshot_jlipton_aruba-100798360-small.jpg
|
||||
[5]: https://www.networkworld.com/article/3215907/why-80211ax-is-the-next-big-thing-in-wi-fi.html
|
||||
[6]: https://pluralsight.pxf.io/c/321564/424552/7490?u=https%3A%2F%2Fwww.pluralsight.com%2Fcourses%2Fmobile-device-management-big-picture
|
||||
[7]: https://www.networkworld.com/article/3215907/mobile-wireless/why-80211ax-is-the-next-big-thing-in-wi-fi.html
|
||||
[8]: https://%20https//www.networkworld.com/article/3048196/mobile-wireless/faq-802-11ax-wi-fi.html
|
||||
[9]: https://www.networkworld.com/article/3311921/mobile-wireless/wi-fi-6-is-coming-to-a-router-near-you.html
|
||||
[10]: https://www.networkworld.com/article/3332018/wi-fi/wi-fi-6-with-ofdma-opens-a-world-of-new-wireless-possibilities.html
|
||||
[11]: https://www.networkworld.com/article/3309439/mobile-wireless/80211ax-preview-access-points-and-routers-that-support-the-wi-fi-6-protocol-on-tap.html
|
||||
[12]: https://www.facebook.com/NetworkWorld/
|
||||
[13]: https://www.linkedin.com/company/network-world
|
@ -0,0 +1,57 @@
|
||||
[#]: collector: (lujun9972)
|
||||
[#]: translator: (wxy)
|
||||
[#]: reviewer: (wxy)
|
||||
[#]: publisher: (wxy)
|
||||
[#]: url: (https://linux.cn/article-11097-1.html)
|
||||
[#]: subject: (From BASIC to Ruby: Life lessons from first programming languages on Command Line Heroes)
|
||||
[#]: via: (https://opensource.com/19/7/command-line-heroes-ruby-basic)
|
||||
[#]: author: (Matthew Broberg https://opensource.com/users/mbbroberg)
|
||||
|
||||
从 BASIC 到 Ruby:入门编程语言的体悟
|
||||
======
|
||||
|
||||
> 为什么 BASIC 是一种备受喜爱的入门语言?下一代该如何学习编程?
|
||||
|
||||
![Listen to the Command Line Heroes Podcast][1]
|
||||
|
||||
《[Command Line Heroes][2]》 第三季的第二集今天抵达了,它对我的入门编程的怀旧让我回到了过去。
|
||||
|
||||
(LCTT 译注:《Command Line Heroes》 是红帽公司制作的播客,讲述了开发人员、程序员、黑客、极客和开源反叛者如何彻底改变技术前景的真实史诗。其第一季制作于 2017 年,邀请到了谷歌、NASA 等重量级企业的技术专家担当嘉宾,讲述操作系统战争风云、美国航天局如何开源等等,涉及开源、操作系统、容器、DevOps、云计算等话题。)
|
||||
|
||||
### 语言会影响可访问性
|
||||
|
||||
这一集告诉我,BASIC 是计算机的理解力民主化的一次巨大飞跃。我很难想象,在一个不太遥远的、计算机尚且是稀罕之物的时代,是 BASIC 改变了世界。正如 [Saron Yitbarek][3] 提到的那样,“在早些年编程,你几乎得有个博士学位才行。”BASIC 是一个巨大的飞跃,它专注于可用性(适合初学者的命令)和资源共享(单个计算机的分时操作)。它使得编程不在局限于当时的“计算机玩家”(我喜欢这集中的这句话),并帮助了新一代人参与了进来。进入编程领域的壁垒得以下降。
|
||||
|
||||
### 入门编程语言
|
||||
|
||||
这一集的核心话题是围绕学习入门语言展开的。关于学习什么编程语言以及如何学习,有很多建议。关于这个问题[在这里][4]已经写了很多。我喜欢听到 Saron 以 Ruby 作为她的介绍的故事,以及它以一种几乎意想不到的方式变得有趣。我有一些类似的经历,因为我在一些项目中用到了 Ruby。它的灵活性让我感到开心。当我(对编程)感到紧张时,正是这种快乐让我重新回到它的身边,并且它有一些能够使语言如此充满情感的强大功能。
|
||||
|
||||
我第一次体验编程是用 HTML 和 CSS,但我第一个重型编程语言是 Java。我永远不会忘记在课堂的第一天被告知要记住 `public static void main`,但没有告知我关于它意味着什么的任何信息。我们花了很多时间在面向对象编程的上下文环境中探讨它是什么,但它从未像我在 Ruby 中使用 `.each` 迭代列表,或者像在 Python 中用 `import numpy` 做一些数学魔术那样感到兴奋。然后我听说孩子们正在学习如何使用 Python 编写 [Minecraft][5] 或使用像 [Scratch][6] 这样的可视化编程语言,我因此而悟,BASIC 的遗产正在以新的方式存在。
|
||||
|
||||
我从这一集中获取到的内容:
|
||||
|
||||
* 请记住,没有人出生就是程序员。每个人都没有这样的背景。你并不孤单。
|
||||
* 学习一门语言。任何一种都行。如果你有选择的可能,那么请选择能带给你最大乐趣的那个。
|
||||
* 不要忘记所有语言都可以构建一些东西。请为人类创造有意义的事物。
|
||||
|
||||
《Command Line Heroes》整个第三季将涉及编程语言。[请在此处订阅来学习你想要了解的有关编程语言的起源][2],我很乐意在下面的评论中听到你的想法。
|
||||
|
||||
--------------------------------------------------------------------------------
|
||||
|
||||
via: https://opensource.com/19/7/command-line-heroes-ruby-basic
|
||||
|
||||
作者:[Matthew Broberg][a]
|
||||
选题:[lujun9972][b]
|
||||
译者:[wxy](https://github.com/wxy)
|
||||
校对:[wxy](https://github.com/wxy)
|
||||
|
||||
本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创编译,[Linux中国](https://linux.cn/) 荣誉推出
|
||||
|
||||
[a]: https://opensource.com/users/mbbroberg
|
||||
[b]: https://github.com/lujun9972
|
||||
[1]: https://opensource.com/sites/default/files/styles/image-full-size/public/lead-images/ep1_blog-header-520x292_lgr.png?itok=I8IS1hkt (Listen to the Command Line Heroes Podcast)
|
||||
[2]: https://www.redhat.com/en/command-line-heroes
|
||||
[3]: https://twitter.com/saronyitbarek
|
||||
[4]: https://linux.cn/article-8379-1.html
|
||||
[5]: https://opensource.com/life/15/5/getting-started-minecraft-pi
|
||||
[6]: https://opensource.com/education/11/6/how-teach-next-generation-open-source-scratch
|
@ -1,23 +1,23 @@
|
||||
[#]: collector: (lujun9972)
|
||||
[#]: translator: (geekpi)
|
||||
[#]: reviewer: ( )
|
||||
[#]: publisher: ( )
|
||||
[#]: url: ( )
|
||||
[#]: reviewer: (wxy)
|
||||
[#]: publisher: (wxy)
|
||||
[#]: url: (https://linux.cn/article-11099-1.html)
|
||||
[#]: subject: (How To Find Virtualbox Version From Commandline In Linux)
|
||||
[#]: via: (https://www.ostechnix.com/how-to-find-virtualbox-version-from-commandline-in-linux/)
|
||||
[#]: author: (sk https://www.ostechnix.com/author/sk/)
|
||||
|
||||
在 Linux 中如何从命令行查找 Virtualbox 版本
|
||||
在 Linux 中如何从命令行查找 VirtualBox 版本
|
||||
======
|
||||
|
||||
![FInd Virtualbox version from commandline In Linux][1]
|
||||
|
||||
我使用 **Oracle VirtualBox** 和 [**KVM**][2] 虚拟化程序[**测试不同的 Linux 操作系统**][3]。虽然我偶尔使用 KVM,但 Virtualbox 始终是我的首选。不是因为我不喜欢 KVM,而是因为我只是习惯了 Virtualbox。当在我的 Ubuntu 无头服务器上使用 [**Virtualbox**][4] 时,我需要知道 Virtualbox 的版本。如果它有 GUI,我可以进入**Virtualbox - > About -> Help** 轻松找到它。但我的是没有 GUI 的 Ubuntu 服务器。如果你想知道如何在 Linux 中从命令行查找 Virtualbox 版本,可以采用以下几种方法。
|
||||
我使用 Oracle VirtualBox 和 [KVM][2] 虚拟化程序[测试不同的 Linux 操作系统][3]。虽然我偶尔使用 KVM,但 Virtualbox 始终是我的首选。不是因为我不喜欢 KVM,而是因为我只是习惯了 VirtualBox。当在我的 Ubuntu 无头服务器上使用 [Virtualbox][4] 时,我需要知道 VirtualBox 的版本。如果它有 GUI,我可以进入 Virtualbox -> About -> Help 轻松找到它。但我的是没有 GUI 的 Ubuntu 服务器。如果你想知道如何在 Linux 中从命令行查找 VirtualBox 版本,可以采用以下几种方法。
|
||||
|
||||
|
||||
### 在 Linux 中从命令行查找 Virtualbox 版本
|
||||
### 在 Linux 中从命令行查找 VirtualBox 版本
|
||||
|
||||
要查找已安装的 Virtualbox 的版本,请打开终端并运行以下命令:
|
||||
要查找已安装的 VirtualBox 的版本,请打开终端并运行以下命令:
|
||||
|
||||
```
|
||||
$ vboxmanage --version
|
||||
@ -31,11 +31,11 @@ $ vboxmanage --version
|
||||
|
||||
![][5]
|
||||
|
||||
在 Linux 中从命令行查找 Virtualbox 版本
|
||||
*在 Linux 中从命令行查找 Virtualbox 版本*
|
||||
|
||||
正如你在上面的输出中看到的,安装的 Virtualbox 的版本是 **5.2**。
|
||||
正如你在上面的输出中看到的,安装的 VirtualBox 的版本是 5.2。
|
||||
|
||||
查找 virtualbox 版本的另一种方法是:
|
||||
查找 VirtualBox 版本的另一种方法是:
|
||||
|
||||
```
|
||||
$ vbox-img --version
|
||||
@ -47,7 +47,7 @@ $ vbox-img --version
|
||||
5.2.18_Ubuntur123745
|
||||
```
|
||||
|
||||
或者,你可以使用 **“head”** 和 **“awk”** 命令来查找 Virtualbox 版本。
|
||||
或者,你可以使用 `head` 和 `awk` 命令来查找 VirtualBox 版本。
|
||||
|
||||
```
|
||||
$ virtualbox --help | head -n 1 | awk '{print $NF}'
|
||||
@ -59,7 +59,7 @@ $ virtualbox --help | head -n 1 | awk '{print $NF}'
|
||||
5.2.18_Ubuntu
|
||||
```
|
||||
|
||||
或者,使用 **“echo”** 命令结合 “head” 和 “awk” 命令:
|
||||
或者,使用 `echo` 命令结合 `head` 和 `awk` 命令:
|
||||
|
||||
```
|
||||
$ echo $(virtualbox --help | head -n 1 | awk '{print $NF}')
|
||||
@ -71,7 +71,7 @@ $ echo $(virtualbox --help | head -n 1 | awk '{print $NF}')
|
||||
5.2.18_Ubuntu
|
||||
```
|
||||
|
||||
以上命令适用于任何 Linux 发行版。如果你使用的是 Ubuntu,你可以使用 **“dpkg”** 命令查看 Virtualbox 版本。
|
||||
以上命令适用于任何 Linux 发行版。如果你使用的是 Ubuntu,你可以使用 `dpkg` 命令查看 VirtualBox 版本。
|
||||
|
||||
```
|
||||
$ dpkg -l | grep virtualbox | awk '{print $3}'
|
||||
@ -86,11 +86,9 @@ $ dpkg -l | grep virtualbox | awk '{print $3}'
|
||||
|
||||
就是这些了。这些是从 Linux 中的终端查找 Oracle Virtualbox 版本的几种方法。希望这篇文章很有用。
|
||||
|
||||
**参考来自:**
|
||||
|
||||
* [**AskUbuntu**][6]
|
||||
|
||||
参考来自:
|
||||
|
||||
* [AskUbuntu][6]
|
||||
|
||||
--------------------------------------------------------------------------------
|
||||
|
||||
@ -99,7 +97,7 @@ via: https://www.ostechnix.com/how-to-find-virtualbox-version-from-commandline-i
|
||||
作者:[sk][a]
|
||||
选题:[lujun9972][b]
|
||||
译者:[geekpi](https://github.com/geekpi)
|
||||
校对:[校对者ID](https://github.com/校对者ID)
|
||||
校对:[wxy](https://github.com/wxy)
|
||||
|
||||
本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创编译,[Linux中国](https://linux.cn/) 荣誉推出
|
||||
|
@ -0,0 +1,81 @@
|
||||
[#]: collector: (lujun9972)
|
||||
[#]: translator: ( )
|
||||
[#]: reviewer: ( )
|
||||
[#]: publisher: ( )
|
||||
[#]: url: ( )
|
||||
[#]: subject: (Excellent! Ubuntu LTS Users Will Now Get the Latest Nvidia Driver Updates [No PPA Needed Anymore])
|
||||
[#]: via: (https://itsfoss.com/ubuntu-lts-latest-nvidia-drivers/)
|
||||
[#]: author: (Ankush Das https://itsfoss.com/author/ankush/)
|
||||
|
||||
Excellent! Ubuntu LTS Users Will Now Get the Latest Nvidia Driver Updates [No PPA Needed Anymore]
|
||||
======
|
||||
|
||||
_**Brief: To get the latest Nvidia drivers in Ubuntu LTS versions, you don’t have to use PPA anymore. The latest drivers will now be available in the repositories of the Ubuntu LTS versions.**_
|
||||
|
||||
![][1]
|
||||
|
||||
You might be aware of the troubles to install the latest and greatest Nvidia binary driver updates on Ubuntu.
|
||||
|
||||
By default, Ubuntu provides the open source [Nvidia Nouveau drivers][2] that some time result in Ubuntu being stuck at boot screen.
|
||||
|
||||
You can also [install the proprietary Nvidia driver in Ubuntu][3] easily. The problem is that the Nvidia drivers in the default [Ubuntu repositories][4] are not the latest one. To solve this problem, [Ubuntu introduced a dedicated PPA][5] a few years back.
|
||||
|
||||
[Using the official PPA][6] is still a decent workaround for installing the closed source graphics driver. However, it is definitely not the most convenient option.
|
||||
|
||||
But, now, Ubuntu agreed to include the latest Nvidia driver update as part of the SRU ([StableReleaseUpdates][7]). So, you will have Nvidia drivers baked in with Ubuntu LTS versions.
|
||||
|
||||
Well, this means that you no longer have to separately download/install the Nvidia graphics drivers on Ubuntu LTS versions.
|
||||
|
||||
Just like you get an update for your browser or the core OS updates (or the security updates), similarly, you will get the required Nvidia binary driver update packages.
|
||||
|
||||
### Can We Rely on the Latest Nvidia Graphics Driver?
|
||||
|
||||
SRU literally refers to stable updates for Ubuntu (or Ubuntu-based distros). So, instead of opting for the pre-released updates in order to get the latest graphics driver, you should wait for it to drop as a stable update.
|
||||
|
||||
Of course, no one can guarantee that it will work 100% of the time – but it will be way more safe to install than the pre-released ones.
|
||||
|
||||
### How Can I Get the latest Nvidia drivers?
|
||||
|
||||
![Software Updates Nvidia][8]
|
||||
|
||||
You just have to enable “Using NVIDIA driver meta package….” from the additional drivers section in the software update option.
|
||||
|
||||
[][9]
|
||||
|
||||
Suggested read Ubuntu 17.04 Release Date, Features And Upgrade Procedure
|
||||
|
||||
Originally, [The Linux Experiment][10] shared this news through a video – which then Ubuntu’s official Twitter handle re-tweeted as an announcement. You can watch the video below to get more details on it:
|
||||
|
||||
### Which Ubuntu LTS Versions are Supported?
|
||||
|
||||
For now, Ubuntu 18.04 LTS supports this out of the box. It will soon be available for Ubuntu 16.04 LTS (and later LTS versions will follow).
|
||||
|
||||
**Wrapping Up**
|
||||
|
||||
Now that you can install the latest Nvidia binary driver updates, how do you think will it help you?
|
||||
|
||||
If you have tested a pre-released package, let us know your thoughts on that in the comments below.
|
||||
|
||||
--------------------------------------------------------------------------------
|
||||
|
||||
via: https://itsfoss.com/ubuntu-lts-latest-nvidia-drivers/
|
||||
|
||||
作者:[Ankush Das][a]
|
||||
选题:[lujun9972][b]
|
||||
译者:[译者ID](https://github.com/译者ID)
|
||||
校对:[校对者ID](https://github.com/校对者ID)
|
||||
|
||||
本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创编译,[Linux中国](https://linux.cn/) 荣誉推出
|
||||
|
||||
[a]: https://itsfoss.com/author/ankush/
|
||||
[b]: https://github.com/lujun9972
|
||||
[1]: https://i0.wp.com/itsfoss.com/wp-content/uploads/2019/07/nvidia-ubuntu-logo.png?resize=800%2C450&ssl=1
|
||||
[2]: https://nouveau.freedesktop.org/wiki/
|
||||
[3]: https://itsfoss.com/install-additional-drivers-ubuntu/
|
||||
[4]: https://itsfoss.com/ubuntu-repositories/
|
||||
[5]: https://itsfoss.com/ubuntu-official-ppa-graphics/
|
||||
[6]: https://itsfoss.com/ppa-guide/
|
||||
[7]: https://wiki.ubuntu.com/StableReleaseUpdates
|
||||
[8]: https://i1.wp.com/itsfoss.com/wp-content/uploads/2019/07/software-updates-nvidia.jpg?fit=800%2C542&ssl=1
|
||||
[9]: https://itsfoss.com/ubuntu-17-04-release-features/
|
||||
[10]: https://twitter.com/thelinuxEXP
|
@ -1,56 +0,0 @@
|
||||
[#]: collector: (lujun9972)
|
||||
[#]: translator: ( )
|
||||
[#]: reviewer: ( )
|
||||
[#]: publisher: ( )
|
||||
[#]: url: ( )
|
||||
[#]: subject: (From BASIC to Ruby: Life lessons from first programming languages on Command Line Heroes)
|
||||
[#]: via: (https://opensource.com/19/7/command-line-heroes-ruby-basic)
|
||||
[#]: author: (Matthew Broberg https://opensource.com/users/mbbroberg)
|
||||
|
||||
From BASIC to Ruby: Life lessons from first programming languages on Command Line Heroes
|
||||
======
|
||||
Find out more about why BASIC is a beloved first language and how the
|
||||
next generation will learn to code.
|
||||
![Listen to the Command Line Heroes Podcast][1]
|
||||
|
||||
The second episode of this [Command Line Heroes][2] season 3 drops today and it sent me back through a nostalgic look at the idea of first programming languages.
|
||||
|
||||
### Languages affect accessibility
|
||||
|
||||
This episode taught me that BASIC was a huge leap in the democratization of computer comprehension. It's hard for me to imagine a time when computers were scarce, but that not-so-distant past was when BASIC changed the world. As [Saron Yitbarek][3] mentions, "In the early days of programming, you pretty much needed a Ph.D. to do anything." BASIC was such a monumental leap with its focus on usability (beginner-friendly commands) and resource sharing (timesharing of a single computer). It helped programming get beyond the "computer jocks" of the time (I love that phrase from the episode) and helped a new generation of people participate. The barrier of entry dropped.
|
||||
|
||||
### First programming languages
|
||||
|
||||
The heart of this episode rests on the topic of learning the first language. There is so much advice out there about what to learn and how to learn it. Quite a lot has been written on the subject [on here][4]. I love hearing Saron's story of Ruby being her introduction, and how it was fun in an almost unexpected way. I had a similar experience as I dug into Ruby for a few projects. It's wildly flexible in a way that makes me happy. It's that happiness that keeps me coming back to it when I'm in a pinch, and there's something powerful about how languages can be so emotionally charged.
|
||||
|
||||
I first experienced programming with HTML and CSS, but the first heavy-duty language was Java. I will never forget being told on day one of class to memorize **public static void main** without any context on what it meant. We took a good bit of that semester to explore what it in the context of object-oriented programming, but it never made me feel as excited as when I iterate over a list using **.each** in Ruby or **import numpy** and do some mathematical magic in Python. Then I hear about how kids are learning to program with Python for [Minecraft][5] or visual programming languages like [Scratch][6] and I am inspired. The legacy of BASIC lives on in new ways.
|
||||
|
||||
Which leads to my takeaways from this episode:
|
||||
|
||||
* Remember that no one is born a programmer. Everyone starts with no background. You're not alone there.
|
||||
* Learn a language. Any of them. Choose the one that brings you the most joy if you have the luxury of choosing.
|
||||
* Don't forget that all languages are there to build something. Create meaningful things for humans.
|
||||
|
||||
|
||||
|
||||
Command Line Heroes will cover programming languages for all of season 3. [Subscribe here to learn everything you want to know about the origin of programming languages][2], and I would love to hear your thoughts in the comments below.
|
||||
|
||||
--------------------------------------------------------------------------------
|
||||
|
||||
via: https://opensource.com/19/7/command-line-heroes-ruby-basic
|
||||
|
||||
作者:[Matthew Broberg][a]
|
||||
选题:[lujun9972][b]
|
||||
译者:[译者ID](https://github.com/译者ID)
|
||||
校对:[校对者ID](https://github.com/校对者ID)
|
||||
|
||||
本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创编译,[Linux中国](https://linux.cn/) 荣誉推出
|
||||
|
||||
[a]: https://opensource.com/users/mbbroberg
|
||||
[b]: https://github.com/lujun9972
|
||||
[1]: https://opensource.com/sites/default/files/styles/image-full-size/public/lead-images/ep1_blog-header-520x292_lgr.png?itok=I8IS1hkt (Listen to the Command Line Heroes Podcast)
|
||||
[2]: https://www.redhat.com/en/command-line-heroes
|
||||
[3]: https://twitter.com/saronyitbarek
|
||||
[4]: /article/17/1/choosing-your-first-programming-language
|
||||
[5]: /life/15/5/getting-started-minecraft-pi
|
||||
[6]: /education/11/6/how-teach-next-generation-open-source-scratch
|
@ -1,5 +1,5 @@
|
||||
[#]: collector: (lujun9972)
|
||||
[#]: translator: ( )
|
||||
[#]: translator: (0x996 is translating)
|
||||
[#]: reviewer: ( )
|
||||
[#]: publisher: ( )
|
||||
[#]: url: ( )
|
||||
|
64
sources/tech/20190712 Certifications for DevOps engineers.md
Normal file
64
sources/tech/20190712 Certifications for DevOps engineers.md
Normal file
@ -0,0 +1,64 @@
|
||||
[#]: collector: (lujun9972)
|
||||
[#]: translator: ( )
|
||||
[#]: reviewer: ( )
|
||||
[#]: publisher: ( )
|
||||
[#]: url: ( )
|
||||
[#]: subject: (Certifications for DevOps engineers)
|
||||
[#]: via: (https://opensource.com/article/19/7/devops-certifications)
|
||||
[#]: author: (Daniel OhDominika Bula https://opensource.com/users/daniel-oh/users/vincepower/users/ftrivino/users/dominika/users/heronthecli)
|
||||
|
||||
Certifications for DevOps engineers
|
||||
======
|
||||
Establish your DevOps expertise and become more valuable in the job
|
||||
marketplace with these certifications.
|
||||
![Open books][1]
|
||||
|
||||
DevOps teams [appreciate using DevOps processes][2], especially in [multi][3]\- and [hybrid cloud][4] infrastructures, for many reasons. For one thing, [DevOps][5] breaks down barriers and enables [agile][6] software development and continuous delivery of IT operations. It is also popular in enterprises because it helps accelerate business outcomes through digital transformation.
|
||||
|
||||
DevOps engineers and site reliability engineers (SREs) help organizations achieve their performance objectives because they have the high-level skillsets required to use the tools that orchestrate the DevOps pipeline—from automated app builds to continuous integration, multi-stage testing, and continuous deployment on the hybrid cloud.
|
||||
|
||||
As agile practices and processes move deeper into enterprises, experts with the knowledge to scale the framework can become more valuable in DevOps teams and across their organizations.
|
||||
|
||||
### DevOps certifications to consider
|
||||
|
||||
A successful career in DevOps engineering requires knowledge of agile practices, excellent collaboration skills, and the ability to thrive on rapid response times. DevOps-related certifications, including the ones listed below, will strengthen your capabilities to align with market demands and demonstrate your expertise.
|
||||
|
||||
* [ICAgile][7] certifications demonstrate expertise in agile methodologies and practices for DevOps initiatives. Training is offered by more than 150 member organizations; the costs vary depending upon courses selected and coursework providers.
|
||||
* [PMI Agile Certified Practitioner (PMI-ACP][8]) certification recognizes knowledge of agile tools and principles. Certification requires passing the PMI-ACP exam, which costs US$ 435.00 (for Project Management Institute members) or US$ 495.00 (for non-members).
|
||||
* Many organizations are using the Scaled Agile Framework (SAFe) as the foundation to deliver lean software development. The [Scaled Agile Academy][9] offers multiple SAFe certifications for various professions and roles. Certification is earned based on taking specific classes and passing exams; the cost depends on which class you choose.
|
||||
* Open source tools and platforms enable DevOps teams to build, deploy, and manage [Linux container][10] apps with minimal efforts. [Kubernetes][11] is a popular (and growing) platform to manage clusters of containers, and [Kubernetes certification][12] is an excellent option for sysadmins who aspire to become DevOps professionals. This expertise will also help you reduce human errors, minimize manual tasks, and eventually improve [team collaboration][13] across multiple [open organizations][14].
|
||||
|
||||
|
||||
|
||||
### Summary
|
||||
|
||||
These certifications will establish your DevOps credentials and help you encourage your team to embrace DevOps practices. Certification is not the end of your DevOps learning journey; rather it's the first step in becoming a DevOps professional. To keep up with the latest tools and technologies, continue to practice your skills and stay in touch with news about [DevOps trends and insights][15].
|
||||
|
||||
--------------------------------------------------------------------------------
|
||||
|
||||
via: https://opensource.com/article/19/7/devops-certifications
|
||||
|
||||
作者:[Daniel OhDominika Bula][a]
|
||||
选题:[lujun9972][b]
|
||||
译者:[译者ID](https://github.com/译者ID)
|
||||
校对:[校对者ID](https://github.com/校对者ID)
|
||||
|
||||
本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创编译,[Linux中国](https://linux.cn/) 荣誉推出
|
||||
|
||||
[a]: https://opensource.com/users/daniel-oh/users/vincepower/users/ftrivino/users/dominika/users/heronthecli
|
||||
[b]: https://github.com/lujun9972
|
||||
[1]: https://opensource.com/sites/default/files/styles/image-full-size/public/lead-images/open%20courseware.png?itok=WT_B93r5 (Open books)
|
||||
[2]: https://opensource.com/article/19/5/values-devops-mindset
|
||||
[3]: https://opensource.com/article/18/1/future-devops
|
||||
[4]: https://opensource.com/article/17/7/hybrid-cloud
|
||||
[5]: https://opensource.com/resources/devops
|
||||
[6]: https://opensource.com/article/18/10/what-agile
|
||||
[7]: https://www.icagile.com/
|
||||
[8]: https://www.pmi.org/certifications/types/agile-acp
|
||||
[9]: https://www.scaledagileacademy.com/
|
||||
[10]: https://opensource.com/resources/what-are-linux-containers
|
||||
[11]: https://opensource.com/resources/what-is-kubernetes
|
||||
[12]: https://www.cncf.io/certification/ckad/
|
||||
[13]: https://opensource.com/business/13/9/openproject-interview
|
||||
[14]: https://opensource.com/open-organization/resources/open-org-definition
|
||||
[15]: https://opensource.com/tags/devops
|
79
sources/tech/20190712 MTTR is dead, long live CIRT.md
Normal file
79
sources/tech/20190712 MTTR is dead, long live CIRT.md
Normal file
@ -0,0 +1,79 @@
|
||||
[#]: collector: (lujun9972)
|
||||
[#]: translator: ( )
|
||||
[#]: reviewer: ( )
|
||||
[#]: publisher: ( )
|
||||
[#]: url: ( )
|
||||
[#]: subject: (MTTR is dead, long live CIRT)
|
||||
[#]: via: (https://opensource.com/article/19/7/measure-operational-performance)
|
||||
[#]: author: (Julie Gunderson https://opensource.com/users/juliegund/users/kearnsjd/users/ophir)
|
||||
|
||||
MTTR is dead, long live CIRT
|
||||
======
|
||||
By focusing on business-impacting incidents, CIRT is a more accurate way
|
||||
to gauge ops performance.
|
||||
![Green graph of measurements][1]
|
||||
|
||||
The game is changing for the IT ops community, which means the rules of the past make less and less sense. Organizations need accurate, understandable, and actionable metrics in the right context to measure operations performance and drive critical business transformation.
|
||||
|
||||
The more customers use modern tools and the more variation in the types of incidents they manage, the less sense it makes to smash all those different incidents into one bucket to compute an average resolution time that will represent ops performance, which is what IT has been doing for a long time.
|
||||
|
||||
### History and metrics
|
||||
|
||||
History shows that context is key when analyzing signals to prevent errors and misunderstandings. For example, during the 1980s, Sweden set up a system to analyze hydrophone signals to alert them to Russian submarines in local Sweden waters. The Swedes used an acoustic signature they thought represented a class of Russian submarines—but was actually [gas bubbles][2] released by herring when confronted by a potential predator. This misinterpretation of a metric increased tensions between the countries and almost resulted in a war.
|
||||
|
||||
![Funny fish cartoon][3]
|
||||
|
||||
Mean time to resolve (MTTR) is the main ops performance metric operations managers use to gain insight towards achieving their goals. It is an age-old measure based on systems reliability engineering. MTTR has been adopted across many industries, including manufacturing, facility maintenance, and, more recently, IT ops, where it represents the average time it takes to resolve incidents from the time they were created across a given period of time.
|
||||
|
||||
MTTR is calculated by dividing the time it takes to resolve all incidents (from the time of incident creation to time of resolution) by the total number of incidents.
|
||||
|
||||
![MTTR formula][4]
|
||||
|
||||
MTTR is exactly what it says: It's the average across _**all**_ incidents. MTTR smears together both high- and low-urgency incidents. It also repetitively counts each separate, ungrouped incident and results in a biased resolve time. It includes manually resolved and auto-resolved incidents in the same context. It mashes together incidents that are tabled for days (or months) after creation or are even completely ignored. Finally, MTTR includes every little transient burst (incidents that are auto-closed in under 120 seconds), which are either noisy non-issues or quickly resolved by a machine.
|
||||
|
||||
![Variability in incident types][5]
|
||||
|
||||
MTTR takes all incidents, regardless of type, throws them into a single bucket, mashes them all together, and calculates an "average" resolution time across the entire set. This overly simplistic method results in a noisy, erroneous, and misleading indication of how operations is performing.
|
||||
|
||||
### A new way of measuring performance
|
||||
|
||||
Critical incident response time (CIRT) is a new, significantly more accurate method to evaluate operations performance. PagerDuty developed the concept of CIRT, but the methodology is freely available for anyone to use.
|
||||
|
||||
CIRT focuses on the incidents that are most likely to impact business by culling noise from incoming signals using the following techniques:
|
||||
|
||||
1. Real business-impacting (or potentially impacting) incidents are very rarely low urgency, so rule out all low-urgency incidents.
|
||||
2. Real business-impacting incidents are very rarely (if ever) auto-resolved by monitoring tools without the need for human intervention, so rule out incidents that were not resolved by a human.
|
||||
3. Short, bursting, and transient incidents that are resolved within 120 seconds are highly unlikely to be real business-impacting incidents, so rule them out.
|
||||
4. Incidents that go unnoticed, tabled, or ignored (not acknowledged, not resolved) for a very long time are rarely business-impacting; rule them out. Note: This threshold can be a statistically derived number that is customer-specific (e.g., two standard deviations above the mean) to avoid using an arbitrary number.
|
||||
5. Individual, ungrouped incidents generated by separate alerts are not representative of the larger business-impacting incident. Therefore, simulate incident groupings with a very conservative threshold, e.g., two minutes, to calculate response time.
|
||||
|
||||
|
||||
|
||||
What effect does applying these assumptions have on response times? In a nutshell, a very, very large effect!
|
||||
|
||||
By focusing on ops performance during critical, business-impacting incidents, the resolve-time distribution narrows and shifts greatly to the left, because now it is dealing with similar types of incidents rather than all events.
|
||||
|
||||
Because MTTR calculates a much longer, artificially skewed response time, it is a poor indicator of operations performance. CIRT, on the other hand, is an intentional measure focused on the incidents that matter most to business.
|
||||
|
||||
An additional critical measure that is wise to use alongside CIRT is the percentage of responders who are acknowledging and resolving incidents. This is important, as it validates whether the CIRT (or MTTA/MTTR for that matter) is worth utilizing. For example, if an MTTR result is low, say 10 minutes, it sounds great, but if only 42% of your responders are resolving their incidents, then that number is suspect.
|
||||
|
||||
In summary, CIRT and the percentage of responders who are acknowledging and resolving incidents form a valuable set of metrics that give you a much better idea of how operations is performing. Gauging performance is the first step to improving performance, so these new measures are key to achieving continuous cycles of measurable improvement for your organization.
|
||||
|
||||
--------------------------------------------------------------------------------
|
||||
|
||||
via: https://opensource.com/article/19/7/measure-operational-performance
|
||||
|
||||
作者:[Julie Gunderson][a]
|
||||
选题:[lujun9972][b]
|
||||
译者:[译者ID](https://github.com/译者ID)
|
||||
校对:[校对者ID](https://github.com/校对者ID)
|
||||
|
||||
本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创编译,[Linux中国](https://linux.cn/) 荣誉推出
|
||||
|
||||
[a]: https://opensource.com/users/juliegund/users/kearnsjd/users/ophir
|
||||
[b]: https://github.com/lujun9972
|
||||
[1]: https://opensource.com/sites/default/files/styles/image-full-size/public/lead-images/metrics_lead-steps-measure.png?itok=DG7rFZPk (Green graph of measurements)
|
||||
[2]: http://blogfishx.blogspot.com/2014/05/herring-fart-to-communicate.html
|
||||
[3]: https://opensource.com/sites/default/files/uploads/fish.png (Funny fish cartoon)
|
||||
[4]: https://opensource.com/sites/default/files/uploads/mttr.png (MTTR formula)
|
||||
[5]: https://opensource.com/sites/default/files/uploads/incidents.png (Variability in incident types)
|
@ -0,0 +1,252 @@
|
||||
[#]: collector: (lujun9972)
|
||||
[#]: translator: ( )
|
||||
[#]: reviewer: ( )
|
||||
[#]: publisher: ( )
|
||||
[#]: url: ( )
|
||||
[#]: subject: (Make an RGB cube with Python and Scribus)
|
||||
[#]: via: (https://opensource.com/article/19/7/rgb-cube-python-scribus)
|
||||
[#]: author: (Greg Pittman https://opensource.com/users/greg-p/users/greg-p)
|
||||
|
||||
Make an RGB cube with Python and Scribus
|
||||
======
|
||||
Create a 3D cube that shows the RGB color spectrum with Scribus' Python
|
||||
Scripter capability.
|
||||
![cubes coming together to create a larger cube][1]
|
||||
|
||||
When I decided I wanted to play with color this summer, I thought about the fact that colors are usually depicted on a color wheel. This is usually with pigment colors rather than light, and you lose any sense of the variation in color brightness or luminosity.
|
||||
|
||||
As an alternative to the color wheel, I came up with the idea of displaying the RGB spectrum on the surfaces of a cube using a series of graphs. RGB values would be depicted on a three-dimensional graph with X-, Y-, and Z-axes. For example, a surface would keep B (or blue) at 0 and the remaining axes would show what happens as I plot values as colors for R (red) and G (green) from 0 to 255.
|
||||
|
||||
It turns out this is not very difficult to do using [Scribus][2] and its [Python Scripter][3] capability. I can create RGB colors, make rectangles showing the colors, and arrange them in a 2D format. I decided to make value jumps of 5 for the colors and make rectangles measuring 5 points on a side. Thus, for each 2D graph, I would make about 250 colors, and the cube would measure 250 points to a side, or 3.5 inches.
|
||||
|
||||
I used this bit of Python code to accomplish that task for the Green–Red graph:
|
||||
|
||||
|
||||
```
|
||||
x = 300
|
||||
y = 300
|
||||
r = 0
|
||||
g = 0
|
||||
b = 0
|
||||
|
||||
if scribus.newDoc(scribus.PAPER_LETTER, (0,0,0,0),scribus.PORTRAIT, 1, scribus.UNIT_POINTS, scribus.NOFACINGPAGES, scribus.FIRSTPAGERIGHT):
|
||||
while r < 256:
|
||||
while g < 256:
|
||||
newcolor = str(r) + '_' + str(g) + '_' + str(b)
|
||||
if newcolor == '0_0_0':
|
||||
newcolor = 'Black'
|
||||
scribus.defineColorRGB(newcolor,r, g, b)
|
||||
rect = scribus.createRect(x + g, y, 5, 5)
|
||||
scribus.setFillColor(newcolor, rect)
|
||||
scribus.setLineColor(newcolor, rect)
|
||||
g = g + 5
|
||||
g = 0
|
||||
r = r + 5
|
||||
y = y – 5
|
||||
```
|
||||
|
||||
This script starts the graphical structure at **300, 300**, which is about the middle of a US Letter-size page horizontally and maybe a third of the way down from the top; this is the origin of the graph. Then it builds the graph horizontally along the X-axis (the Green value), then returns to the Y-axis, jumps up the page 5 points, and makes another line of rectangles.
|
||||
|
||||
![Red-Green graph][4]
|
||||
|
||||
That looks easy enough; I'll just fiddle with the numbers and make the other sides. But this isn't just a matter of making two more graphs, one with Blue–Green and another with Red–Blue. I had in mind to create an unfolded cube so I could print it, cut it, fold it, and create a 3D view of RGB. Therefore, the next part (going down the page) needs to have the origin (the Black corner) at the upper left, with Green horizontally and Blue vertically increasing downward.
|
||||
|
||||
"Fiddling with the numbers" ended up being more or less trial and error to get what I wanted. After creating the second graph, I needed the third one, for Red–Blue, to have the origin in the upper left corner with Red increasing to the left and Blue increasing downward.
|
||||
|
||||
Here it is:
|
||||
|
||||
![First half of RGB cube][5]
|
||||
|
||||
Of course, this is just the first half of this cube. I needed to make a similar shape, except that the origins should be White (rather than Black) to represent the high values. It's one of those times when I wish I were smarter, since not only did I need to make a similar overall shape, it needed to interface with the first shape in a mirror-image sort of way (I think). Sometimes trial and error is the only friend you have.
|
||||
|
||||
Here is how that came out; I used a separate script since there wasn't enough space on a US Letter-sized page for both of them:
|
||||
|
||||
![Second half of RGB cube][6]
|
||||
|
||||
Now, it's off to the printer! This is where you get a sense of how well your color printer does with RGB to CMYK transformation as well as other aspects of printing color-dense spaces.
|
||||
|
||||
Next, boys and girls, it's cut-and-paste time! I could use tape, but I didn't want to change the appearance of the surfaces, so I left some tabs along the sides while cutting so I could glue them on the inside. From experience, I can say that printing on copy paper comes out with some undesirable wrinkles, so after my copy paper prototype, I printed the cube on heavier paper with a matte finish.
|
||||
|
||||
![RGB cubes][7]
|
||||
|
||||
Keep in mind this is just a view of the boundaries of the RGB space; to be more accurate, you would have to make a solid cube that you could slice in the middle. For example, this would be a slice through a solid RGB cube where Blue = 120:
|
||||
|
||||
![RGB cube slice][8]
|
||||
|
||||
In the end, I had fun doing this project. In case you want to join the party, here are the two scripts.
|
||||
|
||||
Here's the first half:
|
||||
|
||||
|
||||
```
|
||||
#!/usr/bin/env python
|
||||
# black2rgb.py
|
||||
"""
|
||||
Creates one-half of RGB cube with Black at origin
|
||||
"""
|
||||
|
||||
import scribus
|
||||
|
||||
x = 300
|
||||
y = 300
|
||||
r = 0
|
||||
g = 0
|
||||
b = 0
|
||||
|
||||
if scribus.newDoc(scribus.PAPER_LETTER, (0,0,0,0),scribus.PORTRAIT, 1, scribus.UNIT_POINTS, scribus.NOFACINGPAGES, scribus.FIRSTPAGERIGHT):
|
||||
while r < 256:
|
||||
while g < 256:
|
||||
newcolor = str(r) + '_' + str(g) + '_' + str(b)
|
||||
if newcolor == '0_0_0':
|
||||
newcolor = 'Black'
|
||||
scribus.defineColorRGB(newcolor,r, g, b)
|
||||
rect = scribus.createRect(x + g, y, 5, 5)
|
||||
scribus.setFillColor(newcolor, rect)
|
||||
scribus.setLineColor(newcolor, rect)
|
||||
g = g + 5
|
||||
g = 0
|
||||
r = r + 5
|
||||
y = y - 5
|
||||
|
||||
r = 0
|
||||
g = 0
|
||||
y = 305
|
||||
|
||||
while b < 256:
|
||||
while g < 256:
|
||||
newcolor = str(r) + '_' + str(g) + '_' + str(b)
|
||||
if newcolor == '0_0_0':
|
||||
newcolor = 'Black'
|
||||
scribus.defineColorRGB(newcolor,r, g, b)
|
||||
rect = scribus.createRect(x + g, y, 5, 5)
|
||||
scribus.setFillColor(newcolor, rect)
|
||||
scribus.setLineColor(newcolor, rect)
|
||||
g = g + 5
|
||||
g = 0
|
||||
b = b + 5
|
||||
y = y + 5
|
||||
|
||||
r = 255
|
||||
g = 0
|
||||
y = 305
|
||||
x = 39
|
||||
b = 0
|
||||
|
||||
while b < 256:
|
||||
while r >= 0:
|
||||
newcolor = str(r) + '_' + str(g) + '_' + str(b)
|
||||
if newcolor == '0_0_0':
|
||||
newcolor = 'Black'
|
||||
scribus.defineColorRGB(newcolor,r, g, b)
|
||||
rect = scribus.createRect(x, y, 5, 5)
|
||||
scribus.setFillColor(newcolor, rect)
|
||||
scribus.setLineColor(newcolor, rect)
|
||||
r = r - 5
|
||||
x = x+5
|
||||
b = b + 5
|
||||
x = 39.5
|
||||
r = 255
|
||||
y = y + 5
|
||||
|
||||
scribus.setRedraw(True)
|
||||
scribus.redrawAll()
|
||||
```
|
||||
|
||||
Now the second half:
|
||||
|
||||
|
||||
```
|
||||
#!/usr/bin/env python
|
||||
# white2rgb.py
|
||||
"""
|
||||
Creates one-half of RGB cube with White at origin
|
||||
"""
|
||||
|
||||
import scribus
|
||||
|
||||
x = 300
|
||||
y = 300
|
||||
r = 255
|
||||
g = 255
|
||||
b = 255
|
||||
|
||||
if scribus.newDoc(scribus.PAPER_LETTER, (0,0,0,0),scribus.PORTRAIT, 1, scribus.UNIT_POINTS, scribus.NOFACINGPAGES, scribus.FIRSTPAGERIGHT):
|
||||
while g >= 0:
|
||||
while r >= 0:
|
||||
newcolor = str(r) + '_' + str(g) + '_' + str(b)
|
||||
if newcolor == '255_255_255':
|
||||
newcolor = 'White'
|
||||
scribus.defineColorRGB(newcolor,r, g, b)
|
||||
rect = scribus.createRect(x + 255 - r, y, 5, 5)
|
||||
scribus.setFillColor(newcolor, rect)
|
||||
scribus.setLineColor(newcolor, rect)
|
||||
r = r - 5
|
||||
r = 255
|
||||
g = g - 5
|
||||
y = y - 5
|
||||
|
||||
r = 255
|
||||
g = 255
|
||||
y = 305
|
||||
|
||||
while b >= 0:
|
||||
while r >= 0:
|
||||
newcolor = str(r) + '_' + str(g) + '_' + str(b)
|
||||
if newcolor == '255_255_255':
|
||||
newcolor = 'White'
|
||||
scribus.defineColorRGB(newcolor,r, g, b)
|
||||
rect = scribus.createRect(x + 255 - r, y, 5, 5)
|
||||
scribus.setFillColor(newcolor, rect)
|
||||
scribus.setLineColor(newcolor, rect)
|
||||
r = r - 5
|
||||
r = 255
|
||||
b = b - 5
|
||||
y = y + 5
|
||||
|
||||
r = 255
|
||||
g = 0
|
||||
y = 305
|
||||
x = 39
|
||||
b = 255
|
||||
|
||||
while b >= 0:
|
||||
while g < 256:
|
||||
newcolor = str(r) + '_' + str(g) + '_' + str(b)
|
||||
if newcolor == '255_255_255':
|
||||
newcolor = 'White'
|
||||
scribus.defineColorRGB(newcolor,r, g, b)
|
||||
rect = scribus.createRect(x + g, y, 5, 5)
|
||||
scribus.setFillColor(newcolor, rect)
|
||||
scribus.setLineColor(newcolor, rect)
|
||||
g = g + 5
|
||||
g = 0
|
||||
b = b - 5
|
||||
y = y + 5
|
||||
|
||||
scribus.setRedraw(True)
|
||||
scribus.redrawAll()
|
||||
```
|
||||
|
||||
Since I was creating a large number of colors, I wasn't surprised to see that the Scribus file is much larger than the PDF I made from it. For example, my Scribus SLA file was 3.0MB, while the PDF I generated from it was only 70KB.
|
||||
|
||||
--------------------------------------------------------------------------------
|
||||
|
||||
via: https://opensource.com/article/19/7/rgb-cube-python-scribus
|
||||
|
||||
作者:[Greg Pittman][a]
|
||||
选题:[lujun9972][b]
|
||||
译者:[译者ID](https://github.com/译者ID)
|
||||
校对:[校对者ID](https://github.com/校对者ID)
|
||||
|
||||
本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创编译,[Linux中国](https://linux.cn/) 荣誉推出
|
||||
|
||||
[a]: https://opensource.com/users/greg-p/users/greg-p
|
||||
[b]: https://github.com/lujun9972
|
||||
[1]: https://opensource.com/sites/default/files/styles/image-full-size/public/lead-images/cube_innovation_process_block_container.png?itok=vkPYmSRQ (cubes coming together to create a larger cube)
|
||||
[2]: https://www.scribus.net/
|
||||
[3]: https://opensource.com/sites/default/files/ebooks/pythonscriptingwithscribus.pdf
|
||||
[4]: https://opensource.com/sites/default/files/uploads/redgreengraph.png (Red-Green graph)
|
||||
[5]: https://opensource.com/sites/default/files/uploads/rgbcubefirsthalf.png (First half of RGB cube)
|
||||
[6]: https://opensource.com/sites/default/files/uploads/rgbcubesecondhalf.png (Second half of RGB cube)
|
||||
[7]: https://opensource.com/sites/default/files/uploads/rgbcubecompositephoto.png (RGB cubes)
|
||||
[8]: https://opensource.com/sites/default/files/uploads/rgbcubeslice.png (RGB cube slice)
|
@ -1,103 +0,0 @@
|
||||
[#]: collector: (lujun9972)
|
||||
[#]: translator: (GraveAccent)
|
||||
[#]: reviewer: ( )
|
||||
[#]: publisher: ( )
|
||||
[#]: url: ( )
|
||||
[#]: subject: (5G will augment Wi-Fi, not replace it)
|
||||
[#]: via: (https://www.networkworld.com/article/3399978/5g-will-augment-wi-fi-not-replace-it.html)
|
||||
[#]: author: (Zeus Kerravala https://www.networkworld.com/author/Zeus-Kerravala/)
|
||||
|
||||
|
||||
5G 会增强 Wi-Fi,而不是取代它
|
||||
======
|
||||
Aruba 战略和企业发展副总裁 Jeff Lipton 为 5G 炒作增添了一些干货,讨论了它和 Wi-Fi 如何协同工作以及如何最大化两者的价值。
|
||||
![Thinkstock][1]
|
||||
|
||||
可以说没有技术主题比 [5G][2] 更热。 这是最近 [移动世界大会][3] 节目的一个主题,并且已经在其他活动中占据了主导地位,例如 Enterprise Connect 和我参加的几乎所有供应商活动。
|
||||
|
||||
一些供应商将 5G 定位为解决所有网络问题的灵丹妙药,并预测它将消除所有其他形式的网络。 像这样的观点显然是极端的,但我相信 5G 会对网络行业产生影响,网络工程师应该意识到这一点。
|
||||
|
||||
为了帮助为5G炒作带来一些现实感,我最近采访了一家惠普公司 Aruba 的战略和企业发展副总裁 Jeff Lipton,因为我知道惠普已经深入参与了 5G 和 Wi-Fi 的发展。
|
||||
|
||||
**[ 另见:[5G 时代几乎已经来了][3] ]**
|
||||
|
||||
### Zeus Kerravala: 5G 被吹捧为“下一件大事”。你是这样看的吗?
|
||||
|
||||
**Jeff Lipton:** 接下来的重点是连接“事物”并从这些事物中产生可操作的见解和背景。5G 是服务于这一趋势的技术之一。Wi-Fi 6 是另一个,还有边缘计算,蓝牙低功耗(BLE),人工智能(AI)和机器学习(ML)。这一切都很重要,全都有自己的用武之地。
|
||||
|
||||
### 你是否在企业中看到 5G 的风头盖过 Wi-Fi?
|
||||
|
||||
![Jeff Lipton, VP of strategy and corporate development, Aruba][4]
|
||||
|
||||
**Lipton:** 与所有蜂窝接入一样,如果你需要宏观区域覆盖和高速切换,使用 5G 是合适的。但对于大多数企业级应用程序而言,它通常不需要这些功能。从性能角度来看,[Wi-Fi 6][5] 和 5G 在大多数指标上大致相等,包括吞吐量,延迟,可靠性和连接密度。它们并不相似的地方在经济方面,Wi-Fi要好得多。我不认为很多客户愿意用 Wi-Fi 交换 5G,除非他们需要宏观覆盖或高速切换。
|
||||
|
||||
### Wi-Fi 和 5G 可以共存吗? 企业如何一起使用 5G 和 Wi-Fi?
|
||||
|
||||
**Lipton:** Wi-Fi 和 5G 可以并且应该是互补的。 5G 架构将蜂窝核心和无线接入网络(RAN)分离。 因此,Wi-Fi 可以是企业无线电前端,并与 5G 核心紧密连接。 由于 Wi-Fi 的经济性 - 特别是 Wi-Fi 6 - 是有利的并且性能非常好,我们设想许多服务提供商在有可行的地方使用 Wi-Fi 作为其 5G 系统的无线电前端,充当分布式天线(DAS)和小型蜂窝系统的替代。
|
||||
|
||||
“Wi-Fi 和 5G 可以并且应该是互补的。” — Jeff Lipton
|
||||
|
||||
### 如果一个企业打算完全转向 5G,那将如何实现以及它的实用性如何?
|
||||
|
||||
**Lipton:** 为了将 5G 用于主要的室内访问,客户需要升级其网络和几乎所有设备。 5G 在室外提供良好的覆盖,但蜂窝信号不能可靠地穿透建筑物。 5G 会使这个问题变得更糟,因为它部分依赖于更高频率的无线电。因此,服务提供商需要一种提供室内覆盖的方法。为了提供这种覆盖,他们会部署 DAS 或小型蜂窝系统 - 由终端客户支付。然后,客户将他们的设备直连到这些蜂窝系统,并为每个设备支付服务合同。
|
||||
|
||||
**[[上 PluralSight 学习移动设备管理课程,了解如何在不降低用户体验的情况下保护公司中的设备。][6]]**
|
||||
|
||||
这种方法存在一些问题。首先,DAS 和小型蜂窝系统比 Wi-Fi 网络贵得多。 并且成本不会因网络而停止。 每台设备都需要一台 5G 蜂窝调制解调器,批发价格高达数十美元,而终端用户通常需要花费一百多美元。 由于目前很少或者没有 MacBook、PC、打印机、AppleTV 有 5G 调制解调器,因此需要对这些设备进行升级。我不相信很多企业会愿意支付这笔额外费用并升级他们的大部分设备以获得不明确的好处。
|
||||
|
||||
### 经济是 5G 与 Wi-Fi 之争的一个要素吗?
|
||||
|
||||
**Lipton:** 经济始终是一个要素。让我们将对话集中在室内企业级应用程序上,因为这是一些运营商打算用 5G 定位的用例。 我们已经提到升级到 5G 将要求企业部署昂贵的 DAS 或小型蜂窝系统用于室内覆盖,几乎将所有设备升级到包含 5G 调制解调器,并为每个设备支付服务合同。理解 5G 蜂窝网络和 DAS 系统在许可频谱上运行也很重要,这类似于私人高速公路。 服务提供商为此频谱支付了数十亿美元,这笔费用需要货币化并嵌入服务成本中。 因此,从部署和生命周期的角度来看,Wi-Fi 在经济上比 5G 有利。
|
||||
|
||||
### 5G 与 Wi-Fi 有任何安全隐患吗?
|
||||
|
||||
**Lipton:** 一些人认为蜂窝技术比Wi-Fi更安全,但事实并非如此。LTE 相对安全,但也有弱点。例如,普渡大学和爱荷华大学的研究人员表示,LTE 容易受到一系列攻击,包括数据拦截和设备跟踪。5G 通过多种认证方法和更好的密钥管理改进了 LTE 安全性。
|
||||
|
||||
Wi-Fi 的安全性也没有停滞不前而是继续发展。当然,不遵循最佳实践的 Wi-Fi 实现,例如那些甚至没有基本密码保护的实现,并不是最佳的。但那些配置了适当的访问控制和密码的人是非常安全的。 随着新标准 - 特别是 WPA3 和增强开放(Enhanced Open) - Wi-Fi网络安全性进一步提高。
|
||||
|
||||
同样重要的是要记住,企业已根据其特定需求对安全性和合规性解决方案进行了大量投资。对于包括 5G 在内的蜂窝网络,企业将失去部署所选安全性和合规性解决方案的能力,以及对流量流的大多数可见性。 虽然 5G 的未来版本将通过称为网络切片的功能提供高级别的自定义,但企业仍将失去他们目前需要和拥有的安全性和合规性定制级别。
|
||||
|
||||
### 关于 5G 与 Wi-Fi 之间的讨论有什么最后的想法?
|
||||
|
||||
**Lipton:** 围绕 Wi-Fi 与 5G 的争论忽略了这一点。它们都有自己的用武之地,而且它们在很多方面都是互补的。由于需要连接和分析越来越多的东西,Wi-Fi 和 5G 市场都将增长。如果客户需要宏覆盖或高速切换,并且可以为这些功能支付额外成本,那么 5G 是可行的。
|
||||
|
||||
5G 也适用于客户需要物理网络分段的某些工业用例。但对于绝大多数企业客户而言,Wi-Fi 将继续像现在一样证明自己作为可靠,安全且经济高效的无线接入技术的价值。
|
||||
|
||||
**更多关于 802.11ax (Wi-Fi 6):**
|
||||
|
||||
* [为什么 802.11ax 是无线网络的下一件大事][7]
|
||||
* [FAQ: 802.11ax Wi-Fi][8]
|
||||
* [Wi-Fi 6 (802.11ax) 正在来到你附件的路由器][9]
|
||||
* [带有 OFDMA 的 Wi-Fi 6 打开了一个全新的无线可能性世界][10]
|
||||
* [802.11ax 预览:支持 Wi-Fi 6 的接入点和路由器随时可用][11]
|
||||
|
||||
|
||||
|
||||
加入 [Facebook][12] 和 [LinkedIn][13] 上的 network world 社区,评论你认为最重要的话题。
|
||||
|
||||
--------------------------------------------------------------------------------
|
||||
|
||||
via: https://www.networkworld.com/article/3399978/5g-will-augment-wi-fi-not-replace-it.html
|
||||
|
||||
作者:[Zeus Kerravala][a]
|
||||
选题:[lujun9972][b]
|
||||
译者:[GraveAccent](https://github.com/graveaccent)
|
||||
校对:[校对者ID](https://github.com/校对者ID)
|
||||
|
||||
本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创编译,[Linux中国](https://linux.cn/) 荣誉推出
|
||||
|
||||
[a]: https://www.networkworld.com/author/Zeus-Kerravala/
|
||||
[b]: https://github.com/lujun9972
|
||||
[1]: https://images.idgesg.net/images/article/2019/05/wireless_connection_speed_connectivity_bars_cell_tower_5g_by_thinkstock-100796921-large.jpg
|
||||
[2]: https://www.networkworld.com/article/3203489/what-is-5g-how-is-it-better-than-4g.html
|
||||
[3]: https://www.networkworld.com/article/3354477/mobile-world-congress-the-time-of-5g-is-almost-here.html
|
||||
[4]: https://images.idgesg.net/images/article/2019/06/headshot_jlipton_aruba-100798360-small.jpg
|
||||
[5]: https://www.networkworld.com/article/3215907/why-80211ax-is-the-next-big-thing-in-wi-fi.html
|
||||
[6]: https://pluralsight.pxf.io/c/321564/424552/7490?u=https%3A%2F%2Fwww.pluralsight.com%2Fcourses%2Fmobile-device-management-big-picture
|
||||
[7]: https://www.networkworld.com/article/3215907/mobile-wireless/why-80211ax-is-the-next-big-thing-in-wi-fi.html
|
||||
[8]: https://%20https//www.networkworld.com/article/3048196/mobile-wireless/faq-802-11ax-wi-fi.html
|
||||
[9]: https://www.networkworld.com/article/3311921/mobile-wireless/wi-fi-6-is-coming-to-a-router-near-you.html
|
||||
[10]: https://www.networkworld.com/article/3332018/wi-fi/wi-fi-6-with-ofdma-opens-a-world-of-new-wireless-possibilities.html
|
||||
[11]: https://www.networkworld.com/article/3309439/mobile-wireless/80211ax-preview-access-points-and-routers-that-support-the-wi-fi-6-protocol-on-tap.html
|
||||
[12]: https://www.facebook.com/NetworkWorld/
|
||||
[13]: https://www.linkedin.com/company/network-world
|
Loading…
Reference in New Issue
Block a user