2015 一月上旬的灵感

Web世界的抽象

互联网产品的同质化现象其实很严重. 事实上, N套产品其实可以共享同一份代码就好啦. 真是的.

话说回来, 假设有这样一套程序, 以feature为基本单位, 大家在feature池子里挑一些像搭积木一样组合起来, 也可以搞出一些像模像样的应用的吧.

这种抽象是比LeanClound更高一级的抽象. 如果说, LeanCloud提供了后端基础服务, 那么这样一套程序就是在构建需求基础服务.

唯一担心的是这些实现的需求远远不能满足邪恶的PM们.

API Mock && Stub

开发阶段, 希望能有 Mock API 的东东. apiary.io 是个不错的工具. 保证字段都在, 人工调节接口的值, 快速推进APP的开发. 将后端的逻辑屏蔽掉.

测试阶段, 我们应该更偏重稳定性, 如果可以不污染生产环境就更好了.

假想了这样一条流程:

APP 测试用例涉及 API 请求的时候, 自动添加用例名称到请求头. API 服务器进程用 TestMiddleware 包裹一层. 如果识别到用例名称, 就在处理请求前运行一遍Fixture生成, 返回结果前运行一遍测试. APP 收到返回结果继续运行接下来的测试.

这样可以做到:

  • api,app 一起做集成测试
  • app 也能享受到数据隔离的好处, case之间互不干扰
  • 够单元, 不用把一大堆行为堆在一个case里
  • 不污染生产环境的数据

Like

有木有Like的Python后端实现….

Bit Like

如果赞的时候可以附上1分钱, 对于作者也许是莫大的鼓舞. 用户对于为有价值的信息捐赠的意愿到底有多大?

Polish week

  • 降低同时正在进行的事务数量
  • 定期有专门重构&&还债的时间

DRBD

阅读的作品格式有各种降级方案. Gitlab的服务器使用DRBD维护主从服务器, 保证备选方案随时顶上. 七牛挂了, 如果有备选的静态服务, 客户会开心很多…

以后搞 server, 没有备用电池, 日子甭过

细胞自动机

细胞自动机感觉是机器学习的一种好玩实现. 黑色碑石真的是可行的么?

追踪翻译

翻译和写书有些一样, 有些不一样. 它同样有版本支持, 多人协作的需求. 但还需要能追踪原文改动.

似乎很难能有好用的面向译者的工具呢.

付费聊天

如果IM每句话都要附上一丢丢金额, 会有人还会踊跃的发言么?

知识管理

人类的知识是通过不断地强化记忆来沉淀的. Neo4j 的 node / relation 本身也很像这种模式~

现在的知识管理大多偏重树形关系, 这更多是在梳理. 我理想中的知识管理应该是知识点之间互有关联.

有时间的话就干他: Node&Node

微博架构

  • Feed似乎先用推, 再用拉, 最后用C重写.
  • BigPipe 似乎可以做到数据异步加载. 在后端他们也许是通过这样的方法来做到:
    • 把数据打的更散
    • 异步
  • 目录结构很清晰
  • 不知道是哪个做决策的人做出了替换Smarty模板的决定, 改用PHP直接编写.
    • 殊不知, Douban这边则是很费力地把PTL全换成了Mako.
    • 性能与可读性真是欢喜冤家, 大家各行各道吧…

ref: 微博应用架构发展

创业

  • 快速验证想法, 快速尝试市场, 不行就撤.
  • 领域要熟悉, 意识要超前

打地鼠与傅里叶变换

打地鼠里面, 地鼠可不就窜上窜下的, 上来了小幅度的一高一低的嘛.. 可以用那个波函数来计算每个时刻这是地鼠的高度 一只地鼠用 (出现时间, 一个波函数) 来表示, 其中x轴是时间, y轴是地鼠的高度. 遭遇了一次锤头的打击, 只需要再叠加一个波即可.

灵感来自: SICP - 数据过程不分家, RunningMan - 打地鼠游戏.