写点什么

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:482304
用户头像

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

关注

评论

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

时间足够爱你

rmrf

学习 思考 持之以恒

Java并发编程--ReentrantLock

Java收录阁

并发编程

聊聊Redis SDS

huizhou92

redis

C++中glog源码剖析以及如何设计一个高效 log模块

泰伦卢

c c++ C#

数据湖引擎是什么鬼

数据社

大数据 数据仓库 数据湖 数据架构

每日算法之leetcode 50 Power

田镇珲

递归 LeetCode 分治

电脑城最简单骗局,仍然有无数人上当

周三不加班

电脑城 电脑选购

Redis学习笔记(列表类型)

编程随想曲

redis

工作感悟随笔

程序员小岑

感悟

架构师快问快答2

IT民工大叔

Web百度离线地图开发

玏佾

WebGIS 离线地图 Web离线地图

原创 | 使用JUnit、AssertJ和Mockito编写单元测试和实践TDD (三)单元测试在整个测试体系中的位置

编程道与术

软件测试 TDD 单元测试 集成测试 验收测试

游戏开发通用技术和工具

波波

编程 游戏开发 H5游戏

关于 WordPress-Automatic 的分布式办公实践

刘培培

分布式办公 远程办公

go 怎样做 stw

huizhou92

Go 语言

理解go 的 sort

huizhou92

Go 语言

想看懂stl代码,先搞定type_traits是关键

泰伦卢

c c++ C#

Netty 源码解析(八): 回到 Channel 的 register 操作

猿灯塔

Java并发编程基础--Java内存模型

Java收录阁

DDD 实践手册(5. Factory 与 Repository)

Joshua

企业架构 设计模式 领域驱动设计 DDD 架构模式

深入浅出虚拟内存

泰伦卢

c c++ C#

MacOS高效使用指南-我的体系化方案以及软件清单

lmymirror

高效工作 效率工具 知识管理 Mac 操作系统

无所不能 就像妈妈一样

Neco.W

思考 情绪

作为自由职业者,我的近况

一尘观世界

程序员 自由职业 复盘

回"疫"录(10):危机与希望

小天同学

疫情 回忆录 现实纪录 纪实

和孩子聊聊死亡

陈医僧Ethan

感悟 育儿

C++ sqlite3使用指南

泰伦卢

c c++ C#

自助设备系列——增长点

孙苏勇

产品 行业资讯 智能设备

未完成乞丐版 Args

escray

学习 CSD 认证实战营

程序员《后浪》-图文版

Java_若依框架教程

后浪 程序媛 娱乐

程序员• 后浪

古时的风筝

程序员 后浪

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