标签归档:PyCon

PyCon China 2023:濒危 Flask 扩展拯救计划

月初参加了 PyCon China 2023, 做了一个关于 Flask 扩展生态的演讲。不太算是技术分享,讲故事为主。主要的契机是最近尝试把几个失去维护的 Flask 扩展通过各种方式「救」了回来,所以借此机会分享一下经验,也号召大家多多参与开源项目。

演讲介绍

看着一个又一个 Flask 扩展失去维护,不再兼容新版本的 Python 和 Flask,我们能做些什么?在这个演讲里,我会介绍最近我和一些被遗弃的 Flask 扩展打交道的经历,包括如何更新一个古老的 Python 开源项目,以及正在实施中的一个拯救计划。如果你来自其他开源社区,那么这里介绍的经验或许也会帮到你。

录像和幻灯片

P.S. bilibili 认定金正恩的照片是违禁图片,留半秒都不行,最后只好贴了一只马在上面。浪费二十分钟。

照片

PyCon China 2019 闪电演讲

什么是闪电演讲? 

闪电演讲(lightning talk)是指 5~10 分钟长度的快速演讲。通常会将多个闪电演讲安排在一起,有时也被称作数据突袭(data blitz)。

PyCon 闪电演讲会是什么样子?

在我的推动下,今年的 PyCon China 正式引入了闪电演讲环节,将会作为大会的特殊项目放到最后进行,而且在时间上是独占的。所有的闪电演讲都会控制在 5 分钟左右,并且和 Python 相关。上海场的闪电演讲会放到分会场 B(Web 专场)进行,下午四点四十分开始,一定记得来参加哦!

你会听到哪些内容?

今年 PyCon China 的闪电演讲安排如下:

上海 9.21

  • 【Python 虚拟环境和依赖管理工具大乱斗】李辉 – 独立 Web 开发者,Flask 维护者(之一)
  • 【500 行 Python 写一个渲染器】谭啸 – 蚂蚁金服开发工程师
  • 【基于 OwlReady2 的人机交互】宋从威 – 浙江工业大学之江学院讲师
  • 【Byte Code 的革命】赵俊德 – 西安德新软件创始人
  • 【使用 Sphinx 制作 Web 文档】陈照强 – 中科院上海药物所高级研究员
  • 【一键将 C/C++ 代码转换为 Python 能调用的代码】韦泽华 – 上海韦纳科技有限公司

北京 10.19

  • 【图算法你好:反欺诈应用介绍与实作】-黄少瑄 – 清华大学/平安科技实习
  • 【Python 与视效行业】郭李灼 – 北京微帧数字科技有限公司
  • 【Requests 长链接与 TIME_WAIT】- 刘玉龙 – 高瓴资本百丽国际后端工程师
  • 【Python 与 Redis 的一二事】庞若然 – 爱奇艺

深圳 10.20

  • 【Python C 拓展在各平台的打包与发布】赵丰 – 清华大学深圳研究生院博士生
  • 【为 Python Function 自动生成 Web UI】彭未康 – 广州爱范儿科技股份有限公司

成都 10.26

  • 【一次关于 SQLAlchemy session 的项目排错经验分享】吴强 – 新希望金融科技有限公司后台开发工程师
  • 【Python在区块链领域中的地位?】鄢倩 – ThoughtWorks

理想情况下,闪电演讲的最大的两个特点就是简短和有趣。这篇文章先让你感受一下“简短”的力量,“有趣”就留到大会下午来实际体验吧。

PyCon China 2019 Tutorial:Python Web 开发第一课

这是在 PyCon China 2019 上海场 9 月 22 号上午九点开始的 Tutorial(实践课程)《Python Web 开发第一课》 的介绍和相关信息。

购票链接:https://www.bagevent.com/event/5886131(Tutorial T3,优惠码 hellogrey)

标题

Python Web 开发第一课

介绍

这是一个面向 Python 程序员的 Web 开发课程,目标听众需要对 Python 基本语法有一定的了解,但对 Web 开发的了解程度没有要求。

在这个课程里,我会将 Python Web 开发所涉及的相关概念进行一个系统的梳理和介绍,包括 HTTP 协议、前端基础知识、常用的 Python Web 框架以及其他各种工具。

这个课程还会包含一个动手编程的环节。我会从最让人头疼的开发环境搭建开始,一步一步教你如何使用 Flask 开发一个简单的 Web 程序。

在课程过后,参与者会对整个 Python Web 开发技术栈有一个全局认识,并掌握基本的 Web 开发知识,而且会对接下来的学习路径有一个清晰的了解。

流程

时长:三小时

一、基本概念

  • Python Web 开发技术栈地图
  • HTTP 协议基础知识(请求与响应、URL 等)
  • 前端基础知识(HTML、CSS、JavaScript、AJAX 等)
  • Python 后端框架的特点和选择(Flask、Django 等)
  • 传统 Web 程序和 Web API 的对比
  • 测试、部署、持续集成等相关概念快速扫盲

二、动手编程

  • 开发环境搭建
  • 运行和调试程序
  • 编写 HTML 模板
  • 添加表单支持
  • 添加数据库支持

三、Q&A

  • 介绍常见的学习误区和建议的学习方向
  • 关于代码或其他任何相关内容的提问

内容难度

初级

目标听众

  • 想了解 Web 开发的前端、运维、测试或其他工程师
  • 想自己做网站的编程爱好者
  • Web 开发或 Python 初学者

听众要求

  • 了解 Python 基本语法
  • 有一台安装了 Python 和浏览器的电脑,并且了解命令行基本操作

讲者介绍

李辉,Flask 等相关项目的维护者,《Flask 入门教程》和《Flask Web 开发实战》的作者,HelloFlask 社区创建者。他撰写过大量技术文章,回答过大量技术问题,在这个过程中积累了一些编程教学的技巧,擅长用简单的语言解释复杂的编程概念。你可以在他的个人网站 greyli.com 了解到更多相关信息。

PyCon China 2019:基于 Flask 的 Web API 开发指南(北)

Meta

成都场 2.0 版本(推荐)

上海场 1.0 版本


这是在 PyCon China 2019 上海场 9 月 21 号分会场 B 下午 1:30 开始的演讲《基于 Flask 的 REST API 开发指南》 的介绍和相关信息。

这场演讲也会参加 PyCon China 2019 成都场(10 月 26 号)。

标题

基于 Flask 的 Web API 开发指南

介绍

作为一个微框架,轻量灵活的 Flask 很适合用来开发 Web API。相对于 Django REST Framework 和 APIStar,Flask 有什么优势和缺点?为了减少工作量,我们通常会使用一些工具来辅助编写,面对 Flask-RESTful、Flask-RESTPlus、Flask-API、Webargs、Marshmallow 等扩展和工具库,我们应该如何选择?虽然我们经常使用 REST API 这个名称,但是大部分的 API 都不够 RESTful,那么什么样的 API 才能算是 REST API?在这个议题中,我们将对这几个问题逐一进行探讨,并了解如何使用 Flask 编写出功能完善的 Web API。

总结

尽管完成了两版,但是比预先计划的内容少了很多,没能完成 Flask 扩展和其他 Web API 框架的深入对比。这些估计要放到新书里了。

  • 上海站第一版花费时间:23h 31m
  • 成都站第二版花费时间:31h 51m

PyCon China 2019:Python 虚拟环境和依赖管理工具大乱斗

这是在 PyCon China 2019 上海场 9 月 21 号分会场 B 下午 4:40 开始的闪电演讲《Python 虚拟环境和依赖管理工具大乱斗》(时长限定 5 分钟以内) 的介绍和相关信息。

PyCon China 2019 上海场购票链接:https://www.bagevent.com/event/5293611(优惠码 helloflask)

Meta

标题

Python 虚拟环境和依赖管理工具大乱斗

介绍

大多数人都会在 Python 虚拟环境和依赖管理的路上经历重重困难。一开始,你使用 pip + virtualenv + requirements.txt 的工具组合,或者再加上 virtualenvwrapper;接着,更高级的新东西出现了。Pipenv 号称新一代 Python 项目环境和依赖管理工具,打算替代上面的复杂组合,但是发展并不顺利;接着,竞争者出现了,其中实力最强的 Poetry 除了可以替代 Pipenv 来管理依赖之外,甚至还可以让你不用写 setup.py。故事就这样结束了吗?当然没有,尚在草案阶段的 PEP 582 在一边虎视眈眈,试图终结这一切混乱……

总结

加上写相关研究文章的时间,一共花了 36 小时来准备这个演讲(5 分钟),整体效果还不错,后半部分时间太紧说的有点快。

另外最后几天太忙(懒),有几处幻灯片页面样式都使用了行内 CSS,暂时没时间改,就这样吧 :/

欢迎来 PyCon China 2019 听我的演讲和 Tutorial

有没有人要参加今年的 PyCon China 上海场(9/21)?欢迎一起来组团(加我微信,备注「PyCon 组团」)!我们到时可以一起见面交流,也可以做一些 Flask 相关的活动。Flask 作者 Armin Ronacher 和 Flask 维护者之一 Hsiaoming Yang(lepture)已经确认出席,到时我可以把他们俩拉来和大家一起聊天(英语不好没关系,会说 how do you do 就行)~

其实参加技术大会并不一定是要去学东西,也可以去交朋友,换工作(微软、AWS、Elastic、JetBrains 这些公司不考虑下么),找男/女朋友(没错,我们会有相亲墙,而且 PyCon 是有女生报名的,有多少暂时保密),感受技术氛围(假装会让自己变得更厉害)……

购票和优惠码

我从 PyCon 会务那里申请到三个优惠码,helloflask 可以让大会票减掉 100 块,hellopython 可以让所有 Tutorial(三小时一个的课程)打七折,hellogrey 可以让我的那个 Tutorial(T3,Python Web 开发第一课)打六折。每个优惠码各有 20 个名额。

大会购票和详细日程见 bagevent.com/event/5293

大会官网在 https://cn.pycon.org

主题演讲

在所有主题演讲中,我比较期待(和能听懂)的大概有下面这几个(主要都在分会场 B):

  • Python 的永恒之美 – Luciano Ramalho – 《流畅的 Python》作者
  • 调试是一种新的发布:慢语言的意外优势 – Armin Ronacher – Flask 作者
  • 危险的 Flask – Hsiaoming Yang(lepture) – Flask 维护者
  • 基于 Flask 的 REST API 开发指南 – 李辉 – 我
  • Django 中的 GraphQL – 李齐雨 – LeetCode
  • Django Migration Under the Hood – 赖信涛 – 蚂蚁金服

除此之外,还有好几个分会场大概 30 个演讲,包括语言特性、人工智能、微软专场、基础架构、创新领域。另外 AWS 还提供了一个 Workshop,具体日程和演讲介绍见这里

闪电演讲

闪电演讲(5 分钟一场)是今年我参与组织 PyCon China 后推动添加的新环节,我也会负责闪电演讲的主持(第一次做主持人……紧张 ><)。闪电演讲会在分会场 B(Web 专场)进行,下午 4:40 开始,是独占环节。如果你参加今年的 PyCon,一定不要忘记来这里。

  • 【Python 虚拟环境和依赖管理工具大乱斗】 – 李辉 – 我
  • 【500 行 Python 写一个渲染器】- 谭啸 – 蚂蚁金服开发工程师
  • 【基于 OwlReady2 的人机交互】- 宋从威 – 浙江工业大学之江学院讲师
  • 【Byte Code 的革命】- 赵俊德 – 西安德新软件创始人
  • 【使用 Sphinx 制作 Web 文档】- 陈照强 – 中科院上海药物所高级研究员
  • 【一键将 C/C++ 代码转换为 Python 能调用的代码】- 韦泽华 – 上海韦纳科技有限公司
  • 【闭幕:今天什么也没听懂,PyCon 就要结束了】- 李辉 – 主持人

Tutorial:Python Web 开发第一课

今年 Tutorial 的设置主要参考了 PyCon US,形式是三小时的收费实践课程(单独收费,在 9/22),由《流畅的 Python》作者的两个 Tutorial 打头阵,而微软贡献了一个免费的 Tutorial。

我的 Tutorial 是一个面向 Python 初学者的 Web 开发入门课程(T3:Python Web 开发第一课),动手实践的部分会使用 Flask,欢迎参加。另外,Flask 维护者之一 Hsiaoming Yang 也有一场面向初学者的 Tutorial(T6:从零开始打造一个 Python 开源项目),详情见下面的链接。

Tutorial 详细日程和购票:bagevent.com/event/5886

别忘了用优惠码,我的那场(T3)可以用 hellogrey 优惠码,其他的 Tutorial 可以用 hellopython 优惠码。下面是我的 Tutorial 介绍:

介绍

这是一个面向 Python 程序员的 Web 开发课程,目标听众需要对 Python 基本语法有一定的了解,但对 Web 开发的了解程度没有要求。

在这个课程里,我会将 Python Web 开发所涉及的相关概念进行一个系统的梳理和介绍,包括 HTTP 协议、前端基础知识、常用的 Python Web 框架以及其他各种工具。

这个课程还会包含一个动手编程的环节。我会从最让人头疼的开发环境搭建开始,一步一步教你如何使用 Flask 开发一个简单的 Web 程序。

在课程过后,参与者会对整个 Python Web 开发技术栈有一个全局认识,并掌握基本的 Web 开发知识,而且会对接下来的学习路径有一个清晰的了解。

流程

一、基本概念

  • Python Web 开发技术栈地图
  • HTTP 协议基础知识(请求与响应、URL 等)
  • 前端基础知识(HTML、CSS、JavaScript、AJAX 等)
  • Python 后端框架的特点和选择(Flask、Django 等)
  • 传统 Web 程序和 Web API 的对比
  • 测试、部署、持续集成等相关概念快速扫盲

二、动手编程

  • 开发环境搭建
  • 运行和调试程序
  • 编写 HTML 模板
  • 添加表单支持
  • 添加数据库支持

三、Q&A

  • 介绍常见的学习误区和建议的学习方向
  • 关于代码或其他任何相关内容的提问

内容难度:初级

目标听众

  • 想了解 Web 开发的前端、运维、测试或其他工程师
  • 想自己做网站的编程爱好者
  • Web 开发或 Python 初学者

听众要求

  • 了解 Python 基本语法
  • 有一台安装了 Python 和浏览器的电脑,并且了解命令行基本操作
  • 其他的要求我们会具体沟通

PyCon China 2019 闪电演讲和 Flask 主题演讲征集

在 Python 诞生 30 周年之际,PyCon China 2019 将于 9 月 21 日在上海(主会场)举行,今年我们设置了闪电演讲和 Flask 专场,正在征集相关议题。

如果你对演讲不感兴趣,但是想购票参加,可以直接跳到文章结尾。

闪电演讲

5 分钟能做的事情很多,但是你有没有想过用这 5 分钟在技术大会上进行一场闪电演讲?如果你有些心动的话,现在就一个这样的机会放在你面前!

尽管只有 5 分钟,你仍然需要做足准备。反过来,5 分钟并不短,足够让你完成一场让人记忆深刻的精彩演讲。

不用担心自己「资历」不够,因为我们只关心你的演讲内容是否有趣和有质量;也不用担心自己没有演讲经验,因为我们将在会前进行一系列线上培训和交流,帮助你完成几次试讲并给出相应的建议和指导。

无论你最终是否提交议题,只要你感兴趣,都可以加我的微信(备注「闪电演讲」),我会邀请你加入微信交流群。

Flask 主题演讲

除了策划闪电演讲,我还负责策划一个 Flask 专场。如果你在 Flask 方面有过丰富的探索和实践,想和大家分享你的知识和经验,欢迎报名。当然,如果你想分享的内容和 Flask 无关,但和 Python 有关,也欢迎报名。

总而言之,只要你的演讲和 Python 有关,并且内容不算无聊,那就大胆提交你的议题吧!

报名方式和福利

点击下面的链接即可提交议题申请:

https://jinshuju.net/f/BH2z26

报名的城市会场不限上海,报名将在 8 月 10 号截止,如果你申请的是闪电演讲,记得在「演讲类型」选项里勾选对应选项。

如果你的议题成功入选,除了可以在 PyCon China 2019 大会上分享你的想法外,你还可以获得下面的福利:

  • 免费参加 PyCon China 2019 所有城市,所有主题会场;
  • 额外赠送两张对应城市的参会票,方便你带上自己的男朋友或女朋友;
  • 免费参与组委会特别策划的「Python 之夜」大聚会。

购票参会

如果你对演讲不感兴趣,那么报名参加大会也是一个不错的选择,点击下面的链接购买上海场门票(早鸟票 7 月 30 号截止):

https://www.bagevent.com/event/5293611

在这里,你将有机会交到穿着同款格子衬衫而且使用 Python 的朋友,还有机会和很多 Python 技术大牛小牛们面对面交流。我邀请到了两位 Flask 领域的重量级嘉宾,一个是 Flask 的作者 Armin Ronacher,另一个是 Flask 的维护者之一 Hsiaoming Yang(lepture)。Flask 目前的核心维护者 David Lord 虽然没能成行,但是表示可以远程支持 Sprint 活动。

如果你离上海太远,也可以考虑参与其他会场,比如北京、杭州、成都、深圳等等,具体议程可以关注 PyChina 公众号或 PyCon China 官网

PyCon China 2019,期待你的参与!

PyCon China 2018:自由的Flask

这是我在PyCon China 2018的主题演讲。这个演讲并没有涉及太多复杂的内容,主要的目的还是想推介一下Flask,让更多的人能够了解和使用Flask。

演讲主题简介如下:

作为一个流行的Python Web框架,很多开发者都喜欢Flask的简洁和灵活,并且常常拿它和“笨重”的Django做比较。基于这些特点,我们可以说Flask是自由的,自由的Flask会让你的Web开发更加自由。具体来说,这里的自由表现在很多方面,包括程序功能的扩展、路由的定义、项目结构的组织以及程序模式的设计等。

相关资源:

blank

参加北京 PyCon China 2018

说来惭愧,我在北京场开始前一个月才知道国内也有PyCon。9月16号,在聊天群里有朋友建议我去参加PyCon。从考虑去不去,到决定演讲主题,报名闪电演讲,再到变成主题演讲,只花了两天的时间。此时距离大会开始还有26天。

与此同时,新书《Flask Web开发实战》刚刚开始正式发售,有很多事情要做:整理新书的勘误、处理各个渠道读者的问题、写宣传新书的文章、处理淘宝上的盗版书、在知乎和v2ex送书并寄出,这些杂务花费了很多时间,导致幻灯片和对应的演讲稿在大会前一天晚上才最终定稿,原计划的多次试讲练习最终也只完成了1次。

因为练习太少,再加上很久没有演讲了,导致说错不少话,哈哈。演讲的过程也状态连连:幻灯片忘记打开注释窗口,忘记带水上去喝……不过,从后续的反馈来看,整体上来说还不错。我的演讲主题是《自由的Flask》,内容比较简单,主要还是想推介一下Flask,让更多的人了解它。

至于活动本身,对比往年的评价,今年可以说是最好的一届。无论如何,都要感谢组织者们的无私投入。但这并不意味着没有缺点,从我个人的体验来说,主要有这些不足:

  • 文件协作方式很糟糕,会场拍摄的照片没有发送给讲师,而演讲视频既没有在网络上公开分享,也没有发送给讲师,只是被几个提供录像服务的赞助商握在手里。

  • 各个会场的投影设备和尺寸不一,分会场A、B是16:9的电子屏幕,而分会场C则是4:3的投影。我的幻灯片一开始使用默认的4:3,后来问了组织方的老师,改成了16:9……

  • 场地和设备不好,尤其是 C 会场,因为是投影而不是电子屏幕,为了录制效果就关掉了讲台的灯,导致会场很黑,没有拍一张正常的照片。而录像也只录了黑漆漆的幻灯片,看不到讲师。

  • 形式太单调,可以在中间穿插一些聊天、座谈、编程等类似的活动,增加一些面对面的交流和互动,而不仅仅是严肃的讲和听。

除此之外,最开心的事情是和华章出版社的杨福川老师以及其他读者见了面,面对面的交流要比网络上的对话有趣的多。在我那场演讲,有一些我的读者来听,很感谢他们的支持!

下次有机会的话,希望能够带来一场更好的分享,也祝PyCon China能够越办越好。

blank

欢迎来 PyCon China 2018 听我的演讲

下个月 14 号的 PyCon China 2018 北京场的分会场 C,我有一场关于 Flask 的演讲,主题是“自由的Flask”。因为能力有限,内容不会太过深入,但我会尽量让它有趣一点,介绍一下 Flask 灵活性在各个方面的表现。另外,我还准备了一些 Flask 贴纸,欢迎参加的同学来找我领取。日程和购票入口见这里