最近我给自己加了一条训练线,除了平时在社区里吸收知识、输出知识,我还逼着自己每周完成一个带明确目标的小任务。第二个任务,我挑了一个很适合拿来练基本功的方向,亲手做一个基于 OData 的后端服务。原本我以为,真正费劲的部分会落在 OData 协议本身,像 entity、service、metadata、expose 这一套概念,照理说才是最容易把人绕晕的地方。结果实际做下来,真正把我拦住的,反而不是业务建模,也不是服务定义,而是一连串看上去非常基础、可一旦踩进去就会消耗掉大量时间的环境问题。这类经历特别真实。刚开始接触一项新技术时,我们总以为自己会被难概念打倒,最后才发现,最磨人的往往不是深水区,而是门口那块看似平整、实际藏着坑的地板。尤其是在 SAP BTP 的 Cloud Foundry 环境里,只要 subaccount 稍微复杂一点,问题就不会像教程里那样线性展开。Cloud Foundry runtime 本身就依赖 entitlement 和 quota 的分配,org 和 space 也都有各自的资源边界,只要这些边界没理顺,后面的 builder、service instance、deploy 结果都会跟着一起偏掉。(GitHub)