V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
V2EX  ›  lesismal  ›  全部回复第 36 页 / 共 73 页
回复总数  1452
1 ... 32  33  34  35  36  37  38  39  40  41 ... 73  
2023-06-04 16:23:17 +08:00
回复了 RememberCurry 创建的主题 Go 编程语言 用 Go 基于 epoll 实现一个最小化 IO 库
@fds
> 标准库不可能接受这种异步的实现方式。go 标准都是用同步写逻辑的。

标准库底层是非阻塞 io ,net.Conn 给用户提供阻塞接口 Read/Write ,用户需要主动 Read
nbio 底层也是非阻塞 io ,nbio 的 http/websocket nonblocking 模式下给用户提供的是非阻塞接口 Write ,用户不需要主动 Read 。nbio 基本兼容标准库,用户基于 nbio 可以像写标准库 http 一样,少量不兼容比如涉及 io.Copy ,其他的普通功能,只要把 io 替换成 nbio 就可以了、业务代码都不需要改,gin/echo 之类的也都能轻松用 nbio 替换 std http server 。
代码看下就能用了:
https://github.com/lesismal/nbio-examples/blob/master/http/server/server.go
https://github.com/lesismal/nbio-examples/blob/master/http_with_other_frameworks/gin_server/gin_server.go

> op 不要灰心,大部分不需要连上万客户端的场景确实没必要这样优化,但我确实遇到过需要的情况。我当时是先试了 > https://github.com/panjf2000/gnet 后来用的是 https://github.com/xtaci/gaio 但结果跑了一个月遇到了一次死锁,> 运维直接重启了,也没日志,公司当时还有别的事要忙,就没继续改进。

来吧,用 nbio ,还有救:
https://github.com/lesismal/nbio

这里有百万连接 websocket 的:
https://github.com/lesismal/go-websocket-benchmark
2023-06-04 12:31:29 +08:00
回复了 RememberCurry 创建的主题 Go 编程语言 用 Go 基于 epoll 实现一个最小化 IO 库
> 3202 年是不是可以用上 io uring 了(

@codehz 单就网络 io 这块,不同场景下 io uring 、epoll 性能好像是各有优劣,并不是所有情况都一边倒,所以综合网络库 epoll 有历史加持、足够了。特定场景的话倒是可以考虑定向优化
2023-06-04 12:23:18 +08:00
回复了 RememberCurry 创建的主题 Go 编程语言 用 Go 基于 epoll 实现一个最小化 IO 库
> 2023 年还在写回调,无异于开历史倒车

@z3phyr
试试我这个,http 基本兼容标准库,http 和 websocket 来消息时都是可以写同步代码的。
https://github.com/lesismal/nbio
2023-06-04 12:22:44 +08:00
回复了 RememberCurry 创建的主题 Go 编程语言 用 Go 基于 epoll 实现一个最小化 IO 库
支持 OP 一下!
2023-06-01 19:56:38 +08:00
回复了 daBig 创建的主题 Go 编程语言 Golang net write
标准库的 net.Conn 底层是异步 io ,但提供给应用层的读、写都是阻塞接口。
1. 对于读:如果不使用一个协程循环读,它目前也没有提供事件回调机制通知用户数据到来,所以用户不知道什么时候可读,所以就循环等待读、读到了就处理。
2. 对于写:如果涉及广播、或者不允许写阻塞免得业务被卡住,那么也得自己封装异步写的机制

自己写也可以,但既然对读写还有疑问,估计 OP 要摸索很久才能做完善。
想省力的话可以直接用我的:
https://github.com/lesismal/arpc
https://github.com/lesismal/nbio
2023-05-26 15:10:01 +08:00
回复了 yangxii 创建的主题 Apple 为什么 MacBook 这么香?
搜了下 "why macbook smells good",得到如下:

https://www.quora.com/Why-does-Apple-packaging-have-a-distinct-smell

Of course, Apple won’t reveal the original combination of fragrances that goes on to create that smell. However, very recently, a Melbourne based artistic group “Greatest Hits” requested the famous scent marketing company “Air Aroma” to replicate this very fragrance for their art exhibition and to a great extent, they have succeeded. They are calling it "Eau de Mac Unboxing". However, it is not for sale!

For the record, that elusive smell is a combination of ozone, burnt plastic (polystyrene) used for wrapping, the smell of cardboard and quality paper and above all the massive piece of aluminum product. Some believe that the particular style of packaging and the process involved back in China factories are responsible for this odd but nice smell.

I personally find it is deliberately introduced in Apple products to induce the feeling into its consumer’s mind that they have bought a beautiful and essential product “all must and glory”!

翻译:
当然,Apple 不会透露产生这种气味的原始香料组合。然而,最近,墨尔本的一个艺术团体“Greatest Hits”要求著名的香水营销公司“Air Aroma”为他们的艺术展览复制这款香水,并在很大程度上获得了成功。他们称之为“Eau de Mac Unboxing”。但是,它是非卖品! 根据记录,这种难以捉摸的气味混合了臭氧、用于包装的烧焦塑料(聚苯乙烯)、纸板和优质纸张的气味,尤其是大块铝制品的气味。有些人认为,这种奇怪但好闻的气味是由中国工厂的特殊包装风格和工艺造成的。 我个人发现它是故意在 Apple 产品中引入的,目的是让消费者产生一种感觉,即他们购买了一款美丽而必不可少的产品,“all must and glory”!
2023-05-22 12:48:39 +08:00
回复了 edward1987 创建的主题 程序员 请教下 war3 局域网远程联机问题
搭个 BN 大家一起玩?
https://github.com/pvpgn/pvpgn-server
2023-05-17 22:18:47 +08:00
回复了 tairan2006 创建的主题 Go 编程语言 Gorilla Web Toolkit 居然归档了
@tairan2006
gobwas/ws 存在明显缺陷:
https://github.com/gobwas/ws/issues/143
https://github.com/gobwas/ws-examples/issues/18

看作者的意思是不想解决并且 close 了 issue (其实按 gobwas 的思路也确实没办法解决)
2023-05-17 22:14:20 +08:00
回复了 Lighthughjiajin 创建的主题 程序员 关于 Golang 和 Python 设计数据结构思维的区别
2023-05-17 17:56:53 +08:00
回复了 dw2693734d 创建的主题 Go 编程语言 golang 的哪个 websocket 好用?
@pushy gobwas/ws 存在明显缺陷,我有在它的 issue 列表里讨论,有兴趣可以翻看下。作者的意思是不想解决并且 close 了 issue (其实按 gobwas 的思路也确实没办法解决)
2023-05-17 17:53:52 +08:00
回复了 tairan2006 创建的主题 Go 编程语言 Gorilla Web Toolkit 居然归档了
> 但是 gorilla/websocket 貌似没见太多替代品?

@phithon
https://www.v2ex.com/t/919140#reply3
2023-05-16 18:22:58 +08:00
回复了 skoofancy 创建的主题 程序员 HHKB 是不是程序员必备键盘?人手一把?
每当看到这种话题,我都为自己用的是几十块的普通键盘感到羞愧;
每当看到一些 HHKB 同学的垃圾代码,我都替 HHKB 键盘感到耻辱。
2023-05-15 16:04:17 +08:00
回复了 inhzus 创建的主题 程序员 左耳朵耗子于周六晚突发心梗去世
RIP
2023-05-10 20:31:03 +08:00
回复了 piaodazhu 创建的主题 Go 编程语言 Golang 分享一个有趣的任务并发控制器
@hzzhzzdogee 代码 append 了下,代码量更少了,也变强了:
1. 增加了 context
2. 去掉了 rollback 回调,因为类似 sql 那种 defer rollback()就可以了
3. 子任务 err 后就不再向上调用父任务了

虽然想不出实际场景哪里需要这样用,但是蛮有趣的
2023-05-10 20:23:25 +08:00
回复了 yazinnnn 创建的主题 程序员 笔记本上的 cpu 已经可以干过 13700 了....
AMD 又骗我 YES !
再买 AMD 我是狗!
2023-05-06 18:29:19 +08:00
回复了 Saitama 创建的主题 程序员 金蝶 ERM 是一坨大粪还是我是大粪。
这行业里的老大 SAP 还有各种学习认证呢,ERP 这种系统还是很复杂的
2023-05-06 18:24:01 +08:00
回复了 fzzff 创建的主题 程序员 吐槽下, minio 的更新也太频繁了 nnd, 完全不考虑向前兼容吗
快速发展的事物,"向前兼容"会导致"向后不行"。nodejs 这些年才叫一个快
1 ... 32  33  34  35  36  37  38  39  40  41 ... 73  
关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   5343 人在线   最高记录 6679   ·     Select Language
创意工作者们的社区
World is powered by solitude
VERSION: 3.9.8.5 · 33ms · UTC 03:24 · PVG 11:24 · LAX 20:24 · JFK 23:24
Developed with CodeLauncher
♥ Do have faith in what you're doing.