标签归档:PyCon China

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

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

演讲介绍

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

录像和幻灯片

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

照片

和中学生们聊聊学习和使用 Python 的趣事

  • 录像:bilibiliYouTube
  • 嘉宾:王俊杰 / 胡博文 / Andy Zhou / Rice Zong
  • 主持人:李辉
  • 详情页:https://cn.pycon.org/2021/talks/young-pythonistas
  • 介绍:高中生和初中生们是怎么学习 Python 的?他们都开发了什么项目?他们未来会计划做程序员吗? 在这场圆桌里,一个高中生和三个初中生会一起聊一聊他们学习和使用 Python 的经历,以及他们的未来畅想。

这是 PyCon China 2021 第一天的一场圆桌讨论(PyHouse)。辛庆老师跟我说的时候,本来没打算参加,后来想到可以邀请我的两个小读者来聊聊,所以在前一天决定来策划和主持这场圆桌。

邀请的两个人一个是 Andy Zhou,他在六年级就开始学习 Python 了,初中时通过读我的书学习了 Flask,然后做了一个班级网站(博客程序 Flog),让同学们可以注册在上面写东西。另一个是陈绍坤(现在才想起来他似乎还在上六年级),知道他是因为他在一个知乎回答里介绍了自己学习编程的经历,而且提到有读我的书(文章?)。不过因为我在大会前一天才发出邮件,陈绍坤没来得及看到,看到邮件时圆桌讨论已经接近尾声……

第二天上午,Andy 的同学 Rice Zong 突然发邮件给我,做了一番相当正式的自我介绍,然后说想和我做朋友,原话是「我正式向你发出交朋友的邀请。希望你能接受这个朋友。」。哈哈,感觉好可爱(希望这样说他不会觉得冒犯)。他告诉我 Andy 跟他嘚瑟我发出去的圆桌邀请邮件,所以问我「作为初中生,如何才能参加 PyCon China 2022?就像 Andy 一样。」。看到最后这个问题,还没看清他说的是 2022,我就赶紧补了一封邀请邮件给他,这样我们就有了一位新嘉宾。再加上辛老师邀请的两位在上海现场的王俊杰和胡博文同学,四人成行。

我一开始准备了很多问题,但是几个人三下五除二就回答完了,而这时圆桌还剩一个小时。后面我已经不知道要说什么了,好在 Andy 和 Rice 实在是能聊,他们完全撑起了整场圆桌。再后来他们久仰大名的 Frost Ming 神秘现身;shell 叔给我们科普了很多法律相关的事情;现场的其他老师也加入进来聊起了网络安全……最后我实在坐不住了,只好把已经跑到月球的话题拉回来,给这场圆桌收了尾。这些跑题内容在最终视频里都剪掉了,要不然视频足足有两小时那么长。

也许是我笑点太低,不过和他们聊天真的非常开心,你很难不被他们的单纯和热情感染。希望明年可以看到他们几个来 PyCon China 演讲,期待明年的 PyCon China。

P.S. 这个视频是基于直播录屏的私人剪辑版本。视频中使用了冒险岛(MapleStory)的背景音乐 101 Building,我知道这样使用属于侵权,但我还是用了……版权属于 Nexon 公司。希望这是我最后一次未经授权使用版权音乐。

PyCon China 2020: Python 技术名词发音指南

这是我在今年 PyCon China 的闪电演讲,不过没有去年那么闪电:

Django 怎么读?十个 Python 程序员也许会有十种读法。如果这个你刚好会读的话,那么还有 Werkzeug、SQLAlchemy、Gunicorn、PyPI、Bokeh、Huey…… 根据可靠来源,因为错误的发音,两个 Python 程序员在交谈时平均每小时会浪费三分钟时间用来互相确认和纠正名词发音。为了减少整个 Python 社区因为错误的技术名词发音产生更多的熵,这个演讲带来了一个可信度 95% 的 Python 技术名词发音指南。

这是我第一次做线上直播形式的演讲,在提交演讲申请之后我一直在想不知道会有多少人来听。也一直在担心 Windows 会不会蓝屏,国产软件会不会弹广告,猫会不会拔掉猫的电源……后来才知道可以提前录制,那就没什么好担心的了,所以你坐在屏幕前看到的我,当时也正坐在屏幕前看自己。

准备的过程中发现这可能是很容易带来争议的演讲:有些读音没有标准,有些读音我自己也读错好久,再加上有些人觉得发音无关紧要,有些人觉得错的人多了就成了正确发音,有些人还会守着错误发音扯到文化自信……不过没关系,反正这个演讲总能让台球再转起来一次,至少也可以短暂的让大家再一次正视错误发音问题。这个演讲也是我自己的一个发音纠正练习。

你也许觉得发音正不正确无关紧要,不,这其实是一件很重要的事情。拥有正确一致的发音可以让大家见面聊天更顺畅一点,不用停下来确认说的是同一个东西,在听播客和演讲的时候也不用被错误的发音打断思绪。而且有些错误的发音并不好听,比如「Windows 叉屁」……你只要稍稍花一点心力就可以避免让错误的发音变成主流发音,最后变成「事实上的正确发音」。一旦你不在乎这一点对错,生活里的很多事情都会慢慢变成无所谓和差不多另一方面,这份指南也希望可以给技术演讲和播客提供一个参考,如果 Python 培训班和各种九块九的网课感兴趣的话,这个指南或许可以放在第一课的最后作为延伸阅读的内容。只此两项,就可以避免错误发音大范围传播。

请从今天开始重视发音吧!


演讲准备备注:

  • 耗时:48h 35m(加上后期写这篇文章和上传视频的时间)
  • 幻灯片工具:Marpit
  • 一共录了 9 遍,演讲前一晚匆匆录了最后一版,很努力也才把时长压缩到 15 分钟(要求 10 分钟长度和最多五分钟偏差),有点赶。今天下午又重新录了一版,放轻松刚好 20 分钟。
  • 感觉线上演讲有点无聊……没有观众反馈,也没有紧张和兴奋的感觉。
  • 这个演讲最后本来有一个恶搞。虽然是录播,但我原本打算在最后假装有问答环节,问「大家有没有问题要问?」,然后停顿一分钟,再说「好,那没有问题就拜拜啦」。因为这样会让超时更加严重,而且会有点让人讨厌,所以最后就去掉了。现在的结尾的意思是「用 Python 之杖赐予各位听众 Pythonic 原力」。
  • PyCon China 网站也太难看了……

欢迎来 PyCon China 2020 听我的演讲(附深圳线下会场日程)

11/23 Update:演讲日程已发布,详情见 PyCon China 2020 官网报名页面

今年 PyCon China 2020 因为疫情原因改为 70% 线上+ 30% 线下(时间为 11 月 28 号和 29 号两天)。线上票免费,线下聚会票 9 块 9(北京/上海/深圳)。如果你刚好在深圳的话,那么好消息是——深圳仍然保留了线下会场,演讲会在线下进行(文末有深圳场的详细日程),但票价仍然不变。

欢迎访问 PyCon China 2020 活动主页报名和购票(目前活动页面还没有给演讲日程安排,嘉宾列表也并不完整)。尽管线上票免费,你想花钱的话也可以通过买捐赠票和 VIP 票来支持 PyCon China。

今年我提交了一个十分钟演讲,内容虽然和 Python 相关,但其实是堂英语课——《Python 技术名词发音指南》。时间在 11 月 29 号下午一点。简介如下:

Django 怎么读?十个 Python 程序员也许会有十种读法。如果这个你刚好会读的话,那么还有 Werkzeug、SQLAlchemy、Gunicorn、PyPI、Bokeh、Huey…… 根据可靠来源,因为错误的发音,两个 Python 程序员在交谈时平均每小时会浪费三分钟时间用来互相确认和纠正名词发音。为了减少整个 Python 社区因为错误的技术名词发音产生更多的熵,这个演讲带来了一个可信度 95% 的 Python 技术名词发音指南。

附 Pycon China 2020 深圳会场安排:

  • 时间:11/28 上午 9 点
  • 地址:深圳市南山区科技园南后海大道 2378 号芒果网总部大厦 10 楼(入场需展示「i深圳」绿码),靠近地铁 9 号线深大南站(328 米)或软件基地公交站(305 米)
  • 停车: 5 元/小时,35 元封顶
  • 会场负责人:代少飞
  • 报名链接:https://www.bagevent.com/event/6975077

议程安排如下:

(上午看线上主会场直播)

 

下午深圳线下会场议程安排

13:00-13:35

好好写代码:遗失的 Python 编程原则

赖勇浩-广东天勤科技有限公司

13:35-14:10

Nix for Pythoneer

黄毅-福里斯信息技术(深圳)有限公司工程师

14:10-14:45

利用 Python 在 Azure 上玩转机器学习

卢建晖-微软技术社区区域总监

14:45-14:20

Lightning — 现代的无代码 Admin 

Jeff Kit – 深圳杰明科技与闪电数据管理创始人 

14:20-14:30

中场休息&茶歇

14:30-15:05

从 Django 历史漏洞看安全编码规范的重要性

杨文涛 YangWentao-奇虎 360 渗透测试工程师

15:05-16:40

用 Python 从 0 构建一个简单的脚本语言

廖茂文-《生成对抗网络原理剖析与 TensorFlow 实践》作者

16:40-17:15

智能问答系统在西山居中的落地

黄鸿波-西山居人工智能领域专家

17:15-17:50

K12 教育里的 Python 和 AI 

刘敬韬 – 可可乐博科技 CTO

17:50-18:00

闪电演讲

少儿编程课程设计中常用的库与工具

董轶-爱派森课程研发&讲师

3 年 5 跳的遍历 Python 职业的踩坑之旅 

李红睿 – 富途证券工程师 

 

我和 PyCon China 的故事

从参加 PyCon China 2018,到组织 PyCon China 2019,再到现在 PyCon China 2020 正式启动,我想这是一个很好的契机来记录下这两年我和 PyCon China 的故事。顺便也让更多的人了解 PyCon China,并且可以参与进来,让它变得更好。

这是一个小小的 PyCon China 私人切片,因为我已经退出筹备组,所以不代表官方立场。写起回忆来难免会有一堆牢骚不吐不快,为了避免让这篇文章变成一份扎手的手札,棘手的手记,我调整了抱怨浓度,牢骚大概只占一半,不会让你心烦。另外也因为我的视角有限,所以一些观点和想法或许有失偏颇,仅供参考,同时欢迎撰文补充和扩展。

参加 PyCon China 2018

2018 年 9 月 16 号,某位读者建议我去报名 PyCon China 演讲,这是我第一次知道 PyCon China。我一边推脱说我做不来,一边在想自己如果去的话要讲些什么好,结果当晚就报上了名,第二天又在组委会的「怂恿」下把演讲类型从快速演讲(10 分钟)换成了主题演讲。26 天后去北京参加了 PyCon China 2018,这是我第一次参加技术大会,回来后写了这篇总结文章,一半篇幅都是牢骚。

组织 PyCon China 2019

2019 年 4 月 20 号,在准备提交 2019 年的 PyCon China 演讲申请的时候,基于 PyCon China 2018 的体验向大会负责人辛庆老师提了一些改进建议,比如没有闪电演讲,演讲视频没有上传到网络上公开……然后聊着聊着就加入了筹备组。

2019 年从四月底到十月底这半年时间,我基本完整参与了 PyCon China 2019 的筹备。在整个筹备过程里,大部分事情都掺和了一些:协调规划各类事情、策划和实施闪电演讲、更新大会网站、翻译大会资料、审核宣传文章、创建和更新 Twitter 和 Facebook 账号、接待讲者、做主持人、整理上传幻灯片、写和改进各种表单/界面/措辞……在这段时间里,除了做各种杂务,我还完成了三个演讲:

这三个演讲花了很多时间准备,虽然完成的都不完美,但从收集到的会后反馈来看有很多人喜欢,这让我很开心。

在筹备工作里,我最主要的工作成果是策划闪电演讲,以及推动两个改进计划:「品牌形象建设计划」和「工作人员 Credit 计划」。

闪电演讲

4 月和辛庆老师沟通的时候,我提议增加闪电演讲专场来让大会变活泼一点,并且自荐可以负责策划和实施落地。然后我就开始负责做这件事情,一直到九月结束,跟踪了整个流程:写策划案、写宣传文章、发布相关社交动态、和讲师沟通、组织试讲、做主持人、自己出闪电演讲、提前跟摄影师要录像、剪辑录像、上传幻灯片和录像。

闪电演讲的模式大致参考了 PyCon USPyCon AU。做这件事的出发点是让 PyCon China 现场气氛不要那么严肃,稍稍有趣一点,而且作为大会的最后一个环节,可以让大家有一个热烈欢快的结尾。本来的设计是闪电演讲作为整个大会独占的最终环节,放到主会场。但事情的发展慢慢就超出了控制。一开始是因为酒店预算有限,主会场上午用完下午要拆成两个会场,所以原定的闪电演讲主会场就被换到了 Web 分会场结尾。接着因为酒店交还场地的时间限制加上上午开始时间延后导致闪电演讲独占场次变成和其他几个会场一同进行。尽管如此,我还是继续把它作为大会结尾来推行,保留了 PyCon China 2019 结束语部分(本想再加一个工作人员 Credit 环节,但是因为各种原因作罢了)。

最终效果和预想打了一些折扣,这个折扣是很多事情共同造成的。首先是大家都不熟练,我第一次做主持人,讲者们(包括我)第一次做严格限时 5 分钟的闪电演讲,许多听众大概也是第一次看闪电演讲。再加上大多演讲都比较严肃,讲者或许更关注专业性而不是有趣好玩,听众似乎也更期待和习惯前者。尽管前一晚和几位讲者试讲时一再强调 5 分钟限时,但是最终严格限时策略也受阻,Noah Chen 赖着不走我却没办法,打断严肃的演讲又看起来没礼貌。算起账来,场地也要背一口锅,讲台太高,观众离讲台太远,观众分隔距离太大,导致讲者和听众、听众和听众之间很难建立连接。从我几次演讲的体验来看,大学才是更好的技术大会场地,酒店还是更适合严肃无聊的企业会议。

最后一共收到 20 个闪电演讲申请,上海场留下 7 个:

  • Connect to the World of Python’s Community – Noah Chen
  • 500 行 Python 写一个渲染器 – 谭啸
  • 基于 OwlReady2 的人机交互 – 宋从威
  • Byte Code 的革命 – 赵俊德
  • 使用 Sphinx 制作 Web 文档 – 陈照强
  • 一键将 C/C++ 代码转换为 Python 能调用的代码 – 韦泽华
  • Python 虚拟环境和依赖管理工具大乱斗 – 李辉

我在闪电演讲开场说这是 PyCon China 第一个闪电演讲专场,但也有可能是最后一个。看了今年的宣传文章,啊,乌鸦嘴!演讲时间又变回了无聊的十分钟快速演讲模式,很显然我的设想「闪电演讲开放给现场听众,随便报名,投票决定要听哪个」也没成。我在想,假如闪电演讲继续像去年那样(乱搞),也许就可以通过活泼的演讲形式和外界宣传来吸引到气质相符的演讲和演讲者,进一步影响到参会者,最终让整个大会轻松活泼一点。

blank

如果你对这个不甚完美的最后一次 PyCon China「真 · 闪电演讲」感兴趣的话,可以移步 bilibiliYoutube 看现场录像。

品牌形象建设计划

在我加入之后,发现 PyCon China 的品牌形象很混乱:微博账号长久停止更新,也没有建立 Twitter 和 Facebook 账号,各个账号的名称和头像都不统一,所以我就想建设一个统一完整的品牌形象,让它专业一点。

先是推动确立了统一的官方 logo,当时确定的主 logo 据说是一位新加坡华人工程师设计的作品(具体姓名忘记了,看官若了解还请评论告知),我很喜欢这个 logo:

blank后续的大会 logo 基本都是这个图案的变种。对于文字版的 logo,我选了基于这个 logo 设计的 PyCon China 2012 版的带文字 logo(作者是陆卫锋):

blank

然后用我最熟练的平面设计软件——Windows 画图删掉了「PyCon 2012」,调整了「CHINA」和图形的距离,让文字里东方明珠塔的塔尖收进图案内部,最终确立了文字版本的主 logo:

blank

大部分社交账号都统一使用这个 logo,官网上因为需要横向 logo,所以用了一个主 logo 横版的变体(由错姐设计)。只剩下两处没统一:新浪微博当时似乎是限制修改头像没改成,而 GitHub 组织大概是被漏掉了。统一了 logo 之后,接着结束了 PyCon China 没有 TwitterFacebook 账号的历史,并且推动恢复了新浪微博账号的运营。但是拜托今年不要放弃更新 Twitter 和 Facebook 呀!29 号在公众号和新浪微博发布动态,而 Twitter 和 Facebook 一直都静悄悄……直到五天后才在 Twitter 上同步消息,而 Facebook 依然没有更新。这时演讲征集截止时间只剩下两天(29 号开放 7 号就结束似乎有些太短了?)

顺便说一句,发现今年出现了一个新的 PyChina logo,建议配套使用:如果社交帐号名称是 PyCon China,那么就用 PyCon China 的 logo;如果名称是 PyChina,那么就用 PyChina 的 logo。bilibili 账号这样搭配就显得混乱,违背了统一品牌形象的初衷(今年或许可以继续完成统一 logo 这件事)。

工作人员 Credit 计划

在 2018 年的大会网站以及我加入时 2019 年的大会网站上只列了一个出品人列表,这个列表更像是一个曾经参与、短暂参与和偶尔参与的混合列表。列表里有的人什么都做,比如李者璈(Manjusaka),和辛庆老师一样做各种协调和杂活,同时还全力支持多个城市的会务,兼职主持人(可塑性极强,如果讲者缺席了就可以当晚熬夜准备演讲第二天填空缺);有的人什么也不做,比如往届参与的成员和初创成员;更多的则是参与演讲议题评审的审稿人;而有的人做了很多工作,却没有被列到出品人列表里面,比如大部分真正处理各类具体筹备工作的工作人员其实大都不在这个列表里:

  • 辛庆(辛姐/Cynthia Xin):协调各类事情,做了很多杂务,因为太多所以不知道列出哪件比较好,反正至少顶了 PyCon China 半边天。
  • 许银(许老板/Jamie Xu):协调现场会务,处理现场各种「火灾水灾」事件。
  • 晁倩(倩姨/啊Q/Queena Chao):PyChina 公众号主理人和现场志愿者负责人,2019 年大部分公众号文章的编辑,同时也帮忙做各种杂务。
  • 王梦兰(大猫/Alan Wang):身兼多职,主营财务、社交媒体维护和资料翻译。
  • 王晓珂(Nicoco Wang):负责物料采购和现场签到,除了买买买,也一起帮忙做翻译和文章审阅。
  • 吴妙璇(错姐/小错/Mxuan):大部分现场物料、文章配图、幻灯片主题、T 恤等纪念品的设计都出自错姐之手。更多她的设计可以在《PyConChina大会设计2017-2019》看到。

在自己负责的领域之外,这里的每个人都会帮忙做各种杂务,也在现场做各种会务支持。除了我比较熟悉的这些人,还有很多其他工作人员和志愿者也一样在背后默默支持。尽管如此,大部分听众却没法了解到这些。

让积极做事情的人感到被认可是一件很重要的事情,电影结尾的演职员表即便滚动的再快,也会有人仔细在里面找自己的名字。一个合理的 Credit 机制可以让工作的时候有明确的分工和职责,有了认可也会让大家更有动力参与和投入。基于这些考虑,所以有了这个「工作人员 Credit 计划」。这个计划的重点就是制作一个分类的工作人员列表放到官网上,也推动了为公众号文章署名之类的小改进。

经过大家的共同努力,下面就是最终整理出的工作人员列表(篇幅所限,出品人没有列出,完整的工作人员列表可以在大会网站的工作人员页面看到):blank

这个页面其实还是未完成的状态。有一些特殊贡献没能列出,比如刘玉龙和何翔宇上传了所有的演讲视频到 bilibili 和 YouTube(中间李者璈也有协助);王梦兰在做新浪微博账号的更新和维护,中间还帮我接管过一段时间的 Twitter 和 Facebook。现场志愿者列表始终没有整理出来,估计也永远不会整理完了。

2019 未完成

筹备过程漫长,许多事情等不到答复可以自己动手,实在等不到那就放弃或折中,而更多的问题是在现场会务上集中出现。因为有太多变数和不确定性,而且又没有足够的时间进行预演,再加上缺乏流程约定和验收,上海场遇到了太多问题,仅我自己见到和体验到的就有:连接线不够长,电脑没法放到讲台;现场网络很差;有道同传失灵;主会场屏幕幻灯片两边有一些看不到;翻页笔频繁失灵;翻页笔不支持左右翻页;(继 2018 再一次)幻灯片尺寸错误;两个会场临时隔断墙隔音不好,分会场变大杂烩场;摄影师拍照片手法单调,拍讲师看不到背景幻灯片,不抓拍开场等关键画面;摄影师录像漏拍,而且没有备用摄像,导致上午主会场 laike9m 的演讲录像不完整……问题远远不止这些,细说起来大概三天三夜说不完。关于上海场会务的诸多问题在郑天航写的《在 PyCon Shanghai 2019 中我该做什么》里有很详细的介绍。

和大多数人类合作活动一样,PyCon China 2019 包含了各种妥协、事故和拖延,但是总有各种将就、补救和掩盖来让一切看起来还不错。对于观众来说看起来还不错就够了,但是对于组织者来说这远远不够,因为我们本可以做得更好,至少也要凭着这一次的经验,让下一次更好一点。

因为在筹备组这半年一直没工作,所以做什么事情都会慢慢变成全职,偶尔几天全职做外包,偶尔几天全职写书,偶尔变成全职参与 PyCon China(也因此被调侃家里有矿,所以筹备组里的人都叫我小李老板)。同样也是因为没工作,大多时间都花在了 PyCon China 筹备和准备演讲上,这半年除了拿过一次稿费做了一个外包项目外没有任何收入,生活也变得很混乱。为了让生活重回正轨,所以决定不再参与 2020 大会的策划。2019 年 10 月 27 号,成都场结束,PyCon China 2019 组织工作进入尾声,我就在筹备组群聊和大家说了再见。

在 PyCon China 的这段时间里,认识了很多有趣的朋友,收获了很多快乐的时光,希望大家一切顺利!

期待 PyCon China 2020

2020 年 10 月 29 号,PyCon China 2020 宣布正式启动了,会议时间定在 11 月的 28~29 号。希望今年的 PyCon China 可以办得更好……

等等,官网哪里去了?不知道为什么,PyCon China 2020 已经开始筹备了,官网却处于下线的状态(不论是 pyconchina.org.cn 还是 cn.pycon.org)。我认为官网是技术大会或者说任何现代品牌的最主要的网络门面,即使用户更喜欢关注微信公众号和新浪微博。对于一个技术大会来说,在网络上搜索关键词找不到官网,找到官网却打不开,这都会向观众传达一个很不专业的信号。修复并更新官网应该是在公开 PyCon China 2020 消息之前就应该做好的事情,也是现在的当务之急(上文提到官网时使用的链接指向的是我临时放到 greyli.com/archives/pyconchina 下的网站存档,基于 2019 大会网站源码生成)。

虽然不太可能实现,但我还是想说,我们应该有个博客……去年因为种种原因没能做成这件事,最终只是写了一篇文章放到 PyChina 的博客上,但我还是建议把 PyCon China 博客独立出来。有一个博客可以更方便发布各种消息给搜索引擎和超链接爱好者,而不仅仅是放到微信局域网里的公众号上服务微信用户。

尽管不再参与组织今年的 PyCon China,但是翻开去年写的《PyCon China 2020 规划》,还是有一些改进建议想一并写在这里,也许能够提供一些启发促成一些改进(不感兴趣请猛按空格键)。

首先是议题收集和审核流程需要改进。我在参与组织 FlaskCon 2020 时主办方使用的议题管理工具 Sessionize 很好用(议题收集、评审和日程表导出一体化工具),投票方式更简单合理,每个评审员独立完成投票,通过多重对比得出每个演讲的权重顺序,最终综合所有评审员的投票得出结果。这样远比微信群讨论和看板事项留言更高效,也比赞同反对式的投票方式更科学。而且可以调用其 API 生成网站议程时间表,不用投入大量精力手动同步议程变动。今年会议改线上刚好可以用 Sessionize 的免费社区版,但是考虑到今年演讲申请大都已经投递了,估计没法用(除非手动导入议题数据……),但是明年或许可以考虑。接着去年的想法,如果可能的话,取消工作人员页面的出品人概念,改为工作人员的子分类——议题审核组,只保留列表中该年参与的成员。

在议题申请上去年还有一个改进想法是在议题申请表里添加更多细化选项,比如「演讲难度」。标注演讲难度可以让听众有一个心理期待值预判,也可以让讲者不会有太多心理负担(担心话题太简单被人骂,担心话题太深奥也被人骂)。

另外,协作工具也需要改进。去年就尝试把全部工作沟通从微信转移到 Slack,但是过程并不顺利,不知道今年是不是又回到了微信群聊。我认为不应该互相迁就,而是要想办法让所有人都能正常上网,然后使用最好用的工具。

我在 19 年最后,花了很长时间来做的事情就是整理出一份《PyCon China 文档和资源导航》,收集了所有相关的资源和文档信息,以便能更好的利用这些文档,方便找到自己需要的资源和链接。同时也尽可能的扩充了大部分事项的检查清单,每一个事项都需要一个用来执行和验收的检查清单,这一点在会后总结时已经达成共识。同时我们也需要写更多的文档来规约和优化会议细节。比如分别交给讲者、听众、筹备组新成员、现场志愿者的入门指引和注意事项。​这些东西再统统加入文档和资源导航以便于查找,并且逐年迭代和优化。

最后,PyCon China 2020 需要新鲜的血液、肺泡和脑细胞,欢迎加入志愿者团队和筹备组,欢迎报名演讲

有钱的出钱,有力的出力,柴禾多了,火就旺了。祝 PyCon China 越来越好。


延伸阅读:

 

PyCon China 官网去哪里了?

看到 PyCon China 2020 要开始筹备了,我想着赶紧把去年参与筹备的总结文章写完,再不写就过期了,然后就发现官网打不开了。不仅为了国内访问更快部署的 pyconchina.org.cn 打不开,连最正式的 cn.pycon.org 也打不开。前者就我有限几次访问来看,先是显示备案报错,接着是 SSL 证书过期,现在直接没有任何响应了。而后者此前只是图片加载慢一点,还是能正常访问的,现在无论直连还是绕路都没用。

没有博客就算了,官网打不开都不修了吗?作为一个技术大会,只在微信公众号和新浪微博发布动态太不正式了,而且也没有同步到 Twitter 和 Facebook。要是我还在筹备组的话……

我还是先自己做个存档吧 :P

https://greyli.com/archives/pyconchina

11/2 更新:cn.pycon.org 现在显示 Azure 的 404 页面了,前两天是长时间无响应。

11/7 更新:cn.pycon.org 恢复了。

2021 年更新:

今年 Frost Ming 帮忙做了一个漂亮又像样的官方网站,同时恢复了往年的站点历史。

2022/7/8 更新:

网站又访问不了了。似乎每年只有大会前后短暂的时间才能访问。

参加 PyCon China 2019 上海站

19 年的九月末,参加了在上海(主会场)举办的 PyCon China 2019(Python 中国开发者大会)。这是第二次参加 PyCon China。

台湾 COSCUP 回来休息了一阵,回过神来已经是九月初了。和去年不一样的是,今年同时参与了 PyCon China 的筹备工作。大脑短路,给自己安排了太多事情:除了大会网站更新、文档翻译、社交网站维护这些前期工作和讲师接待、闪电演讲组织和主持这些现场工作,还要准备自己的闪电演讲、主题演讲和一个三小时的教程(Tutorial),在忙到快要崩溃的时候,终于在开始前两天说服辛庆老师(组委会总负责人)取消了我的教程,要不然我可能会累死 :/

19 号下午出发,这是我第一次来上海,最初的几个记忆碎片是:爬满高架柱子的绿植,夜晚还清晰可见的云,在路边练习红歌的小学生……

blank

泡汤的 Flask 专场

今年本来是想把包括 Flask 作者在内的几个主要的 Flask 维护者都邀请来,这样我们就可以开一个非常货真价值的 Flask 专场,还可以凑成一次 Pallets 团队成员大聚会。所以我分别给 Armin RonacherDavid LordMiguel GrinbergHsiaoming Yang 发了邀请邮件。不过因为各种原因,最后只有 Armin Ronacher 和 Hsiaoming Yang 能来(后来意识到经费问题,幸好没有全都来)。

20 号早上去机场接 Armin。我的英语水平一般,而 Armin 的英语又有一点难听懂,所以沟通并不多。回酒店的路上,我们一起去吃了早饭。如果写作算是我的职业的话,那么我职业生涯的开端就是 Flask,请 Flask 作者吃顿饭也算是一次小小的感谢。当然,最后也送了一本我的书给他。

Hsiaoming 现在住在日本,做了很多有意思的开源项目,很羡慕他的生活状态。我一直不知道该怎么称呼他,这次终于知道了他的中文名。

大会第一天中午的时候,我们三个加上 Luciano Ramalho(《流畅的 Python》作者,这本书我还没读过……)一起吃了午饭,也算是勉强达成了 Pallets 成员聚会的计划。聊天的时候,发现作为英语不太好的东道主,能够拿出来聊一聊并且可以引起外国人共鸣的话题并不多,中国菜和伟大的城墙算两个。

因为 Armin 的演讲和 Flask 没关系,后来又有了两个 Django 的议题,所以 Flask 专场最后改成了 Web 专场。

闪电演讲的彩蛋

一开始只是提议在今年的大会上增加闪电演讲环节,让大会更加轻松有趣一点,最后却变成了负责组织和策划闪电演讲。第一次组织闪电演讲,第一次做主持人,第一次做闪电演讲,所以都做的不是非常好。

闪电演讲环节安排在 B 会场的最后一场。我在闪电演讲的开场画面里藏了一个彩蛋,但是还没来得及展示它。

blank

这个彩蛋是这样的:开场画面里的时间其实是实时变动的,比如上面写的是「5 点 50 分 准时开始」,如果时间过了 50 分,那么画面上的时间也会跟着变成「5 点 51 分 准时开始」……

本来想安排一个茶歇,让更多其他会场的人有时间过来听闪电演讲,顺便就会有人发现这个彩蛋。但是因为整体议程时间往后推迟太久,已经超出和酒店约定的结束时间,所以还没能等到超出 50 分就匆匆开始了闪电演讲。

虽然这个彩蛋可能会有点无聊,但我想还是要在这里写出来,给它一点存在感。

明年再见

今年的大会主会场组织出了很多问题。比如 B 会场各种设备不停出故障,简直车祸现场。同时因为摄像人员的工作失误导致上午主会场 laike9m 的演讲视频没有录完整,演讲最精彩的部分没有录进来,这大概是今年 PyCon China 最遗憾的事情。当然,这些失误大都是因为没有好的流程约定、工作监督和备用方案,经过会后的总结和反思,明年一定会做的更好。

因为酒店场地日程紧张,大会前一天(9/20)晚上才能开始布置会场,很多志愿者在这里通宵工作,感谢志愿者和工作人员们的辛苦付出!

这几天里发生了太多事情,见到了很多新朋友。一天过得很快,大会结束总让人感觉有些失落,大家从不同的方向汇集到这一点,一起在这里停留了一段时间,然后又各自向自己的方向出发。祝大家一切顺利,或许明年能再见。

相关资源

参加 PyCon China 2019 成都站

今年下半年安排了太多演讲,把自己弄得很累,还好现在都已经结束。趁还没有完全忘掉,逐一总结下这几次活动(以讲者和志愿者的角度)。先从 PyCon China 成都站开始,因为这一篇草稿的完成度最高。

准备

第一次来成都,飞机上看到地上用植物画成的巨大熊猫,这是第一个关于成都的现实画面。一路出发去郫都区。坐 736 离开城市,经过田野,经过工地,又来到城市,乱糟糟的路边遇见崭新的轻轨,黑漆漆的地方走几步突然冒出招牌林立的发光建筑,感觉成都是一个生命力很强很丰富的地方。下次来一定要多去其他地方逛一逛。

蛇是不喜欢下雨的动物,但是 PyCon China 2019 上海站下雨,成都站也下雨。会场在西南交大(犀浦)的图书馆一楼,晚上去帮忙布置会场和测试幻灯片,这时候就已经开始下雨了。技术大会放到大学里举办会让人感觉很放松,参会的人可以想象自己是回到学校上了一天课。

因为规模不大,所以没多少事情要做,大家都很悠闲。中间让李者璈帮忙确认了幻灯片里的技术内容,回到酒店改幻灯片到很晚。

演讲

这次演讲是上海场主题演讲的 2.0 版本。内容变动了很多(大概 50%),花了 31h 51m(上海场的 1.0 版本只花了 23h)。「无法停止改进」的毛病依旧,幻灯片改了很久,一直到演讲开始前。

blank

和其他几次演讲差不多,这次计划了五次试讲,但是一次都没完整进行过。不过演讲还算顺利,现场气氛很好,有一种在大学里上一节水课的感觉。

因为大部分时间还在改幻灯片,其他演讲只是间歇的听了一些,不过了解到很多周边故事:李者璈因为要补藤井美娜上午的空位,所以连夜赶制了演讲,中午差点病倒;藤井美娜因为台风滞留机场一夜,第二天还坚持赶过来演讲;红姐(thautwarm)通过演讲来驱动项目的开发进展,这次已经是 PyCon China 2019 第三场演讲……

Jonathan

我在上海站的时候帮忙做讲师接待,碰见一个外国人来会场买票,他就是 Jonathan。带他去三楼买票的路上聊了下 Python 和 Flask,顺便递了张名片。过几天 Jonathan 加我微信,说过段时间会去成都,想申请做一个分享,于是就有了《Soft Skills For Software Developers》这个议题。

不过对 Jonathan 和他妻子来说这一天还是挺难熬的,因为 Jonathan 除了自己的演讲外,一句中文听不懂,但还是坚持在会场坐了一整天(第二天早饭的时候他说自己还是能看懂代码部分的……)。而且他妻子并不是程序员,也是边打毛衣边陪他静坐,中间实在无聊才出去逛了逛。

网友们

这次在成都见到了很多网友。比如聊起技术停不下来的红姐(午餐即兴演讲第一名);因为要去机场接藤井美娜所以没能听到我的演讲感觉很遗憾但我告诉他演讲很水不用遗憾但他还是不相信的陈诗桐;给我推荐了第二天的旅游路线但我还是哪里都没去的新任成都站负责人王天幸;考研失败准备二战但还是没有认真复习的李尔聪;想通过低价 Python 硬件来改变教育资源不平等现状的谢彬彬;跨越大半个成都赶过来又提前赶回去的冷柯……

合影

拍了很多合影,贴两张。第一张是讲师和志愿者一起吃火锅时拍的合影:

blank

王天幸是成都志愿者主力,但是不论是现场的大合影,还是志愿者合影,都没有拍上……这张还不错,入镜了半张脸(右上角)。另外不知道为什么,李者璈拍合影的时候总是不看镜头,也不知道在看哪个女生 :/(这篇知乎回答里的志愿者合影也有同样的问题)

第二张是和来自 HelloFlask 群聊网友的合影:

blank

参加 PyCon China 2019 成都站很开心。明年有机会的话,也许还会去成都。

相关链接

顺便贴一下我的演讲相关链接:

最后,欢迎填写 PyCon China 2019 会后调查问卷,欢迎关注 PyCon China 的公众号新浪微博Twitter 和 Facebook 账号。幻灯片在这里,录像会陆续发布到 bilibiliYouTube 上。

李辉

2019年11月3日

头像

今年完全偏离了年初的计划,大部分时间都花在了 PyCon China 2019 筹备(5~11 月)和准备五个演讲(117h)上。要重回正轨了,明年计划最多只安排 2 个演讲,不再参与 PyCon China 2020 的筹备。接下来一个月,要把拖了很久的一堆文章写掉。

blank

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