2016 年 3 月

这篇文章纪录下这个月做的一些事情。更碎片化的纪录可以在我的 G+ 或者 Twitter 上看到。但是 G+ 没什么人看,加上我搭了个 tiddlywiki 超好用,纪录的重心挪向了 wiki(后面会有说明)。G+ 上后续应该不会再更新内容了。

编程学习

Fluent Python (2015)

Fluent Python

在 Goodreads 闲逛时看到有一本去年出版的 Python 书—— Fluent Python 很受好评,在 Google Play Books 上下载了样章下来看。

这本书主要面向的是有经验的 Python 程序员,主要强调 Python 里面比较独特、与其他流行语言不一样的语言特性。

这本书的特点是写得很深入浅出,代码例子很简洁容易跟上,又能够清楚地讲解内容。而且在书里面穿插了很多相关的背景故事和文化,让你更了解某些语言特性是基于什么考虑设计出来的,读起来就像是有个高手在跟你聊天一样。同时里面有很多延伸阅读的内容,作者把他觉得相关的好书、网页文章甚至是 StackOverflow 回答推荐了出来,非常生动有趣,而且很容易找到方向做更深入的研究。

很久没看到这么有趣的技术书了,目前已经看完前三章。第二章中顺带介绍了下数据分析的一些内容,于是也下载了 Python for Data Analysis,发现也写得很 pratical。粗略翻了一下,每个章节都有实际的数据给出来做分析,而且第一章中演示了使用 Pandas 对一些结构化数据做处理,感觉相当方便,在平时工作中也有使用场景。后面应该会深入学习一下。

Django REST Framework

Django REST Framework

看过很多安利 Django REST Framework 的帖子,刚好工作有需求,就尝试了一下。花了两天过完 tutorial,就上手用了下。把 RDBMS 的表映射到 Model 上后,很少的代码就可以生成一套 CRUD 的 RESTful 接口。它可以帮你做很多事情:

  1. 根据自动生成 API 接口
  2. 提供了网页查看 API 数据以及发起增删改查操作
  3. 数据校验、序列化/反序列化
  4. 生成 Hyperlinked API

但是它也有一些缺点:

  1. 需要理解的抽象太多,比如 Serializer, View, ViewSet, Router
  2. 如果你想干预数据序列化部分,读数据(Model => JSON)的部分很容易做,但是 写部分(JSON => Model)不是很好添加逻辑。在 ViewSet / Serializer 的实现中绕了好久,也没有找到足够优雅的方式去实现

我很喜欢 Django,Django 这个框架教会了我很多 Web 编程的概念。Django REST Framework 的设计理念上跟 Django Form 很类似,未来有精力继续研究一下这两者,应试是个值得投入的点。

Twisted

Twisted 这个月基本没怎么碰了。一是因为工作开始变得很忙,一是因为兴趣被 Fluent Python 抢走了。但是最近工作中,想实现一些方便开发调试的 Web 工具,考虑 Twisted 搭配 Autobahn 做 WebSocket 实时通讯。

其他

在 G+ 纪录了两个小场景下的最佳实践,不是很值得拿出来讲:

研究了一把数据备份的方案,之前已经在博客写了 一篇文章 说明。

Tiddlywiki

上个月我折腾了很久选了 MediaWiki 作为我的个人知识库软件,但是没用多久就弃坑了。理由有几点:

  1. 它的各种概念(比如分类)看起来都很反直觉,难以理解
  2. 维护成本高,装插件很折腾,备份时还需要同时备份文件系统和数据库
  3. 部署在了我的 VPS 上,延时较大,编辑体验差

更重要的是我找到了 Tiddlywiki。简单上手后,发现 Tiddlywiki 比 MediaWiki 优雅多了。它的优势:

  1. 纯文本保存数据,不需要有数据库,可以用 Dropbox 做备份和多机同步
  2. 服务器程序非常容易安装,不需要在远端运行,直接在本地运行即可
  3. 使用的 WikiText 表达能力强,渲染出来的 HTML 也很美观
  4. 各种宏、插件极大扩展了能力
  5. 服务器程序可以生成一个单页 HTML,包含全部条目数据,可以在手机上查看
  6. Documentation Macro 带来的表达能力的提升很吸引我

目前我已经写了 55 篇 Wiki,优雅的工具带来的使用欲望的提升非常明显。后面有精力把 Tiddlywiki 相关的安装、使用的条目整理出来放在博客上。这是我的 TOC 截图:

Tiddlywiki TOC

银行卡安全

继前面用 Enpass 修改常用帐户密码后,我又来折腾银行卡的安全了。

我用的银行卡都是招行的,有借记卡也有信用卡。

信用卡

我用招行提供的 “掌上生活” 客户端将一张 Visa 卡直接锁卡,这张 Visa 卡只在 Paypal 上付款时使用,需要的时候再用 App 解锁。另外一张银联信用卡,我把额度调整到一周期 ¥2000。

借记卡

我把借记卡与任何支付工具解绑。

支付工具

只保留了微信与支付宝(我不用 QQ 钱包),并且只绑定银联信用卡,不绑借记卡。各支付平台使用的快捷支付并不能自己限定额度,所以需要借助招行的信用卡限额能力,这样在支付工具上遭到盗刷,损失的上限是 ¥2000。

阿里系平台帐号密码更新

把淘宝跟支付宝的密码换成 Enpass 生成的强密码。

游戏

Clash Royale

这个月没怎么玩 PC 游戏。玩游戏像编程一样,也需要大段可以集中精力的时间,成本很高,而且往往周末有更重要的事情要做。这个月简单玩了把 Supercell 新出的手游 部落冲突:皇室战争,写了段简短的评测:

这个游戏融合了即时战略 + 卡牌元素,像是一个 RTS 版的 炉石传说 / 更灵活的 我是MT 。游戏的战斗机制丰富,有兵种/建筑相克,资源(圣水)分配策略,法术卡牌等,PvP 打起来紧张又有乐趣,匹配速度也很赞。

但是,还是要说但是。这个游戏成长性实在太低了。每一把 PvP 赢了之后有宝箱,宝箱需要时间解锁,动辄需要 3 小时 6 小时甚至半天,如果不花宝石加速,拿到新卡牌或者升级现有卡牌的速度非常地慢。所以 PvP 打到一定等级的时候,很容易因为卡牌的劣势而很难再往上打。游戏里面有向别人捐赠卡牌的机制,结果捐赠到一定数量时也有个捐赠的 CD,需要等上几小时才能再捐赠,也实在是搞不懂。

因为这个坑 RMB 的开宝箱机制,我只能给它打 3 星,我的时间值得更好的游戏更好的体验。

电影

Zootopia

电影的话只看了部 疯狂动物城(Zootopia),也尝试写了一段影评:

2016 年刷的第一部电影,五星好评。故事全场爆笑,可以感受到国外大片对于节奏的把控还是很好的,该煽情的时候煽情,该紧张的时候紧张,很少会有尿点。

故事主题比较主旋律,用草食动物跟肉食动物的和平相处来映射不同的社会群体之间也需要和平相处,避免偏见和不公。片子里面有一些片断我很喜欢:

兔子 Judy 离开父母去动物城就职时,一路上的景致实在太漂亮了,很有一种打了不同主题包的 Cities: Skylines (一个建造城市的游戏) 的感觉。包括后面 Judy 跟 Nick 去办案的时候,场景都相当地漂亮。Judy 到了动物城后,对城市日常情景的一些描绘很有想象力,比如为小动物设计的管道电梯,以及把饮料通过管道给长颈鹿喝的片断,实在是太有趣了。

兔子跟狐狸去查案的片断也很精彩,情节紧凑连续,各种不起眼的小事情都起到了大作用,虽然有点太过巧合但是很具有戏剧性。比如 Judy 追盗贼时,在小动物城市拦下了甜甜圈救了一只女老鼠,使得老鼠它爹 “大块头” 愿意帮 Judy 忙,推动了情节发展。“大块头” 的情节向 教父 致敬了,不过很难理解这两部片子有什么共同点。

片尾树懒飚车的段子很搞笑,然后片子就在很热闹的歌舞中收尾了,跟 Disney 一贯的风格很像。

这部片子美中不同的是,Judy 实在是太像之前 冰雪奇缘 中的妹妹了,感觉她们的思维方式、表达方式都很像,而且有一些表情简单一模一样。Disney 是觉得这样的人物设定很受大众喜欢,所以也造着之前的模子再做一个吗?而且故事的深度感觉不如 Pixar 的 头脑特工队 ,相对更娱乐化一些。

评论系统被墙,可以发邮件到 onlyice0328@gmail.com 与我交流。

我推荐的好内容 Vol.1: 少数派、Gadio pro

开启一个新系列,每期分享 2 个我认为的好内容。这期讲讲少数派和 Gadio pro。 Continue reading

从 Jonathan Blow 的故事说起

Published on October 15, 2018

2018 重庆四川游

Published on October 14, 2018