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 - 打地鼠游戏.