分类目录归档:计划与总结

2021 年总结

今年一整年都呆在家里。书断断续续地写,但一本也没写完。最后两个月,因为钱花光了,终于下定决心开始找工作,最终在 2021 年最后几天拿到第一份工作的 offer,结束了近五年的自由职业状态。这个 offer 给这一年画上了一个圆满的句号,我也从此跳进这个圈,开始一种稳定循环的新生活。

先从好坏两方面总结今年。

Good

Bad

  • 三个年目标全部落空:两本书都没有写完,APIFlask 也没有发布 1.0 版本
  • PyCon US 2021 演讲议题申请没通过(备选的闪电演讲通过了)
  • 找工作收到拒信若干封

今年尝试了很多新鲜的东西,比如第一次录播客、第一次参加圆桌、第一个英文演讲、第一场足球赛、第一份工作。今年也开始更活跃的使用 Twitter,并且重新捡起来被荒废的 PyCon China 账号。

从下半年开始,经常感觉很焦虑。一方面是因为写书进度缓慢,不知不觉一年又已经过半。另一方面是因为收入——今年拿到的稿费很少,加上不想浪费时间做外包,因此收入锐减。既没有挣到钱,也没有做成事,在这些压力下常常心情也不好,所以自觉失败。

时间记录

今年没有再完整的记录时间花销,去年一年的实验已经让我了解自己的时间花销情况。再继续意义不大,一来记录本身就会浪费很多时间,二来过于追求效率和生产力会让人感到疲惫。因此这一年只记录了一些重要的活动分类。

总记录时间一共 1815 小时(约占全年时间的 20%),其中前三项分别是:

  • 开源项目:535h 50m
  • 找工作:204h 37m
  • 游戏:200h 55m

完整的数据如下:

开源项目时间基本都集中在年初,当时花了几个月时间开发 APIFlask。年中 Flask 2.0 发布后帮忙修了几个 bug,年底给 Bootstrap-Flask 发布了支持 Bootstrap 5 2.0 版本。

找工作集中在最后两个月,不过投入时间最多的几个职位都没有拿到 offer。晚点会在另外一篇文章详细记录找工作的经历和感想。

游戏时间大部分花在了最后一个月开始玩的《塞尔达传说:荒野之息》。这个游戏在年初就和 Switch 一起买了,因为怕花掉太多时间一直没有玩。在找工作等待面试答复的漫长煎熬过程中,什么事情都不想做,所以躲到游戏里。

时间花销排在第六位的写书,本来应该是我的主业。之前完成两本书的阻力很多,比如要解决收入问题,要整理第一版的旧文件排版,还要完善 APIFlask 并发布 1.0 版本。而目前来说,完成它们的最大阻力则是时间太少。工作之后,除了周末两天,每天只有下班后六点到十一点这个时间段才能做自己的事情。再去掉吃饭时间以及偶尔的散步、看电影、玩游戏、做开源项目……不过好在我可以在这个时间段专心做事,没有收入焦虑。

时间花销排在最后的是阅读。今年又没读什么书,记录在案的阅读时间只有 55 分钟……想想大概是在读《非暴力沟通》,不过读了个开头就用来垫枕头了。枕了那么久,也许会吸收到一点点灵气吧。

新年目标

因为 2021 年的三个年目标一个也没完成,所以 2022 年仍然是这三个:

2021 年 Flask 用户调查报告

七月份创建了一个 Flask 用户调查问卷,到目前为止一共收集到 104 份提交,感谢各位的参与!这篇文章会对问卷收集结果做一个总结,作为一份(非官方的)2021 年(104 位中国)Flask 用户调查报告。

如果你想自己看原始数据,下面是剔除了隐私信息的问卷提交数据文件(CSV 格式):

https://helloflask.com/downloads/flask_report_2021.csv

如果你现在还想参与的话,完全来得及,下面是问卷的地址:

https://jinshuju.net/f/UY6Rd8

你在工作中使用 Flask 吗?

在提交的 104 份问卷里,接近一半的人在工作中使用 Flask,详情如下:

你在工作中使用 Flask 吗?

算上我,还没找到工作的人竟然只有 5 个(《震惊!某份民间调查显示 Flask 用户无业率仅有 4.8 %!》:P)。

Flask 中文文档标语翻译

前段时间发起了 Flask 中文文档翻译,目前正在龟速进行中,欢迎英语比较好的同学参与(翻译或审核已经提交的 PR)。文档首页的 logo 图片里有一句标语——「web development, one drop at a time」,我临时翻译为「Web 开发,一次一滴」。在 GitHub 仓库的讨论里,大家给出了更多更好的备选项。根据这次问卷投票的结果,「Web 开发,起于点滴」排在第一位(由 HelloFlask QQ 群里一位翻译专业的同学翻译),详情如下:

Flask 标语翻译

更保险的选择是「不作翻译」,在投票中排在第二位,最终我会考虑从这两者之间选择。另外,如果翻译的话,如果翻译的话,「Web」会考虑按照英文近年的惯用趋势而使用全小写(你觉得呢?​)。

P.S. 在 GitHub 上的投票结果里,@abersheeran 翻译的「Web 开发,起自微毫」和「任取随用的 Web 框架」票数最高

对 Flask 的新功能请求 & 改进建议

剩下几个问题不方便详细统计和展示,我粗略看了一遍,整理出了关注度最高的几件事。我一一在下面评注了我的想法以及相应的动态。

添加更多 Web API 开发支持

开发接口时自动生成swagger

对 Web API 很友好的支持

加入pydantic用于类型检查

Flask 作为一个通用型框架,不会添加太多关于 Web API 这种细分方向的支持。除了手动集成这些功能/工具,你可以考虑选择基于 Flask 而且集成了这些功能的二次框架,比如 APIFlaskflask-smorestSpectree 等。

添加基于 ASGI 的异步实现

加强对异步的支持

异步支持的不是很成熟

可能是速度吧,据说现在很多新框架都比Flask快,要淘汰Flask云云

Flask 目前的异步支持已经能够满足大部分使用场景。据我所知,基于 ASGI 的异步支持短期内不会实现。

而对于鼓吹性能的文章可以不用太在意:异步和高性能不直接划等号。技术选型不会只考量性能。benchmark 未必客观和能够反映真实情况。如果对异步有强需求,可以考虑用和 Flask 相同 API 的 Quart(一个 Flask 的 ASGI 异步实现),或是换用其他异步框架。

官方维护的扩展列表

一个针对新手的 flask extension 的指南

由Pallets Projects开发团队的成员或者flask官方统一所有第三方插件的开发与发布,目前太乱了,有些都快停更十年了,还占用名字。

各种插件扩展选择太多,但是又质量层次不齐,此外很多个人维护的扩展可能由于开发者精力有限在后期会出现项目生命周期的问题,如:flask_restful,需要官方对常用扩展维护一套比较简洁的扩展。当然这样的话可能又走上了Django的老路,可能作者正在计划的“Flask扩展收容计划”是一个不错的选择,起码可以管理起来。但是脱离原作者维护的项目后期发展如何又成为另一个话题。比如需要对插件进行遴选,另外需要对该计划由官方进行宣传等

这件事我之前有计划在做,前段时间注册了 flaskextensions.org,想用来做一个这样的扩展推荐列表。在 Pallets 会议上沟通之后,决定交给 Pallets 官方来做,所以把域名转给了 Pallets 团队,后续会做一个这样的列表出来:列出来推荐的 Flask 扩展,并给出失去维护扩展的替代品。

另外 Pallets 在 GitHub 创建了一个 pallets-eco 组织,用来收纳失去维护(维护者不想再继续维护)的流行 Flask 扩展,让它们保持健康的维护状态(由社区维护)。目前有两个扩展进入这个组织,分别是 Flask-CachingFlask-OpenID

脚手架工具和大型项目组织

统一并明确开发的工程化流程,包括项目应该新建那些文件夹等。

缺少小白懒人快速一键生成集成框架(webadmin, mysql)

引入蓝图想搞玩大型项目,可大型项目又需要自己组织好项目结构,需要一个对flask很熟悉的人做这事 还不如用django。官方推一个脚手架生成项目模板吧像vue-cli一样 包括是否使用orm等插件,不然还不如django搭建起来快。。

作为一个微框架,Flask 的初衷是不限定项目文件组织形式,所以官方不太可能会出一个脚手架工具或是项目组织指南。在工厂函数和蓝本这两个概念的基础上,你可以自由组织你的项目。另一方面,市面上已经有很多项目模板或是脚手架工具(比如 cookiecutter-flask),也有很多介绍 Flask 项目组织的文章,你可以根据这些工具和文章制定自己的规则,然后为你的组织或团队确定一个项目组织规范或是写一个脚手架工具,或许这才是 Flask 的「正确食用方式」。如果你更需要一个固定的项目组织模式,那么 Django 或许是更好的选择。

我也有计划写一个更简单的脚手架工具(对我来说市面上那些都太复杂,引入了太多扩展和工具),同时给出一份 Flask 项目组织建议,这件事也许会在写《Flask Web 开发实战》第二版的过程里完成。

Bootstrap-Flask 的 Bootstrap 5 支持

Bootstrap-Flask 希望可以早点同步 Bootstrap5 的相关内容。因为Bootswatch的最新版本有我想要使用的组件,但是Bootstrap-Flask只支持到Bootstrap4,所以有些宏无法正常显示,比如render_form等。还有希望Bootstrap-Flask的wiki能够更加的完善和细节,我会持续关注,大佬辛苦

提交的问卷里有一条说到这件事,此前在 TwitterGitHub 上也有人提到,所以也放到一起说一下。我已经在做这件事了,基本的 Bootstrap 5 支持已在 #161 完成,完整的实现会在下个月完成(详见 #162),届时会随 2.0 版本发布。

除了这些,提交的问卷里还有很多其他的建议和问题,我没法一一回应。有时间我会看看问题里提出的问题有哪些我可以试着解决和改善。同时也欢迎你一起尝试解决这些提出的问题,感兴趣的话,去翻翻上面给出的问卷数据吧。

总结

总体来看,Flask 社区在朝着好的方向发展,希望明年这里提到的大多数计划都会有着落。一起加油!

P.S. FlaskCon 2021 会在今年 12 月举办,如果你有 Flask 相关的内容想分享,欢迎报名(英文,预录制演讲)。


相关链接:

2020 年总结

2021 年已经过去四个月了,每次到某个重要的时间节点都想完成这篇 2020 年总结,结果总是有各种事情挤占时间,所以错过了元旦、错过了大年初一、错过了 26 岁生日、错过了植树节和愚人节,最后来到这一天。

照例,先从好坏两方面总结一下。

Good:

Bad:

  • 尝试翻译一本英文书,但是试译稿没有通过编辑的质量要求
  • 没能按计划完成新书(延期两年了)
  • 组织「编程一小时」活动失败
  • 一次失败的外包合作
  • 玩太多游戏

很高兴我的书和项目在这一年帮到了更多的人:

感谢留言

而且我的读者群已经扩展到小学五年级了(继上一次某位正在上初中的读者邀请我评审他用 Flask 做的博客程序后)。如果还有三年级或是一年级的读者小朋友,记得吱一声 :P

2020 年只写了 23 篇文章,花了比较多时间写的是下面这几篇:

相比之下,文章数量要比 2019 年少 40 篇,也许是因为这一年花了更多时间来挣钱(虽然最后没剩下多少)。年初做了一个糟糕的外包项目,烂摊子接手,慢慢明白转手的原因,最后以没有拿到尾款结束。这之后就更谨慎了,半年时间里只做了一个微信小程序的后端 API。

除此之外,第一次通过写文章挣到了钱——给 Twilio 博客写文章的稿费。第一篇文章是做一个协作白板,因为 SocketIO 有一个类似的示例程序,所以做程序加上写文章只花了 17 小时 34 分钟。但是第二篇文章就没那么幸运了,这一篇做一个演讲程序,因为 Twilio 文档写的不是很详细,所以卡在程序实现上很久,断断续续花了两个月,最终耗时 50 小时 24 分钟,时薪骤降。

今年的收入大部分都用作房租和生活开支了。买了一个很大的显示器(43 寸),不过并没有让写书进度加快……买了 Switch,玩了一段时间《喷射战士 2》(Splatoon 2,拒绝官方译名),偶尔还会换回一代玩,喜欢第一代 Carbon Roller Deco 和 Rainmaker 鱼头的无敌效果。

去年在年总结里说要重新开始记录时间花销,说到做到,2020 年记录在案的时间一共 8769 小时 48 分钟(99.8% 覆盖率):

时间花销饼图

P.S. 上面的分类是时间大类,其中娱乐包括游戏(491 小时 4 分钟)、电影电视剧(283 小时 39 分钟)和上网(269 小时 22 分钟);休息时间大多是不同事项之间的切换和走神时间;工作包括外包开发(332 小时 49 分钟)和开源项目(136 小时 47 分钟);写作包括写书(158 小时 50 分钟)和写文章(129 小时 58 分钟);​学习包括学编程(101 小时 16 分钟)和学英语(81 小时 52 分钟)。

下面是包含所有时间分类的年度柱状图(紫色系是睡觉和吃饭,黄色系是外包和演讲,绿色系是开源项目和写作,蓝色系是清洁活动,红色系是娱乐):

时间花销柱状图

这也很好的解释了为什么这一年没有太多成果:玩了太多游戏,在各种网站上转来转去,写书的时间甚至没超过写文章多少。

2021 年开始没有再记录详细的时间开支——完整记录时间太花费精力了。比起每天的详细时间花销数据,我更关心的其实是有没有达到设定的时间目标,所以现在改为只记录两类时间:一类是想要达到的时间目标,比如写作、编程和学习;另一类是需要限制的时间花销,比如娱乐(计划 2021 年娱乐花销控制在 500 小时以内,目前是 123 小时 44 分钟)。

年底和女友一起离开了南京,接下来整个 2021 年都会呆在家里,目标是完成下面三件事:

  1. 完成《Python Web API 设计与开发
  2. 完成《Flask Web 开发实战》第二版
  3. 完成 APIFlask 的 1.0 版本

2020 暑假总结

最后一次写暑假总结是在 2016 年,之后因为不再上学,也就没有了暑假这个概念。今年夏天回家呆了一个月,算是自己给自己放的暑假。

农村像是冰箱下面的冷藏室,时间在这里不会产生多大作用。也正是这样,你一下子就能看出有哪些新变化。首先是家里的狗生了七只小狗,因为胎盘没及时去掉,死了三只。然后家里的蚂蚁似乎变多了,在院子里扔一小块饼干或西瓜,过一会就会看到密密麻麻的蚂蚁趴在上面(拔菜园里的花生时发现三个蚂蚁窝!)。除此之外,一切几乎都是老样子:狗总是热得吐舌头。西瓜甜不甜要看运气,但价格大都不到城里的一半。附近的工厂有时会在早晨制造噪音,半夜偶尔还会听到邻居用「古法洗衣」时棍子敲打衣服的声音*。

夏天全家人一起吹空调吃西瓜看电视是很幸福的事情,我试图想把我和瑶瑶都很喜欢的《请回答 1988》推荐给大家,但也许是每一集太长,或者是语言和文化差异的缘故,大家并没有表现出很大的兴趣。不过我们还策划了一次去水上乐园的短途旅行,这一次大家都玩得很开心。

暑假像是一年的短暂中断,一个可以喘口气的中场休息。上学的时候暑假让我从无聊痛苦的学校生活里抽离,而现在则可以临时放下各种喜欢和不喜欢的工作。我用这段时间清理掉了上半年积攒下来的一堆便签和纸片,整理了电脑上的各种笔记、杂乱文件和标签页。修正了年目标,因为一年过去大半,所以有些不切实际的目标自然就变得非常明显,现在只好先放弃掉。剩下的几乎就都是娱乐时间了。

《皇室战争》玩到了大师联赛,然后就有点厌倦,估计下半年都不会想再玩(不过无限圣水模式实在太容易沉迷了)。因为想找一个联机游戏和李家玩,又安装回了 Steam,找到大学时买的《兽人必须死 2》。结果他沉迷在 Epic 免费领的 《GTA 5》,我就只好自己玩。接着大学时的进度通了关,然后玩了很久的无尽模式(Endless)。像我这种喜欢整理和规划的人大概都会喜欢这种塔防游戏——可以把所有空间完美的利用好,天花板、墙和地面上每一个防具都摆放的整齐对称。但是无尽模式实在太消耗精力,每一局都会让眼睛和右手累的不行,最后止步于 44 波的最高成绩(放弃的另一个原因是解锁所有武器和技能太耗费时间)。玩的时候有时会想自己面对的敌人不过是每一波都增加了几个数字的难度变量,有一种被代码控制和愚弄的意味……

也不是完全没有成果。花了一些时间来更新 Bootstrap-Flask,发布了 1.5 版本,接下来一段时间可以把它放一边了。给 Flask 书的示例程序 SayHello 加了一个验证码功能。从去年开始就有人在这里灌垃圾留言,直到现在才下决心清理和阻止(一共删掉了 9083 条)。说是验证码,其实只是加了一个验证输入值是否是「宝塔镇河妖」的文本输入框……不过在垃圾留言程序弄明白规则之前应该都没问题。最后还把大部分 Python 的 Web API 相关工具库的文档都看了一遍。

暑假里大部分时间都被随心所欲的花掉了,但我并不把这看作浪费,如果暑假时间也要全用来学习和工作,那生活就太无聊了。这样想的话,在小时候的暑假,写作业是浪费,玩游戏、在门前发呆和出去玩就不是。现在的暑假呢,为别人工作是浪费,做自己喜欢的事情就不是。


*比起在南京时楼上孩子练习长跑和玩积木的声音、楼下孩子半夜的哭闹和夫妻吵架的声音,家里的这两种倒更容易忍受,至少你知道什么时间能结束。

2019 年总结

从 2019 年的日程本来看的话,越往后面字越潦草,涂鸦和乱画也越来越多。总的来说,2019 年偏离计划太多,虽然有一些计划外的收获,但年初定下的目标大都没有完成。从好坏两方面总结下:

Good

Bad

  • 玩游戏太多
  • 学东西太少
  • 看书太少
  • 产出太少
  • 收入太少

写作

一月份完成了电子书《Flask 入门教程》,虽然是免费电子书,但也在书里放了一个付款二维码(定价¥10),目前收入快接近 400,大概能证明自愿付费不太可行(也可能是因为我一开始错误的把付款二维码放在了后记里 )。2019 年快结束的时候,收到两笔记忆深刻的付款——一份是来自知友 CycleUser 的 66 元巨款,另一份是来自*昱的 2 块钱定金(现在还没收到剩下的 8 块……):

blank

上半年剩下的时间写了新书的第一部分,然后就开始投身到准备演讲和 PyCon China 里了。年底从疯狂的忙碌里安静下来,又回过头来更新了年初写的《Flask 入门教程》,然后花了两个月把上半年写的书稿重写了一遍。

游戏、书和电影

2019 年没怎么看书,Kindle 被闲置到电池故障。电影和电视剧看的也不多,两者分别最喜欢《守望者》和《废柴联盟》。游戏倒玩了不少,和瑶瑶一起通关了《超级马里奥 3D 世界》,《超级马里奥银河》进度玩到 30%,其他大部分时间都在玩《喷射战士》。

2018 年沉迷《皇室战争》,浪费了很多时间,所以在新年计划里加了一条「2019 年不玩皇室战争」。一年过去了,说到做到,但是又沉迷上了《喷射战士》……单场最高战绩是 16 杀,不过最喜欢 0 死 12 杀这一场:

blank

为了避免重蹈覆辙,元旦开始放任自己玩了两天游戏后,打算执行「2020 年不玩皇室战争和喷射战士」计划。但是想到那样生活会少了很多乐趣,所以现在又改成春节后再开始执行这个计划 :P

今年计划把书架上大部分的书都读完,通关手里的游戏,在这之前不买新的书和游戏。

演讲

2019 下半年大部分时间都花在了五个演讲上。输出太多输入太少,本该学的很多东西只好又推到新的一年了。因为经验太少,也没法像其他前辈那样可以在很多话题上游刃有余的自由发挥。收获是了解了怎么演讲,变得不那么容易紧张。

这几次演讲里,在台湾 COSCUP成都 PyCon China 的演讲反响最好,和别人交流的也最多,有很多人因为 COSCUP 那场演讲认识我。参加这几个技术大会也认识了很多的前辈和朋友。

除了准备演讲,19 年还完整参与了 PyCon China 2019 的筹备工作,有很多想法,有时间单独写篇文章。想起来这几次参会的总结文章还都在草稿状态,虽然已经是 2020 年了,我还是要写完它们的 :/

其他

五月份来了南京。这一年仍然没工作,靠《Flask Web 开发实战》的稿费和几个外包项目的收入维持生活开支。每次钱花得差不多,已经在翻招聘网站、了解面试技巧的时候,总会有一笔不多不少的稿费让我可以再拖一段时间。就这样一年又过来了。

很感谢女朋友没有反对我不工作,而且还乐观的和我过这种有点拮据的生活。19 年在自己的事情上投入太多的时间,对她的陪伴和关心不够多,今年要多和她出去玩。

2020 计划

今年的重点是这三件事:

大部分时间还是会用来写书。除了写书,还会尝试录一个视频教程。编程有太多的东西要学,只能先专注流行和基础的东西。保持时间投入,不强求成效。英语的话,虽然 19 年是真正开口说英语最多的一年,不过并没有什么实质性的提高,还需要大量输入和练习。

2018 年因为写书的生活非常单调,所以停掉了时间记录(要不然我就能清楚知道自己在游戏上浪费了多长时间了),今年重新开始记录每天的时间花销,年底来分享数据。


年总结还是要在当年完成,这样就不用纠结「今年」和「明年」两个词的用法。

博客改版

可以自由控制博客的样式,大概是独立博客最显著的优点之一。个人博客像是自己的房子,你拆墙打洞,想怎么弄都行,而其他社交网站和博客平台则像是精装修的出租屋,一切都是房东说了算。昨天花了很长时间给博客动了一次大手术。一直觉得传统博客的两栏布局很多余,边栏在所有页面都会显示,干扰正常的阅读。而主边栏包含文章摘要,每页只能显示很少的文章,阅读起来也不够方便。单从阅读的角度看,单栏布局+全部文章列表才是最合理的设计。

这次的调整对博客各个方面都进行了简化,尽可能多的去掉页面上的噪音(干扰信息):

  • 去掉所有页面的边栏。
  • 随着边栏一起去掉的还有边栏上的“Unfortunately not Flask powered”徽章、站点统计信息、日历挂件、文章分类、月度归档、标签和近期文章。
  • 因为没有了边栏,除了文章正文页面,外部不再有分类、标签和月度归档的入口,搜索框放到了博客页面底部。
  • 去掉了背景图片。
  • 博客主页使用年度归档文章列表,跟摘要说再见了。
  • 所有插件的语言改为中文。
  • 去掉导航栏的想法分类,以后短想法也采用标准文章格式。
  • 页面宽度缩减到 860px。 优化了评论框的宽度,修复了响应式问题。
  • 简化了相关文章扩展的样式,文章标题去掉粗体显示;提示文字使用 `<p>`,而不是 `<h3>`,上方添加一个分割线。

这次调整后,未来大概很长一段时间里都不会再有大变化了,除非是更换博客引擎(以前考虑过换用静态博客引擎,但是因为旧文章不方便迁移,所以迟迟没有动手)。未来考虑会在细节上再进行一些优化:

  • 去掉“相关文章”插件。
  • 去掉“图片弹窗”插件。
  • 去掉 Google 统计的代码,似乎对我没什么用。
  • 个人主页使用和博客页面统一的样式。

2018 年总结

和去年一样,又为写书花掉了一整年,这一年最大的感受就是累。上半年因为拖稿很焦虑,写完后又因为内容写太多了(700 页),审稿审到想吐,这也导致成书有不少笔误……出版后轻松不少,但生活开始充满了各种各样的杂事:推广新书,整理源码,打击盗版,回复读者提问,整理勘误,更新网站。几个月里,我的角色不停的在销售专员、客服、售后、技术顾问之间换来换去,以至于都快忘了我只能拿到 9% 的版税。而到手的一万多稿费,买了新的电脑和手机后就花的差不多了。反正我是再也不会写那么厚的书了,我发誓。

话虽这么说,我倒挺喜欢这种生活方式,有种做手工艺人的感觉,而且书写完了会有很大的满足感和成就感。

成果

这一年大概有下面这些值得记录的成果:

时间花销

这一年仍然没有进行时间统计,大概的时间花销如下:

  • 1~5 月:写作,最终在五月底定稿
  • 6 月:完善书相关的项目源码、追加多次书稿修改
  • 7 月:部署 5 个项目的在线 Demo、上线网站 helloflask.com
  • 8月:为书发售做准备、写多篇文章
  • 9 月:书发售、写文章、推广书、送书
  • 10 月:写文章、处理盗版、整理勘误、回复读者提问
  • 11 月:准备并参加 PyCon、处理盗版、整理勘误、回复读者提问
  • 12 月:做外包项目、写《Flask 入门教程》、处理盗版、整理勘误、回复读者提问

其他

和去年一样,除了翻过几本技术书外,今年几乎没有看什么书。电影的话,留下印象的只有最近去看的龙猫和无双,而音乐一直在重复旧的播放列表。这一年运动也严重不足,长时间使用电脑导致手腕和手指不太舒服(翻了下统计数据,上半年每天鼠标点击的次数在 2000~4000 左右,击键次数在 15000~30000 左右),期待意念键盘和鼠标早日发明出来。因为写作占用了大量时间,技术进步并不大,学习的内容也都局限在 Flask 和 Web 两个领域,明年需要扩展学习的范围。

2019 年做什么?大概是恢复正常的生活节奏,清理掉过度收集的信息,再学一点新东西(或许再写本书 :p)。

2017 年总结

因为写书的事情忙的晕头转向,以至于这篇2017年总结到现在才写。2017年是个特别的一年,基本上全年都待在家里,全职写作《Flask Web开发实战》这本书。

编程

开源贡献

为多个开源项目贡献了代码,不过大部分都是在对文档进行修补和更新,有时间会写一篇文章来总结一下。

2017 Contributions 情况

2017 Contributions 情况

Web程序

花费较多时间编写了书里的几个示例程序,除了一堆简单的示例程序,相对完善的程序包括留言板、个人博客、图片社交网站、待办事项程序、聊天室(这几个程序的介绍可以在这篇文章看到)。

Flask扩展

随书衍生了几个扩展,除了作为扩展编写示例的Flask-Share,其他的扩展分别是:集成Dropzone.js(文件上传处理)的Flask-Dropzone、集成CKEditor(富文本编辑器)的Flask-CKEditor、集成Bootstrap并旨在替代缺乏维护的Flask-Bootstrap的Bootstrap-Flask以及提供各种头像处理功能的Flask-Avatars

写作

在Stack Overflow上答题

写了大约50个答案,Reputation由535上升到1300左右。

2017 Reputation情况

2017 Reputation情况

知乎专栏Hello, Flask!

知乎专栏Hello, Flask!只在年初写了几篇文章,2月后就没有更新,不过专栏关注人数由2016年的2500上升到6000。

写作《Flask Web开发实战》

从3月开始写作,原计划10月份结束的《Flask Web开发实战》,一直到2017年末都没有结束(仅仅完成了初稿)。

阅读和其他

这一年没有真正意义上的读书,只翻阅了几本写作过程中用到的技术书。

这一年的生活方式因为这本书的写作而完全改变,有时间会写一篇文章来总结这本书的写作过程。虽然没有进行时间统计,但这一年大部分时间都在进行Flask书的写作和相关编程工作。同样因为这本书的写作,大部分的2017年计划都直接移动到2018年计划中了。

2016 年总结

编程

今年只做了几个小Demo。从GitHub的提交可以看出来,一到寒暑假,工作就断断续续了。

github

 

在Stack Overflow回答问题

从九月开始在Stack Overflow上答题,一共写了35个回答,获得535reputation。

stack overflow

 

写知乎专栏

从十一月开始,在知乎开了一个关于Flask编程的专栏,写了30篇文章,获得2000+关注。

column

 

阅读与写作

今年看了60多部电影 (下半年太多),却只看了8本书。最喜欢的书是《故事新编》和《黑客与画家》。

movie_count

2016观影量

写作上,博客80篇加上专栏的30篇,算是完成了之前订下的写作计划(100篇)。

 

时间统计

从元旦开始,停止了时间统计。离开学校后,生活上的变数太多,没法像以前那样控制时间,改用设定每天的任务来管理日常了。这是下半年(9~12月)的时间数据主要项目:

  • 编程:470小时
  • 阅读:77小时
  • 写作:98小时
  • 英语:28小时
  • 运动:34小时
  • 娱乐:184小时

从时间统计来看,编程时间增加了很多(是原计划的两倍),写作超量完成(多了40小时),其他计划都没有达标,娱乐更是超出了84小时(原计划不超过100小时)。其他还有一些很明显的趋势:睡眠和娱乐越来越多,编程和阅读越来越少。

同时,下半年计划里的大部分内容都没完成,完成量大概只有50%左右。

2016下半年计划

生活里有很多内容和细节,让人很容易沉浸。在某一方面这是好事,这是心理学上的精神贯注和心流(Flow)。但如果贯注的对象是错的,那就不是件好事了。如果你对盗版没有道德判断,又缺乏自律,那么网上有无数的电影,音乐,资料,足以让你变成下载狂。如果你贯注的对象是金钱,那么你很容易变成唯利是图的人。

这就是为什么人需要计划。计划让你远离不重要的细节和琐碎,让你不再关注电脑换什么壁纸、拖鞋买什么颜色、最近出了什么新手机。(如果你是开鞋店和手机店的,那当我没说。:)

不知道怎么做计划?先认识和了解自己,找到你的目标,找到对自己来说生活中最重要的事情。分解你的目标,关注你的重点。然后列出计划来。

 

主要目标

  1. 完成写作计划(100篇)
  2. 用Flask做一个网站
  3. 找到Python方面的实习

 

一、编程

重点

  1. 学习Flask
  2. 完成《Python核心编程》的习题
  3. 100Words网页版
  4. 翻相册网站

 

其他

  1. ManyHead
  2. HowMany
  3. Shakeword
  4. 完善其他项目
  5. CS50
  6. 做本地和网页端的小程序练手
    1. 计算器
    2. 邮箱客户端
    3. 聊天软件
    4. 翻译软件
    5. RSS阅读器
    6. TODO清单(web)
    7. 便签本(web)
    8. 计时器(web)

 

学习和了解

  1. C
  2. SQL
  3. Bootstrap
  4. JavaScript
  5. Linux
  6. Vim/Emacs
  7. Java

 

二、阅读

预期数量:20本
主要主题:计算机、文学

  1. Learn C The Hard Way
  2. Think Java
  3. 编码
  4. 重读幸福之路
  5. 重读写作这回事
  6. 黑客与画家
  7. 世界是平的
  8. 文学回忆录(下)
  9. 怎样解题
  10. 雪国
  11. 银河系漫游指南
  12. ……

 

三、写作

至少完成45篇

 

四、英语

主要工作:大量听读输入,朗读练习

  1. 重读语法书《文法俱乐部》
  2. 完成口语教材《American Accent Training》
  3. 每天朗读20分钟
  4. 每天听20分钟
  5. 每天阅读30分钟

 

五、技能

  1. 学习并使用双拼
  2. 魔方
  3. 继续练习羽毛球
  4. 学习游泳

 

六、其他

  1. 学习并通过三门自考课程
  2. 拍大量照片
  3. 健身重点:腹肌,下肢和背部
  4. 养成使用英文关键词搜索的习惯
  5. 多喝牛奶和吃水果,避免零食和饮料
  6. 避免发牢骚,或在文章里发泄对别人的情绪
  7. 练习宽容和礼貌
  8. 和气或虚心的对待不同意见和反对意见
  9. 清理不必要的物品
  10. 养成和改掉一些习惯

 

七、时间计划

(以天为单位)

  1. 编程:约240小时(2小时/天)
  2. 阅读:约120小时(1小时/天)
  3. 写作:约60小时(30分钟/天)
  4. 英语:约120小时(1小时/天)
  5. 运动:约60小时(30分钟/天)(每周三次去健身房,周末打羽毛球或游泳)
  6. 娱乐:不超过100小时(不超过1小时/天)

2016暑假总结

和前几个暑假一样,两个月很快就过去了。回过头来看,七月几乎没有多少成果,八月才开始稳定的学习和工作。

现在还能回想起来和家人相处的快乐:妈和奶奶做的好吃的菜;安静的晚上;和弟弟玩的游戏;和瑶瑶在楼顶看的星空。希望以后还能有能力和时间来制造这样快乐的回忆。

阅读(完成度:75%)

  1. 撒冷镇
  2. 牛鬼蛇神录
  3. 程序员修炼之道(注重实效的程序员)
  4. Powerful Sleep
  5. The Element of Style
  6. 少有人走的路(重读*2
  7. Flask Web开发
  8. JavaScript 编程精解
  9. 一滴泪

未完成:

  • Learn C The Hard Way :完成了10%。
  • Python Cookbook:当做工具书用了。
  • Python核心编程:这本书在暑假前就已经读完,不过习题只完成到十三章,计划年底完成全书的习题。

写作(完成度:85%)

  1. 2016暑假计划
  2. 小说和改编电影
  3. 《撒冷镇》笔记
  4. 通过这12个问题认识自己
  5. 大学应该怎么度过?
  6. 写作的乐趣
  7. AutoHotkey——自动化你的生活
  8. AutoHotkey——进阶实践与思考
  9. 如何获得优质的睡眠?
  10. Tkinter效果总结
  11. 我的信息处理系统:收集
  12. 日常快捷键配置:daily.ahk
  13. 告别盗版
  14. SimpleWords——幻灯片生成器
  15. 100Words
  16. 十个初级Python练习题
  17.  2016暑假总结

未完成:三篇

编程(完成度:56%)

未完成:

  • 翻相册(网站、Windows程序):虽然看了Flask Web开发,也跟着作者敲了书中所有的样例代码,还是把web编程想的太简单了,还需要一些时间。
  • 俯卧撑俱乐部(网站、文章)

知识和技能(完成度:78%)

  • Google搜索技术
  • 打字标准指法
  • 英语EnglishPod60
  • Java基本知识
  • C基本知识
  • JavaScript基本知识
  • Git常用命令
  • MarkDown语法
  • AutoHotkey基本知识

未完成:

  • 英语跟读:虽然没有每天抽出单独的时间来练习,听播客的时候有跟读。
  • 练字:练了大概有一周时间,没能坚持下来。
  • 双拼:形成了标准指法打字,但没有继续学习双拼。排进下半年的计划里。

其他(完成度:28%)

  • 电影若干
  • 游戏传送门系列

未完成:

  • 腹肌:虽然每周三次锻炼腹肌,但肌肉还是没有很明显,不过已经形成雏形了……
  • 十幅涂鸦
  • 浏览教材:计算机网络原理 —— 完成40%
  • 浏览教材:JAVA语言程序设计 —— 完成70%
  • 浏览教材:高数

时间

  • 编程:79小时22分钟
  • 写作:39小时50分钟
  • 阅读:64小时19分钟
  • 英语学习:16小时24分钟
  • 运动:29小时6分钟
  • 娱乐:143小时10分钟

娱乐太多了,达到了143小时(其中有104小时是七月的数据),主要原因是因为七月的不稳定的生活。下面是相应的时间数据饼图:

七月   

七月时间数据

七月时间数据

八月

八月时间数据

八月时间数据

总完成度:85%

虽然达到了计划的指标,但目前的完成度统计是用项目数量作为计算依据的,还不算太准确。未来会慢慢完善这种统计的准确性。

最后一个暑假结束了。

2016暑假计划

家里盖了新房子,到处乱糟糟。没有完整的学习时间,也没有合适的环境。直到最近,生活才开始稳定下来。说起来这已经是最后一个暑假了,从小时候丰富多彩的暑假,到中学漫长而无聊的暑假,现在暑假又重新变得有趣起来。

项目 项目描述 方法和材料 目标 每日时间投入
编程学习 继续学习Python了解JavascriptJavaCGit Python核心编程》、《Python Cookbook》、《Eloquent JavaScript》等 完成阅读 2小时(包括下面三个项目)
翻相册 fanxiangce.com在线相册制作网站和应用 Flask Web开发》 完成windows程序;完成网站 \
100Words 100Words英语写作软件 Flask Web开发》 添加功能:计时、拼写检查、查词 \
俯卧撑俱乐部 fuwocheng.club关于俯卧撑的网站 Flask Web开发》 完成网站;写关于俯卧撑的文章 \
英语学习 提高口语 ESL》、《EnglishPod》、《The Element of Style 完成阅读和相应的时间量 朗读20分钟,听两个EP
阅读 主要是编程书,少量小说 除上面提到的书外还有:《撒冷镇》、《程序员修炼之道》、《牛鬼蛇神录》等 尽量读完 1小时
写作 题材不限 \ 20篇文章,写作计划总数达成57 30分钟
健身 在家没法去健身房,主要是俯卧撑和徒手运动 《腹肌撕裂者(AB Ripper X)》、iMuscle2(ios app) 腹肌分块明显;肱二头肌、肱三头肌和胸肌更加强壮 30分钟
学习双拼 提高打字效率 先纠正指法(用金山打字通),背自然码方案,每天练习15分钟 暑假后投入日常使用 20分钟
练字 改善书写 暂时先用小学时半途而废的字帖 完成字帖 15分钟
自考课程 高数、网络原理、Java 相应的课本 浏览一遍课本 \
习惯养成 要改掉的坏习惯和要养成的好习惯 端正身姿,节制饮食,保持文件和物品有序,认真书写 \ \

游戏

\

《Undertale》、Braid》和《传送门》 通关一个 不超过1小时

画画与摄影

铅笔涂鸦和手机随手拍

\ 十幅涂鸦 \

 

希望能完成以上任务的80%,结束再来总结(以后会用这种格式记录年计划和总结)。