Ruby 生态统一,哦,要除了并发这一块。。。n 多的 gem 啊。
连多个数据库挺容易的,原理大家已经给出了,可用的工具是 multiverse
但问题是,真的需要换数据库吗?uber 数据库就换来换去的 https://eng.uber.com/mysql-migration/
还要考虑这个技术方案,是否可行。假设是分模块迁移,如果模块和模块之间的表有 join 的话,这个方案不行。项目模块划分不清才是最大的问题,模块划分请了,其他的都是小问题。
最后也是最重要的,原有问题到底出在哪?没有具体问题,技术连存在的意义都没有。技术过时
,显然不是一个问题。.net
还过时能,但性能吊打 n 多框架。
autoreload 引起的吧?
那美好的仗我已经打完了,应行的路我已经行尽了,当守的道我守住了。
从此以后,有公义的冠冕为你留存。
都依赖线程、并发模型。问题是其线程,线程会死,那就需要 monitor,死了、重启,需要重启 timer。这么多 timer 要怎么调试、管理。一个 timer 死了,其他 timer 要不要一起死。。。
想用 Erlang 了。。。
A language that doesn’t affect the way you think about programming is not worth knowing. --- Alan Perlis
学 java。这几门区别不大,面向对象语言,部分函数式支持。学一种,其他的语言撸起来也不会难。 而 java 是唯一的静态语言,并且应用更广。web,科学计算,并发都没问题。 如果再学一门,学 Erlang,原因是函数式编程 + 并发。Clojure 也有函数式,也有并发,但却没有在两方面给出完善的解决方案。
需要解决的问题,决定需要使用的语言。而不是所掌握的语言,决定了能解决的问题。学一门语言,之后需要用什么语言,学什么语言。这里不考虑个人喜好问题,如果考虑喜好的话,ruby 是最舒服的。
多数的问题是和语言无关的,比如网络,数据库,哪门语言不会遇到这些问题?反而是这些问题更不好掌握,更需要学习。
可能跟 C 有关,https://stackoverflow.com/a/20000236/2477886
不过看样子,这个问题应该是解决了。。。
用 julia
哈哈,原来是想收邮件,那可以建一个 Email 机器人,发给这个机器人的邮件就能发到讨论组里啦!
(借楼主的宝地,体验一下做销售的感觉,昨天体验了产品经理,楼主不要打我 )
楼主,Rollbar 有 webhook 吗?有的话需要 BearyChat 机器人吗?这样异常消息就能推送到您的小组里啦!
计算机技术一直在发展,语言怎么可能成熟。Ruby 也一直有更新。
Clojure 就很成熟,就不怎么更新,你想要啥,一个宏就可以了(我是来黑 Clojure 的)。
以为你们要做更深入的讨论呢,没下文了。。。
就算是黑 Ruby,只要有理有据,也是件好事啊。
倒是有点期待楼主能比较下 Ruby 和 Erlang 的并发,比如并发模型、语法、性能、处理异常、面向对象怎么做并发的(function programing 是靠传参)。
感觉也可以优化下搜索
看个人选择吧?觉得值就值。 用了 ruby 也不见得一点不优化。
异常处理感觉像 Erlang ……
么么哒就不要了,有机会的时候倒是会试试。
gits 应该要吧, 或者这个 gem https://github.com/syedmusamah/grape_on_rails_routes ?(这个 gem 我没用过)
哈哈,想知道有没有人真的在生产环境这么搞过!
小专栏 看起来有很多人在用
https://gist.github.com/oivoodoo/5089237
不是很好用,到至少能用。
RoR 程序员要保证好学习时间,不能写完业务,就不学习了。
团队开发是多个人,每个人可能擅长解决不同问题,把问题就给擅长的人。
重框架 vs 不用框架
RoR 功能全,文档丰富,Google 可以解决大多数问题。
不用框架,从代码组织,到功能,都是黑盒,重复工作、复杂度就不说了,出了问题,代码从都看到尾,debug 到吐血,半天修个屁大点 bug,死的新都有。
RoR 复杂是复杂了点,但一般出问题了,大体能猜到。没框架,出了问题是真不少猜。
简化
换成降低复杂度、或者抽象更准确些。
比如 Form Django 写个 form,要 import 4、5 个函数,这种事情完全是重复劳动。
RoR 这点就很好,省去了很多麻烦,大大提高了生产效率。
简化
也不意味着不理解背后的原理,源码还是要大体看看的。
简化
确实也会带来麻烦,比如 RoR 每个 Request 都会缓存 sql 的结果,就会出现了 random sql 不 random 的坑。
确实会有这个坑,但却带来了性能的提升,我觉得这个 简化
是值得的。
再比如,乐观锁,实现起来也不难。需要的时候,手写一下,还是挺有意思的,第二次、第三次,一样的代码,写起来就没啥意思了。这个时候,我就希望框架能帮我简化
这个工作。
有些复杂度,本身是没必要的。
比如路由,可以说是正则匹配,但 RoR 默认情况下不需要正则,隐藏了这个复杂性,提高了维护性。
只懂 web 开发,算不上后端开发吧。。。
RoR 简化
了很多东西,反而容易了。
说明 ROR 最近比较火啊,是好事,哈哈哈哈哈。 不过一楼答案完美解决楼主的需求。
可以这样定义,
类似的还有 %w(1 a)
# 都是 string
以及 a, b = "1", "2"
、a, b = [1, 2]
工作中,用 clojure 集成支付宝的时候,很多都是参考 alipay 这个 gem 的,节省了很多时间,非常感谢
大数据火起来后,终于可以怼那些说数学无用的人了!
我们公司的后端,编辑器用的更多,而且还都是 emacs、vim。