写点什么

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

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

关注

评论

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

云图说|威胁检测服务赐您“火眼金睛” ,让潜在威胁无处遁行!

华为云开发者联盟

华为云 云图说 威胁检测服务 MTD

2022,了不起的程序员日历来啦!

图灵教育

程序员 日历

SpringBoot系列:Spring Boot配置文件与常用注解

Java 程序员 后端

Flink Forward Asia Hackathon 正式启动,10W 奖金等你来!

Apache Flink

大数据 flink

SpringCloud—— eureka+feign实现声明式服务治理

Java 程序员 后端

SpringBoot整合Redis实现声明式缓存

Java 程序员 后端

SpringBoot整合SpringSecurity超详细入门教程

Java 程序员 后端

SpringBoot自动装配原理分析,手写starter组件

Java 程序员 后端

TDengine在住建行业工地管理系统落地的“操作手册”

TDengine

数据库 tdengine 后端

SpringCloud-Alibaba之Nacos

Java 程序员 后端

Apache Flink CDC 批流融合技术原理分析

Apache Flink

大数据 flink

Java的jvm与gc概述

小鲍侃java

11月日更

微软资深算法工程师为AI初学者量身打造的机器学习入门书上市啦!

图灵教育

机器学习 入门

springboot整合rabbitMq

Java 程序员 后端

区块链技术是关键?元宇宙热潮背后的三股驱动力

时空云

区块链 科技信息 元宇宙

手把手教你如何配置DBeaver对接FusionInsigth MRS Spark2x

华为云开发者联盟

数据库 开源 Dbeaver FusionInsigth MRS Spark2x

springboot整合mybatis

Java 程序员 后端

SpringCloud Alibaba 入坑(四)Sentinel基本流控规则

Java 程序员 后端

SpringBoot集成Shiro,并使用多个Realm

Java 程序员 后端

正则表达式 与 XPath 语法领域细解,初学阶段的你,该怎么学?

梦想橡皮擦

11月日更

SpringBoot配置全局的异常捕获 - ajax形式

Java 程序员 后端

SpringBoot:RabbitMQ-延迟队列

Java 程序员 后端

SpringCloud Gateway入门实战(中篇)

Java 程序员 后端

SpringCloud-Stream实战快速入门

Java 程序员 后端

MySQL Operator 02 | 脚手架选型 & 工程创建

RadonDB

MySQL 数据库 Kubernetes RadonDB

springcloud(三)网关zuul

Java 程序员 后端

SpringBoot系列:Spring Boot集成定时任务Quartz

Java 程序员 后端

SpringBoot核心【基本配置】

Java 程序员 后端

SpringBoot注解最全详解(整合超详细版本)

Java 程序员 后端

springboot整合缓存Redis

Java 程序员 后端

springcloud(一)注册中心eureka

Java 程序员 后端

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