假如建立一个PB2的rails版本分支

2011-09-07 14:18:47 +08:00
 Los
谁有精力来全面clone一个PB2的rails版本?
不做任何功能和UI上的变化,以我个人开发的话,开发周期估计要一个星期左右,有可能不需要一个星期,也可能超过一个星期稍微长点,其中最浪费时间最无奈的应该是对PB2中l10n多语言支持手工转为rails用I18n格式。

这个开发周期对我现在而言太长了,谁有精力来开发呢?

现成可用的gem
判断是否mobile
https://github.com/brendanlim/mobile-fu
头像上传
https://github.com/jnicklas/carrierwave
twitter绑定
https://github.com/jnunemaker/twitter
recaptcha验证
https://github.com/ambethia/recaptcha
处理输入内容中的@
https://github.com/mzsanford/twitter-text-rb
29006 次点击
所在节点    Project Babel
256 条回复
Los
2011-09-09 18:47:06 +08:00
Redis 是一个高性能的key-value数据库,跟rails结合使用可以天衣无缝,解决大量的性能问题,嘿,现在我是超喜欢它
mlzboy
2011-09-09 18:48:29 +08:00
@Los 这个贴要火了,los不完成,对不住大家哈
Los
2011-09-09 18:49:39 +08:00
@wtl 关于datamapper与activerecord的比较我倒没有太多想法(可以说没有见解),但我习惯用activerecord,毕竟是rails的配套产品,很多地方配合习惯了。
bluef
2011-09-09 18:49:48 +08:00
@Los 直播吧XD
Los
2011-09-09 19:00:25 +08:00
@mlzboy @bluef 汗,其实我平时最喜欢的是到 github.com 刷屏而已,这类型的即时展现代码的压力很大的,上面的代码完全没有测试过,如果出现重大问题那不是囧死
keakon
2011-09-09 19:07:04 +08:00
@Los 据我所知,redis是存在丢失数据的风险的,为了提高性能,写入文件的间隔一般都达到几分钟了吧。

说些题外话。就代码来说,以我直观的看法就是符号太多了。
如果说Python是写英文的话,Ruby就是写公式了。
英文可以一眼区分出是否优雅,而公式只能看出是否复杂。
这是我在学习Ruby时最大的障碍。

另一点就是我不喜欢Ruby的一些省略,例如自动return最后一行表达式,函数调用可以不带括号。
我知道我自己可以因为不喜欢,而不去这样写。但我没法限制别人这么做,我也不可能不去读别人的代码。
我同意很多人喜欢这种自由,可这种不考虑副作用(比如得手动return nil,没法直接传递函数,查找函数调用时经常搜到注释)的默认做法让我觉得设计者考虑问题有点单纯。

还有一个很大的区别:做同一件事,Python和Ruby都可能有几种写法,区别就在于前者只有一种是最简单而优雅的,并且同时还是效率最高的。
这也可以看出Ruby鼓励多样性,但我不得不为学习多种方式付出N倍的时间,因为我没法避免遇到这样的代码。

所以虽然Ruby有很多我喜欢的特性,但最终还是放弃了。设计者在观念上与我格格不入,这是我感到最遗憾的。
Los
2011-09-09 19:19:52 +08:00
redis只是存储notifications未读标示,notifications是存储在mysql数据库里的。

上面的代码我是集中起来了,包括一个数据库创建的代码,3个model,2个controller,一个Resque的job,还有一个views层的erb代码,所以看起来可能有点乱,但在具体项目中,这些代码都是分开来摆放的。

而关于ruby与Python差异,只能说各有好坏,选择哪个就看个人喜好了。
Los
2011-09-09 19:24:19 +08:00
@keakon rails 用了很多「魔法」,不熟悉rails的话,有些代码可能读起来真是一头雾水
wtl
2011-09-09 19:37:47 +08:00
@keakon 我建议再多去尝试几天 再多几天你就不会头痛看不懂 甚至感觉和读新闻一样
Los
2011-09-09 19:41:39 +08:00
@wtl 代码从TextMate复制进gist.github.com里格式会有改变,空格和间格都会变乱了,看起来有点郁闷
Kymair
2011-09-10 00:45:56 +08:00
@Los 说真的同学, 我还是希望你能够把代码放出来,这里的很多人会感兴趣的。你已经花了半天证明了你可以,又在这个帖子里花了这么多的篇幅讨论具体的细节问题(甚至贴了代码),让我很难觉得"七天“的周期是真的对你来说太长了。

我相信现在大家完全认为你可以,为什么不去做呢?在这个长达200多回复的帖子继续讨论细节,似乎有些尴尬了。
Los
2011-09-10 08:40:12 +08:00
@Kymair 嗯,讨论技术实现跟去开发项目花费的时间不能等同的,讨论技术,可以在休息时候抽空聊聊就行了。
huacnlee
2011-09-10 09:38:38 +08:00
@Los #50 你需要将TextMate设置成 softtab, 这样到 Github 就没问题了
Los
2011-09-10 09:52:27 +08:00
Los
2011-09-10 10:18:46 +08:00
汗,notifications代码今早无聊时试运行一下,发现竟然漏写了一个参数,并且有些小bug(创建主题时候如果title和内容body都出现 @某人 会重复提醒一次,还有一个地方将set改为list更适合,但会导致一个操作的时间复杂度为O(N),N为当前用户的未读提醒条数,这个数字一般不会很大,所以性能影响不大。
mlzboy
2011-09-10 20:43:25 +08:00
@Los gtalk什么的有哇,留一个,

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://tanronggui.xyz/t/17824

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX