V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
V2EX  ›  nothingistrue  ›  全部回复第 100 页 / 共 103 页
回复总数  2056
1 ... 92  93  94  95  96  97  98  99  100  101 ... 103  
2022-05-16 10:42:22 +08:00
回复了 skyworker 创建的主题 Java 在 Java 业内, 难道多表联合查询都是复杂问题吗?
@skyworker #2 见你楼上的回复,当你使用 Spring Data JPA 以后,多表联合查询没那么复杂,只需要接口中定义一个方法,方法名旁边用注解再定义一个 SQL (用原生 SQL 而不用 HQL/JPL 都没问题)。(前提是实体类和接口已经定义过了,这个相对于 PHP 这些可能还是麻烦一些,但这是一次定义终审省事,并且这已经涉及强类型语言跟弱类型语言的对比了。)

@rykinia #3 现在用 Spring Data JPA 的并不多,如果是用 Mybatis ,即使是 Mybatis Plus, 那楼主说得是没错的。
H5 ,原本它该代表的 HTML5 ,这个标准仍然是 HTML——超文本传输语言的范畴,它主要面向的是“资源浏览”,不是 UI ,不是客户端。即使是 HTML5+( ES6+),即常规意义上的 H5 开发,它的核心仍然是资源浏览。再加一个 PWA ,勉强才具备资源浏览外的一些客户端的东西,但至少目前来说还不够。

与其说 H5 是跨平台,不如说 H 是无平台的,因为它的核心是服务器,浏览器端是完全从属于服务器,没有自主能力的。所以如果要搞些单独靠服务器做不了的功能,比如搜集数据(隐私),P2P 传输给服务器分压等,那就得整客户端( PC 客户端或者手机 APP )。要搞跨平台,就得用其他技术。
2022-05-11 14:30:05 +08:00
回复了 babyoung 创建的主题 职场话题 如何看待团队里“自尊心”过强的同事
楼主跟你说的同事没啥区别,只不过一个不准别人提异议,一个不准别人对自己提异议这件事有异议。

提异议,要么能让人服,要么被反向干服撤回异议,要么碰见大疙瘩惹不起躲得起。找领导强压已经是下策,网上寻找安慰那是下下策的下下策。
2022-04-29 13:45:08 +08:00
回复了 461da73c 创建的主题 浏览器 油猴脚本怎么云同步
我是手动同步,导入导出,外加导出文件放到 Onedrive 上。因为我用的 Firfox ,用不了浏览器同步,自带的网盘同步又老容易失败。
Windows Server 允许多用户同时登录,但是你还需要另外准备一个能够用 Windows RDP 的客户端(平板就行,不追求操作性的话手机也可以)。公版虚拟机方案不太好,因为你要么另外准备一个能够连接虚拟机的电脑(或 WIndows RDP 客户端),要么准备第二套显卡、键鼠、显示器。
Java 里面,三目运算符不是用来赋值的,或者赋值加三目表达式加起来超过一行或换行,是要被打死的。

三目运算符当逻辑操作,还有逻辑运算符里面参杂赋值操作( a is not null && a=2 这种),在脚本语言,还有追求最少操作(并忽略可读性)的算法里面,用得还是很多的。但我不相信 typescript 会把这当核心用法。
2022-04-29 09:27:19 +08:00
回复了 devswork 创建的主题 Java Java 中的 VO、DTO、PO、DO 是如何定义和互相转换的?
@hjahgdthab750 #19 后缀是由架构或规范决定的,没有特定规则。光凭“只有 getter setter ”这一个特点,是不知道这个类是干啥的,还要结合其他特点才能确切直到这个类是干啥的,之后才能命名。

@lessMonologue #20 没有。就算有也不具备参考意义,因为这本来就是规范不是规则,是随团队变化的。

@MakHoCheung #21 再严格一点,上下层之间不管调用还是返回都只能是 DTO ,DTO 负责对象的转换。例:Service 利用 DTO 的静态方法或者工厂方法将 BO 扔进 DTO ,再用这个 DTO 作为调用 DAO 的参数;反过来就是 DAO 将 Entity 利用工厂方法将扔进 DTO ,再返回 DTO 。这三者内容不可能一致的,Entity 是 ORM 的托管对象会带有 ORM 的信息,DTO 要负责数据转换会带有业务逻辑,BO 为 Service 服务会有业务逻辑的中间数据。然而,这随不是重复操作,但是属于杀鸡用牛刀的操作。

@leeg810312 #25 你这个好,用 DTO 把数据转换和数据对象都给包了,就只剩下 Entity 和 DTO 两种,没有纯数据的 Data 了。
2022-04-28 17:11:33 +08:00
回复了 devswork 创建的主题 Java Java 中的 VO、DTO、PO、DO 是如何定义和互相转换的?
这个已经过时了,除非你是在改当前项目,不建议再去深究了。

现在,不管是 Hibernate 还是 Mybatis plus ,不管是 DDD 还是非 DDD ,Entity 都是一个特殊的对象类型,这个很好区分,他是跟数据库的表映射或者绑定的(如果是 DDD ,它还有行为方法)。

DTO 在是一个重对象,它还会一直用下去,但是很少会使用。它的区分也很简单,它是一个重对象,自带数据转换逻辑,并且通常跟工厂一起使用。只有 Getter/Setter 的轻对象,不会是 DTO 的,国内有些人把上下层之间传输的参数一律叫做 DTO ,这是很大的误区。

然后剩下的,VO 、PO 、DO 什么的,它们原本的定义是跟层绑定的,一个层使用一种 O ,禁止跨层使用(层与层要额外通过 DTO 来隔离,比如 VO 经 DTO 转换成 DO )或者只允许上层使用下层的。这些已经死翘翘了。前面已经说了,DTO 很重,没有人会采用“禁止跨层使用”的方式,都是采用“只允许上层使用下层”方式。然后,既然允许上层调用下层了,那为什么不直接调用 Entity 呢,所以最后全部都用 Entity 了。

简单来说,除了 Entity 、DTO ,剩下的本质上都是 Data ,为了层解耦才定义了那么多 O 。随着垂直分层模式的崩溃,这些 O 也崩溃了。

至于楼主的其他问题。2 ,如果你要负责任的话,那就必须手动转换,再痛苦也要转,业务太多变了,这玩意工具的作用很有限,当然有缓解的手段,对于一些纯内部使用的类,你可以考虑 lombok 的 chain 或 fluent 模式。3 ,是,专项专用,但是你可以通过合理规划查询 SQL ,使得多个 SQL 公用一个参数类。4.如果你要负责任的话,那必须给 Swagger ,或者说 Web 这一层,定义专门的数据对象( Swagger 叫做 model ,内部可定义为 value object VO ,也可以就叫做 Data )。
2022-04-28 09:45:11 +08:00
回复了 coala 创建的主题 Java 微服务方案中 Socket 和 WebSocket 如果实现多实例负载呢?
能跑 HTTP 负载均衡的网关,通常经过配置后就能支持长连接的负载均衡,至少 ngnix 和 caddy 是可以的,负载均衡这里不是问题。但是你这个想要的不是负责均衡而是 AB 升级,这对于长连接来说,光靠服务器就不行了。

简单来说,你可以设计个重新连接协议:服务器下发切换服务器指令,指令里面带上新服务的 IP ,客户端收到这个指令后,断开当前连接去连接那个新 IP 。更新的时候:首先开启 B 服务器,同时 A 服务阻止新的连接;然后 A 服务器给所有当前连接下发切换服务器指令;当 A 服务器的所有连接都断开,或者超过指定时间后,A 服务器搞停、更、启这一套;之后你想切回 A 服务器就重走上面的流程,不想切就结束了(因为 B 服务器应该已经更新过了)。

不建议客户端在感知到连接断开后自动重新启动。除非你能保证常规客户端连接成功(连接加注册加鉴权等)的几率接近 100%,否则当连接失败的客户端多了之后,会形同与向服务器发动拒绝服务攻击。
2022-04-27 12:31:25 +08:00
回复了 hujnnn 创建的主题 程序员 服务端能发现使用 Socks5 代理请求的源 IP 么?
一、Socks5 绝对能够隐藏源 IP 。
二、源 IP 屁用没有,你是否隐藏都没区别。

这个 clientIP ,是最后路由的 IP ,不止过 Socks5 会变,过个路由器就会变,很古早以前还会有人用它来防止同 IP 多用户,因为容易被篡改,以及最主要的,误杀(杀整个网吧、教育网能杀一个学校、长宽这种二级运营商能杀一个省),稍微有点技术的网站都不会再用它了。
2022-04-26 10:08:13 +08:00
回复了 Skeleies 创建的主题 程序员 聊天软件端对端加密疑问
只能能连上,端对端加密是很好实现的,公钥加密私钥解密即可,“连接上”这个阶段,技术上也是没难度的,但是监管上的难度比上天都难。
没有 DBA 工作只是测试程序的时候用的话,可以用 heidisql 代替 Navicat 。DBA 的话,还是老老实实 Navicat 吧。
2022-04-25 13:35:16 +08:00
回复了 cweijan 创建的主题 程序员 Github 彻底无法访问
git 操作早就是时断时续了,这玩意 Git 内置的代理和令牌还没法同时用,烦的很。SSH 协议比 HTTPS 协议更好识别,没可能 HTTPS 不能用的时候 SSH 协议能用。
2022-04-25 12:52:51 +08:00
回复了 tlerbao 创建的主题 git git reset --hard 求救哈
reset --hard 的意图就是丢弃当前工作回到以前的某个状态,所以在执行之前一定要确认还没提交 /stash 的内容,确实是要丢弃的,如果不是那就先 stash 或提交。
2022-04-25 09:48:19 +08:00
回复了 liuidetmks 创建的主题 程序员 国密标准推行不太顺利的样子?
上面说得被吊销不对,没法吊销,而是其他所有域名服务器全部不信任国内那个服务器了。如果美国要是在原始中央镜像服务器上投毒,那么也能这样被隔离,谁都没特权(军队开过去搞物理特权,那就另说了)。
2022-04-25 09:41:58 +08:00
回复了 Ashore 创建的主题 程序员 这五一假期,一个字,绝!
别说单休,就是大小周,碰上法定假期调休都是累。从你入职接受非双休那一刻,你就跟法定假期有仇了。
2022-04-25 09:31:28 +08:00
回复了 liuidetmks 创建的主题 程序员 国密标准推行不太顺利的样子?
@whileFalse #49 不止跟证书以前有,顶级域名镜像(全球就十来个点)也是有的,后来因为 DNS 投毒一不小心从国内变成国籍,被吊销了。域名、证书这些传统互联网领域,并不是中心化的,美国作为中心领导者可以影响,但要制裁是不可能的(或者说制裁还没完成,下面就切线把美国隔离了)。
线程阻塞状态,与同步任务的阻塞性,是两个概念。二者在某些情况下是相似的,但更可能是对立的。无线循环,是自己主动阻塞并让出资源,以便于整体上的不阻塞。

再详细点我不想说,反正楼主也不是来问问题的。
1 ... 92  93  94  95  96  97  98  99  100  101 ... 103  
关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   我们的愿景   ·   实用小工具   ·   3450 人在线   最高记录 6543   ·     Select Language
创意工作者们的社区
World is powered by solitude
VERSION: 3.9.8.5 · 55ms · UTC 10:49 · PVG 18:49 · LAX 03:49 · JFK 06:49
Developed with CodeLauncher
♥ Do have faith in what you're doing.