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

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

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

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

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

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

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

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

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

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

书籍目录

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

第 1 章:入门指南

项目结构

下载数据

安装软件

第 2 章:Unix shell 的基础知识

文件和目录

移动

创建新文件和目录

移动文件和目录

复制文件和目录

删除文件和目录

通配符

阅读手册

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

组合命令

Pipe 如何运行

在多个文件中重复命令

变量命名

重做

自动创建新文件名

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

创建新命令

使脚本功能性更强

将交互式转化为脚本

在文件中查找

查找文件

配置 Shell 脚本

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

程序与模块

处理命令行选项

文档

词频计算

管道

位置和可选参数

结果理序

编写自己的模块、

绘图

……

主要作者介绍

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

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

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

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

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

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

相关资讯

因使用受版权保护书籍训练 AI 平台,英伟达被三名作者起诉

感谢据美国福克斯电视台北京时间今日报道,科技巨头英伟达已被三名作者起诉,因为英伟达在训练其 AI 平台 NeMo 时,未经许可使用了他们受到版权保护的书籍。三名作者 Brian Keene、Abdi Nazemian 和 Stewart O'Nan 声称,自己的作品被收录在一个包含约 196640 本书籍的数据集内,这些书籍帮助训练 NeMo 模拟普通书面语言,但这个数据集因“被举报侵犯版权”在去年 10 月被撤下。(IT之家注:该数据集原本被托管在 Hugging Face 网站上)作者们在 3 月 8 日晚提交

Mozilla 升级 AI 建站服务 Solo:添加动画、放宽字符限制,最多上传 30 张图片

Mozilla 于 2023 年 12 月出名为 Solo 的全新项目,面向没有任何编程经验的用户,通过融入 AI 能力,所创建的网站可以媲美专业开发者的开发效果。Mozilla 时隔将近半年时间,推出了 Solo AI 1.0 重磅更新,通过引入更丰富的动画,让你的网站看起来更加精致。Mozilla 公司表示:“我们的首要目标是让您轻松创建和发布网站。现在,我们的下一个目标是帮助您拓展业务。在接下来的几个月里,我们将陆续推出新功能,为您提供帮助。”Mozilla 还放宽了网站的字符限制,现在每个网站最多可上传 3

Meta 发布 AI Studio:让用户零编程创建、分享和定制 AI 角色

Meta 公司昨日(7 月 29 日)发布 AI Studio,目标让用户创建、分享和定制 AI 角色。Meta AI Studio 基于 Llama 3.1 模型,在不需要任何技术或者技能情况下,可以让任何人都来创建定制 AI 角色。创建者可以将所创建的 AI 角色作为其延伸,回答私信或者回复网友,从而接触到更多受众。Meta 公司在新闻稿中写到:“我们的目标是构建所有人都能利用 AI 创意能力的世界,而 AI Studio 让我们迈出了第一步,这仅仅是开始”。AI在线注:Meta AI Studio 目前提供了