在 2014 年 2 月 23 日,我们将迎来 2014 年的第一次周末聚会。无需报名,没有限制,只要有兴趣,想来就来。
由于新的 Ruby China 的防止挖坟规则,这个帖子超过一个月了,只好开新帖,召集大家!
我有邀请@yedingding 大牛把他在 22 日在 http://hnshanghai.com 讲的在我们周末聚会上再讲一下。
他 22 日到上海了,如果要 23 日给我们讲的话,需要在某位同学处留宿一宿。由于我家中人口较多,无法安排。机会难得,先到先得哦!
#66 楼 @jiyinyiyong 我的 Slides 是 http://bachue.github.io/ruby-under-a-microscope-introduction-slides 按 s 键有笔记哦
#67 楼 @iBachue 还好我学长拿他做的语言给我补过课,虽然 Ruby 的有不少地方不懂,但是很有兴趣听,之前没明白一些概念也在这里看到些解释了. 我还刚在想你讲时候那个预览下一篇的工具是什么很赞,原来是这个. 对了..我觉得你 parser 念错了 http://dict.youdao.com/search?q=parser&keyfrom=dict.index
#82 楼 @yedingding 就是你用了 Spine.js 还用了 PushState 之后 还能不能像普通的网页一样可以用 URL+Hashtag 来直接跳转到网页的某个位置?因为我在用 Angular 的时候做不到这个,Route 本来就是看 Hashtag 的,不能再用了。再加上 Hashtag 本来也无法送到服务器上,所以也不能做相应的 Hack。
#84 楼 @iBachue URL 跳转有两种,一种是基于 Hashtag,一种是 PushState,我们现在用的是 PushState。所以我根本不需要用 Hashtag 来跳转到网页的某个位置,直接 URL 就够了。比如我访问的是 URL 是 https://fengche.co/projects/xxxx/tickets/yyyy,这个 URL 访问后,就会打开项目页面,并跳转到对应的任务上。如果点击了其他的任务,URL 就变了,这个时候你刷新的话,会显示这个新的任务。所以,我服务端和客户端是公用同一套 URL Route 的。
#85 楼 @yedingding 嗯 可是,比方说,你这个 ticket 很长,因此,为了便于交流,你可能需要用 hashtag 引用 Ticket 中的某一个段落 然后把地址贴给别人看,这样的话,你就有可能既要用到 hashtag 又要用到 pushstate 了吧。
#87 楼 @yedingding 嗯 那如果你们要做讨论的 URL,是采用类似于https://fengcho.co/projects/xxx/tickets/yyy/discussions/zzzz 这样的 URL 吗?这个做法是可以啦。不过,我上次在做的是一个 Wiki 应用,在那个 Wiki 当中,我本来也想用比如说 wiki.com/projects/:xxx/*paths/tag/:zzzz 的手法,无奈当时 Angular 无法支持*path 之后还有要匹配的参数,所以最后没做成,不得已研究用 Hashtag 的可行性,最后还是没做成,你对此有什么建议吗?
#89 楼 @yedingding 哦 比方说 有 /projects/a/api/users/posts/tag/put 指的是一篇讲 A 这个 Project 的 /api/users/posts 这样一个 API 的功能的 Wiki(这页面有可能分 Get,Post,Put,Delete 这四个章节),然后我希望一打开这个页面,立刻跳转到其中的 PUT 章节。那么此时*paths 将匹配 URL 中的/api/users/posts 部分,:zzz 则匹配最后的 put
#91 楼 @yedingding 哦 其实我最初的设计就是可以象文件系统一样一层层下去嘛。。这样看上去比较酷 另外我前面其实就是说#tag 这个东西在 Angular 中很难实现嘛,我一把这个地址打到浏览器中,服务器收不到最后的#tag,只能将地址重写成/#/projects/api/users/posts,然后 Angular 前端再把/#/projects/api/users/posts 改写成/projects/api/users/posts(我不知道 Spine.js 是不是也是类似的做法诶 不过我猜应该是一样的吧),最后#tag 就这么丢了。。
#93 楼 @yedingding 我觉得 如果服务器收到的话,就可以做些 Hack 传到前端,这样 Angular 前端再改写地址之后,还有机会能知道你最早是想跳转到比如说#tag 这个章节嘛。。这样它还可以再次改写 URL 并且跳转嘛。。而不是完全丢了。。
#95 楼 @yedingding request referrer 试过了,浏览器似乎在任何时候都不会把#tag 信息往服务器上送的,包括 referer。。话说 Github 似乎没用 MVC 前端嘛,它的 https://github.com/ruby-china/ruby-china/blob/master/app/controllers/account_controller.rb#L38 这个地址和我的 Case 其实是非常类似的,先打开一个文件,然后跳到 38 行,如果它用 MVC 前端的话,我猜它也会遭遇到同样的问题吧。
#99 楼 @kevinclcn 没用过啊,看了一下 demo, 感觉用法和 optionparser 类似,没有本质区别 我使用 gli 的原因是它解决了 global option 和 local option 重名的问题 simple interface 的 application 直接用 optionparser 就够了 sildes 用的是一个叫 tpp 的 gem
#107 楼 @camel #108 楼 @yedingding https://gist.github.com/teddy-ma/9182722 就是书本目录抄了一遍,唯一的价值算是一个 tpp 的例子吧= =
大家如果有一些现场的照片,如果方便的话,请发到 [email protected],我们会上传到网站,做一个记录。
如果你们有一些对于演讲者的反馈或者评论也可以通过 Ruby China 的帖子反应。
谢谢支持