Python 社区采访 Eric Wastl

2023-12-03

本周,我们加入了埃里克·瓦斯特,高级架构师TCGP播放器和创始人代码的出现 (AoC)。请加入我们,讨论 AoC 的起源、在解决 AoC 中的代码挑战时如何避免常见陷阱,以及 Eric 在每年的“3.8 秒”空闲时间中所做的事情。

如果您在阅读本次采访后期待参加“代码的来临”,那么您可能会对实用指南感兴趣代码的出现令人困惑.

瑞奇: 谢谢你加入我,埃里克。您最出名的身份可能是 Advent of Code 的创始人(我们稍后会讨论),但您也是 TCGPlayer 的高级架构师。请告诉我们一些您在那里的日常生活以及您需要解决的有趣问题。

Eric Wastl

埃里克:我使用 TCGPlayer 已经大约一年了。我所做的工作范围从棘手的算法、Kubernetes、供应商选择和基础设施扩展到培训、架构规划、技术候选人评估和举办大型内部黑客马拉松。

我的日常工作包括与团队和个人交谈以帮助他们解决最困难的技术挑战、算法设计、高级技术规划以及构建工具、自动化和可见性。我的工作涉及许多不同类型的问题!

瑞奇: Advent of Code (AoC) 始于 2015 年,此后每年举办一次。对于那些不了解该项目的人,AoC 是什么以及是什么激励您开始的?

埃里克:Advent of Code 是一个充满编程难题的降临日历。降临节日历通常是一种通过每天获得一点巧克力或玩具来倒数圣诞节前日子的日历。

我喜欢帮助人们成为更好的程序员,而且我喜欢制作谜题,所以我试图想出一些可以发送给我的一些朋友的东西。当时是万圣节前后,所以我正在考虑即将到来的事情,比如圣诞节,并想出了拼图加日历的想法,因为这可能会很有趣。

瑞奇: 如果我们的读者想参加 AoC 2021,您会给他们什么建议?您在参与者中发现了哪些常见的陷阱和问题?

埃里克:最大的陷阱可能是对自己太苛刻。您可以查找提示、寻求帮助或跳过谜题并稍后再试。最重要的是,不要因为排行榜上的时间而气馁。争夺最快解决时间的人也会全年进行大量的竞争性编程,而擅长竞争性编程所需的技能与使某人成为优秀工程师的技能有很大不同。

相反,应该专注于学习一门新的编程语言,或者一种新的语言特性,或者一种新的算法,或者寻找一个有效的解决方案,甚至只是解决一些难题——每个人都有不同程度的经验和背景,而难题也各不相同。对某些人来说容易,对其他人来说却很难。如果你学到了一些东西并且最终成为一个比你刚开始时更好的程序员,那么你就成功了——不管其他人做了什么。

瑞奇: 如此成功的项目,对于一个人来说一定是一项艰巨的工作。除了拼图之外,人们还能如何参与其中?他们如何支持 AoC 以确保其在未来几年持续发展?

埃里克:帮助 AoC 的最好方法就是帮助其他人解决 AoC 上的难题。到目前为止,随着 Advent of Code 的发展,对我来说最难处理的事情是社区的规模和学习新东西的人数。您不需要成为专家才能帮助别人。通常,仅仅一起讨论问题就足以让某人摆脱困境。我不可能同时出现在所有地方,但只要社区继续保持其相互超级支持的令人印象深刻的历史,我就不需要无处不在。

您还可以通过向更多人介绍 AoC 来提供帮助,尤其是那些刚刚开始编程并且不确定要构建什么来扩展其技能的人。 Advent of Code 充满了各种不同的概念和困难,让每个人都有机会学习新的东西,我的一个很大的希望是它也可以为刚刚起步的人和正在学习的人填补一些空白。边做边学是最好的方法,但不确定下一步要做什么。不幸的是,刚刚起步的人可能是最难找到的,所以我依靠社区来传播信息。

最后,对于那些感到有必要并且有能力这样做的人——不是你们,学生们!回去学习吧!——任何至少支持 AoC 1 美元的人在网站上他们的名字旁边会获得徽章。这有助于支持基础设施成本、我花在构建和运行 AoC 上的时间以及我的寿司瘾等问题。然而,《Advent of Code》对所有人免费使用,因此人们不应该觉得有义务这样做,除非他们真的愿意。

瑞奇: 现在只有最后几个问题。空闲时间你还做什么?除了 AoC 和编程之外,您还有哪些爱好和兴趣?

埃里克:除了工作、吃饭、睡觉和《代码降临》之外,我每年大约有 3.8 秒的时间,在这段时间里我做各种各样的事情。我玩电子游戏——《星际拓荒》扩展包非常棒,有 Zachtronics、Noita、Risk of Rain、异星工厂、Satisfactory、Terraria、Minecraft 以及许多其他游戏的游戏。我还看动漫,在 Otakon(大型动漫大会)做志愿者,玩 D&D,和我的狗一起玩,尝试提高我的烹饪技巧,并弹钢琴。

瑞奇: 谢谢你的聊天,埃里克。祝您今年的 AoC 一切顺利。


如果您想与 Eric 联系或注册 AoC,那么您可以前往代码网站的出现开始。如果您正在寻找详细的演练,您可能还会对实用指南感兴趣代码的出现令人困惑.

如果您希望我采访 Python 社区中的某个人,请在下面发表评论或在 Twitter 上联系我.

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Python 社区采访 Eric Wastl 的相关文章

随机推荐

  • Python heapq 模块:使用堆和优先级队列

    目录 What Are Heaps 数据结构 堆和优先级队列 堆的实现 优先级队列的用途 Heaps as Lists in the Python heapq Module 基本操作 高级别操作 堆可以解决的问题 如何发现问题 Exampl
  • PyQt 布局:创建具有专业外观的 GUI 应用程序

    目录 在 GUI 上布置图形元素 储备 PyQt 布局库 Using General Purpose Layout Managers 构建水平布局 QHBoxLayout 构建垂直布局 QVBoxLayout 在网格中排列小部件 QGrid
  • Python Turtle 初学者(概述)

    在本分步课程中 您将借助一个名为turtle的简单交互式Python库来学习Python编程的基础知识 如果您是 Python 初学者 那么本课程肯定会在您迈入编程世界的第一步时为您提供帮助 蟒蛇turtle库具有类似的交互功能 可以让新程
  • 创建一个千篇一律的 Django 应用程序

    有关本课程中使用的工具的更多信息 请查看 GNU纳米 django environ 的文档
  • 如何使用 NumPy 获取正态分布的随机数

    目录 如何使用 NumPy 生成正态分布的随机数 绘制正态分布数字 指定平均值和标准差 在 NumPy 中使用随机数 用中心极限定理迭代至正态性 结论 概率分布描述了事件或实验所有可能结果的可能性 这正态分布是最有用的概率分布之一 因为它很
  • 如何将 Python 添加到 PATH

    目录 如何在 Windows 上将 Python 添加到 PATH 如何在 Linux 和 macOS 上将 Python 添加到 PATH 了解什么是 PATH 了解 PATH 中顺序的重要性 在基于 UNIX 的系统上管理您的 PATH
  • 类型提示

    在本课中 您将了解类型提示在Python中 类型提示是一种正式的解决方案 用于静态指示 Python 代码中值的类型 它被指定在公众号 484并介绍于Python 3 5 这是向函数添加类型信息的示例 您注释参数和返回值 def greet
  • 加入 Real Python 团队,担任视频课程讲师

    加入 Real Python 团队 担任视频课程讲师 您是否喜欢学习新事物并与数千名 Python 开发人员分享您的知识 realpython com 教程团队以提供最高质量的在线 Python 教程而闻名 我们的使命是 帮助世界各地的 P
  • 2021 年 7 月 14 日

    主持人大卫 阿莫斯回答会员的问题 在这次会议上 我们讨论了 Python 新闻和更新 Python 3 10 中的结构模式匹配是什么 什么是pyproject toml为什么要使用它 如何从 Python 自动运行 Linux 命令 和更多
  • 正则表达式:Python 中的正则表达式(第 2 部分)

    目录 re Module Functions 搜索功能 替代函数 实用功能 Compiled Regex Objects in Python 为什么要费心编译正则表达式 正则表达式对象方法 正则表达式对象属性 Match Object Me
  • 什么是数据工程?它适合您吗?

    目录 数据工程师做什么 What Are the Responsibilities of Data Engineers 数据流 数据标准化和建模 数据清理 数据可访问性 What Are Common Data Engineering Sk
  • 更多锁具

    在本课程中 您将继续探索锁并了解僵局以及如何避免它 锁也称为互斥量在其他语言中 如果您下载示例代码 您可以获得自己的副本11 more locks py 下载 Sample Code zip 12 9KB 要了解更多信息 您还可以查看有关的
  • 模拟开关/外壳 – 完整示例

    该视频总结了有关用 Python 模拟 Switch Case 的课程 在本课程中 您将看到一个真实世界的示例 说明如何使用 Python 字典来模拟 switch caselambda功能 def dispatch dict operat
  • 有效使用 NumPy 的 np.arange()

    数值模拟是数值计算的基本 Python 库 它最重要的类型是数组类型被称为ndarray NumPy 提供了很多数组创建例程对于不同的情况 arange 就是这样一个基于的函数数值范围 它通常被称为np arange 因为np是 NumPy
  • Python 中的 Minimax:学习如何输掉 Nim 游戏

    目录 玩一个简化的 Nim 游戏 Get to Know the Minimax Algorithm 探索游戏树 找到最佳的下一步行动 Lose the Game of Nim Against a Python Minimax Player
  • Python pandas:你可能不知道的技巧和功能

    目录 1 在解释器启动时配置选项和设置 2 用pandas的测试模块制作玩具数据结构 3 利用访问器方法 4 从组件列创建 DatetimeIndex 5 使用分类数据节省时间和空间 6 通过迭代内省 Groupby 对象 7 使用此映射技
  • 版本控制

    你应该使用版本控制随着时间的推移 保留您的对象的完整记录 它还充当防止意外删除对象的保护机制 当您请求版本化对象 Boto3 将检索最新版本 当您添加对象的新版本时 该对象总共占用的存储空间是其版本大小的总和 因此 如果您存储一个 1 GB
  • 在 Python 中使用 JSON 数据

    JSON 是一种轻量级数据交换格式 它允许我们将 Python 程序中的对象表示为可以通过互联网发送的人类可读文本 许多 API 和数据库使用 JSON 进行通信 您将学习如何使用 Python 的内置函数json模块将程序中的数据序列化为
  • Python 社区采访 Eric Wastl

    本周 我们加入了埃里克 瓦斯特 高级架构师TCGP播放器和创始人代码的出现 AoC 请加入我们 讨论 AoC 的起源 在解决 AoC 中的代码挑战时如何避免常见陷阱 以及 Eric 在每年的 3 8 秒 空闲时间中所做的事情 如果您在阅读本
  • 视频字幕和脚本现在可在 Real Python 上使用

    嘿 今天我有一个重大更新要分享 真正的 Python 视频课程现在有完整的字幕和成绩单 我认为这对于可访问性有很大帮助 并使您最喜欢的 Python 学习资源更易于查看和搜索 让我们做一个快速演示 现在附带视频课程完整字幕您可以在方便时打开