Joplin:开源加密笔记及待办事项应用
<a href="https://joplin.cozic.net/">Joplin</a> 是一个自由开源的笔记和待办事项应用,可用于 Linux、Windows、macOS、Android 和 iOS。它的主要功能包括端到端加密,Markdown 支持以及通过 NextCloud、Dropbox、OneDrive 或 WebDAV 等第三方服务进行同步。<a href="https://dn-linuxcn.qbox.me/data/attachment/album/201811/11/102838p4awwjpaaijpiqw6.png">Media</a>在 Joplin 中你可以用 Markdown 格式(支持数学符号和复选框)记笔记,桌面程序有 3 种视图:Markdown 代码、Markdown 预览或两者并排。你可以在笔记中添加附件(使用图像预览)或在外部 Markdown 编辑器中编辑它们并在每次保存文件时自动在 Joplin 中更新它们。这个应用应该可以很好地处理大量笔记,它允许你将笔记组织到笔记本中、添加标签和搜索。你还可以按更新日期、创建日期或标题对笔记进行排序。每个笔记本可以包含笔记、待办事项或两者,你可以轻松添加其他笔记的链接(在桌面应用中右键单击笔记并选择 “Copy Markdown link”,然后在笔记中添加链接)。Joplin 中的待办事项支持警报,但在 Ubuntu 18.04 上,此功能我无法使用。其他 Joplin 功能包括:Firefox 和 Chrome 中可选的 Web Clipper 扩展(在 Joplin 桌面应用中进入 “Tools > Web clipper options” 以启用剪切服务并找到 Chrome/Firefox 扩展程序的下载链接),它可以剪切简单或完整的页面、剪切选中的区域或者截图。可选命令行客户端。导入 Enex 文件(Evernote 导出格式)和 Markdown 文件。导出 JEX 文件(Joplin 导出格式)、PDF 和原始文件。离线优先,因此即使没有互…
<a href="https://joplin.cozic.net/">Joplin</a> 是一个自由开源的笔记和待办事项应用,可用于 Linux、Windows、macOS、Android 和 iOS。它的主要功能包括端到端加密,Markdown 支持以及通过 NextCloud、Dropbox、OneDrive 或 WebDAV 等第三方服务进行同步。<a href="https://dn-linuxcn.qbox.me/data/attachment/album/201811/11/102838p4awwjpaaijpiqw6.png">Media</a>在 Joplin 中你可以用 Markdown 格式(支持数学符号和复选框)记笔记,桌面程序有 3 种视图:Markdown 代码、Markdown 预览或两者并排。你可以在笔记中添加附件(使用图像预览)或在外部 Markdown 编辑器中编辑它们并在每次保存文件时自动在 Joplin 中更新它们。这个应用应该可以很好地处理大量笔记,它允许你将笔记组织到笔记本中、添加标签和搜索。你还可以按更新日期、创建日期或标题对笔记进行排序。每个笔记本可以包含笔记、待办事项或两者,你可以轻松添加其他笔记的链接(在桌面应用中右键单击笔记并选择 “Copy Markdown link”,然后在笔记中添加链接)。Joplin 中的待办事项支持警报,但在 Ubuntu 18.04 上,此功能我无法使用。其他 Joplin 功能包括:Firefox 和 Chrome 中可选的 Web Clipper 扩展(在 Joplin 桌面应用中进入 “Tools > Web clipper options” 以启用剪切服务并找到 Chrome/Firefox 扩展程序的下载链接),它可以剪切简单或完整的页面、剪切选中的区域或者截图。可选命令行客户端。导入 Enex 文件(Evernote 导出格式)和 Markdown 文件。导出 JEX 文件(Joplin 导出格式)、PDF 和原始文件。离线优先,因此即使没有互…
5 个适合系统管理员使用的告警可视化工具
这些开源的工具能够通过输出帮助用户了解系统的运行状况,并对可能发生的潜在问题作出告警。Media
via https://linux.cn/article-10221-1.html
这些开源的工具能够通过输出帮助用户了解系统的运行状况,并对可能发生的潜在问题作出告警。Media
via https://linux.cn/article-10221-1.html
5 个适合系统管理员使用的告警可视化工具
这些开源的工具能够通过输出帮助用户了解系统的运行状况,并对可能发生的潜在问题作出告警。<a href="https://dn-linuxcn.qbox.me/data/attachment/album/201811/11/174106stsihq448h4hcemi.png">Media</a>你大概已经知道(或猜到)告警可视化alerting and visualization工具是用来做什么的了。下面我们就要来说一下,为什么要讨论这样的工具,甚至某些系统专门将可视化作为特有的功能。可观察性Observability的概念来自控制理论control theory,这个概念描述了我们通过对系统的输入和输出来了解其的能力。本文将重点介绍具有可观察性的输出组件。告警可视化工具可以对其它系统的输出进行分析,进而对输出的信息进行结构化表示。告警实际上是对系统异常状态的描述,而可视化则是让用户能够直观理解的结构化表示。常见的可视化告警告警首先要明确一下告警alert的含义。在人员无法响应告警内容情况下,不应该发送告警 —— 包括那些发给多个人但只有其中少数人可以响应的告警,以及系统中的每个异常都触发的告警。因为这样会产生告警疲劳,告警接收者也往往会对这些过多的告警采取忽视的态度 —— 直到系统恶化到以少见的方式告警。例如,如果管理员每天都会收到告警系统发来的数百封告警邮件,他就很容易会忽略告警系统的所有邮件。除非他真的看到问题发生,或者受到了客户或上级&…
这些开源的工具能够通过输出帮助用户了解系统的运行状况,并对可能发生的潜在问题作出告警。<a href="https://dn-linuxcn.qbox.me/data/attachment/album/201811/11/174106stsihq448h4hcemi.png">Media</a>你大概已经知道(或猜到)告警可视化alerting and visualization工具是用来做什么的了。下面我们就要来说一下,为什么要讨论这样的工具,甚至某些系统专门将可视化作为特有的功能。可观察性Observability的概念来自控制理论control theory,这个概念描述了我们通过对系统的输入和输出来了解其的能力。本文将重点介绍具有可观察性的输出组件。告警可视化工具可以对其它系统的输出进行分析,进而对输出的信息进行结构化表示。告警实际上是对系统异常状态的描述,而可视化则是让用户能够直观理解的结构化表示。常见的可视化告警告警首先要明确一下告警alert的含义。在人员无法响应告警内容情况下,不应该发送告警 —— 包括那些发给多个人但只有其中少数人可以响应的告警,以及系统中的每个异常都触发的告警。因为这样会产生告警疲劳,告警接收者也往往会对这些过多的告警采取忽视的态度 —— 直到系统恶化到以少见的方式告警。例如,如果管理员每天都会收到告警系统发来的数百封告警邮件,他就很容易会忽略告警系统的所有邮件。除非他真的看到问题发生,或者受到了客户或上级&…
Python 函数式编程:不可变数据结构
不可变性可以帮助我们更好地理解我们的代码。下面我将讲述如何在不牺牲性能的条件下来实现它。Media
via https://linux.cn/article-10222-1.html
不可变性可以帮助我们更好地理解我们的代码。下面我将讲述如何在不牺牲性能的条件下来实现它。Media
via https://linux.cn/article-10222-1.html
Python 函数式编程:不可变数据结构
不可变性可以帮助我们更好地理解我们的代码。下面我将讲述如何在不牺牲性能的条件下来实现它。<a href="https://dn-linuxcn.qbox.me/data/attachment/album/201811/11/224129ysll52s353dsnvyd.png">Media</a>在这个由两篇文章构成的系列中,我将讨论如何将函数式编程方法论中的思想引入至 Python 中,来充分发挥这两个领域的优势。本文(也就是第一篇文章)中,我们将探讨不可变数据结构的优势。第二部分会探讨如何在 toolz 库的帮助下,用 Python 实现高层次的函数式编程理念。为什么要用函数式编程?因为变化的东西更难推理。如果你已经确信变化会带来麻烦,那很棒。如果你还没有被说服,在文章结束时,你会明白这一点的。我们从思考正方形和矩形开始。如果我们抛开实现细节,单从接口的角度考虑,正方形是矩形的子类吗?子类的定义基于<a href="https://en.wikipedia.org/wiki/Liskov_substitution_principle">里氏替换原则</a>。一个子类必须能够完成超类所做的一切。如何为矩形定义接口?<pre class="prettyprint linenums">from zope.interface import Interfaceclass IRectangle(Interface): def get_length(self): """正方形能做到""" def get_width(self): """正方形能做到""" def set_dimensions(self, length, width): """啊哦"""</pre>如果我们这么定义,那正方形就不能成为矩形的子类:如果长度和宽度不等,它就无法对 set_dimensions 方法做出响应。另一种方法,是选择将矩形做成不可变对象。<pre class="prettyprint linenums">class IRectangle(Interface): def get_length(self): """正方形能做到""" def get_width(self): """正方形能做到""" def with_dimensions(self, length, width): """返回一个新矩…
不可变性可以帮助我们更好地理解我们的代码。下面我将讲述如何在不牺牲性能的条件下来实现它。<a href="https://dn-linuxcn.qbox.me/data/attachment/album/201811/11/224129ysll52s353dsnvyd.png">Media</a>在这个由两篇文章构成的系列中,我将讨论如何将函数式编程方法论中的思想引入至 Python 中,来充分发挥这两个领域的优势。本文(也就是第一篇文章)中,我们将探讨不可变数据结构的优势。第二部分会探讨如何在 toolz 库的帮助下,用 Python 实现高层次的函数式编程理念。为什么要用函数式编程?因为变化的东西更难推理。如果你已经确信变化会带来麻烦,那很棒。如果你还没有被说服,在文章结束时,你会明白这一点的。我们从思考正方形和矩形开始。如果我们抛开实现细节,单从接口的角度考虑,正方形是矩形的子类吗?子类的定义基于<a href="https://en.wikipedia.org/wiki/Liskov_substitution_principle">里氏替换原则</a>。一个子类必须能够完成超类所做的一切。如何为矩形定义接口?<pre class="prettyprint linenums">from zope.interface import Interfaceclass IRectangle(Interface): def get_length(self): """正方形能做到""" def get_width(self): """正方形能做到""" def set_dimensions(self, length, width): """啊哦"""</pre>如果我们这么定义,那正方形就不能成为矩形的子类:如果长度和宽度不等,它就无法对 set_dimensions 方法做出响应。另一种方法,是选择将矩形做成不可变对象。<pre class="prettyprint linenums">class IRectangle(Interface): def get_length(self): """正方形能做到""" def get_width(self): """正方形能做到""" def with_dimensions(self, length, width): """返回一个新矩…
KRS:一个收集 Kubernetes 资源统计数据的新工具
零配置工具简化了信息收集,例如在某个命名空间中运行了多少个 pod。Media
via https://linux.cn/article-10223-1.html
零配置工具简化了信息收集,例如在某个命名空间中运行了多少个 pod。Media
via https://linux.cn/article-10223-1.html
KRS:一个收集 Kubernetes 资源统计数据的新工具
零配置工具简化了信息收集,例如在某个命名空间中运行了多少个 pod。<a href="https://dn-linuxcn.qbox.me/data/attachment/album/201811/12/000555pwe0z50h59dvw9dz.png">Media</a>最近我在纽约的 O'Reilly Velocity 就 <a href="http://troubleshooting.kubernetes.sh/">Kubernetes 应用故障排除</a>的主题发表了演讲,并且在积极的反馈和讨论的推动下,我决定重新审视这个领域的工具。结果,除了 <a href="https://github.com/kubernetes-incubator/spartakus">kubernetes-incubator/spartakus</a> 和 <a href="https://github.com/kubernetes/kube-state-metrics">kubernetes/kube-state-metrics</a> 之外,我们还没有太多的轻量级工具来收集资源统计数据(例如命名空间中的 pod 或服务的数量)。所以,我在回家的路上开始编写一个小工具 —— 创造性地命名为 krs,它是 Kubernetes Resource Stats 的简称 ,它允许你收集这些统计数据。你可以通过两种方式使用 <a href="https://github.com/mhausenblas/krs">mhausenblas/krs</a>:直接在命令行(有 Linux、Windows 和 MacOS 的二进制文件),以及在集群中使用 <a href="https://github.com/mhausenblas/krs/blob/master/launch.sh">launch.sh</a> 脚本部署,该脚本动态创建适当的基于角色的访问控制(RBAC) 权限。提醒你,它还在早期,并且还在开发中。但是,krs 的 0.1 版本提供以下功能:在每个命名空间的基础上,它定期收集资源统计信息(支持 pod、部署和服务)。它以 <a href="https://openmetrics.io/">OpenMetrics 格式</a>公开这些统计。它可以直接通过二进制文件使用,也可以在包含所有依赖项的容器化设置中使用。目前,你需要安装并配置 kubectl,因为 krs 依赖于执行 kubectl get all 命令来收集统计数据。(另一方面,谁会使用 Kubernetes…
零配置工具简化了信息收集,例如在某个命名空间中运行了多少个 pod。<a href="https://dn-linuxcn.qbox.me/data/attachment/album/201811/12/000555pwe0z50h59dvw9dz.png">Media</a>最近我在纽约的 O'Reilly Velocity 就 <a href="http://troubleshooting.kubernetes.sh/">Kubernetes 应用故障排除</a>的主题发表了演讲,并且在积极的反馈和讨论的推动下,我决定重新审视这个领域的工具。结果,除了 <a href="https://github.com/kubernetes-incubator/spartakus">kubernetes-incubator/spartakus</a> 和 <a href="https://github.com/kubernetes/kube-state-metrics">kubernetes/kube-state-metrics</a> 之外,我们还没有太多的轻量级工具来收集资源统计数据(例如命名空间中的 pod 或服务的数量)。所以,我在回家的路上开始编写一个小工具 —— 创造性地命名为 krs,它是 Kubernetes Resource Stats 的简称 ,它允许你收集这些统计数据。你可以通过两种方式使用 <a href="https://github.com/mhausenblas/krs">mhausenblas/krs</a>:直接在命令行(有 Linux、Windows 和 MacOS 的二进制文件),以及在集群中使用 <a href="https://github.com/mhausenblas/krs/blob/master/launch.sh">launch.sh</a> 脚本部署,该脚本动态创建适当的基于角色的访问控制(RBAC) 权限。提醒你,它还在早期,并且还在开发中。但是,krs 的 0.1 版本提供以下功能:在每个命名空间的基础上,它定期收集资源统计信息(支持 pod、部署和服务)。它以 <a href="https://openmetrics.io/">OpenMetrics 格式</a>公开这些统计。它可以直接通过二进制文件使用,也可以在包含所有依赖项的容器化设置中使用。目前,你需要安装并配置 kubectl,因为 krs 依赖于执行 kubectl get all 命令来收集统计数据。(另一方面,谁会使用 Kubernetes…
Bash 脚本中如何使用 here 文档将数据写入文件
here 文档不是什么特殊的东西,只是一种 I/O 重定向方式,它告诉 bash shell 从当前源读取输入,直到读取到只有分隔符的行。Media
via https://linux.cn/article-10224-1.html
here 文档不是什么特殊的东西,只是一种 I/O 重定向方式,它告诉 bash shell 从当前源读取输入,直到读取到只有分隔符的行。Media
via https://linux.cn/article-10224-1.html
Bash 脚本中如何使用 here 文档将数据写入文件
here 文档here document (LCTT 译注:here 文档又称作 heredoc )不是什么特殊的东西,只是一种 I/O 重定向方式,它告诉 bash shell 从当前源读取输入,直到读取到只有分隔符的行。<a href="https://dn-linuxcn.qbox.me/data/attachment/album/201811/12/095122pd5k2kwhkkj22k2s.jpg">redirect output of here document to a text file</a>这对于向 ftp、cat、echo、ssh 和许多其他有用的 Linux/Unix 命令提供指令很有用。 此功能适用于 bash 也适用于 Bourne、Korn、POSIX 这三种 shell。here 文档语法语法是:<pre class="prettyprint linenums">command <<EOFcmd1cmd2 arg1EOF</pre>或者允许 shell 脚本中的 here 文档使用 EOF<<- 以自然的方式缩进:<pre class="prettyprint linenums">command <<-EOF msg1 msg2 $var on line EOF</pre>或者<pre class="prettyprint linenums">command <<'EOF' cmd1 cmd2 arg1 $var won't expand as parameter substitution turned off by single quotingEOF</pre>或者 <strong>重定向并将其覆盖</strong> 到名为 my_output_file.txt 的文件中:<pre class="prettyprint linenums">command <<EOF > my_output_file.txt mesg1 msg2 msg3 $var on $fooEOF</pre>或<strong>重定向并将其追加</strong>到名为 my_output_file.txt 的文件中:<pre class="prettyprint linenums">command <<EOF >> my_output_file.txt mesg1 msg2 msg3 $var on $fooEOF</pre>示例以下脚本将所需内容写入名为 /tmp/output.txt 的文件中:<pre class="prettyprint linenums">#!/bin/bashOUT=/tmp/output.txtecho "Starting my script..."echo "Doing something..."cat <<EOF >$OUT Status of backup as on $(date) Backing up files $HOME and /etc/EOFecho "Starting backup using rsync..."</pre>你可以使用<a href="https//www.cyberciti.biz/faq/linux-unix-appleosx-bsd-cat-command-examples/">cat命令</a>查看/tmp/output.txt文件:<pre class="prettyprint linenums">$ cat /tmp/output.txt</pre>示例输出:<pre class="prettyprint linenums"> Status of backup as on Thu Nov 16 17:00:21 IST 2017 Backing up files /home/vivek and /etc/</pre>禁用路径名/参数/变量扩展、命令替换、算术扩展像 $HOME 这类变量和像 $(date) 这类命令在脚本中会被解释为替换。 要禁用它,请使用带有 'EOF' 这样带有单引号的形式,如下所示:<pre class="prettyprint linenums">#!/bin/bashOUT=/tmp/output.txtecho "Starting my script..."echo "Doing something..."# No parameter and variable expansion, command substitution, arithmetic expansion, or pathname expansion is performed on…
here 文档here document (LCTT 译注:here 文档又称作 heredoc )不是什么特殊的东西,只是一种 I/O 重定向方式,它告诉 bash shell 从当前源读取输入,直到读取到只有分隔符的行。<a href="https://dn-linuxcn.qbox.me/data/attachment/album/201811/12/095122pd5k2kwhkkj22k2s.jpg">redirect output of here document to a text file</a>这对于向 ftp、cat、echo、ssh 和许多其他有用的 Linux/Unix 命令提供指令很有用。 此功能适用于 bash 也适用于 Bourne、Korn、POSIX 这三种 shell。here 文档语法语法是:<pre class="prettyprint linenums">command <<EOFcmd1cmd2 arg1EOF</pre>或者允许 shell 脚本中的 here 文档使用 EOF<<- 以自然的方式缩进:<pre class="prettyprint linenums">command <<-EOF msg1 msg2 $var on line EOF</pre>或者<pre class="prettyprint linenums">command <<'EOF' cmd1 cmd2 arg1 $var won't expand as parameter substitution turned off by single quotingEOF</pre>或者 <strong>重定向并将其覆盖</strong> 到名为 my_output_file.txt 的文件中:<pre class="prettyprint linenums">command <<EOF > my_output_file.txt mesg1 msg2 msg3 $var on $fooEOF</pre>或<strong>重定向并将其追加</strong>到名为 my_output_file.txt 的文件中:<pre class="prettyprint linenums">command <<EOF >> my_output_file.txt mesg1 msg2 msg3 $var on $fooEOF</pre>示例以下脚本将所需内容写入名为 /tmp/output.txt 的文件中:<pre class="prettyprint linenums">#!/bin/bashOUT=/tmp/output.txtecho "Starting my script..."echo "Doing something..."cat <<EOF >$OUT Status of backup as on $(date) Backing up files $HOME and /etc/EOFecho "Starting backup using rsync..."</pre>你可以使用<a href="https//www.cyberciti.biz/faq/linux-unix-appleosx-bsd-cat-command-examples/">cat命令</a>查看/tmp/output.txt文件:<pre class="prettyprint linenums">$ cat /tmp/output.txt</pre>示例输出:<pre class="prettyprint linenums"> Status of backup as on Thu Nov 16 17:00:21 IST 2017 Backing up files /home/vivek and /etc/</pre>禁用路径名/参数/变量扩展、命令替换、算术扩展像 $HOME 这类变量和像 $(date) 这类命令在脚本中会被解释为替换。 要禁用它,请使用带有 'EOF' 这样带有单引号的形式,如下所示:<pre class="prettyprint linenums">#!/bin/bashOUT=/tmp/output.txtecho "Starting my script..."echo "Doing something..."# No parameter and variable expansion, command substitution, arithmetic expansion, or pathname expansion is performed on…
10 分钟建设一个加密货币商城
这篇文章将会教你如何在 10 分钟中内借助 WordPress 建立起一个支持 ERC20 通证的在线 B2C 商城。Media
via https://linux.cn/article-10225-1.html
这篇文章将会教你如何在 10 分钟中内借助 WordPress 建立起一个支持 ERC20 通证的在线 B2C 商城。Media
via https://linux.cn/article-10225-1.html
10 分钟建设一个加密货币商城
这篇文章将会教你如何在 10 分钟中内借助 WordPress 建立起一个支持 ERC20 通证的在线 B2C 商城。<a href="https://dn-linuxcn.qbox.me/data/attachment/album/201811/12/230122jrplqhf0qlm0zhm9.jpg">Media</a>在区块链及通证经济备受瞩目的今天,很多开源社区纷纷在探讨如何将开源社区与区块链技术和通证经济相结合,从而为开源社区和开源生态提供自主、自洽、发展的动力和支持。我们 Linux 中国就是这诸多探索的开源社区之一,可喜的是,我们已经迈出了第一步:<a href="https://linux.cn/article-9886-1.html">发布社区通证</a>,也迈出了第二步,<a href="https://linux.cn/article-10178-1.html">使通证流通起来</a>。这里,我们愿意分享我们的经验给各个社区伙伴,使更多的开源社区也可以投身于新的生态探索,避开一些我们遇到的陷阱,从而共同营造一个更繁荣的开源世界。我们的<a href="https://shop.linux.cn/">通证商城</a>是基于 WordPress 的 WooCommerce 商城构建的。安装 WordPress在开始配置商城前,你需要先安装 WordPress 。你需要购买一个支持 PHP + MySQL 的虚拟主机,或自行配置 VPS、云服务器的环境,以支持 WordPress 的运行。<a href="https://dn-linuxcn.qbox.me/data/attachment/album/201811/12/230241urkdj4dzk2b06crj.jpg">Media</a>当你安装好 WordPress 后,你可以看到一个这样的后台。安装 WooCommerce安装完 WordPress 后,接下来安装 WordPress 的商城插件 WooCommerce ,点击菜单栏中的“插件”-“安装插件”,访问到安装插件的界面,在界面右上角的搜索框内容输入“WooCommerce”,并按下回车,可以搜索到 WooCommerce 。<a href="https://dn-linuxcn.qbox.me/data/attachment/album/201811/12/230241w4202h26s8hpzqs8.jpg">Media</a>点击现在…
这篇文章将会教你如何在 10 分钟中内借助 WordPress 建立起一个支持 ERC20 通证的在线 B2C 商城。<a href="https://dn-linuxcn.qbox.me/data/attachment/album/201811/12/230122jrplqhf0qlm0zhm9.jpg">Media</a>在区块链及通证经济备受瞩目的今天,很多开源社区纷纷在探讨如何将开源社区与区块链技术和通证经济相结合,从而为开源社区和开源生态提供自主、自洽、发展的动力和支持。我们 Linux 中国就是这诸多探索的开源社区之一,可喜的是,我们已经迈出了第一步:<a href="https://linux.cn/article-9886-1.html">发布社区通证</a>,也迈出了第二步,<a href="https://linux.cn/article-10178-1.html">使通证流通起来</a>。这里,我们愿意分享我们的经验给各个社区伙伴,使更多的开源社区也可以投身于新的生态探索,避开一些我们遇到的陷阱,从而共同营造一个更繁荣的开源世界。我们的<a href="https://shop.linux.cn/">通证商城</a>是基于 WordPress 的 WooCommerce 商城构建的。安装 WordPress在开始配置商城前,你需要先安装 WordPress 。你需要购买一个支持 PHP + MySQL 的虚拟主机,或自行配置 VPS、云服务器的环境,以支持 WordPress 的运行。<a href="https://dn-linuxcn.qbox.me/data/attachment/album/201811/12/230241urkdj4dzk2b06crj.jpg">Media</a>当你安装好 WordPress 后,你可以看到一个这样的后台。安装 WooCommerce安装完 WordPress 后,接下来安装 WordPress 的商城插件 WooCommerce ,点击菜单栏中的“插件”-“安装插件”,访问到安装插件的界面,在界面右上角的搜索框内容输入“WooCommerce”,并按下回车,可以搜索到 WooCommerce 。<a href="https://dn-linuxcn.qbox.me/data/attachment/album/201811/12/230241w4202h26s8hpzqs8.jpg">Media</a>点击现在…
在 Linux 中怎么运行 MS-DOS 游戏和程序
DOSBox 可以模拟带有声音、图形、鼠标、操纵杆和调制解调器等的因特尔 x86 电脑,它允许你运行许多旧的 MS-DOS 游戏和程序Media
via https://linux.cn/article-10226-1.html
DOSBox 可以模拟带有声音、图形、鼠标、操纵杆和调制解调器等的因特尔 x86 电脑,它允许你运行许多旧的 MS-DOS 游戏和程序Media
via https://linux.cn/article-10226-1.html
在 Linux 中怎么运行 MS-DOS 游戏和程序
<a href="https://dn-linuxcn.qbox.me/data/attachment/album/201811/12/235116y1q0qgh8qnc8jiej.png">Media</a>你是否想过尝试一些经典的 MS-DOS 游戏和像 Turbo C++ 这样的废弃的 C++ 编译器?这篇教程将会介绍如何使用 DOSBox 在 Linux 环境下运行 MS-DOS 的游戏和程序。DOSBox 是一个 x86 平台的 DOS 模拟器,可以用来运行经典的 DOS 游戏和程序。 DOSBox 可以模拟带有声音、图形、鼠标、操纵杆和调制解调器等的因特尔 x86 电脑,它允许你运行许多旧的 MS-DOS 游戏和程序,这些游戏和程序根本无法在任何现代 PC 和操作系统上运行,例如 Microsoft Windows XP 及更高版本、Linux 和FreeBSD。 DOSBox 是免费的,使用 C++ 编程语言编写并在 GPL 下分发。在 Linux 上安装 DOSBoxDOSBox 在大多数 Linux 发行版的默认仓库中都能找的到。在 Arch Linux 及其衍生版如 Antergos、Manjaro Linux 上:<pre class="prettyprint linenums">$ sudo pacman -S dosbox</pre>在 Debian、Ubuntu、Linux Mint 上:<pre class="prettyprint linenums">$ sudo apt-get install dosbox</pre>在 Fedora 上:<pre class="prettyprint linenums">$ sudo dnf install dosbox</pre>配置 DOSBoxDOSBox 是一个开箱即用的软件,它不需要进行初始化配置。它的配置文件位于 ~/.dosbox 文件夹中,名为 dosbox-x.xx.conf。 在此配置文件中,你可以编辑/修改各种设置,例如以全屏模式启动 DOSBox,全屏使用双缓冲,设置首选分辨率,鼠标灵敏度,启用或禁用声音,扬声器,操纵杆等等。如前所述,默认设置即可正常工作。你可以不用进行任何更改。在 Linux 中运行 MS-DOS 上的游戏和程序在终端运行以下命令启动 DOSBox:<pre class="prettyprint linenums">$ dosbox</pre>下图就是 DOSBox 的界面<a href="https://dn-linuxcn.qbox.me/data/attachment/album/201811/12/235117s18kaalxv8892ngk.png">Media</a>正å…
<a href="https://dn-linuxcn.qbox.me/data/attachment/album/201811/12/235116y1q0qgh8qnc8jiej.png">Media</a>你是否想过尝试一些经典的 MS-DOS 游戏和像 Turbo C++ 这样的废弃的 C++ 编译器?这篇教程将会介绍如何使用 DOSBox 在 Linux 环境下运行 MS-DOS 的游戏和程序。DOSBox 是一个 x86 平台的 DOS 模拟器,可以用来运行经典的 DOS 游戏和程序。 DOSBox 可以模拟带有声音、图形、鼠标、操纵杆和调制解调器等的因特尔 x86 电脑,它允许你运行许多旧的 MS-DOS 游戏和程序,这些游戏和程序根本无法在任何现代 PC 和操作系统上运行,例如 Microsoft Windows XP 及更高版本、Linux 和FreeBSD。 DOSBox 是免费的,使用 C++ 编程语言编写并在 GPL 下分发。在 Linux 上安装 DOSBoxDOSBox 在大多数 Linux 发行版的默认仓库中都能找的到。在 Arch Linux 及其衍生版如 Antergos、Manjaro Linux 上:<pre class="prettyprint linenums">$ sudo pacman -S dosbox</pre>在 Debian、Ubuntu、Linux Mint 上:<pre class="prettyprint linenums">$ sudo apt-get install dosbox</pre>在 Fedora 上:<pre class="prettyprint linenums">$ sudo dnf install dosbox</pre>配置 DOSBoxDOSBox 是一个开箱即用的软件,它不需要进行初始化配置。它的配置文件位于 ~/.dosbox 文件夹中,名为 dosbox-x.xx.conf。 在此配置文件中,你可以编辑/修改各种设置,例如以全屏模式启动 DOSBox,全屏使用双缓冲,设置首选分辨率,鼠标灵敏度,启用或禁用声音,扬声器,操纵杆等等。如前所述,默认设置即可正常工作。你可以不用进行任何更改。在 Linux 中运行 MS-DOS 上的游戏和程序在终端运行以下命令启动 DOSBox:<pre class="prettyprint linenums">$ dosbox</pre>下图就是 DOSBox 的界面<a href="https://dn-linuxcn.qbox.me/data/attachment/album/201811/12/235117s18kaalxv8892ngk.png">Media</a>正å…
如何弄清 Linux 系统运行何种系统管理程序
Linux 系统中主要有三种有名而仍在使用的初始化系统。大多数 Linux 发行版都使用其中之一。Media
via https://linux.cn/article-10227-1.html
Linux 系统中主要有三种有名而仍在使用的初始化系统。大多数 Linux 发行版都使用其中之一。Media
via https://linux.cn/article-10227-1.html
如何弄清 Linux 系统运行何种系统管理程序
<a href="https://dn-linuxcn.qbox.me/data/attachment/album/201811/13/003654a6ytyyyomtl62ydy.jpg">Media</a>虽然我们经常听到系统管理器System Manager这词,但很少有人深究其确切意义。现在我们将向你展示其区别。我会尽自己所能来解释清楚一切。我们大多都知道 System V 和 systemd 两种系统管理器。 System V (简写 SysV) 是老式系统所使用的古老且传统的初始化系统及系统管理器。Systemd 是全新的初始化系统及系统管理器,并且已被大部分主流 Linux 发行版所采用。Linux 系统中主要有三种有名而仍在使用的初始化系统。大多数 Linux 发行版都使用其中之一。什么是初始化系统管理器?在基于 Linux/Unix 的操作系统中,init (初始化的简称) 是内核启动系统时开启的第一个进程。它持有的进程 ID(PID)号为 1,其在后台一直运行着,直到关机。init 会查找 /etc/inittab 文件中相应配置信息来确定系统的运行级别,然后根据运行级别在后台启动所有的其它进程和应用。作为 Linux 启动过程的一部分,BIOS、MBR、GRUB 和内核进程在此进程之前就被激活了。下面列出的是 Linux 的可用运行级别(存在七个运行级别,从 0 到 6)。0:停机1:单用户模式2:多用户,无 NFS(LCTT 译注:NFS 即 Network File System,网络文件系统)3:全功能多用户模式4:未使用5:X11(GUI – 图形用户界面)6:重启下面列出的是 Linux 系统中广泛使用的三种初始化系统。System V (Sys V):是类 Unix 操作系统传统的也是首款初始化系ń…
<a href="https://dn-linuxcn.qbox.me/data/attachment/album/201811/13/003654a6ytyyyomtl62ydy.jpg">Media</a>虽然我们经常听到系统管理器System Manager这词,但很少有人深究其确切意义。现在我们将向你展示其区别。我会尽自己所能来解释清楚一切。我们大多都知道 System V 和 systemd 两种系统管理器。 System V (简写 SysV) 是老式系统所使用的古老且传统的初始化系统及系统管理器。Systemd 是全新的初始化系统及系统管理器,并且已被大部分主流 Linux 发行版所采用。Linux 系统中主要有三种有名而仍在使用的初始化系统。大多数 Linux 发行版都使用其中之一。什么是初始化系统管理器?在基于 Linux/Unix 的操作系统中,init (初始化的简称) 是内核启动系统时开启的第一个进程。它持有的进程 ID(PID)号为 1,其在后台一直运行着,直到关机。init 会查找 /etc/inittab 文件中相应配置信息来确定系统的运行级别,然后根据运行级别在后台启动所有的其它进程和应用。作为 Linux 启动过程的一部分,BIOS、MBR、GRUB 和内核进程在此进程之前就被激活了。下面列出的是 Linux 的可用运行级别(存在七个运行级别,从 0 到 6)。0:停机1:单用户模式2:多用户,无 NFS(LCTT 译注:NFS 即 Network File System,网络文件系统)3:全功能多用户模式4:未使用5:X11(GUI – 图形用户界面)6:重启下面列出的是 Linux 系统中广泛使用的三种初始化系统。System V (Sys V):是类 Unix 操作系统传统的也是首款初始化系ń…
在命令行使用 Pandoc 进行文件转换
这篇指南介绍如何使用 Pandoc 将文档转换为多种不同的格式。<a href="https://dn-linuxcn.qbox.me/data/attachment/album/201811/13/115159kt7mokqq5m5umitr.jpg">Media</a>Pandoc 是一个命令行工具,用于将文件从一种标记语言转换为另一种标记语言。标记语言使用标签来标记文档的各个部分。常用的标记语言包括 Markdown、ReStructuredText、HTML、LaTex、ePub 和 Microsoft Word DOCX。简单来说,<a href="https://pandoc.org/">Pandoc</a> 允许你将一些文件从一种标记语言转换为另一种标记语言。典型的例子包括将 Markdown 文件转换为演示文稿、LaTeX,PDF 甚至是 ePub。本文将解释如何使用 Pandoc 从单一标记语言(在本文中为 Markdown)生成多种格式的文档,引导你完成从 Pandoc 安装,到展示如何创建多种类型的文档,再到提供有关如何编写易于移植到其他格式的文档的提示。文中还将解释使用元信息文件对文档内容和元信息(例如,作者姓名、使用的模板、书目样式等)进行分离的意义。Pandoc 安装和要求Pandoc 默认安装在大多数 Linux 发行版中。本教程使用 pandoc-2.2.3.2 和 pandoc-citeproc-0.14.3。如果不打算生成 PDF,那么这两个包就足够了。但是,我建议也安装 texlive,这样就可以选择生成 PDF 了。通过以下命令在 Linux 上安装这些程序:<pre class="prettyprint linenums">sudo apt-get install pandoc pandoc-citeproc texlive</pre>您可以在 Pandoc 的网站上找到其他平台的 <a href="http://pandoc.org/installing.html">安装说明</a>。我强烈建议安装 <a href="https://hackage.haskell.org/package/pandoc-crossref">pandoc-crossref</a>,这是一个“用于对图表,方程式,表格和交叉引用进行编号的过ଖ…
这篇指南介绍如何使用 Pandoc 将文档转换为多种不同的格式。<a href="https://dn-linuxcn.qbox.me/data/attachment/album/201811/13/115159kt7mokqq5m5umitr.jpg">Media</a>Pandoc 是一个命令行工具,用于将文件从一种标记语言转换为另一种标记语言。标记语言使用标签来标记文档的各个部分。常用的标记语言包括 Markdown、ReStructuredText、HTML、LaTex、ePub 和 Microsoft Word DOCX。简单来说,<a href="https://pandoc.org/">Pandoc</a> 允许你将一些文件从一种标记语言转换为另一种标记语言。典型的例子包括将 Markdown 文件转换为演示文稿、LaTeX,PDF 甚至是 ePub。本文将解释如何使用 Pandoc 从单一标记语言(在本文中为 Markdown)生成多种格式的文档,引导你完成从 Pandoc 安装,到展示如何创建多种类型的文档,再到提供有关如何编写易于移植到其他格式的文档的提示。文中还将解释使用元信息文件对文档内容和元信息(例如,作者姓名、使用的模板、书目样式等)进行分离的意义。Pandoc 安装和要求Pandoc 默认安装在大多数 Linux 发行版中。本教程使用 pandoc-2.2.3.2 和 pandoc-citeproc-0.14.3。如果不打算生成 PDF,那么这两个包就足够了。但是,我建议也安装 texlive,这样就可以选择生成 PDF 了。通过以下命令在 Linux 上安装这些程序:<pre class="prettyprint linenums">sudo apt-get install pandoc pandoc-citeproc texlive</pre>您可以在 Pandoc 的网站上找到其他平台的 <a href="http://pandoc.org/installing.html">安装说明</a>。我强烈建议安装 <a href="https://hackage.haskell.org/package/pandoc-crossref">pandoc-crossref</a>,这是一个“用于对图表,方程式,表格和交叉引用进行编号的过ଖ…
什么是纯粹的开源社区精神,我用了十年去探索
今天,我们有一个机会,可以好好了解一下中国互联网发展史上发展最亲密的一个社群。这个社群追求的理想,让许多新东西的出现成为了可能。Media
via https://linux.cn/article-10229-1.html
今天,我们有一个机会,可以好好了解一下中国互联网发展史上发展最亲密的一个社群。这个社群追求的理想,让许多新东西的出现成为了可能。Media
via https://linux.cn/article-10229-1.html
什么是纯粹的开源社区精神,我用了十年去探索
<a href="https://dn-linuxcn.qbox.me/data/attachment/album/201811/13/145941dn6iezi3diies1ui.jpg">Media</a>人类本身是一个协作能力极强的物种,而随着很多划时代科技发明的诞生,蒸汽机、电、互联网等技术的出现,人们变的更容易聚在一起。这些小伙伴从一开始的三五成群,到最后拥有一套共同语言和认知的历史。在互联网时代,大家通过社区的力量,把开源的精神传播到世界各处。小伙伴可以更容易的组队,通过合理的分工,将不可能的事情变为可能(甚至这些小伙伴都不需要聚集在同一个办公室)。而今天,我们有一个机会,可以好好了解一下中国互联网发展史上发展最亲密的一个社群。这个社群追求的理想,让许多新东西的出现成为了可能。这到底是怎样的一个社群?怎样的一段奇妙经历?就让担任 Ruby China 论坛管理员的 Daniel 给我们好好讲述一下。(enjoy~那时我才 25 岁 这是一段超过 10 年的经历,仔细算算应该是 11 年多了。这段经历,链接了很多过去的人和很多的事, 现在的秘猿和 Nervos 社区所有的人,都是通过 Ruby 结缘的。可能要从 2007 年开始说起,那时候我才开始接触社区。当时,我在上海一家做 Ruby 技术的公司工作 。由于工作的原因,我参加了当时 Ruby 社区的一些线下活动,也机缘巧合地认识了 Ruby 社区的两个创始人:一个叫张元一,另一个叫 Steven。那段时间我…
<a href="https://dn-linuxcn.qbox.me/data/attachment/album/201811/13/145941dn6iezi3diies1ui.jpg">Media</a>人类本身是一个协作能力极强的物种,而随着很多划时代科技发明的诞生,蒸汽机、电、互联网等技术的出现,人们变的更容易聚在一起。这些小伙伴从一开始的三五成群,到最后拥有一套共同语言和认知的历史。在互联网时代,大家通过社区的力量,把开源的精神传播到世界各处。小伙伴可以更容易的组队,通过合理的分工,将不可能的事情变为可能(甚至这些小伙伴都不需要聚集在同一个办公室)。而今天,我们有一个机会,可以好好了解一下中国互联网发展史上发展最亲密的一个社群。这个社群追求的理想,让许多新东西的出现成为了可能。这到底是怎样的一个社群?怎样的一段奇妙经历?就让担任 Ruby China 论坛管理员的 Daniel 给我们好好讲述一下。(enjoy~那时我才 25 岁 这是一段超过 10 年的经历,仔细算算应该是 11 年多了。这段经历,链接了很多过去的人和很多的事, 现在的秘猿和 Nervos 社区所有的人,都是通过 Ruby 结缘的。可能要从 2007 年开始说起,那时候我才开始接触社区。当时,我在上海一家做 Ruby 技术的公司工作 。由于工作的原因,我参加了当时 Ruby 社区的一些线下活动,也机缘巧合地认识了 Ruby 社区的两个创始人:一个叫张元一,另一个叫 Steven。那段时间我…
使用 SonarQube 追踪代码问题
通过不断分析代码以了解潜在的质量问题,开源的 SonarQube 项目支持了 DevOps 的“尽早发布和经常发布” 的思维模式。Media
via https://linux.cn/article-10230-1.html
通过不断分析代码以了解潜在的质量问题,开源的 SonarQube 项目支持了 DevOps 的“尽早发布和经常发布” 的思维模式。Media
via https://linux.cn/article-10230-1.html
使用 SonarQube 追踪代码问题
通过不断分析代码以了解潜在的质量问题,开源的 SonarQube 项目支持了 DevOps 的“尽早发布和经常发布” 的思维模式。<a href="https://dn-linuxcn.qbox.me/data/attachment/album/201811/14/092831ypfrsw7f2z5iyy2w.jpg">Media</a>越来越多的组织正在实施 <a href="https://en.wikipedia.org/wiki/DevOps">DevOps</a> 以便在通过中间开发和测试环境以后更快更好的将新代码引入到生产环境。虽然版本控制、持续集成和部署以及自动化测试都属于 DevOps 的范畴,但仍然存在一个关键问题:组织如何量化代码质量,而不仅仅是部署的速度?<a href="https://www.sonarqube.org/">SonarQube</a> 是用来填补这个空隙的一种选择。它是一个开源平台,通过代码的自动化静态分析不断的检查代码质量。 SonarQube 支持 20 多种语言的分析,并在各种类型的项目中输出和存储问题。SonarQube 同时也提供了一个可同时维护和管理不同项目、不同代码的集中的环境。可以为每个项目定制规则。持续的检查和分析代码的健康轨迹。SonarQube 还可以集成到可持续集成和开发(CI/CD)流程中,协助和自动确定代码是否为生产环境做好了准备的过程。它可以衡量什么开箱即用,SonarQube 可以测量的关键指标,包括代码错误、代码异味code smells、安全漏洞和重复的代码。<strong>代码错误</strong> 是代码中的一部分不正确或无法正常运行、可能会导致错误的结果,是指那些在代码发布到生产环境之前应该被修复的明显的错误。<a href="https://en.wikipedia.org/wiki/Code_smell">代码异味</a> 不同于代…
通过不断分析代码以了解潜在的质量问题,开源的 SonarQube 项目支持了 DevOps 的“尽早发布和经常发布” 的思维模式。<a href="https://dn-linuxcn.qbox.me/data/attachment/album/201811/14/092831ypfrsw7f2z5iyy2w.jpg">Media</a>越来越多的组织正在实施 <a href="https://en.wikipedia.org/wiki/DevOps">DevOps</a> 以便在通过中间开发和测试环境以后更快更好的将新代码引入到生产环境。虽然版本控制、持续集成和部署以及自动化测试都属于 DevOps 的范畴,但仍然存在一个关键问题:组织如何量化代码质量,而不仅仅是部署的速度?<a href="https://www.sonarqube.org/">SonarQube</a> 是用来填补这个空隙的一种选择。它是一个开源平台,通过代码的自动化静态分析不断的检查代码质量。 SonarQube 支持 20 多种语言的分析,并在各种类型的项目中输出和存储问题。SonarQube 同时也提供了一个可同时维护和管理不同项目、不同代码的集中的环境。可以为每个项目定制规则。持续的检查和分析代码的健康轨迹。SonarQube 还可以集成到可持续集成和开发(CI/CD)流程中,协助和自动确定代码是否为生产环境做好了准备的过程。它可以衡量什么开箱即用,SonarQube 可以测量的关键指标,包括代码错误、代码异味code smells、安全漏洞和重复的代码。<strong>代码错误</strong> 是代码中的一部分不正确或无法正常运行、可能会导致错误的结果,是指那些在代码发布到生产环境之前应该被修复的明显的错误。<a href="https://en.wikipedia.org/wiki/Code_smell">代码异味</a> 不同于代…