分类 分享 下的文章

有一些使用灵活、功能丰富而物有所值的开源 ERP 系统,这里有 9 个值得你看看。

拥有一定数量员工的企业就需要大量的协调工作,包括制定价格、计划生产、会计和财务、管理支出、管理存货等等。把一套截然不同的工具拼接到一起去处理这些工作,是一种粗制滥造和无价值的做法。

那种方法没有任何弹性。并且那样在各种各样的自组织系统之间高效移动数据是非常困难的。同样,它也很难维护。

因此,大多数成长型企业都转而使用一个 企业资源计划 (ERP)系统。

在这个行业中的大咖有 Oracle、SAP、以及 Microsoft Dynamics。它们都提供了一个综合的系统,但同时也很昂贵。如果你的企业支付不起如此昂贵的大系统,或者你仅需要一个简单的系统,怎么办呢?你可以使用开源的产品来作为替代。

一个 ERP 系统中有什么东西

显然,你希望有一个满足你需要的系统。基于那些需要,更多的功能并不意味着就更好。但是,你的需要会根据你的业务的增长而变化的,因此,你希望能够找到一个 ERP 系统,它能够根据你新的需要而扩展它。那就意味着系统有额外的模块或者支持插件和附加功能。

大多数的开源 ERP 系统都是 web 应用程序。你可以下载并将它们安装到你的服务器上。但是,如果你不希望(或者没有相应技能或者人员)自己去维护系统,那么应该确保它们的应用程序提供托管版本。

最后,你还应该确保应用程序有良好的文档和支持 —— 要么是付费支持或者有一个活跃的用户社区。

有很多弹性很好的、功能丰富的、很划算的开源 ERP 系统。如果你正打算购买这样的系统,这里有我们挑选出来的 9 个。

ADempiere

像大多数其它开源 ERP 解决方案,ADempiere 的目标客户是中小企业。它已经存在一段时间了 — 这个项目出现于 2006,它是 Compiere ERP 软件的一个分支。

它的意大利语名字的意思是“实现”或者“满足”,它“涉及多个方面”的 ERP 特性,旨在帮企业去满足各种需求。它在 ERP 中增加了供应链管理(SCM)和客户关系管理(CRM)功能,能够让该 ERP 套件在一个软件中去管理销售、采购、库存以及帐务处理。它的最新版本是 v.3.9.0,更新了用户界面、POS、人力资源、工资以及其它的特性。

因为是一个跨平台的、基于 Java 的云解决方案,ADempiere 可以运行在Linux、Unix、Windows、MacOS、智能手机、平板电脑上。它使用 GPLv2 授权。如果你想了解更多信息,这里有一个用于测试的 demo,或者也可以在 GitHub 上查看它的 源代码

Apache OFBiz

Apache OFBiz 的业务相关的套件是构建在通用的架构上的,它允许企业根据自己的需要去定制 ERP。因此,它是有内部开发资源的大中型企业的最佳套件,可以去修改和集成它到它们现有的 IT 和业务流程。

OFBiz 是一个成熟的开源 ERP 系统;它的网站上说它是一个有十年历史的顶级 Apache 项目。可用的 模块 有会计、生产制造、人力资源、存货管理、目录管理、客户关系管理,以及电子商务。你可以在它的 demo 页面 上试用电子商务的网上商店以及后端的 ERP 应用程序。

Apache OFBiz 的源代码能够在它的 项目仓库 中找到。它是用 Java 写的,它在 Apache 2.0 license 下可用。

Dolibarr

Dolibarr 提供了中小型企业端到端的业务管理,从发票跟踪、合同、存货、订单,以及支付,到文档管理和电子化 POS 系统支持。它的全部功能封装在一个清晰的界面中。

如果你担心不会使用 Dolibarr,这里有一些关于它的文档

另外,还有一个 在线演示,Dolibarr 也有一个 插件商店,你可以在那是购买一些软件来扩展它的功能。你可以在 GitHub 上查看它的 源代码;它在 GPLv3 或者任何它的最新版本许可下面使用。

ERPNext

ERPNext 是这类开源项目中的其中一个;实际上它最初在 2014 年就被 Opensource.com 推荐了。它被设计用于打破一个陈旧而昂贵的专用 ERP 系统的垄断局面。

ERPNext 适合于中小型企业。它包含的模块有会计、存货管理、销售、采购、以及项目管理。ERPNext 是表单驱动的应用程序 — 你可以在一组字段中填入信息,然后让应用程序去完成剩余部分。整个套件非常易用。

如果你感兴趣,在你考虑参与之前,你可以请求获取一个 demo,去 下载它 或者在托管服务上 购买一个订阅

Metasfresh

Metasfresh 的名字表示它承诺软件的代码始终保持“新鲜”。它自 2015 年以来每周发行一个更新版本,那时,它的代码是由创始人从 ADempiere 项目中分叉的。与 ADempiere 一样,它是一个基于 Java 的开源 ERP,目标客户是中小型企业。

虽然,相比在这里介绍的其它软件来说,它是一个很 “年青的” 项目,但是它早早就引起了一起人的注意,获得很多积极的评价,比如,被提名为“最佳开源”的 IT 创新奖入围者。

Metasfresh 在自托管系统上或者在云上单用户使用时是免费的,或者可以按月交纳订阅费用。它的 源代码 在 GitHub 上,可以在遵守 GPLv2 许可的情况下使用,它的云版本是以 GPLv3 方式授权使用。

Odoo

Odoo 是一个应用程序集成解决方案,它包含的模块有项目管理、帐单、存货管理、生产制造、以及采购。这些模块之间可以相互通讯,实现高效平滑地信息交换。

虽然 ERP 可能很复杂,但是,Odoo 通过简单的,甚至是简洁的界面使它变得很友好。这个界面让人联想到谷歌云盘,它只让你需要的功能可见。在你决定签定采购合同之前,你可以 得到一个 Odoo 去试用

Odoo 是基于 web 的工具。按单个模块来订阅的话,每个模块每月需要支付 20 美元。你也可以 下载它,或者可以从 GitHub 上获得 源代码,它以 LGPLv3 方式授权。

Opentaps

Opentaps 是专为大型业务设计的几个开源 ERP 解决方案之一,它的功能强大而灵活。这并不奇怪,因为它是在 Apache OFBiz 基础之上构建的。

你可以得到你所希望的模块组合,来帮你管理存货、生产制造、财务,以及采购。它也有分析功能,帮你去分析业务的各个方面。你可以借助这些信息让未来的计划做的更好。Opentaps 也包含一个强大的报表功能。

在它的基础之上,你还可以 购买一些插件和附加模块 去增强 Opentaps 的功能。包括与 Amazon Marketplace Services 和 FedEx 的集成等。在你 下载 Opentaps 之前,你可以到 在线 demo 上试用一下。它遵守 GPLv3 许可。

WebERP

WebERP 是一个如它的名字所表示的那样:一个通过 Web 浏览器来使用的 ERP 系统。另外还需要的其它软件只有一个,那就是查看报告所使用的 PDF 阅读器。

具体来说,它是一个面向批发、分销、生产制造业务的账务和业务管理解决方案。它也可以与 第三方的业务软件 集成,包括多地点零售管理的销售点系统、电子商务模块、以及构建业务知识库的 wiki 软件。它是用 PHP 写的,并且它致力于成为低资源占用、高效、快速、以及平台无关的、普通商业用户易于使用的 ERP 系统。

WebERP 正在积极地进行开发,并且它有一个活跃的 论坛,在那里你可以咨询问题或者学习关于如何使用这个应用程序的相关知识。你也可以试用一个 demo,或者在 GitHub 上下载它的 源代码(遵守 GPLv2 许可)

xTuple PostBooks

如果你的生产制造、分销、电子商务业务已经从小规模业务成长起来了,并且正在寻找一个适合你的成长型企业的 ERP 系统,那么,你可以去了解一下 xTuple PostBooks。它是围绕核心 ERP 功能、帐务、以及可以添加存货、分销、采购、以及供应商报告等 CRM 功能构建的全面解决方案的系统。

xTuple 在通用公共属性许可证(CPAL)下使用,并且这个项目欢迎开发者去分叉它,然后为基于存货的生产制造型企业开发其它的业务软件。它的基于 web 的核心是用 JavaScript 写的,它的 源代码 可以在 GitHub 上找到。你可以去在 xTuple 的网站上注册一个免费的 demo 去了解它。

还有许多其它的开源 ERP 可供你选择 — 另外你可以去了解的还有 Tryton,它是用 Python 写的,并且使用的是 PostgreSQL 数据库引擎,或者基于 Java 的 Axelor,它的好处是用户可以使用拖放界面来创建或者修改业务应用。如果还有在这里没有列出的你喜欢的开源 ERP 解决方案,请在下面的评论区共享出来。你也可以去查看我们的 供应链管理工具 榜单。

这篇文章是 以前版本 的一个更新版,它是由 Opensource.com 的主席 Scott Nesbitt 所写。


via: https://opensource.com/tools/enterprise-resource-planning

作者:Opensource.com 选题:lujun9972 译者:qhwdw 校对:wxy

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

学习编程很难。即使当你最终怎么正确使用你的冒号和括号,但仍然有很大的可能你的程序不会如果所想的工作。 通常,这意味着你忽略了某些东西或者误解了语言结构,你需要在代码中找到你的期望与现实存在分歧的地方。

程序员通常使用被叫做 调试器 debugger 的工具来处理这种情况,它允许一步一步地运行他们的程序。不幸的是,大多数调试器都针对专业用途进行了优化,并假设用户已经很好地了解了语言结构的语义(例如:函数调用)。

Thonny 是一个适合初学者的 Python IDE,由爱沙尼亚的 Tartu 大学 开发,它采用了不同的方法,因为它的调试器是专为学习和教学编程而设计的。

虽然 Thonny 适用于像小白一样的初学者,但这篇文章面向那些至少具有 Python 或其他命令式语言经验的读者。

开始

从第 Fedora 27 开始,Thonny 就被包含在 Fedora 软件库中。 使用 sudo dnf install thonny 或者你选择的图形工具(比如“ 软件 Software ”)安装它。

当第一次启动 Thonny 时,它会做一些准备工作,然后呈现一个空白的编辑器和 Python shell 。将下列程序文本复制到编辑器中,并将其保存到文件中(Ctrl+S)。

n = 1
while n < 5:
    print(n * "*")
    n = n + 1

我们首先运行该程序。 为此请按键盘上的 F5 键。 你应该看到一个由星号组成的三角形出现在 shell 窗格中。

一个简单的 Thonny 程序

Python 分析了你的代码并理解了你想打印一个三角形了吗?让我们看看!

首先从“ 查看 View ”菜单中选择“ 变量 Variables ”。这将打开一张表格,向我们展示 Python 是如何管理程序的变量的。现在通过按 Ctrl + F5(在 XFCE 中是 Ctrl + Shift + F5)以调试模式运行程序。在这种模式下,Thonny 使 Python 在每一步所需的步骤之前暂停。你应该看到程序的第一行被一个框包围。我们将这称为焦点,它表明 Python 将接下来要执行的部分代码。

 Thonny 调试器焦点

你在焦点框中看到的一段代码段被称为赋值语句。 对于这种声明,Python 应该计算右边的表达式,并将值存储在左边显示的名称下。按 F7 进行下一步。你将看到 Python 将重点放在语句的正确部分。在这个例子中,表达式实际上很简单,但是为了通用性,Thonny 提供了表达式计算框,它允许将表达式转换为值。再次按 F7 将文字 1 转换为值 1。现在 Python 已经准备好执行实际的赋值—再次按 F7,你应该会看到变量 n 的值为 1 的变量出现在变量表中。

Thonny 变量表

继续按 F7 并观察 Python 如何以非常小的步骤前进。它看起来像是理解你的代码的目的或者更像是一个愚蠢的遵循简单规则的机器?

函数调用

函数调用 Function Call 是一种编程概念,它常常给初学者带来很大的困惑。从表面上看,没有什么复杂的事情——给代码命名,然后在代码中的其他地方引用它(调用它)。传统的调试器告诉我们,当你进入调用时,焦点跳转到函数定义中(然后稍后神奇地返回到原来的位置)。这是整件事吗?这需要我们关心吗?

结果证明,“跳转模型” 只对最简单的函数是足够的。理解参数传递、局部变量、返回和递归都得理解堆栈框架的概念。幸运的是,Thonny 可以直观地解释这个概念,而无需在厚厚的掩盖下搜索重要的细节。

将以下递归程序复制到 Thonny 并以调试模式(Ctrl+F5Ctrl+Shift+F5)运行。

def factorial(n):
    if n == 0:
        return 1
    else:
        return factorial(n-1) * n

print(factorial(4))

重复按 F7,直到你在对话框中看到表达式 factorial(4)。 当你进行下一步时,你会看到 Thonny 打开一个包含了函数代码、另一个变量表和另一个焦点框的新窗口(移动窗口以查看旧的焦点框仍然存在)。

通过递归函数的 Thonny

此窗口表示堆栈帧,即用于解析函数调用的工作区。几个放在彼此顶部的这样的窗口称为 调用堆栈 call stack 。注意调用位置的参数 4 与 “局部变量” 表中的输入 n 之间的关系。继续按 F7 步进, 观察在每次调用时如何创建新窗口并在函数代码完成时被销毁,以及如何用返回值替换了调用位置。

值与参考

现在,让我们在 Python shell 中进行一个实验。首先输入下面屏幕截图中显示的语句:

Thonny shell 显示列表突变

正如你所看到的, 我们追加到列表 b, 但列表 a 也得到了更新。你可能知道为什么会发生这种情况, 但是对初学者来说,什么才是最好的解释呢?

当教我的学生列表时,我告诉他们我一直欺骗了他们关于 Python 内存模型。实际上,它并不像变量表所显示的那样简单。我告诉他们重新启动解释器(工具栏上的红色按钮),从“ 查看 View ”菜单中选择“ Heap ”,然后再次进行相同的实验。如果这样做,你就会发现变量表不再包含值——它们实际上位于另一个名为“ Heap ”的表中。变量表的作用实际上是将变量名映射到地址(或称 ID),地址又指向了 Heap 表中的行。由于赋值仅更改变量表,因此语句 b = a 只复制对列表的引用,而不是列表本身。这解释了为什么我们通过这两个变量看到了变化。

在堆模式中的 Thonny

(为什么我要在教列表的主题之前推迟说出内存模型的事实?Python 存储的列表是否有所不同?请继续使用 Thonny 的堆模式来找出结果!在评论中告诉我你认为怎么样!)

如果要更深入地了解参考系统, 请将以下程序通过打开堆表复制到 Thonny 并进行小步调试(F7) 中。

def do_something(lst, x):
    lst.append(x)

a = [1,2,3]
n = 4
do_something(a, n)
print(a)

即使“堆模式”向我们显示真实的图片,但它使用起来也相当不方便。 因此,我建议你现在切换回普通模式(取消选择“ 查看 View ”菜单中的“ Heap ”),但请记住,真实模型包含变量、参考和值。

结语

我在这篇文章中提及到的特性是创建 Thonny 的主要原因。很容易对函数调用和引用形成错误的理解,但传统的调试器并不能真正帮助减少混淆。

除了这些显著的特性,Thonny 还提供了其他几个初学者友好的工具。 请查看 Thonny的主页 以了解更多信息!


via: https://fedoramagazine.org/learn-code-thonny-python-ide-beginners/

作者:Aivar Annamaa 译者:Auk7F7 校对:wxy

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

fd 命令提供了一种简单直白的搜索 Linux 文件系统的方式。

fd 是一个超快的,基于 Rust 的 Unix/Linux find 命令的替代品。它不提供所有 find 的强大功能。但是,它确实提供了足够的功能来覆盖你可能遇到的 80% 的情况。诸如良好的规划和方便的语法、彩色输出、智能大小写、正则表达式以及并行命令执行等特性使 fd 成为一个非常有能力的后继者。

安装

进入 fd GitHub 页面,查看安装部分。它涵盖了如何在macOSDebian/Ubuntu Red HatArch Linux 上安装程序。安装完成后,你可以通过运行帮助来获得所有可用命令行选项的完整概述,通过 fd -h 获取简明帮助,或者通过 fd --help 获取更详细的帮助。

简单搜索

fd 旨在帮助你轻松找到文件系统中的文件和文件夹。你可以用 fd 带上一个参数执行最简单的搜索,该参数就是你要搜索的任何东西。例如,假设你想要找一个 Markdown 文档,其中包含单词 services 作为文件名的一部分:

$ fd services
downloads/services.md

如果仅带一个参数调用,那么 fd 递归地搜索当前目录以查找与莫的参数匹配的任何文件和/或目录。使用内置的 find 命令的等效搜索如下所示:

$ find . -name 'services'
downloads/services.md

如你所见,fd 要简单得多,并需要更少的输入。在我心中用更少的输入做更多的事情总是对的。

文件和文件夹

您可以使用 -t 参数将搜索范围限制为文件或目录,后面跟着代表你要搜索的内容的字母。例如,要查找当前目录中文件名中包含 services 的所有文件,可以使用:

$ fd -tf services
downloads/services.md

以及,找到当前目录中文件名中包含 services 的所有目录:

$ fd -td services
applications/services
library/services

如何在当前文件夹中列出所有带 .md 扩展名的文档?

$ fd .md
administration/administration.md
development/elixir/elixir_install.md
readme.md
sidebar.md
linux.md

从输出中可以看到,fd 不仅可以找到并列出当前文件夹中的文件,还可以在子文件夹中找到文件。很简单。

你甚至可以使用 -H 参数来搜索隐藏文件:

fd -H sessions .
.bash_sessions

指定目录

如果你想搜索一个特定的目录,这个目录的名字可以作为第二个参数传给 fd

$ fd passwd /etc
/etc/default/passwd
/etc/pam.d/passwd
/etc/passwd

在这个例子中,我们告诉 fd 我们要在 etc 目录中搜索 passwd 这个单词的所有实例。

全局搜索

如果你知道文件名的一部分,但不知道文件夹怎么办?假设你下载了一本关于 Linux 网络管理的书,但你不知道它的保存位置。没有问题:

fd Administration /
/Users/pmullins/Documents/Books/Linux/Mastering Linux Network Administration.epub

总结

fdfind 命令的极好的替代品,我相信你会和我一样发现它很有用。要了解该命令的更多信息,只需浏览手册页。


via: https://opensource.com/article/18/6/friendly-alternative-find

作者:Patrick H. Mullins 选题:lujun9972 译者:geekpi 校对:wxy

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

这些易用的开源应用可以帮助你打磨你的写作技巧、使研究更高效、更具有条理。

如果你已经阅读过我关于如何切换到 Linux 的文章,那么你就知道我是一个超级用户。另外,我不是任何方面的“专家”,目前仍然如此。但是在过去几年里我学到了很多有用的东西,我想将这些技巧传给其他新的 Linux 用户。

今天,我将讨论我写作时使用的工具,基于三个标准来选择:

  1. 当我提交作品或文章时,我的主要写作工具必须与任何发布者兼容。
  2. 该软件使用起来必须简单快捷。
  3. 免费(自由)是很棒的。

有一些很棒的一体化免费解决方案,比如:

  1. bibisco
  2. Manuskript
  3. oStorybook

但是,当我试图寻找信息时,我往往会迷失方向并失去思路,所以我选择了适合我需求的多个应用程序。另外,我不想依赖互联网,以免服务下线。我把这些程序放在显示器桌面上,以便我一下全看到它们。

请考虑以下工具建议 : 每个人的工作方式都不相同,并且你可能会发现一些更适合你工作方式的其他应用程序。以下这些工具是目前的写作工具:

文字处理器

LibreOffice 6.0.1。直到最近,我使用了 WPS,但由于字体渲染问题(Times New Roman 总是以粗体显示)而否定了它。LibreOffice 的最新版本非常适应 Microsoft Office,而且事实上它是开源的,这对我来说很重要。

词库

Artha 可以给出同义词、反义词、派生词等等。它外观整洁、速度快。例如,输入 “fast” 这个词,你会得到字典定义以及上面列出的其他选项。Artha 是送给开源社区的一个巨大的礼物,人们应该试试它,因为它似乎是一个冷僻的小程序。如果你使用 Linux,请立即安装此应用程序,你不会后悔的。

记笔记

Zim 标榜自己是一个桌面维基,但它也是你所能找到的最简单的多层级笔记应用程序。还有其它更漂亮的笔记程序,但 Zim 正是那种我需要管理角色、地点、情节和次要情节的程序。

投稿跟踪

我曾经使用过一款名为 FileMaker Pro 的专有软件,它惯坏了我。有很多数据库应用程序,但在我看来,最容易使用的某过于 Glom 了。它以图形方式满足我的需求,让我以表单形式输入信息而不是表格。在 Glom 中,你可以创建你需要的表单,这样你就可以立即看到相关信息(对于我来说,通过电子表格来查找信息就像将我的眼球拖到玻璃碎片上)。尽管 Glom 不再处于开发阶段,但它仍然是很棒的。

搜索

我已经开始使用 StartPage.com 作为我的默认搜索引擎。当然,当你写作时,Google 可以成为你最好的朋友之一。但我不喜欢每次我想了解特定人物、地点或事物时,Google 都会跟踪我。所以我使用 StartPage.com 来代替。它速度很快,并且不会跟踪你的搜索。我也使用 DuckDuckGo.com 作为 Google 的替代品。

其他的工具

Chromium 浏览器Google Chrome 的开源版本,带有隐私插件。

尽管来自 MozillaThunderbird 是一个很棒的程序,但我发现 Geary 是一个更快更轻的电子邮件应用程序。有关开源电子邮件应用程序的更多信息,请阅读 Jason Baker 的优秀文章:6 个开源的桌面电子邮件客户端

正如你可能已经注意到,我对应用程序的喜爱趋向于将最好的 Windows、MacOS 都能运行,以及此处提到的开源 Linux 替代品融合在一起。我希望这些建议能帮助你发现有用的新方法来撰写并跟踪你的写作(谢谢你,Artha!)。

写作愉快!


via: https://opensource.com/article/18/3/top-Linux-tools-for-writers

作者:Adam Worth 译者:MjSeven 校对:wxy

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

作为程序员,你经常会发现自己是某些网站的永久访问者。它们可以是教程、参考或论坛。因此,在这篇文章中,让我们看看给程序员的最佳网站。

W3Schools

W3Schools 是为初学者和有经验的 Web 开发人员学习各种编程语言的最佳网站之一。你可以学习 HTML5、CSS3、PHP、 JavaScript、ASP 等。

更重要的是,该网站为网页开发人员提供了大量资源和参考资料。

w3schools logo

你可以快速浏览各种关键字及其功能。该网站非常具有互动性,它允许你在网站本身的嵌入式编辑器中尝试和练习代码。该网站是你作为网页开发人员少数需要经常访问的网站之一。

(LCTT 译注:有一个国内网站 www.w3school.com.cn 提供类似的中文内容,但二者似无关系。)

GeeksforGeeks

GeeksforGeeks 是一个主要专注于计算机科学的网站。它有大量的算法,解决方案和编程问题。

geeksforgeeks programming support

该网站也有很多面试中经常问到的问题。由于该网站更多地涉及计算机科学,因此你可以找到很多编程问题在大多数著名语言下的解决方案。

TutorialsPoint

一个学习任何东西的地方。TutorialsPoint 有一些又好又简单的教程,它可以教你任何编程语言。我真的很喜欢这个网站,它不仅限于通用编程语言。

你可以在这里上找到几乎所有语言框架的教程。

StackOverflow

你可能已经知道 StackOverflow 是遇到程序员的地方。你在代码中遇到问题,只要在 StackOverflow 问一个问题,来自互联网的程序员将会在那里帮助你。

stackoverflow linux programming website

关于 StackOverflow 最好的是几乎所有的问题都得到了答案。你可能会从其他程序员的几个不同观点获得答案。

HackerRank

HackerRank 是一个你可以参与各种编码竞赛并检测你的竞争能力的网站。

hackerrank programming forums

这里有以各种编程语言举办的各种比赛,赢得比赛将增加你的分数。这个分数可以让你处于最高级别,并增加你获得一些软件公司注意的机会。

Codebeautify

由于我们是程序员,所以美不是我们所关心的。很多时候,我们的代码很难被其他人阅读。Codebeautify 可以使你的代码易于阅读。

该网站有大多数可以美化的语言。另外,如果你想让你的代码不能被某人读取,你也可以这样做。

这些是我选择的一些最好的程序员网站。如果你有经常访问的我没有提及的网站,请在下面的评论区让我知道。


via: http://www.theitstuff.com/best-websites-programmers

作者:Rishabh Kandari 选题:lujun9972 译者:geekpi 校对:wxy

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

看看我们现在在读什么?

最近我在作者社区征集分享大家正在读的书。大家生活阅历和工作岗位各不相同,共同点是每天都与 Linux 和开源打交道。

享受这份不可思议的书单吧,其中大部分是免费的,可以下载。

在书单中,你可能发现一直想读的书、完全陌生的书以及像老朋友一样的已经读过的书。

我们期待你给出对书单的看法,可以在分享在下方的评论区,也可以通过 #Linuxbooks 和 #opensourcebooks 主题词分享在 Twitter 上。

加入你书单的 17 本书

文末,还附赠了一篇科幻小说作品。

FreeDOS 的 23 年岁月,作者 Jim Hall

从去年起,FreeDOS 项目已经 23 岁了。虽然在 23 年中并没有什么特殊事件,但该项目决定庆祝这个里程碑,形式为分享不同人群使用 FreeDOS 或对 FreeDOS 做出贡献的故事。这本以 CC BY 协议开源的书籍收录了一系列短文,描绘了 FreeDOS 从 1994 开始的历程,以及人们现在如何使用 FreeDOS。(Jim Hall 推荐并评论)

JavaScript 编程精解,作者 Marijn Haverbeke

这本书基于无处不在的编程语言 Javascript,教你编写制作精美的程序。你可以学习语言的基本知识和高级特性,学习如何编写可在浏览器或 Node.js 环境中运行的程序。本书包含 5 个有趣的项目,例如制作游戏平台,甚至编写你自己的编程语言,在这过程中你会更加深入理解真实的编程。(Rahul Thakoor 推荐并评论)

使用开源打造未来,作者 VM (Vicky) Brasseur

如果你希望在开源领域做出贡献但无从下手,这本书会教会你。内容包括如何确定要加入的项目,以及如何做出你的首次贡献。(Ben Cotton 推荐并评论)

Git 团队协作,作者 Emma Jane Hogbin Westby

Git 是一款版本管理系统,被个人和团队广泛使用;但其强大的功能也意味着复杂性。这本书指导你如何在团队环境中有效地使用 Git。想了解更多信息,请参考我们的深入点评。(Ben Cotton 推荐并评论)

谈判力,作者 Fisher, Ury 及 Patton

哈佛谈判项目 The Harvard Negotiation Project 成立于 20 世纪七十年代,是一个经济学家、心理学家、社会学家和政治学者共同参与的学术项目,目标是建立一个让谈判各方都受益更多的谈判框架。他们的框架和技巧已经在各类场景发挥作用,其中包括 1978 年埃及与以色列之间的签订的 戴维营协议 Camp David Accords

原则式谈判 Principled Negotiation 包括理解谈判参与者的真实需求,以及基于该信息达成各方都可接受的条款。同样的技巧可以在处理人与人之间的纠纷、关于车辆与房屋的谈判以及与保险公司的商讨时发挥作用。

这与开源软件开发有什么联系呢?在某种意义上,开源领域中的一切都是谈判。提交漏洞报告就是指出某些代码工作不正常,让某些人放下手头工作并优先处理该漏洞。邮件列表中对完成某些工作的正确方式的激烈讨论或对功能请求的评论,都是一种关于项目范畴和目标的谈判,通常是在信息不充足情况下进行的。

将上述对话视为一种探索,试图理解为何其它人提出来某些需求,让其明白你为何持有另外的观点,可以让你在开源项目中显著地改善人际关系和提高工作效率。(Dave Neary 推荐并评论)

只是为了好玩:Linux 之父 Linus Torvalds 自传,作者 Linus Torvalds 等

Linux 是一款令人惊奇的、强力的操作系统,引发了关于透明和开放的运动。驱动 Linux 的开源思潮对传统商业和资本增值模型造成冲击。在本书中,你会了解到 Linus 本人及 Linux 操作系统的过人之处。洞悉那些改变 Linus 命运的经历,这些经历让他从一个喜欢折腾他祖父钟表的怪人,转变成编写全球主流操作系统 Linux 的大师。(Don Watkins 推荐并评论)

1 个月速成 Linux,作者 Steven Ovadia

这本书用于教会非技术领域的用户如何使用桌面版 Linux,读者每天花费一小时即可。这本书覆盖面比较很广,包括选择桌面环境、安装软件以及如何使用 Git。阅读完这本书,你可以完全使用 Linux 替换掉其它操作系统。(Steven Ovadia 推荐并评论)

Linux 实战,作者 David Clinton

这本身介绍了不少 Linux 管理工具的干货,适用于想提升技术水平的人群,包括 IT 专家、开发者、DevOps 专家等。本书不是割裂地介绍各种技术,而是按照真实项目组织内容,例如异地备份自动化、Web 服务器安全加密以及搭建可以安全连接公司资源的 VPN 等。更多内容可以参考作者的另一本书。(David Clinton 推荐并评论)

创客丛书: 为创客准备的 Linux,作者 Aaron Newcomb

对于想通过 树莓派 创造和创新的人来说,这本书是必读的。这本书将领你入门,让你玩转你的树莓派,同时帮你理解 Raspbian Linux 操作系统(与传统 Linux )的细微差别。书中文字巧妙又浅显,可以让任何阅读本书的创客解锁树莓派的潜力。文字简洁,编写精良,包含大量极好的阐述和实战案例。(Jason Hibbets 推荐,Don Watkins 评论)

人性管理:一个软件工程经理刺激诙谐的经历 by Michael Lopp

Michael Lopp 是热门博客 Rands 在休息的作者,他的笔名 Rands 更为人熟知。这本书是在博客帖子的基础上修订集结而成,内容为软件开发团队的管理。Rands 的工作哲学为“软件开发中最复杂的部分是人际交往”,这是我对于本书和博客内容最欣赏的一点。本书涵盖一系列主题,包括分析一个团队,理解每个团队成员的个性以及设计如何让每个人都各尽所能。

这些主题适用面很广,作为一个开源社区管理者,我一直和这些事情打交道。如何得知某个成员已经精疲力尽?如何组织一个好的会议?如何在项目和团队扩大时形成项目和团队文化?如何判断流程是适度的?在开发之外,这类问题一直涌现出来;Rands 的不羁、诙谐的看法让人受教的同时给人感到快乐。(Dave Neary 推荐并评论)

开源:来自开源革命的呐喊 (O'Reilly, 1999)

对于开源狂热者而言,这本书是必读的。Linus Torvalds、Eric S. Raymond、Richard Stallman、Michael Tiemann、 Tim O'Reilly 等开源运动中的领军人物分享他们对发展迅猛的开源软件运动的看法。(Jim Hall 推荐,Jen Wike Huger 评论)

创作开源软件:如何运营一个成功的自由软件项目,作者 Karl Fogel

这本书面向人群包括,期望建立或已经正在建立开源社区,或更好的理解成功开源项目社区的开发趋势。Karl Fogel 分析研究了成功开源项目的特点,以及它们如何围绕项目发展成社区。对于如何围绕项目发展社区,这本书为社区管理者(或致力于成为社区管理者的人)提供了建设性的建议。鲜有书籍可以(像本书这样)深入观察开源社区的发展并给出大量成功点子,但你仍需要结合你的项目和社区因地制宜的行动。(Justin Flory 推荐并评论)

机器人编程,作者 Albert W. Schueller

这本书介绍乐高头脑风暴 NXT 编程的基础。并不需要读者编写复杂的程序,而是通过编程让设备可以感知并与真实世界进行交互。通过完成传感器、电机实验,以及编程制作音乐,你可以了解软硬件如何协调工作。(Rahul Thakoor 推荐并评论)

AWK 编程语言,作者 Alfred V. Aho, Brian W. Kernighan 和 Peter J. Weinberger

这本书的作者就是 awk 语言的发明者,本书风格类似于 20 世纪 70 至 90 年代贝尔实验室 Unix 小组出版的类 Unix 工具书籍,使用简明、紧凑的文字介绍了 awk 的原理和目标。书中包含不少示例,从简单的开始,后面会结合描述详尽的问题或前沿案例,示例也变得复杂。本书刚出版时,典型的读者需求如下:处理和转换文本或数据文件,以及便捷地创建查询表、使用正则表达式、根据输入调整结构、对数值执行数学变换并便捷设置输出格式等。

上述需求依然存在,现在这本书也可以给人们提供一个回顾那个只能使用终端交互的年代的机会。在那时,通过“模块化”可以使用多个单一用途的程序编写 shell 脚本,用于管道处理数据,最终计算机给出人们预期的结果。在今天,awk 被视为运维工具,在处理配置文件和日志文件方面效果不错,这本书也介绍了一些这方面的内容。(Jim Hall 推荐,Chris Hermansen 评论)

像计算机科学家一样思考 Python,作者 Allen Downey

这本书是作者系列图书中的一本,介绍 Python 编程语言,系列中还有其它编程语言,包括 Java 和 Perl 等。介绍完基础的编程语法后,本书进入主题环节,着重介绍问题解决者如何构建解决方案。本书概念层次清晰,对编程初学者是很好的入门读物;对于希望在课堂等地方提高编程技能的新手,本书也适用;本书的若干章节配有例子和习题,可供测试已学的技能。(Steve Morris 介绍并评论)

认识开源和自由软件协议 (O'Reilly, 2004)

“这本书填补了开源理念与法律基础上的真实意义之间的空白。如果你对开源和自由软件协议感兴趣,那么本书可以帮忙加深理解。如果你是一名开源/自由软件开发者,这本书显然是必须的。“(Jim Hall 推荐,评论来自 Amazon

Unix 文本处理,作者 Dale Dougherty 及 Tim O'Reilly

本书写于 1987 年,用于介绍 Unix 系统及作家如何使用 Unix 工具帮助其工作。对于希望学习包括 vi 编辑器、awk、shell 脚本在内的 Unix shell 基础及 nroff/troff 排版系统的初学者而言,本书仍然是有用的资源。原版已绝版,但 O'Reilly 将本书制作为电子书,可在其网站上免费获得。(Jim Hall 推荐并评论)

福利:科幻小说

11 号太空站,作者 Emily St. John Mandel

故事时间设定为不远的未来,地球人口随着神秘而致命的流感爆发而锐减,故事发生在 20 年后。主人公 Kirsten Raymonde 是一名年轻女性,坚信“仅仅活着是不够的”,为此她在后世界末日时代带着一个游牧剧团在五大湖区域附近勇敢地旅行。这是个精彩的故事,很值得一读。

这本书让我震惊的是我们与技术之间实际上那么脆弱的关系。Douglas Adams 的 《Mostly Harmless》 书中有一句话很经典:“仅靠双手,他无法制造一个面包机。但他可以制作三明治,就是这样”。在 Kristin Raymonde 的世界中,每个人仅能靠自己的双手。这里没有电,因为电力网络无法运作;没有汽车,因为炼油厂无法运作。

书中有一个有趣的桥段,一个发明家使用自行车组装了一台发电机,试图启动一台笔记本电脑,尝试查看是否还存在互联网。我们看到旧世界留存的、无用的东西堆成的文明博物馆,内容包括护照、移动电话、信用卡和高跟鞋等。

世界上的全部技术都变得无用。(Dave Neary 推荐并评论)


via: https://opensource.com/article/18/5/list-books-Linux-open-source

作者:Jen Wike Huger 选题:lujun9972 译者:pinewall 校对:wxy

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