分类 分享 下的文章

 title=

如果电信运营商或企业今天从头开始构建网络,那么他们可能用软件定义资源的方式构建,这与 Google 或 Facebook 的基础设施类似。这是网络功能虚拟化 (NFV) 的前提。

NFV 是颠覆的一代,其将彻底改变网络的建设和运营。而且,OPNFV 是一个领先的开源 NFV 项目,旨在加速这项技术的采用。

你是想要知道有哪些开源项目可能会帮助你进行 NFV 转换计划的电信运营商或者相关的企业员工么?还是要将你的产品和服务推向新的 NFV 世界的技术提供商?或者,也许是一名想使用开源项目来发展你事业的工程师、网络运维或商业领袖?(例如 2013 年 Rackspace 提到 拥有 OpenStack 技能的网络工程师的平均工资比他们的同行高 13%)?如果这其中任何一个适用于你,那么 理解 OPNFV 一书是你的完美资源。

OPNFV Book

“理解 OPNFV”一书高屋建瓴地提供了 OPNFV 的理解以及它如何帮助你和你们的组织。

本书(由 Mirantis 、 Nick Chase 和我撰写)在 11 个易于阅读的章节和超过 144 页中介绍了从 NFV、NFV 转换、OPNFV 项目的各个方面到 VNF 入门的概述,涵盖了一系列主题。阅读本书后,你将对 OPNFV 是什么有一个高屋建瓴的理解以及它如何帮助你或你们的组织。这本书不是专门面向开发人员的,虽然有开发背景信息很有用。如果你是开发人员,希望作为贡献者参与 OPNFV 项目,那么 wiki.opnfv.org 仍然是你的最佳资源。

在本博客系列中,我们会向你展示本书的一部分内容 - 就是有些什么内容,以及你可能会学到的。

让我们从第一章开始。第 1 章,毫不奇怪,是对 NFV 的介绍。它从业务驱动因素(需要差异化服务、成本压力和敏捷需求)、NFV 是什么,以及你可从 NFV 可以获得什么好处的角度做了简要概述。

简而言之,NFV 可以在数据中心的计算节点上执行复杂的网络功能。在计算节点上执行的网络功能称为虚拟网络功能 (VNF)。因此,VNF 可以作为网络运行,NFV 还会添加机制来确定如何将它们链接在一起,以提供对网络中流量的控制。

虽然大多数人认为它用在电信,但 NFV 涵盖了广泛的使用场景,从基于应用或流量类型的按角色访问控制 (RBAC) 到用于管理网络内容的内容分发网络 (CDN) 网络(通常需要的地方),更明显的电信相关用例如演进分组核心 (EPC) 和 IP 多媒体系统(IMS)。

此外,一些主要收益包括增加收入、改善客户体验、减少运营支出 (OPEX)、减少资本支出 (CAPEX)和为新项目腾出资源。本节还提供了具体的 NFV 总体拥有成本 (TCO) 分析。这些话题的处理很简单,因为我们假设你有一些 NFV 背景。然而,如果你刚接触 NFV ,不要担心 - 介绍材料足以理解本书的其余部分。

本章总结了 NFV 要求 - 安全性、性能、互操作性、易操作性以及某些具体要求,如服务保证和服务功能链。不符合这些要求,没有 NFV 架构或技术可以真正成功。

阅读本章后,你将对为什么 NFV 非常重要、NFV是什么,以及 NFV 成功的技术要求有一个很好的概念。我们将在今后的博客文章中浏览下面的章节。

这本书已被证明是行业活动上最受欢迎的赠品,中文版正在进行之中!但是你现在可以下载 PDF 格式的电子书,或者在亚马逊上下载打印版本

(题图:Creative Commons ZeroPixabay)


via: https://www.linux.com/blog/opnfv/2017/8/understanding-opnfv-starts-here

作者:AMAR KAPADIA 译者:geekpi 校对:wxy

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

开源的 Ruby 书籍

Ruby 是由 Yukihiro “Matz” Matsumoto 开发的一门通用目的、脚本化、结构化、灵活且完全面向对象的编程语言。它具有一个完全动态类型系统,这意味着它的大多数类型检查是在运行的时候进行,而非编译的时候。因此程序员不必过分担心是整数类型还是字符串类型。Ruby 会自动进行内存管理,它具有许多和 Python、Perl、Lisp、Ada、Eiffel 和 Smalltalk 相同的特性。

Ruby on Rails 框架对于 Ruby 的流行起到了重要作用,它是一个全栈 Web 框架,目前已被用来创建许多受欢迎的应用,包括 Basecamp、GitHub、Shopify、Airbnb、Twitch、SoundCloud、Hulu、Zendesk、Square 和 Highise 。

Ruby 具有很高的可移植性性,在 Linux、Windows、Mac OS X、Cygwin、FreeBSD、NetBSD、OpenBSD、BSD/OS、Solaris、Tru64 UNIX、HP-UX 以及其他许多系统上均可运行。目前,Ruby 在 TIOBE 编程社区排名 12 。

这篇文章有 9 本很优秀的推荐书籍,有针对包括初学者、中级程序员和高级程序员的书籍。当然,所有的书籍都是在开源许可下发布的。

这篇文章是 OSSBlog 的系列文章开源编程书籍的一部分。

Ruby Best Practices

作者: Gregory Brown (328 页)

《Ruby Best Practices》适合那些希望像有经验的 Ruby 专家一样使用 Ruby 的程序员。本书是由 Ruby 项目 Prawn 的开发者所撰写的,它阐述了如何使用 Ruby 设计美丽的 API 和特定领域语言,以及如何利用函数式编程想法和技术,从而简化代码,提高效率。

《Ruby Best Practices》 更多的内容是关于如何使用 Ruby 来解决问题,它阐述的是你应该使用的最佳解决方案。这本书不是针对 Ruby 初学者的,所以对于编程新手也不会有太多帮助。这本书的假想读者应该对 Ruby 的相应技术有一定理解,并且拥有一些使用 Ruby 来开发软件的经验。

这本书分为两部分,前八章组成本书的核心部分,后三章附录作为补充材料。

这本书提供了大量的信息:

  • 通过测试驱动代码 - 涉及了大量的测试哲学和技术。使用 mocks 和 stubs
  • 通过利用 Ruby 神秘的力量来设计漂亮的 API:灵活的参数处理和代码块
  • 利用动态工具包向开发者展示如何构建灵活的界面,实现单对象行为,扩展和修改已有代码,以及程序化地构建类和模块
  • 文本处理和文件管理集中于正则表达式,文件、临时文件标准库以及文本处理策略实战
  • 函数式编程技术优化了模块代码组织、存储、无穷目录以及更高顺序程序。
  • 理解代码如何出错以及为什么会出错,阐述如何处理日志记录
  • 通过利用 Ruby 的多语言能力削弱文化屏障
  • 熟练的项目维护

本书为开源书籍,在 CC NC-SA 许可证下发布。

在此下载《Ruby Best Practices》

I Love Ruby

作者: Karthikeyan A K (246 页)

《I Love Ruby》以比传统的介绍更高的深度阐述了基本概念和技术。该方法为编写有用、正确、易维护和高效的 Ruby 代码提供了一个坚实的基础。

章节内容涵盖:

  • 变量
  • 字符串
  • 比较和逻辑
  • 循环
  • 数组
  • 哈希和符号
  • Ranges
  • 函数
  • 变量作用域
  • 类 & 对象
  • Rdoc
  • 模块和 Mixins
  • 日期和时间
  • 文件
  • Proc、匿名 和 块
  • 多线程
  • 异常处理
  • 正则表达式
  • Gems
  • 元编程

在 GNU 自由文档许可证之下,你可以复制、发布和修改本书,1.3 或任何之后版本由自由软件基金会发布。

点此下载《I Love Ruby》

Programming Ruby – The Pragmatic Programmer’s Guide

作者: David Thomas, Andrew Hunt (HTML)

《Programming Ruby – The Pragmatic Programmer’s Guide》是一本 Ruby 编程语言的教程和参考书。使用 Ruby,你将能够写出更好的代码,更加有效率,并且使编程变成更加享受的体验。

内容涵盖以下部分:

  • 类、对象和变量
  • 容器、块和迭代器
  • 标准类型
  • 更多方法
  • 表达式
  • 异常、捕获和抛出
  • 模块
  • 基本输入和输出
  • 线程和进程
  • 何时抓取问题
  • Ruby 和它的世界、Web、Tk 和 微软 Windows
  • 扩展 Ruby
  • 映像、对象空间和分布式 Ruby
  • 标准库
  • 面向对象设计库
  • 网络和 Web 库
  • 嵌入式文件
  • 交互式 Ruby shell

这本书的第一版在开放发布许可证 1.0 版或更新版的许可下发布。本书更新后的第二版涉及 Ruby 1.8 ,并且包括所有可用新库的描述,但是它不是在免费发行许可证下发布的。

点此下载《Programming Ruby – The Pragmatic Programmer’s Guide》

Why’s (Poignant) Guide to Ruby

作者:why the lucky stiff (176 页)

《Why’s (poignant) Guide to Ruby》是一本 Ruby 编程语言的介绍书籍。该书包含一些冷幽默,偶尔也会出现一些和主题无关的内容。本书包含的笑话在 Ruby 社区和卡通角色中都很出名。

本书的内容包括:

  • 关于本书
  • Kon’nichi wa, Ruby
  • 一个快速(希望是无痛苦的)的 Ruby 浏览(伴随卡通角色):Ruby 核心概念的基本介绍
  • 代码浮动小叶:评估和值,哈希和列表
  • 组成规则的核心部分:case/when、while/until、变量作用域、块、方法、类定义、类属性、对象、模块、IRB 中的内省、dup、self 和 rbconfig 模块
  • 中心:元编程、正则表达式
  • 当你打算靠近胡须时:在已存在类中发送一个新方法
  • 天堂演奏

本书在 CC-SA 许可证许可下可用。

点此下载《Why’s (poignant) Guide to Ruby》

Ruby Hacking Guide

作者: Minero Aoki ,翻译自 Vincent Isambart 和 Clifford Escobar Caoille (HTML)

通过阅读本书可以达成下面的目标:

  • 拥有关于 Ruby 结构的知识
  • 掌握一般语言处理的知识
  • 收获阅读源代码的技能

本书分为四个部分:

  • 对象
  • 动态分析
  • 评估
  • 外部评估

要想从本书中收获最多的东西,需要具备一定 C 语言的知识和基本的面向对象编程知识。本书在 CC-NC-SA 许可证许可下发布。

原书的官方支持网站为 i.loveruby.net/ja/rhg/

点此下载《Ruby Hacking Guide》

The Book Of Ruby

作者: How Collingbourne (425 页)

《The Book Of Ruby》是一本免费的 Ruby 编程高级教程。

《The Book Of Ruby》以 PDF 文件格式提供,并且每一个章节的所有例子都伴有可运行的源代码。同时,也有一个介绍来阐述如何在 Steel 或其他任何你喜欢的编辑器/IDE 中运行这些 Ruby 代码。它主要集中于 Ruby 语言的 1.8.x 版本。

本书被分成很小的块。每一个章节介绍一个主题,并且分成几个不同的子话题。每一个编程主题由一个或多个小的自包含、可运行的 Ruby 程序构成。

  • 字符串、数字、类和对象 - 获取输入和输出、字符串和外部评估、数字和条件测试:if ... then、局部变量和全局变量、类和对象、实例变量、消息、方法、多态性、构造器和检属性和类变量 - 超类和子类,超类传参,访问器方法,’set‘ 访问器,属性读写器、超类的方法调用,以及类变量
  • 类等级、属性和类变量 - 超类和子类,超类传参,访问器方法,’set‘ 访问器,属性读写器、超类的方法调用,以及类变量
  • 字符串和 Ranges - 用户自定义字符串定界符、引号等更多
  • 数组和哈希 - 展示如何创建一系列对象
  • 循环和迭代器 - for 循环、代码块、while 循环、while 修改器以及 until 循环
  • 条件语句 - If..Then..Else、And..Or..Not、If..Elsif、unless、if 和 unless 修改器、以及 case 语句
  • 方法 - 类方法、类变量、类方法是用来干什么的、Ruby 构造器、单例方法、单例类、重载方法以及更多
  • 传递参数和返回值 - 实例方法、类方法、单例方法、返回值、返回多重值、默认参数和多重参数、赋值和常量传递以及更多
  • 异常处理 - 涉及 rescue、ensure、else、错误数量、retry 和 raise
  • 块、Procs 和 匿名 - 阐述为什么它们对 Ruby 来说很特殊
  • 符号 - 符号和字符串、符号和变量以及为什么应该使用符号
  • 模块和 Mixins
  • 文件和 IO - 打开和关闭文件、文件和目录、复制文件、目录询问、一个关于递归的讨论以及按大小排序
  • YAML - 包括嵌套序列,保存 YAML 数据以及更多
  • Marshal - 提供一个保存和加载数据的可选择方式
  • 正则表达式 - 进行匹配、匹配群组以及更多
  • 线程 - 向你展示如何同时运行多个任务
  • 调试和测试 - 涉及交互式 Ruby shell(IRB.exe)、debugging 和 单元测试
  • Ruby on Rails - 浏览一个创建博客的实践指南
  • 动态编程 - 自修改程序、重运算魔法、特殊类型的运算、添加变量和方法以及更多

本书由 SapphireSteel Software 发布,SapphireSteel Software 是用于 Visual Studio 的 Ruby In Steel 集成开发环境的开发者。读者可以复制和发布本书的文本和代码(免费版)

点此下载《The Book Of Ruby》

The Little Book Of Ruby

作者: Huw Collingbourne (87 页)

《The Little Book of Ruby》是一本一步接一步的 Ruby 编程教程。它指导读者浏览 Ruby 的基础。另外,它分享了《The Book of Ruby》一书的内容,但是它旨在作为一个简化的教程来阐述 Ruby 的主要特性。

章节内容涵盖:

  • 字符串和方法 - 包括外部评估。详细描述了 Ruby 方法的语法
  • 类和对象 - 阐述如何创建一个新类型的对象
  • 类等级 - 一个特殊类型的类,其为一些其他类的简化并且继承了其他一些类的特性
  • 访问器、属性、类变量 - 访问器方法,属性读写器,属性创建变量,调用超类方法以及类变量探索
  • 数组 - 学习如何创建一系列对象:数组包括多维数组
  • 哈希 - 涉及创建哈希表,为哈希表建立索引以及哈希操作等
  • 循环和迭代器 - for 循环、块、while 循环、while 修饰器以及 until 循环
  • 条件语句 - If..Then..Else、And..Or..Not、If..Elsif、unless、if 和 unless 修饰器以及 case 语句
  • 模块和 Mixins - 包括模块方法、模块作为名字空间模块实例方法、模块或 'mixins'、来自文件的模块和预定义模块
  • 保存文件以及更多内容

本书可免费复制和发布,只需保留原始文本且注明版权信息。

点此下载《The Little Book of Ruby》

Kestrels, Quirky Birds, and Hopeless Egocentricity

作者: Reg “raganwald” Braithwaite (123 页)

《Kestrels, Quirky Birds, and Hopeless Egocentricity》是通过收集 “Raganwald” Braithwaite 的关于组合逻辑、Method Combinators 以及 Ruby 元编程的系列文章而形成的一本方便的电子书。

本书提供了通过使用 Ruby 编程语言来应用组合逻辑的一个基本介绍。组合逻辑是一种数学表示方法,它足够强大,从而用于解决集合论问题以及计算中的问题。

在这本书中,读者会会探讨到一些标准的 Combinators,并且对于每一个 Combinators,书中都用 Ruby 编程语言写程序探讨了它的一些结果。在组合逻辑上,Combinators 之间组合并相互改变,书中的 Ruby 例子注重组合和修改 Ruby 代码。通过像 K Combinator 和 .tap 方法这样的简单例子,本书阐述了元编程的理念和递归 Combinators 。

本书在 MIT 许可证许可下发布。

点此下载《Kestrels, Quirky Birds, and Hopeless Egocentricity》

Ruby Programming

作者: Wikibooks.org (261 页)

Ruby 是一种解释性、面向对象的编程语言。

本书被分为几个部分,从而方便按顺序阅读。

  • 开始 - 向读者展示如何在其中一个操作系统环境中安装并开始使用 Ruby
  • Ruby 基础 - 阐述 Ruby 语法的主要特性。它涵盖了字符串、编码、写方法、类和对象以及异常等内容
  • Ruby 语义参考
  • 内建类
  • 可用模块,涵盖一些标准库
  • 中级 Ruby 涉及一些稍微高级的话题

本书在 CC-SA 3.0 本地化许可证许可下发布。

点此下载《Ruby Programming》


无特定顺序,我将在结束前推荐一些没有在开源许可证下发布但可以免费下载的 Ruby 编程书籍。


via: https://www.ossblog.org/study-ruby-programming-with-open-source-books/

作者:Steve Emms 译者:ucasFL 校对:wxy

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

当你需要的不仅仅是一个基本的图像浏览器,而是一个完整的图像编辑器,请查看这些程序。

像大多数人一样,你计算机上可能有些照片和其他图像。而且,像大多数人一样,你可能想要经常查看那些图像和照片。

而启动一个 GIMP 或者 Pinta 这样的图片编辑器对于简单的浏览图片来说太笨重了。

另一方面,大多数 Linux 桌面环境中包含的基本图像查看器可能不足以满足你的需要。如果你想要一些更多的功能,但仍然希望它是轻量级的,那么看看这四个 Linux 桌面中的图像查看器,如果还不能满足你的需要,还有额外的选择。

Feh

Feh 是我以前在老旧计算机上最喜欢的软件。它简单、朴实、用起来很好。

你可以从命令行启动 Feh:只将其指向图像或者包含图像的文件夹之后就行了。Feh 会快速加载,你可以通过鼠标点击或使用键盘上的向左和向右箭头键滚动图像。不能更简单了。

Feh 可能很轻量级,但它提供了一些选项。例如,你可以控制 Feh 的窗口是否具有边框,设置要查看的图像的最小和最大尺寸,并告诉 Feh 你想要从文件夹中的哪个图像开始浏览。

 title=

Feh 的使用

Ristretto

如果你将 Xfce 作为桌面环境,那么你会熟悉 Ristretto。它很小、简单、并且非常有用。

怎么简单?你打开包含图像的文件夹,单击左侧的缩略图之一,然后单击窗口顶部的导航键浏览图像。Ristretto 甚至有幻灯片功能。

Ristretto 也可以做更多的事情。你可以使用它来保存你正在浏览的图像的副本,将该图像设置为桌面壁纸,甚至在另一个应用程序中打开它,例如,当你需要修改一下的时候。

 title=

在 Ristretto 中浏览照片

Mirage

表面上,Mirage有点平常,没什么特色,但它做着和其他优秀图片浏览器一样的事:打开图像,将它们缩放到窗口的宽度,并且可以使用键盘滚动浏览图像。它甚至可以使用幻灯片。

不过,Mirage 将让需要更多功能的人感到惊喜。除了其核心功能,Mirage 还可以调整图像大小和裁剪图像、截取屏幕截图、重命名图像,甚至生成文件夹中图像的 150 像素宽的缩略图。

如果这还不够,Mirage 还可以显示 SVG 文件。你甚至可以从命令行中运行。

 title=

使用 Mirage

Nomacs

Nomacs 显然是本文中最重量级的图像浏览器。它所呈现的那么多功能让人忽视了它的速度。它快捷而易用。

Nomacs 不仅仅可以显示图像。你还可以查看和编辑图像的元数据,向图像添加注释,并进行一些基本的编辑,包括裁剪、调整大小、并将图像转换为灰度。Nomacs 甚至可以截图。

一个有趣的功能是你可以在桌面上运行程序的两个实例,并在这些实例之间同步图像。当需要比较两个图像时,Nomacs 文档中推荐这样做。你甚至可以通过局域网同步图像。我没有尝试通过网络进行同步,如果你做过可以分享下你的经验。

 title=

Nomacs 中的照片及其元数据

其他一些值得一看的浏览器

如果这四个图像浏览器不符合你的需求,这里还有其他一些你可能感兴趣的。

Viewnior 自称是 “GNU/Linux 中的快速简单的图像查看器”,它很适合这个用途。它的界面干净整洁,Viewnior 甚至可以进行一些基本的图像处理。

如果你喜欢在命令行中使用,那么 display 可能是你需要的浏览器。 ImageMagickGraphicsMagick 这两个图像处理软件包都有一个名为 display 的应用程序,这两个版本都有查看图像的基本和高级选项。

Geeqie 是更轻和更快的图像浏览器之一。但是,不要让它的简单误导你。它包含的功能有元数据编辑功能和其它浏览器所缺乏的查看相机 RAW 图像格式的功能。

Shotwell 是 GNOME 桌面的照片管理器。然而它不仅仅能浏览图像,而且 Shotwell 非常快速,并且非常适合显示照片和其他图形。

在 Linux 桌面中你有最喜欢的一款轻量级图片浏览器么?请在评论区随意分享你的喜欢的浏览器。


作者简介:

我是一名长期使用自由/开源软件的用户,并因为乐趣和收获写各种东西。我不会很严肃。你可以在这些网站上找到我:Twitter、Mastodon、GitHub。

via: https://opensource.com/article/17/7/4-lightweight-image-viewers-linux-desktop

作者:Scott Nesbitt 译者:geekpi 校对:wxy

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

机器学习 Machine Learning 有很多方面,当我开始研究学习它时,我发现了各种各样的“小抄”,它们简明地列出了给定主题的关键知识点。最终,我汇集了超过 20 篇的机器学习相关的小抄,其中一些我经常会翻阅,而另一些我也获益匪浅。这篇文章里面包含了我在网上找到的 27 个小抄,如果你发现我有所遗漏的话,请告诉我。

机器学习领域的变化是日新月异的,我想这些可能很快就会过时,但是至少在 2017 年 6 月 1 日时,它们还是很潮的。

如果你喜欢这篇文章,那就分享给更多人,如果你想感谢我,就到原帖地址点个赞吧。

机器学习

这里有一些有用的流程图和机器学习算法表,我只包括了我所发现的最全面的几个。

神经网络架构

来源: http://www.asimovinstitute.org/neural-network-zoo/

神经网络公园

微软 Azure 算法流程图

来源: https://docs.microsoft.com/en-us/azure/machine-learning/machine-learning-algorithm-cheat-sheet

用于微软 Azure 机器学习工作室的机器学习算法

SAS 算法流程图

来源: http://blogs.sas.com/content/subconsciousmusings/2017/04/12/machine-learning-algorithm-use/

SAS:我应该使用哪个机器学习算法?

算法总结

来源: http://machinelearningmastery.com/a-tour-of-machine-learning-algorithms/

机器学习算法指引

来源: http://thinkbigdata.in/best-known-machine-learning-algorithms-infographic/

已知的机器学习算法哪个最好?

算法优劣

来源: https://blog.dataiku.com/machine-learning-explained-algorithms-are-your-friend

Python

自然而然,也有许多在线资源是针对 Python 的,这一节中,我仅包括了我所见过的最好的那些小抄。

算法

来源: https://www.analyticsvidhya.com/blog/2015/09/full-cheatsheet-machine-learning-algorithms/

Python 基础

来源: http://datasciencefree.com/python.pdf

来源: https://www.datacamp.com/community/tutorials/python-data-science-cheat-sheet-basics#gs.0x1rxEA

Numpy

来源: https://www.dataquest.io/blog/numpy-cheat-sheet/

来源: http://datasciencefree.com/numpy.pdf

来源: https://www.datacamp.com/community/blog/python-numpy-cheat-sheet#gs.Nw3V6CE

来源: https://github.com/donnemartin/data-science-ipython-notebooks/blob/master/numpy/numpy.ipynb

Pandas

来源: http://datasciencefree.com/pandas.pdf

来源: https://www.datacamp.com/community/blog/python-pandas-cheat-sheet#gs.S4P4T=U

来源: https://github.com/donnemartin/data-science-ipython-notebooks/blob/master/pandas/pandas.ipynb

Matplotlib

来源: https://www.datacamp.com/community/blog/python-matplotlib-cheat-sheet

来源: https://github.com/donnemartin/data-science-ipython-notebooks/blob/master/matplotlib/matplotlib.ipynb

Scikit Learn

来源: https://www.datacamp.com/community/blog/scikit-learn-cheat-sheet#gs.fZ2A1Jk

来源: http://peekaboo-vision.blogspot.de/2013/01/machine-learning-cheat-sheet-for-scikit.html

来源: https://github.com/rcompton/ml_cheat_sheet/blob/master/supervised_learning.ipynb

Tensorflow

来源: https://github.com/aymericdamien/TensorFlow-Examples/blob/master/notebooks/1_Introduction/basic_operations.ipynb

Pytorch

来源: https://github.com/bfortuner/pytorch-cheatsheet

数学

如果你希望了解机器学习,那你就需要彻底地理解统计学(特别是概率)、线性代数和一些微积分。我在本科时辅修了数学,但是我确实需要复习一下了。这些小抄提供了机器学习算法背后你所需要了解的大部分数学知识。

概率

来源: http://www.wzchen.com/s/probability_cheatsheet.pdf

概率小抄 2.0

线性代数

来源: https://minireference.com/static/tutorials/linear_algebra_in_4_pages.pdf

四页内解释线性代数

统计学

来源: http://web.mit.edu/~csvoss/Public/usabo/stats_handout.pdf

统计学小抄

微积分

来源: http://tutorial.math.lamar.edu/getfile.aspx?file=B,41,N

微积分小抄

 title=

音乐是生活的一部分。维基百科关于音乐发展历史的文章有这样一段不错的描述说:“全世界所有的人们,包括哪怕是最孤立、与世隔绝的部落,都会有自己的特色音乐……”好吧,我们开源人就构成了一个部落。我建议我们的“音乐形式”应该包括开源音乐播放器。在过去几年里,我已经使用体验过不少我能接触到的音乐播放器;2016 年 12 月份我根据这六个标准来总结概括了我使用开源音乐播放器的感受:

  1. 必须是能够通过设置让音乐一成不变地转换到 ALSA。(最高分 5分)
  2. 应该有一个不错的“智能播放列表”。(1 分)
  3. 不应该强迫用户只能通过播放列表来进行交互。(1 分)
  4. 应该能够提供一个简单的方法来显示歌曲的封面图片——使用内嵌的封面图或使用在音乐目录里面 cover.jpg(或者 .png)文件替代。
  5. 应该能够在音乐播放的时候显示信号级别和实际比特率。(1 分)
  6. 能够呈现出不错的整体组织,结构布局和执行性能。(1 分)

热心的读者让告诉我有三个播放器是在我的资源仓库里没有的:AqualungLollypopGogglesMM。我并不想在我办公用的电脑里面安装那些来自外面的软件,我承诺过我会配置一个“试验台”来测试这三个音乐播放器,并给出测试的细节。

Aqualung

Aqualung 有一个写的清晰明了的网站来解释它众多的特点。其上提供的说明中我发现其中一点特别有趣:

“你能够(也应该)将你的所有音乐按照艺术家/档案/声轨这样组织成一个树型结构,这样比生成一个一体化的 Winamp/XMMS 播放列表更舒服。”

这点让我有些困惑,因为我总是把我的音乐按照艺术家、专辑和声轨这样组织成树状。但这就可能解释了为什么我有时发现 XMMS 流派的播放器在浏览音乐时有一点古怪。

根据 Aqualung 官网的下载页面说明,官方发布的只有源代码。但是文档上的说明暗示了绝大多数主流的 Linux 发行版本都包括一份 Aqualung 的构建副本,但我当前用的办公电脑所使用的 Linux 发行版 Ubuntu 16.10 并不在此范围内。Launchpad.net 提供有 PPA,但那些软件看起来都有些过时了,所以为什么不试试编译源码安装软件呢?

我根据官网上编译文档的建议和配置脚本的提示安装了 pkgconf 以及 libasoundlibflaclibmp3lamelibvorbislibxml2libglib2.0libgtk+-2.0 的开发库。接下来,我就能够干净利索的进行 configure 然后进行 makemake install。最终我可以执行 /usr/local/bin/aqualung 了。

 title=

Aqualung,不能切换音乐播放的码率。

一旦 Aqualung 启动运行,我就能看到相当简洁直接的两窗口界面:播放器本身和“音乐商店”。我通过右键点击播放器的音乐面板打开参数设置查看这些可设置的参数,看是否能找到 AudioQuest DragonFly 这个数模转换器,但我没有找到任何相关的迹象。然而,站点上的说明指出可以通过命令行指定输出设备。最终我用 plughw 设备才让 Aqualung 启动起来。

在那个时候,真正让我对 Aqualung 感到失望的是 Aqualung 似乎是需要一个固定的输出采样频率。我能够用 Aqualung 播放器的默认设置来正常播放我的 44.1 Khz 文件,但是同样的采样频率播放 96 Khz 的音乐文件时,我不得不关闭软件并重新启动。也正是因为这一点,我不会再继续对 Aqualung 进行使用测评。

无评分。

Lollypop

 title=

优美的 Lollypop 用户界面。

Lollypop 有一个华丽的网站。尽管它不在我办公专用的电脑的软件仓库里面,但是有一个“针对 Ubuntu/Debian 用户的下载”链接带你跳转到 launchpad.net 站点提供的最新的 PPA。这个站点还提供针对 Flatpak、Arch Linux、Fedora 和 OpenSUSE 这些系统的 Lollypop 软件包的下载。我看了下 Fedora COPR 上针对各个 Fedora 版本的 Lollypop 下载链接,看起来 Lollypop 更新的比较及时而且从 Fedora 版本的 23 到 26 都有对应的软件包提供下载安装。

一天内做一次源码编译就足够了,所以我决定试试从 PPA 安装这款软件。我通过命令行来执行 Lollypop 软件。设置菜单能够在 Lollypop 界面的右上方很显眼地看见。更新完我的音乐后,我开始找电脑的输出设备设置,但是在一番查看后,我不知道该怎么选择合适的输出设备。即便我在命令行通过 -help 也找不到有用的帮助信息。

经过一番网上搜索后我找到一个 Lollypop 的开发者的提示才知道我需要 gstreamer libav 来让 Lollypop 工作。通过这个说明我决定停止,因为这可能需要一个 gstreamer 相关配置才有能工作,但是我不太想继续尝试了。

Lollypop 有一个优美的用户交互界面和它的优美的网站相得益彰,但是我现在不会进一步对它进行测评,否则我就又多了一个进一步去学习了解 gstreamer 的理由。

无评分。

GogglesMM

Goggles Music Manager 也有一个在 launchpad.net 及时更新的 PPA;安装流程简单明了,我现在可以在命令行执行 gogglesmm 了。

GogglesMM,非常容易上手使用,看上去和 Rhythmbox 有点像。我在 GogglesMM 的设置里面的参数设置中找到了音频选项设置,能够让我选择 ALSA 和设置音频输出设备。通过查看 /proc/asound/DragonFly/stream0 文件和 DragonFly 自己的 LED 颜色,我确定我能够用 GogglesMM 播放 44.1-KHz/21-bit 和 96-KHz/24-bit 这两种规格的 mp3;因此,就凭 “rate/depth passthrough” 我给 GogglesMM 打 5 分。

 title=

*GogglesMM 在播放 96/24 这种规格的音乐,显示音频输出设备选择。 *

GogglesMM 的说明文档并没有大量的细节介绍,但是我尽可能说明的是,开发者们使用了过滤器来实现类似“智能播放列表”的功能。我在我的测试环境下使用三张专辑来尽我所能检测过滤功能,当我使用“智能播放列表”功能的时候尽管我喜欢我看到的通过过滤筛选出来的歌曲(特别是能够基于广泛的标准来针对歌曲定义筛选条件),但这并不是我认为的“智能播放列表”,对我来说我认为“智能播放列表”应该是这样的,通过借助一些社区数据库来推荐提供和你近期播放的歌曲类似的曲目。或者我该把这个叫作“自动的 DJ”而不是“智能播放列表”,但是通过测试我最终能够确定的是,这个特性并不会在近期版本的 GogglesMM 中出现,所以我给它这个所谓的“智能播放列表”打 0 分。

至于播放列表队列的操作,这款应用能够支持播放你选中的音乐,也能够随机播放音乐或者把一些音乐整合到一个播放列表里面,所以我因为“播放列表的队列选项”给它打 1 分。

同样的,它看起来也能够很好地不需要额外的干预来管理我的音乐艺术封面(每个专辑都包含一张合适的艺术封面, GogglesMM 可以自动识别),所以为“内嵌的艺术封面或者封面图片”打 1 分。

我找不到任何方法来让 GogglesMM 显示信号级别或者实际的比特率。我也不能找到显示比特率和位深度的方法;尽管这款应用能够显示一个“格式”列,但是在我的音乐栏里面除了显示音乐格式不会显示其他的信息了,所以为 GogglesMM 的“信号级别和有效比特率”打 0 分。

至于 GogglesMM 的整体结构,它的所有按钮选项都正好完全符合我的使用习惯。我能够在播放队列里面看到歌曲的时间和歌曲当前已播放的时间所占歌曲总体时间的比例,专辑封面,歌曲名,专辑名和歌唱者。可用的播放栏列表看起来相当大而有用,比如也包括了作曲者。最后,一个真正让我眼前一亮的特点是,音量控制竟然包含了 ALSA 音量。也就是如果我启动 alsamixer 的话,然后不管是在 alsamixer 还是在 GogglesMM 里面调整音量,另一个音量控制也会做相应的音量调整。这个出乎我意外之外的功能相当的酷而且这个功能在其他的音乐播放器上也不常见,因此为它的整体架构给 GogglesMM 加 1 分。

最终 GogglesMM 的这些优点共计得分 8。所表现出来的特点确实很优秀。

评分:8

到目前为止所给出的评分

我之前所提到的这几个开源音乐播放器中,我最喜欢的还是 Guayadeque,根据我制定的标准来进行排名的话,我给 Guayadeque 打满分 10 分。来看下我对这三个开源音乐播放器的评分总结吧(N/R 代表“无评分”,因为我不确定如何配置这些播放器来让它们以完美的码率和贯穿模式工作,以便我的数模信号转换器在相应源的码率和位深度接收 PCM 数据):

 title=

请注意下我用的这个排名方法并不适合每个人。特别是很多人并不清楚高品质音乐的价值,他们更喜欢专有格式的音乐能够给他们带来更好的音乐品质。

与此同时,我会继续评测一些之前向大家承诺的音乐播放器一些和评测评分无关的特性。我特别喜欢 Lollypop 的外观,我也觉得待揭秘的 gstreamer 有一种神秘的魅力,它能让基于 gstreamer 的音乐播放器不用通过转换就能传输它们的数据。

关于音乐的部分……

我还在保持继续购买唱片的习惯,对于唱片的购买我有些不错的推荐。

第一个就是 Nils Frahm 的专辑 Felt,这是我女儿送我的一份非常贴心的礼物。我真的真的很喜欢这张专辑,它的绝大部分歌曲都是在深夜用电麦录制的非常接近钢琴的弦乐,而且也有不少有趣的钢琴演奏的背景音乐,真的是很棒的音乐。至于 Nils Frahm 其他的音乐,这些唱片提供的下载链接允许你下载质量高达 96-KHz,24-bit FLAC 格式的音乐。

第二个就是 Massive Attack 的专辑 Protection 的 Mad Professor 的重混版),专辑名是 No Protection。你可以在这里了解这份专辑,并且如果你想要尝试这份专辑最原始的版本,这里是它的所有汇总信息。该专辑最初发布于 20 世纪 90 年代,这份专辑刻录在唱片上面而且听起来非常奇幻。遗憾的是,不提供下载链接。

第三个就是 Bayonne 的 Primitives这是专辑要表达的想法。Guardian 报社把这份专辑称作是“新式无聊”。那么这种类型的音乐到底怎么样呢?如果这些音乐真的是非常令人乏味的,或许是时候来换份工作了,无论如何你可以试试听这些音乐;或许你会觉得它确实很乏味或者你会像我一样喜欢上这份音乐。

(图片来源:互联网档案馆书中的图片;由 Opensource.com 编辑发布。遵循 CC BY-SA 4.0 协议。)


作者简介:

Chris Hermansen - 自 1978 年毕业于 British Columbia 大学后一直从事计算机相关工作,2005 年之前是 Solaris、SunOS、UNIX System V 的忠实用户,之后是 Linux 的忠实用户。在技术方面,我的职业生涯大部分时间都是在做数据分析;特别是空间数据分析。拥有丰富的和数据分析相关的编程经验,用过的编程语言有 awk,Python、PostgreSQL、 PostGIS 和 最新的 Groovy。


via: https://opensource.com/article/17/1/open-source-music-players

作者:Chris Hermansen 译者:WangYueScream 校对:wxy

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

想了解更多关于 OpenStack 的内容?这些免费资源可能只是你所需要的。

云基础设施是一个非常需要的技能。如果你正在为你的云基础架构需求寻找开源解决方案,那么 OpenStack 就是其中之一。

OpenStack 是一个巨大的项目集合,为云服务的几乎每一个部分都提供了解决方案和集成。虽然这个巨大范围使得它成为一个强大的工具,但这也意味着可能很难跟上并了解整个项目,了解如何使用它们、如何自定义它们以及如何向其提供代码。

幸运的是,有很多选择可以帮助你。除了官方项目文档、纸质书籍和认证培训计划外,还有大量社区创造的优秀资源。我们每个月可以在 Opensource.com 上查看它在博客和其他网站上最近发布的指南和教程,这会给你启发。我们来看看这次我们发现了什么。

  • 首先在本月的这一批中,我们有一篇来自 Antony Messerli 的指南,介绍如何通过 Ansible 设置 OpenStack 云。Messerli 将引导我们完成实验室环境中的配置以及在集群上运行 OpenStack 所需的 playbook,还有添加镜像、设置网络等的基础知识。如果你正在考虑使用 Ansible 安装 OpenStack 小型本地测试环境,这是一篇很好的文章。
  • 接下来,你有没有想过 Neutron 网络如何在 OpenStack 中的工作的?应用程序中发生的事情如何对应于底层代码?Arie Bregman 在这篇文章中提供了一段 OpenStack Neutron 代码。你需要熟悉一般的网络原理,至少有一点 OpenStack 代码基础才能跟上。
  • Gerrit是 OpenStack 使用的开源代码审查项目,用于管理上传的修补程序,并允许在将更改合并到主 OpenStack 代码库之前进行反馈和测试。对于那些习惯于不同的代码审查系统(或根本没有的),Gerrit 可能会有点混乱,尽管它具有很好的仪表板功能,因此你只能看到对你很重要的信息。Dougal Matthews 在这篇文章中带我们看了他的 Gerrit 仪表板设置,这可能会帮助你设置自己的。
  • 上个月在波士顿举办的 OpenStack 峰会的视频已经发布了,无论你是否参加过上个月的活动,这都包含了技术和非技术专题的宝库。不知道从哪里开始?这有个来自 Julio Villarreal Pelegrino 关于如何规划、构建、运行一个成功的 OpenStack 云计算的演讲
  • 任何云管理员都应该担心安全问题。但你从哪里开始?Naveen Joy 发布了一个很好的十个安全问题的清单,用于加固你的 OpenStack 网络;你可以在上个月的同一主题演讲中查看这个视频
  • OpenStack 中的内部消息服务在一个公共库中进行管理,该库存在于一个称为 Oslo 的项目中,自然它被称为 Oslo.Messenging。要了解这个库的基础知识,它在这个分为两个部分的博客中提到。

想要了解更多?可以从这三年来社区说提供的内容中找到我们完整的 OpenStack 指南、如何做和教程,以帮助你学习成为一名高效的 OpenStack 开发人员或管理员。

有很棒教程、指导或者如何做需要我们分享的么?在下面的评论中分享。


作者简介:

Jason Baker - Jason 热衷于使用技术使世界更加开放,从软件开发到阳光政府行动。Linux 桌面爱好者、地图/地理空间爱好者、树莓派工匠、数据分析和可视化极客、偶尔的码农、云本土主义者。在 Twitter 上关注他。

via: https://opensource.com/article/17/6/openstack-guides-and-tutorials

作者:Jason Baker 译者:geekpi 校对:wxy

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