V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
V2EX  ›  PTLin  ›  全部回复第 10 页 / 共 18 页
回复总数  345
1 ... 2  3  4  5  6  7  8  9  10  11 ... 18  
我感觉主要就两种,一种单解析 html 的库,一种 WebDriver 的库,你对着你的语言看着选就行
289 天前
回复了 bronana 创建的主题 Java 大家觉得前端的核心竞争力是什么呢?
我感觉前端完全可以学学计算机图形学了,webgl ,webgpu 配合理论什么的,起码可以解放想象力
我把你的代码改写成了底层形式,你看看是不是一样的错误
https://play.rust-lang.org/?version=nightly&mode=debug&edition=2021&gist=9c32461c6ece185b284827fd296cc1c9
闭包可以看作一个结构体,你对闭包的使用方式决定了闭包的捕获方式,捕获方式决定了闭包实现了什么 trait 。

假设有个结构体,你这段代码将 value push 到了 vec 中,故捕获了&mut vec 。value 是所有权方式使用的,故捕获了 string 。
这时这个闭包的结构体中就有两个字段,分别是&mut vec ,value 。

调用 FnOnce 闭包在底层相当于调用了闭包结构体的 fn call_once(self, args: Args) -> Self::Output 方法。
调用 FnMut 闭包在底层相当于调用了闭包结构体的 fn call_mut(&mut self, args: Args) -> Self::Output 方法。

由此可知假设你传入的闭包实现了 FnMut ,此时将会调用 fn call_mut(&mut self, args: Args) -> Self::Output 。这时就会出现问题,代码中将 string 类型的 value ,push 到了&mut vec 中,但由于 self 是&mut ,无法对 value 转移出所有权,所以 error 的提示为[E0507]: cannot move out of `value`。
https://github.com/golang/go/issues?q=label%3Aerror-handling
看看这些数不清的提案,相信总有一个是比你这个想法优秀且被枪毙了的。
292 天前
回复了 ysz1121 创建的主题 程序员 golang 一个很神奇的问题
@bruce0 op 这种人其实不少,我以前见过一个人碰到问题第一反应就是去论坛,issues 里提问,而不是自己尝试解决,甚至没人给他解决的话他就喷这个东西设计的有问题,喷这个东西垃圾。。。
我还记得以前有人笑过 Optional ,大概是说 Java 的 Maybe 居然有三种状态:Just ,Noting 和 NULL 。
298 天前
回复了 Livid 创建的主题 Windows Windows XP 默认壁纸的 4K 版本
原版是 46mb 的 600dpi 的文件 13 年贴吧有人发过
付费插件没搞头感觉
303 天前
回复了 none 创建的主题 Rust 关于多线程初始化全局变量的问题
@none InitCell 也是只能 set 一次呀,你要是说那个 reset 的话你看看代码就知道怎么实现的了。
算了我给你写个你这种情况常用的方法吧: https://play.rust-lang.org/?version=stable&mode=debug&edition=2021&gist=b9dad8543dc9f982a7485d23a9a69eb1
可能这就是技术之外的原因了。
提到 java 就是生态丰富,spring 全家桶东西多,大企业都在用,有成熟的解决方案。
提到 go 就是 goroutine 并发能力强,生成的可执行文件小,谷歌背书,适合做中间件,适合容器化,适合微服务等等。
提到 python 大家首先会想到的标签肯定还是机器学习,数据分析,简单的脚本语言,动态类型不适合大项目开发。
实际上一般的项目用什么作为后端可能区别没那么大,语言主流框架的每秒请求数不那么重要,占用内存也不那么重要,要是这些真的至关重要的话早就换成 cpp 或者 rs 来写后端了,反正不管什么当后端不都是连接数据库 redis kafka 这些东西。这样的话从被贴满标签的三个语言里选就很好选了。
304 天前
回复了 none 创建的主题 Rust 关于多线程初始化全局变量的问题
@none OnceLock 和 InitCell 也没区别呀?
@seeu2ex 什么叫不困不知道,有点没理解意思
我作为一个 180 200 斤三个月减了 50 斤的人给你一点我个人的建议。
首先大基数减肥就是靠吃,以及每天 1 小时左右的轻度运动(比如走步),不要考虑无氧,也不要考虑其他运动量大的有氧,因为在你少吃的前提下根本没有体力以及心力坚持下来,我认识不少人就是这一步给自己计划过高放弃的,比如我一个朋友和你差不多体型,想减肥天天跳绳,没一个月就放弃了。
其次就是摆正心态,不要觉得你现在少吃的这种状态是一种减肥中的“特殊状态”,只要摆正心态自然每天就能自己合理的规划下来饮食,并且不会想要放纵什么的。
这样等你瘦下来一点身体素质以及你的膝盖可以支持做 hiit 什么的在开始下一步计划。
305 天前
回复了 none 创建的主题 Rust 关于多线程初始化全局变量的问题
305 天前
回复了 vegetablebird 创建的主题 Windows 始终无法开启 WSL2
bcdedit /set hypervisorlaunchtype Auto 试试这个
312 天前
回复了 miaeLKK 创建的主题 Go 编程语言 [Go 语言] 怎么理解 goroutine 这个词?
假设有这么个模型系统。

其中调用函数的动作不会实际调用这个函数,会返回一个叫做 task 的结构。

有多个并行的执行流 例如多个线程,每个执行流有一个队列,创建的 task 会被放入这个队列。

每个执行流会取出队列中的一个 task 进行实际的调用。

系统中会提供一些特殊的函数,这些函数会暂停 task 的运行并且返回 task 未完成的状态,例如一个读取网络 socket 的函数,在无数据可读堵塞的情况下会暂停 task ,也就是暂停函数过程的执行停止到这个点上,返回 task 未完成。


并且这时候这个特殊函数会向系统中注册一些信息,这些信息可以确保当满足某些情况下,这个未完成的 task 会被放回队列。例如当此 socket 进入了可读状态,系统就会把这个未完成的 task 放回某个队列,等待执行流执行。

之后重新被执行流取出队列并调用的 task 会从刚才暂停的状态恢复继续执行过程,并且重试读取网络 socket ,此时会正常读取到数据,继续向下运行。重复上述过程直到一个 task 被执行完成。
323 天前
回复了 Uahh 创建的主题 程序员 有没有什么二次元+程序员的群
虽然我本身也算是个二次元吧,但是那些技术群里天天玩二次元梗的人真是难以沟通,要是技术群里这部分人的比率一大就是折磨。
1 ... 2  3  4  5  6  7  8  9  10  11 ... 18  
关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   1841 人在线   最高记录 6679   ·     Select Language
创意工作者们的社区
World is powered by solitude
VERSION: 3.9.8.5 · 36ms · UTC 16:32 · PVG 00:32 · LAX 09:32 · JFK 12:32
Developed with CodeLauncher
♥ Do have faith in what you're doing.