PythonLibrary 博客中文翻译(十八)

原文:PythonLibrary Blog

协议:CC BY-NC-SA 4.0

本周 PyDev:埃里克·斯诺

原文:https://www.blog.pythonlibrary.org/2018/04/02/pydev-of-the-week-eric-snow/

本周我们欢迎埃里克·斯诺(@ ericsnowcurrently)成为我们本周的 PyDev!Eric 是 Python 语言的核心开发人员。你可以查看他的博客,在那里他偶尔会发布他的 Github 简介,在那里你可以看到他最近在做什么。让我们花些时间来更好地了解 Eric!

你能告诉我们一些关于你自己的情况吗(爱好、教育等)

美国西部几乎是我一生的家,除了我上大学前在阿根廷的两年。我拥有杨百翰大学的计算机科学学士学位。我住在山里,喜欢和家人一起在户外度过时光。在我家周围,我有 17 棵苹果树,我照顾它们(并享受它们)。

你为什么开始使用 Python?

我大学毕业后的第一份编程工作是在一个几乎完全用 Python 编写的系统上工作。我责怪我们杰出的范·林德伯格,因为他在我之前就在这个团队里,这个项目是他的主意。🙂

你还知道哪些编程语言,你最喜欢哪一种?

除了 Python,我还广泛使用过 Go。除此之外,我在 Javascript、Java、Lua、Bash、Perl 和 PHP 方面也有一定的经验。我还尝试了几十种其他语言。我最喜欢的还是 Python。🙂

你现在在做什么项目?

在过去的几年里,我的主要关注点是一个改进 Python 多核故事的项目。它包括 3 个主要部分:

1.在 stdlib 模块中公开对子解释器的现有支持(参见 PEP 554)
2。改善解释器隔离
3。使 GIL 成为每个解释器的锁,而不是在所有解释器之间共享它

除此之外,我还帮助过导入系统和 CPython 的运行时。当我完成多核项目后,我还有一些其他项目暂时搁置。

哪些 Python 库是你最喜欢的(核心或第三方)?

在很大程度上,我坚持使用 stdlib。我最喜欢的包括 importlib(惊奇,惊喜),inspect,itertools,collections,contextlib 和 unittest。总的来说,我被精心制作并映射到我大脑中的库所吸引。

你是如何成为 Python 编程语言的核心开发人员的?

在开始我的第一份编程工作后,我天生的好奇心引导我逐渐探索 Python 语言特性的广度及其内部工作方式。几年后,我潜伏在邮件列表上,到 2010 年,我开始参与其中,特别是在进口签名列表上。我在 2011 年参加了(实际上是)我的第一次 PyCon,在那里我可以和几个已经和我一起工作过的核心开发人员(特别是 Nick Coghlan 和 Brett Cannon)面对面交流。我也参加了所有的短跑比赛。那次面对面的经历产生了巨大的影响。我第一次真正的代码贡献
是在 2011 年晚些时候,我参加了 2012 年 PyCon 的语言峰会,不久之后我的第一个 PEP 被接受了(PEP 421)。2012 年 9 月,我被授予了提交权限,在我能够腾出的时间里,我适度地使用了这些权限。

你负责哪些模块?

我不能说我“拥有”任何,但确实帮助了 importlib。除此之外,我最感兴趣的是语言(例如语法和语义,类似语言参考)和 CPython 的运行时,例如嵌入、子解释器、启动。也就是说,我已经接触了其他几个模块,包括添加类型。SimpleNamespace 和 OrderedDict 的 C 实现。

你还有什么想说的吗?

Python 社区非常棒,CPython 拥有我认为是任何主要开源项目中最受欢迎的核心团队之一。也就是说,参与其中仍然会令人望而生畏。我鼓励每个有兴趣的人加入进来,然后留下来。从核心导师邮件列表开始,到 PyCon 的 sprints。正如我自己的经验所表明的,贡献往往是逐渐增加的,而不是突然出现的。耐心点。要善良。找到你喜欢的事情,并专注于此。甚至不一定是核心 Python。有许多伟大的项目。最重要的是,抓住机会建立联系,享受新的友谊。这可能是我参与 Python 以来最大的收获。

感谢您接受采访!

本周 PyDev:Erika Fille le gara

原文:https://www.blog.pythonlibrary.org/2018/12/03/pydev-of-the-week-erika-fille-legara/

本周,我们欢迎 Erika Fille le gara(@ efle gara)成为我们本周的 PyDev。Erika 是亚洲管理学院的教授和项目主管。她在菲律宾的 PyCon 大会上发表过演讲。你可以查看她的网站,看看她还在忙些什么,或者看看她在下面的讲话:

https://www.youtube.com/embed/m7RDD8vFU6U?feature=oembed

让我们花一些时间来更好地了解她!

你能告诉我们一些关于你自己的情况吗(爱好、教育等)

嗨,我是艾丽卡。我是训练有素的物理学家。我是你典型的研究生院(assoc。)教授/行政人员,她总是尽力在教学、研究和履行某些行政职责之间取得适当的平衡。目前,我从事的研究项目大多是行业驱动的。

工作之余,我喜欢旅游和旅行摄影。然而,随着最近的职业转型,休闲旅游已经被最小化了。如今,我大部分空闲时间都在看书、听音乐,当然,还有看电视。我也喜欢周末时不时在高速公路上开车;它有助于大脑放松。我喜欢这样一个事实,在长途驾驶中,我可以不受干扰地听很棒的公路旅行播放列表。

你为什么开始使用 Python?

我开始用 C++为我的本科研究写脚本。我的论文是关于复杂系统的研究;尤其是网络科学。我当时在实验室的一位同事向我介绍了 Python,当时他看到我用 C++编写非常非常长的脚本来构建复杂的网络模型。他向我展示了如何将我用 C++编写的大约 50 行(或更长)代码减少到只有几行,实际上用 python 编写的不到 10 行,这要感谢所有 Python 科学库的开发者和贡献者。从那以后,我再也没有回头。

你还知道哪些编程语言,你最喜欢哪一种?

其他语言有 C/C++、R 和 MATLAB。我也熟悉 PHP。

当然,我唯一喜欢的是 Python。

你现在在做什么项目?

我目前正在从事几个研究项目,涉及城市系统建模、交通系统建模、社会系统中(mis/dis)信息传播的分析和建模,以及为位置分析建立预测模型。

哪些 Python 库是你最喜欢的(核心或第三方)?

NumPy 和 SciPy,Matplotlib,PANDAS,scikit-learn,NetworkX,graph-tool,Keras,TensorFlow,H2Oai

你还有什么想说的吗?

永远不要停止学习!这个世界,尤其是有了今天的技术,有如此多的东西可以提供。

谢谢你接受采访,Erika!

本周 PyDev:伊森·史密斯

原文:https://www.blog.pythonlibrary.org/2020/08/24/pydev-of-the-week-ethan-smith/

本周我们欢迎 Ethan Smith ( @ethanhs )成为我们的本周 PyDev!Ethan 是 Mypy 项目的核心开发人员,该项目是 Python 的静态类型检查器。你可以在 Github 上看到伊森还参与了其他什么项目。

让我们花一点时间来更好地了解 Ethan!

你能告诉我们一些关于你自己的情况吗(爱好、教育等)

我出生并生活在旧金山湾区。我目前是加州大学伯克利分校的本科生,攻读电子工程和计算机科学学位。我对 Linux 和自由软件充满热情,所以我是开放计算设施的一名工作人员,这是一个基于自由软件为学生提供计算服务的校园组织。编程语言设计和量子计算是我最感兴趣的两个领域。我已经在 mypy 上工作了大约 3 年,和 mypy 团队一起工作是一次很棒的经历。我也不时尝试玩具编程语言。

我目前在劳伦斯伯克利国家实验室工作,作为高级量子试验台的一部分,从事量子计算研究。我开发工具使量子计算机编程变得更容易。

你为什么开始使用 Python?

我在高中时开始使用 Python,当时我需要在当地博物馆劳伦斯科学馆的暑期实习中使用它。我和一个实习同事一起研究一个库存系统,我们决定用 Python 来写。库存系统从未问世,但足以让我爱上 Python!那个夏天剩下的时间我继续学习 Python,再也没有回头!在那之后的几年里,我用 Python 为自己做了一些小项目,并尝试自定义窗口。

你还知道哪些编程语言,你最喜欢哪一种?

我会说我熟悉 bog 标准 C/C++/Java/C#/Ruby 和其他一些标准,比如 Rust 和 Scheme。我最近真的爱上了 Rust,我知道它被炒作了很多,但一旦你知道如何使用它,它就是一种乐趣。我还没有见过一种语言以同样的方式混合了干净的高级语义和极快的速度。高中时,我用 MIT 的 Scratch 向孩子们教授基本的编程概念,我一直认为它设计得很好。

你现在在做什么项目?

我在很大程度上一直致力于量子编译器(这实际上比听起来要简单得多!).编译器产生最小或接近最小尺寸的量子程序。量子计算机执行的每个操作都存在高噪声,因此减少要执行的操作数量至关重要!我一直在使用 Rust 来扩展编译器,以便在更大更难的程序上工作得更快,这非常有趣。

我也一直在尝试将 Python 编译成 WebAssembly 来进行确定性计算。这有很多应用,如可复制的 Jupyter 笔记本或实现更简单的分布式计算。

哪些 Python 库是你最喜欢的(核心或第三方)?

这里我稍微作弊一下,选 pyo3,其实是一个 Rust 库,用于将 Rust 代码绑定到 Python 上。我最喜欢 Python 的一点是,您可以编写到快速本机代码的绑定,并享受 Python 的高度简单性。这种方法在 numpy 和 scipy 中有优先权。因为我最近很喜欢写 Rust,pyo3 意味着我可以同时使用我最喜欢的两种语言!

你是如何参与 Mypy 项目的?

我在 2016 年开始使用 mypy,当时我正在处理一个个人项目。我的主要开发机器运行 Windows,当我运行 mypy 时,它坏了!我熟悉了 mypy 的工作方式,然后修复了这个 bug。然后我决定我想帮忙,因为这似乎是一个迷人的项目。所以我开始帮忙,做一个讨厌的人,在 bug 追踪器上帮助分类问题,最终修复更多的 bug 并实现更好的分析。

你最喜欢 Mypy 的什么功能?

我真的很喜欢 mypy 守护进程。我记得当我第一次将它移植到 Windows 上运行时,我对它在检查大型项目时的速度感到震惊。移植它是一个有趣的挑战,因为 Windows 并不像 Unix 那样真正支持守护进程,但是我离题了。展望未来,我对 PEP 612 https://www.python.org/dev/peps/pep-0612/,的实现感到兴奋,它将使输入装饰符和更高阶的函数变得容易得多。

伊森,谢谢你接受采访!

本周 PyDev:埃齐奥·梅洛蒂

原文:https://www.blog.pythonlibrary.org/2016/03/28/pydev-of-the-week-ezio-melotti/

本周,我们欢迎埃齐奥·梅洛蒂成为我们的本周 PyDev!埃齐奥是 Python 语言的核心开发者。你可以通过他的比特桶页面了解他在做什么。让我们花点时间来了解一下他吧!

你能告诉我们一些关于你自己的情况吗(爱好、教育等)

目前我住在芬兰,在那里我学习并毕业于信息技术专业。当我毕业的时候,我教了一门关于 Python 编程的大学课程,现在我作为一名开发人员/教育者远程工作。

自 2009 年以来,我一直是 CPython 核心开发人员,并且是 bug 跟踪器和 html 包的维护者。我花了很多空闲时间以不同的方式改进 Python,包括在 stdlib、文档、测试、基础设施方面的工作,指导 Google Summer of Code,组织 sprints,以及在会议上做演讲。

我的爱好包括旅游、学习新语言(汉语和西班牙语)和野生动物摄影

你为什么开始使用 Python?

当我还在高中学习 C++的时候,Python 开始变得越来越流行,所以有一天我决定学习它。它的强大、简单和多功能性给我留下了深刻的印象。从那以后,我已经能够在我的大多数项目中使用 Python 了。

你还知道哪些编程语言,你最喜欢哪一种?

我的第一门语言是 Pascal,之后是 C 和 x86 汇编。在学习函数式编程的时候,我学了 Scheme,然后是 Haskell。当我刚开始从事网络工作时,我还必须学习 PHP 和 JavaScript。现在我主要使用 Python,但偶尔我仍然使用 C(当我需要性能时)、JavaScript(在客户端)和其他语言。猜猜哪个是我的最爱应该不难🙂

你现在在做什么项目?

对于 Python,我目前正准备为即将到来的向 Git/GitHub (PEP 512)的迁移更新跟踪器。我还与 OeWF(奥地利空间论坛)和其他组织合作了一个科学项目,该项目旨在提供一个身临其境的火星虚拟现实模拟。

哪些 Python 库是你最喜欢的(核心或第三方)?

有这么多很棒的图书馆,很难挑出最喜欢的。标准库已经涵盖了广泛的用例,当它不够用时,您几乎总能在 PyPI 上找到一个有效的替代品。

你还有什么想说的吗?

为 Python 做贡献比您想象的要容易。如果你想让你最喜欢的语言变得更好,请通过 http://pythonmentors.com/和 https://mail.python.org/mailman/listinfo/core-mentorship的核心导师邮件列表联系我们。

感谢您接受采访!

本周 PyDev:法比奥·扎德罗兹尼

原文:https://www.blog.pythonlibrary.org/2015/12/28/pydev-of-the-week-fabio-zadrozny/

本周我们欢迎法比奥·扎德罗兹尼(@法比奥夫兹)成为我们本周的 PyDev。他是 PyDev 项目的幕后推手,这是一个用于 Eclipse 的 Python IDE。法比奥还参与了许多其他项目,如果你查看他的 github 简介,你会发现这一点。让我们花些时间更好地了解他。

你能告诉我们一些关于你自己的情况吗(爱好、教育等)

当然可以…我是一名软件工程师,拥有计算机科学学士学位(2002 年毕业)。我住在巴西的弗洛里亚纳波利斯。除了编程,我真的很喜欢打乒乓球(我十几岁的时候几乎就开始打职业乒乓球了,现在这是一个很好的爱好)。尽管如此,我现在除了工作之外的主要职业是抚养一个 6 个月大和一个 6 岁大的女儿。

你为什么开始使用 Python?

我在 2003 年开始使用 Python,在 http://www.esss.com.br ESSS()从事科学计算项目——当时,我对 Python 的主要不满是没有一个合适的 IDE,所以, 这些年来,我在 PyDev(http://pydev.org)上工作了很长时间,以获得一个我喜欢的工作环境——有点讽刺的是,为了获得一个很棒的 Python 工作环境,我在 Java 上工作了很长时间——尽管我也参与了许多 Python 项目,并且肯定在这里吃了自己的狗粮!

你还知道哪些编程语言,你最喜欢哪一种?

我研究的主要语言是 Python 和 Java——所以,在 Eclipse 中开发像 PyDev 这样的 Python IDE 对我来说很自然😉

除此之外,我已经用 C/C++完成了我的一部分工作,最近我开始用 Javascript 做一些项目(我也尝试过一些其他语言,因为我真的很喜欢尝试新的语言,但这些是我目前使用最多的语言)。

Python 成为了我最喜欢的语言,因为它非常有表现力,并且使程序非常简洁。除了 Python 之外,我要说 Java 获得了第二名,尽管它的优点与 Python 非常不同,并且 ide 等工具发挥了更大的作用,因此,您必须掌握 IDE 才能令人愉快(没有 IDE 编写 Java 代码肯定不会令人愉快,而在 Python 中这是可行的-尽管 IMHO,PyDev 等 IDE 即使在 Python 中也有很大帮助,并且当项目变大时是必不可少的)。

你现在在做什么项目?

嗯,我总是有一大堆令人兴奋的事情要做——目前我正在做:

  • PyDev(http://pydev.org)目前是 Python 的顶级 ide 之一——我每天都在使用它,我已经为它工作了 12 年,通过社区贡献/众筹活动让它继续发展。此外,我对 PyDev 现在的状态非常满意——有很多用户,近年来,随着市场变得更加拥挤,有了更多的选择,我只找到了真正喜欢使用 PyDev/Eclipse 的人(LiClipse 使用户更容易启动和运行)。
  • PyDev。调试器(https://github.com/fabioz/PyDev.Debugger/)是最初只在 PyDev 中的调试器的一个分离,以便它可以在其他 ui 中使用(目前它由 PyDev 和 PyCharm 使用);
  • LiClipse(http://liclipse.com),为 PyDev 提供了一个单机,在 Eclipse 中增加了对多种语言的轻量级支持,使其整体上成为一个好得多的包;
  • PyVmMonitor(http://www.pyvmmonitor.com),Python 可用的最好的剖析和 vm 监控体验;
  • speed tin:https://www.speedtin.com,这是我开始参与的最新项目——它的目标是在性能退化上线之前更容易发现它——或者就 CPython 2.7 而言,希望一些核心提交者能够看看诸如https://www . speed tin . com/reports/1 _ CPython 27 x _ Performance _ Over _ Time之类的东西,并为以前版本上损失的性能提供一些修复😉
  • mu-repo(https://fabioz.github.io/mu-repo/):这是用 Python 制作的一个实用程序,用于处理多个 git 库。
  • 洛基(http://rocky-dem.com),这是一个顶尖的粒子模拟器(模拟器实际上是用 C/C++完成的,在 GPU 中用 CUDA 工作,或者在 CPU 中用 OpenMP 工作,但我主要研究它的后处理能力,这些都是用 Python 完成的)。

如你所见,我从不感到无聊😉

哪些 Python 库是你最喜欢的(核心或第三方)?

如果我必须挑选一个最喜欢的库,我可能会选择 greenlets,这是异步编程的神奇解决方案(我个人认为用它编程比用 asyncio 类的解决方案或基于回调的编程容易得多)。

尽管如此,我真的很喜欢 Python 对 yield/generators 的支持,并且,在核心库中,我认为 collections 和 itertools 非常好,提供了组织和迭代数据结构的简洁方法。

此外,我总是惊讶于 numpy 如何以一种高性能的方式处理大型数组,而 py.test 使测试变得非常简单。

作为一门编程语言,你认为 Python 将何去何从?

嗯,希望 Python 能克服来自 Python 2/3 的破损,重新拥有同页的社区。

我一直对此持否定态度,但最近我认为有更好的迹象表明会选择 Python 3,尽管像 Pyston 这样的东西仍然让我有点担心——也就是说:这是一个全新的 Python 实现,目标是 Python 2——不幸的是,我认为它真正表明了社区仍然是多么的破碎(因为,你知道,移植大型代码库肯定不是有趣的,昂贵的,并且有添加可能难以发现的 bug 的额外风险)。

时间会证明一切,但我真的希望有一天我不用在程序中添加 cruft 来支持 CPython 2 和 3😉

非常感谢!

一周的最后 10 个 PyDevs

  • 马赫什·文基塔查拉姆
  • 弗洛里安·布鲁欣
  • 马克-安德烈·莱姆堡
  • 尼克·科格兰
  • 阿伦·拉文德兰
  • 什么场
  • 布莱恩·施拉德
  • 克雷格·布鲁斯
  • 海梅·费尔南德斯·德尔罗
  • 瑞安·米切尔

本周 PyDev:Facundo Batista

原文:https://www.blog.pythonlibrary.org/2014/10/20/pydev-of-the-week-facundo-batista/

本周我们邀请到了 Facundo Batista(@ Facundo Batista)加入我们。

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

他是来自阿根廷的 Python 核心开发人员。如果你碰巧会说西班牙语,那么你可能会喜欢他的博客。让我们花点时间了解一下 Facundo 吧!

你能告诉我们一些关于你自己的情况吗(爱好、教育等)

我是 Python 编程语言的专家。有着超过 8 年的 it 经验,我是这种语言的核心开发者,也是 Python 软件基金会的
成员。此外,因组织 PyCon Argentina 和
阿根廷 Python 社区以及对标准
库的贡献和翻译 Python 文档的工作,获得了
2009 年社区服务奖。

我在阿根廷和其他国家(美国和欧洲)的主要 Python 会议上发表过演讲。总的来说,我在分布式协作体验方面有很强的
经验,参与
FLOSS 开发,与全球各地的人一起工作,超过
10 年。

在 Movistar 和 Ericsson 担任电信工程师,在 Cyclelogic(首席开发人员)和 Canonical
(技术负责人,现任职务)担任
Python 专家。

我也喜欢打网球,有一个一岁大的孩子,他是个可爱的小家伙,喜欢拍照。

你为什么开始使用 Python?

14 年前,当我在 Movistar 工作时,我需要在服务器端处理一些日志。

服务器运行的是 SunOS(!).我知道 C 和其他语言不太适合做这项工作。我学习和使用 Perl 有几个月了,直到我发现 Python 并爱上了它。

你还知道哪些编程语言,你最喜欢哪一种?
我有过使用 COBOL、Clipper、Basic、C、C++、Java
和 Perl 的经验和工作经验(尽管我现在不重新学习就无法使用它们
)。

我最喜欢的当然是 Python😉

你现在在做什么项目?

我正在积极从事三个项目:

  • 这是一种压缩和构建整个维基百科以供离线使用的方法。输出可以是 CD、DVD,或者只是一个 tarball,它可以在 Linux、Mac 或 Windows 上自动运行,不需要安装任何其他东西。它的目标是为那些还没有互联网接入的学校/人们提供信息来源。目前我们只打包了西班牙语维基百科,但我们几乎准备好开始其他语言了
  • Encuentro :这是一个桌面程序,可以从阿根廷公共电视台(这几天真的很牛逼)选择和下载大量的教育纪录片。网站和节目本身都是西班牙语的,因为电视节目只有那种语言。
  • Linkode : Linkode 是有用的 pastebin!这是一种短暂的生活协作空间,一个动态的剪贴板。一些很棒的细节:你可以在任何地方、任何时间、毫不费力地创建链接代码。
    可编辑的文本,不是静态的!
    每个新版本创建一个孩子:你有一棵树
    代码/文本类型自动检测(和着色!)
    永久链接码(但所有者仍然可以删除)
    绝对匿名(除非你登录,这非常简单)
    私有 URL:因为你无法猜测 UUIDs

哪些 Python 库是你最喜欢的(核心或第三方)?

我真的很喜欢 itertools 核心库。当然还有我写的那个十进制的,
;).

关于外部库,我是 Twisted 的粉丝,这些天我用了很多漂亮的库。

你还有什么想说的吗?
感谢采访!


前一周的 PyDevs

  • 本·劳什

PyDev of the Week: Fanilo Andrianasolo

原文:https://www.blog.pythonlibrary.org/2021/12/06/pydev-of-the-week-fanilo-andrianasolo/

This week we welcome Fanilo Andrianasolo (@andfanilo) as our PyDev of the Week! Fanilo is a core developer for several Streamlit extensions and a Community Ambassador for Streamlit itself. He also has several tutorials on Streamlit that you can check out.

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

Let’s spend some time getting to know Fanilo!

Can you tell us a little about yourself (hobbies, education, etc)

Hello everyone! My name is Fanilo, I’ve been doing data analysis for around 8 years now, and am currently working as a Data Science & Business Intelligence Advocate / Tech Lead at Worldline.

I graduated from Ecole Centrale Lyon, one of the French “grandes ecoles” where we are taught a broad set of scientific domains, from acoustic engineering to fluid mechanics. I liked most of the tutorials around algorithms and numerical computing, so I decided to take a semester at the University of Queensland in Australia to study software engineering and machine learning. I loved this course abroad so much I decided to make a career out of data analytics (I like to think koalas and surfing also contributed to this enthusiasm).

Aside from work, I play and coach in badminton on a regional competitive level, try to play jazz piano while sipping a cup of tea and am learning video & music production.

Why did you start using Python?

Years ago, our Data Mining stack was gravitating around SAS and R. One of my main activities was converting R code to Spark in Scala for production on a Hadoop cluster. At times it was challenging as you are juggling between two very different paradigms.

I knew there was a Python binding to Spark and I wanted to find an easier bridge between Data Scientists and Software Engineers in the Hadoop ecosystem; so I started rebuilding some of our data mining projects in Python with a senior data scientist colleague.

We both grew very fond of the language! The syntax felt simple and readable, yet we could build powerful and complex data processing pipelines. What struck me the most was the ecosystem: did you know you could “pip install wget” on Windows to have a pseudo-wget command? That day I jokingly messaged my colleague “Python has a library for everything!”, and still regularly browse Pypi for niche and useful packages.

What other programming languages do you know and which is your favorite?

I’ve done my share of Scala during my Apache Spark years, and know my way around Java as it is the predominant language in the company I currently work in. In the JVM space, I’d like to try Kotlin one day, it looks like their community and Data Science ecosystem are growing and the syntax looks nice.

I’m also a fan of building web applications to showcase my works. I don’t pretend to be a Frontend engineer, but I can write small Typescript/Vue/React apps. I find the Javascript world has matured a lot those past years and the Typescript compiler ranting about my code has definitely helped.

Favorite language? I’ve been using Python pretty much everywhere now, from “check the quality of merchant data in our master customer database” to “downloading attachments from your email” processes. I have to thank the book “Automate the Boring Stuff with Python” for opening my eyes to using Python for every daily task. Who knows if Go, Rust, or Julia challenges it someday, and I’d like to add in C++ to build fancy audio processing tools.

What projects are you working on now?

I’m mostly involved with prototyping data-driven features for projects, reviewing and deploying Python code on an online learning project, as well as promoting Business Intelligence and Machine Learning to internal product/engineering teams and external customers.

Outside of work, I started editing and publishing tutorials as slide carousels, as well as short Data Science skits with the hopes to build educational yet entertaining longer videos about Data Analysis later on. I also contribute a lot to the Streamlit community, but we will talk about this in a few questions.

Which Python libraries are your favorite (core or 3rd party)?

I am a big fan of Streamlit (https://streamlit.io/) as it enables me to quickly showcase and share visual data analysis projects. For example, one of my Machine Learning demos involved using a Tensorflow model to recognize live drawings in the same vein as the “Quick, Draw” game (https://quickdraw.withgoogle.com/). I struggled for 5 days with ECharts, Fabric.js, and Tensorflow.js, having to convert Python models to their JS counterpart and agonizing on CSS. Today with Streamlit I think this would take me less than 5 hours to build. Now I pretty much build a CLI and a Streamlit app as interfaces for every data quality and processing app I create at work.

I like using Plotly Express and Altair for interactive plots, and FastAPI/Pydantic are pretty high on my list too. The collections and itertools core libraries have a lot of hidden gems I rediscover now and then.

What are your contributions to Streamlit?

I had never really contributed to any open source project or online community before. A year and a half ago when I first toyed with Streamlit, the forum and core team were still small. I would regularly see the founders Adrien, Amanda, and Thiago, along with some colleagues advise to other users on the 2-month old forum. The tone was very open and friendly, so I decided to help users on the forum too. I became very active there (I almost got the “365 days in a row” award!), so much that I got contacted by the team, became a forum moderator, was later invited as a guest on their chatroom, and participated in multiple beta testings. I am now part of the “Streamlit Creators” program (https://streamlit.io/creators) which is like being a Community Ambassador for Streamlit, and it comes with nice goodies!

Today I am still very involved in the community in different ways:

If you needed to create a full-fledged website with Python, which framework would you use and why?

There are a lot of options nowadays to build a web application in Python, from the top of my head I can think of Streamlit, Dash, Panel, Gradio, Voilà, Django, FastAPI delivering static pages…they all serve different use cases and come with different constraints regarding the mapping between widget and state.

Whenever I need to show off and interact with some data processing or analysis, I will use Streamlit. I love the simplicity of its design and the low barrier of entry, and I believe you can still do very complex tools with it. But I also understand developers who are put off by the “rerun the whole script on every user interaction, put into cache or session state any heavy computation” lifecycle and prefer Dash or Panel for callbacks to define the mapping between user interaction and backend computation, especially for bigger, multipage web apps. To choose between those libraries, I don’t usually give recommendations (and there are plenty of articles on the web on this), rather I ask users to test each library, get a feeling of their API, and ask the community if some more advanced tasks you would need to dig into are possible in this framework.

I did not have the opportunity to use Django yet, as my usual ML demos are single-page static apps without authentication, so worst-case scenario I can get by with React and FastAPI. I’m pretty sure Django is here to stay as one of the preferred frameworks for building “full-fledged websites with administration tools” though, whereas Streamlit/Dash/Panel/Gradio/Voilà would tend towards “providing Python users a way to create a web UI for their works”.

Is there anything else you’d like to say?

Have fun in what you do, don’t be scared to contribute in online communities and build a lot of small and silly projects to improve at first, as consistency beats intensity!

Thanks for doing the interview, Fanilo!

本周 PyDev:费尔南多·多利奥

原文:https://www.blog.pythonlibrary.org/2016/01/11/pydev-of-the-week-fernando-doglio/

本周,我们欢迎费尔南多·多格里奥成为我们的本周 PyDev。虽然 Fernando 使用 Python 的时间不长,但他确实为 Packt Publishing 撰写了《掌握 Python 高性能》一书。如果你想知道 Fernando 最近在做什么,我推荐你看看他的 Github 简介。让我们花些时间去更好地了解他吧!

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

能简单介绍一下自己吗(爱好、学历等):

我是一个 32 岁的书呆子,这意味着我喜欢将编程作为一种爱好(我的 Github 账户上有一大堆正在开发的项目,我的脑子里还有很多!)但是我也喜欢看电视(很多!)和阅读科幻小说和幻想小说(有助于不时脱离现实世界),最后,我尽可能多地花时间陪我的妻子和两个孩子。

至于教育,我高中毕业后就开始学习计算机工程,但很快就辍学了。几年后,我做了一个短暂的技术职业(只有 3 年)作为一名软件分析师,这是我所知道的关于我的正规教育的全部内容,其余的我都是从街上(当然是互联网!).

你为什么开始使用 Python?

当我开始接触大数据时,我开始使用 Python。事实上,为了写一些 MapReduce 作业,我更喜欢用 Python 而不是 JAVA 来写(我们不都是这样吗?).从那以后,我从来没有真正使用过它,直到我开始写这本书,这是我学习这门语言的一个很大的借口。

你还知道哪些编程语言,你最喜欢哪一种?
地段!Ruby,PHP,JAVA,Node.js(还有前端 js),C,前阵子有的 C++甚至有的 C#。我可能忘记了一些,但那些是主要的。至于我最喜欢的,目前是 Node.js

你现在在做什么项目?

除了我在 Python 方面的日常工作(我真的不能谈论这个),我最大的副业是www.lookingforpullrequests.com。一个致力于帮助那些开源世界的新来者找到他们的第一个项目的网站,也帮助那些寻求帮助的项目找到他们的第一个项目。现在它是用 PHP 编写的,使用的是我为自己创建的一个旧的 RoR 风格的框架,名为 Makiavelo,但我正试图用 Node.js 和一些花哨的前端技术重新编写它,如 Angular 或 Reach。 你最喜欢哪些 Python 库(核心或第三方)?

我现在真的没有最喜欢的,我还没有机会使用这种语言,也没有机会拥有一个最喜欢的库。

你看 Python 作为编程语言何去何从?

以我的拙见,我认为 Python 在科学界已经很成熟了(例如,我看到我的数据科学家们经常使用它),但我不认为这种语言会很快出现。当你将你的开发者经验(不仅包括语言本身,还包括围绕它的整个社区)与 Web 开发进行比较时,Python 实际上无法与 Node.js 或 Ruby 竞争。我作为一个语言新手的经历充其量是坎坷的,许多维护不善的包、过时的文档和相当糟糕的包管理器导致了糟糕的体验。再说一次,这是我的经验,我确信还有其他来自其他技术/社区的人正遭受着更糟糕的问题(比如 JAVA 世界),他们将 Python 视为一股新鲜空气。

再一次,以我的拙见,在希望这种语言获得其他人目前的大量关注之前,Python 社区还有很多工作要做。

是什么让你决定写一本关于 Python 的书? 嗯,老实说,一本 Python 的书并不是我的第一选择,但是当 PacktPub 的人向我提出要做这本书时,我决定这将是一个摆弄这种语言的好借口,多了解它一点并学习它。

你能告诉我们你在写这本书的时候学到了什么吗?

实际上很多,主要是因为当时我对 Python 的了解有限。但是我也学到了很多关于概要分析的知识,不仅仅是 Python 编程语言。我认为书中的大多数概念也可以很容易地推广到其他技术上。

感谢您接受采访!

本周 PyDev:费尔南多·马萨诺里

原文:https://www.blog.pythonlibrary.org/2021/06/07/pydev-of-the-week-fernando-masanori/

本周我们欢迎 Fernando Masanori(@ fmasanori)成为我们本周的 PyDev!费尔南多是巴西 FATEC 圣若泽多斯坎波斯大学的教授。他是第一个教僵尸编程的巴西 MOOCPython的创造者。你可以在费尔南多的网站或者查看他的 GitHub 简介上看到他还在做什么。

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

让我们花些时间来更好地了解费尔南多!

你能告诉我们一些关于你自己的事情吗(爱好、教育等)。):
我快乐吗????分享知识?。我做饭外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传同跳舞。我喜欢洗碗。我把眼镜放在哪里了?

你为什么开始使用 Python?

为了好玩。

你还知道哪些编程语言,你最喜欢哪一种?

Ruby,Java,C,C ++。Python。

你现在在做什么项目?

分析公开数据,主要针对社会影响问题。

哪些 Python 库是你的最爱(第一方或第三方)?

熊猫,请求。
“蟒蛇换僵尸”是怎么产生的?

我在一个名为《僵尸之轨》的课程中学到了 Ruby。我决定复制这个想法。

作为一名教师,你学到的三课是什么?

非常有耐心。想要学生的好处。质量和纪律。

你还想说点什么吗?

分享知识会带来很多快乐。没有什么比用你的一生为他人做好事更好的了。

Thanks for doing the interview, Fernando!

本周 PyDev:Florian Bruhin

原文:https://www.blog.pythonlibrary.org/2015/12/14/pydev-of-the-week-florian-bruhin/

本周,我们欢迎 Florian Bruhin 成为我们本周的 PyDev。让我们花些时间来了解一下我们的同胞皮托尼斯塔吧!

你能告诉我们一些关于你自己的情况吗(爱好、教育等)

我叫 Florian Bruhin,今年 22.9 岁,住在瑞士。

我是一名电子工程师(尽管讽刺的是,我大部分时间都在编写运行在 PC 上的 Python),并计划明年开始学习计算机科学。

我的主要爱好是 python 项目,它比我想象的要大一点😉

除此之外,我喜欢游泳,也喜欢在火车上呆相当长的时间。我不确定这是一种爱好还是必需品😉

你为什么开始使用 Python?

早在 2011 年,我就有了修改一台电子打字机的想法,以输出推特和其他与场景相关的俏皮话。当时我知道(嵌入式)C、QBasic 和 bash,并且已经在很多事情上滥用了 bash,而它肯定不是最好的工具(比如编写 IRC 机器人)。

我意识到我真的不想浏览这些语言的网站,所以我必须学习一种更好的语言。我无法在 Ruby 和 Python 之间做出选择,所以我最终花了几周时间分别学习了两者的基础知识。

尽管 Ruby 有这个很棒的漫画教程,里面有可爱的狐狸,但我最终还是决定用 Python。

你还知道哪些编程语言,你最喜欢哪一种?

我知道很多 C 和 Bash,一些 C++和 Ruby,可能还有一些基本的,尽管我已经很多年没用过它了(我不介意!).

Python 和 C 是我的最爱,分别是高级和嵌入式的东西。

我目前正在学习 Javascript(因为我需要它,而不是因为我喜欢),我想探索 Haskell、Rust 和 Go,但到目前为止还没有时间这样做。

你现在在做什么项目?

qutebrowser 是我近 2 年以来的主要项目。我启动它是因为我找不到一个好的类似 vim 的浏览器,而且我可能不会很快停止。

我也不时为 pytest 和它的插件做贡献。

我也想为 pylint 做更多贡献,但是我主要贡献的是问题而不是代码,因为不幸的是,我的时间是有限的。

哪些 Python 库是你最喜欢的(核心或第三方)?
我非常喜欢上面提到的项目。我只能推荐任何项目使用 pytest 和 pylint。我想我可以添加一些测试相关的工具,比如 toxcoverage.py假设

我对 Qt 和 PyQt 又爱又恨。我希望在 Qt 绑定之上有一个更 pythonic 化的 API,不幸的是 PyQt 的开发过程并不是很开放。

我喜欢像请求烧瓶这样的项目的 API 和代码,尽管我自己并不经常使用它们。

你还有什么想说的吗?

趁还来得及,多写些测试吧!😉

谢谢!

一周的最后 10 个 PyDevs

本周 PyDev:Florian Dahlitz

原文:https://www.blog.pythonlibrary.org/2020/06/29/pydev-of-the-week-florian-dahlitz/

本周,我们欢迎 Florian Dahlitz(@ DahlitzF)成为我们本周的 PyDev!Florian 是 CPython 编程语言和 PyTest 框架的贡献者。他也是真实巨蟒的贡献者。你可以查看弗洛里安的个人博客或者获取他的时事通讯来了解他的最新消息。

让我们花些时间去了解弗洛里安吧!

你能告诉我们一些关于你自己的情况吗(爱好、教育等)

我叫 Florian,我在德国学习应用计算机科学。我目前正在写我的学士论文,重点是自然语言处理。在我的空闲时间里,我尽可能多地编写代码,写关于我发现或学到的东西的博客帖子,并且我做了很多运动!

你为什么开始使用 Python?

我从 2015 年 1 月开始我的编程之旅,学习 PHP,HTML,CSS,Javascript。然而,我最终的愿望是实现 web 之外的东西。这就是为什么我向自己介绍了 C,但不知何故最终大部分代码都是用 Java 和 Python 编写的。

Python 是一门非常漂亮的语言,为初学者提供了一个简单的起点。然而,你可以自由地增加复杂性,甚至在其上建立大型基础设施(看看网飞、YouTube 和 Instagram 就知道了)。

Python 生态系统中的人们非常友好,和他们一起工作非常有趣。这就是为什么我最终把大部分时间花在了 Python 生态系统上。

你还知道哪些编程语言,你最喜欢哪一种?
正如我已经提到的,我从用 PHP、HTML、CSS 和 Javascript 编码开始,最后学习 C、Java 和 Python。虽然我在做一些需要编写 Java 代码的项目,但我主要是在使用 Python,这也是我最喜欢的编程语言——到目前为止!

你现在在做什么项目?

我花了大部分时间自学新概念,并就此写文章,以便在这个旅程中带着其他人。此外,我开始为开源项目做越来越多的贡献。目前,我正在深入研究 CPython 和 pytest。

哪些 Python 库是你最喜欢的(核心或第三方)?

这个问题很难回答!事实上,Python 标准库提供了一堆有用的、棒极了的包和模块。没有明确的最爱。然而,我尽可能坚持使用标准库,不安装第三方包。

你为什么决定向 CPython 和 Pytest 投稿?

CPython 是一个非常棒的开源项目,有非常善良和乐于助人的人。当我想学习更多关于 Python 的知识并为开源项目做出更多贡献时,有什么比贡献 Python 本身更好的起点呢?

虽然 Python 是一个很好的贡献点,但是许多开放的问题需要对之前应该学习的某些概念有深入的理解。这就是为什么我在寻找另一个我可以参与的项目。由于 Pytest 是 Python 测试的事实上的标准,测试总是一件好事,所以我看了一下他们的问题跟踪器和源代码。Pytest 的核心开发人员也是很好的人,所以我想给他们一些时间来创建和维护这样一个好的框架。

你最喜欢 Pytest 的什么功能?

我最喜欢 Pytest 的一点是它的设置相当简单。在过去的两年里,我写了很多 Java 测试,其中包括一堆设置和样板代码。尽管 Python 的 unittest 模块比 Java 测试需要更少的代码,但在我看来,使用 Pytest 编写测试要容易得多,因为你只需要利用 Python 的内置 assert 语句。那是相当漂亮的!

你是怎么和真 Python 扯上关系的?

这个问题很有意思!当时,我不仅对 Python 非常感兴趣,而且对 Docker 也非常感兴趣。在阅读了大量关于 Docker 的内容,在工作中使用它,并教授了一堂关于 Docker 基础知识的课之后,我开始阅读 Real Python 的 Docker 相关文章。我注意到其中很多都已经过时了,所以我联系了丹,告诉他这件事,并让他更新一下。这导致了更多真正的 Python 贡献,为各种视频教程添加了描述,并更新了“Flask by Example”系列。

你还有什么想说的吗?

如果人们想知道我在做什么,他们可以看看我的博客或者订阅我的时事通讯。我在推特上也很活跃。因此,如果有人有问题,有他们想了解更多的话题,或者只是想聊聊 Python 和编程,随时欢迎他们联系我!

弗洛里安,谢谢你接受采访!

本周 PyDev:弗兰克·瓦尔卡塞尔

原文:https://www.blog.pythonlibrary.org/2020/10/05/pydev-of-the-week-frank-valcarcel/

本周我们欢迎 Frank Valcarcel(@ fmdfrank)成为我们的本周 PyDev!他是 Cuttlesoft 的联合创始人。如果你想了解 Frank 正在做的项目,请直接访问 Github

让我们花些时间来了解一下 Frank 吧!

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

你能告诉我们一些关于你自己的情况吗(爱好、教育等)

我是佛罗里达州人,但我现在住在科罗拉多州丹佛市,大约 4 年前我公司的总部搬到了这里。我们来自佛罗里达州的塔拉哈西,我在那里的佛罗里达州立大学上学,并在名为 Domi Station 的社区加速器中创办了我们的公司。

我有点像工作狂,所以我不太喜欢业余爱好,但是当我有时间的时候,我喜欢阅读、骑自行车、钓鱼、徒步旅行和摄影。

我也喜欢旅行,但疫情让我无法确定是否会回到那里。

你为什么开始使用 Python?

实际上,我是在 Udacity 的第一批在线课程中开始学习 Python 的。我刚刚完成了我在大学的第一门编程课程(一门关于用 C++进行游戏开发的大二选修课),想为即将到来的课程做进一步的准备。

Udacity 课程教授了一些 CS 基础知识,许多测验都是用 Python 编写的。该课程的顶点项目之一是实现谷歌初始 PageRank 算法的简化版本和网络爬虫。这可能是在 beautifulsoup 被创造出来之前,所以这个任务绝对是一个挑战,但也很有趣。

你还知道哪些编程语言,你最喜欢哪一种?

我从互联网浏览器时代的 JavaScript 开始,从那以后一直为 web 开发。我在大学里学过 C/C++,但后来再也没碰过它们。我用 Go 和 Java 编写过一些琐碎的程序,但是我认为真正精通的语言只有 C#、Ruby 和 PHP。

Ruby 可能是我第二喜欢的语言,仅次于 Python。我真的很喜欢 Ruby 的表现力。

我希望有一天能学会长生不老药。

你现在在做什么项目?

我刚刚完成了一个相当复杂的后端项目,涉及 Django、Celery 和 Google 的 Firestore。我不经常担任工程师,因为我主要负责公司的日常运营,所以这对我来说是一个有趣的变化。

哪些 Python 库是你最喜欢的(核心或第三方)?

我非常喜欢 Flask,甚至为它编写了一些包,但是现在我已经被 Django 吸引了,因为它的业务涉及了更多的企业级项目。

我爱朱庇特!这是我最近常用的原型制作工具。

spaCy 和 Prodigy 是来自 Explosion 团队的两个令人印象深刻的 NLP 和 AI 开发工具。

其他著名的最爱:

  • 黑色
  • pytest
  • 熊猫
  • 诗意
  • VCR . py(Ruby 的 VCR 库的一个端口)记录/回放 HTTP 请求进行测试
  • 箭头
  • “通过模仿日期时间模块,允许您的 Python 测试穿越时间”
  • vscode-python(从技术上来说不是 python,但是它应该在这个列表中)

你是如何组织 Python 活动的,比如 PyColorado 或 Boulder Python?

我从佛罗里达开始。在我的第一次 PyCon(蒙特利尔 2015)后,我回到家,受到启发,在塔拉哈西成立了一个 Python 用户组。已经有的用户组。Net 和 Java(主要由公共部门的开发人员使用)。这很有趣,教会了我们很多关于如何培养社区的知识,但我们最终把它交给了新的领导,并继续作为赞助商。

当我们搬到科罗拉多时,我们很幸运地加入了已建立的团体。这使得在当地观众面前建立关系网、招募和练习会议演讲变得容易。

当伊恩·道格拉斯宣布他们正在寻找新的组织者时,我正在博尔德·皮森做一个演讲,所以我自告奋勇。我就是这样认识了斯科特·维塔莱和佐伊·法默,他们将继续和我一起计划和组织 PyColorado。

PyColorado 只是我们都有的一个想法。我去了很多地区会议,不能理解为什么科罗拉多没有自己的!这是一个非常美丽的州,这里有很多 Python 用户。所以我们给了自己几年的时间来完成它,招募了一些我们知道的最好的组织者,然后开始工作。

这对我来说仍然是最高的成就,我希望有一天我们能够再举办一次。

你能分享一下你的公司 Cuttlesoft 成立的背景吗?

在 FSU 的第一年后,我从课程和实习中积累了足够的经验,为一家全国性咨询公司找到了第一份合同工程师的工作。

我在那份工作上呆了大约一年,结束时我发现我喜欢咨询工作,但不喜欢我现在工作的公司。我认为 Gerber 对 E-Myth 的解释总结了发生在我身上的事情,因为我清楚地记得我告诉一位同事“我可以做得更好”的那一刻。

接下来的一年,我为初创公司做自由职业者,甚至帮助建立了一个团队,在福利管理行业创办了一家新公司。在这段时间里,我一直梦想着经营一家软件咨询公司。在乔治亚理工学院的一次周末黑客马拉松后,我终于成功说服了艾米丽和我一起做生意,于是就这样 Cuttlesoft 成立了。

你还有什么想说的吗?

是的,两件事。

  1. 如果可以的话,请向 PSF 捐款。或者考虑成为赞助商。这些捐赠支持了世界各地的伟大计划,并有助于支持我们的全球 Python 社区。
  2. 对维护者友好,支持,最重要的是耐心。这是一般的建议,但感觉很重要。每个人都在某种程度上受到疫情的影响,对大多数人来说,生活可能充满了新的和意想不到的挑战。

我鼓励每个人都练习换位思考,如果你想了解更多关于开源维护者面临的困境,我有两个建议给你:

  1. 阅读 Nadia Eghbal 的书在公众中工作:开源软件的制作和维护
  2. 观看 Brett Cannon 关于设定开源参与期望的演讲

这一点对我来说切中要害,感觉就像是我在互联网上不断与陌生人进行的对话。我们不应该需要在开源中倡导公民话语。

弗兰克,谢谢你接受采访!

本周 PyDev:弗兰克·维埃拉

原文:https://www.blog.pythonlibrary.org/2018/11/12/pydev-of-the-week-frank-vieira/

本周,我们欢迎弗兰克·维埃拉成为本周的 PyDev。Frank 是 Vibora 包的创造者,这是一个“快速、异步和优雅的 Python web 框架”你可以在他的 Github 简介上看到 Frank 还在忙些什么。让我们花一些时间来更好地了解 Frank!

你能告诉我们一些关于你自己的情况吗(爱好、教育等)

我叫弗兰克·维埃拉,今年 25 岁,是一名非常熟练的 Dota 玩家(lol)和充满激情的软件开发人员。在我的空闲时间,我喜欢玩一些游戏和做一些业余爱好的项目,比如使用 Unity 的小游戏或者像 Vibora 这样的开源项目。

你为什么开始使用 Python?

我在一家安全公司找到了一份工作,该公司的所有工作都使用 Python,我几乎立刻就爱上了它。

你还知道哪些编程语言,你最喜欢哪一种?

Javascript / Go / C#…我最喜欢的是 Python,尽管我不是动态类型的狂热爱好者,Python 的部署也很痛苦(docker 在这方面很棒)

你现在在做什么项目?

我正在对 Vibora 和一款手机游戏进行彻底的重构。希望我能完成这两项🙂

VI Bora 包的起源故事是什么?

我在工作中使用一些 Redis 支持的 API(使用 Flask/Gunicorn ),经过一些基准测试后,我发现 Redis 几乎处于休眠状态,而几台机器的 CPU 负载为 100%…经过一些研究,我发现 Sanic/Japronto 可以在服务器上带来一些原始的性能,但他们仍然是年轻的项目,我对他们的方向不满意…所以现在,Vibora 仍处于早期阶段,缺少很多东西,离生产就绪还很远,但我希望我能尽快赶上🙂

为什么人们要用它而不是 Flask 或 Django?

首先,Vibora 是一个正在进行的工作。不要用它替换你的 Flask/Django 应用。在我有机会让它稳定下来之前,这个项目在 Reddit 上爆炸了…我正在努力尽快得到一个稳定的版本,敬请期待🙂
但是要回答你的问题:Flask/Django 是同步框架,在处理 IO 挑战时还不错但远非最优(以我的拙见)。Vibora 还关注性能,但这并不是这些框架的重点。

哪些 Python 库是你最喜欢的(核心或第三方)?

肯定的请求。尽管我对它有一些批评,但我认为它以一种好的方式影响了绝大多数的 HTTP 库(在许多不同的编程语言中)。

弗兰克,谢谢你接受采访!

本周PyDev:弗兰克·怀尔斯

原文:https://www.blog.pythonlibrary.org/2019/08/26/pydev-of-the-week-frank-wiles/

本周,我们欢迎弗兰克·怀尔斯( @fwiles )成为我们本周的PyDev!Frank是Revolution Systems的总裁和创始人,也是Django软件基金会的主席。如果你想了解Frank,你应该花点时间看看他的网站或者他的 Github账户。现在,让我们花些时间去更好地了解他!

你能告诉我们一些关于你自己的情况吗(爱好、教育等)

我在堪萨斯州的一个小镇长大,大约有一万人,所以计算机在我生命的早期就成为了我的爱好。除此之外,我真的很喜欢烹饪,当我有时间的时候,我会拍些照片,但是这些天我主要是给孩子们拍照。

我在堪萨斯大学学习了一段时间,主修计算机科学,然后转行经商,最终在网络繁荣时期辍学。

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

你为什么开始使用Python?

我在2008年开始使用Python,它很快成为我的主要语言。当时我和雅各布·卡普兰-莫斯共用一间办公室,我们的朋友中野律纪知道这一点,并希望我写一篇文章,部分是对他最近创建的Django软件基金会的采访,部分是对Django的快速介绍。

我说当然,然后意识到,废话现在我必须学习Python和Django。

我很快意识到Django比我现在使用的要好,我发现Python也非常棒。事后看来,我真的很高兴自己被轻轻地推到了这个方向。

你实际上仍然可以在网上找到文章的一个稍有破损的版本。

你还知道哪些编程语言,你最喜欢哪一种?

大约十年来,我主要是一个Perl人,甚至在2001年和一个朋友一起写了一本关于Perl的书,但是我至少有十年没有使用它了。

我懂的C/C++够多了,去危险。我想在某个时候在Go中做一个更大的项目,但是还没有找到时间。我也在半心半意地自学Rust,但是还没有认真地做过什么。但据我所知,它在我未来的锦囊妙计中有一席之地。

Python显然是我的最爱,也是我总是首先使用的工具。

你现在在做什么项目?

几个月前,我换了一台新的笔记本电脑,并尝试在Docker容器和完全12因素中做几乎所有的事情,这有一个我通常不会公开发布的事情的副作用。所以我比以前更多地尝试“公开”编码。

我目前正在改进REVSYS的一些开源项目的文档,比如django-test-plus。

对于工作,我主要在一家大型金融服务公司的财务管理/改善应用程序的后端工作。这是一个微服务后端,当然使用了Django,并在AWS中为它设置了一个良好的Kubernetes环境。

哪些Python库是你最喜欢的(核心或第三方)?

哦,哇,很难确定我最喜欢的,因为我在各种工作项目中使用过很多很棒的,但我认为读者可能会发现有用但可能不知道的是:

你是如何成为Django的核心开发者的?

我其实不是Django的核心开发者,但这是一个常见的错误。在担任DSF总裁和REVSYS主要专注于Django Consulting之间,很容易犯错误。虽然这些年来我为Django贡献了一些补丁,但实际上我在Django上的工作还没有我在里面和周围的工作多。

然而,这个问题确实让我提到,我们Django社区实际上正在解散核心团队,并转向一个更加开放和透明的治理流程。你可以在这里阅读更多此【DEP】(https://github . com/django/deps/blob/master/draft/0010-dissolve-core . rst)。

Django让你兴奋的是什么?

虽然我发现Django的最新版本是日常工作的乐趣,但我对Andrew Godwin最近提出的让Django完全异步的提议感到兴奋。

REVSYS越来越多的应用程序需要实时组件,channels project和async在帮助实现这一点方面大有作为。

Django软件基金会正在进行哪些项目?

我们目前正在改造和自动化我们的会员流程,使其更容易成为会员,也更容易让董事会管理和跟踪流程。目前的流程有点奇怪,我们遇到过一些情况,因为大部分是通过电子邮件完成的,所以正在进行的会员申请被遗漏了。

除此之外,我们总是有我们通常的筹资需求,我认为明年的重点将是筹集足够的资金来帮助转移到async。

弗兰克,谢谢你接受采访!

本周 PyDev:froilán Irizarry Rivera

原文:https://www.blog.pythonlibrary.org/2021/01/04/pydev-of-the-week-froilan-irizarry-rivera/

本周,我们欢迎 froilán Irizarry Rivera(@ froidotdev)成为我们本周的 PyDev!弗罗兰在 Twitch 上做代码直播。弗罗兰帮助建立了全栈骑士,这是一个每月聚会和更多。你也可以在 Github 上看到他在做什么。

让我们花些时间来更好地了解 Froilán!

你能告诉我们一些关于你自己的情况吗(爱好、教育等)?

我来自波多黎各,我在那里上学并开始了我的职业生涯。我现在住在 DC 的华盛顿,在 GitHub 工作。我搬到了华盛顿的 DC,加入了美国数字服务公司 T1,然后我去了 Code.gov 的 T2 T3。所以开始的“我们只会在这里呆两年”变成了四年。

我也在市政技术和社区建设领域工作了几年,负责波多黎各的代码(目前由我负责)、DC 的代码,以及家乡的通宵达旦

除了工作之外,我真的喜欢阅读和写作。我真的很喜欢在城市中漫步,尤其是如果我可以买一杯咖啡,坐在水边思考。视频游戏和几乎所有的动画对我来说也是很重要的。

我为什么开始用 Python?

我的妻子是 Python 开发者,她向我介绍了这种语言。有一次,我决定单干,我厌倦了 Java,所以我在 PR 建立了一个小的 Python 开发商店,叫做黑仔兔子实验室(是的,杀手兔子????).一旦我开始使用 Python,就很难停下来!

你还知道哪些编程语言,你最喜欢哪一种?

Javascript/Typescript 和 Go 是我的其他语言。

我仍在学习围棋,虽然用得不多,但我喜欢使用它。

Javascript 最初是一种必需品,但随着时间的推移,我真的开始喜欢它了。尤其是从 ES6 开始增加了语言。最近,我喜欢在代码中使用类型,所以我开始大量使用 Typescript,而不是普通的 JS。

你现在在做什么项目?

我的大部分时间都被波多黎各的代码占用了,所以我没有在兼职项目上花太多时间。也就是说,我目前正在直播一个名为 github-project-migrator 的项目的一些开发。我已经休息了一段时间,并且已经开始用姜戈和 DRF 做一些我个人项目的 TODOs。和我的一个朋友一起,我们将开始着手制作 tesoro.pr ,这是一个针对波多黎各西班牙人的字典和语言资源的集合。在 Code for Puerto Rico,我与 contratospr-api 有一些 TODOs,这是一个索引政府合同数据并试图帮助人们调查和搜索它们的项目。

你知道,写完这些之后,我想我真的不会花太多时间休息了

哪些 Python 库是你最喜欢的(核心或第三方)?

从核心 Python 来说,我真的很喜欢 CSV 库。我不得不处理这种格式的数据,所以我觉得这个库很棒。

至于第三方库,我非常喜欢 Django Rest 框架。

为什么你要直播而不是写关于代码的博客?这种方法有什么利弊吗?

我发现直播比博客更个人化。我在那里向任何想看的人展示我是如何思考和工作的。

我开始用西班牙语直播的一个重要原因是用这种语言创作科技内容。latinx 开发人员“制造”技术并展示如何在项目中工作的需求很大,但例子很少。有大量的“入门”和类似教程的内容,但是在我看来,在开发过程中,如何从事一个项目以及如何做决策是缺失的。

我过去常常写博客,但是我发现写博客很难,而且内容可能会很快变得陈旧。在这一点上,我也刚刚开始使用直播来完成项目

播客 Fullstack Knights 是如何产生的?

有一天,我和一些朋友坐下来,开始头脑风暴,讨论我们认为我们的技术社区需要什么,我们进入了更高层次的会谈。我们创建了 Fullstack Nights meetup 来实现这一目标。几年后,创始人们离开了,但我们仍然想谈论技术,谈论一些无聊的事情,所以我们创建了 Fullstack Nights 播客,作为仍在运行的 meetup 的伴侣。

你还有什么想说的吗?

我想说谢谢你给我这个机会和这些书,它们很棒。我想我会对每个人说,保重,注意安全,过一个愉快的远离社交的假期。

感谢你接受采访,弗罗兰!

本周 PyDev:Gabriel Pettier

原文:https://www.blog.pythonlibrary.org/2015/05/25/pydev-of-the-week-gabriel-pettier/

本周,我们欢迎 Gabriel Pettier(@ t hirtman)成为我们本周的 PyDev。他是 Kivy 项目的核心开发者,他写了一篇非常有趣的博客。让我们花些时间来更好地了解我们的同胞 Pythonista!

你能告诉我们一些关于你自己的情况吗(爱好、教育等)

我是一名居住在法国巴黎的开发人员,我在网上被称为 tshirtman,我在法国 Valence 的一所技术学校学习了两年的计算机科学,然后在这个行业工作了两年后,我决定回到学校继续学习剩下的三年,以获得计算机科学工程学位。回到学校是一次相当冒险的经历,但由于很多原因,它是值得的。我有各种各样的爱好,画画,弹吉他,阅读,很多,这些天主要是电脑,当我设法把头伸出屏幕时就看书(然后这些天我仍然在屏幕上阅读,电子书很棒)。如你所见,漫谈也是我的爱好之一。

你为什么开始使用 Python?

当我第一年学习计算机科学的时候,我通过一本介绍 python 基础知识的小书发现了 python,当时我们学习 Ada、C 和其他东西。我也做了很多年的 BASIC 语言,那时也用 OpenGL 做了一些 C 语言,但我从未见过像 Python 这样的东西。我很快就爱上了它非常简洁的语法,“缩进就是语法”的事情让我觉得这是一个天才的举动,我仍然对很少有语言遵循这一点感到敬畏。此外,简单和不引人注目是我从 Basic 开始就没有见过的,这里没有随之而来的缺乏可维护性和缺乏功能的高昂代价。

你还知道哪些编程语言,你最喜欢哪一种?

和大多数计算机科学家一样,我很早就遇到了 C,并做了相当多的工作,但我主要了解到,在它简单的外表背后,它是一只复杂的野兽,随时准备在你移开目光的那一刻攻击你。我使用了一些 Java,一些 C++,当然还有 web 开发的常用工具,html/CSS/js——如果你问我的话,这是一组非常奇怪的技术——我看了 Haskell,我发现它非常有趣,但是我没有时间真正深入研究它,并对它做任何认真的事情,尽管它与 python 有相似之处,并且似乎比大多数其他可用技术更好地解决了 Python 的一些实际问题(类型检查、并行性)。Python 当然是我最喜欢的语言,这是理所当然的🙂(如果不是,我很确定 haskell 会是我的最爱)。

你现在在做什么项目?

我正在使用我们公司开发的产品进行多点触控桌面上的对象交互,目前正在开发音乐交互和数据可视化的场景,UX 在设计人们如何与增强对象交互方面做了大量工作,同时也面临非常好的技术挑战,使我们的解决方案灵活并可由第三方扩展。Python 通过让复杂变得简单,让不可能变得可能,提供了巨大的帮助。

哪些 Python 库是你最喜欢的(核心或第三方)?

作为一名 kivy core 开发人员,我有点偏见,我的大部分工作都是基于它的,能够如此快速地用它定制设计界面,享受可移植性和破解我需要的任何功能,这是一种真正的快乐,因为它是如此开放的设计。

除此之外,我可以说我喜欢 Flask,当我需要创建一个简单的网站时,它是我的首选框架,多年来,它已经成为一个非常成熟和功能齐全的框架,尽管我没有做很多 web 开发,但我有信心在几个小时而不是几天内完成我的表单并上线。

你还有什么想说的吗?

我想鼓励人们投身于开源项目,为你正在使用和喜爱的工具助一臂之力,将美好的体验转变为现实生活中的冒险,你会学到很多东西,无论是技术方面还是人性方面,这将给你带来难以置信的机会,你会与他人分享一些精彩的东西。哦,还有看书,很多书:)。

非常感谢!

“我一整年都穿 t 恤,”努夫说🙂

为神秘语言爱好者准备的一个小游戏,寻找神秘语言!

唉,我差点忘了我懂一些 PHP,但是和 C 一样(或者比 C 更糟),我知道的足够多,我不想太多——或者根本不想——用它,最好,我很乐意忘记我所知道的关于它的一切。

为什么,是的,看看http://www.tangibledisplay.com/en/#solutions

是的,公制的,没有其他种类,真的。

一周的最后 10 个 PyDevs

本周 PyDev:Gaetan Delannay

原文:https://www.blog.pythonlibrary.org/2020/04/27/pydev-of-the-week-gaetan-delannay/

本周我们欢迎 Gaetan Delannay 成为我们的本周 PyDev!盖坦是 Appy、Python 网络框架和 T2 企业家的创造者。

让我们花些时间更好地了解盖坦吧!

你能告诉我们一些关于你自己的情况吗(爱好、教育等)

对我来说,谈论我自己是很不寻常的,但是让我们试一试。大约 11 年前,我创办了一家名为 GeezTeem 的个人公司。我 90%的时间都在用 Python 编程,为比利时的公众和非营利部门开发和维护大约十个软件产品。作为一个偏执狂,所有这些东西都是用 Appy 制作的,这是我自己的(GPL)框架,用于用 Python 构建 web 应用程序。

被开源哲学所说服,我的大部分代码都是开源的,在 GPL 许可下发布。在用自己的翅膀飞行之前,我已经在各种公司、公共实体或研究中心工作了 10 年,作为开发人员、测试人员、研究人员、质量工程师或软件架构师,在 3D 图形、需求工程、质子治疗控制软件或管理信息系统等各种领域学习和试验软件工程的所有方面。

起点是比利时那慕尔大学的软件工程硕士学位。除了编码,写作(法语),打网球和作曲是我最喜欢的活动。在以 Null ID 的名字发布了我的第一张专辑后,有人告诉我,我可能受到了精神影响。

你为什么开始使用 Python?

20 多年前,在我的第一份工作中,一位新任命的质量经理(我的老板)向我解释了他对软件质量的创新方法:用 Python 开发工具和脚本,以促进软件开发项目。这就是我学习 Python 的方法。我开始尝试这种语言,从小脚本开始,最终创建了一个复杂的工具,生成存根和框架,用于互连用 C++编写的软件前端和用 Ada 编写的后端。

你还知道哪些编程语言,你最喜欢哪一种?

我有 C,C++,Ada,Java,Python 和 web 技术(HTML / CSS / Javascript)的经验。Python 显然是我的最爱。对我来说,它是最优雅、简洁和强大的编程语言。它允许我独自构建大型、复杂但实用的面向对象软件产品。

你现在在做什么项目?

作为 GeezTeem,我所有的项目都是基于网络的管理系统。几乎有 40 个公共行政部门(包括一个议会和两个政府)使用 HubSessions 来准备、讨论和发布他们的官方决定。https://be-coag.be/是血友病患者的在线工具。PlanetKids 允许父母为他们的孩子注册参加由比利时两个城市的所有协会提议的夏季活动。Plat-com 是一个合作平台,由几十个从事儿童保育工作的协会使用。

哪些 Python 库是你最喜欢的(核心或第三方)?

多年来,我一直被 Zope 对象数据库 ZODB T1 所吸引,它对开发者来说是完全透明的。pyUNO,允许在服务器模式下控制 LibreOffice,也是必须的。在核心 Python 库中,我最近发现了 pathlib,它极大地提高了基于路径的操作的可读性。

Appy 项目是如何产生的?

15 年前,我从事一个大型 Java 项目,部署了几台 J2EE 链式服务器。我被要求使用 XSL-FO 转换开发 PDF 导出。我花了将近 10 个人工日来制作第一个!一场噩梦。我开始考虑使用 Python 和 LibreOffice 以更有效的方式完成这些任务。POD (Python OpenDocument),Appy 最著名的部分诞生了,最初是在火车上手写在纸上的。Appy.pod 让我将 10 个人工日减少到 10 个…分钟。后来,Appy 成长起来,成为构建 web 应用程序的完整框架。最初基于 Zope 和 Plone,当前版本(0.9)仍然对 Zope 有依赖性。Appy 1.0 正在积极开发中,将在几周内准备就绪。它已经成为一个独立的、全功能的 web 框架(重新)用 Python 3 编写,使用 ZODB 作为数据库(独立于 Zope 打包)。

您在这个产品包中克服了哪些挑战?

构建应用服务器的想法是一个巨大而疯狂的任务。我花了几年时间来开发它,主要是在晚上和周末,但现在,两年以来,它的部分资金来自我的客户。Appy 1 是我关于软件开发的知识和经验的总结和综合。我很高兴能在不久的将来出版它!

你还有什么想说的吗?

Appy 是在 GPL 下发布的,因此是一个污染性的开源许可证。我已经收到了几个在 LGPL 发布 Appy.pod 或者获得商业许可的请求。这两种解决方案都不符合我的开源愿景,但我不想阻止人们使用 Appy.pod。最后,我找到了解决这一困境的方法,并开发了一个商业版的 Appy.pod…功能受限。如果你阅读 Appy 代码,你会发现一个叫做 CommercialError 的异常,它在 Appy 的商业版本中被调用,每次用户试图使用一些高级功能时:

class CommercialError(AppyError):
    '''Raised when some functionality is called from the commercial 
       version but is available only in the free, open source version.'''
    MSG = 'This feature is not available in the commercial version. It is only available in the free, open source (GPL) version of Appy.'
    def __init__(self): AppyError.__init__(self, self.MSG)

在向第一家提出要求的公司提出这一建议后,我再也没有收到他们的任何消息。他们可能认为我疯了。但是从那以后,最近有两家公司,一家在法国,一家在英国,买了我的商业许可证。

盖坦,谢谢你接受采访!

本周的 PyDev:Geir Arne Hjelle

原文:https://www.blog.pythonlibrary.org/2019/06/24/pydev-of-the-week-geir-arne-hjelle/

本周,我们欢迎盖尔·阿恩·Hjelle(@ gahjelle)成为我们本周的 PyDev!盖尔是真正的 Python 的的定期撰稿人。你也可以在 Github 上找到他的一些作品。现在,让我们花点时间来了解一下 Geir!

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

你能告诉我们一些关于你自己的情况吗(爱好、教育等)

当然可以。我在挪威北部一个岛上的美丽村庄长大。我的家人已经搬到了南方,但我仍然经常去北方拜访朋友,享受大自然。我一直喜欢玩数字,所以我很自然地在大学里学习了数学。我在特隆赫姆的挪威科技大学攻读硕士和博士学位。在读博士期间,我还在我最喜欢的大城市巴塞罗那呆了一年。直到今天,我每年都会在巴塞罗那待上一两周。

完成学业后,我在密苏里州的圣路易斯住了三年,从事邮政工作。华盛顿大学博士。后来我搬回了挪威,目前我住在奥斯陆,从事数据科学方面的工作,主要是使用 Python。

我也花了相当多的空闲时间在编程上。我为真正的 Python 编写教程,并帮助 T2 教孩子们如何编写代码。我喜欢在户外。在挪威,冬天有很多滑雪的机会,夏天有很多徒步旅行的机会。此时此刻,我正躺在奥斯陆郊外森林里的吊床上晒太阳。最后,我应该指出,我喜欢和朋友聚在一起玩棋盘游戏。

你为什么开始使用 Python?

有趣的是,实际上我花了很长时间才熟悉 Python。我几乎一生都在做某种编码工作。早在 80 年代,我就在 Commodore 64 上开始学习 BASIC,我认为我最自豪的成就是发现了GOTO是邪恶的。我还记得用魔法线IF PLAYER="Geir Arne" THEN SCORE=SCORE+100破解了我的一个游戏,这在某种程度上证明了了解一些基本编程的力量(以及随之而来的责任)。

我第一次接触 Python 是在一次暑期实习中,当时我和一个非常熟悉 Python 的人一起工作。这就是 Python 1.6,它看起来已经非常强大了。当时我正在处理 Java、C 和 C++,具有讽刺意味的是,Python 的简单性让我感到困惑。没有“main()”方法,它是如何工作的?进口方面到底发生了什么?最后,我回到了我的谨慎代码。

终于在 2012 年左右重新拿起了 Python。当时,我正使用 Matlab 作为建模工具。Matlab 很擅长做它擅长的事情,但我也开始感觉到它的一些局限性。在一次内部黑客马拉松上,我和一位同事想要创建一个工具来自动生成一些报告,我们决定在这个项目中尝试 Python。这一次,它点击得更好。我对我们创建工具的简单快捷印象深刻。在下一次黑客马拉松上,我们做了一个概念验证,展示了如何将 Python 集成到 Matlab 模型管道中。虽然我们得到了高层的一些支持,但不幸的是,这在 PoC 阶段就结束了。

作为 2014 年的新年决心,我挑战自己更好地学习 Python。幸运的是,那一年几件事一起发生了。我开始了一份新工作,在那里我可以使用 Python 作为我的主要语言。我还参加了一些会议,了解了更多关于 Python 社区和生态系统的知识。我学到的越多,对语言设计的印象就越深刻。该语言的核心非常简单和一致,同时非常灵活。与此同时,支持工具和包在过去几年里已经真正成熟了。我看到了一个很大的进步,就在我使用 Python 的这几年里。

你还知道哪些编程语言,你最喜欢哪一种?

在这一点上,Python 显然是我的最爱,也是我需要高效工作时会用到的语言。然而,还有一些其他的语言,我有非常美好的回忆。读书期间,我第一次开始使用 Linux,偶然遇到了 Awk。我拿起了奥莱利的经典 Sed & Awk 书——主要是因为封面上的怪异动物——立刻成了粉丝。Awk 与通过管道将小型专用工具连接在一起的整个 Unix 哲学无缝地合作。最后,我用 Awk 创建了几个小工具,包括我在硕士论文中使用的一个创建分形的小语言。

我对 Scratch 也印象深刻。虽然它可能具有玩具语言的外观,但它支持所有“严肃的”编程概念。我从事儿童编程教学已经有几年了,Scratch 是一个非常棒的平台。孩子们通常在打开网页的 5 分钟内就起床自己编码了。在一个小时内,他们创造了自己的游戏。实际上,我也用 Scratch 做过一些半严肃的项目。然而,我发现的主要限制是没有很好地支持正确的数据结构(我仍然更喜欢用键盘来编码)。

最后,我希望有一天有时间更恰当地学习一门纯函数式语言。我想哲学真的激起了我大脑中数学部分的兴趣。有一个有趣的项目叫做 Coconut ,它在 Python 之上添加了函数式编程语法。另一个我希望有时间了解更多的平台是二郎和它的现代表亲仙丹。可伸缩性和并发特性看起来真的很棒。

你现在在做什么项目?

我最近开始在一家数据科学和机器学习咨询公司工作。在那里,我参与了几个不同的项目,从构建客户分析模型到基于视频的足球建模。之前,我与挪威测绘局合作,在那里我们正在建造一个工具来帮助监测地球是如何在太空中翻滚的。我真的很喜欢以有趣和有用的方式将编程和建模结合起来的项目。

在我的常规工作之外,我正在为我为 Real Python 写的两篇文章做最后的润色:一篇关于导入是如何工作的(回答我自己以前的所有问题),另一篇比较类、上下文管理器和装饰器。今年我很幸运地去了 PyCon US,在那里我做了一个关于使用一种插件保持代码模块化的演讲。我正在润色提供这些插件的 pyplugs 包的文档和一些代码。

哪些 Python 库是你最喜欢的(核心或第三方)?

我非常感谢这些年来为 Python 数据科学堆栈所做的所有努力,我所做的大部分工作在某种程度上都涉及到了 numpy 。这个令人惊叹的库确实是 Python 成为数据科学首选语言的核心。

让我也提一下另一个不太为人所知的库:品脱是一个用于处理单元和物理量的包。它包装了numpy,以便您可以向数组中添加单位,或者您可以使用它直接进行简单的单位转换。你知道一杯药剂师茶大约是 0.14 盎司吗?

>>> import pint
>>> u = pint.UnitRegistry()`

> > > ad = 1 * u .药剂师 _dram
> > > ad.to("盎司")

你是如何开始接触真正的 Python 的?

在某个时候,我偶然看到了丹·巴德的个人博客,非常喜欢他的文章和见解。然后,2018 年初,我听到丹在 Python Bytes 播客上谈论他如何接管真正的 Python 网站,以及他正在寻找贡献者来帮助他编写教程。我觉得再挑战一下自己会很有趣,同时也可以在 Python 社区中认识更多的人,所以我联系了 Dan。

与整个真正的 Python 团队一起工作是一次奇妙的经历。我以前没有太多的写作经验:我写过一些科学文章,也为想学习编程的孩子做过一些教学材料。然而,在团队其他成员的支持下,尤其是我们的编辑乔安娜,我现在对自己的写作更有信心了。此外,我从我的同事和对我们的文章有疑问和见解的读者那里学到了很多。

今年五月,我们有幸加入了 JetBrains 在克利夫兰举行的 PyCon 上的内容创作者展台。很高兴终于见到了我的许多真正的 Python 同事,在那之前我只是通过 Slack 和他们的文章和评论才知道这些。此外,一些读者停下来聊天。我必须承认,其他人阅读我写的东西,甚至觉得它很有用,这让我感到非常谦卑。

我看到你自愿教孩子们编程。你在做这件事的时候学到了什么?

早在 2013 年,一些志愿者聚集在一起,在挪威发起了“lr Kidsa Koding”运动。它的目的是在许多不同的领域教孩子们编程。目前,将编程引入学校的努力进展缓慢,同时也有代码俱乐部和代码营,孩子们可以在校外学习编程。

今天,对于任何想学习编程的人来说,都有很好的工具。在我参与的代码俱乐部中,我们主要使用了 ScratchMicro:Bit 和 Python。教授更专业的工具也很有趣,比如用于音乐编程的 Sonic Pi ,用于动画编程的 Processing ,以及用于在 MineCraft 游戏中创建计算机并对其编程的 ComputerCraft

教孩子(实际上是任何人)编程是一次非常有益的经历。尤其是当事情进展顺利的时候,你看到他们有了新的想法,消灭了一个讨厌的错误,或者仅仅是意识到他们新发现的知识的力量。一些最喜欢的时刻是:

  • 看到一个孩子终于知道如何正确设置电路,他为自己制作了一个 LED 灯而自豪,他在房间里跑来跑去,与每个人击掌,
  • 看着一个 10 岁的孩子站在 200 名专业开发人员面前,告诉他们一个 Micro:Bit 微控制器是如何工作的,以及如何在上面创建自己的指南针应用程序,
  • 有经验的孩子很快就能对潜在的逻辑有实际的理解,并且能够用他们游戏的参数来使游戏变得更难或更有趣。

在教孩子/老师编程时,你面临哪些挑战?

我想教孩子和其他没有接触过任何早期编程的人的主要区别是,我需要强调直觉而不是技术细节。开始时,他们希望看到事情发生,而不是陷入关于变量、类型、指针和对象的长篇大论。有了 Scratch 和 Micro:bit 这样的工具,很容易上手,只需摆弄一下积木,看看会发生什么。

然后在某个时候,孩子们要么不知道如何做他们想做的事情,要么不明白为什么程序没有按照他们期望的方式运行。能够在这一点上增加他们的直觉和理解,是一个非常有趣的教学实践。

你还有什么想说的吗?

我对开源的力量和社区团结起来创造工具和资源使我们成为更好更有效的程序员的能力感到惊叹。我很高兴能为这个不断增长的人才库贡献自己的绵薄之力。我认为像你的采访系列这样的活动很好地展示了社区的多样性,以及每个人如何在适合自己的水平上参与进来。

盖尔,谢谢你接受采访!

本周 PyDev:Georg Brandl

原文:https://www.blog.pythonlibrary.org/2016/06/13/pydev-of-the-week-georg-brandl/

本周,我们欢迎 Georg Brandl ( @birkenfeld )成为我们本周的 PyDev。Georg 是 Python 语言的核心开发人员,已经工作了 10 多年。他也是 Pocoo 团队的一员。通过查看他的 Github 简介,你可以看到哪些项目让他兴奋。让我们花一点时间来了解他更多!

你能告诉我们一些关于你自己的情况吗(爱好、教育等)

我学的是物理,在博士项目期间,我在一家大型德国研究中心工作,在那里,软件是进行研究的重要部分,外部科学家来这里使用我们的设施进行他们自己的实验。与此同时,我仍然在同一个地方,但我的主要工作是开发那个软件。我们广泛使用 Python,基本上是给我们的客人一个非常漂亮的 Python shell 作为主用户界面。

你为什么开始使用 Python?

高中快结束时,我厌倦了 Windows 和早期的工作,正在寻找新的东西。NET 和 PHP。不知何故,简单和友好的社区非常有吸引力。那是每个人都开始写维基的时候,所以我用 Python 开发了我自己的维基,并得到了一些比我想象的更快的东西。我很快开始为 CPython 项目本身做出贡献,并在大约 10 年前成为一名核心开发人员。

你还知道哪些编程语言,你最喜欢哪一种?

作为一名 CPython 开发人员,我非常了解 C 语言,尽管我常常希望自己没有。这经常是必要的和有用的(特别是因为我在一个高度面向 Unix 的环境中工作。NET 和 Java 代码库少之又少)。Haskell 的情况正好相反:我不久前学习了它,喜欢它的概念和美感,但是从来没有真正在任何地方使用过它。(这可能是一件好事,因为它没有用杂乱的日常细节来破坏美感。)

最近,我对 Rust 产生了兴趣,并爱上了它,因为它结合了 Haskell 的许多美丽的概念和 Python 的实用选择,并且具有每个从事大型 Python 代码库工作的程序员至少时不时梦想的静态类型。它仍然是一门年轻的语言,但我认为它可以很好地补充 Python(仍然是我的最爱)。

你现在在做什么项目?

我现在的开源时间非常有限,但我会努力继续帮助我的项目——主要是 CPython、Sphinx 和 Pygments 的开发。特别是对于 Sphinx 来说,我独自承担了很长一段时间,我很高兴几年来我们有一个活跃的维护团队。

哪些 Python 库是你最喜欢的(核心或第三方)?

我不得不说我热爱整个科学生态系统,我想特别强调 numpy 这些人正在做惊人的工作,而 numpy 经常被认为是理所当然的。还有 Matplotlib,与其说是因为它的可见性,不如说是因为它在我的科学生涯中对我有着不可估量的价值。最后,我喜欢 pytest 和它的插件,它们可以快速地编写测试套件,而且非常简单。

你还有什么想说的吗?

可能像许多其他核心开发人员一样,我想邀请每个人看看他们是否对“回馈”感兴趣(真的,在为 Python 做贡献的同时学到了很多)。请访问核心导师列表或 IRC,我们将很高兴与您聊天和合作!当我们在今年晚些时候切换到 Git/Github 时,事情会变得更加简单🙂

感谢您接受采访!

本周 PyDev:詹保罗·罗多拉

原文:https://www.blog.pythonlibrary.org/2017/10/09/pydev-of-the-week-giampaolo-rodola/

本周我们欢迎詹保罗·罗多拉(@格罗多拉)成为我们的本周 PyDev!詹保罗是 psutil 项目以及 pyftpdlibpysendfile 包的创建者和维护者。他还是 ftplib、asyncore 和 asynchat stdlib 模块的核心开发人员和维护人员。你可以在 Github 上查看他的一些作品或者查看他的博客!让我们花些时间来更好地了解我们的同胞皮达尼斯塔!

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

你能告诉我们一些关于你自己的情况吗(爱好、教育等)

我是一个远程工作的 Python 自由职业者。我是意大利人,目前在布拉格工作。我的主要爱好是编程,也喜欢弹吉他、唱歌和天文。我也喜欢旅行,在过去的 3.5 年里,我一直处于半游牧状态。因此,我也可以同时工作和旅行,尽管如果我得到一个长期的演出,我更喜欢留在布拉格。我没有受过正规的 IT 教育。我学编程是因为好玩,结果不小心用它付了房租。

你为什么开始使用 Python?

最初(21 世纪初),我对黑客和地下黑客场景着迷。我记得我曾经阅读大量的文章和黑客电子杂志。我对网络特别感兴趣,并对可以通过网络利用的漏洞着迷。但我有一个巨大的限制:我不懂任何编程语言,那些文章通常包含用 c 编写的代码示例和漏洞。我被卡住了,所以我决定学习 c。我开始阅读教程,但很快我就泄气了,因为我无法理解这种语言(特别是指针)。我没有放弃,并开始寻找一种更容易学习的语言,最终我上了 Python 教程(我不记得具体是怎么上的)。与 C 相反,我发现 Python 很容易学,玩起来非常有趣。我并不确定我在做什么,但是我把我的努力集中在(原始)套接字和 libpcap 上,因为这是我实现我的想法(一个后门)所需要的。几个月后,我发布了我的第一个与黑客相关的工具:一个使用 ICMP 而不是 TCP 的远程 shell。不久之后,我开发了第二个工具,一个端口敲门器,它基本上是一个嗅探器,监听数据包的组合,以便打开防火墙上的端口。有趣的是,在这两个黑客玩具发布后不久,我逐渐开始对黑客失去兴趣,但我仍然喜欢网络和套接字,所以我决定我要写一个服务器,我不在乎哪一个。我开始阅读 RFC-959,FTP 协议规范,我有点喜欢它,所以我最后写了我的第一个网络服务器!最初它是一个命令行工具,使用线程实现并发,后来我使用事件驱动的方法从头开始重写,最终成为一个面向其他开发人员的库: pyftpdlib 。那是我的第一个“官方”开源项目,包括一个 VCS、一个 bug 跟踪器和(一段时间后)一个实际的用户群。

你还知道哪些编程语言,你最喜欢哪一种?

我知道 C,主要是因为我为了 psutil 不得不学,但是我不是特别擅长,也不是特别喜欢。🙂

你现在在做什么项目?

我现在唯一积极参与的项目是 psutil 。我不时参与的其他项目有 pyftpdlibpysendfileconfix 。我还时不时地为 python-dev 贡献一些补丁,或者在我特别有灵感的时候提出一些关于 python-ideas 的建议。

哪些 Python 库是你最喜欢的(核心或第三方)?

我想我最喜欢的是 docopt 。其他受欢迎的还有龙卷风(因为代码质量很棒)和古玩(因为太棒了)。

你是如何开始 psutil 项目的?

我认为这发生在 pyftpdlib 开始获得用户群的时候,我收到了我的第一份工作邀请。通过 pyftpdlib,我学到了大量关于网络、异步编程和 API 设计的知识。我甚至成为了 ftplibasyncoreasynchat stdlib 模块的维护者,因为整个 FTP 服务器都是以它们为中心,而且维护的很差。但最重要的是,我发现我喜欢打理一个开源项目:为它写文档,让它一个版本接一个版本地发展,回应错误报告和功能需求,与用户互动,等等。这很好,我想要更多。

那时,我有一个住在新泽西州的“远程朋友” Jay ,他也是一名 Python 开发人员。他帮我翻译了一些杰夫·敦哈姆的美国喜剧节目,我和其他几个朋友用意大利语给这些节目配音,然后放到了 YouTube 上。他为 pyftpdlib 贡献了几个补丁,他还想开始一个 Python 项目。我认为是他提出了“查询过程库”的想法。我,我个人,并没有太在意。我只是想做一些“真实的”事情,可能的话一起做,他的想法听起来不错。我们做了一些研究,注意到有一个类似的 Python 项目叫做 PSI 。杰伊提议加入他们的团队,为 PSI 项目做贡献,但我不想这样做,所以我们最终在从零开始。我编写了第一个 Python 框架(Process 类)和 Linux 实现,Jay 编写了 Windows 和 OSX 的初始 C 扩展。这是有道理的,因为当时我不知道任何 C 语言,我在 Linux 上,而杰伊知道 C 语言,在 OSX 上。这个项目一开始并没有受到太多关注。老实说,与 pyftpdlib 相比,我认为它是一个玩具,不会被注意到。事实上,这就是接下来几年发生的事情,在此期间,我更加关注 pyftpdlib,这同时给我带来了另外两个好工作机会,他们希望为它定制,甚至带我去拜访我们。与此同时,Jay 有了一个女儿,他逐渐对 psutil 失去了兴趣,并最终放弃了这个项目(尽管多年后我终于在新泽西见到了他本人=)。老实说,一开始我很难过,也有点担心,因为他是 C 程序员。这基本上迫使我提高我非常有限的 C 技能,从那时起,psutil 基本上成为一个单独的项目。在这个过程中,我不断增加功能,收集用户反馈,学习系统编程、虚拟化、自动化、API 设计,以及如何写文档…你说吧。在某个时候,我不确定是什么时候,我意识到就用户基础而言,psutil 变得比 pyftpdlib“大”得多,而 pyftpdlib 逐渐受到我越来越少的关注。9 年后,psutil 是一个非常受欢迎的 Python 库,拥有稳定的用户基础,它仍然占据着我空闲时间的重要部分,尤其是在我旅行的时候,使用它仍然给我很大的满足感。

对于想加入开源项目的新开发者,你有什么建议吗?

对我来说,在我学会了这门语言的基础知识之后,有一个想法和一个实际的项目是至关重要的,因为我需要一个目标。事实上,我首先想到了一个主意(写一个与黑客相关的网络工具),然后我学习了这门语言。我认为这非常重要,因为你冒着投入大量时间获取知识的风险,如果你不知道如何利用这些知识,你可能最终会用不上。编程的真正乐趣来自于解决问题,所以解决一个真正的问题是至关重要的。如果你没有,就找一个,而且要快,因为失去兴趣的风险是真实存在的,尤其是在开始的时候,即使你花了 2-3 个月的时间在业余时间阅读教程。这正是我在开始 pyftpdlib 和 psutil 项目时所做的。我没有写 FTP 服务器,因为我需要一个。我真的不关心用 psutil 监控系统或系统编程。我不是我项目的用户。我只是在寻找一个问题——任何问题——来解决,可能是在我感兴趣的领域(网络),因为我真的很喜欢写代码。我在找借口开始编码,一直编码下去。其次,如果你打算以编程为生(我不是),请记住,你的开源项目并没有真正给你带来金钱,但它可能会成为你的简历。这对我来说尤其重要,因为我没有接受过正规的 IT 教育,也没有正式的文件证明我能做什么。我只是对编程和我的开源项目充满热情。从长远来看(至少对我来说),这是开源最实际的回报之一:从你的(公共)工作中获得认可,并(可能)找到好的工作。这就是我对我的朋友们说的话,他们不明白我为什么免费做这些。这是一种爱好,碰巧也是一种潜在的长期投资。🙂

谢谢你接受采访!

本周 PyDev:Glyph Lefkowitz

原文:https://www.blog.pythonlibrary.org/2016/10/17/pydev-of-the-week-glyph-lefkowitz/

本周我们欢迎 Glyph Lefkowitz ( @glyph )成为我们本周的 PyDev!Glyph 是 Twisted 的创建者/维护者,这是一个异步事件驱动的网络引擎。字形找到时间写一个博客,你可能会觉得很有趣。你也可以看看 Github 看看他参与了哪些项目。让我们花几分钟来更好地了解 Glyph!

你能告诉我们一些关于你自己的情况吗(爱好、教育等)

我就是这个人,你知道吗?

我开发了很多开源软件,既有工作上的——我为 Rackspace 维护 Twisted,也有大量相关的生态系统项目——也有个人方面的。

我的爱好主要围绕计算机。例如,我是一个狂热的电子游戏迷。我还涉猎了图形设计、3D 渲染和计算机生成的音乐;虽然没什么值得分享的。如果时间允许,我也是一个真正的大读者,尤其是科幻小说和幻想小说。

综上,我是经典意义上的书呆子。为了完成这幅漫画,我的妻子也是一名程序员,所以我的个人生活也围绕着计算机技术。我们都对信息安全非常感兴趣,所以我花了相当多的时间来确保我们的系统是最新的,我们的密码是轮换的,等等。

你为什么开始使用 Python?

我开始觉得我的 Python 起源的故事被重复讲述了很多次,人们对我的厌烦程度不亚于他们对金刚狼的厌烦程度。但是,这里有:

我当时在做一个视频游戏,“扭曲的现实”,最初是用 Java 写的。

《扭曲的现实》旨在让作者在引擎内和网上进行内容创作,可能会有玩家观看。这意味着许多行为必须是动态的和运行时可修改的,这意味着对象有许多集合数据结构来将项目名称和动词映射到各种模拟对象和动作。

我有一份用 Perl 编写日历系统的暑期工作,随着我越来越多地遇到 JVM 的问题,我开始寻找其他可能使用的语言。我在 JVM 上遇到的一个主要问题是 ui 行为不正确,明显滞后和缓慢(记住;这是 1999 年左右)无论我如何调整他们。我开始用 C 语言为 Linux 重新编写客户端软件,以充分利用 GTK。我相信我最初发现 Python 是因为其他开发人员之一指出可以使用更高级的语言编写 GTK ui,所以我写的第一件事是为我们的游戏服务器编写 PyGTK 客户端。

我在编写客户端时注意到的一件事是,我用 Java 手工拼凑的许多高级动态行为构造都内置在 Python 中——比如动态添加对象属性的能力。我经常使用的其他方法,如散列表,涉及的输入更少;x = {} ‘而不是’ import Java . util . hashtable;Hashtable x = new Hashtable();'。

因为它似乎有我需要的所有东西,所以在用 Python 重写 Twisted Reality 客户机后不久,我重写了服务器并获得了大约 20:1 的代码压缩率。剩下的,当然是历史了。

你还知道哪些编程语言,你最喜欢哪一种?

我对 Bourne shell、Perl、Emacs Lisp、Smalltalk、C、C++和 Java 略知一二。

我最喜欢的可能是 Smalltalk。理论上,我实际上发现 Smalltalk 比 Python 更漂亮,因为它设法用如此少量的语法构建了一个完整的语言。当然,实际上,没有任何实际的 Smalltalk 实现对现实做出必要的妥协,使之成为编写 Python 的愉快体验。

你现在在做什么项目?

本身就是一个经久不衰且越来越有活力的社区,我仍然为它奉献了相当多的时间。我还在 Mimic 上工作,这是一个模拟 API 调用的服务器;那个项目对我来说很重要,因为我是改进软件测试的大力倡导者,而测试艺术中最被忽视的部分之一是构建可靠的、确定性的赝品,这些赝品可以跨项目使用。

除此之外,我在 Rackspace 的研究角色的一个好处是,我可以灵活地试验新项目。有时这意味着对其他库的维护做出一些上游贡献,有时这意味着实验性的新项目。我的状态机库 Automat 就是这样一个附带项目,它允许轻松表达正式的状态机。另一个是 Horsephrase ,这是一个简单的密码生成器,旨在将更多的信息理论应用到生成可发音、可交流的密码的过程中。

最近,我一直致力于对基于 Twisted 的 web 微框架 Klein 的一系列增强,使其与其他框架相比更具竞争力,并使其更具特色,为这些框架的用户所熟悉。

哪些 Python 库是你最喜欢的(核心或第三方)?

最近,我的博客上有一篇著名的报道,我认为‘attrs’是一个每个人都应该使用的神奇图书馆。它还需要一些改进,但我真的希望它在某个时候成为标准库的一部分。

作为一门编程语言,你认为 Python 将何去何从?

我认为我们正处于十字路口。

Python 如此吸引人的一个原因是它的通用性。它是所有语言中第二好的语言;如果你想要绝对最好的 web 语言,例如,在库和开发者的可用性以及上市时间方面,Ruby——由于 Rails——可能是一个更好的选择。如果你想要企业计算或分布式系统的最佳语言,Java,或者至少是 JVM 生态系统中的某种语言,可能比 Python 更好。如果你想做统计,R 或 MATLAB 可能有更多的功能可用。

但是,如果你想写一些与需要从企业数据库做报告的 web 应用程序相关的数字分析,Python 将轻而易举地击败这些语言。

因此,作为一个社区,我认为我们面前有两个选择。要么我们继续拓展边界,继续让 Python 更通用——比如,让它在浏览器中运行,让它在移动设备上运行得更好——要么我们对它已经做得很好的地方沾沾自喜。

现在,几乎可以在任何地方为任何应用程序运行 Python。但这并不意味着它是实用的,或被接受的。如果你去做前端的东西,有一个强烈的期望,你会使用 JavaScript 框架,如反应。这就是为什么我认为像这样的问题如此重要。回到过去,Python 与真正可怕的替代品竞争,它可以轻而易举地击败这些替代品:例如,大量的闭源 C++。现在,竞争更加激烈:例如,浏览器中带有 React 的 ECMAScript 7,后端带有 JMX 等高级功能的 Clojure。

现在我担心的是前端的东西,因为这似乎是 Python 最弱的地方,也是最有可能取得另一次突破的地方。(坦白地说,因为我想写很酷的前端东西,我没有大量的时间来投资。)

我认为需要重点关注开发者体验和开箱即用的性能。但是在其他领域我们已经取得了进展,但是社区并没有意识到这一点。例如,尽管 PyPy 的性能与其他语言运行时相比非常有竞争力,但许多博客仍然会说“python 很慢”之类的话。我认为更多的人需要检查 PyPy 对于大多数服务器端应用程序来说,默认情况下使用相对较慢、占用大量内存的 CPython 是没有意义的。当然,某些 C 扩展仍然需要 CPython,所以如果它对您有用的话,使用它也没什么不好。但是,当程序员仍然将 CPython 作为默认设置,对其进行基准测试,然后甚至在发现 PyPy 之前就宣称“Python 很慢,我们将在 Go 中重写这一切”时,CPython 就是一个糟糕的默认设置。

你对当前的 Python 程序员市场有什么看法?

我没有太多的专业知识,但我能看懂图表。这些图表都在说同样的事情:

无论你如何计算,Python 都是十大编程语言之一,并且它仍然是一个令人兴奋的动态生态系统。坦白地说,我很长一段时间都在担心 2/3 分裂,我认为从长远来看这可能会严重伤害 Python。但是,尽管正在进行的迁移过程引起了混乱,Python 仍在继续发展,库生态系统也在继续与时俱进,甚至在继续支持 Python 2 的同时。

你还有什么想说的吗?

Python 社区中我最喜欢的部分之一是它对多样性的承诺。由于这种承诺,它是最友好、最受欢迎的开源社区之一。我们经常理所当然地为在这方面取得的进步而自我表扬。

然而,有一件事我认为很重要,那就是我们绝对不能止步于此,因为你们给了我一个空间,让我明确地说出我认为重要的事情,我应该这样做。我们仍然需要欢迎。

一个简单的方法是在你的开源社区中对初学者和不熟悉的人友好和开放。感谢每一个贡献者的补丁——即使补丁很糟糕,他们仍然花时间来学习你的项目并提交一个补丁,这种时间投入是对你工作的信任票!另一方面也是如此——有时用户比维护者有更多的地位和权力。一定要感谢维护人员的努力,尤其是如果他们是志愿者的话。

但是仅仅做简单的事情是不够的。开源社区的领导者需要参与推广计划。软件公司的经理们需要积极工作,消除偏见和不公平(这不一定是一回事!)从他们的招聘过程中。

总之:到目前为止,Python 社区做得很好,但是我们需要继续努力!

本周 PyDev:Haki Benita

原文:https://www.blog.pythonlibrary.org/2021/04/26/pydev-of-the-week-haki-benita/

本周我们欢迎 Haki Benita ( @be_haki )成为我们本周的 PyDev!Haki 是真实 Python 的贡献者。你也可以在 Haki 自己的网站或者查看他们的 GitHub 简介上看到一些 Haki 的作品。

让我们花些时间更好地了解 Haki 吧!

你能告诉我们一些关于你自己的情况吗(爱好、教育等)

我的名字是 Haki Benita,我是一名软件开发人员和团队领导,住在特拉维夫。我有经济学和计算机科学的学士学位和工商管理硕士学位(但不要因此而反对我)。在我现在很少的空闲时间里,我喜欢写作,和家人呆在一起。

你为什么开始使用 Python?

我的职业生涯始于一家大型组织的 DBA。我在那里使用的技术是你可以从大公司那里得到的。那里没有 Python。

当我离开这个组织时,我加入了一家小公司。他们开发了一个 Android 应用程序,他们需要一个仪表盘和一个 API。当时我对 web 开发一无所知,所以我选择了 Django,因为它看起来是个不错的选择。这就是我如何开始使用 Python 和 Django 的,剩下的就是历史了…

你还知道哪些编程语言,你最喜欢哪一种?

在我参加过的任何团队中,我总是“数据人”,所以很明显,我写了很多 SQL。这些年来,我在一定程度上使用了许多语言,包括 PLSQL、SASS、R、C、C++、C#、Java、JavaScript 和 Go。然而,我现在的大部分专业工作都涉及到 Python、SQL 和 TypeScript。幸运的是(但不是偶然),这些是我最喜欢的语言!

你现在在做什么项目?

在过去的几年里,我一直在领导一个大型公共交通票务和支付平台的开发。公共交通通常被称为“大众运输”,这是有道理的。有大量的数据流入和流出,它必须准确、快速和可靠。我的大部分写作灵感来自于我和我的团队在构建和扩展这个系统时所面临的挑战。

哪些 Python 库是你最喜欢的(核心或第三方)?

这一直是我在每周 PyDev 中最喜欢的问题,但是我的回答会很无聊。这些年来,我们设法保持最新版本的操作系统、数据库、编程语言和框架,主要是因为我们很少使用第三方库和软件包。

话虽如此,我还是经常在新环境中使用或 pip 安装一些库。用于类型注释的 Mypy、用于测试的 pytest 和 coverage、用于一些轻量级数据争论的 functools、itertools 和 collections、用于 HTTP 的请求、用于 web 开发的 Django、用于确保登录 Django admin 的 django-otp 以及用于本地开发的 iPython 和 iPdb。

你是怎么和真 Python 扯上关系的?

我在 5 年多前开始写作,没有什么特别的原因。幸运的是,我的第一篇文章写得非常好,这激励我继续写作。我真的很喜欢与读者互动,也很享受他们的反馈,所以我每个月都会发表新的文章。有些文章做得非常好,得到了很大的反馈,有些没有,但我的写作变得更好了。

当我觉得我已经准备好让我的写作更上一层楼时,我申请成为 Real Python 的一名作家,他们接受了我的申请。第一篇文章花了一些时间,因为我是新人,但我对复习过程的认真程度印象深刻!在我亲自经历了管道之后,我对真正的 Python 产生的内容充满了信心。

作为一名作家,你学到的前三件事是什么?

许多有才华的人分享了他们的写作技巧,所以我将试着提供一些来自我个人经历的有价值的技巧:

1)讲故事不仅仅是杂志的事:如果你的读者只想知道技术细节,他们会阅读文档。读者阅读你的博客是因为他们想知道你对某个主题的看法。讲述故事的技术文章以更好的方式传达信息。我是说,每个人都喜欢好的制作故事…

2)写作是一门手艺:就像编程一样,写得越多越好。精心构思一个故事,让读者参与进来,并在这个过程中对他们进行教育,是很难的。多年来,我一直试图想出新颖的方法向我的读者介绍技术主题。例如,我关于依赖注入的文章以一个采访问题开始,我关于如何向 Django admin 添加文本过滤器的文章以一个开发人员和支持工程师之间的虚构对话开始。

3)对你来说微不足道的事情对其他人来说可能不是:许多开发人员想开始写作,但他们很难找到一个主题来写。我学到的一件事是,许多你认为微不足道的事情,对别人来说可能不是。例如,我最近写了一个生产系统中的小发现,它帮助清理了大量数据。我认为这个发现很琐碎,写出来有点尴尬,但发表后,我惊讶地发现有这么多人觉得它有用。

你还有什么想说的吗?

你可以在 hakibenita.com 找到我的作品

Haki,谢谢你接受采访!

本周 PyDev:哈迈尔·阿巴西

原文:https://www.blog.pythonlibrary.org/2020/02/24/pydev-of-the-week-hameer-abbasi/

本周,我们欢迎 Hameer Abbasi 成为我们的本周 PyDev!Hameer 从事 PyData 稀疏项目。你可以在 Github 上看看哈默尔还在做什么。让我们花些时间去更好地了解他!

你能告诉我们一些关于你自己的情况吗(爱好、教育等)

我的爱好是,并且已经有一段时间了,一般的科学计算,生态系统以及如何让它变得更好。我很幸运也很感激能在这个领域找到一份工作,尽管我的正规教育既不是数学也不是计算机科学。谈到我的教育,我于 2014 年 7 月获得了巴基斯坦国立科技大学的电气(电信)工程学士学位。在 2015 年 9 月成为巴基斯坦 LMK 资源公司的专业人员后,我搬到了德国,并于 2015 年 10 月完成了达姆施塔特技术大学(英文:Technical University of Darmstadt)的信息与通信工程硕士学位。那时,我在 Quansight 公司做承包商,并且一直持续到现在。

你为什么开始使用 Python?

我当时正在做一份 Hilfswissenschaftler 的工作(有点像美国的研究助理),在那里我遇到了将一个稀疏系统扩展到更大空间的问题。我当时发现了 PyData/Sparse 项目(当时它在 Matthew Rocklin 的个人存储库中),并立即被转移到稀疏表示所带来的计算增益这一想法迷住了。我现在是那个项目的维护者,我很感激我选择了那条路,因为它让我在 SciPy 2018 上发表了演讲,并成为了 Quansight 的客户。

你还知道哪些编程语言,你最喜欢哪一种?

这些年来,我涉猎了很多编程语言。从 Visual Basic 2000 开始,一直到 Visual Basic。NET,HTML,Java,Javascript,C++。不过,我觉得我真正了解的是 Python 和 C#,因为我有在实际项目中使用它们的实践经验。我喜欢 Rust 的“第一次就做对”模式。

我最喜欢使用的可能是 C#,因为它有很好的工具,但是作为一种语言,我更喜欢 Python。

你现在在做什么项目?

我和 Quansight 以及他们实验室部门的其他人一起从事一些客户项目。其中包括 uarray ,一个具有各种实用程序的后端调度系统,unumpy,一个“后端不可知”版本的 numpy,以及 udiff,一个建立在 unumpy 之上的自动区分库。我最近又开始研究 PyData/Sparse 了。我想再谈一谈 uarray 家族——你只需拿一段代码,修改一个 with 语句和/或导入,就能看到奇迹,这太棒了。

哪些 Python 库是你最喜欢的(核心或第三方)?

大概是 XND 吧,确实设计的很好,展现了很大的潜力。现在如果有一个活跃的维护者…

你是如何开始 PyData/Sparse 项目的?

老实说,我正在从我的论文中懈怠下来,研究我感兴趣的东西,仅仅是从移动到一个稀疏结构中获得巨大计算增益的想法。

是什么让 PyData/Sparse 变得伟大?

嗯,试试看就知道了。????

您能描述一下目前 Python 在数据科学领域面临的挑战吗?

有核心基础设施的项目需要付费的维护者。Travis oli phant(Quansight 和 OpenTeams 的首席执行官)已经详细讨论过这个问题。

谢谢你接受采访,哈默尔!

本周 PyDev:哈里森·金斯利

原文:https://www.blog.pythonlibrary.org/2017/05/22/pydev-of-the-week-harrison-kinsley/

本周的 PyDev 是哈里森·金斯利。哈里森是一个受欢迎的 Python Youtube 教程频道的创建者。他还维护着一个网站,这是他视频教程的文本版本:https://pythonprogramming.net/。让我们花一些时间来更好地了解哈里森!

你能告诉我们一些关于你自己的情况吗(爱好、教育等)

虽然听起来很老套,但毫无疑问,我最大的爱好是编程。也就是说,我也喜欢跑步、潜水和驾驶表演。有各种各样的赛道(想象一下:F1 赛车),你可以开着你的街车去,有些是真正的 F1 赛道。我倾向于在周末每月跟踪我的车(本田 S2000)一到两次。

至于学历,我没有正规的 CS 或相关学历。我主修哲学和刑事司法。

我已婚,住在德克萨斯州,有几只大狗。

你为什么开始使用 Python?

真有意思,我其实很早就不喜欢编程了。我从 12 岁开始就想学习编程,我不断尝试,但我就是讨厌它。太繁琐,太烦人,太混乱。

快进到大学,此时我已经有一些网上业务,但总是只是支付开发人员为我工作。这一次,我的想法是跟踪投资/交易股票的情绪。我不知道谁能帮我做到这一点,所以我带着这个目标再次重温编程。我又尝试了相当多的语言,总体上还是很失望,但是后来我的一个朋友提到一种叫做 Python 的编程语言有一个叫做自然语言工具包(NLTK)的自然语言处理库。我很快就找到了他们关于 nltk.org/book 的书,这本书非常适合我,因为这正是我想要的。我翻阅了这本书,就这样我学会了 python,开始了我的旅程。这个项目今天仍然以 sentdex.com(sentdex =情绪+指数)的名字存在,这也是我的“sent dex”电子名称的形成原因。

你还知道哪些编程语言,你最喜欢哪一种?

我学过一点 javascript 和 C++,但我真的没有什么特别的,可能除了 Python 之外我最熟悉的语言应该是 SQL,如果允许我说这种语言的话。

我还研究过围棋和雨燕。为了将来,我想学习更多的 C++和 Javascript。主要是 C++来扩充 Python,对于我用 Python 做的一个任务,可能还没有相关的库。我发现自己太依赖别人为我做包装纸了,当别人做好的时候,这很好,但是,当一些东西还不存在的时候,我就卡住了,这总是令人失望的!

Javascript 更适合我的 web 开发目的。然而我最喜欢的语言当然是 Python!例如,我没有更深入地学习 C++的主要原因是因为它不像 Python 那样令人兴奋。我认为 Python 是一种“令人兴奋”的语言,仅仅是因为它对我个人来说具有快速开发的能力。

你现在在做什么项目?

最近,我一直在《侠盗猎车手 5》中研究自动驾驶汽车。当我写这篇文章时,我已经在外地连续训练了大约 5 天的深度学习模型。我很兴奋能回家看看模特做得怎么样,我就像一个等待圣诞节早晨的孩子。我只希望不是煤。

对于任何有兴趣跟踪该系列教程的人:https://python programming . net/game-frames-open-cv-python-plays-GTA-v/

该项目也是开源的:https://github.com/sentdex/pygta5/

你也可以观看人工智能的直播:https://www.twitch.tv/Sentdex

哪些 Python 库是你最喜欢的(核心或第三方)?

熊猫可能是我的第一票,仅仅是基于这些年来我从它那里获得了多少价值,但是 Numpy 可能应该拿第一,它只是不经常被认可为它在如此巨大的各种各样的库的后台所做的工作。

我也很喜欢 Flask,因为使用它很简单,你可以很容易地定制它来做你想做的事情。Flask 使我能够与他人分享我的作品,这是其他图书馆无法给予我的。

作为一门编程语言,你认为 Python 将何去何从?

我认为 Python 背后的主要力量是社区。还有一些语言在易用性和通用性方面非常相似,比如 Ruby 或 Julia。我个人认为 Python 和 Ruby/Julia 的区别在于它们背后的实际社区。使用 Python,你真的可以做任何事情。我认为 Python 目前唯一真正的弱点是游戏开发/移动开发之类的东西,以及包装器之间的延迟仍然太昂贵的任何东西。类似毫秒频率交易。

从根本上说,我可以很容易地预见 Python 将在未来 20 年内出现,但这很大程度上取决于社区。版本 2 和版本 3 之间仍然存在的社区分叉是一个很好的例子,说明了尽管最初的社区很棒,但是你可以把它切成两半。似乎有些人认为 2 对 3 的事情已经过去了,但我真的不这么认为。承认你在网上使用 Python 2 确实变得不酷了,但是在实践中这仍然是现实

你是如何开始做关于 Python 的 Youtube 视频的?

实际上,我一开始只是想推销 Sentdex.com。我做了一些关于情感分析的视频和一些使用 Python 完成相关任务的视频。人们似乎真的很欣赏这些教程,所以我只是不停地分享我学到的东西。它一直在增长,直到很快这个频道和 sentdex.com 不再有任何关系,但是这个名字不能被改变。现在很明显,从市场营销的角度来看,“Sentdex”这个术语更多地与 Python 编程教育联系在一起,而不是情感分析。

你能给想用 Youtube 或类似网站教学的人什么建议?

别担心是蹩脚的!我得到的绝大多数回复都是非常积极的,即使是在我不擅长编程和教学的早期。即使你不考虑教书,我还是建议你试试。它不需要是 YouTube,只是一个博客或类似的东西。这样做的回报简直是疯了。首先,当你试图教东西时,它只会巩固你所知道的,并迅速照亮你所不知道的。试图解释某事是学习它的一个很好的方法。

接下来,一旦你把某样东西放在那里,你会得到其他人的关注,你会得到提示、建议和大量的帮助。这基本上是同行评议的一种形式。

最后,如果你在找工作,拥有一个证明工作/激情的博客似乎是大多数雇主所欣赏的。

你还有什么想说的吗?

感谢您将我视为本周的 pydev!

本周派德夫:哈利·珀西瓦尔

原文:https://www.blog.pythonlibrary.org/2016/08/15/pydev-of-the-week-harry-percival/

本周我们欢迎哈里·帕西瓦尔( @hjwp )成为我们的本周 PyDev!哈利是《用 Python 进行测试驱动开发的 T2》一书的作者。你可以访问他的网站来了解这本书的更多信息,甚至可以免费阅读!Harry 也是 PythonAnywhere 的程序员,该网站允许你在云端托管、运行和编写 Python 代码。让我们花点时间来了解一下我们的蟒蛇同伴吧!

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

你能告诉我们一些关于你自己的情况吗(爱好、教育等)

虽然我的童年开始于一条充满希望的书呆子之路——在法国汤姆逊 TO-7 上用 Basic 编程,当你按下它们的键时,它们会发出“boop”的声音——但事情变得相当糟糕,我最终成为了一名管理顾问,这让我对电子表格产生了持久的喜爱,而不喜欢像“杠杆”、“利用”这样的表达方式(就说使用吧!)和“往前走”。

我住在意大利的时候通过远程教育获得了计算机科学学位——因为我的妻子是一名歌剧演员,她想学意大利语。我们住在海边。很艰难。事实上,这就是我第二份工作的原因:我兼职为 popupopera.co.uk 做字幕操作员。给我一点机会,我会告诉你如何使用 reveal.js 和 websockets 将歌剧字幕传输到移动设备上。而且我刚刚有了一个孩子。

你为什么开始使用 Python?

我的大学课程,除了教我注意 Netscape Navigator 和 Internet Explorer 之间的不兼容问题(哦,是的,这是 5 年前的事了),还让我在 PHP 和 Java 方面打下了宝贵的基础,所以你可以想象当我得到第一份合同时,我是多么高兴,托管服务提供商告诉我他们推荐 Python 和 Django。因此,有一年圣诞节,我自学了这些基础知识,再也没有回头看!

你还知道哪些编程语言,你最喜欢哪一种?

作为一名曾经的电子表格黑客,我也经历过 VBA,但我也是一名认证的 Lotus Notes 专业人员,的确如此!LotusScript 在我心中永远有一席之地。你知道,我实际上(回想起来,非常愚蠢地)创建并发布了一个 Lotus Notes 电子邮件,它会在打开时自动转发给用户地址簿中的人——这是 Melissa 病毒之前的技术,如果我自己这么说的话。那是 1998 年在 IBM 实习的时候,我很高兴我没有因此惹上更多的麻烦!

从我获得学位开始,我就带着喜爱和持久的好奇心记住了 Prolog(你知道现在还有 Prolog 社区吗?有 Prolog web 框架!).最近我尝试了 Clojure,感觉它确实鼓励了一种不同的编码思维方式,我强烈推荐它。

你现在在做什么项目?

最主要的是,我用 Wagtail CMS 重写了我妻子的网站,并准备我的书的第二版,其中有无密码认证和 rest-api-ajax 测试的提示。那肯定够了!

哪些 Python 库是你最喜欢的(核心或第三方)?

我想起了我花了几天时间编写一个文本重排函数来将文本换行到 80 个字符,却发现了 textwrap.wrap。尽管我几乎每天都在工作中使用 textwrap.dedent。不知何故,我没有想到一个叫做 textwrap 的模块可能包含,哦,我不知道,一个包装文本的工具。所以,总是先看看标准库吧!

除此之外,我不得不为@tartley 的重新运行大声欢呼,因为它在文件改变时自动运行您的单元测试。如果有人在寻找一个小项目,可以做一个 inotify 集成…

作为一门编程语言,你认为 Python 将何去何从?

在过去的几年里,Python 3 的发展势头达到了一个临界点,这真是太好了。这似乎永远不会发生,但现在感觉我们真的在那里。

即将出现的一个不祥之兆是整个类型的暗示——我有时担心这会让初学者更难理解这种语言,但是当我退一步,我认为我可以相信 Python 社区会做正确的事情。我想象约定和习惯将会以这样的方式发展,类型提示将会很好地对初学者隐藏,Python 的学习曲线将会保持平滑。

另一件我认为会产生有趣影响的大事是 Python 越来越多地被作为默认的教学语言。看看美国和英国在高中和小学教编码的努力吧!我们将从 Python 这个有点古怪、小众、另类的世界中走出来,成为每个人在学校学习的标准语言,我想知道这将如何渗透到 Python 的文化中…

你还有什么想说的吗?

作为英国人,我很难面无表情地说出“社区”这样的词,但是,说实话,Python 确实教会了我这个术语的含义。如果你是一名 Python 程序员,不要错过更多参与社区的机会——找一个本地聚会,加入邮件列表,参加会议,你会爱上它的。

我也必须表达我对 DjangoGirls 和所有其他多元化努力的热爱和钦佩,pyladies,transcode 等。这个社区的一个主要缺点是,它是如此压倒性的男性。多元化的努力,对于增加人才库和拓宽我们处理问题的视角和能力的所有常见原因来说都是很棒的,但是,老实说,在个人层面上,能够摆脱总是如此不可思议的感觉真好——我们都如此投入于变得聪明和正确,这使我们变得好辩,有时远离这种感觉真的是一种解脱,也许有一种鼓励不同类型互动的环境…表情符号什么的!任何了解我的人都知道,我需要尽可能多的帮助来淡化我好争辩的一面🙂

感谢您接受采访!

本周 PyDev:亨利·施雷纳三世

原文:https://www.blog.pythonlibrary.org/2022/02/28/pydev-of-the-week-henry-schreiner-iii/

本周,我们欢迎亨利·施雷纳成为我们的本周人物!Henry 是与 scikit、PyPA 等相关的多个项目的开源维护者/核心贡献者。你可以通过查看亨利的 GitHub 简介来感受一下他在做什么。亨利还创建了一个在线免费的“提升你的 Python 水平”课程。

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

让我们花些时间更好地了解亨利吧!

你能告诉我们一些关于你自己的情况吗(爱好、教育等)

我是一名计算物理学家和研究软件工程师,在普林斯顿大学工作。我与 IRIS-HEP 合作,这是一个高能物理(HEP)可持续软件的多大学研究所。我们正在开发支持 HEP 数据重现性分析的软件。我在几个领域工作,专注于分析系统的底层软件栈和打包;当我不这样做的时候,我会使用直方图相关的工具。我还参与了创新算法的开发、教学和推广工作。

业余时间做很多 OSS 的贡献,所以其他爱好大部分都是可以和家人一起做的事情。我已经开始向我 5 岁的孩子介绍过山车;我喜欢电脑建模和动画,以及特效,但没有太多的时间去做了。

你为什么开始使用 Python?

大概是上大学的时候,开始用搅拌机;这是我对开源社区的介绍,并很快成为我最喜欢的程序。它有一个内置的 Python 解释器,因为它我真的很想学习使用 Python。这让我真的很想学 Python。在 2008 年西北大学本科生(REU)的研究经历中,我有机会在几个集群上工作——提交工作是一件痛苦的事。我用 Python 来监控和提交作业;这使我能够多线程化,比旧的 bash 脚本做更多的事情;我可以在别人手动操作之前捡起空节点。我离开的时候,每个人都想要我的剧本。

在 UT Austin 攻读高能物理学博士学位期间,我重写了一个大型 Matlab 分析代码库,然后慢慢地将它转移到 Python 上。新代码可以在任何地方的任何机器上运行,包括在伯利兹的丛林中,在那里我没有 Matlab 许可证。在我的毕业工作接近尾声时,我获得了 Plumbum 发布经理的职位,这是我第一次作为一个持续的开源项目的维护者。在欧洲粒子物理研究所开始做博士后后,我发现了一个不断增长的 Python 分析师社区,所以从那以后我就一直参与 Python——经常坐在 C++ / Python 的边界上或者使用 Python。我帮助启动了 Scikit-HEP,这是一个针对 HEP 的 Python 包集合。

你还知道哪些编程语言,你最喜欢哪一种?

我是从 C++开始的;我写了 CLI11 ,一个流行的 C++命令行解析器,我是 pybind11 的维护者。我喜欢这种语言每三年一次的变化,但也对在 Python 中使用它的困难感到沮丧——由于失去了许多 linux 所基于的 CentOS LTS 版本,我们在工具链中的 C++标准支持方面倒退了,而不是前进了。

我懂一点 C 语言,但我不擅长,而且打算一直这样下去;我有点太喜欢面向对象编程了。我也非常喜欢 CMake,从技术上来说,它也是一门语言。我非常喜欢红宝石;我用它来做 Jekyll 和 Homebrew 这就像“没有训练轮的 Python”,我喜欢它让你做的事情——成为一名伟大的厨师更容易使用锋利的刀,即使它们很危险。我也写过很多 Matlab,但是好几年没用过了。我知道一些 Lua,主要是为了 LuaLaTeX,但也是为了一些研究工作——设计一种嵌入应用程序的微小语言是一个非常酷的想法——很像 Blender 使用 Python 的方式。

由于社区、范围和支持,Python 是我的最爱。如果我要选择下一门语言,我会在 Rust 和 Haskell 之间左右为难——但是现在,我可能会选择 Rust。它正在变成一种编写 Python 扩展的伟大语言。

What projects are you working on now?

For work, I work on boost-histogram / histvectorawkward-arrayparticleDecayLanguageScikit-HEP/cookie and other packages in Scikit-HEP. We have 30-40 packages at this point, and I help with at least the packing on many of them. I also work on training materials, like Modern CMakeLevel Up Your Python, and several minicourses, and the Scikit-HEP developer pages. As a mix of work and free time, I work on cibuildwheelpybind11buildscikit-build, and GooFit. In my free time, I work on CLI11 and plumbum. I also blog occasionally on iscinumpy.dev. I also contribute to various OSS projects.

Which Python libraries are your favorite (core or 3rd party)?

Many of my favorite projects I ended up becoming a maintainer on, so I’ll just focus on ones I am not officially part of.

Pipx is a fantastic tool that now lives alongside pip in the Python Packaging Authority (PyPA). A lot of time is spent trying to teach new Python users to work with virtual environments, and version conflicts are being more common (due to over use of pre-emptive capping, a pet peeve of mine); but pipx skips all that for applications - you can just use pipx instead of pip and then version conflicts and the slow pip update solves just go away. I really like pipx run, which will download and run an application in one step, even on CI; GitHub Actions & Azure provides it as a supported package manager, even without actions/setup-python - perfect for easy composite shell actions (like cibuildwheel’s)! pipx run even caches the environment and reuses it if it’s less than a week old, so I no longer have to think about what’s installed or what’s out-of-date locally, I just use pipx run to access all of PyPI anywhere (that I have pipx, which is everywhere). (I’m a homebrew macOS user, so pipx install - or any install doesn’t work well with the automatic Python upgrades, but pipx run works beautifully.)

I used to dislike tox - it had a weird language, bad defaults, ugly output, and didn’t tell a user how to run commands themselves if they wanted to set up things themselves. While Tox4 is likely better, I’ve really loved Nox. It (intentionally) looks like pytest, it doesn’t hide or assume anything, it works for much more than packaging - it’s almost like a script runner with venv (and conda/mamba) support, with pretty printouts.

Getting away from the common theme of packaging above, I also love pretty-printing and color, so I’ll have to call out the Textualize libraries, Rich / Textual; they are beautiful.

For the standard library, I love contextlib; context managers are fantastic, and a bit underused, and it has some really nice newer additions too.

How did you end up working on so many Python packages?

I got involved with Scikit-HEP at the beginning, and there we quickly collected older packages that were in need of maintenance. Working on a large number of packages at the same time helps you appreciate using common, shared tools for the job, rather than writing your own. It also forces you to appreciate packaging. Many of the packages I work on are used heavily by the code I started with.

Besides, show anyone that you can help them with packaging and they will usually take you on in a heartbeat. 🙂

Of the Python packages, you have worked on or created, which is your favorite and why?

Each package is for a different use, it’s hard to choose a favorite. I have a reason to like and be involved in all of them. Probably my favorite project was the most different from what I normally do - the Princeton Open Ventilation Monitor project. In early 2020, a group of physicists, engineers, and scientists got together and developed a device to monitor airflow in ventilator systems, initially working with our local hospitals. I developed both the backend software, the graphical interface, and the on-device interface too, while Jim Pivarski (of Awkward-Array) developed the breath analysis code. It was an incredibly intense month for all of us, but in the end we had a great device and a really powerful multi-device software system (which is now all open source with open access designs). It was really fun to work on something that was not a library; I got to design for Python 3.7 instead of 2.7+ (3.6+ today), and I worked with things I wouldn’t normally get to, like PyQT, line displays and rotary controls, and lots of threading. This is also where I properly learned to use static typing & MyPy, which was critical in writing code for hardware that wasn’t even built yet.

I have other exciting things planned that might take that “favorite” title. I’m hoping to get the chance to rewrite scikit-build. I’m planning on using richtextual, and plotext to make a HEP data browser in the terminal - which would also be an “app”.

Is there anything else you’d like to say?

Don’t undervalue consistency, readability, and static analysis, which makes code easier to read and maintain with less effort, and often helps keep bugs down. Reading code that is not yours is incredibly important skill, as is packaging, so you can use code others wrote without rewriting it yourself. Tools like pre-commit, mypy, and nox really help code be more accessible. If you make choices that seem to help one specific case, that is almost never worth the loss in consistency which helps others easily digest your code and either use it or even contribute to it. Providing a noxfile can really help “fly-by” contributors!

It’s okay to abandon a project (azure-wheel-helpers, in my case) when you find a library (cibuildwheel) that is better than yours, and instead contribute to that. By helping them, you can help a larger audience, and avoid duplicating work.

I’d highly recommend reading scikit-hep.org/developer (with an accompanying cookiecutter!) if you are developing code, even if you are not developing in HEP or even scientific fields. I also contribute to packaging.python.org, but I’m a lot more free to be opinionated there and recommend specific workflows and tools.

Thanks for doing the interview, Henry!

本周 PyDev:Hillel Wayne

原文:https://www.blog.pythonlibrary.org/2018/09/24/pydev-of-the-week-hillel-wayne/

本周我们欢迎 Hillel Wayne(@ Hillelogram)成为我们本周的 PyDev!Hillel 是“学习 TLA+”的作者,目前正在撰写“实用 TLA+ ”一文。你应该看看他的网站/博客,因为这是一个了解他更多的好地方。Hillel 最近也在 PyCon US 上发表了关于测试的演讲。让我们花点时间和 Hillel 聊聊吧!

你能告诉我们一些关于你自己的情况吗(爱好、教育等)

我一直计划成为一名物理学家,直到大学四年级,我突然想成为一名程序员。我在湾区做了一段时间的 fullstack,在芝加哥做了一段时间的后端开发,在那里我发现了对正式方法的深深热爱,或者说是“数学地”设计和构建软件的实践。如果你读过即将到来的软件启示录,这是一个很好的为什么和什么的介绍。我现在做咨询和工作坊,帮助人们如何;这些工具太强大、太有用了,不能停留在利基市场。

除了正规方法,我对技术的兴趣如下:

  • 软件安全:错误实际上是从哪里来的,我们如何降低它们的可能性?
  • 经验软件工程:在软件工程中我们实际上知道什么是真的,我们只是认为什么是真的?
  • 软件历史:我们是如何走到今天的,我们能从过去学到什么?
  • 怪异有趣的小众思想、语言、技巧等。

除了技术,我还做很多杂耍和烹饪。我是一个超级狂热的糖果和巧克力爱好者。芝加哥有个地方卖 10 磅重的巧克力,售价 50 美元,我通常一年要吃掉 4 块。

你为什么开始使用 Python?

大约在 2012 年左右,我突然意识到我不想读物理研究生,必须在现实世界中找到一些赚钱的方法。因为我真正喜欢的物理研究部分是硬件编程,所以我决定寻找编程工作。但是实验室技术主要是 Matlab 和 C 语言,所以我选择了 Python 来分散我的技能,并立即被吸引住了。不用担心内存或字符串问题真是太好了!它很快成为我的主要编程语言,尤其是用于学习新的编程技术。例如,我通过用 Python 实现忒修斯和牛头怪来学习 TDD,有一段时间我用 Django 应用程序帮助管理我的抑郁症

总的来说,这些天我做的编程少了很多,但是每当我需要测试一个新想法,或者用一段代码交流一个想法时,我仍然会使用 Python。即使是不了解 python 的人通常也能掌握 python 代码片段中发生的事情。

你还知道哪些编程语言,你最喜欢哪一种?

我的前几份工作是作为一名 Rails 开发人员,所以我知道这个工具,但不太了解 Ruby 语言。除此之外,我倾向于选择新的编程语言,因为它们让我很困惑。我现在正在上一堂我很喜欢的序言课,所以我应该感谢安妮·奥格伯恩。我也在 J 语言中做了很多,有趣的是,AutoHotKey 是我日常生活中最有用的工具(除了 Python)。

然而,我的专长是规范语言,我们用来描述我们整个系统的符号,而不是实现它们。我已经在 Alloy 和 TLA+上做了很多工作,并且正在写一本关于后者的书。TLA+是我最擅长的,也是我工作最开心的,尽管每当我打破常规时,它都让我觉得自己像个白痴。

你现在在做什么项目?

我目前正在写一本关于 TLA+的书,并且正在为公司准备一个为期 3 天的研讨会。在那之后,一个想法一直在我脑海中跳动,那就是做一个名为“科学编码者的 Python”的短片。这将是一些旨在教我的研究生院的朋友谁使用 Python 如何更好地使用它。像“这就是 IDE,这就是它如何使编码更容易”,“复制/粘贴意味着错误,尝试使用函数来代替”,“这就是如何检查你得到了正确的结果,没有打错字”,等等。我认为有很多机会让我们的科学代码更好,进而让我们的科学研究更安全。

哪些 Python 库是你最喜欢的(核心或第三方)?

第三方必须是假设,这是 python 的“基于属性的测试”库。不是将测试定义为“检查这个输入给我们这个输出”,而是说“输出应该具有这些属性,现在生成 100 个输入并检查它们。”这需要更多地考虑你的代码的属性,但是它可以捕捉真正令人毛骨悚然的错误。实际上,我最近在做了一个关于它的演讲,讲的是如何用它来为你生成集成测试。

核心库是 abc 。特别是,我有点痴迷于 subclasshook。在大多数语言中,事物都声明自己的类型:如果 Foo 继承自 Bar,那么 Foo 就是 Bar。但是有了 ABCs,你可以把它翻转过来,让抽象类型声明其他类算什么类型。例如,你可以让一个 ABC 说“每个名字是回文的类都算作一个 TimeFarbler。”我不知道这在实践中如何有用,但这个想法让我很高兴。

我知道你是一本关于 TLA+的书的作者。你能告诉我们 TLA+是什么吗?

软件中有(非常粗略的)两种错误:实现错误和设计错误。实现错误是指在将设计转换成代码时犯了一个错误,比如编写 return l.sort()而不是 return sorted(l)。设计错误是指你的代码忠实地遵循了你的设计,但设计实际上并不像你想象的那样。一个常见的例子是遗漏了一个边缘情况:如果有人点击“提交订单”按钮两次呢?如果购物车中的商品缺货,会发生什么情况?如果我既有“5 美元折扣”又有“10%折扣”的优惠券,我应该得到多少折扣?

设计错误通常比实现错误更危险、更微妙。它们也很难检查,而且几乎所有我们当前的工具只能帮助我们处理实现错误。为了测试我们的设计,我们使用了 TLA+这样的规范语言。我们描述我们的系统和它应该具有的属性,然后我们使用模型检查器来探索该系统的所有可能的发展,并确认它确实如我们所期望的那样。例如,如果我正在创建一个消息处理器,我可能会写这样的代码

\ m \in 消息:m \ in 已发送~> m \in 已接收

说发送的每条消息最终都会被接收到(对于“消息”、“发送”和“接收”的定义)。然后,我可以检查该属性是否确实适用于我的现有系统。

TLA+在工业领域有着良好的记录。亚马逊用它来修复 S3 的问题,微软用它来帮助 T2 发现 Xbox 的漏洞。在一个不太“国际大公司”的层面上,我用它来修正业务逻辑,穆拉特·德米尔巴斯用它来教授学生分布式系统

你从写书中学到了什么?如果可以重来,你会做些什么?

奇怪的是,对我来说最难的不是实际内容,而是一致性。如果我重命名一个章节,我记得更新它的所有引用吗?我确定我在概念 B 之前介绍了概念 A 吗?诸如此类的东西。我开始用 Word 写作,中途用 pandoc 切换到 markdown,两者都没有真正帮助解决这个问题。我想如果我重新开始,我会花一些时间研究什么样的格式能最好地实现这种一致性。可能是 RST 或乳胶。

(有趣的事实:莱斯利·兰波特创造了 TLA+和乳胶!)

大约进行到一半的时候,我开始为诸如错误检查、转换文档和上传之类的事情构建自动化工具链。这是一个巨大的时间节省。对于下一本书,我会花更多的时间从一开始就构建一个更强大的工具链。

最后的发现:与技术编辑配对。这本书很厚,所以校对起来很慢。当我们开始安排时间坐下来一起检查时,我们开始行动得更快了(我得到了更深入的反馈)。

感谢您接受采访!

本周 PyDev:Honza krl

原文:https://www.blog.pythonlibrary.org/2017/04/24/pydev-of-the-week-honza-kral/

本周我们欢迎 Honza krl(@ HonzaKral)成为我们本周的 PyDev!Honza 是 Django web 框架的核心开发者之一。他也是 Elasticsearch 官方 Python 客户端的维护者。你可以在 Github 看到一些他感兴趣或者正在做的项目。让我们花些时间更好地了解 Honza!

你能告诉我们一些关于你自己的情况吗(爱好、教育等)

我在捷克共和国的布拉格老城长大,在那里我也上过学,包括我学习计算机科学的大学(我没有读完)。在我学习期间,我发现了 Python,并立即爱上了它,首先爱上了这种语言,后来,在 2008 年参加了我的第一次 Pycon 后,爱上了这个社区。

我成为了 Django 社区的一员,这个社区非常受欢迎(直到今天仍然如此)。我成为其中的一部分,去学习,并希望能有所回报。对我来说,它的效果非常好——我最近所有的工作都是通过这个社区找到的,甚至在一次 EuroPython 会议上遇到了我的未婚妻!

现在我在 Elastic 工作,Elasticsearch 背后的公司,我在那里做咨询——周游世界帮助人们在开源方面取得成功——同时维护官方的 Python 客户端。

你为什么开始使用 Python / Django?

我在大学开始做一个项目。我关注 Python 已经有一段时间了,在我们的一个团队项目中出现了一个使用它的绝佳机会——我们决定它将是一个基于 web 的应用程序,而 Django 是一个闪亮的新事物,引起了我的注意。我把它介绍给了团队的其他成员,并且一直在使用它。

你还知道哪些编程语言,你最喜欢哪一种?

当然,除了 Python:),我的另一个最爱是 shell——我仍然喜欢用 shell 编写简单的(或者稍微复杂一点的)一行程序以及更长的脚本。我喜欢它的多样性,你可以用一种看似有限的语言完成很多事情。我喜欢它与我习惯使用的其他语言的不同之处,因为它迫使你更多地考虑管道,并“只是”将问题传递给另一种应用程序/语言。我认为这无疑也帮助了我的 Python 技能——思考我需要在列表/变量中保存什么,而简单的生成器就足够了(就像 shell 中的管道一样)等等。

现在我正在关注 rust,希望有一个合适的项目能让我认真尝试一下。

你现在在做什么项目?

目前我正在做 elasticsearch-dsl ,这是一个基于 elasticsearch 的类似 ORM 的抽象。这是一个雄心勃勃的项目,因为我想展示 elasticsearch 的查询 DSL 的所有功能,同时也想让它对非专业人士来说更容易访问,总体来说更友好。虽然我认为在某些领域我可能已经做到了这一点,但在其他领域我还有很长的路要走;对于一些人来说,我甚至看不到需要发生什么的清晰路径,这使它变得有趣,给了我一些思考🙂

哪些 Python 库是你最喜欢的(核心或第三方)?

作为一个第三方库,我非常喜欢 click ,因为它很好地实现了自己的目的。从标准库来说,我是 itertools、collections 和其他“助手”库的忠实粉丝,这些库不仅提供了一些功能,而且更重要的是,展示了真正的 python 代码应该是什么样子,并且当您正确使用它们时,会使您的代码更加 python 化——这也是我一直喜欢 Django 的品质,它为您指引正确的方向,并使正确的方法变得如此明显,以至于它可以训练您识别它并在您的 Django 项目之外使用它。

我发现的另一个非常有趣的库是py . test——我喜欢这个特性集,喜欢它让测试变得如此简单和灵活,但我也有点担心那里发生的“魔法”。对我来说,这是 python 社区实用主义的一个完美例子——我认为我们都可以接受一点小魔法,只要它被明确定义并服务于它的目的。

你还有什么想说的吗?

我想对全球的 Python 社区说一声非常感谢!我有幸看到了它的很大一部分,它仍然设法经常让我措手不及,因为它有助于营造一个伟大的环境。作为我工作的一部分,我与世界各地的开发人员互动,非常感谢 Python 社区中的人们为确保这是一个繁荣和受欢迎的社区所付出的努力和思考。

非常感谢你接受采访!

本周 PyDev:Hynek Schlawack

原文:https://www.blog.pythonlibrary.org/2016/03/14/pydev-of-the-week-hynek-schlawack/

本周我们欢迎 Hynek Schlawack ( @hynek )成为我们本周的 PyDev!Hynek 是 Python 社区的热心成员,也是 Python 软件基金会的成员。他参与了许多项目,并撰写了自己的 Python 博客。让我们花些时间去更好地了解他吧!

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

你能告诉我们一些关于你自己的情况吗(爱好、教育等)

我拥有相当于德国计算机科学硕士学位的学位。我试着在屏幕之外拥有尽可能多的爱好,但我并不总能成功。但至少,我做了相当多的运动和旅行来保持身材和开阔眼界。

你为什么开始使用 Python?

我需要构建内部 web 应用程序,并得出结论,Java 太笨重,无法快速完成工作(我们说的是大约 2008 年;自那以后,情况肯定有所改善)。

当时主要流行的高级语言是 Ruby 和 Python。虽然 Ruby 拥有 Ruby on Rails 的优势,但我们选择了 Python,因为它感觉更像是一种编写一年后仍能被理解的软件的语言,还因为有了 Twisted 这样的 gems,生态系统更加多样化。

你还知道哪些编程语言,你最喜欢哪一种?

我在编程生涯的大部分时间里都是一名 C 程序员,但这肯定不是我最喜欢的,因为以错误的方式将两个数字相加可能会导致灾难性的安全问题。

我也知道围棋,但我不认为它是一门好语言。只有当我们需要静态二进制文件或者在极少数 Python 太慢的情况下,我们才使用它。我喜欢 Rust,但发现这个社区缺乏规模和专业性。我非常怀念 Python 社区对编写优秀文档的高度重视。

目前,我希望摆脱 Go 的希望寄托在 Swift 上,它既有前景,又有一家大公司支持。也就是说,我最喜欢的语言还是 Python。

你现在在做什么项目?

太多了!我最熟悉的项目可能是 structlog、attrs 和 doc2dash。但自 PyCon 2015 年以来,我还在维护 pyOpenSSL,并在过去几年中开源了许多方便的单一用途软件包,如 argon2_cffi 或 service_identity。我也有 CPython 和 Twisted 的 commit 位,但我目前缺少时间以有意义的方式参与进来。

哪些 Python 库是你最喜欢的(核心或第三方)?

如果我必须大声喊出来,我必须从帮助我编写健壮软件的奇妙工具开始:py.test、tox、coverage 和 hypothesis。他们太宠我了,没有这些的项目不太可能从我这里得到帮助。

网络编程是我特别感兴趣的,Python 有两个惊人的选择:Twisted 和 asyncio。后者在我不知情的情况下建立了一个舒适的子社区,里面有很多有用的模块。因此,如果我必须选择一个最喜欢的核心库,它肯定是 asyncio。Python 3.4 是第一个被正式采用的 Python 3,这对我来说并不奇怪!

对于 web 开发,我非常喜欢金字塔生态系统,它非常注重质量和组成(这两个主题对我来说都很重要,但似乎很少受到重视。当人们认为他们必须在姜戈和弗拉斯克之间做出选择时,我感到很难过,而我们有一个惊人的第三选择!然后是 SQLAlchemy:我通常只使用核心 API,但它仍然是 Python 社区的巨大资产,每个人都应该看看。

最后,我想提一下几个我认为没有得到足够喜爱的便利工具:pdbpp 是 pdb 的一个很好的替代工具,它具有语法高亮和制表符补全功能。Click 使得编写可组合的 CLI 应用程序成为一种乐趣(如果有人告诉你 argparse 已经足够好了,那么他们还没有尝试过 click)。最后,如果您想公开应用程序指标,可以看看 Prometheus 和他们的官方 Python 客户端。

作为一门编程语言,你认为 Python 将何去何从?

我发现这很难猜测,因为这主要取决于谁有时间和精力来撰写和捍卫 pep。

总的来说,我认为 Python 的未来是光明的,但正如 Alex Martelli 所言:“GIL 必须消失。

你对当前的 Python 程序员市场有什么看法?

我的电子邮件收件箱告诉我,现在是一个寻找工作的 Python 程序员的好时机。

你还有什么想说的吗?

照顾好你的身体,对其他人友好,写测试,验证你的证书,停止分类。

感谢您接受采访!

本周 PyDev:伊恩·科达斯科

原文:https://www.blog.pythonlibrary.org/2016/01/18/pydev-of-the-week-ian-cordasco/

本周,我们欢迎伊恩·科达斯科成为我们本周的 PyDev。他是许多 Python 相关项目的积极贡献者,比如 Requests、Flake8、PyFlakes 等等。让我们花些时间来了解一下我们的同胞皮托尼斯塔吧!

你能告诉我们一些关于你自己的情况吗(爱好、教育等)

我的教育背景是纯数学和应用数学。当我在大学时,我把自学编程作为一种爱好,并开始为各种开源项目做出贡献;我接管了 Flake8 的维护工作,并在创建 github3.py 时成为了请求的核心贡献者

我在 Rackspace on OpenStack 工作,这是我们基于 OpenStack Ansible 项目和其他相关项目的私有云解决方案。

在空闲时间,我:

  • 从事各种 OSS 项目(见下表)
  • 指导那些希望成为 OSS 贡献者的边缘人群
  • 弹吉他(我从 7 岁就开始弹了)
  • 博客

你为什么开始使用 Python?

很简单,我想和我的兄弟一起在 Django 中开发一个应用程序。当时我知道 C 和一点 Java,但 Python 似乎是更好的选择。

你还知道哪些编程语言,你最喜欢哪一种?

Ruby,Clojure,Bash,C,一点 Rust,一点 Java,一些 Perl。

如果包括 Python,那么显然 Python。不然我有点在 Ruby 和 Clojure 之间左右为难。两者使用起来都很有趣。一旦我有了更多的铁锈,我想它会成为我的另一个最爱,因为我已经非常喜欢它了。

你现在在做什么项目?

在开源之前,我有几个项目是自己在做的。除此之外,我通常会做以下几件事:

  • 要求
  • 薄片 8
  • Pep8
  • 麦凯布
  • PyFlakes
  • 请求-工具带
  • github3.py
  • rfc3986
  • uritemplate.py
  • 贝泰麦卡斯格式

或者别的什么。

哪些 Python 库是你最喜欢的(核心或第三方)?

我没有特别喜欢的。也就是说,我经常使用某些库,但这并不意味着它们是我的最爱。

你还有什么想说的吗?
追随自己的激情。如果你正试图学习编程或参与 OSS,你的热情会让你成功。如果你的目标是只为你不感兴趣的大型知名项目做贡献,你很快就会厌倦并失去兴趣。如果你找到了你感兴趣的项目(或者甚至创建了它们),作为一名程序员和 OSS 贡献者,你将会更加成功。

本周 PyDev:Ines Montani

原文:https://www.blog.pythonlibrary.org/2019/07/29/pydev-of-the-week-ines-montani/

本周我们欢迎 Ines Montani(@ _ Ines Montani)成为我们本周的 PyDev!Ines 是爆炸 AI 的创始人,也是 spaCy 包的核心开发者,这是一个用于自然语言处理的 Python 包。如果你想了解 Ines 的更多信息,你可以查看她的网站或者她的 Github 简介。让我们花一些时间来更好地了解她!

能简单介绍一下自己吗(爱好、学历等):

嗨,我是伊内斯!我几乎是在互联网上长大的,11 岁时开始制作网站。我记得我坐在学校里数着时间,直到我可以回家继续做我的网站。当我在做一些特别令人兴奋的事情时,有时我仍然会有这种感觉。

我不太确定我的人生该做什么,所以我最终攻读了媒体科学和语言学的联合学位,并在媒体行业工作了几年,领导市场营销和销售。但是我总是一边编程一边做东西。

2016 年,我和我的联合创始人马特一起开始了爆炸。我们专注于机器学习的开发工具,特别是自然语言处理,因此基本上是处理大量文本并从中提取信息。我们的开源库 spaCy 是一个流行的软件包,用于构建工业级的、生产就绪的 NLP 管道。我们还开发了 Prodigy ,一个为机器学习模型创建训练数据的注释工具。

我住在德国柏林,如果我不编程,我喜欢抱石游ðÿ——吃ðÿ美食,和我的宠物鼠呆在一起。

你为什么开始使用 Python?

这真的有点…发生了。我从来没有坐下来说,嘿,我想学 Python。我实际上很不擅长坐下来学习。我总是需要一个项目或者更高层次的目标。当我开始接触自然语言处理时,我想使用和研究的许多工具都是用 Python 编写的。所以最后我一路学习 Python。作为一门语言,它也吸引了我,因为它非常容易理解和简单,我喜欢它的语法。

你还知道哪些编程语言,你最喜欢哪一种?

这些天,我主要在 Python 和 Cython 中工作。我还精通 JavaScript,最近开始更多地使用 TypeScript,以前还学过一点 PHP 和 Perl。

我不想纠结于“编程语言”的定义,但是就写代码而言,我也真的很喜欢为 web 构建东西。一旦你了解了 CSS,你会发现它非常优雅,而且它实际上是我最喜欢写的东西之一。

你现在在做什么项目?

我最近完成了一堆工作了很久的东西!另一个月,我们终于发布了开源库 spaCyv2.1 。我还用 spaCy 发布了一个关于高级 NLP 的免费互动在线课程,以及一个用于构建互动在线课程的开源框架

目前,我们正在开发 Prodigy Scale,这将是我们注释工具 Prodigy 的扩展产品,专门针对那些想要扩大注释项目规模的大型团队。让我特别兴奋的是通过自托管集群实现的以数据隐私为中心的架构,以及用于审查数据、测量注释者协议以及交互式构建注释和模型训练流的新功能。

最后,我还在组织我们的第一次现实生活(!)在柏林为更广泛地与 spaCy 和 NLP 一起工作的人们举办的活动。我们有很酷的扬声器组合,所以会很有趣。它被称为“spaCy IRL ”,发生在 7 月 6 日——你可以在这里找到更多关于它的细节。

哪些 Python 库是你最喜欢的(核心或第三方)?

  • IPython shell :我不得不承认,我经常使用普通的 Python 解释器,主要是尝试一些东西,快速测试和运行一些代码,用 spaCy 解析一些文本,等等。这是一种“思想爆炸!“当我发现 IPython 包含一个增强的交互式 shell,具有语法高亮、自动完成和各种其他很酷的特性时。
  • 黑色:我们一直在慢慢地将黑色自动格式化程序添加到我们的 Python 代码库中,这非常令人满意。结合 Visual Studio 代码中的 flake8 和自动格式化和林挺,它真正改变了我编写 Python 代码的方式。
  • 我们为自己的 Python 库编写了许多命令行接口——这是 Prodigy 中一个特别突出的特性。Plac 提供了一个非常小而简洁的方法来用 decorators 定义命令行接口。它适用于快速脚本,但对于长期库代码也是一个很好的解决方案,因为它可以帮助您确保您的 CLI 行为一致,并拥有良好的文档。
  • FastAPI :我从来不喜欢你用 Django 或 Rails 这样的框架得到的 web 开发的服务器端模板风格,因为我一直想写更多交互式的单页面应用程序。FastAPI 是纯 REST 框架中的一个新步骤,它真正利用了新的 Python 特性,如类型提示和异步/等待。我们已经将所有的服务都转移到了 it 上,到目前为止,体验非常好。

尽管它不是严格意义上的 Python 库,但我也想对 Binder (以及相关的 Jupyter 生态系统)大声疾呼。他们的组件和构建模块完全改变了我在网络上执行 Python 代码的方式,并使我能够构建如此多的酷东西,包括 spaCy 的交互文档和我的在线课程框架

能告诉我们你的生意爆款 AI 是怎么来的吗?

我的联合创始人马特在 2014 年离开学术界,去写 spaCy。随着他研究的技术变得越来越可行,公司对使用他的研究代码越来越感兴趣。当时真正缺少的是一个库,它将研究中的工作成果转化为可用于生产的实现。我们是在马特在柏林写《空间》第一版时认识的。不久之后,我们开始一起工作。我构建的第一个东西是一个交互式可视化工具,用于统计模型预测的文本语法。

2016 年,我们创立了 Explosion,专注于构建 NLP 和机器学习的开发者工具。在最初的几个月里,我们在专注于我们的产品之前,用咨询来支撑我们的公司。在风险投资生态系统的驱动下,我们很高兴避免了许多新软件公司面临的干扰。实际上,我在 2018 年欧洲 Python 大会上给了一个主题演讲,讲述了我们运营一家开源软件公司的经历,这个演讲很好地总结了我的感受。

Explosion 现在非常稳定,完全基于我们第一款产品 Prodigy 的收入。我们也即将推出我们的第二款产品 Prodigy Scale,并且一直在与一些优秀的开发人员合作,包括一些即将加入我们团队的新员工。所有这些都意味着 spaCy 将会得到充足的资金支持,有很多很酷的新功能值得期待。

感谢你接受采访,Ines!

本周 PyDev:伊克巴尔·阿卜杜拉

原文:https://www.blog.pythonlibrary.org/2022/12/12/pydev-of-the-week-iqbal-abdullah/

本周,我们欢迎 Iqbal Abdullah ( @iqbalabd )成为我们本周的 PyDev!Iqbal 是东亚和东南亚地区的 Python 社区组织者。

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

让我们花些时间来更好地了解 Iqbal!

你能告诉我们一些关于你自己的情况吗(爱好、教育等):

我叫伊克巴尔·阿卜杜拉。我的国籍是马来西亚。在过去的 20 多年里,我一直居住在日本

我能流利地理解三种自然语言,其中一种是基本的。我通过经营一家名为拉洛卡实验室的小型技术公司来谋生,我也很高兴地提到这家公司大量使用了 Python 的**。**

**在 Python 社区中,我是 PSF 会员,PSF 管理成员,并且一直积极参与东亚和东南亚地区的 Python 社区

我还在多元化和包容性(D&I)工作组以及 PSF 的商标工作组提供帮助。

你为什么开始使用 Python?

我开始用 Python 是因为我当时所处的职场(Yahoo!日本在 2002 年)使用 Python 来管理和监控其服务器。在那之前,我大部分时间都在用 C 语言工作。那时,我们以一种非常时髦的方式使用 C。为了最大化服务器吞吐量,减少客户的等待时间,我们将所有内容编译到 apache 模块中,在业务逻辑完成后,它会输出 HTML。所以 HTML 代码是和我们所有的 C 业务逻辑一起编译的。

但是使用 C 来管理服务器是不切实际的,所以我们运行脚本,一些在 cron 上运行,一些手动执行,来管理、监控和编译我们拥有的数百台服务器的数据。

你还知道哪些编程语言,你最喜欢哪一种?

我可以说我只知道四种编程语言:Python、Javascript、Java 和 c。只有 Python 是我在过去 5 年中一直使用的编程语言。这是我最喜欢的,尽管老实说,它已经开始演变成一种东西,如果我在 15 年前尝试当前的 Python,我不会觉得有趣。

Python 是我的最爱,主要因为三点:

1.我可以用它来快速测试东西(创建原型),而不用大费周章地设置东西。与上面的第一点相关:有许多现成的库和框架可以使用。
3。Python 提倡“有一种显而易见的方法来做到这一点”,再加上强制的空白,提高了可读性。不管是谁写的代码,你基本上都能弄清楚那个人想做什么。

你现在在做什么项目?

除了概念证明(POC)或学习新概念和新事物,我现在不写太多代码。大部分繁重的编码工作由我们的首席技术官 Kamal Mustafa 领导的工程团队完成。话虽如此,我们的最新项目是一个名为 Kafkai 的人工智能内容生成器,它大量使用 Python 作为 web 应用程序的框架,也作为连接我们使用的不同模型的培训以及生成本身的粘合剂。

哪些 Python 库是你最喜欢的(核心或第三方)?

我最喜欢的是 Django 框架。我从 0.9 版本开始使用它,当时生活更简单,只有基于函数的视图。现在有其他更轻量级的框架,比如 Flask,如果你的

还有熊猫,这使得大量数据的可视化变得简单多了。作为一个小企业主,这有助于我了解我们的客户在做什么(相对于他们在说什么),并允许我做出基于证据的决策。

你是如何开始组织 Python 会议的?

这一切都是从 2010 年我参加了第一届 APAC PyCon 大会开始的。那时 Python 开始成为一种流行语言,但在东京还没有流行到让足够多的人考虑组织会议。

从新加坡回来后,我遇到了我在会议期间遇到的来自东京的其他与会者,我们决定尝试组织我们自己的会议。这是 PyCon JP 的开始。我们当时不确定它是否会被机构群体所接受,但在会议进行了 10 年之后,我们也许最终可以说它是成功的。

根据我在管理 PyCon JP 时学到的知识,我将这个想法带到了马来西亚的社区,我们在 2014 年开始了 PyCon MY,最终由我主持了 2017 年在吉隆坡举行的 APAC 地区 PyCon。

作为会议组织者,你学到的前三件事是什么?

作为会议组织者,我学到的前三件事:

1.世界不会因你而开始,也不会因你而结束:几乎所有组织会议的人都是志愿者。事实是,我们的工作大多数时候都是理所当然的。所以我们不应该把自己当回事,在失去兴趣的时候,在筋疲力尽之前离开。
2。给他们带路,他们就会跟着走:我在两个不同的国家开始了 PyCons,尽管这两个国家的文化和语言不同,但人类是一样的:他们对开始持怀疑态度,害怕失败。如果我们降低失败的风险,并展示出即使参加我们会议的二十个人也能开心一天,他们就会被说服。我们通过计算机与人类一起工作:我们在技术行业内往往会失去大局,对技术以及我们如何使用它来运行事物感到兴奋。但事实是,会议是由人类为人类举办的,所以我们需要集中精力为与会者提供最佳价值,这几乎始终意味着人类的联系和知识共享,而这只能在现实生活中才能实现。

你还有什么想说的吗?

是的。事实上,有不少:

  • 首先,如果你使用 Python,并且还没有这样做,请成为 PSF 成员!你可以在网上注册,只需要 3 分钟。
  • 其次,作为 PSF 多元化和包容性工作组的一部分工作,我们正在收集构成我们多元化社区的不同人群的数据。如果您还没有这样做,请填写我们的调查问卷,以便我们有数据来更好地了解我们的社区。
  • 第三,如果你以所有者甚至是雇员的身份参与一家使用 Python 开发商业产品的企业,请与负责财务的人讨论你如何能够为 Python 做出贡献。
  • 最后,请记住对你周围的人说谢谢,他们作为维护者、社区组织者或志愿者为 Python 贡献了时间和精力。**

本周 PyDev:Irina Truong

原文:https://www.blog.pythonlibrary.org/2018/12/17/pydev-of-the-week-irina-truong/

本周,我们欢迎 Irina Truong(@ Irina Truong)成为我们本周的 PyDev!Irina 已经在几次 Python 会议上发言,并且是 pgcli 的维护者,pgcli 是一个 Python 包,是 Postgres 数据库的命令行接口。你可以在 Github 上看到她还在做什么。让我们花点时间去了解一下伊琳娜吧!

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

你能告诉我们一些关于你自己的情况吗(爱好、教育等)?

我拥有乌克兰哈尔科夫电子大学的计算机科学硕士学位。我练合气道,可能的话会骑自行车去一些地方。我还喜欢飞行(并持有私人飞行员证书)、单板滑雪和攀岩,但当我女儿出生时(她 4 岁了),这些爱好不得不让位。我喜欢旅行。我去过欧洲的几个国家,但从未去过亚洲或南美,所以这些地方都在我的游览清单上。

你为什么开始使用 Python?

我已经用 C#工作了很长时间。NET),但整体印象不是很好。网络生态系统。我用几种不同的语言编写 web 应用程序,然而却没有一见钟情。直到我遇到了我的第一个关于构建小型 web 应用程序的 Python 教程。代码清晰、简洁,应用程序不需要设置任何服务器在本地运行。我知道我想用这种语言写作。所以我在里面写了一个个人的小项目。然后,我买了第一次 PyCon 的票,在这里我找到了一个新的雇主,一个可以让我用 Python 写作的雇主。想象一下!

你还知道哪些编程语言,你最喜欢哪一种?

我用 Perl、PHP、Java 写了几年,用 Ruby 写了一点。我学习了 Scala,但是从来没有机会在现实世界的项目中使用它。C#是最长的一个阶段,但是一旦转到 Python,就再也没有回头。偶尔,我不得不做一些前端工作(HTML/CSS/Java Script),但我更喜欢后端。Python 仍然是我的最爱,Scala 紧随其后。作为一名开发人员,我必须了解 SQL,尽管它不是一种编程语言。

你现在在做什么项目?

在我的日常工作中,我是一家名为 Parse.ly 公司的开发人员。我们的产品是面向数字出版商的分析仪表板。为了提供所有这些漂亮的图表和统计数据,我们在 AWS 中使用 Apache Spark 和 Apache Storm 收集和处理大量事件。

工作之外,我是 pgcli 的维护者。对于 PostgreSQL 来说,它是一个更好的客户端,基于一个叫做 Python Prompt Toolkit 的神奇库。我还参与了其他 dbcli 项目,比如 mycli ,这是一个 MySQL 的 cli。我还为 Docker 编写了一个名为 Wharfee 的小 CLI,但遗憾的是,这个项目并没有得到太多的关注。最近开始给 Dask 投稿。

哪些 Python 库是你最喜欢的(核心或第三方)?

我发现 bpython 非常有助于快速了解“如果我用 python 做这件事会发生什么”。熊猫很适合查看一些数据。当我需要找出我不认识的包中的依赖关系时, pipdeptree 非常有用。作为 API 正确使用的一个例子,我会说请求库。

你是如何在 Python 大会上发言的?

我有一个朋友在 PyCon 上做了一个演讲(am jith Ramanujam,PGC Li的作者)。然后是另一个朋友(埃斯特·南皮拉迪斯的联合创始人)。当然,他们都是超人,但是,很长一段时间以来,我一直认为,我不是最聪明的人,我没什么好说的。在某个时候,越来越多的人开始带着工作上的问题来找我,我能够给他们很好的答案,所以我意识到我有话要说。但是我总是非常害怕让自己出现在公众面前。我和我的两个朋友都谈到了这个问题,并试图从他们的经历和他们应对公众演讲挑战的方式中学习。最后,我想,“嗯,肯定不会比怀孕 5 个月就通过私人飞行员考试更糟糕吧?”?我是对的。它不是。

你对那些认为自己不能在会议上发言的人有什么建议吗?

看看 PyCon 舞台上的那些演讲者。他们看起来怎么样?自信?知识渊博?搞笑?在里面,他们战战兢兢。我知道,因为我和很多人谈过,也问过这个问题。没有人去那里想“是啊,小菜一碟,我要成为明星了”。但是通过练习会变得更好。所以尽可能多的练习。首先,打开你的摄像机,对着它说话。复习。解决你的行为问题(嗯…,呃,坐立不安),再试一次,并记录。重复,直到你可以说“你知道,这听起来并不太糟糕!†.此时,在当地的集会上展示你的演讲。谈话结束后,从人们那里获得反馈。带上一两个朋友,这样你可以得到更好的反馈,更多的细节。在你对一群 30 人演讲后,对一群 500 人演讲真的没什么不同。

还有,在这里看一些很棒的建议:https://ref . readthe docs . io/en/latest/advice _ for _ pycon _ speakers/。这句话对我特别有帮助:

一位投稿人说,“我还没见过有人被嘘下台的演讲,我见过一些可怕的演讲。â€

非常正确!你不会把一个开发伙伴嘘下台,是吗?那你为什么害怕别人对你做那样的事?

你还有什么想说的吗?

作为一名软件开发人员,你通常与其他人在一个团队中工作。不要容忍别人不专业或不友好地对待你或团队中的任何人。如果有人是个混蛋,把他们叫出来,或者和其他人提起。善待他人,分享你的知识。如果你最终和一群让你不愉快的人在一起,尽管这不是你的错,离开吧。

谢谢你接受采访,伊琳娜!

本周 PyDev:Irit kat riel

原文:https://www.blog.pythonlibrary.org/2022/11/21/pydev-of-the-week-irit-katriel/

本周我们欢迎艾瑞特·卡特瑞尔(@艾瑞特·卡特瑞尔 )成为我们的本周 PyDev!Irit 是在微软工作的 CPython 核心开发人员。Irit 帮助编写了 PEP 654 ,它是关于“异常组和 except*”的,今年在 Python 3.11 中发布。这个新特性使得同时引发和处理多个不相关的异常成为可能。

让我们花些时间更好地了解 Irit!

你能给我们介绍一下你自己吗?

我学的是计算机科学,1995 年毕业后,我在以色列海法的开发中心为英特尔工作。我当时正在为 Merced 处理器开发一个性能模拟器,在真正的芯片出现之前,微软编译器团队就已经在使用它了。然后回学校读了图算法的博士(纸笔证明,不编程)。那时我最喜欢的论文是关于一种算法,当你插入边时,它能有效地保持 DAG 节点的拓扑顺序。改进这样一个基本问题很有趣。

博士后,我结束了在伦敦曲折的生活。当时伦敦的技术领域非常集中在金融领域,在接下来的 15 年左右的时间里,我主要从事银行技术工作。这是在金融危机之后,许多事情都在发生变化,因此需要新的技术系统和对现有系统的改变。我最初从事的工作与业务关系密切,从事自动计算各种货币批发价格的系统工作。它给了我有用的经验,尤其是看到了一个 bug 可能有多贵,但我并不喜欢这份工作,不想以此为职业。我逐渐转向更基础的技术领域,为其他程序员提供服务,而不是直接支持业务线。

为什么开始用 Python ?

2016 年,我在美国银行(Bank of America)找到了一个角色,为我整合了一切——我在维护一个基于 python 的内部语言,该语言定义了一个大规模可扩展的电子表格。换句话说,这是一个图表,它跟踪计算之间的依赖关系,以支持输入变化时的有效更新。它是 2010 年建立的系统的核心部分,以符合后金融危机时代的监管风险管理要求。在这个职位上,我能够利用我的图形算法知识,同时深入研究语言设计问题。我以前作为面向业务的程序员的经历帮助我理解了我的用户的工作条件,并对他们能够接受的变化有了一个现实的期望。这也是我第一次在 Python 中做任何重要的事情。

在某个时候,我的经理鼓励我参与 cpython 开发本身,我发现这非常令人满意。在银行,我有大约 4000 名直接用户,但是我在 cpython 上所做的工作影响了数百万程序员。知道这一点是一种难以置信的感觉。最终,我成为了一名 cpython 核心开发人员,后来加入了微软的 faster-cpython 团队,全职开发 cpython 并专注于性能。

你还知道哪些编程语言,你最喜欢哪一种?

除了 Python,我主要使用 C、C++和 Java。有一段时间(直到大约十年前),我一直关注 C++和 boost 库的开发,我喜欢语言规范的严谨性,以及将东西放入 boost 库和后来的 C++ stdlib 的过程,同时保留了库的整体一致性。与此同时,C++在新项目中的使用越来越少(除了对性能敏感的项目),因为程序员在其他语言中更有效率。

我不认为我有最喜欢的语言。在大多数情况下,使用哪种语言不是由我决定的,语言也不是我决定接受工作机会的主要因素。目前我只写了 Python 和 C,我想这将会是一段时间,因为我正在做的事情。如果我有理由使用另一种语言,我会的。

你现在在做什么项目?

目前,我正在对 cpython 编译器进行一系列的增量更改,这将改进它的内部结构,使它更容易发展。将 python 代码翻译成字节码包括许多步骤:标记代码,将标记转换成抽象语法树(AST),最后编译器将 AST 翻译成字节码。我们目前可以通过标准库的令牌化ast 模块来访问前两步,但是第三步,将 ast 编译成字节码,是一个很大的 C 代码黑盒,并且相当复杂。它包括遍历 AST 并发出指令序列的代码生成步骤,然后是应用大量技巧使代码更快的优化阶段,包括控制流图的分析。最后,汇编程序解析跳转偏移量,发出最终的字节码,并为代码对象构造附加信息,如异常表和源位置表。

经过三十年的发展,编译器的代码有点难以使用,原因有二。首先,这些不同阶段的代码是非常耦合的,有时很难预测一个变化可能产生的影响。第二,并不总是有可能为我们想要做出的改变编写单元测试,因为每个测试都要运行大量的代码。我的目标是将编译器分成三个或四个不同的阶段,每个阶段都可以独立于用 Python 编写的单元测试。一旦我们做到了这一点,编译器的代码将会被更好地构建并且更容易维护。它将更容易被需要使用它的开发人员所理解,并且它将给我们信心去实现各种各样的优化。

你还有什么想说的吗?

我在职业生涯的后期参与了开源开发。我带来的技术经验当然非常有用,但是关于开源是如何工作的,还有很多东西需要学习。工作中固有的透明性非常令人耳目一新,我已经提到了在高影响力项目中工作的兴奋感。我希望这将鼓励其他职业生涯较晚的开发人员为开源项目,尤其是 cpython 做出贡献。从阅读开发指南开始。

Irit,谢谢你接受采访!

本周 PyDev:Ivan levkivsky

原文:https://www.blog.pythonlibrary.org/2017/01/02/pydev-of-the-week-ivan-levkivskyi/

本周我们欢迎 Ivan levkivsky(@ ilevkivsky)成为我们本周的 PyDev!Ivan 是几个 Python 增强提案的作者或合著者,特别是 483、484 和 526。换句话说,Ivan 是通过类型模块向 Python 添加类型提示的主要开发者之一。伊万是一名科学家,正因为如此,他写了很多有趣的研究论文,我很乐意承认这些论文我看不懂。你可能也会发现他的 Github 页面很有趣,因为他参与了很多项目。让我们花些时间来更好地了解我们的同胞皮达尼斯塔!

你能告诉我们一些关于你自己的情况吗(爱好、教育等)

我是一名理论物理研究员。我在高中时对数学物理更感兴趣,但现在我更感兴趣的是介观物理学——研究我们宏观世界和量子微观世界之间边界的领域。我学了 20 年左右的物理,从来没有接受过任何 cs 教育。尽管如此,我应该指出,我对范畴理论的粗略了解在编程领域对我有所帮助。

大多数时候,编程是我的爱好,只是在过去的 5 年里,我一直为工作而编程。我第一次接触编程是在 10 岁的时候学习 x86 汇编。然后就时不时玩玩其他语言。现在,我在工作中大量使用 Python,主要用于原型制作和数字处理。

我来自乌克兰,但现在住在瑞士。除了物理和编程,我还喜欢山地运动:徒步旅行、攀岩、滑雪旅游等。我也很喜欢听音乐,我过去常常拉手风琴和贝斯。

你为什么开始使用 Python?

我第一次尝试 Python 是在 2009 年玩自动化交易策略的时候(纯粹为了好玩)。我正纠结于 Mathematica 中的一些数据处理,一个朋友给我看了 Python。我对列表的理解印象深刻——那是一见钟情🙂-我决定学习更多的语言。这可能是我人生中的一个重要时刻:一个“编程又变得有趣了”的经典案例。那一年我产生了兴趣,学习了很多新的编程语言。现在我喜欢编程,尤其是在我的研究工作中用 Python 编程。

另一个重要的步骤是去年我开始为 CPython 做贡献。随着理解的加深,对语言设计和实现的理解也越来越多。使用 CPython 代码是一种乐趣。

你还知道哪些编程语言,你最喜欢哪一种?

我玩过十几种编程语言,但在主流语言中,我最喜欢的可能是 C 语言(当然是在 Python 之后)。我还应该指出 Forth、Scheme 和 Haskell。我认为这三个对我的编程哲学和风格影响很大。

你现在在做什么项目?

我对 Python 中的静态类型感兴趣。我合作编写了人教版 483: 类型提示的理论,参与编写了人教版 484: 类型提示,合作编写并实现了人教版 526: 变量注释的语法。静态与动态类型通常被认为是一个“危险”的话题,因为人们的观点往往会两极分化。但是我喜欢 Python 选择了一种明智的方式来添加一个富于表现力的类型系统,同时使它完全可选和渐进。也就是说,人们可以只注释部分代码,并使用特殊的类型“Any”来无缝地组合静态和动态类型。这种方法与 Java 或 C#等静态语言中的类型声明形成对比,更接近于在rackErlangTypeScript 中的方式。人们可以将类型提示视为向第三方工具提供结构化类型元数据的一种方式,或者是编写伴随 docstrings 的可自动验证的文档的一种方式。类型提示也有可能用于优化,但现在这不是主要方向。

现在我主要关注的是 mypy ,一个流行的 Python 静态类型检查器。特别是现在,我正致力于增加对结构化子类型的支持(也称为“静态鸭类型”或协议或接口)。我也已经开始开发 com2ann ,这是一个小型的库,用于类型注释和类型注释之间的自动翻译。添加类型注释是因为在早期版本的 Python 中缺乏对类型注释的语法支持。在 2.7 中只允许类型注释,在 3.6 之前需要类型注释来注释变量。该库已经支持翻译 PEP 526 变量注释,更多的功能将很快添加。

最后,在计算遗传学中有一个开源项目,我稍后会谈到这个项目。

哪些 Python 库是你最喜欢的(核心或第三方)?

我将命名为“typing ”(原因很明显),“pickle ”,我发现它非常简单,但对于保存一些任意数据以供以后研究或处理非常有用,“collections ”,它提供了几个我经常使用的方便的数据结构(例如,“defaultdict”、“Counter”、“ChainMap”)。
在第三方中,我最喜欢 numpy 和 matplotlib。我在工作中经常使用它们,我很喜欢它们。

作为一门编程语言,你认为 Python 将何去何从?
我认为未来十年 Python 应用最多的三个主要方向是:

  • 科学和编程相遇的地方:近年来,科学和 IT 之间的许多边界领域都得到了极大的推动,包括大数据和机器学习。Python 是一个很好的工具,可以交互式地探索支配现实世界的半结构化数据。考虑到许多方便的数字库和框架,如 numpy、pandas、scikit-learn、theano 等。可以看出 Python 非常适合这些领域。
  • 面向非程序员的编程:编程正在成为一种新的文化,它渗透到几十年前不可想象的领域:音乐、设计等等。Python 可读性很强,对于初学者来说很容易学习,并且面向把程序员(而不是计算机)放在第一位。所以我觉得这个方向很快就会非常突出。
  • 大型多语言项目:在现代编程世界中,人们越来越多地使用正确的工具来解决给定的问题。Python 是非常模块化和可扩展的,可以很好地与其他语言兼容。C API 和动态特性对此很有帮助。社区中的传统也鼓励模块化和灵活性,而不是僵化。例如,异步层不是内置在语言中的,而是“可插入的”,类型系统是可插入的,可插入 JIT 的基础设施正在开发中,等等。

对于现在的编程来说,这些可能是最重要的方向。我相信 Python 将会引领这些方向。

你还有什么想说的吗?

我是开源开发的新手(大约两年),但是在 Python 社区工作是一次非常棒的经历。我受到了非常热烈的欢迎,我也得到了很多赞赏和信任。Python 是一种很酷的语言,但围绕它形成的社区和文化是 Python 成功的重要组成部分。

感谢您接受采访!

本周 PyDev:伊夫林·德米罗夫

原文:https://www.blog.pythonlibrary.org/2015/02/02/pydev-of-the-week-ivelin-demirov/

本周,我们欢迎 Ivelin Demirov 成为本周的 PyDev。艾夫林是《T2 可视化学习 Javascript》一书的作者,最近他的下一本书《T4 可视化学习 Python》在 Kickstarter 上获得了成功。让我们花些时间去了解艾芙琳吧!

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

你能告诉我们一些关于你自己的情况吗(爱好、教育等)

早在 1989 年,我开办了一个由当地学校组织的计算机班。

它教 Z80 的汇编程序。那一刻,我明白了我更像是一个视觉学习型的人。

我于 2001 年毕业,是一名工业工程师。我喜欢创造新产品,但我爱上了图形和网页设计。在接下来的 12 年里,我为不同的机构工作,最终成为了一名艺术总监。那段时间我一直和程序员一起工作,我很好奇他们在做什么,甚至试图自己写一些代码,但作为一个视觉型的人,我真的很难专注于一个充满代码的无聊的黑白屏幕。

你为什么开始使用 Python?

当我在一个网站上工作,向我部门的程序员来回发送指令时,我对结果和完成一段脚本所需的时间感到非常沮丧,以至于我想坐下来自己写。我知道我需要慢慢开始,因为我以前试过,结果不是很好。一个来自开发部门的朋友建议我从 Python 开始,它是迫使你写干净代码的最简单的语言。

你还知道哪些编程语言,你最喜欢哪一种?

由于当时我的重点是 web 开发,所以我从 HTML、CSS 和 JavaScript 开始

然后尝试了 Ruby,PHP,C++。JavaScript 和苹果新推出的 Swift 语言是我最喜欢的。

你现在在做什么项目?

现在我正在编写一本交互式电子书,使用隐喻、现实生活中的物体类比和简单的拖放练习来教授 Python。

哪些 Python 库是你最喜欢的(核心或第三方)?

大概是 pyGame 吧,太好玩了!

是什么让你决定写一本关于 Python 的书?

自从我写了第一本关于 JavaScript 的书,许多人开始问我是否可以用同样的风格写一本 Python 书。

你能告诉我们你的 Python 书籍与众不同的地方吗?

我读了很多关于心理学的书,我知道有三种主要的学习方式:听觉、视觉和动觉。我的书侧重于视觉类型。

大部分 Python 或者任何编程语言的书籍都是有多年经验的专业程序员写的。这些作者已经形成了一种优秀的逻辑和对原理的理解,他们觉得这些原理对他们来说是如此自然,因此很难向一个不精通技术并且在学校数学不太好的人解释。

你还有什么想说的吗?

如果你发现自己在努力学习编码,不要放弃,寻找替代的学习方法或者更好的方法,自己创造。你将在这个过程中学习,然后帮助成千上万和你有同样感受的人。

谢谢!

一周的最后 10 个 PyDevs

本周 PyDev:Jacob Vander plas

原文:https://www.blog.pythonlibrary.org/2016/12/19/pydev-of-the-week-jacob-vanderplas/

本周我们欢迎 Jacob Vander plas(@ jakevdp)成为我们的本周 PyDev!Jacob 是 Python 数据科学手册:处理数据的基本工具的作者,在华盛顿大学担任研究员和教师。正如您可能已经从他的书名中猜到的那样,Jacob 非常熟悉 Python 中的科学编程项目。如果你查看他的 github 简介,你会在 Scikit-learn 上发现许多有趣的亮点,比如。让我们花些时间去更好地了解他!

你能告诉我们一些关于你自己的情况吗(爱好、教育等)

我一直被体育活动所吸引——我在高中和大学时是游泳运动员,大学毕业后参加了铁人三项,几年前以铁人三项达到顶峰。这些天我不太受竞争的驱使,但我放松的方式是出去长途徒步旅行、跑步、游泳或骑自行车。我最喜欢的消遣是去深山里的长道上跑步,尽管我最近在家带着一个蹒跚学步的孩子不怎么去了。

我在帕洛阿尔托出生长大,在卡尔文学院主修物理学,在华盛顿大学攻读天文学博士学位。在此期间,我在日本北部生活了一年,在内华达山脉指导了两个夏天的登山远足,并在圣克鲁斯上方的红杉林中的一所中学的户外科学项目中任教了两年——这些年来我的经历以及与我共度时光的人们对我产生了深远的影响,我非常感谢我所拥有的机会!

你为什么开始使用 Python?

在户外生活和教学几年后,我决定深入研究天文学和天体物理学,这样我最终可以在更高的水平上教授它们。当我在 2006 年开始读研时,我唯一真正的编程经历是差不多十年前的一门高中 C++课程。在研究生院的第一个季度,我加入了一个研究小组,并问我的导师我应该学习什么编程语言。当时该部门的大多数人都在使用这种被称为 IDL 的专有脚本语言——出于我不完全理解的原因,当时 IDL 推动了大约 90%的天文学研究——但与我一起工作的教授充满信心地告诉我,Python 是未来的发展方向。所以我在我的老式 Windows 笔记本电脑上安装了 Python 的 IDLE,然后开始工作。寒假期间,我通过编写数独解谜程序和生成器的练习自学了这门语言的基础知识,从那以后我一直在学习。回想起来,事实证明 advisor 是绝对正确的:今天,很大一部分专业天文学家正在使用 Python 进行他们的研究工作,不用说,遵循他的建议对我很有帮助!

你还知道哪些编程语言,你最喜欢哪一种?

除了 Python,我还学过 C、C++和 Javascript,但老实说,我一直最喜欢的编程语言是 Cython 。Cython 语言是 Python 的一个超集,相当于 Python 和 C 语言的变种混合体,它可以编译成 C 代码,并通过标准 Python 代码中散布的可选类型声明来辅助。您可以获得 Python 本身的所有灵活性、表现力和美感,但是当您的程序部分需要从编译代码中获得额外的速度提升时,C 风格的语法就在您的指尖。

你现在在做什么项目?

在工作了太长时间之后,我刚刚结束了我的 OReilly 书,即 Python 数据科学手册。我目前正在对这本书背后的所有 Jupyter 笔记本进行最后的编辑,并在它们准备好的时候在 github 上发布。除此之外,我最近在 Altair 上进行了大量工作,这是一个基于 Vega-Lite 可视化语法的声明性统计可视化库。实际上,我对 Altair 很感兴趣:它有一个很好的、干净的、声明性的可视化语法,我相信这将解放用户去考虑数据中的关系,而不是考虑轴、刻度、标签和显示一个图所涉及的其他细节。

哪些 Python 库是你最喜欢的(核心或第三方)?

在 Python 的核心库中,我喜欢 collections 模块——它包含了如此多有用的数据结构,而在我看来,这些数据结构被大大地利用了。至于第三方模块,我真的很喜欢主持人包:这是一个超级干净和快速的包,通过马尔可夫链蒙特卡罗进行贝叶斯估计。Numba 是另一个最爱。这有点神奇:你给任何 Python 函数添加一个装饰器,Numba 就会把它 JIT 编译成 LLVM 字节码,这在很多情况下会带来巨大的加速。Numba 一直在稳步改善,我希望不久的将来能再次深入了解它。Dask 是另一个很好的例子:它是一个相对较新的科学 Python 代码并行化框架,最近我对它很感兴趣。我也对即将到来的 Jupyter 实验室项目感到非常兴奋:目前它仍处于 alpha 阶段,但就我所见,我认为它将在科学 Python 空间中开启许多非常有趣的可能性。

**作为一门编程语言,你认为 Python 将何去何从?

我认为 Python 非常独特,因为它跨越了这么多技术领域的界限。在统计领域,它与 R 等工具竞争;在科学计算领域,它与 Matlab 和 Julia 等工具竞争;在网络领域,它与 Javascript 和 Go 等工具竞争…这是一个优势,因为 Python 可以非常无缝地跨越这些界限,但它也可能是一个弱点,因为核心语言功能通常无法在不牺牲其他领域的情况下适应其中任何一项任务。

在过去的几年里,我很高兴地看到 Python 核心团队对科学用户的需求有了更多的认识,例如增加了数组缓冲协议、matmul 操作符、类型提示的编码,尤其是打包中的 wheel 格式。与十年前相比,如今的 Python 世界对科学用户更加友好,我相信 Python 用户和开发人员社区的各个分支之间的持续对话将进一步推动这一进步。

你还有什么想说的吗?

感谢有机会成为这个系列的一部分!

感谢您接受采访!**

本周 PyDev:杰奎琳·卡齐尔

原文:https://www.blog.pythonlibrary.org/2018/10/01/pydev-of-the-week-jacqueline-kazil/

本周,我们欢迎杰奎琳·卡齐尔( @JackieKazil )成为我们本周的 PyDev!她是《T2 与 Python 的数据争论》一书的合著者。杰奎琳是梅萨套餐的创作者。你可以去 Github 看看她还在做什么项目。让我们花一些时间来更好地了解她!

你能告诉我们一些关于你自己的情况吗(爱好、教育等)

我有一个十个月大的女儿,白天工作,做志愿者,还在攻读博士学位,这些天我没有时间专注于自己的爱好。有时候我会拿起 uke 试着给宝宝放一首歌。她太小了,意识不到我有多坏,但是我老公当然知道。

你为什么开始使用 Python?

我在密苏里大学学习新闻学时开始使用 Python。用数据讲故事的想法很吸引我。我受到了 Django 的创始人之一 Adrian Holovaty 的影响,他是我在 MU 的前辈。密苏里大学也是调查记者和编辑以及国家计算机辅助报道研究所的所在地,该研究所培养了一个使用数据讲述故事的社区。我在姜戈的一个会议上参加了速成班。

对于我的硕士项目,在 2008 年总统初选期间,我在《华盛顿邮报》的政治团队工作,构建共享诸如投票后调查数据和奥巴马日程安排之类的数据应用程序。

你还知道哪些编程语言,你最喜欢哪一种?

我编程过的一些语言包括 JavaScript,Go,PHP,SQL,VB,ActionScript。至于我最喜欢的,那是个恶作剧问题吗?

你现在在做什么项目?

我正在开发一个主要的库,这是我创建的——Mesa。它允许您在 Python 中创建基于代理的模型。

哪些 Python 库是你最喜欢的(核心或第三方)?

除了我自己的库,我会说我最近用了 ClickCookie Cutter 。我觉得我一直在使用的一个经典库是请求库。

是什么让你决定写一本关于 Python 的书?

这本书最初是为了让记者有能力争论数据。在写这篇文章的时候,我意识到其他职业,比如商业分析师,也能从中得到一些东西。目标受众是希望快速完成工作的个人,即使这意味着做起来有点乱。

创作一本书你学到了什么?

  • 给自己每天写作的时间/空间。如果你没有,你就不应该这么做。
  • 不要同时读博士,两者会互相冲突…
  • …尽管它可能会出乎意料地成为你博士资格考试的要求之一。
  • 至少有一个人会告诉你,你错了。
  • 找一个合著者。这有助于保持你的责任感和理智。它还可以帮助您摆脱从 pdf 中解析 100 页数据的困境。
  • 你不会发财的。

如果你能从头开始,你会做些什么不同的事情吗?

有两件事我会采取不同的做法。第一种可能是考虑用 Python 3 编写它。我最初选择 Python 2.7,因为 Python 2.7 对于很多人来说更容易设置,并且在我们开始编写时仍然是一个可靠的标准。然而,现在 Python 3 是标准。我要做的第二件事是写几本更短的书。我的第一本书有 500 页。它很容易被分成两三本书。

感谢您接受采访!

本周 PyDev:Jaime Buelta

原文:https://www.blog.pythonlibrary.org/2021/05/31/pydev-of-the-week-jaime-buelta/

本周我们欢迎 Jaime Buelta(@ Jaime Buelta)成为我们的本周 PyDev!Jaime 写了几本关于 Python 和 Docker 自动化的书。你可以在亚马逊上看到他的一些书。

你也可以通过访问 Jaime 的网站来了解他。

让我们花一些时间来更好地了解 Jaime!

你能告诉我们一些关于你自己的情况吗(爱好、教育等)

我是一名西班牙开发人员,目前在都柏林的 Double Yard 担任软件架构师,从事将人工智能解决方案引入教育界的项目,这是一个有趣的挑战。在过去的 20 年里,我一直从事科技行业,在许多行业工作过,包括航空航天、金融或游戏行业。我休息了几年,开了一家漫画书店,只持续了几年。

我在我的家乡马德里附近的阿尔卡拉德·赫纳雷斯大学获得了电信工程学位。在西班牙,这个学位是进入计算机科学的传统途径,就像在其他大学是通过电子工程一样。自从我有了第一台电脑——ZX 光谱电脑,我就一直对电脑感兴趣。在我职业生涯的第一年,我主要是用 C 语言进行开发,当你学习机器如何工作时,这是一种很好的沮丧方式。

关于爱好,我弹吉他,虽然不如以前经常弹。我最近正在尝试制作播客,这是一种我认为非常有趣的媒体,我是它的长期粉丝。对于像《星际迷航》这样的开发者来说,我也喜欢非常令人惊讶的东西。我能说什么呢?我想我真是个怪人!

你为什么开始使用 Python?

2008 年左右开始学习 Python。它开始更多的是作为一个兼职项目,我正在寻找一种新的语言来学习,因为我的工作,尝试了一点 Java,但我不喜欢它。我听说了很多关于 Python 的好消息,我开始在业余时间学习。我的第一个 Python 代码基本上是“用 Python 语法写的 C”

我真的很喜欢它,并开始在工作中接触越来越多的东西。我能够做的第一件事是在 Open Office(现在的 Libre Office)中使用非常疯狂的宏,它有一个内部 Python 解释器。代码真的很疯狂,可能比我今天要写的更糟糕,我用 Python 的能力做了很多实验,但是我能够用电子表格做很多数据处理。

我对它非常感兴趣,于是我开始寻找可以让我全职做 Python 开发人员的工作,2010 年我搬到都柏林时就这样做了。从那以后,它就成了我在工作中使用的主要语言。还爱着呢!

你还知道哪些编程语言,你最喜欢哪一种?

c 在我心里还是有一席之地的,虽然这几年没怎么用。我使用了 bash 和 Javascript,也使用了 Ruby 或 Erlang 等更少的语言。这些天,使用 Kubernetes,感觉 YAML 文件是他们自己的语言。

Python 仍然是我最喜欢的语言。

你现在在做什么项目?

目前,我正在从事一个项目,为在线考试创建一个监考解决方案。在过去的一年中,由于 COVID 疫情的出现,这是一个令人感兴趣的领域,所以我们一直很忙。我现在正与一些团队密切合作,他们从事我没有太多经验的领域,比如为 Mac 和 Windows 开发客户端,而我的大部分专业知识都在服务器端。还有人工智能组件,这是另一个对我来说完全陌生的领域。所以此刻我学到了很多!

我还维护了一个我创建的用于在命令行中搜索的小工具,名为 ffind。过去几年的大部分开发都是为了确保与 Python 的新版本兼容,并改进测试和 CI 管道。这是我发明的用来挠痒痒的东西,我每天都用它,我很自豪,即使它很小。

哪些 Python 库是你最喜欢的(核心或第三方)?

对我来说,最伟大的 Python 库是 requests。用于 HTTP 请求是一种享受,文档非常棒,API 也非常好用。这是第三方库的黄金标准,如果创建外部库,我们都应该以此为目标。

我也喜欢很多 Django REST 框架,对于通过 Django 创建 RESTful 应用非常有用。另一个真正有用的工具是 sh,它允许以更简单的方式用 Python 替换 bash 脚本。

“内置电池”库也非常有用。我也喜欢 argparse,为脚本创建一个简单的 CLI 非常容易。

如果你必须选择一本你写过的书作为你最喜欢的,你会选择哪一本,为什么?

虽然我都喜欢,但显然,我认为我将不得不选择“用 Python 实践微服务的 Docker”。我认为我能够从结构化系统和使用可伸缩系统中学到很多东西。它涵盖了很多让我非常感兴趣的东西,比如 RESTful 服务、容器、在生产中运行集群以及创建健康的操作实践。我想我能够谈论一些花了我一段时间才意识到的事情,所以我希望它能帮助其他人让这个过程快一点。

作为一名作家,你学到了什么?

那写作很难!抱歉,我以前就知道了…我的祖父是一名作家,我很小的时候就有了一个想法,那就是写一篇东西需要付出多少努力。此外,由于西班牙语是我的第一语言,这使得这个过程很艰难。

除此之外,另一件显而易见的事情是,通过组织要写的内容、创建示例等过程,你会学到很多东西。它真的迫使你去理解你正在解释的东西。

你还有什么想说的吗?

我有一个博客,我会在 https://wrongsideofmemphis.com/时不时更新,以防有人想看看。

Jaime,谢谢你接受采访!

本周 PyDev:海梅·费尔南德斯·德尔里奥<

原文:https://www.blog.pythonlibrary.org/2015/10/26/pydev-of-the-week-jaime-fernandez-del-rio/

本周,我们欢迎海梅·费尔南德斯·德尔里奥成为本周的 PyDev。他是 NumPy 的核心开发者。让我们花些时间去更好地了解他吧!

你能告诉我们一些关于你自己的情况吗(爱好、教育等)

我来自西班牙马德里,在那里我获得了机械工程学位。我在德国工作了几个月,但最终搬回了西班牙,回到了巴塞罗那,在那里我遇到了我的妻子伊娃,我们的两个孩子卢卡斯和加布里埃拉也在那里出生。在过去的四年里,我们一直在圣地亚哥尝试美国梦,这要感谢我过去 15 年的雇主惠普公司。

我过去非常活跃,在俱乐部打了几年橄榄球,还参加了几年的长距离铁人三项训练和比赛。在疯狂部门,我是一个狂热的赤脚跑步者,过去常常骑着固定档位的自行车上下班。这些天,在工作、家庭和我对开源的参与之间,我似乎找不到锻炼的时间或动力。但我仍然幻想着有一天能完成一个没有潜水服、固定装备、赤脚的铁人三项。

你为什么开始使用 Python?

大约在 2004 年,当我加入惠普大幅面打印实验室时,我已经 8 年没写过一行代码了。有人告诉我应该学习一门脚本语言,我选择 Perl 或 Python。我当然选择了 Perl!几年来,我是最没有歉意的 Perl 原教旨主义者,对我周围那些错误选择 Python 的可怜人嗤之以鼻。

让我给 Python 一个机会的是,在它所有的好特性中,任意精度的整数:和一个工作中的朋友,我们开始解决项目欧拉的问题,大整数让你的生活变得更容易。一百个问题之后,我变成了一个毫无歉意的 Python 原教旨主义者,这种情况已经持续了将近 10 年。

你还知道哪些编程语言,你最喜欢哪一种?

我读过或写过的第一个代码是 ZX 谱的 BASIC,大概是在我 8、9 岁的时候。在高中和大学期间,我学习了 Pascal 和 Lisp 的课程或者参与了一些项目,我已经提到了我和 Perl 的短暂交往。虽然我可能仍然能够理解其中任何一个简单的程序,但编写任何实际工作的程序将是一个严峻的挑战。

十几岁时,我在当地夜校上了一门课,之后,真正让我着迷的第一门语言是 C 语言。我仍然有一堆 80 年代末和 90 年代初的 C 和 C++书籍(有人知道吗?)是我自学语言用的。

Python 现在比我写的所有代码都要早:当我写 C 或 C++代码时,它要么附带 Python 包装器,要么直接是使用 C API 的 Python 模块。虽然使用 Python 是一种真正的乐趣,但它甚至比不上用 C 编写一些聪明的代码(最好是涉及指针算法的代码)带来的那种温暖模糊的感觉。

你现在在做什么项目?

我成为一名 NumPy 核心开发人员已经有一年了,工作之外的大部分时间我都花在了编码上。我可能会偶尔为 SciPy,Pandas 之类的做点小贡献,但 NumPy 显然占主导地位。现在大部分都是审查和合并其他人的代码,但我有一个小项目列表,我想找时间自己做。最上面的一个是关于提供更好的排序算法。

哪些 Python 库是你最喜欢的(核心或第三方)?

我在 2012 年夏天爱上了 NumPy,我们仍然过着热恋的生活。它有一个非常聪明的语法,让您可以用几行 Python 代码来表达和运行需要十倍于 C 代码的操作,以获得相当的性能。当下降到 C 语言是不可避免的时候,它提供了包装代码的机制,这样就可以无缝地从 Python 中获得代码。如果没有它,我不认为我会回到开发 Python 包装的数字处理软件的恐惧中。

非常感谢接受采访!

一周的最后 10 个 PyDevs

本周 PyDev:詹姆斯·贝内特

原文:https://www.blog.pythonlibrary.org/2017/04/17/pydev-of-the-week-james-bennett/

本周,我们欢迎詹姆斯·贝内特成为我们本周的 PyDev!James 是 Django web 框架的核心开发人员之一。他还是 Django 软件基金会的董事会成员。詹姆斯维护着一个博客,并且在 Github 上有几个有趣的项目值得一试。现在让我们花些时间来更好地了解我们的蟒蛇同伴!

你能告诉我们一些关于你自己的情况吗(爱好、教育等)

我在弗吉尼亚的一所小文理学院攻读了哲学学位。直到我上了大学,我才有机会经常接触电脑或互联网,我在一个周末自学了 HTML,因为一位教授让我选择写一篇 20 页的论文或建立一个 5 页的网站来展示一些研究,我很懒。然后人们开始付钱给我,让我为他们做网站(那是 90 年代,当人们发现你懂 HTML,他们就会这么做!),事情就这样开始了。我从未上过任何计算机科学课程,但在决定如何排版我的论文时,我确实学过 DocBook 和 LaTeX。

大学毕业后,我四处漂泊,在办公室工作了一段时间,积攒了一些积蓄,然后开始做全职合同工作,做网页开发员。后来,在 Django 发行后不久,我尝试并爱上了它,这导致我搬到了堪萨斯州,并在最初开发 Django 的公司工作。当我在那里工作的时候,我学会了提交,并成为了发布经理。五年后,我去了 Mozilla,在那里,我作为团队成员花了四年时间建立了 Mozilla 开发者网络平台。

这些天我住在旧金山湾区,在 Clover Health 工作,在那里我们试图让医疗保险变得更好。我还保留了一个博客,在那里我偶尔会写一些关于 Django、Python 或者其他我想到的东西。

我那令人难以忍受的书呆子般的非技术爱好是魔术:聚会,它最初是在我上中学的时候出现的。从那以后,我断断续续地打比赛,在过去的七年里,我还在半职业和职业巡回赛中担任比赛官员(是的,有职业比赛)。通过这种方式,我认识了很多很酷的人,也去过很多地方;有一次,在一场顶级职业锦标赛中,我得到了一次去夏威夷的免费旅行,因为比赛是在那里举行的。

在那次会议和技术会议之间,我结束了大量的旅行,并且(直到 2015 年)成为一名远程员工,这也让我不可避免地成为了一名航空极客,对飞机、机场和常旅客计划了解得太多了。

你为什么开始使用 Python?

当我在做合同 web 开发工作时,主要是用 PHP 和 Perl 语言,我重新拾起了 Python,并对这些语言中的大量死记硬背和不一致感到沮丧。我不断听到关于 Python 的好消息,所以我阅读了网络版的“深入 Python ”,并且迷上了它。不过,在那之后的一段时间里,我无法开始用 Python 做有偿工作,因为我不了解 Zope,而且那时 Zope 是 Python 中大部分网络开发合同资金的来源。

在 Django 最初发布后不久,我第一次开始专业地使用 Python,我的第一份全职 Python 工作是在最初开发 Django 的堪萨斯小报社(Lawrence Journal-World)工作。

你还知道哪些编程语言,你最喜欢哪一种?

我已经写了相当多的 PHP 和 Perl,虽然已经过了很长时间,所以我不确定我是否还“了解”它们。我一直在关注 JavaScript,我不得不说它是一种比以前好得多的语言(浏览器环境也比以前好得多),那时我们称它为“DHTML ”,只是用它来制作图像翻转和烦人的东西,当你试图点击它们时它们就会消失。我感觉核心语言越来越好了,真的,但它迫切需要有人为它提供一个坚实的标准库。

除此之外,我知道足够多的 C 语言,足以对自己构成一定的威胁,如果手边有一个库参考,我可以编写 Java 或 C#(在我职业生涯的早期,它们似乎是“安全”的备份语言),我知道足够多的 Bash,知道我不应该编写 Bash,我有一些 Emacs Lisp,这是因为我将它作为日常编辑器使用了大约 18 年,然后还有一些其他东西。

我试图偶尔为一门新语言做一个教程,看看是否有一些我错过的很酷的想法或范例。在过去的几年里,我尝试了几种函数式语言(OCaml 和 F#看起来不错),当我在 Mozilla 工作时,我尝试了 Rust。我在使用一门新语言方面最大的障碍通常是缺少一些我想要并且有时间用一门新语言写的东西,因为我的编码时间都花在了我的日常工作和我现有的开源承诺上。

我最喜欢的语言还是 Python,毫无疑问。我从 Python 中获得的可读性和简洁性的结合是我在其他语言中从未发现过的。它似乎真的很适合我的大脑,当你将它与标准库、第三方内容的巨大生态系统和令人敬畏的社区结合起来时,我觉得我可以做任何我需要用 Python 做的事情。

你现在在做什么项目?

与我第一次得到承诺时相比,我现在不那么直接参与 Django 了;现在,我把自己在这个项目中的角色描述为“脾气暴躁的老头”,尽管我认为其他几个人会向我挑战这个头衔。我仍然在 Django 的安全团队中,自从 Jacob Kaplan-Moss 和 Adrian Holovaty 正式辞去 Django 的联合 BDFLs 职务以来,我一直在技术委员会中担任某些类型决策的最终决胜局,我还是 Django 软件基金会的董事会成员。

我仍然维护着一些与 Django 相关的包,我总是在某种程度上对它们进行修补,现在我正准备在 Django 1.11 发布时发布新的版本。我也一直在考虑写另一本书(我曾经写过两个版本的 Django 入门书),但是我知道最好不要公开承诺这样的事情。如果我去做,我可能会在业余时间写,不告诉任何人,然后当我找到一种方法让它出版时宣布它。

哪些 Python 库是你最喜欢的(核心或第三方)?

我应该先说我喜欢无聊的软件。当我使用这个术语时,我不是指“不有趣”,而是指“不令人惊讶”。我对无聊软件的理想是安静可靠地完成工作,不会给我带来任何令人讨厌的惊喜。我曾经是一个在周日凌晨 3 点接到电话的人,因为一些重要的服务刚刚中断,这是我生活中不需要的惊喜。

所以在标准库中,我会选择 csv 模块。我可能比 Python 附带的任何其他模块获得了更多的收益,它是“无聊”的缩影(从好的方面来说!)一段代码:可能没有人会用它来登上黑客新闻的头版,但它只是做了自己的事,让生活变得更容易。

第三方如果我说姜戈我想我是在作弊,所以我会选 BeautifulSoup。这是又一个乏味但非常有用的代码,我不认为我可以开始估计这些年来它为我节省了多少时间和工作。

作为一门编程语言,你认为 Python 将何去何从?

我想重复一下我上面说的关于无聊软件的话,无聊是一件好事,因为我认为 Python 就是无聊软件。它已经经历了一定程度的时尚和新闻价值,但感觉那已经过去了,我们回到了它只是一个可靠的,体面的流行语言,被正在做事情的人使用。

Python 3 清除了语言中许多积累的缺陷,async/coroutine 的加入看起来状态良好,所以我不知道这种语言真正缺少的是什么。关于 Python,我一直喜欢的一点是每个版本都有多少小而合理的改进,每次都让程序员的生活变得轻松一点。

在这一点上,我希望大事件发生在工具和库的生态系统中,而不是语言本身。例如,包装已经比过去好了很多,但是我很高兴看到在这个领域仍然在进行的工作,以真正使工具和基础设施变得更好。

你对当前的 Python 程序员市场有什么看法?

我觉得现在是了解 Python 的好时机。当我第一次开始学习它时,Python(在它自己的社区之外)可能被不喜欢 Perl 的人视为一种边缘 Unix 脚本语言。现在,它无处不在,许多公司都在它的基础上构建各种东西。

举个例子:我在一家健康保险公司工作。从接收、解析和分类数据,到处理和分析管道,到实现我们的业务逻辑并与供应商互操作的应用程序,我们都用 Python 端到端地完成。当然,我们处于一个高度监管的空间,在这个空间中,法规和需求会不断变化,所以 Python 对我们来说是一个很大的优势:我们可以实现复杂的需求,或者适应甚至一些相当大的变化,这比我们基于更传统的企业空间语言和工具要快得多。

能够做到这一点是 Python 的一大卖点,这转化为对 Python 程序员的大量需求。我读到的一切都表明需求很大。

你还有什么想说的吗?

我们整个领域目前面临的最大风险之一是我们自己的精英主义和我们根深蒂固的信念,即我们以某种方式选择或奖励“优点”。事实是,我们让人们经受一连串的戏弄仪式和陈词滥调;奖励运气和傲慢;把侮辱和嘲笑混淆为诚实和直率。

结果是一种危险的平庸混蛋的单一文化——我们不是选择那些表现出技术优势的人(这种优势有多种形式),而是把选择的权力放在那些“优势”是愿意忍受所有这些垃圾以便有一天成为向他人分发垃圾的人手中。所以很自然地,他们最终会招募像他们一样的人,并延续这种循环。

在这个过程中,我们赶走了很多能够并且愿意写出好代码的人,只要我们在他们起步时给他们一点帮助和善意,这是很难容忍的,因为公司总是不顾一切地寻找拥有良好技术技能的人,而贡献者总是不顾一切地让开源项目继续下去。回到我之前提到的航空怪癖,我可以打个比方:美国的航空公司已经为威胁他们行业的“飞行员短缺”问题焦虑了一段时间,但问题并不在于缺乏能成为优秀飞行员的人。问题是航空公司对待他们的初级飞行员很糟糕,关于这一点的消息已经传开了,所以没有足够的人愿意再忍受它,航空公司不能保持他们的队伍。软件业感觉它正走向一个非常相似的情况。

这不容易解决,但我们必须解决它,否则它将对我们的行业和开源生态系统构成生存威胁。我们必须在很多地方修正它:我们必须在邮件列表和论坛上修正它,我们必须在会议上修正它,我们必须在面试和招聘过程中修正它,我们必须在办公室文化中修正它,我们必须在所有地方和所有过程中修正它。

Python 社区已经在这方面迈出了很大的步伐,但是我们还有很多工作要做。为了成功,需要我们所有人的努力。如果你不确定自己能做什么,最好的办法就是善待他人,假设新员工很聪明,如果有机会学习,就有能力做好工作,而不是因为从第一天起就不是专家而被赶走。当我开始的时候,我当然不是专家,其他人也不是!

感谢您接受采访!

本周 PyDev:詹姆斯·墨菲

原文:https://www.blog.pythonlibrary.org/2021/06/21/pydev-of-the-week-james-murphy/

本周,我们欢迎詹姆斯·墨菲成为本周的 PyDev!詹姆斯是 mCoding 的创始人,在 YouTube 上也有一个很受欢迎的 Python 教程频道 T2。你也可以在 GitHub 上看到詹姆斯在做什么。

让我们花些时间来更好地了解詹姆斯吧!

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

能简单介绍一下自己吗(爱好、学历等):

我本质上是一名数学家和程序员。我在卡内基梅隆大学获得了计算金融学士学位和数学硕士学位。在我的硕士论文中,我研究了一个物理系统的一维模型,当它变得越热时,就会释放更多的能量,计算失控爆炸效应发生的时间点。

我觉得我太喜欢做数学了,不能就此止步,所以我继续去了德州大学奥斯汀分校,在那里我获得了数学博士学位。我的研究方向是概率,主要集中在一个叫做随机几何的子领域中的随机网络。你可以从我的论文答辩中看到一个样本视频,它展示了这些随机网络中的一个,叫做多布林树,看起来像什么。

获得博士学位后,我搬到芝加哥,成为一家贸易公司的定量研究员,在那里我为他们的 S&P500 团队工作。

最终,我决定我要接受一个更具创业精神的挑战,开始自己的事业!我创建了 mCoding,在那里我从事教学、培训、承包和咨询工作。在某个时候,我决定开始上传一些免费的视频样本,这样客户就可以看到我的教学/培训风格,这就是 mCoding YouTube 频道[2]的开始。我从没想过网上的陌生人会喜欢他们,但现在我有了一群忠实的、不断增长的观众!

就业余爱好而言,我大部分时间要么阅读数学论文,要么编程,要么玩我的莱斯·保罗,要么只是在外面走走。有时我想知道我在我家附近的蜿蜒数是多少。大概超过 1000(顺时针方向)! 你为什么开始使用 Python?

在卡内基梅隆大学,我问我的朋友他最喜欢的编程语言是什么。他告诉我他用 Python“做任何事情”。当时我很惊讶,因为我认为 Python 只是一种小众语言,还没有准备好被主流使用。我试了一下,不用写类型名,再加上编写生成器很容易,这完全吸引了我。我也开始用它做任何事情! 你还知道哪些编程语言,哪个是你最喜欢的?

我在实际工作中使用的主要语言是 Python 和 C/C++,但我也涉猎了许多其他语言。我用 Bash/shell 脚本编写 sysadmin,用 LaTeX 写数学论文,用 Mathematica 做模拟(在我学习 Python 之前),用 PHP/Perl/HTML/JS 做 web 开发(同样,大部分是在我学习 Python 之前),用一点 R 做假设检验。我的第一门语言是 Java,但是我已经很久没有接触它了(我想我停下来的时候他们正在介绍 lambdas)。展望未来,我接下来最有可能学习的语言可能是 Rust。我最喜欢的还是 Python。🙂 你现在在做什么项目?

我注意到我编辑视频的方式非常算法化,所以我想,为什么不写一些代码来帮我编辑视频呢?该项目目前还处于起步阶段,它基本上是一个愚蠢的跳转切割器,可以删除长时间的沉默,但如果我能让它智能地决定包含/排除哪些语音,将会节省我很多时间!另一个有趣的例子是使用 YouTube APIs 编写一些代码来自动化 YouTube 操作和分析。例如,我可以在一瞬间更新我所有的视频描述和我所有的最新链接! 你最喜欢哪些 Python 库(核心或第三方)?

我的机会来了!我最喜欢的和 Python 中最被低估的两个核心库是 itertools 和 functools。我让这些文档在浏览器中永久打开,因为我经常使用它们。对于第三方,我会选择熊猫,主流,我知道。

我看到你教编程。你觉得教新生最难的话题是什么?

我发现对一个新生来说最难教的话题是如何把一个问题分解成几个部分,然后像那些部分已经完成了一样工作。面对一项艰巨的任务,比如说做井字游戏,新生们知道自己拥有什么,也知道最终产品需要什么,但许多人都在纠结如何将两者联系起来。我可以用预先准备好的类型提示和文档字符串给出已经分解到函数级的所有内容的起始代码,但这实际上只是避免了这个问题。最终,学生需要学会自己决定创建哪些函数和类,以及如何组织整个项目,但教他们如何做总是很困难的,因为有无数种方法可以对同一件事情进行编码,但没有一种方法一定是“最好”或“最正确”的。

你还有什么想说的吗?

感谢阅读!如果你还没有,看看我的 YouTube 频道, mCoding

詹姆斯,谢谢你接受采访!

本周 PyDev:詹姆斯·陶贝尔

原文:https://www.blog.pythonlibrary.org/2016/07/18/pydev-of-the-week-james-tauber/

本周,我们欢迎詹姆斯·陶贝尔( @jtauber )成为我们本周的 PyDev。詹姆斯是埃尔达里昂的创始人兼首席执行官。他也是 Pinax 的创造者和首席开发者。你可以在他的网站上了解他的许多项目。让我们花点时间更好地了解他。

你能告诉我们一些关于你自己的情况吗(爱好、教育等)

我是澳大利亚人,但过去 17 年的大部分时间都在波士顿地区的科技公司工作。我原本是学理论物理的,但在本科学习的中途转到了语言学专业。我曾计划从事学术事业,但到了 90 年代中期,网络真正起飞了,我有机会站在网络技术和标准的最前沿,这最终导致我搬到了美国。

我现在是一家专注于 Python 和 Django 的 web 应用程序开发公司 Eldarion 的创始人兼首席执行官。

我仍然从事语言学研究,特别是古希腊语和新约的希腊语,目前正在攻读古希腊语的研究生课程。我也创作各种风格的音乐,包括流行音乐和古典音乐。我喜欢旅游、美食和葡萄酒,最近通过了品酒师大师的 1 级考试。

我有点痴迷于终身学习,已经完成了 20 多门关于天文学、音乐、分子生物学、游戏设计和语言教学的 MOOCs 课程。每当我学习新东西时,我的第一个问题总是:我如何用 Python 实现它。

你为什么开始使用 Python?

在 90 年代后期,我主要做 Java,但我喜欢偶尔用 Perl 做原型。我当时正在做我的第一个大型开源项目,一个叫做 FOP 的排版引擎,最终我为 Apache 项目做出了贡献。我使用 Perl 来构建 PDF 生成的原型,Paul Prescod 建议我尝试 Python,而不是 Perl,特别是 Jython 的前身 JPython,可以轻松集成 Java 和 Python。

我立刻爱上了 Python,从那以后,我的每一个个人项目几乎都是用 Python 写的。

你还知道哪些编程语言,你最喜欢哪一种?

这些年来,我尝试了大约 25 种不同的语言,但我做了大量工作的语言是 BASIC、Pascal、Perl、Java、Python 和 Javascript。在过去的 18 年里,Python 一直是我的最爱。最近,我一直在涉猎 Haskell、Go 和 Swift,但只要我想快速启动并运行一些东西,我就会继续回到 Python。

你现在在做什么项目?

我的主要开源项目是 Pinax ,我们在 Eldarion 一直在使用它。我也有许多与语言学(尤其是古希腊语)、音乐理论和古代围棋相关的个人项目。当然都是用 Python 写的。

哪些 Python 库是你最喜欢的(核心或第三方)?

我认为我最常用的标准库模块应该是“collections ”,这只是“defaultdict”。我几乎在每个项目中都使用“默认字典”。

我所有的 web 应用开发都使用 Django 和 Pinax。

作为一门编程语言,你认为 Python 将何去何从?

Python 的优势之一一直是其广泛的应用领域。虽然有些语言为 web 开发或数据科学开辟了一席之地,但 Python 在这两个领域都得到了广泛应用。它被用于天文学、遗传学、语言学、音乐学、游戏等等。因此,它是一种很棒的通用语言,有一个很棒的社区,但也有非常丰富的特定于领域的库。它在这方面继续增长。特别是对于那些对跨学科感兴趣的人来说,这使得使用 Python 令人兴奋。

你对当前的 Python 程序员市场有什么看法?

由于刚才提到的原因,Python 是一门需要了解的重要语言。即使你在一个领域使用一种合适的语言,了解 Python 对于其他领域总是有用的。在过去的十年里,我发现对懂 Python 的人的需求越来越大。

感谢您接受采访!

本周 PyDev:简·贾科姆利

原文:https://www.blog.pythonlibrary.org/2020/05/11/pydev-of-the-week-jan-giacomelli/

本周,我们欢迎简·贾科姆利(@詹贾科梅利)成为我们的本周 PyDev。简是一名企业家,写了关于 Python 的博客。你可以在 Github 上看到 Jan 参与了哪些项目。

让我们花几分钟时间更好地了解 Jan!

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

你能告诉我们一些关于你自己的情况吗(爱好、教育等)

我编程有一段时间了。我从高中四年级开始,为在线博彩网页制作刮刀。之后,我学习了电子工程并获得了理学硕士学位。从学生时代起,我就一直从事软件工程师的工作。

我训练高山滑雪已经快十年了。之后还考了滑雪教练执照。因此,冬季滑雪中心是必去之地。我也喜欢风帆冲浪和壁球。除了运动,我还喜欢弹吉他和烹饪。

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

你为什么开始使用 Python?

在我的第一份编程工作中,有一个人非常喜欢 Python。我们一起做这个项目时,他向我介绍了它。我立刻喜欢上了它。然后我在大学学习期间用它来完成数学和数学任务。也用于我的硕士论文,我用神经网络建立了一个吉他放大器的模型。对我来说,这比 Matlab 更自然。从那以后,我一直在使用它。

你还知道哪些编程语言,你最喜欢哪一种?

我也做过 javascript,Java,PHP,C 和 C#的工作。我最喜欢使用 Python。虽然我大部分时间都在做 ML 项目,但我也最常使用它。总而言之,我尽量使用合适的工具来完成这项工作。我不会用 Python 做音频录制之类的实时应用。

你现在在做什么项目?

我是 typless 的首席软件架构师/工程师。我们正在构建人工智能服务,用于从发票、收据、声明、报告等文档中提取数据,…我写了一个关于开发故事和教程的博客。我也发关于软件开发的微博。

哪些 Python 库是你最喜欢的(核心或第三方)?

来自第三方库,我非常喜欢 Django 和 Django REST 框架。我也喜欢使用 scikit,keras,numpy。

你是如何成为一名企业家的?

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

2017 年 5 月,我参加了 DragonHack 黑客马拉松。在 24 小时内,我们开发了一个移动应用程序。用户可以拍摄文档的照片(例如书页),应用程序将其转换为可编辑的 Word 文档,具有相同的布局(页眉、段落、位置、…).之后,我们开始考虑自己开公司。首先,我们得到了一个工业优化的项目。我们用这个项目的钱开始开发一个数据提取人工智能服务。这项名为 typless 的服务现在可以被训练从任何文档中提取数据。

你对其他想创业的人有什么建议吗?

首先,你必须坚信你会成功。尽快开发 MVP,然后开始销售。尽可能快地销售,并且要有创意。不要拿只有钱的投资人——创业公司就像一个家庭。

你还有什么想说的吗?

你对编程了解得越多,你就越觉得自己懂得越少。

简,谢谢你接受采访!

本周 PyDev:杰森·迈尔斯

原文:https://www.blog.pythonlibrary.org/2018/03/12/pydev-of-the-week-jason-myers/

本周,我们欢迎杰森·迈尔斯成为本周的 PyDev!Jason 是Essential SQLAlchemy:Mapping Python to Databases,第二版的合著者,也是数据营的讲师。如果你有空闲时间,看看他在 Github 上贡献了哪些 Python 包,或者访问他的网站。让我们花些时间来了解 Jason!

你能告诉我们一些关于你自己的情况吗(爱好、教育等)

我是一名软件工程师、作家和讲师,在数据可视化公司 Juice Analytics 工作。我还和我的好朋友威尔·戈尔登一起发起了田纳西州和去年 11 月的会议。今年,我与 Lorena Mesa 和 Jackie Kazil 一起担任项目委员会主席。

在我的大部分计算生涯中,我是一名基础设施架构师和顾问。当云接管并偷走了所有美丽的闪光灯时,我重新开始全职编程,尽管我一直在写代码来解决基础设施问题、配置和监控。

作为业余爱好,我养了三只拉萨阿普索狗,我在海水礁池里养珊瑚。我发现盯着礁石水箱看非常放松,其中的化学成分满足了我对分析化学的最初热爱。

你为什么开始使用 Python?

我从 Python 开始,因为它是我 2012 年在 BorderJump(国际物流)工作的第一份全职编程工作中使用的语言。我们用了很多 SQLAlchemy,肥皂水和烧瓶。

你还知道哪些编程语言,你最喜欢哪一种?

我会 C,C#,Php,Golang,还有一些 Javascript。我喜欢 PHP 在过去几年中所发生的变化,它绝对不是很多人记得的语言。但是我现在迷恋的是 Golang。我真的很喜欢为客户提供 CLI 工具的编译二进制文件。Javascript 在 node、react 等方面的变化也非常吸引我,也是我将在 2018 年花更多时间研究的另一个领域

你现在在做什么项目?

在工作中,我一直在帮助开发一个我们称之为 recipes 的系统,它是面向业务分析师和分析程序员的 SQLAlchemy 的 DSL。最初的概念是由 Chris Gemignani 作为一个更大系统的一部分开发的,我们一直在努力将其提取到一个独立的库中。

工作之余,我正在学习第三个 Datacamp 课程,重点是为数据科学家构建强大的 python 应用程序。

哪些 Python 库是你最喜欢的(核心或第三方)?

早在 2012 年,我就爱上了 SQLAlchemy 的优雅,从那以后我就一直喜欢使用它。Mike Bayer 开发了一个设计良好的工具包,用于处理数据库,似乎总能满足我的需求,从 web 应用程序到数据转换再到数据分析。

我也喜欢使用 virtualenvwrapper(并且对 pipenv 的开发非常兴奋)。我最喜欢的部分是 workon 和 mktmpenv。

在标准库中,itertools 和 collections 是我最喜欢的库。我喜欢链结图和命名更多的我不应该。对我来说,集合中的数据容器是 Python 中最有用的部分。

我看到你与人合著了一本关于 SQLAlchemy 的书。那是怎么发生的?

撰写该书第一版的里克还有其他任务。我曾在 PyCon 2014 上就 SQLAlchemy Core 做过一次演讲,Mike Bayer 已经看过了,当 Reilly 就更新 Essential SQLAlchemy 与 Mike 联系时,他把它们发给了我。我采用了 Rick 所做的出色工作,并试图将这本书更新到 SQLAlchemy 的当前版本。

你从那次经历中学到了什么?

写一本书非常困难,在写作过程中你会学到比你事先知道的更多的东西。o ’ Reilly 为我的成功做了大量工作,并帮助指导我完成了整个过程。所以 3 课:

  • 除非你尝试去教授或写作,否则你不会了解某样东西。
  • 如果你想完成一本书,你必须每天都写。有时候是 250 个单词,有时候是 2500 个,但是你必须每天都尝试。
  • 你的技术评审和编辑是写作过程中真正的英雄。

你还有什么想说的吗?

不见得

感谢您接受采访!

本周 PyDev:杰森·r·库姆斯

原文:https://www.blog.pythonlibrary.org/2020/08/17/pydev-of-the-week-jason-r-coombs/

本周我们欢迎 Jason Coombs ( @jaraco )成为我们本周的 PyDev!Jason 是 twine ,SetupTools,CherryPy 和 140+其他 Python 包的维护者。你可以通过查看 Github 来了解他目前在做什么。

让我们花一些时间来更好地了解 Jason!

你能告诉我们一些关于你自己的情况吗(爱好、教育等)

我热爱计算,因为它赋予了人类超凡的力量。我学会了在公告栏系统上社交,并从软件开发提供的持续改进中获得乐趣。我的编程技能是在 Borland C++、K&R C 以及我在 Scheme 的第一门正式编程课程中锻炼出来的。我在终极(光盘)中找到了娱乐,我从索科罗到 DC 到匹兹堡都玩过。

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

你为什么开始使用 Python?

1997 年,在我的本科学习中,我和一个 3 人小组一起,为 Python 编写了一个编译器。在 Lex、Yacc 和 C++的基础上,我们学习了 Python 编程语言,并努力克服了对空格敏感的语法的困难,但最终对利用正式上下文的良好格式惯例的价值有了强烈的认识。对 Python 的介绍来得正是时候,当时我仍然依赖 Maple 或 Mathematica 之类的语言进行高级构造,这些构造允许在没有内存管理和电子特性的持续干扰的情况下对问题空间进行建模。我被迷住了。

你还知道哪些编程语言,你最喜欢哪一种?

我涉猎了几十种语言,但是用 Scheme、C/C++、Java、Maple、Matlab、Perl、cmd.exe、Bash、Powershell、XML/XSLT 和 Javascript 开发了不平凡的解决方案。我从事过 C++、Java 和 Python 方面的专业开发,但在 2008 年,我对 Python 如此着迷,以至于我开始专攻 Python,2010 年,我找了一份全职工作,在 Python 上开发全球规模的 web 应用程序。

你现在在做什么项目?

我在 PyPI 中维护了 140 多个包,其中有一部分被大量采用:Setuptools、keyring、CherryPy、IRC、path、twine。我正在积极地改进 Python 上“打包”的故事。特别是,我正在帮助将 Setuptools 的一些复杂特性分解到单独的包中,例如 importlib.metadata 和 import lib . resources(Python stdlib ),并将 distutils 与 Setuptools 统一起来。我更热衷于为常见的计算问题提供越来越复杂的抽象,例如使用 ITER tools(more _ ITER tools/jara co . ITER tools)和 functools (jaraco.functools),但在实践中,我渴望消除最阻碍社区发展的任何障碍——让每个程序员能够最容易和可持续地解决他们的问题。

哪些 Python 库是你最喜欢的(核心或第三方)?

当我第一次接触 Ruby on Rails 时,我对它如何轻易地使编程领域适应 HTTP 协议印象深刻。我在 Python 生态系统中寻找了一个类似的努力,这使我找到了 Turbogears 和代理 CherryPy。与 Flask 和 Django 等其他框架不同,CherryPy 采用了一种通过 HTTP 域来反映编程域的方法,通过 HTTP 将对象及其属性反映为实体。CherryPy 没有将斜杠分隔的字符串映射到函数,而是采用了更类似于 Zope 的方法,将分层组织的实体暴露到可通过 HTTP 路径遍历的树中。使用语言本身的方面直接建模问题空间的简单优雅是一种真正的乐趣,尽管我真的很欣赏像 Django 和 Flask 以及现在的 FastAPI 这样的库提供的价值,但我渴望分享 CherryPy 方法的好处和乐趣。

我也是像 itertools、more-itertools、functools 这样的库的狂热爱好者,或者任何使开发人员能够避免简单分支(if/else)而使用类似于函数式编程的抽象的库。

您是如何开始 twine 项目的?

我很早就作为 setuptools 的用户参与了打包工作,当时 0.6c7(或其左右)的文件发现在 Subversion 的最新版本中工作得不太好。后来,当我的项目需要 Python 3 支持时(依赖于 Setuptools),我参与了 Distribute 项目。后来,当我着手将 Distribute fork 重新合并到 Setuptools 中时,我采用了 Setuptools,我继续支持打包项目,并帮助它们以一种不那么单一、更具可组合性的方式满足 Setuptools 遗留用户的用例。

作为 Setuptools 和 setup.py upload 函数的维护者,我为 twine 项目提供了关于支持上传功能的意见。另外,作为密匙环库的维护者,我对启用像 twine 这样的工具感兴趣,这些工具利用密匙环来允许用户安全地存储他们的密码和令牌,而不是明文。

我对 twine 的支持主要是简化维护过程,这是我在匹兹堡 Python 小组上介绍过的一个主题。

为什么要使用 twine 而不是其他发布工具?

Twine 是 PyPA 认可的官方工具,不仅可以上传到 warehouse(官方 PyPI 索引),还可以上传测试索引和第三方索引。它是围绕精炼和受支持的标准而设计的,就像一个健康的开源项目一样,欢迎任何善意的贡献,并与维护者合作以避免意想不到的后果。

你还有什么想说的吗?

我真的很想看到 PyPy 成为 Python 的参考实现。它有助于解决我所认为的 Python 的三大挑战之一,即函数调用的性能(另外两个是健壮的多核支持和简单的打包)。对 Python 最大的批评之一是它的性能不如其他语言,如 C++或 Go。实际上,这通常没问题。我在这个问题上只受过很少的教育,所以这可能是我的催款——Kruger 说的,但是我想象一个世界,PyPy 和它的 JIT 编译器可以把 Python 带入一个在整体性能上与 Java 竞争的世界。

杰森,谢谢你接受采访!

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值