南方站长网 – 互联网爱好者创业的站长之家
您的位置:首页 >访谈 >

提升编码水平,这本Python软件工程开源书籍为研究人员量身打造

时间:2021-02-05 12:49:10 | 来源:机器之心Pro

来源:机器之心

编辑:杜伟

在科研领域,计算机软件的应用无处不在。但是,一些研究者因为自身并非毕业于计算机相关学科,所以有时不得不将大量的时间花费在自学软件工程上。对于有些想要提升自身编码与软件开发水平的研究者来说,合适的学习资料至关重要。本文介绍的这本开源书籍就是为这类研究者「量身打造」的。

目前,软件对于研究而言至关重要。这意味着研究人员需要了解如何创建、检查、使用和共享程序。但是,大多数编程指南侧重于开发商业应用,而不探索那些尚未得到解答的问题。而在本文介绍这本开源书籍《Research Software Engineering with Python》中,作者旨在向读者展示如何做到这一点,无论作为个人还是团队成员。

书籍地址:https://merely-useful.github.io/py-rse/

GitHub 项目地址:https://github.com/merely-useful/py-rse

作者认为,每位研究人员都应该了解如何编写能够重复清理和分析数据的短程序,以及如何使用版本控制来跟踪自己做的事情。但正如一些天文学家致力于设计望远镜一样,一些研究人员专注于构建使研究成为可能的软件。从事这项工作的人被称为研究软件工程师(research software engineer),他们主要构建其他研究人员依赖的专用软件。在本书中,作者通过帮助读者为自己编写代码以及创建有助于整个领域进步的工具,为研究软件工程这一角色做好准备。

据书籍主页介绍,本书既可以作为大学层次的课程材料,也可以用于读者自学。俄勒冈大学助理教授 Grant McDermott 两次转推了该书籍,表示大多数研究人员将大量的时间花费在了自学软件工程上,这本书籍指南可以使研究人员在这方面做得更好。这本书还提供了软件工程方面的最佳实践,非常值得向学生推荐。

本书的目标读者是那些使用 Python 进行数据分析、但又想将自身编码与软件开发提升至更高水平的研究者。读者没有必要非常精通 Python,但应该已经习惯了从文档中读取数据以及编写循环体、条件语句和函数。此外,就书籍内容而言,本书并不只是简单地提供一些关于好的编码实践的参考资料,而侧重于创建软件包以解决实际的研究问题。

书籍目录

本书共有 15 章,涵盖了使用 Unix shell 管理数据和代码、使用 Python 构建命令行工具、使用 Git 和 GitHub 跟踪和分享工作、配置程序、测试软件、创建以标准方式安装的 Python 包等诸多方面。以下只列举了前 5 章的具体内容,其他章节内容可参考原书籍。

第 1 章:入门指南

项目结构

下载数据

安装软件

第 2 章:Unix shell 的基础知识

文件和目录

移动

创建新文件和目录

移动文件和目录

复制文件和目录

删除文件和目录

通配符

阅读手册

第 3 章:使用 Unix shell 创建工具

组合命令

Pipe 如何运行

在多个文件中重复命令

变量命名

重做

自动创建新文件名

第 4 章:使用 Unix shell 进一步探索

创建新命令

使脚本功能性更强

将交互式转化为脚本

在文件中查找

查找文件

配置 Shell 脚本

第 5 章:使用 Python 构建命令行工具

程序与模块

处理命令行选项

文档

词频计算

管道

位置和可选参数

结果理序

编写自己的模块、

绘图

……

主要作者介绍

Damien Irving,分别于 2009 年和 2016 年取得墨尔本大学的学士和博士学位。虽然目前主要从事海洋温度与盐度变化的检测与归因研究,但对科学计算与开放科学具有浓烈的兴趣。业余时间担任学习网站 Software Carpentry 的讲师。注:Software Carpentry 网站专为科学家和工程师提供在计算技能方面的速成课程。

个人主页地址:https://people.csiro.au/I/D/Damien-Irving

Greg Wilson,本科毕业于加拿大女王大学,之后在爱丁堡大学取得了人工智能硕士与计算机科学博士学位。在其丰富的职业履历中,他曾担任企业软件开发者、独立咨询顾问、高级软件工程师、大学助理教授、数据科学家、专业教育家等。此外,他还是学习网站 Software Carpentry 和开源软件架构(The Architecture of Open Source Applications)的联合创始人。

个人主页:https://third-bit.com/

2021年 2 月的第一周,机器之心将携手二十余位 AI 人耳熟能详的重磅嘉宾进行在线直播,通过圆桌探讨、趋势Talk,报告解读及案例分享等形式,为关注人工智能产业发展趋势的AI人解读技术演进趋势,共同探究产业发展脉络。连续七天,精彩不停。

添加机器之心Pro小助手(syncedai 或 syncedproii),备注「2021」,进群一起看直播。

郑重声明:本文版权归原作者所有,转载文章仅为传播更多信息之目的,如有侵权行为,请第一时间联系我们修改或删除,多谢。

猜你喜欢