写点什么

PyCon US 2013 回顾:从 API 设计到一个笑话引发的风波

  • 2013-04-18
  • 本文字数:1521 字

    阅读完需:约 5 分钟

  1. 更好的 API 设计

Python 的 14 行诗不应该被忘记,你需要经常在项目中回顾是否真正的践行了这些原则。作为 Requests 的作者, Kenneth 重申了“ Python 的哲学”,并从 Python for Humans 出发分享了自己的实践经验,告诉大家如何构建强壮、优雅的 API。如果我们回顾自己的编码历程,一定能够发现很多值得吐槽的地方:“为什么要这样写?”,我们在学习、使用和适应这些不佳设计的同时浪费了大量的时间和精力,最主要的是这些不人性的设计将会消耗你对 Python、对编程的热爱。因此,当你遇到类似的问题时,停下来思考是否可以有符合 Python 哲学的更好的设计,这将会让整个过程更快乐!如果你期望得到一些其他实践的经验,也可以查看这里
2. 让数据说话

无论是和癌症做斗争,还是为儿童读物测量和建模亦或是对音乐数据的分析,你都可以看到 Python 的身影。不过可以发现的是,在分析工作中,Python 只是一门工具,我们需要把视野放到如何让数据去说话上。来自 Github 的工程师以结合项目中实际搜集到的数据,分享了他们的数据分析经验,他们按照“获取、解析、过滤、挖掘、呈现、提炼、交互”的流程,从“数据转化为信息”、“挖掘信息意义”两个方面来做说明。

你也可以学习到如何掌握一些常用的数据分析类库。如果你对数据分析中的一些基本原理或实现感兴趣,可以查看对贝叶斯统计模型的相关讲解。
3. 为了程序的健壮性

程序员就是一帮与逻辑打交道的人,我们会犯很多基本的逻辑错误,它们会把你引向了一条死胡同,你需要适时的加入测试,让错误更快的暴露。使用 Python 写测试也从来不是一件特别费力的事情,当然,第一步是知道如何按照正确的方式开始写测试,之后采用一些技巧和工具将会让整个过程健步如飞。

同时为了保障程序的健壮性,我们还需要在代码中适当的捕捉异常和错误。在 Esther Nam 的演讲中,她分享了 Python 捕获异常的方式和方法、基本原则,最后她也提到了防御式设计,你可以通过 ihower 的这篇文章做进一步的理解(注:shower 是 Ruby 流)。
4. Python!Python!

关于 Python 自身的发展是每次会议的一个重要组成部分。Guido van Rossum 作为 Python 社区的领导人物,分享了他对 Python 语言发展的想法,这次的话题围绕Python 3 的异步I/O 特性展开。就语言的细节来说,在本次PyCon 会议上,你可以了解到Python import 的具体工作原理以及一些你所不了解的一些扩展模块的缺陷。如果你对代码分析有兴趣,可以查看一些推荐的方式
5. 他山之石

Netflix 不仅仅是开源领域的积极分子,在这次的 PyCon 大会上,他们还分享了自己的 Python 使用方式,包括 Security Monkey、Chaos Gorilla、监控报警系统等内部工具。

近日,dotCloud 开源了他们自有平台上的关键组件 Docker 。在 PyCon 现场,dotCloud 的工程师也做了一个简单的演示来展示这款 LXC 的易用性。

而来自 Instagram 团队的工程师则从一场实际的事故出发,分享他们是如何从每天几千个请求逐渐成长为可以顶住上亿请求的可扩展系统的历程。
6. Django

Django 可能是 Python 程序员使用最多的框架之一。在这次的 PyCon 会议中,你可以学习如何定制Django Admin 、正确实现 i18n 的支持、如何管理资源,同时,你还可以学习到如何使用 Chef 来自动部署 Django 程序、结合 Mozilla Persona 来做安全认证等。
7. Ok, Beginner

好吧,初来乍到的新人们,Python 绝对是对初学者友好的语言,是不是已经跃跃欲试了?PyCon 也提供了初学者教程,你可以通过一个具体的项目来快速入门。要提醒大家的是,一定要在学习的过程中通过一些方式及时对自己的学习进度做测试。
8. 意想不到的事情

当然,这次的大会也有很多意思的演讲,例如这位工程师十年如一日使用语音写程序。不过,最吸引大家眼球的还是 PyCon 上的一个笑话引发的“风波”

2013-04-18 06:482702
用户头像

发布了 89 篇内容, 共 36.6 次阅读, 收获喜欢 4 次。

关注

评论

发布
暂无评论
发现更多内容

软件工程师年满 40 岁,下一步怎么走?|本周话题

InfoQ写作社区官方

生涯规划 个人成长 职业规划 话题讨论

CIO如何制定低代码/无代码战略

BeeWorks

滚雪球学Python系列,真能学会Python!

梦想橡皮擦

内容合集 签约计划第二季

HBase 和 Hive 的差别是什么,各自适用在什么场景中

编程江湖

大数据

大数据开发技术应该怎么学习入门才好

@零度

大数据

什么是云计算?云计算特点是什么?

行云管家

云计算 公有云 混合云 云资源

小伙伴如何更有效的自学java开发

@零度

JAVA开发 自学java

Go语言学习查缺补漏ing Day2

恒生LIGHT云社区

Go 编程语言

同态加密实现数据隐私计算,能让你的小秘密更加秘密

华为云开发者联盟

数据 加密 同态加密 联邦计算 数据隐私计算

清空数组的几个方式

编程江湖

大前端

MySQL「 Every derived table must have its own alias」1248 错误修复法

蒋川

数据库 MySQL 运维 MySQL 数据库

如何在 Flutter 中设置背景图像【Flutter专题15】

坚果

flutter 28天写作 签约计划第二季 12月日更

JVM中的对象及引用

Ayue、

技术专题合集

前端开发怎么学习才能更快的提高学习效率

@零度

大前端

Redis架构实战:高并发情况下并发扣减库存

编程江湖

java编程

打造基于 PostgreSQL/openGauss 的分布式数据库解决方案

SphereEx

数据库 开源 分布式数据库 ShardingSphere SphereEx

复杂场景,从OpenTSDB迁移到TDengine的最佳实践

TDengine

数据库 tdengine

等保工作五大误区汇总,让你更懂等保!

行云管家

网络安全 等保 等级保护

【Java】代码重构时,为什么禁止在方法内对对象类型的入参赋值

恒生LIGHT云社区

Java 代码规范 java代码规范

架构实战营 模块七作业

felix

「架构实战营」

模运算和与运算的一点儿简单思考

LSJ

位运算 二进制

详解工作流框架Activiti的服务架构和组件

华为云开发者联盟

工作流 工作流引擎 BPM Activiti BPMN

开始读 Go 源码了

AlwaysBeta

golang 源码 源码阅读 源码剖析 Go web

青藤解密:72%客户容器规模>100个,[镜像安全]谁来保护?

青藤云安全

镜像安全

给弟弟的信第1封|兄弟是父母带给我们最好的礼物

大菠萝

28天写作

火山引擎+焱融 YRCloudFile,驱动数据存储新增长

焱融科技

云计算 分布式 云原生 高性能 文件存储

百度智能客服斩获 “金音奖—中国最佳客户联络中心技术与解决方案奖”

百度大脑

人工智能 智能客服

模仿UP主,用Python实现一个弹幕控制的直播间!

Zhendong

Python

面对行业难题,华为云邀请物联网全行业拿出“亮剑”精神

华为云开发者联盟

IoT 华为云 LiteOS HarmonyOS IoT边缘

mPaaS 月度小报|魔方卡片(Cube)公测,十个卡片模板任意使用

蚂蚁集团移动开发平台 mPaaS

小程序 消息推送 移动开发 API网关 cube

IaaS首席架构师的架构设计思考与实践

华为云开发者联盟

架构 分布式 IaaS 虚拟化 华为云Stack

PyCon US 2013回顾:从API设计到一个笑话引发的风波_Python_水羽哲_InfoQ精选文章