V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
V2EX  ›  luoyou1014  ›  全部回复第 3 页 / 共 21 页
回复总数  413
1  2  3  4  5  6  7  8  9  10 ... 21  
91 天前
回复了 zsmile 创建的主题 Java 国内的 Java 体系真的很落后吗?
@zsmile 这样的回答就是农民说我可以用镰刀收麦子手动打谷,所以和收割机功能一样的回答

事实上其他语言都有了统一的解决方案,mybatis 还在看具体场景分情况分析,用 sql 更是原始时代的做法,总不能认为就 mybatis 的路线正确,其他所有语言的路线都错了吧……
矛盾论里面一句话就说明了。

形而上学,亦称玄学。
92 天前
回复了 zsmile 创建的主题 Java 国内的 Java 体系真的很落后吗?
@zsmile 关键是解决方案是怎样的……
92 天前
回复了 zsmile 创建的主题 Java 国内的 Java 体系真的很落后吗?
@zsmile N+1 是行业通用的术语,每个 orm 框架都要必须解决的问题,但 java 开发者很少知道这个术语,属于对外界了解不足,mybatis 解决 N+1 的方案,上网搜了一下,都很繁琐,完全没有使用 orm 框架的优点
92 天前
回复了 zsmile 创建的主题 Java 国内的 Java 体系真的很落后吗?
@zsmile 不能只学一种语言,一种框架,会导致视野局限,只要了解了 3-5 种之后,很快就能理解哪种方案更优,大部分 orm 框架实现都在往一个同样的方向,建立数据库无关的模型层,通过定义表之间的关系自动解决 N+1 问题,自动嵌入预查询,通过语义化的查询替代 sql 。

类型做的更好的语言,C#,直接将数据库字段映射到类型上面,重载运算符,直接在语言层面上实现的 sql 语句的转化,python 弱一些,但基本也做到了这一点,php 的类型更弱一点,直接追求灵活性,不追求数据库字段的描述,实现代码数量大幅降低,但缺点就是字段都是文本描述,无法利用编辑器的提示。ruby 则是彻底追求灵活性,直接用元编程将字段映射上方法上面去,可以自动生成方法 find_by_name 。

评价一个 orm 的好坏,api 设计风格不提,至少要能优雅的解决 N+1 问题,我问做 java 的朋友,很多人连 N+1 问题是什么都不知道……
92 天前
回复了 zsmile 创建的主题 Java 国内的 Java 体系真的很落后吗?
@haython relation 关联中的 with ,解决 N+1 问题
withCount, withSum 这样的聚合函数,解决统计问题

可以看一下文档: https://laravel.net.cn/docs/11.x/eloquent-relationships#counting-related-models
92 天前
回复了 zsmile 创建的主题 Java 国内的 Java 体系真的很落后吗?
@haython 例如给古代的农民讲解收割机怎么先进,农民听了会说,我用镰刀也能割麦子,割完打谷也能得到麦粒,这个收割机也没什么大不了的,没办法做到我做不到的事情
92 天前
回复了 zsmile 创建的主题 Java 国内的 Java 体系真的很落后吗?
@haython 用过 laravel, ruby on rails, ef core, sqlalchemy 就知道什么是先进了,如果没用过,就算描述出来,也只会觉得,mybatis 也能做到啊,只要这样这样这样,就可以了

纸上得来终觉浅,绝知此事要躬行
这么多年,没见过一个人认为有钱不好的,不知道为啥还要悟……
93 天前
回复了 zsmile 创建的主题 Java 国内的 Java 体系真的很落后吗?
@JoeDH java 是只学过 jpa 和 mybatis ,没在实际项目中使用过,实际用过 C#的 ef core ,ruby on rails ,php laravel ,python sqlalchemy

从我的实际体验中,ef core 最强大也最完备,可以拥有完美的 ide 支持,ruby on rails 最灵活但完备性不足,无法依赖编辑器的高亮提示,laravel 和 rails 差不多,灵活性差一些,但完备性好很多,sqlalchemy 有点类似于弱化版的 efcore

jpa 方向是和这些 orm 框架一致的,但实际使用太繁琐了,mybatis 不能叫 orm ,只能称之为 db_tool 工具集
93 天前
回复了 zsmile 创建的主题 Java 国内的 Java 体系真的很落后吗?
@zsmile 瞄了一眼 jooq 的文档,Api 设计的也很一般,还是建议多看看其他语言的 orm 框架,感觉 java 的 orm 设计者都没看过其他语言的 orm 设计,明明其他语言的 orm 设计都是相互借鉴的……
93 天前
回复了 zsmile 创建的主题 Java 国内的 Java 体系真的很落后吗?
springboot 不落后,mybatis 是真的落后……
220 天前
回复了 echoless 创建的主题 MySQL MySQL 处理亿级别的数据怎么做?
表结构尽量简单,确保查询要走到索引,复杂查询拆开,便于优化,上 SSD ,读写分离,可以支撑到 10 亿级别数据
再往上可以用分区功能,我的经验只到 20 亿级别,没有开分区,也扛住了。
2024-02-20 09:32:44 +08:00
回复了 SJH0402 创建的主题 MySQL mysql 分表能带来哪些显著的,可见的提升?
先用 mysql 自带的分区功能,可以达到分表的效果,但完全不用改动业务
2024-01-09 19:32:00 +08:00
回复了 brader 创建的主题 PHP 做个框架选择小调研
php8.3+hyperf
如果是 mysql8 的话,直接建虚拟字段 v_month ,值根据 change_time 自动生成,然后在 v_month 上建立索引,就可以直接 group('v_month', 'status'),直接得到结果。

ALTER TABLE `bianzhidan_log`
ADD COLUMN `v_month` int UNSIGNED GENERATED ALWAYS AS (date_format(`change_time`, "%Y%m")) VIRTUAL

性能提升两个数量级,且代码量降低为原来 1/10
2023-12-26 20:54:31 +08:00
回复了 Tinywan 创建的主题 PHP 我们都应该学习 PHP
貌似没有详细介绍一下拓展机制,有具体的介绍不
2023-11-04 21:18:30 +08:00
回复了 ricebna 创建的主题 PHP 突来灵感, 设计两个 PHP 常用的快捷键.
如果用的是 vscode 的话,可以装下我开发的插件「令」

https://marketplace.visualstudio.com/items?itemName=luo-rori.ling

-> 快捷命令:alt+.
=> 快捷命令:alt+shift+.
跳转行尾增加分号命令:alt+;

还有很多其他命令:
alt+;跳转到行尾加;号
alt+ctrl+;跳转到行尾加;号,但光标位于分号前
alt+,跳转至行尾或分号前,添加,号
alt+ctrl+,跳转至行尾或分号前,添加,号,但光标位于逗号前
alt+shift+;跳转至行尾或分号前,添加:号
alt+shift+/跳转至行尾或分号前,添加?号
alt+=跳转至行尾或分号前,添加=号
alt+.跳转至行尾或分号前,typescript,javascript,vue,python 添加.号,php 添加->号
alt+shift+.跳转至行尾或分号前,添加=>号
alt+[跳转至行尾或分号前,添加加[]
alt+shift+{跳转至行尾或分号前,添加{}
alt+shift+9 跳转至行尾或分号前,添加()
alt+shift+0 跳转至行尾或分号前,补充),若当前行没有(,则不做任何操作
alt+q alt+e 将当前编辑文件显示在资源管理器中
1  2  3  4  5  6  7  8  9  10 ... 21  
关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   2808 人在线   最高记录 6679   ·     Select Language
创意工作者们的社区
World is powered by solitude
VERSION: 3.9.8.5 · 39ms · UTC 02:00 · PVG 10:00 · LAX 19:00 · JFK 22:00
Developed with CodeLauncher
♥ Do have faith in what you're doing.