dcp:采用对等网络传输文件的方式
dcp 可以在不同主机之间使用 Dat 对等网络复制文件。这可以让你在两个主机间传输文件时,无需操心所述主机之间互相访问的细节,以及这些主机是否使用了 NAT。Media
via https://linux.cn/article-10516-1.html
dcp 可以在不同主机之间使用 Dat 对等网络复制文件。这可以让你在两个主机间传输文件时,无需操心所述主机之间互相访问的细节,以及这些主机是否使用了 NAT。Media
via https://linux.cn/article-10516-1.html
dcp:采用对等网络传输文件的方式
<a href="https://dn-linuxcn.qbox.me/data/attachment/album/201902/07/154817sht0t5fddh5tnw03.jpg">Media</a>Linux 本就有 scp 和 rsync 可以完美地完成这个任务。然而我们今天还是想试点新东西。同时我们也想鼓励那些使用不同的理论和新技术开发新东西的开发者。我们也写过其他很多有关这个主题的文章,你可以点击下面的链接访问这些内容。它们分别是 <a href="https://www.2daygeek.com/onionshare-secure-way-to-share-files-sharing-tool-linux/">OnionShare</a>、<a href="https://www.2daygeek.com/wormhole-securely-share-files-from-linux-command-line/">Magic Wormhole</a>、<a href="https://www.2daygeek.com/transfer-sh-easy-fast-way-share-files-over-internet-from-command-line/">Transfer.sh</a> 和 ffsend。什么是 dcp?<a href="https://github.com/tom-james-watson/dat-cp">dcp</a> 可以在不同主机之间使用 Dat 对等网络复制文件。dcp 被视作一个像是 scp 这样工具的替代品,而无需在主机间进行 SSH 授权。这可以让你在两个主机间传输文件时,无需操心所述主机之间互相访问的细节,以及这些主机是否使用了 NAT。dcp 零配置、安全、快速、且是 P2P 传输。这并不是一个商用软件,使用产生的风险将由使用者自己承担。什么是 Dat 协议Dat 是一个 P2P 协议,是一个致力于下一代 Web 的由社区驱动的项目。dcp 如何工作dcp 将会为指定的文件或者文件夹创建一个 dat 归档,并生成一个公开密钥,使用这个公开密钥可以让其他人从另外一台主机上下载上面的文件。使用网络共享的任何数据都使用该归档的公开密钥加密,也就是说文件的接收权仅限于那些拥有该公开密钥的人。dcp 使用案例向多个同事发送文件 —— 只需要告…
<a href="https://dn-linuxcn.qbox.me/data/attachment/album/201902/07/154817sht0t5fddh5tnw03.jpg">Media</a>Linux 本就有 scp 和 rsync 可以完美地完成这个任务。然而我们今天还是想试点新东西。同时我们也想鼓励那些使用不同的理论和新技术开发新东西的开发者。我们也写过其他很多有关这个主题的文章,你可以点击下面的链接访问这些内容。它们分别是 <a href="https://www.2daygeek.com/onionshare-secure-way-to-share-files-sharing-tool-linux/">OnionShare</a>、<a href="https://www.2daygeek.com/wormhole-securely-share-files-from-linux-command-line/">Magic Wormhole</a>、<a href="https://www.2daygeek.com/transfer-sh-easy-fast-way-share-files-over-internet-from-command-line/">Transfer.sh</a> 和 ffsend。什么是 dcp?<a href="https://github.com/tom-james-watson/dat-cp">dcp</a> 可以在不同主机之间使用 Dat 对等网络复制文件。dcp 被视作一个像是 scp 这样工具的替代品,而无需在主机间进行 SSH 授权。这可以让你在两个主机间传输文件时,无需操心所述主机之间互相访问的细节,以及这些主机是否使用了 NAT。dcp 零配置、安全、快速、且是 P2P 传输。这并不是一个商用软件,使用产生的风险将由使用者自己承担。什么是 Dat 协议Dat 是一个 P2P 协议,是一个致力于下一代 Web 的由社区驱动的项目。dcp 如何工作dcp 将会为指定的文件或者文件夹创建一个 dat 归档,并生成一个公开密钥,使用这个公开密钥可以让其他人从另外一台主机上下载上面的文件。使用网络共享的任何数据都使用该归档的公开密钥加密,也就是说文件的接收权仅限于那些拥有该公开密钥的人。dcp 使用案例向多个同事发送文件 —— 只需要告…
如何把 Google 云端硬盘当做虚拟磁盘一样挂载到 Linux
下面我将会介绍三个用于 Linux 系统非官方开发的 Google 云端硬盘客户端。使用这些客户端,你能把 Google 云端硬盘像虚拟磁盘一样挂载到 Linux 系统。Media
via https://linux.cn/article-10517-1.html
下面我将会介绍三个用于 Linux 系统非官方开发的 Google 云端硬盘客户端。使用这些客户端,你能把 Google 云端硬盘像虚拟磁盘一样挂载到 Linux 系统。Media
via https://linux.cn/article-10517-1.html
如何把 Google 云端硬盘当做虚拟磁盘一样挂载到 Linux
<a href="https://dn-linuxcn.qbox.me/data/attachment/album/201902/07/163810vcne2fd7iek1c3du.png">Media</a><a href="https://www.google.com/drive/">Google 云端硬盘</a> 是全球比较受欢迎的云存储平台. 直到 2017 年, 全球有超过 8 亿的活跃用户在使用它。即使用户数在持续增长,但直到现在 Google 还是没有发布一款可以在 Linux 平台使用的客户端。但这难不倒 Linux 社区。不时就有一些开发者给 Linux 操作系统带来一些客户端。下面我将会介绍三个用于 Linux 系统非官方开发的 Google 云端硬盘客户端。使用这些客户端,你能把 Google 云端硬盘像虚拟磁盘一样挂载到 Linux 系统。请继续阅读。1、Google-drive-ocamlfusegoogle-drive-ocamlfuse 把 Google 云端硬盘当做是一个 FUSE 类型的文件系统,它是用 OCam 语言写的。FUSE 意即用户态文件系统Filesystem in Userspace,此项目允许非管理员用户在用户空间创建虚拟文件系统。google-drive-ocamlfuse 可以让你把 Google 云端硬盘当做磁盘一样挂载到 Linux 系统。支持对普通文件和目录的读写操作,支持对 Google dock、表单和演示稿的只读操作,支持多个 Googe 云端硬盘用户,重复文件处理,支持访问回收站等等。安装 google-drive-ocamlfusegoogle-drive-ocamlfuse 能在 Arch 系统的 <a href="https://aur.archlinux.org/packages/google-drive-ocamlfuse/">AUR</a> 上直接找到,所以你可以使用 AUR 助手程序,如 <a href="https://www.ostechnix.com/yay-found-yet-another-reliable-aur-helper/">Yay</a> 来安装。<pre class="prettyprint linenums">$ yay -S google-drive-ocamlfuse</pre>在 Ubuntu 系统:<pre class="prettyprint linenums">$ sudo add-apt-repository ppa:alessandro-strada/ppa$ sudo apt-get update$ sudo apt-get install google-drive-ocamlfuse</pre>安装最新的测试版本:<pre class="prettyprint linenums">$ sudo add-apt-repository ppa:alessandro-strada/google-drive-ocamlfuse-beta$ sudo apt-get update$ sudo apt-get install google-drive-ocamlfuse</pre>使…
<a href="https://dn-linuxcn.qbox.me/data/attachment/album/201902/07/163810vcne2fd7iek1c3du.png">Media</a><a href="https://www.google.com/drive/">Google 云端硬盘</a> 是全球比较受欢迎的云存储平台. 直到 2017 年, 全球有超过 8 亿的活跃用户在使用它。即使用户数在持续增长,但直到现在 Google 还是没有发布一款可以在 Linux 平台使用的客户端。但这难不倒 Linux 社区。不时就有一些开发者给 Linux 操作系统带来一些客户端。下面我将会介绍三个用于 Linux 系统非官方开发的 Google 云端硬盘客户端。使用这些客户端,你能把 Google 云端硬盘像虚拟磁盘一样挂载到 Linux 系统。请继续阅读。1、Google-drive-ocamlfusegoogle-drive-ocamlfuse 把 Google 云端硬盘当做是一个 FUSE 类型的文件系统,它是用 OCam 语言写的。FUSE 意即用户态文件系统Filesystem in Userspace,此项目允许非管理员用户在用户空间创建虚拟文件系统。google-drive-ocamlfuse 可以让你把 Google 云端硬盘当做磁盘一样挂载到 Linux 系统。支持对普通文件和目录的读写操作,支持对 Google dock、表单和演示稿的只读操作,支持多个 Googe 云端硬盘用户,重复文件处理,支持访问回收站等等。安装 google-drive-ocamlfusegoogle-drive-ocamlfuse 能在 Arch 系统的 <a href="https://aur.archlinux.org/packages/google-drive-ocamlfuse/">AUR</a> 上直接找到,所以你可以使用 AUR 助手程序,如 <a href="https://www.ostechnix.com/yay-found-yet-another-reliable-aur-helper/">Yay</a> 来安装。<pre class="prettyprint linenums">$ yay -S google-drive-ocamlfuse</pre>在 Ubuntu 系统:<pre class="prettyprint linenums">$ sudo add-apt-repository ppa:alessandro-strada/ppa$ sudo apt-get update$ sudo apt-get install google-drive-ocamlfuse</pre>安装最新的测试版本:<pre class="prettyprint linenums">$ sudo add-apt-repository ppa:alessandro-strada/google-drive-ocamlfuse-beta$ sudo apt-get update$ sudo apt-get install google-drive-ocamlfuse</pre>使…
远程工作生存指南
今天,我想 分享一些个人如何做好远程工作的建议。不管你是全职远程工作者,或者是可以选择一周某几天在家工作的人,希望这篇文章对你有用。Media
via https://linux.cn/article-10518-1.html
今天,我想 分享一些个人如何做好远程工作的建议。不管你是全职远程工作者,或者是可以选择一周某几天在家工作的人,希望这篇文章对你有用。Media
via https://linux.cn/article-10518-1.html
远程工作生存指南
<a href="https://dn-linuxcn.qbox.me/data/attachment/album/201902/07/201108wh989r7787r86trf.jpg">Media远程工作似乎是最近的一个热门话题。CNBC 报道称,<a href="https://www.cnbc.com/2018/05/30/70-percent-of-people-globally-work-remotely-at-least-once-a-week-iwg-study.html">70% 的专业人士至少每周在家工作一次。同样地,CoSo Cloud 调查发现, <a href="http://www.cosocloud.com/press-release/connectsolutions-survey-shows-working-remotely-benefits-employers-and-employees">77% 的人在远程工作时效率更高 ,而 aftercollege 的一份调查显示,<a href="https://www.aftercollege.com/cf/2015-annual-survey">8% 的千禧一代会更多地考虑提供远程工作的公司。 这看起来很合理:技术、网络以及文化似乎越来越推动了远程工作的发展。哦,自制咖啡也比以前任何时候更好喝了。目前,我准备写另一篇关于公司如何优化远程工作的文章(所以请确保你加入我们的会员以持续关注——这是免费的)。但今天,我想 <strong>分享一些个人如何做好远程工作的建议</strong>。不管你是全职远程工作者,或者是可以选择一周某几天在家工作的人,希望这篇文章对你有用。眼下,你需要明白,<strong>远程工作不是万能药</strong>。当然,穿着睡衣满屋子乱逛,听听反社会音乐,喝一大杯咖啡看起来似乎挺完美的,但这不适合每个人。有的人需要办公室的空间。有的人需要办公室的社会元素。有的人需要从家里走出来。有的人在家里缺乏保持专注的自律。有的人因为好几年未缴退税而怕政府工作人员来住处敲门。<strong>远程工作就好像一块肌肉:如果你锻炼并且保持它,那么它…
<a href="https://dn-linuxcn.qbox.me/data/attachment/album/201902/07/201108wh989r7787r86trf.jpg">Media远程工作似乎是最近的一个热门话题。CNBC 报道称,<a href="https://www.cnbc.com/2018/05/30/70-percent-of-people-globally-work-remotely-at-least-once-a-week-iwg-study.html">70% 的专业人士至少每周在家工作一次。同样地,CoSo Cloud 调查发现, <a href="http://www.cosocloud.com/press-release/connectsolutions-survey-shows-working-remotely-benefits-employers-and-employees">77% 的人在远程工作时效率更高 ,而 aftercollege 的一份调查显示,<a href="https://www.aftercollege.com/cf/2015-annual-survey">8% 的千禧一代会更多地考虑提供远程工作的公司。 这看起来很合理:技术、网络以及文化似乎越来越推动了远程工作的发展。哦,自制咖啡也比以前任何时候更好喝了。目前,我准备写另一篇关于公司如何优化远程工作的文章(所以请确保你加入我们的会员以持续关注——这是免费的)。但今天,我想 <strong>分享一些个人如何做好远程工作的建议</strong>。不管你是全职远程工作者,或者是可以选择一周某几天在家工作的人,希望这篇文章对你有用。眼下,你需要明白,<strong>远程工作不是万能药</strong>。当然,穿着睡衣满屋子乱逛,听听反社会音乐,喝一大杯咖啡看起来似乎挺完美的,但这不适合每个人。有的人需要办公室的空间。有的人需要办公室的社会元素。有的人需要从家里走出来。有的人在家里缺乏保持专注的自律。有的人因为好几年未缴退税而怕政府工作人员来住处敲门。<strong>远程工作就好像一块肌肉:如果你锻炼并且保持它,那么它…
计算机实验室之树莓派:课程 3 OK03
虽然我们的操作系统除了做 课程 2:OK02 中的事情,还做不了别的任何事情,但我们已经学会了函数和格式有关的知识,并且我们现在可以更好更快地编写新特性了。Media
via https://linux.cn/article-10519-1.html
虽然我们的操作系统除了做 课程 2:OK02 中的事情,还做不了别的任何事情,但我们已经学会了函数和格式有关的知识,并且我们现在可以更好更快地编写新特性了。Media
via https://linux.cn/article-10519-1.html
计算机实验室之树莓派:课程 3 OK03
<a href="https://dn-linuxcn.qbox.me/data/attachment/album/201902/08/225754zmxkmdok4dx83ybz.jpg">Media</a>OK03 课程基于 OK02 课程来构建,它教你在汇编中如何使用函数让代码可复用和可读性更好。假设你已经有了 <a href="https://linux.cn/article-10478-1.html">课程 2:OK02</a> 的操作系统,我们将以它为基础。1、可复用的代码到目前为止,我们所写的代码都是以我们希望发生的事为顺序来输入的。对于非常小的程序来说,这种做法很好,但是如果我们以这种方式去写一个完整的系统,所写的代码可读性将非常差。我们应该去使用函数。一个函数是一段可复用的代码片断,可以用于去计算某些答案,或执行某些动作。你也可以称它们为过程procedure、例程routine或子例程subroutine。虽然它们都是不同的,但人们几乎都没有正确地使用这个术语。你应该在数学上遇到了函数的概念。例如,余弦函数应用于一个给定的数时,会得到介于 -1 到 1 之间的另一个数,这个数就是角的余弦。一般我们写成 cos(x) 来表示应用到一个值 x 上的余弦函数。在代码中,函数可以有多个输入(也可以没有输入),然后函数给出多个输出(也可以没有输出),并可能导致副作用。例如一个函数可以在一个文件系统上创建一个文件,第一个输入是它的名字,第二个输入是文件的长度。<a href="https://dn-linuxcn.qbox.me/data/attachment/album/201902/08/225958r9kfp7hot9ofc08c.png">Function as black boxes</a>函数可以认为是一个“黑匣子”。我们给它输入ʌ…
<a href="https://dn-linuxcn.qbox.me/data/attachment/album/201902/08/225754zmxkmdok4dx83ybz.jpg">Media</a>OK03 课程基于 OK02 课程来构建,它教你在汇编中如何使用函数让代码可复用和可读性更好。假设你已经有了 <a href="https://linux.cn/article-10478-1.html">课程 2:OK02</a> 的操作系统,我们将以它为基础。1、可复用的代码到目前为止,我们所写的代码都是以我们希望发生的事为顺序来输入的。对于非常小的程序来说,这种做法很好,但是如果我们以这种方式去写一个完整的系统,所写的代码可读性将非常差。我们应该去使用函数。一个函数是一段可复用的代码片断,可以用于去计算某些答案,或执行某些动作。你也可以称它们为过程procedure、例程routine或子例程subroutine。虽然它们都是不同的,但人们几乎都没有正确地使用这个术语。你应该在数学上遇到了函数的概念。例如,余弦函数应用于一个给定的数时,会得到介于 -1 到 1 之间的另一个数,这个数就是角的余弦。一般我们写成 cos(x) 来表示应用到一个值 x 上的余弦函数。在代码中,函数可以有多个输入(也可以没有输入),然后函数给出多个输出(也可以没有输出),并可能导致副作用。例如一个函数可以在一个文件系统上创建一个文件,第一个输入是它的名字,第二个输入是文件的长度。<a href="https://dn-linuxcn.qbox.me/data/attachment/album/201902/08/225958r9kfp7hot9ofc08c.png">Function as black boxes</a>函数可以认为是一个“黑匣子”。我们给它输入ʌ…
Asciinema:在云端记录并分享你的终端会话
asciinema 是一个自由开源的用于录制终端会话并将它们分享到网络上的解决方案。Media
via https://linux.cn/article-10520-1.html
asciinema 是一个自由开源的用于录制终端会话并将它们分享到网络上的解决方案。Media
via https://linux.cn/article-10520-1.html
Asciinema:在云端记录并分享你的终端会话
<a href="https://dn-linuxcn.qbox.me/data/attachment/album/201902/08/233016gh6peg96l0lp2js5.jpg">Media</a>这个众所周知的话题我们早已经写过了足够多的文章。即使这样,我们今天也要去讨论相同的话题。其他的工具都是在本地运行的,但是 Asciinema 可以以相同的方式在本地和 Web 端运行。我的意思是我们可以在 Web 上分享这个录像。默认情况下,每个人都更愿意使用 history 命令来回看、调用之前在终端内输入的命令。不过,不行的是,这个命令只展示了我们运行的命令却没有展示这些命令上次运行时的输出。在 Linux 下有很多的组件来记录终端会话活动。在过去,我们也写了一些组件,不过今天我们依然要讨论这同一类心的工具。如果你想要使用其他工具来记录你的 Linux 终端会话活动,你可以试试 <a href="https://www.2daygeek.com/script-command-record-save-your-terminal-session-activity-linux/">Script 命令</a>、<a href="https://www.2daygeek.com/terminalizer-a-tool-to-record-your-terminal-and-generate-animated-gif-images/">Terminalizer 工具</a> 和 <a href="https://www.2daygeek.com/Asciinema-record-your-terminal-sessions-as-svg-animations-in-linux/">Asciinema 工具</a>。不过如果你想要找一个 <a href="https://www.2daygeek.com/category/gif-recorder/">GIF 录制工具</a>,可以试试 <a href="https://www.2daygeek.com/gifine-create-animated-gif-vedio-recorder-linux-mint-debian-ubuntu/">Gifine</a>、<a href="https://www.2daygeek.com/kgif-create-animated-gif-file-active-window-screen-recorder-capture-arch-linux-mint-fedora-ubuntu-debian-opensuse-centos/">Kgif</a> 和 <a href="https://www.2daygeek.com/peek-create-animated-gif-screen-recorder-capture-arch-linux-mint-fedora-ubuntu/">Peek</a>。什么是 Asciinemaasciinema 是一个自由开源的用于录制终端会话并将它们分享到网络上的解决方案。当你在你的终端内运行 asciinema rec 来启动录像时,你输入命令的时候,终端内的所有输出都会被抓取。ô…
<a href="https://dn-linuxcn.qbox.me/data/attachment/album/201902/08/233016gh6peg96l0lp2js5.jpg">Media</a>这个众所周知的话题我们早已经写过了足够多的文章。即使这样,我们今天也要去讨论相同的话题。其他的工具都是在本地运行的,但是 Asciinema 可以以相同的方式在本地和 Web 端运行。我的意思是我们可以在 Web 上分享这个录像。默认情况下,每个人都更愿意使用 history 命令来回看、调用之前在终端内输入的命令。不过,不行的是,这个命令只展示了我们运行的命令却没有展示这些命令上次运行时的输出。在 Linux 下有很多的组件来记录终端会话活动。在过去,我们也写了一些组件,不过今天我们依然要讨论这同一类心的工具。如果你想要使用其他工具来记录你的 Linux 终端会话活动,你可以试试 <a href="https://www.2daygeek.com/script-command-record-save-your-terminal-session-activity-linux/">Script 命令</a>、<a href="https://www.2daygeek.com/terminalizer-a-tool-to-record-your-terminal-and-generate-animated-gif-images/">Terminalizer 工具</a> 和 <a href="https://www.2daygeek.com/Asciinema-record-your-terminal-sessions-as-svg-animations-in-linux/">Asciinema 工具</a>。不过如果你想要找一个 <a href="https://www.2daygeek.com/category/gif-recorder/">GIF 录制工具</a>,可以试试 <a href="https://www.2daygeek.com/gifine-create-animated-gif-vedio-recorder-linux-mint-debian-ubuntu/">Gifine</a>、<a href="https://www.2daygeek.com/kgif-create-animated-gif-file-active-window-screen-recorder-capture-arch-linux-mint-fedora-ubuntu-debian-opensuse-centos/">Kgif</a> 和 <a href="https://www.2daygeek.com/peek-create-animated-gif-screen-recorder-capture-arch-linux-mint-fedora-ubuntu/">Peek</a>。什么是 Asciinemaasciinema 是一个自由开源的用于录制终端会话并将它们分享到网络上的解决方案。当你在你的终端内运行 asciinema rec 来启动录像时,你输入命令的时候,终端内的所有输出都会被抓取。ô…
Go 编程语言的简单介绍
Go 有 C 风格的语法(没有预处理器)、垃圾回收机制,而且类似它在贝尔实验室里被开发出来的前辈们Media
via https://linux.cn/article-10521-1.html
Go 有 C 风格的语法(没有预处理器)、垃圾回收机制,而且类似它在贝尔实验室里被开发出来的前辈们Media
via https://linux.cn/article-10521-1.html
Go 编程语言的简单介绍
<a href="https://dn-linuxcn.qbox.me/data/attachment/album/201902/09/000738div64l4tidkdv6vj.png">Media</a>(以下内容是我的硕士论文的摘录,几乎是整个 2.1 章节,向具有 CS 背景的人快速介绍 Go)Go 是一门用于并发编程的命令式编程语言,它主要由创造者 Google 进行开发,最初主要由 Robert Griesemer、Rob Pike 和 Ken Thompson 开发。这门语言的设计起始于 2007 年,并在 2009 年推出最初版本;而第一个稳定版本是 2012 年发布的 1.0 版本。<a href="#fn1">1</a>Go 有 C 风格的语法(没有预处理器)、垃圾回收机制,而且类似它在贝尔实验室里被开发出来的前辈们:Newsqueak(Rob Pike)、Alef(Phil Winterbottom)和 Inferno(Pike、Ritchie 等人),使用所谓的 Go 协程goroutines和信道channels(一种基于 Hoare 的“通信顺序进程”理论的协程)提供内建的并发支持。<a href="#fn2">2</a>Go 程序以包的形式组织。包本质是一个包含 Go 文件的文件夹。包内的所有文件共享相同的命名空间,而包内的符号有两种可见性:以大写字母开头的符号对于其他包是可见,而其他符号则是该包私有的:<pre class="prettyprint linenums">func PublicFunction() { fmt.Println("Hello world")}func privateFunction() { fmt.Println("Hello package")}</pre>类型Go 有一个相当简单的类型系统:没有子类型(但有类型转换),没有泛型,没有多态函数,只有一些基本的类型:基本类型:int、int64、int8、uint、float32、float64 等structinterface:一组方法的集合map[K, V]:一个从键类型到值类型的映射[number]Type:一些 Type 类型的元素组成的数组[]Type:某种类型的切片(具有长度和功能的数组的指针)chan Type:一个线&#…
<a href="https://dn-linuxcn.qbox.me/data/attachment/album/201902/09/000738div64l4tidkdv6vj.png">Media</a>(以下内容是我的硕士论文的摘录,几乎是整个 2.1 章节,向具有 CS 背景的人快速介绍 Go)Go 是一门用于并发编程的命令式编程语言,它主要由创造者 Google 进行开发,最初主要由 Robert Griesemer、Rob Pike 和 Ken Thompson 开发。这门语言的设计起始于 2007 年,并在 2009 年推出最初版本;而第一个稳定版本是 2012 年发布的 1.0 版本。<a href="#fn1">1</a>Go 有 C 风格的语法(没有预处理器)、垃圾回收机制,而且类似它在贝尔实验室里被开发出来的前辈们:Newsqueak(Rob Pike)、Alef(Phil Winterbottom)和 Inferno(Pike、Ritchie 等人),使用所谓的 Go 协程goroutines和信道channels(一种基于 Hoare 的“通信顺序进程”理论的协程)提供内建的并发支持。<a href="#fn2">2</a>Go 程序以包的形式组织。包本质是一个包含 Go 文件的文件夹。包内的所有文件共享相同的命名空间,而包内的符号有两种可见性:以大写字母开头的符号对于其他包是可见,而其他符号则是该包私有的:<pre class="prettyprint linenums">func PublicFunction() { fmt.Println("Hello world")}func privateFunction() { fmt.Println("Hello package")}</pre>类型Go 有一个相当简单的类型系统:没有子类型(但有类型转换),没有泛型,没有多态函数,只有一些基本的类型:基本类型:int、int64、int8、uint、float32、float64 等structinterface:一组方法的集合map[K, V]:一个从键类型到值类型的映射[number]Type:一些 Type 类型的元素组成的数组[]Type:某种类型的切片(具有长度和功能的数组的指针)chan Type:一个线&#…
Python Web 应用程序 Tornado 框架简介
在比较 Python 框架的系列文章的第三部分中,我们来了解 Tornado,它是为处理异步进程而构建的。Media
via https://linux.cn/article-10522-1.html
在比较 Python 框架的系列文章的第三部分中,我们来了解 Tornado,它是为处理异步进程而构建的。Media
via https://linux.cn/article-10522-1.html
Python Web 应用程序 Tornado 框架简介
在比较 Python 框架的系列文章的第三部分中,我们来了解 Tornado,它是为处理异步进程而构建的。<a href="https://dn-linuxcn.qbox.me/data/attachment/album/201902/09/180056b6yyzfwvvaanavrw.jpg">Media</a>在这个由四部分组成的系列文章的前两篇中,我们介绍了 <a href="https://opensource.com/article/18/5/pyramid-framework">Pyramid</a> 和 <a href="https://opensource.com/article/18/4/flask">Flask</a> Web 框架。我们已经构建了两次相同的应用程序,看到了一个完整的 DIY 框架和包含了更多功能的框架之间的异同。现在让我们来看看另一个稍微不同的选择:<a href="https://tornado.readthedocs.io/en/stable/">Tornado 框架</a>。Tornado 在很大程度上与 Flask 一样简单,但有一个主要区别:Tornado 是专门为处理异步进程而构建的。在我们本系列所构建的应用程序中,这种特殊的酱料(LCTT 译注:这里意思是 Tornado 的异步功能)在我们构建的 app 中并不是非常有用,但我们将看到在哪里可以使用它,以及它在更一般的情况下是如何工作的。让我们继续前两篇文章中模式,首先从处理设置和配置开始。Tornado 启动和配置如果你一直关注这个系列,那么第一步应该对你来说习以为常。<pre class="prettyprint linenums">$ mkdir tornado_todo$ cd tornado_todo$ pipenv install --python 3.6$ pipenv shell(tornado-someHash) $ pipenv install tornado</pre>创建一个 setup.py 文件来安装我们的应用程序相关的东西:<pre class="prettyprint linenums">(tornado-someHash) $ touch setup.py# setup.pyfrom setuptools import setup, find_packagesrequires = [ 'tornado', 'tornado-sqlalchemy', 'psycopg2',]setup( name='tornado_todo', version='0.0', description='A To-Do List built with Tornado', author='<Your name>', author_email='<Your email>', keywords='web tornado', packages=find_packages(), install_requires=requires, entry_points={ 'console_scripts': [ 'serve_app = todo:main', ], },)</pre>因为 Tornado 不需要任何外部配置,所以我们可以直接编写 Python É…
在比较 Python 框架的系列文章的第三部分中,我们来了解 Tornado,它是为处理异步进程而构建的。<a href="https://dn-linuxcn.qbox.me/data/attachment/album/201902/09/180056b6yyzfwvvaanavrw.jpg">Media</a>在这个由四部分组成的系列文章的前两篇中,我们介绍了 <a href="https://opensource.com/article/18/5/pyramid-framework">Pyramid</a> 和 <a href="https://opensource.com/article/18/4/flask">Flask</a> Web 框架。我们已经构建了两次相同的应用程序,看到了一个完整的 DIY 框架和包含了更多功能的框架之间的异同。现在让我们来看看另一个稍微不同的选择:<a href="https://tornado.readthedocs.io/en/stable/">Tornado 框架</a>。Tornado 在很大程度上与 Flask 一样简单,但有一个主要区别:Tornado 是专门为处理异步进程而构建的。在我们本系列所构建的应用程序中,这种特殊的酱料(LCTT 译注:这里意思是 Tornado 的异步功能)在我们构建的 app 中并不是非常有用,但我们将看到在哪里可以使用它,以及它在更一般的情况下是如何工作的。让我们继续前两篇文章中模式,首先从处理设置和配置开始。Tornado 启动和配置如果你一直关注这个系列,那么第一步应该对你来说习以为常。<pre class="prettyprint linenums">$ mkdir tornado_todo$ cd tornado_todo$ pipenv install --python 3.6$ pipenv shell(tornado-someHash) $ pipenv install tornado</pre>创建一个 setup.py 文件来安装我们的应用程序相关的东西:<pre class="prettyprint linenums">(tornado-someHash) $ touch setup.py# setup.pyfrom setuptools import setup, find_packagesrequires = [ 'tornado', 'tornado-sqlalchemy', 'psycopg2',]setup( name='tornado_todo', version='0.0', description='A To-Do List built with Tornado', author='<Your name>', author_email='<Your email>', keywords='web tornado', packages=find_packages(), install_requires=requires, entry_points={ 'console_scripts': [ 'serve_app = todo:main', ], },)</pre>因为 Tornado 不需要任何外部配置,所以我们可以直接编写 Python É…
Linux 上最好的五款音乐播放器
Jack Wallen 盘点他最爱的五款 Linux 音乐播放器。<a href="https://dn-linuxcn.qbox.me/data/attachment/album/201902/09/232031rtjn0tiwwjxjjjgg.jpg">Media</a>不管你做什么,你都有时会来一点背景音乐。不管你是开发、运维或是一个典型的电脑用户,享受美妙的音乐都可能是你在电脑上最想做的事情之一。同时随着即将到来的假期,你可能收到一些能让你买几首新歌的礼物卡。如果你所选的音乐是数字形式(我的恰好是唱片形式)而且你的平台是 Linux 的话,你会想要一个好的图形用户界面播放器来享受音乐。幸运的是,Linux 不缺好的数字音乐播放器。事实上,Linux 上有不少播放器,大部分是开源并且可以免费获得的。让我们看看其中的几款,看哪个能满足你的需要。Clementine我想从我用来许多年的默认选项的播放器开始。<a href="https://www.clementine-player.org/">Clementine</a> 可能是最好的平衡了易用性与灵活性的播放器。Clementine 是新停摆的 <a href="https://en.wikipedia.org/wiki/Amarok_(software)">Amarok</a> 音乐播放器的复刻,但它不仅限于 Linux; Clementine 在 Mac OS 和 Windows 平台上也可以获得。它的一系列特性十分惊艳,包括:內建的均衡器可定制的界面(将现在的专辑封面显示成背景,见图一)播放本地音乐或者从 Spotify、Last.fm 等播放音乐便于库导航的侧边栏內建的音频转码(转成 MP3、OGG、Flac 等)通过 <a href="https://play.google.com/store/apps/details?id=de.qspool.clementineremote">安卓应用</a> 远程控制便利的搜索功能选项卡式播放列表简单创建常规和智能化的播放&#…
Jack Wallen 盘点他最爱的五款 Linux 音乐播放器。<a href="https://dn-linuxcn.qbox.me/data/attachment/album/201902/09/232031rtjn0tiwwjxjjjgg.jpg">Media</a>不管你做什么,你都有时会来一点背景音乐。不管你是开发、运维或是一个典型的电脑用户,享受美妙的音乐都可能是你在电脑上最想做的事情之一。同时随着即将到来的假期,你可能收到一些能让你买几首新歌的礼物卡。如果你所选的音乐是数字形式(我的恰好是唱片形式)而且你的平台是 Linux 的话,你会想要一个好的图形用户界面播放器来享受音乐。幸运的是,Linux 不缺好的数字音乐播放器。事实上,Linux 上有不少播放器,大部分是开源并且可以免费获得的。让我们看看其中的几款,看哪个能满足你的需要。Clementine我想从我用来许多年的默认选项的播放器开始。<a href="https://www.clementine-player.org/">Clementine</a> 可能是最好的平衡了易用性与灵活性的播放器。Clementine 是新停摆的 <a href="https://en.wikipedia.org/wiki/Amarok_(software)">Amarok</a> 音乐播放器的复刻,但它不仅限于 Linux; Clementine 在 Mac OS 和 Windows 平台上也可以获得。它的一系列特性十分惊艳,包括:內建的均衡器可定制的界面(将现在的专辑封面显示成背景,见图一)播放本地音乐或者从 Spotify、Last.fm 等播放音乐便于库导航的侧边栏內建的音频转码(转成 MP3、OGG、Flac 等)通过 <a href="https://play.google.com/store/apps/details?id=de.qspool.clementineremote">安卓应用</a> 远程控制便利的搜索功能选项卡式播放列表简单创建常规和智能化的播放&#…
极客漫画:增强现实(AR) 2.0
增强现实技术(Augmented Reality),简称 AR,是一种实时地计算摄影机影像的位置及角度并加上相应图像、视频、3D 模型的技术,这种技术的目标是在屏幕上把虚拟世界套在现实世界并进行互动。Media
via https://linux.cn/article-10524-1.html
增强现实技术(Augmented Reality),简称 AR,是一种实时地计算摄影机影像的位置及角度并加上相应图像、视频、3D 模型的技术,这种技术的目标是在屏幕上把虚拟世界套在现实世界并进行互动。Media
via https://linux.cn/article-10524-1.html
极客漫画:增强现实(AR) 2.0
Media最近这几年我们一直听到虚拟现实(VR)和增强现实(AR),可很多人并不了解它们是什么。增强现实技术Augmented Reality,简称 AR,是一种实时地计算摄影机影像的位置及角度并加上相应图像、视频、3D 模型的技术,这种技术的目标是在屏幕上把虚拟世界套在现实世界并进行互动。这种技术可以让你将现实世界和虚拟世界结合起来,从而创造非常有趣的互动效果。可是,有一天 AR 里面的小鬼们真的出来了!via: http://turnoff.us/geek/augmented-reality-2/作者:Daniel Stori 译者 & 点评:wxy 校对 & 合成:wxy本文由 LCTT 原创编译,Linux中国 荣誉推出Media
via https://linux.cn/article-10524-1.html?utm_source=rss&utm_medium=rss
Media最近这几年我们一直听到虚拟现实(VR)和增强现实(AR),可很多人并不了解它们是什么。增强现实技术Augmented Reality,简称 AR,是一种实时地计算摄影机影像的位置及角度并加上相应图像、视频、3D 模型的技术,这种技术的目标是在屏幕上把虚拟世界套在现实世界并进行互动。这种技术可以让你将现实世界和虚拟世界结合起来,从而创造非常有趣的互动效果。可是,有一天 AR 里面的小鬼们真的出来了!via: http://turnoff.us/geek/augmented-reality-2/作者:Daniel Stori 译者 & 点评:wxy 校对 & 合成:wxy本文由 LCTT 原创编译,Linux中国 荣誉推出Media
via https://linux.cn/article-10524-1.html?utm_source=rss&utm_medium=rss
开始使用 eDEX-UI 吧,一款受《电子世界争霸战》影响的终端程序
使用 eDEX-UI 让你的工作更有趣,这是我们开源工具系列中的第 15 个工具,它将使你在 2019 年更高效。Media
via https://linux.cn/article-10525-1.html
使用 eDEX-UI 让你的工作更有趣,这是我们开源工具系列中的第 15 个工具,它将使你在 2019 年更高效。Media
via https://linux.cn/article-10525-1.html
开始使用 eDEX-UI 吧,一款受《电子世界争霸战》影响的终端程序
使用 eDEX-UI 让你的工作更有趣,这是我们开源工具系列中的第 15 个工具,它将使你在 2019 年更高效。<a href="https://dn-linuxcn.qbox.me/data/attachment/album/201902/10/222740fe2q0dh50999c024.jpg">Media</a>每年年初似乎都有疯狂的冲动想提高工作效率。新年的决心,渴望开启新的一年,当然,“抛弃旧的,拥抱新的”的态度促成了这一切。通常这时的建议严重偏向闭源和专有软件,但事实上并不用这样。这是我挑选出的 19 个新的(或者对你而言新的)开源工具中的第 15 个工具来帮助你在 2019 年更有效率。eDEX-UI当<a href="https://en.wikipedia.org/wiki/Tron">《电子世界争霸战》</a>上映时我才 11 岁。我不能否认,尽管这部电影充满幻想,但它对我后来的职业选择产生了影响。<a href="https://dn-linuxcn.qbox.me/data/attachment/album/201902/10/222822wb2kc18kkkckoeod.png">Media</a><a href="https://github.com/GitSquared/edex-ui">eDEX-UI</a> 是一款专为平板电脑和台式机设计的跨平台终端程序,它的用户界面受到《电子世界争霸战》的启发。它在选项卡式界面中有五个终端,因此可以轻松地在任务之间切换,以及显示有用的系统信息。在启动时,eDEX-UI 会启动一系列的东西,其中包含它所基于的 ElectronJS 系统的信息。启动后,eDEX-UI 会显示系统信息、文件浏览器、键盘(用于平板电脑)和主终端选项卡。其他四个选项卡(被标记为 EMPTY)没有加载任何内容,并且当你单击它时将启动一个 shell。eDEX-UI 中的默认 shell 是 Bash(如果在 Windows 上,则可…
使用 eDEX-UI 让你的工作更有趣,这是我们开源工具系列中的第 15 个工具,它将使你在 2019 年更高效。<a href="https://dn-linuxcn.qbox.me/data/attachment/album/201902/10/222740fe2q0dh50999c024.jpg">Media</a>每年年初似乎都有疯狂的冲动想提高工作效率。新年的决心,渴望开启新的一年,当然,“抛弃旧的,拥抱新的”的态度促成了这一切。通常这时的建议严重偏向闭源和专有软件,但事实上并不用这样。这是我挑选出的 19 个新的(或者对你而言新的)开源工具中的第 15 个工具来帮助你在 2019 年更有效率。eDEX-UI当<a href="https://en.wikipedia.org/wiki/Tron">《电子世界争霸战》</a>上映时我才 11 岁。我不能否认,尽管这部电影充满幻想,但它对我后来的职业选择产生了影响。<a href="https://dn-linuxcn.qbox.me/data/attachment/album/201902/10/222822wb2kc18kkkckoeod.png">Media</a><a href="https://github.com/GitSquared/edex-ui">eDEX-UI</a> 是一款专为平板电脑和台式机设计的跨平台终端程序,它的用户界面受到《电子世界争霸战》的启发。它在选项卡式界面中有五个终端,因此可以轻松地在任务之间切换,以及显示有用的系统信息。在启动时,eDEX-UI 会启动一系列的东西,其中包含它所基于的 ElectronJS 系统的信息。启动后,eDEX-UI 会显示系统信息、文件浏览器、键盘(用于平板电脑)和主终端选项卡。其他四个选项卡(被标记为 EMPTY)没有加载任何内容,并且当你单击它时将启动一个 shell。eDEX-UI 中的默认 shell 是 Bash(如果在 Windows 上,则可…
计算机实验室之树莓派:课程 4 OK04
OK04 课程在 OK03 的基础上进行构建,它教你如何使用定时器让 OK 或 ACT LED 灯按精确的时间间隔来闪烁。Media
via https://linux.cn/article-10526-1.html
OK04 课程在 OK03 的基础上进行构建,它教你如何使用定时器让 OK 或 ACT LED 灯按精确的时间间隔来闪烁。Media
via https://linux.cn/article-10526-1.html