对 C++ 的忧虑?C++ 创始人警告:关于 C++ 的某些未来计划十分危险
Bjarne Stroustrup 是 C++ 语言的创始人,他写了一封信,请那些关注编程语言进展的人去“想想瓦萨号!”Media
via https://linux.cn/article-10202-1.html
Bjarne Stroustrup 是 C++ 语言的创始人,他写了一封信,请那些关注编程语言进展的人去“想想瓦萨号!”Media
via https://linux.cn/article-10202-1.html
对 C++ 的忧虑?C++ 创始人警告:关于 C++ 的某些未来计划十分危险
<a href="https://dn-linuxcn.qbox.me/data/attachment/album/201811/06/164654t32a8b1rzdnt38a3.jpg">Media今年早些时候,我们对 Bjarne Stroustrup 进行了采访。他是 C++ 语言的创始人,摩根士丹利技术部门的董事总经理,美国哥伦比亚大学计算机科学的客座教授。他写了<a href="http://open-std.org/JTC1/SC22/WG21/docs/papers/2018/p0977r0.pdf">一封信,请那些关注编程语言进展的人去“想想瓦萨号!”这句话对于丹麦人来说,毫无疑问,很容易理解。而那些对于 17 世纪的斯堪的纳维亚历史了解不多的人,还需要详细说明一下。瓦萨号是一艘瑞典军舰,由国王 Gustavus Adolphus 定做。它是当时波罗的海国家中最强大的军舰,但在 1628 年 8 月 10 日首航没几分钟之后就沉没了。<a href="https://dn-linuxcn.qbox.me/data/attachment/album/201811/06/164644atfrqo3hqf55wnyq.jpg">Media巨大的瓦萨号有一个难以解决的设计缺陷:头重脚轻,以至于它被<a href="https://www.vasamuseet.se/en/vasa-history/disaster">一阵狂风刮翻了。通过援引这艘沉船的历史,Stroustrup 警示了 C++ 所面临的风险 —— 现在越来越多的特性被添加到了 C++ 中。我们现在已经发现了好些能导致头重脚轻的特性。Stroustrup 在他的信中引用了 43 个提议。他认为那些参与 C++ 语言 ISO 标准演进的人(即所谓的 <a href="http://open-std.org/JTC1/SC22/WG21/">WG21 小组)正在努力推进语言发展,但成员们的努力方向却并不一致。在他的信中,他写道:分开来看,许多提议都很有道理。但将它们综合到一起,这些提议是很愚蠢的,将危害 C++ 的未来。他明确表示,ߢ…
<a href="https://dn-linuxcn.qbox.me/data/attachment/album/201811/06/164654t32a8b1rzdnt38a3.jpg">Media今年早些时候,我们对 Bjarne Stroustrup 进行了采访。他是 C++ 语言的创始人,摩根士丹利技术部门的董事总经理,美国哥伦比亚大学计算机科学的客座教授。他写了<a href="http://open-std.org/JTC1/SC22/WG21/docs/papers/2018/p0977r0.pdf">一封信,请那些关注编程语言进展的人去“想想瓦萨号!”这句话对于丹麦人来说,毫无疑问,很容易理解。而那些对于 17 世纪的斯堪的纳维亚历史了解不多的人,还需要详细说明一下。瓦萨号是一艘瑞典军舰,由国王 Gustavus Adolphus 定做。它是当时波罗的海国家中最强大的军舰,但在 1628 年 8 月 10 日首航没几分钟之后就沉没了。<a href="https://dn-linuxcn.qbox.me/data/attachment/album/201811/06/164644atfrqo3hqf55wnyq.jpg">Media巨大的瓦萨号有一个难以解决的设计缺陷:头重脚轻,以至于它被<a href="https://www.vasamuseet.se/en/vasa-history/disaster">一阵狂风刮翻了。通过援引这艘沉船的历史,Stroustrup 警示了 C++ 所面临的风险 —— 现在越来越多的特性被添加到了 C++ 中。我们现在已经发现了好些能导致头重脚轻的特性。Stroustrup 在他的信中引用了 43 个提议。他认为那些参与 C++ 语言 ISO 标准演进的人(即所谓的 <a href="http://open-std.org/JTC1/SC22/WG21/">WG21 小组)正在努力推进语言发展,但成员们的努力方向却并不一致。在他的信中,他写道:分开来看,许多提议都很有道理。但将它们综合到一起,这些提议是很愚蠢的,将危害 C++ 的未来。他明确表示,ߢ…
Python 数据科学入门
不需要昂贵的工具即可领略数据科学的力量,从这些开源工具起步即可。<a href="https://dn-linuxcn.qbox.me/data/attachment/album/201811/06/195017agc777rln78znrl2.jpg">Media</a>无论你是一个具有数学或计算机科学背景的资深数据科学爱好者,还是一个其它领域的专家,数据科学提供的可能性都在你力所能及的范围内,而且你不需要昂贵的,高度专业化的企业级软件。本文中讨论的开源工具就是你入门时所需的全部内容。<a href="https://www.python.org/">Python</a>,其机器学习和数据科学库(<a href="https://pandas.pydata.org/">pandas</a>、 <a href="https://keras.io/">Keras</a>、 <a href="https://www.tensorflow.org/">TensorFlow</a>、 <a href="http://scikit-learn.org/stable/">scikit-learn</a>、 <a href="https://www.scipy.org/">SciPy</a>、 <a href="http://www.numpy.org/">NumPy</a> 等),以及大量可视化库(<a href="https://matplotlib.org/">Matplotlib</a>、<a href="https://matplotlib.org/api/pyplot_api.html">pyplot</a>、 <a href="https://plot.ly/">Plotly</a> 等)对于初学者和专家来说都是优秀的自由及开源软件工具。它们易于学习,很受欢迎且受到社区支持,并拥有为数据科学而开发的最新技术和算法。它们是你在开始学习时可以获得的最佳工具集之一。许多 Python 库都是建立在彼此之上的(称为依赖项),其基础是 <a href="http://www.numpy.org/">NumPy</a> 库。NumPy 专门为数据科学设计,经常被用于在其 ndarray 数据类型中存储数据集的相关部分。ndarray 是一种方便的数据类型,用于将关系表中的记录存储为 cvs 文件或其它任何格式,反之亦然。将 scikit 函数应用于多维数组时,它特别方便。SQL 非常适合查询数据库,但是对于执行复杂和资源密集型的数据科学ਔ…
不需要昂贵的工具即可领略数据科学的力量,从这些开源工具起步即可。<a href="https://dn-linuxcn.qbox.me/data/attachment/album/201811/06/195017agc777rln78znrl2.jpg">Media</a>无论你是一个具有数学或计算机科学背景的资深数据科学爱好者,还是一个其它领域的专家,数据科学提供的可能性都在你力所能及的范围内,而且你不需要昂贵的,高度专业化的企业级软件。本文中讨论的开源工具就是你入门时所需的全部内容。<a href="https://www.python.org/">Python</a>,其机器学习和数据科学库(<a href="https://pandas.pydata.org/">pandas</a>、 <a href="https://keras.io/">Keras</a>、 <a href="https://www.tensorflow.org/">TensorFlow</a>、 <a href="http://scikit-learn.org/stable/">scikit-learn</a>、 <a href="https://www.scipy.org/">SciPy</a>、 <a href="http://www.numpy.org/">NumPy</a> 等),以及大量可视化库(<a href="https://matplotlib.org/">Matplotlib</a>、<a href="https://matplotlib.org/api/pyplot_api.html">pyplot</a>、 <a href="https://plot.ly/">Plotly</a> 等)对于初学者和专家来说都是优秀的自由及开源软件工具。它们易于学习,很受欢迎且受到社区支持,并拥有为数据科学而开发的最新技术和算法。它们是你在开始学习时可以获得的最佳工具集之一。许多 Python 库都是建立在彼此之上的(称为依赖项),其基础是 <a href="http://www.numpy.org/">NumPy</a> 库。NumPy 专门为数据科学设计,经常被用于在其 ndarray 数据类型中存储数据集的相关部分。ndarray 是一种方便的数据类型,用于将关系表中的记录存储为 cvs 文件或其它任何格式,反之亦然。将 scikit 函数应用于多维数组时,它特别方便。SQL 非常适合查询数据库,但是对于执行复杂和资源密集型的数据科学ਔ…
在 Ubuntu 和 Debian 上启用双因子身份验证的三种备选方案
如何为你的 SSH 服务器安装三种不同的双因子身份验证方案。Media
via https://linux.cn/article-10204-1.html
如何为你的 SSH 服务器安装三种不同的双因子身份验证方案。Media
via https://linux.cn/article-10204-1.html
在 Ubuntu 和 Debian 上启用双因子身份验证的三种备选方案
如何为你的 SSH 服务器安装三种不同的双因子身份验证方案。<a href="https://dn-linuxcn.qbox.me/data/attachment/album/201811/06/204750irbcwg7egu45e7qp.jpg">Media</a>如今,安全比以往更加重要,保护 SSH 服务器是作为系统管理员可以做的最为重要的事情之一。传统地,这意味着禁用密码身份验证而改用 SSH 密钥。无疑这是你首先应该做的,但这并不意味着 SSH 无法变得更加安全。双因子身份验证就是指需要两种身份验证才能登录。可以是密码和 SSH 密钥,也可以是密钥和第三方服务,比如 Google。这意味着单个验证方法的泄露不会危及服务器。以下指南是为 SSH 启用双因子验证的三种方式。当你修改 SSH 配置时,总是要确保有一个连接到服务器的第二终端。第二终端意味着你可以修复你在 SSH 配置中犯的任何错误。打开的终端将一直保持,即便 SSH 服务重启。SSH 密钥和密码SSH 支持对登录要求不止一个身份验证方法。在 /etc/sh/sshd_config 中的 SSH 服务器配置文件中的 AuthenticationMethods 选项中设置了身份验证方法。当在 /etc/ssh/sshd_config 中添加下一行时,SSH 需要提交一个 SSH 密钥,然后提示输入密码:<pre class="prettyprint linenums">AuthenticationMethods "publickey,password"</pre>如果你想要根据使用情况设置这些方法,那么请使用以下附加配置:<pre class="prettyprint linenums">Match User jsmith AuthenticationMethods "publickey,password"</pre>当你已经编辑或保存了新的 sshd_config 文件,你应该通过运行以下程序来确保你没有犯任何错误:<pre class="prettyprint linenums">sshd -t</pre>任何导致…
如何为你的 SSH 服务器安装三种不同的双因子身份验证方案。<a href="https://dn-linuxcn.qbox.me/data/attachment/album/201811/06/204750irbcwg7egu45e7qp.jpg">Media</a>如今,安全比以往更加重要,保护 SSH 服务器是作为系统管理员可以做的最为重要的事情之一。传统地,这意味着禁用密码身份验证而改用 SSH 密钥。无疑这是你首先应该做的,但这并不意味着 SSH 无法变得更加安全。双因子身份验证就是指需要两种身份验证才能登录。可以是密码和 SSH 密钥,也可以是密钥和第三方服务,比如 Google。这意味着单个验证方法的泄露不会危及服务器。以下指南是为 SSH 启用双因子验证的三种方式。当你修改 SSH 配置时,总是要确保有一个连接到服务器的第二终端。第二终端意味着你可以修复你在 SSH 配置中犯的任何错误。打开的终端将一直保持,即便 SSH 服务重启。SSH 密钥和密码SSH 支持对登录要求不止一个身份验证方法。在 /etc/sh/sshd_config 中的 SSH 服务器配置文件中的 AuthenticationMethods 选项中设置了身份验证方法。当在 /etc/ssh/sshd_config 中添加下一行时,SSH 需要提交一个 SSH 密钥,然后提示输入密码:<pre class="prettyprint linenums">AuthenticationMethods "publickey,password"</pre>如果你想要根据使用情况设置这些方法,那么请使用以下附加配置:<pre class="prettyprint linenums">Match User jsmith AuthenticationMethods "publickey,password"</pre>当你已经编辑或保存了新的 sshd_config 文件,你应该通过运行以下程序来确保你没有犯任何错误:<pre class="prettyprint linenums">sshd -t</pre>任何导致…
如何在 Linux 中快速地通过 HTTP 提供文件访问服务
如果你想知道如何在类 Unix 操作系统中通过 HTTP 轻松快速地提供文件和文件夹的访问服务,以下方法之一肯定会有所帮助。Media
via https://linux.cn/article-10205-1.html
如果你想知道如何在类 Unix 操作系统中通过 HTTP 轻松快速地提供文件和文件夹的访问服务,以下方法之一肯定会有所帮助。Media
via https://linux.cn/article-10205-1.html
如何在 Linux 中快速地通过 HTTP 提供文件访问服务
<a href="https://dn-linuxcn.qbox.me/data/attachment/album/201811/07/132239bg55eg55gy88oxoh.png">Media</a>如今,我有很多方法来通过 Web 浏览器为局域网中的其他系统提供单个文件或整个目录的访问。我在我的 Ubuntu 测试机上测试了这些方法,它们如下面描述的那样运行正常。如果你想知道如何在类 Unix 操作系统中通过 HTTP 轻松快速地提供文件和文件夹的访问服务,以下方法之一肯定会有所帮助。在 Linux 中通过 HTTP 访问文件和文件夹免责声明:此处给出的所有方法适用于安全的局域网。由于这些方法没有任何安全机制,因此不建议在生产环境中使用它们。你注意了!方法 1 - 使用 simpleHTTPserver(Python)我们写了一篇简要的指南来设置一个简单的 http 服务器,以便在以下链接中即时共享文件和目录。如果你有一个安装了 Python 的系统,这个方法非常方便。<a href="https://www.ostechnix.com/how-to-setup-a-file-server-in-minutes-using-python/">如何使用 simpleHTTPserver 设置一个简单的文件服务器</a>方法 2 - 使用 Quickserve(Python)此方法针对 Arch Linux 及其衍生版。有关详细信息,请查看下面的链接。<a href="https://www.ostechnix.com/instantly-share-files-folders-arch-linux/">如何在 Arch Linux 中即时共享文件和文件夹</a>方法 3 - 使用 Ruby在此方法中,我们使用 Ruby 在类 Unix 系统中通过 HTTP 提供文件和文件夹访问。按照以下链接中的说明安装 Ruby 和 Rails。<a href="https://www.ostechnix.com/install-ruby-rails-ubuntu-16-04/">在 CentOS 和 Ubuntu 中安装 Ruby on Rails</a>安装 Ruby 后,进入要通过网络共享的目录,例如 ostechnix:<pre class="prettyprint linenums">$ cd ostechnix</pre>并运行以下Ø…
<a href="https://dn-linuxcn.qbox.me/data/attachment/album/201811/07/132239bg55eg55gy88oxoh.png">Media</a>如今,我有很多方法来通过 Web 浏览器为局域网中的其他系统提供单个文件或整个目录的访问。我在我的 Ubuntu 测试机上测试了这些方法,它们如下面描述的那样运行正常。如果你想知道如何在类 Unix 操作系统中通过 HTTP 轻松快速地提供文件和文件夹的访问服务,以下方法之一肯定会有所帮助。在 Linux 中通过 HTTP 访问文件和文件夹免责声明:此处给出的所有方法适用于安全的局域网。由于这些方法没有任何安全机制,因此不建议在生产环境中使用它们。你注意了!方法 1 - 使用 simpleHTTPserver(Python)我们写了一篇简要的指南来设置一个简单的 http 服务器,以便在以下链接中即时共享文件和目录。如果你有一个安装了 Python 的系统,这个方法非常方便。<a href="https://www.ostechnix.com/how-to-setup-a-file-server-in-minutes-using-python/">如何使用 simpleHTTPserver 设置一个简单的文件服务器</a>方法 2 - 使用 Quickserve(Python)此方法针对 Arch Linux 及其衍生版。有关详细信息,请查看下面的链接。<a href="https://www.ostechnix.com/instantly-share-files-folders-arch-linux/">如何在 Arch Linux 中即时共享文件和文件夹</a>方法 3 - 使用 Ruby在此方法中,我们使用 Ruby 在类 Unix 系统中通过 HTTP 提供文件和文件夹访问。按照以下链接中的说明安装 Ruby 和 Rails。<a href="https://www.ostechnix.com/install-ruby-rails-ubuntu-16-04/">在 CentOS 和 Ubuntu 中安装 Ruby on Rails</a>安装 Ruby 后,进入要通过网络共享的目录,例如 ostechnix:<pre class="prettyprint linenums">$ cd ostechnix</pre>并运行以下Ø…
SDKMAN:轻松管理多个软件开发套件 (SDK) 的命令行工具
它允许开发者为 JVM 安装不同的 SDK,例如 Java、Groovy、Scala、Kotlin 和 Ceylon、Ant、Gradle、Grails、Maven、SBT、Spark、Spring Boot、Vert.x,以及许多其他支持的 SDK。Media
via https://linux.cn/article-10206-1.html
它允许开发者为 JVM 安装不同的 SDK,例如 Java、Groovy、Scala、Kotlin 和 Ceylon、Ant、Gradle、Grails、Maven、SBT、Spark、Spring Boot、Vert.x,以及许多其他支持的 SDK。Media
via https://linux.cn/article-10206-1.html
SDKMAN:轻松管理多个软件开发套件 (SDK) 的命令行工具
<a href="https://dn-linuxcn.qbox.me/data/attachment/album/201811/07/160452r900imk2gjcgrv1z.png">Media</a>你是否是一个经常在不同的 SDK 下安装和测试应用的开发者?我有一个好消息要告诉你!给你介绍一下 <strong>SDKMAN</strong>,一个可以帮你轻松管理多个 SDK 的命令行工具。它为安装、切换、列出和移除 SDK 提供了一个简便的方式。有了 SDKMAN,你可以在任何类 Unix 的操作系统上轻松地并行管理多个 SDK 的多个版本。它允许开发者为 JVM 安装不同的 SDK,例如 Java、Groovy、Scala、Kotlin 和 Ceylon、Ant、Gradle、Grails、Maven、SBT、Spark、Spring Boot、Vert.x,以及许多其他支持的 SDK。SDKMAN 是免费、轻量、开源、使用 <strong>Bash</strong> 编写的程序。安装 SDKMAN安装 SDKMAN 很简单。首先,确保你已经安装了 zip 和 unzip 这两个应用。它们在大多数的 Linux 发行版的默认仓库中。
例如,在基于 Debian 的系统上安装 unzip,只需要运行:<pre class="prettyprint linenums">$ sudo apt-get install zip unzip</pre>然后使用下面的命令安装 SDKMAN:<pre class="prettyprint linenums">$ curl -s "https://get.sdkman.io" | bash</pre>在安装完成之后,运行以下命令:<pre class="prettyprint linenums">$ source "$HOME/.sdkman/bin/sdkman-init.sh"</pre>如果你希望自定义安装到其他位置,例如 /usr/local/,你可以这样做:<pre class="prettyprint linenums">$ export SDKMAN_DIR="/usr/local/sdkman" && curl -s "https://get.sdkman.io" | bash</pre>确保你的用户有足够的权限访问这个目录。最后,在安装完成后使用下面的命令检查一下:<pre class="prettyprint linenums">$ sdk version==== BROADCAST =================================================================* 01/08/18: Kotlin 1.2.60 released on SDKMAN! #kotlin* 31/07/18: Sbt 1.2.0 released on SDKMAN! #sbt* 31/07/18: Infrastructor 0.2.1 released on SDKMAN! #infrastructor================================================================================SDKMAN 5.7.2+323</pre>恭喜你!SDKMAN 已经安装完成了。…
<a href="https://dn-linuxcn.qbox.me/data/attachment/album/201811/07/160452r900imk2gjcgrv1z.png">Media</a>你是否是一个经常在不同的 SDK 下安装和测试应用的开发者?我有一个好消息要告诉你!给你介绍一下 <strong>SDKMAN</strong>,一个可以帮你轻松管理多个 SDK 的命令行工具。它为安装、切换、列出和移除 SDK 提供了一个简便的方式。有了 SDKMAN,你可以在任何类 Unix 的操作系统上轻松地并行管理多个 SDK 的多个版本。它允许开发者为 JVM 安装不同的 SDK,例如 Java、Groovy、Scala、Kotlin 和 Ceylon、Ant、Gradle、Grails、Maven、SBT、Spark、Spring Boot、Vert.x,以及许多其他支持的 SDK。SDKMAN 是免费、轻量、开源、使用 <strong>Bash</strong> 编写的程序。安装 SDKMAN安装 SDKMAN 很简单。首先,确保你已经安装了 zip 和 unzip 这两个应用。它们在大多数的 Linux 发行版的默认仓库中。
例如,在基于 Debian 的系统上安装 unzip,只需要运行:<pre class="prettyprint linenums">$ sudo apt-get install zip unzip</pre>然后使用下面的命令安装 SDKMAN:<pre class="prettyprint linenums">$ curl -s "https://get.sdkman.io" | bash</pre>在安装完成之后,运行以下命令:<pre class="prettyprint linenums">$ source "$HOME/.sdkman/bin/sdkman-init.sh"</pre>如果你希望自定义安装到其他位置,例如 /usr/local/,你可以这样做:<pre class="prettyprint linenums">$ export SDKMAN_DIR="/usr/local/sdkman" && curl -s "https://get.sdkman.io" | bash</pre>确保你的用户有足够的权限访问这个目录。最后,在安装完成后使用下面的命令检查一下:<pre class="prettyprint linenums">$ sdk version==== BROADCAST =================================================================* 01/08/18: Kotlin 1.2.60 released on SDKMAN! #kotlin* 31/07/18: Sbt 1.2.0 released on SDKMAN! #sbt* 31/07/18: Infrastructor 0.2.1 released on SDKMAN! #infrastructor================================================================================SDKMAN 5.7.2+323</pre>恭喜你!SDKMAN 已经安装完成了。…
深度剖析阿里巴巴对 Apache Flink 的优化与改进
Flink 计算的主流方向被定位为流计算,即用流式计算来做所有大数据的计算工作,这就是 Flink 技术诞生的背景。Media
via https://linux.cn/article-10207-1.html
Flink 计算的主流方向被定位为流计算,即用流式计算来做所有大数据的计算工作,这就是 Flink 技术诞生的背景。Media
via https://linux.cn/article-10207-1.html
深度剖析阿里巴巴对 Apache Flink 的优化与改进
Apache Flink 概述Apache Flink(以下简称 Flink)是诞生于欧洲的一个大数据研究项目,原名 StratoSphere。该项目是柏林工业大学的一个研究性项目,早期专注于批计算。2014 年,StratoSphere 项目中的核心成员孵化出 Flink,并在同年将 Flink 捐赠 Apache,后来 Flink 顺利成为 Apache 的顶级大数据项目。同时 Flink 计算的主流方向被定位为流计算,即用流式计算来做所有大数据的计算工作,这就是 Flink 技术诞生的背景。<a href="https://dn-linuxcn.qbox.me/data/attachment/album/201811/07/192440tsqfjos4zccoc66s.png">Media</a>2014 年 Flink 作为主攻流计算的大数据引擎开始在开源大数据行业内崭露头角。区别于 Storm、Spark Streaming 以及其他流式计算引擎的是:它不仅是一个高吞吐、低延迟的计算引擎,同时还提供很多高级功能。比如它提供有状态的计算,支持状态管理,支持强一致性的数据语义以及支持 Event Time、WaterMark 对消息乱序的处理等。Flink 的受欢迎还离不开它身上的众多标签,其中包括性能优秀(尤其在流计算领域)、高可扩展性、支持容错,是一种纯内存式的一个计算引擎,做了内存管理方面的大量优化,另外也支持 eventime 的处理、支持超大状态的 Job(在阿里巴巴中作业的 state 大小超过 TB 的是非常常见的)、支持 exactly-once 的处理。阿里巴巴与 Flink随着人工智能时代的降临,数据量的爆发,在典型的大数据的业务场景下数据业务最通用的做法是:选用批处理的技术处ச…
Apache Flink 概述Apache Flink(以下简称 Flink)是诞生于欧洲的一个大数据研究项目,原名 StratoSphere。该项目是柏林工业大学的一个研究性项目,早期专注于批计算。2014 年,StratoSphere 项目中的核心成员孵化出 Flink,并在同年将 Flink 捐赠 Apache,后来 Flink 顺利成为 Apache 的顶级大数据项目。同时 Flink 计算的主流方向被定位为流计算,即用流式计算来做所有大数据的计算工作,这就是 Flink 技术诞生的背景。<a href="https://dn-linuxcn.qbox.me/data/attachment/album/201811/07/192440tsqfjos4zccoc66s.png">Media</a>2014 年 Flink 作为主攻流计算的大数据引擎开始在开源大数据行业内崭露头角。区别于 Storm、Spark Streaming 以及其他流式计算引擎的是:它不仅是一个高吞吐、低延迟的计算引擎,同时还提供很多高级功能。比如它提供有状态的计算,支持状态管理,支持强一致性的数据语义以及支持 Event Time、WaterMark 对消息乱序的处理等。Flink 的受欢迎还离不开它身上的众多标签,其中包括性能优秀(尤其在流计算领域)、高可扩展性、支持容错,是一种纯内存式的一个计算引擎,做了内存管理方面的大量优化,另外也支持 eventime 的处理、支持超大状态的 Job(在阿里巴巴中作业的 state 大小超过 TB 的是非常常见的)、支持 exactly-once 的处理。阿里巴巴与 Flink随着人工智能时代的降临,数据量的爆发,在典型的大数据的业务场景下数据业务最通用的做法是:选用批处理的技术处ச…
如何在树莓派上搭建 WordPress
这篇简单的教程可以让你在树莓派上运行你的 WordPress 网站。<a href="https://dn-linuxcn.qbox.me/data/attachment/album/201811/07/213524y2djj3jvz9tjhcoz.png">Media</a>WordPress 是一个非常受欢迎的开源博客平台和内容管理平台(CMS)。它很容易搭建,而且还有一个活跃的开发者社区构建网站、创建主题和插件供其他人使用。虽然通过一键式 WordPress 设置获得托管包很容易,但也可以简单地通过命令行在 Linux 服务器上设置自己的托管包,而且树莓派是一种用来尝试它并顺便学习一些东西的相当好的途径。一个经常使用的 Web 套件的四个部分是 Linux、Apache、MySQL 和 PHP。这里是你对它们每一个需要了解的。Linux树莓派上运行的系统是 Raspbian,这是一个基于 Debian,为运行在树莓派硬件上而优化的很好的 Linux 发行版。你有两个选择:桌面版或是精简版。桌面版有一个熟悉的桌面还有很多教育软件和编程工具,像是 LibreOffice 套件、Mincraft,还有一个 web 浏览器。精简版本没有桌面环境,因此它只有命令行以及一些必要的软件。这篇教程在两个版本上都可以使用,但是如果你使用的是精简版,你必须要有另外一台电脑去访问你的站点。ApacheApache 是一个受欢迎的 web 服务器应用,你可以安装在你的树莓派上伺服你的 web 页面。就其自身而言,Apache 可以通过 HTTP 提供静态 HTML 文件。使用额外的模块,它也可以使用像是 PHP 的脚本语言提供动态网页。安装 Apache 非常简单。打开…
这篇简单的教程可以让你在树莓派上运行你的 WordPress 网站。<a href="https://dn-linuxcn.qbox.me/data/attachment/album/201811/07/213524y2djj3jvz9tjhcoz.png">Media</a>WordPress 是一个非常受欢迎的开源博客平台和内容管理平台(CMS)。它很容易搭建,而且还有一个活跃的开发者社区构建网站、创建主题和插件供其他人使用。虽然通过一键式 WordPress 设置获得托管包很容易,但也可以简单地通过命令行在 Linux 服务器上设置自己的托管包,而且树莓派是一种用来尝试它并顺便学习一些东西的相当好的途径。一个经常使用的 Web 套件的四个部分是 Linux、Apache、MySQL 和 PHP。这里是你对它们每一个需要了解的。Linux树莓派上运行的系统是 Raspbian,这是一个基于 Debian,为运行在树莓派硬件上而优化的很好的 Linux 发行版。你有两个选择:桌面版或是精简版。桌面版有一个熟悉的桌面还有很多教育软件和编程工具,像是 LibreOffice 套件、Mincraft,还有一个 web 浏览器。精简版本没有桌面环境,因此它只有命令行以及一些必要的软件。这篇教程在两个版本上都可以使用,但是如果你使用的是精简版,你必须要有另外一台电脑去访问你的站点。ApacheApache 是一个受欢迎的 web 服务器应用,你可以安装在你的树莓派上伺服你的 web 页面。就其自身而言,Apache 可以通过 HTTP 提供静态 HTML 文件。使用额外的模块,它也可以使用像是 PHP 的脚本语言提供动态网页。安装 Apache 非常简单。打开…
在 Fedora 上使用 Pitivi 编辑视频
如果你在寻找一个容易上手的视频编辑器,并且也可以在官方 Fedora 仓库中找到,请尝试一下 Pitivi。Media
via https://linux.cn/article-10209-1.html
如果你在寻找一个容易上手的视频编辑器,并且也可以在官方 Fedora 仓库中找到,请尝试一下 Pitivi。Media
via https://linux.cn/article-10209-1.html
在 Fedora 上使用 Pitivi 编辑视频
<a href="https://dn-linuxcn.qbox.me/data/attachment/album/201811/07/225136nrbgnss9znxz7t8t.png">Media</a>想制作一部你本周末冒险的视频吗?视频编辑有很多选择。但是,如果你在寻找一个容易上手的视频编辑器,并且也可以在官方 Fedora 仓库中找到,请尝试一下 <a href="http://www.pitivi.org/">Pitivi</a>。Pitivi 是一个使用 GStreamer 框架的开源非线性视频编辑器。在 Fedora 下开箱即用,Pitivi 支持 OGG、WebM 和一系列其他格式。此外,通过 GStreamer 插件可以获得更多视频格式支持。Pitivi 也与 GNOME 桌面紧密集成,因此相比其他新的程序,它的 UI 在 Fedora Workstation 上会感觉很熟悉。在 Fedora 上安装 PitiviPitivi 可以在 Fedora 仓库中找到。在 Fedora Workstation 上,只需在应用中心搜索并安装 Pitivi。<a href="https://dn-linuxcn.qbox.me/data/attachment/album/201811/07/225138ej500yyji12yagy5.png">Media</a>或者,使用以下命令在终端中安装 Pitivi:<pre class="prettyprint linenums">sudo dnf install pitivi</pre>基本编辑Pitivi 内置了多种工具,可以快速有效地编辑剪辑。只需将视频、音频和图像导入 Pitivi 媒体库,然后将它们拖到时间线上即可。此外,除了时间线上的简单淡入淡出过渡之外,Pitivi 还允许你轻松地将剪辑的各个部分分割、修剪和分组。<a href="https://dn-linuxcn.qbox.me/data/attachment/album/201811/07/225139fpqoneoifq4e1vo3.png">Media</a>过渡和效果除了两个剪辑之间的基本淡入淡出外,Pitivi 还具有一系列不同的过渡和擦除功能。此外,有超过一百种效果可应用于视频或音频,以更改媒体元素在最终演示中的播放或显示方式。<a href="https://dn-linuxcn.qbox.me/data/attachment/album/201811/07/225156bihosz9cix4j7rsr.jpg">Media</a>Pitivi 还具有一系列其他强大功能,因此…
<a href="https://dn-linuxcn.qbox.me/data/attachment/album/201811/07/225136nrbgnss9znxz7t8t.png">Media</a>想制作一部你本周末冒险的视频吗?视频编辑有很多选择。但是,如果你在寻找一个容易上手的视频编辑器,并且也可以在官方 Fedora 仓库中找到,请尝试一下 <a href="http://www.pitivi.org/">Pitivi</a>。Pitivi 是一个使用 GStreamer 框架的开源非线性视频编辑器。在 Fedora 下开箱即用,Pitivi 支持 OGG、WebM 和一系列其他格式。此外,通过 GStreamer 插件可以获得更多视频格式支持。Pitivi 也与 GNOME 桌面紧密集成,因此相比其他新的程序,它的 UI 在 Fedora Workstation 上会感觉很熟悉。在 Fedora 上安装 PitiviPitivi 可以在 Fedora 仓库中找到。在 Fedora Workstation 上,只需在应用中心搜索并安装 Pitivi。<a href="https://dn-linuxcn.qbox.me/data/attachment/album/201811/07/225138ej500yyji12yagy5.png">Media</a>或者,使用以下命令在终端中安装 Pitivi:<pre class="prettyprint linenums">sudo dnf install pitivi</pre>基本编辑Pitivi 内置了多种工具,可以快速有效地编辑剪辑。只需将视频、音频和图像导入 Pitivi 媒体库,然后将它们拖到时间线上即可。此外,除了时间线上的简单淡入淡出过渡之外,Pitivi 还允许你轻松地将剪辑的各个部分分割、修剪和分组。<a href="https://dn-linuxcn.qbox.me/data/attachment/album/201811/07/225139fpqoneoifq4e1vo3.png">Media</a>过渡和效果除了两个剪辑之间的基本淡入淡出外,Pitivi 还具有一系列不同的过渡和擦除功能。此外,有超过一百种效果可应用于视频或音频,以更改媒体元素在最终演示中的播放或显示方式。<a href="https://dn-linuxcn.qbox.me/data/attachment/album/201811/07/225156bihosz9cix4j7rsr.jpg">Media</a>Pitivi 还具有一系列其他强大功能,因此…
理解 Linux 链接(二)
我们继续这个系列,来看一些你所不知道的微妙之处。<a href="https://dn-linuxcn.qbox.me/data/attachment/album/201811/08/203829rfzflvdzbw0ywqvd.jpg">Media</a>在<a href="https://linux.cn/article-10173-1.html">本系列的第一篇文章中</a>,我们认识了硬链接、软链接,知道在很多时候链接是非常有用的。链接看起来比较简单,但是也有一些不易察觉的奇怪的地方需要注意。这就是我们这篇文章中要讲的。例如,像一下我们在前一篇文章中创建的指向 libblah 的链接。请注意,我们是如何从目标文件夹中创建链接的。<pre class="prettyprint linenums">cd /usr/local/libln -s /usr/lib/libblah</pre>这样是可以工作的,但是下面的这个例子却是不行的。<pre class="prettyprint linenums">cd /usr/libln -s libblah /usr/local/lib</pre>也就是说,从原始文件夹内到目标文件夹之间的链接将不起作用。出现这种情况的原因是 ln 会把它当作是你在 /usr/local/lib 中创建一个到 /usr/local/lib 的链接,并在 /usr/local/lib 中创建了从 libblah 到 libblah 的一个链接。这是因为所有链接文件获取的是文件的名称(`libblah),而不是文件的路径,最终的结果将会产生一个坏的链接。然而,请看下面的这种情况。<pre class="prettyprint linenums">cd /usr/libln -s /usr/lib/libblah /usr/local/lib</pre>是可以工作的。奇怪的事情又来了,不管你在文件系统的任何位置执行这个指令,它都可以好好的工作。使用绝对路径,也就是说,指定整个完整的路径,从根目录(/)开始到需要的文件或者是文件夹,是最好的实现方式。其它需要注意的事情是,只要 /usr/lib 和 /usr/local/lib 在一个分&#…
我们继续这个系列,来看一些你所不知道的微妙之处。<a href="https://dn-linuxcn.qbox.me/data/attachment/album/201811/08/203829rfzflvdzbw0ywqvd.jpg">Media</a>在<a href="https://linux.cn/article-10173-1.html">本系列的第一篇文章中</a>,我们认识了硬链接、软链接,知道在很多时候链接是非常有用的。链接看起来比较简单,但是也有一些不易察觉的奇怪的地方需要注意。这就是我们这篇文章中要讲的。例如,像一下我们在前一篇文章中创建的指向 libblah 的链接。请注意,我们是如何从目标文件夹中创建链接的。<pre class="prettyprint linenums">cd /usr/local/libln -s /usr/lib/libblah</pre>这样是可以工作的,但是下面的这个例子却是不行的。<pre class="prettyprint linenums">cd /usr/libln -s libblah /usr/local/lib</pre>也就是说,从原始文件夹内到目标文件夹之间的链接将不起作用。出现这种情况的原因是 ln 会把它当作是你在 /usr/local/lib 中创建一个到 /usr/local/lib 的链接,并在 /usr/local/lib 中创建了从 libblah 到 libblah 的一个链接。这是因为所有链接文件获取的是文件的名称(`libblah),而不是文件的路径,最终的结果将会产生一个坏的链接。然而,请看下面的这种情况。<pre class="prettyprint linenums">cd /usr/libln -s /usr/lib/libblah /usr/local/lib</pre>是可以工作的。奇怪的事情又来了,不管你在文件系统的任何位置执行这个指令,它都可以好好的工作。使用绝对路径,也就是说,指定整个完整的路径,从根目录(/)开始到需要的文件或者是文件夹,是最好的实现方式。其它需要注意的事情是,只要 /usr/lib 和 /usr/local/lib 在一个分&#…
使用 Ultimate Plumber 即时预览管道命令结果
它可以预先显示执行管道命令后的结果,而且是即时滚动地显示,让你可以轻松构建复杂的管道。Media
via https://linux.cn/article-10213-1.html
它可以预先显示执行管道命令后的结果,而且是即时滚动地显示,让你可以轻松构建复杂的管道。Media
via https://linux.cn/article-10213-1.html
使用 Ultimate Plumber 即时预览管道命令结果
<a href="https://dn-linuxcn.qbox.me/data/attachment/album/201811/08/213411o979dzhooe9eflol.jpg">Media</a>管道命令的作用是将一个命令/程序/进程的输出发送给另一个命令/程序/进程,以便将输出结果进行进一步的处理。我们可以通过使用管道命令把多个命令组合起来,使一个命令的标准输入或输出重定向到另一个命令。两个或多个 Linux 命令之间的竖线字符(|)表示在命令之间使用管道命令。管道命令的一般语法如下所示:<pre class="prettyprint linenums">Command-1 | Command-2 | Command-3 | …| Command-N</pre>Ultimate Plumber(简称 UP)是一个命令行工具,它可以用于即时预览管道命令结果。如果你在使用 Linux 时经常会用到管道命令,就可以通过它更好地运用管道命令了。它可以预先显示执行管道命令后的结果,而且是即时滚动地显示,让你可以轻松构建复杂的管道。下文将会介绍如何安装 UP 并用它将复杂管道命令的编写变得简单。<strong>重要警告:</strong>在生产环境中请谨慎使用 UP!在使用它的过程中,有可能会在无意中删除重要数据,尤其是搭配 rm 或 dd 命令时需要更加小心。勿谓言之不预。使用 Ultimate Plumber 即时预览管道命令下面给出一个简单的例子介绍 up 的使用方法。如果需要将 lshw 命令的输出传递给 up,只需要在终端中输入以下命令,然后回车:<pre class="prettyprint linenums">$ lshw |& up</pre>你会在屏幕顶部看到一个输入框,如下图所示。<a href="https://dn-linuxcn.qbox.me/data/attachment/album/201811/08/212757zhzhv8hnsvemskz9.png">Media</a>在输入命令的过程中,&…
<a href="https://dn-linuxcn.qbox.me/data/attachment/album/201811/08/213411o979dzhooe9eflol.jpg">Media</a>管道命令的作用是将一个命令/程序/进程的输出发送给另一个命令/程序/进程,以便将输出结果进行进一步的处理。我们可以通过使用管道命令把多个命令组合起来,使一个命令的标准输入或输出重定向到另一个命令。两个或多个 Linux 命令之间的竖线字符(|)表示在命令之间使用管道命令。管道命令的一般语法如下所示:<pre class="prettyprint linenums">Command-1 | Command-2 | Command-3 | …| Command-N</pre>Ultimate Plumber(简称 UP)是一个命令行工具,它可以用于即时预览管道命令结果。如果你在使用 Linux 时经常会用到管道命令,就可以通过它更好地运用管道命令了。它可以预先显示执行管道命令后的结果,而且是即时滚动地显示,让你可以轻松构建复杂的管道。下文将会介绍如何安装 UP 并用它将复杂管道命令的编写变得简单。<strong>重要警告:</strong>在生产环境中请谨慎使用 UP!在使用它的过程中,有可能会在无意中删除重要数据,尤其是搭配 rm 或 dd 命令时需要更加小心。勿谓言之不预。使用 Ultimate Plumber 即时预览管道命令下面给出一个简单的例子介绍 up 的使用方法。如果需要将 lshw 命令的输出传递给 up,只需要在终端中输入以下命令,然后回车:<pre class="prettyprint linenums">$ lshw |& up</pre>你会在屏幕顶部看到一个输入框,如下图所示。<a href="https://dn-linuxcn.qbox.me/data/attachment/album/201811/08/212757zhzhv8hnsvemskz9.png">Media</a>在输入命令的过程中,&…
2018首个中国私有云报告出炉,开源占据领导者象限
计世资讯(CCW Research)发布了《2017-2018年度中国私有云市场现状与发展趋势研究报告》,成为今年首份中国私有云市场报告Media
via https://linux.cn/article-10214-1.html
计世资讯(CCW Research)发布了《2017-2018年度中国私有云市场现状与发展趋势研究报告》,成为今年首份中国私有云市场报告Media
via https://linux.cn/article-10214-1.html