kidult's Python book

关于小小书童

除了做对自己,对群友们有用的工具之外,还有一个出发点是:不造轮子, meshup. 已经有那么多好用的工具和优质的内容,如何为我所用?第一次跟 free 面基的时候,就提到了 ifttt,设定条件,触发服务.比如在某个天气网站查到明天有雨,就发短信提醒我带伞;比如我在 instagram 上面喜欢了一张图片,就自动存到 dropbox 里.我们也可以善用各种 api, 做点实用的小工具.

项目收获

  1. 重新理解"Hello world"

    以前觉得 hello world 不过就是最简单的代码,现在才理解它的深意. hello world 的意义在于即刻进入可调试模式,从最小代码开始,不断得到反馈,不断迭代.每一次遇到问题,每一次尝试,其实都是 hello world 的重复: 我怎样能让这个问题总必不可少的环节调通?骨架搭建起来以后,填充血肉就容易很多,衣服更加可以用各种姿势探索和组合.

  2. 如何"抄代码"

    编程中的大部分代码,其实不是也不应该是完全原创的.怎样用别人的代码,解决自己的问题?

    在做小小书童时,我们其实花了不少时间在探索web页面怎么做,想提供一套 web 交互.这个与 python 的关系已经不大.因为自己对前端知识也是一穷二白,所以想走捷径,直接找了一个很符合我们页面需求的UI框架来改.改完以后发现不知道应该怎么跟 bottle 框架对接,导致到现在还没有完成 web 端的工作.

    free 同学给了我很好的建议.他告诉我要抄看得懂的代码,不需要把全部原理都弄懂,但至少要知道人家的框架是基于什么的,怎么运作,能解决什么问题,不然没办法调试.其实我从 free 同学的行动中学到了更多.他作为项目的架构师,引入了好几个外部组件.每一种组件都是从实现最小可用模块开始,加入到已有的代码中,再扩展和调试.

课程感悟

为什么以前的尝试都失败了

  • 反转教学
  • 做中学,知行合一
  • 行动-反馈-问题-探索-总结输出
  • 同侪压力

设计师学编程?

  • 比你想象的难处要易,比你想象的易处要难
  • 常识可以解决很多问题
  • 设计师的武器:讲故事,可视化

未来世界

  • 程序员的思维和语言(抽象,模块化,数据流转,完备)
  • 如何探索问题和获得帮助(不做完全重复的尝试,搜索,Mailling-list)
  • 团队合作,各取所长
  • 继续好奇,继续学习