N + 1 的问题,Java 用 Hibernate,配置二级缓存是很容易解决的,或者说不是解决,而是避免了 sql 落到库上导致缓慢。
找出了一篇十多年前 Rubbin Fan 写的文章可以看下:https://www.iteye.com/blog/robbin-77338
另外,Java 的 Hibernate 我已经小 10 年没用了
十年前一直在 Java 上寻找和开发高效开发框架,后来碰到了 Rails,觉得这就是我一直寻找的东西,以至于都没有兴趣再继续在 Java 上造轮子,因为不论怎么造都是在朝着 Rails 方向,而 Rails 明明就在那里……
后来有了 spring-boot 才发现,技术还是这些技术,但是高手能用写出花来,让你不断拍手赞绝 😂
每个技术都有适用的场景,效率有些时候也并不是最重要
RoR 搞微服务的话,需要一些探索。Java 和 Go 这种,更稳妥一些
嗯,所以还是得看业务场景。
如果是单一产品形应用 RoR 没问题,庞杂的业务系统还是 Java 更适合些 😄
spring-boot 相比 RoR 差距还是有的,但是相比远古时代,已经进步特别大了。
单体应用论效率肯定是比不过 RoR 的,但话说回来,如果是超大型微服务的项目(业务域内核心几十个系统),我不知道现在 RoR 在这方面怎么样
@hooopo @yfractal 再补充一下,ORM 框架我个人是非常喜欢的,但是由于你们所说的这些原因,团队中技术水平参差不齐,所以就根本没法用,实际情况下都是直接手写 SQL 的,确实效率慢,但是质量上相对会可靠一些(这个可靠指的是同等技术水平,用 ORM 和手写 SQL 对比)
另外,说到效率,其实写代码能用多长时间呢?更长的时间是梳理逻辑、沟通需求,如果这两项搞得清楚,代码不需要反复修改,时间会大大缩短。现实很多初中级都是沟通不清楚,有很多前因后果没搞明白,导致反复修改,浪费了大量时间。
还有一点 Java 圈和 Ruby 圈不太一样的地方是对待单元测试/集成测试的态度上,我是基本没见过哪本 Java 系入门书中有详细教单元测试的,但是 RoR 入门必有单元测试,这点上真是特别好,尤其对入门来讲,编程方法更系统些。
手写 SQL,分页有什么难的呢,插件给你:https://github.com/pagehelper/Mybatis-PageHelper
不瞒你说,Java 做的后端没那么复杂,都是直接用 MyBatis 框架手写 SQL,不存在你说的这些 ORM 关系问题了,所以这也是导致开发效率缓慢的一个原因
Java 如果用 JPA 这类的分页没什么难度,N+1 用 left join 或缓存解决。另外,现在更多是用 MyBatis 之类的手写 SQL 加一些小的插件了
RoR 小而美,Java 系更粗旷一些,项目可以靠人堆,其实没什么可比性,就看注重哪点了
我 12 款的感觉还可以再战 5 年
我是支持收费的!
今日最佳:"好看的代码大多存在于没什么人用的程序里吧"
CookieStore,明白了,多谢!
session 在服务器端,cookie 在客户端,这个理解有问题吗?
师傅领进门,修行在个人。
对于那些标榜培训后月薪上万的毫无疑问都是骗子。尤其是那些零基础,冲着高薪,转行过来参加培训,期望毕业后从此逆袭的最好还是醒醒吧,脚踏实地的才靠谱。至于那些热爱编程,经过专业学习,只是缺少一个训练契机的同学来讲,培训其实也不是坏事,抹黑走夜路时有人提醒你一下,指点一下或许能走的更顺利。
+1
2.18 好想过去
坐等多看/Kindle 等电子版
#19 楼 @andor_chen 众筹翻译吧!还等着看呢,千万别取消翻译计划
哇,好想过去!
MacBook Pro 不是顶配,差评!
#12 楼 @southwolf 不用 HHKB 怎么可能赚大钱 😄 看来还是 Type-S 更靠谱
#1 楼 @lihuazhang 不喜欢全键盘,相比之下 Rf 更喜欢 87
#3 楼 @jimrokliu 据说不是 4.0。我是稍微强迫症,所以这种要使用的东西就不考虑二手了,以免心理不舒服😌
#4 楼 @xiaoping_rubyist 咸鱼很多。
不仅仅这个,缺太多东西啦!😢
已经好了