草庐IT

《Robust Python》推荐序

万学凡 2023-10-07 原文

相信我,翻译一本书是一件很辛苦的事情。译者在从书中不断汲取知识以完善自己的知识体系的同时,也将自己的观点与想法融入翻译的每个阶段,整个过程需要耐心、静心,需要字斟句酌,更需要信守一份承诺——既是对自己的承诺,亦是对广大读者的承诺。

翻译一本书也是一件很有成就感的事情。感谢我的同事文杰、周伟、凌锐和凌云。他们都是凯捷咨询数字化团队大家庭的一员,在半年的翻译工作中,他们亲密协作,彼此支持。因为他们都相信,学习对于每个人不仅仅是积累知识,更是由内而外地发散出智慧,同时也是作为程序员所坚持的工程师文化。几位译者都在软件行业深耕多年,在凯捷咨询数字化团队承担着重要的职责,他们在本书中融入了许多自己的经验和知识,谢谢他们。

开卷有益,我希望将这本书推荐给更多的朋友阅读。

软件行业

在数字化转型的今天,软件扮演着越来越重要的角色,它可以帮助我们解决复杂的问题,改变我们的生活。软件成为人们生活、工作、学习、旅行、娱乐中不可或缺的产品与服务,正如本书开篇提到的——软件正在吞噬世界。软件开发也被公认为一项复杂的生产活动,软件系统出现在了现代生活的各个角落,而且变得越来越复杂。程序员经常将Python视为自己最喜欢的语言,它随处可见: 从Web应用程序到开发工具等,到处都可以看见Python的影子。

研发团队

10多年前,我刚跨入软件行业,一路走来,通过软件结识了人生旅途上最重要的伙伴,认知着世界,也不断认识着自己。过去的一年中,我们组建的数字化研发团队越来越大,大家使用着不同的开发工具,虽然探讨编程技艺的同道之人众多,但是个体的经验和结论可能会千差万别。客观地说,对于编程本身的研究好像并没有激起太大的浪花。于是,我们组织了很多的学习和分享活动,致力于打造卓越的工程师文化,本书的翻译就是其中的序曲之一。本书并不是一本包罗万象的成长指南,但它提供了一套开发系统的方法,不仅引导我们的研发团队升级编写Python代码,而且更为重要的是,激励着我们不断思考如何让程序更加健壮。

程序员

我读到过这样一个故事:

数千年前,你飞过一片大陆,从空中俯瞰陆地上的人类,他们一直在祥和的环境中生活。突然,你发现远处是一片冰川,看到冰川已经快速融化,而它的后面是一个巨大的湖。正在此时,湖水开始突破冰川,冲刷着河床,拍打着这片大陆尽头的峭壁,部分峭壁已经崩塌,情况十分危急。

你会看到,恐慌的人类开始寻找新的家园。在地球的另一边,一片生机勃勃的土地上生存着比人类体型更大的动物,一些动物正在郁郁葱葱的草原上奔跑,另一些动物正在享用熟透落下的水果。

人类迁徙至此,生活立刻变得比之前更加美好。但是随着时间的推移,你发现他们在逐渐尝试新的生活方式:他们开始使用渔网在湍急的河水里进行捕捞;他们学会了团队协作来猎杀大型动物,虽然人类自己难免也会有死伤的情况;他们甚至开始种植被称为“小麦”的农作物。

如你所见,这种创新精神的大爆发最终趋于稳定,人们找到了在新大陆生活的方法,并将之传授给下一代。然而就在那时,你发现有人又发明了轮子…...

敏捷方法的应用也就像一次大坝决堤的过程,开辟了一种更好的——更富有生产力、更具乐趣的方式来开发软件。一些实践者成为先驱,程序员就像上文故事中的猎人,他们正在改变着这个世界。

我想,这才是编程的魅力。祝大家阅读愉快!

凯捷中国副总裁,数字化团队负责人 万学凡

第一篇:向高手进阶

掌握一门编程语言不难,以结果为导向开发一个小的业务系统也不难,难的是写出优雅、健壮、安全、具有可持续性的代码,而这往往就是小白与高手之间的区别,本书就是这样一本帮助大家向编程高手进阶的书。除了常规的Python语言特性实战之外,本书还包含大量提高编程技法的底层逻辑叙述,让读者知其然,更知其所以然,不断强化编程思维,向高手进阶。此外,本书的翻译也非常专业,遵循了原著的故事性的叙述方式,更加通俗易读。我把此书特推荐给大家,期望广大读者可以从中获益。

——极狐(GitLab)解决方案总监 & 联合创始人  王斌峰 

第二篇:一本软件开发人员必备的编程书籍

约200万年前,人类使用打制石器来猎杀猛兽,这标志着人类早期文明的诞生。而如今在科技文明中,编程语言将成为我们手中的工具,我们可以使用它来改变世界。而本书则可以将各位手中的工具打磨得更锋利、更趁手。

我认为阅读本书是对自己所学Python的再一次打磨。很多方法平时都在使用,但却不明其中要义,正所谓知其然而不知其所以然。本书没有阐述相对枯燥的方法论以及罗列大段代码,而是给出了思考的方向——为什么要这样写?有什么好处?有没有更加优化的写法?我们在作者的思路引导下探索、发现,定能更好地掌握Python语言。

感谢四位译者,感谢这本不可多得的好书。

——摩托罗拉软件架构师,互联网老兵 丁鹏 

第三篇:让软件开发健壮起来

本书的英文原版就是一本非常难得的好书。商业软件项目开发的难度在于,除了需要面对更多的技术难点之外,还要思考在大规模甚至超大规模团队之间如何协调,如何在长达数年甚至数十年的软件寿命当中,让软件始终保持面向开发和迭代的活力。这不仅能为软件的生命锦上添花,在很多情况下甚至能决定软件的生死。

所以让软件健壮起来,是所有资深软件从业人员和管理人员必须严肃对待的事情。我很高兴看到这样一本聚焦于“如何让Python团队更好地开发更健壮的Python程序”的书问世,更乐于见到这样一本书被翻译成中文。我希望所有Python开发团队的高级工程师、架构师和管理人员都读一下这本书。

——博世汽车后市场团队高级架构师 夏澎

第四篇:优雅的Python语言

人工智能和大数据时代已经来临,以“优雅”“明确”“简单”为标签的Python,拥有开发效率高、可移植性强、可扩展性和可嵌入性好等优点,越来越多的公司和行业开始选择Python。本书从添加代码注解、自定义类型、可扩展的Python、构建安全网络等方面,深入浅出地教你如何熟练掌握Python编程技能,适合所有致力于Python开发的读者阅读。谢谢译者为我们带来这本好书。

——蔚来汽车业务规划专家 李学

第五篇:从实战开始

Python 因其简单易上手的特性在不同领域被大规模采用,市面上关于Python 的书籍也是层出不穷。本书作者分四大主题,结合丰富的实战经验,从“如何写出健壮的Python代码”这一全新的角度让读者了解如何让Python 代码更易于维护和变更。对于已经对Python 语言有一定了解的人来说,这将是一本不可多得的好书。

——汇丰软件资深架构师 周训杰

第六篇:高效团队的参考指南

Python语言借助其简明高效的语法和动态类型,以及解释型语言的本质,在编写脚本和快速开发应用中成为广大工程师喜欢的编程语言。随着近年来AI、机器学习以及大数据应用的大规模普及,工程师迫切需要先进的工程方法来帮助他们使用Python 语言编写可扩展、易维护的程序。

本书很好地解答了软件工程师在使用Python语言开发大型项目时遇到的关于如何更好保证代码的健壮性、可维护性以及可测试性的困惑,让他们在实际工作中能够全面、完整地设计系统,而不必在黑暗中摸索前行。对于技术经理而言,本书就如何引入技术范式以服务于更高效的团队开发提供了极具价值的参考指南。

——星巴克前资深架构师 周君

第七篇:构建轻松可维护的软件

IT从业人员最头疼的是“软件上线即成为遗留系统”,维护遗留系统的防错成本比修改成本要高得多。本书不只分享了实用的Python技巧,更全面系统地阐述了在大型系统建设中,如何保持Python代码的健壮性和可维护性。我尤其喜欢本书中 “定义你的接口”“依赖关系”这两章和第四部分“构建安全网”的内容,它们非常有助于构建易维护的软件。

相信本书可作为一盏指路明灯,指引在Python之路上行进、在代码”沼泽”和系统“焦油坑”中挣扎的同人,成功到达彼岸。

——宝洁(P&G) IT技术经理 刘泉乐

第八篇:简单直观的语言

Python的设计初衷是设计一种简单直观的语言,帮助开发者高效完成短期开发的日常任务。在很长一段时间里,Python因为其简洁的语法和丰富的标准库,被广泛应用于Web开发、网页爬虫和脚本、科学计算以及机器学习等领域。随着这些领域的应用逐步深入,开发者对于工程化代码的需求越来越强烈,期望Python开发的脚本和应用与其他语言开发的脚本和应用具有一样的健壮性——随着Python版本的迭代,其语言能力、语法等都在不断朝着这个方向发展。本书很好地帮助我们理解了如何写出健壮的Python代码,以满足工程化、模块化大型应用开发的需求。

——路特斯汽车高级研发总监 黄洲

第九篇:构建健壮的软件

2021年10月,Python登顶TIOBE编程语言排行榜。在不去谈论它与其他语言孰优孰劣的情况下,这意味着Python已经成为主流的开发语言之一。本书从Python代码注释、类型定义、代码扩展性、代码质量四个维度详细阐释了健壮性的定义和实践方法。书中所描述的场景案例虽然限定在Python语言,但阅读时亦触发了我对于软件代码和工程的更多思考。无论使用何种语言,在软件定义世界的今天,每一位软件工程师都应该去追求构建健壮的代码及健壮的软件!

——吉利控股集团研发效能负责人 詹文君

第十篇:找到工作的方法

一朵鲜花可以擦亮春天的眼睛,一本好书可以启迪沉睡的思想。本书不像市面上的工具书那样枯燥教条,阅读时更像与一个同行深入交谈,共同探索有关Python的更多可能性与创新性。无论初入职场的软件开发小白,还是驰骋职场多年的资深开发工作者,都能从本书中找到工作方法,收获灵感与智慧。感谢几位译者的专业诠释,开卷有益。

——奇瑞控股集团高级IT经理 胡俊

有关《Robust Python》推荐序的更多相关文章

  1. ruby-on-rails - Rails 中的推荐引擎 - 2

    我想为我的Rails网络应用程序提供推荐功能。特别是,我想向新注册的用户推荐他可能想要关注的其他用户。Rails中是否有用于此目的的引擎/gem?如果没有,我应该从哪里开始构建它?谢谢。 最佳答案 有Coletivogemhttps://github.com/diogenes/coletivo我试了一下。在MySQL上运行。Neo4jhttp://neo4j.org真的很容易实现一个“跟随谁”。事实上,大多数展示其能力的样本都涉及“跟随谁”。快速提示-只有在JRuby上运行时,Neo4j.rb才会很酷。如果不是-使用Neograph

  2. ruby-on-rails - 一般建议和推荐的文件夹结构 - Sinatra - 2

    您将如何构建一个简单的Sinatra应用程序?我正在制作,我希望该应用具有以下功能:“应用程序”更像是一个包含所有信息的管理仪表板。然后另一个应用程序将通过REST访问信息。我还没有创建仪表板,只是从数据库中获取东西session和身份验证(尚未实现)您可以上传图片,其他应用可以显示这些图片我已经使用RSpec创建了一个测试文件通过Prawn生成报告目前的设置是这样的:app.rbtest_app.rb因为我实际上只有应用程序和测试文件。到目前为止,我已经将Datamapper用于ORM,将SQLite用于数据库。这是我的第一个Ruby/Sinatra项目,所以欢迎任何和所有建议-我应

  3. ruby-on-rails - 你能为 Ruby on Rails 推荐好的数据网格类/gem 吗? - 2

    您能为RubyonRails推荐好的数据网格类/gem吗?喜欢http://code.google.com/p/zend-framework-datagrid/采埃孚 最佳答案 你也可以试试datagridgem。这不仅关注带有列的网格,还关注过滤器。classSimpleReportincludeDatagridscopedoUser.includes(:group)endfilter(:category,:enum,:select=>["first","second"])filter(:disabled,:eboolean)fi

  4. ruby-on-rails - 你为 Rails 推荐哪个状态机插件? - 2

    关闭。这个问题不符合StackOverflowguidelines.它目前不接受答案。要求我们推荐或查找工具、库或最喜欢的场外资源的问题对于StackOverflow来说是偏离主题的,因为它们往往会吸引自以为是的答案和垃圾邮件。相反,describetheproblem以及迄今为止为解决该问题所做的工作。关闭9年前。Improvethisquestion我正在为Rails3/ActiveRecord项目寻找一个相对简单的状态机插件。我做了一些研究并提出了以下插件:转换:https://github.com/qoobaa/transitions从旧的ActiveRecord状态机库中提取

  5. ruby - 如何在 postgresql 中创建多列推荐引擎? - 2

    我在postgresql中有一个表,其中包含一些汽车+1000000条记录:+----+--------+------+---------+-----------+-------------+------------+------------+|id|price|year|mileage|fuel_type|body_type|brand|model|+----+--------+------+---------+-----------+-------------+------------+------------+|1|4894|2011|121842|"Benzin"|"Sedan

  6. ruby-on-rails - 为什么不推荐使用 Rails Inflector 模块? - 2

    我查看了inflector下的Rails文档,发现了这条消息...ModuledeprecatedThismoduleisdeprecatedonthelateststableversionofRails.Thelastexistingversion(v2.1.0)isshownhere.没有任何进一步的解释或引用。我记得看到一个RailsTrac网站。我找到了它,发现它也被弃用了。它让我引用了Lighthouse.我在那里找到了一些信息——Rails核心团队不接受inflections.rb的补丁。但它并没有真正解释弃用消息。这背后的故事是什么? 最佳答案

  7. 基于python的短视频智能推荐/django的影视网站/视频推荐系统 - 2

    摘要本论文主要论述了如何使用Python技术开发一个短视频智能推荐,本系统将严格按照软件开发流程进行各个阶段的工作,采用B/S架构,面向对象编程思想进行项目开发。在引言中,作者将论述短视频智能推荐的当前背景以及系统开发的目的,后续章节将严格按照软件开发流程,对系统进行各个阶段分析设计。 短视频智能推荐的主要使用者分为管理员和用户,实现功能包括管理员:首页、个人中心、用户管理、热门视频管理、用户上传管理、系统管理,用户:首页、个人中心、用户上传管理、我的收藏管理,前台首页;首页、热门视频、用户上传、公告信息、个人中心、后台管理等功能。由于本网站的功能模块设计比较全面,所以使得整个短视频智能推荐信

  8. ruby-on-rails - Rails 应用程序的税务服务推荐? - 2

    关闭。这个问题是off-topic.它目前不接受答案。想改进这个问题吗?Updatethequestion所以它是on-topic用于堆栈溢出。关闭10年前。Improvethisquestion我正在开发需要计算税费的购物车,并且正在寻找第三方税务服务来处理计算。我在另一个应用程序中使用过Avalara,但由于我必须将Rjbgem与他们的java库一起使用,所以有点痛苦。有人推荐适合Rails的税务服务吗?

  9. ruby-on-rails - 在 Ruby 中为 S3 Bucket 生成预签名 URL 的推荐方法 - 2

    我正在尝试在我的Rails服务器上生成一个预签名的url以发送到浏览器,以便浏览器可以上传到S3。aws-sdk-s3似乎是future可以使用的gem。但不幸的是,我还没有找到可以提供清晰度的gem文档。似乎有几种不同的方法可以做到这一点,如果对以下方法的区别有任何指导,我们将不胜感激-使用Aws::S3::Presigner.new(https://github.com/aws/aws-sdk-ruby/blob/master/aws-sdk-core/lib/aws-sdk-core/s3/presigner.rb),但它似乎没有接受对象参数或身份验证凭证。使用Aws::S3::

  10. 学习 Linux 内核书籍推荐 - 2

    原文链接,欢迎关注:你为什么学习Linux内核?-CodeAllen的回答-知乎https://www.zhihu.com/question/31369673/answer/2894981254主要是工作需要,其实对于我自己的工作来说,在Linux开发的具体业务和算法才是重要的,内核的知识并没有那么重要,对于很多应用开发来说也差不多,最多也是先看看用户态即可。但是出于对技术的追求还是在通过看书和阅读源码学习。书的话主要是看了下边本,其他乱七八糟的还有一些不列举了:深入Linux内核架构这本可能不是那么经典,看这本的原因是网上找到了高清的PDF书籍,于是就画时间看了,结论是非常不错,我很多内核的

随机推荐