V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
V2EX  ›  yazinnnn0  ›  全部回复第 3 页 / 共 24 页
回复总数  461
1  2  3  4  5  6  7  8  9  10 ... 24  
2025 年 5 月 22 日
回复了 hangzhou 创建的主题 北京 北京美食分享
这题我会

豆汁儿 焦圈 麦当劳 炸酱面
2025 年 5 月 3 日
回复了 zhang666 创建的主题 生活 四十依旧单身
过日子不凑合的话肯定是维持不了婚姻的
人没事的话小车主责以上
2025 年 4 月 28 日
回复了 asuraa 创建的主题 Go 编程语言 golang 为何不出来个 Typescript
为什么要做 go 的前端? 做 llvm 的前端不好吗
2025 年 4 月 28 日
回复了 biu7 创建的主题 程序员 记一次失败的 Go 面试
评论区气氛突然八股了起来
2025 年 4 月 25 日
回复了 wqnm 创建的主题 问与答 现在取名字怎么如此困难
绍宗 敬渊 承祐 崇威 溥修
弘业 延钧 知远 从勖 希烈
保晦 陟威 璟崇 宗训 俶宁
彦璋 弘肇 崇韬 延孝 重荣
敬达 延寿 师厚 存审 知俊
晏球 德昭 洎威 全节 守贞
词远 晖 彦超 环照 延勋
晖业 清章 光邺 福威 琼璋
镐宁 赟信 虔钊 昭瑜 怀瑾
崇瑛 彦宁 令仪 延淑 保蕙


名字来自五代皇帝和节度使, 至少听上去就就不好惹
2025 年 4 月 25 日
回复了 helloword001 创建的主题 Java Java 项目大家都用什么第三方库啊,各位大佬说说
arrow-kt
2025 年 4 月 15 日
回复了 yazinnnn0 创建的主题 程序员 通过逆向开发出来的补丁享有著作权吗?
@kokerkov
https://zhuanlan.zhihu.com/p/435901014
有的专业性比较强的法院是认可 GPL 的法律效力的, 不过估计国内大部分法院都没有这么高的专业水平
2025 年 4 月 12 日
回复了 lemonTreeTop 创建的主题 NAS 不懂 NAS 的影音服务有什么用
@worker201 有一说一, 大部分人下的毛片也是流媒体流出的
2025 年 4 月 8 日
回复了 karben 创建的主题 哔哩哔哩 bilibili 全自动硬核会员 LV6 试炼
感谢分享, 虽然不知道这个屌硬核到底有啥用...
@zhonghanwen #15 哥, 你要是说有技术上产品上的交流, 好歹把 v2 当成简中版 hacker news 用, 别把 v2 当成抖音用
https://i.imgur.com/kuBosOu.png
有点幽默, 6 块钱的套壳费?
2025 年 3 月 31 日
回复了 wnpllrzodiac 创建的主题 问与答 10 岁小男孩 生日礼物推荐
RG34XX
没必要转成视频, 静态图就用-c:v mjpeg 编码成图片就行, 除非你要把歌词/字幕硬编码到图像里

比如

ffmpeg -i 封面图.jpg -i 2.主人笑的话我也开心.mp3 -i ./2.主人笑的话我也开心.mp3.vtt -c:v mjpeg -vf scale=1280:-1 -c:a libopus -b:a 192k -to 665.600000 -disposition:a:0 default -disposition:s:0 default 2.主人笑的话我也开心.mkv
2025 年 3 月 20 日
回复了 Sajo 创建的主题 汽车 24 岁,不是学生,预算 30 买车决赛圈
抢首发 yu7, 这车搞不好你开两年可以原价打 9 折卖出去
2025 年 3 月 20 日
回复了 t298 创建的主题 汽车 老哥们, 10 万,一毛不带多花的油车买什么?父亲开。
带着你爹去试车呀, 很多油车老顽固都是试了新能源之后立马真香的

多试试总归吃不了亏
2025 年 3 月 19 日
回复了 mowenchuxin 创建的主题 程序员 chromeos 和 Manjaro 系统 ,那个会让老电脑重获新生?
arch+i3wm?
我在用 manjaro+kde, 感觉挺重的, 4G 内存感觉吃紧

要不你把交换文件设置到 8G 以上试试
2025 年 3 月 17 日
回复了 fire2y 创建的主题 汽车 我的情况需要买车么
别换, 经济好时国人爱面子, 经济不好时国人爱里子

此时此刻别因为面子原因乱花钱
Promise 借鉴了 Monad 的一些设计思想, 用 CPS 变换优化实现链式组合异步操作(解决异步的回调地狱)
async await 是类似于 Monad Comprehensions 的语法糖实现, 不过运行机制不一样, async await 依赖 javascript 运行时模型


原有的异步调用代码
asyncOp1((result1) => {
asyncOp2(result1, (result2) => {
asyncOp3(result2, (result3) => { /* ... */ });
});
});

Promise 优化之后的代码
asyncOp1()
.then((result1) => asyncOp2(result1))
.then((result2) => asyncOp3(result2))
.then((result3) => { /* ... */ });

使用 Monad Comprehensions 语法糖将中间变量从回调中取出来
result1 = await asyncOp1()
result2 = await asyncOp2(result1)
result3 = await asyncOp3(result2)


题外话, promise 不是标准的 monad, 但是有很多 monad 的特性, 比如统一的异常处理 (async await 之后就可以异步 try catch 了), 不然的话你想想每个回调都传一个 reject 参数来处理异常 (人肉 if err != nil 是吧)

所以说那些 go boy 用 if err != nil 来嘲笑 try catch 就挺逆天的, 学术界用几十年的时间来消除 errcode, 然后这玩意儿在 go boy 嘴里成最优雅的语言了😅

题外话 2, 其他语言的 Monad Comprehensions 语法糖举例
haskell
compute :: Maybe Int
compute = do
x <- Just 3
y <- Just 5
return (x + y) -- 结果为 Just 8

csharp
var query = from x in new[] { 1, 2 }
from y in new[] { 3, 4 }
select x + y; // 结果为 { 4, 5, 5, 6 }

fsharp
let asyncExample = async {
let! x = async { return 3 }
let! y = async { return 5 }
return x + y
}

scala
val compute: Option[Int] = for {
x <- Some(3)
y <- Some(5)
} yield x + y

swift
func compute() async -> Int {
let x = await fetchData()
let y = await processData(x)
return y
}

kotlin
suspend fun compute(): Int {
val x = async { fetchData() }
val y = async { processData(x.await()) }
return y.await()
}

java
没有😅

go
没有😅

rust
没有语法糖, 有个?(操作符)可以模拟类似功能(result option)

基本上后来兴起的工程向的语言都给异步相关的 api 实现了 monad comprehension, 一部分语言(fsharp kotlin 啥的)可以自定义语法

题外话 3
貌似一些 lisp people 极度反感 monad (和 go boy 殊途同归了属于是), clojure 社区里贴大字报明确反对标准库里添加 monad 实现, 吵了好几十条😅
1  2  3  4  5  6  7  8  9  10 ... 24  
关于   ·   帮助文档   ·   自助推广系统   ·   博客   ·   API   ·   FAQ   ·   Solana   ·   3038 人在线   最高记录 6679   ·     Select Language
创意工作者们的社区
World is powered by solitude
VERSION: 3.9.8.5 · 43ms · UTC 14:08 · PVG 22:08 · LAX 06:08 · JFK 09:08
♥ Do have faith in what you're doing.