具体是 Fiber 的什么状态?
POST 参数
seats:3:08 // 3排8号
seatTypes:N
seatsNo:
sectionId:0000000000000001
sectionName:普通区
showDate:2015-09-25
showId:54567
poiId:656918
originalPrice:38
我觉得 ID
有点被滥用了,并不是有 ID
就一定要传 ID,很多时候传一个 值
会更清晰,扩展性也更好。
还没有涉及到性能问题的时候,却拿性能来反推设计,这思路明显有问题。
对于 API
调用来说,只管座位号就行, ID
对于调用方根本没有一点用。这里只需要一个 值
就能解决问题,却要引入使用 ID
的对象。 引入对象
就意味着引入了 对象之间的导航
, 把原本简单的设计复杂化。
我只是不相信有什么所谓 使用 ID 是最佳方案、使用 A-1
就比 ID
差的说法。
ID
与其说是便利,不如说是一种 强约束
。使用 ID
要求调用者使用 API
提供方定义的全局唯一 ID,那么其本质也是一种 中心化
。当需求不是一种中心化管理的时候,也就是并不是所有的 座位
资源都由 API 提供方管理的时候,使用 A-1
明显是更好的方案。
当需求是 座位资源都由 API 提供方管理 时,我也没感觉使用 A-1
会明显比 使用 ID
差。就把 A-1 当做 ID 一样使用就可以了。
我只是有很多疑惑的地方,按照这种做法,所有的情况下都应该传递 ID
,那传递 ID
就是 银弹
,我们都知道是没有银弹的,那么在什么时候不应该传递 ID
呢?
这是我找到的两个 API 设计
{
'objects': ['A-3', 'A-5', 'A-7'],
'event': '767f0050-5af5-4cba-b262-7bf905dd5acf',
'secretKey': 'c7366b35-b08d-4fc3-b8ab-f3e706dd3a2a'
}
<CustomSupplierParameter>
<Name>SeatOptions</Name>
<Value>5477-1A;5470-1E;4550-1F</Value>
</CustomSupplierParameter>
@serco 传 ID
也要验证是否属于本场电影..
形势一边倒啊,谁来救救我。。
ID
全局唯一性,在下单这个 界限
里,并不需要全局唯一性,只要 A-1
就可以唯一确定。传递的参数也属于 数据
,数据可读性更高对于程序的维护性会更好吧,我的理解。
@billy , 座位 id, 场次 id, 用户 id 这些都是有的,现在讨论的是 API
的设计问题。
@billy ,对于下单来说,已经有具体的上下文确定了电影院以及上映影片了,所以传递 A-1
就可以唯一确定座位了。
测试题太不专业了,看了就没兴趣去了
@richfisher 没呢,后来就没研究怎么回事,都换成英文了。
@huacnlee 我也感觉奇怪啊,那段 js 应该是把 rails3 自动生成的表单隐藏域去掉了。但是我测试英文没有问题,中文就出错。应该还是 <% service.sign %>
的问题,可是看源码里已经 unescape 了,搞不懂了。。。
@huacnlee 那段 js 我也加了
@andrew_zyl 源码里面已经调用 unescape
了,我以前在 rails2.3 里面用过,没出现这个问题,奇怪了。
websocket
感谢 @larryzhao ,发这个贴的时候,我也在邮件组发了邮件。根据作者提供的方法测试了一下,发现有问题,他还要自己测试一下。
我想通过 2 级域名切换数据库连接,不知道该怎样弄
弄了什么 recover,不管用,没时间折腾,直接用备份数据恢复了。
文件夹是在的,而且里面的 database.0 , database.1, database.ns 三个文件都在的
@poshboytl b 的调用是不需要用 a 的返回的,但是接下来的执行需要 a,b 两个都同时成功返回。
现在遇到的情况是有些 需要 pub/sub 功能是需要跨应用的,这样采用 redis 是比较好的解决办法,有的是同在同一个应用里,觉得就不应该用 redis 了。