$V2EX
Solana
Give SOL to Copy Address
使用 SOL 向 lesismal 打赏,数额会 100% 进入 lesismal 的钱包。
lesismal's repos on GitHub
Go · 2755 watchers
nbio
Pure Go 1000k+ connections solution, support tls/http1.x/websocket and basically compatible with net/http, with high-performance and low memory cost, non-blocking, event-driven, easy-to-use.
Go · 1091 watchers
arpc
More effective network communication, two-way calling, notify and broadcast supported.
Go · 152 watchers
go-websocket-benchmark
Go · 57 watchers
nbio-examples
Go · 46 watchers
sqlw
The best go rawsql lib.
Go · 13 watchers
llib
JavaScript · 12 watchers
pmjs
Help To Build Single-Page App And Make Native Fastest!
Go · 7 watchers
go-net-benchmark
Go · 6 watchers
pipe
Go · 5 watchers
cbuffer
Go · 4 watchers
arpcex
Go · 3 watchers
go-http-server-benchmark
Go · 2 watchers
noleak
Go · 2 watchers
taskpool
Go · 1 watchers
batchflight
1 watchers
conc
Better structured concurrency for go
1 watchers
Developer-Books
编程开发相关书籍整理分享,持续更新...
Go · 1 watchers
fib
1 watchers
gg
一个支持节点与订阅链接的 Linux 命令行代理工具 | A command-line tool for one-click proxy in your research and development without installing v2ray or anything else (only for linux)
Go · 1 watchers
perf
Go · 1 watchers
serial
Go · 1 watchers
sqlw_examples
Go · 1 watchers
websocket
Package gorilla/websocket is a fast, well-tested and widely used WebSocket implementation for Go.
Go · 0 watchers
awesome-go
A curated list of awesome Go frameworks, libraries and software
0 watchers
cli
GitHub’s official command line tool
0 watchers
Diamond-Sutra
Github最早公开上传的《金刚经》/Diamond Sutra/LE SUTRA DU DIAMANT
0 watchers
emoji-cheat-sheet
A markdown version emoji cheat sheet
0 watchers
engineering-blogs
A curated list of engineering blogs
0 watchers
epoll
0 watchers
FramePack
Lets make video diffusion practical!
Go · 0 watchers
gevent-benchmark
Go · 0 watchers
gin
Gin is a HTTP web framework written in Go (Golang). It features a Martini-like API with much better performance -- up to 40 times faster. If you need smashing performance, get yourself some Gin.
Go · 0 watchers
go
The Go programming language
Go · 0 watchers
go-http1-benchmark
Go · 0 watchers
go-http2-benchmark
Rust · 0 watchers
go-http3-benchmark
Go · 0 watchers
gopkg
Universal Utilities for Go
0 watchers
guide
The Uber Go Style Guide.
Go · 0 watchers
gws
High-Performance Go WebSocket Server & Client
0 watchers
http-parser
http request/response parser for c
0 watchers
HttpArena
The most complete HTTP open source benchmarking platform. Don't just say you're fast, prove it.
Go · 0 watchers
kcp-go
A Crypto-Secure Reliable-UDP Library for golang with FEC
Go · 0 watchers
kitex-benchmark
0 watchers
lesismal
HTML · 0 watchers
lesismal.github.io
Go · 0 watchers
melody
:notes: Minimalist websocket framework for Go
Go · 0 watchers
mempooldebug
0 watchers
NestingDoll
Go · 0 watchers
rpcx-benchmark
test popular rpc benchmarks at same throughputs with share clients
Go · 0 watchers
smux
A Stream Multiplexing Library for golang with least memory usage(TDMA)
0 watchers
webgpsdemo
Demo WebGPS
0 watchers
wireguard-go
Mirror only. Official repository is at https://git.zx2c4.com/wireguard-go
0 watchers
ws-examples
Examples of using github.com/gobwas/ws
lesismal

lesismal

V2EX member #497905, joined on 2020-07-06 13:49:58 +08:00
Today's activity rank 9830
lesismal's recent replies
@zanjie1999 #196

可以考虑用 AI 重写一份了,没必要用 ssh、scp 这些。tunnel+分段、断点传输,两边再加上传输文件的管理功能、前端操作页面,需求能描述清楚,AI 很快就写出来,然后部署、测试稍微折腾下,估计半天一天大概就能搞定。
我这一周多让 claude 从头搞了一份网络库,支持 TCP/UDP/TLS/HTTP1.0/HTTP2.0/HTTP3.0/Websocket,让 claude 优化了很多,综合性能测试基本大于等于其他 go 的库,甚至和 c++、rust 库在不同协议上有来有回。
https://github.com/lesismal/fib

HTTP1.0/2.0/3.0/Websocket 在 github action 跑的 Benchmark:
https://github.com/lesismal/go-http1-benchmark/actions/runs/35991385639/job/107606051154
https://github.com/lesismal/go-http2-benchmark/actions/runs/35991371828/job/107606003742
https://github.com/lesismal/go-http3-benchmark/actions/runs/35991364871/job/107605978280
https://github.com/lesismal/go-websocket-benchmark/actions/runs/35973727175/job/107549159862

AI 效果很好,实现了 eventloop 后,一句话实现 HTTP1.0,一句话实现 HTTP2.0,一句话实现 HTTP3.0,一句话实现 Websocket。。。。
然后加各种 CI 的工程化、协议完整性测试、性能测试。
然后根据性能测试报告和 pprof 让 claude 优化,有的优化比较大,claude 一次要跑一个多小时,但是效果非常好,强得离谱。比如 HTTP1.0,优化前比标准库和基于标准库的方案强一点,但是跟 fasthttp 差距较大,优化后普通 Echo 测试跟 fast 差不多、测试期间系统稳定性影响各有输赢,因为背压机制优化的比较好、pipeline 测试直接吊打其他 go 库甚至 cpp/rust 的库,吞吐直接拉开距离。
AI,真的强得离谱,早点脱离手搓吧,让自己需求描述的能力交给 AI 来起飞。
@zanjie1999 我觉得,其实核心用处是 ws 的协议属性带来的稳定性。断线重连可能并不是 tunnel 这个场景的真正痛点,可能得不偿失甚至遇到边缘情况是负优化。
@lesismal #137 github.com/lesismal/pipe 也支持加密,cmd/server 、cmd/client 本身就支持密钥参数
之前没仔细看,刚又看了下,原来是这个作用。

其实我自己有写个玩,隧道和用户是不限制协议的:
https://github.com/lesismal/pipe

拓扑就是 user -> pipe client (相当于 tunnel client )-> pipe server (相当于 tunnel server ) -> app server 。

默认带了 cmd/server 和 cmd/client 就是隧道走 websocket ,两端 TCP 。想定制协议的,import 这个包自己配置就可以了。

另外,建议 tunnel 中间去掉自动断线重连。
因为 web 类应用和长连接类应用(例如游戏、IM 、推送服务)不一样。
长连接服务如果断开了,就把两端的 user 、app server 端开就好了,因为应用的 client 端本身就应该处理断线重连逻辑、或者显示断开让用户手动重连之类的。去掉 tunnel 自己的断线重连,就不用担心他反馈的那个类似 ddos 的问题了。
tunnel 做短连接相关的隧道倒是可以考虑断线重连,但并不是必须的,比如浏览器自己就可以自动刷新或者由用户手动刷新重试。
当然,可以考虑做成配置项,让用户自己评估、根据他自己的业务类型是否真的需要配置是否自动断线重连。
9 days ago
Replied to a topic by HHJY › 生活 › 老婆太颓废了
> 怀孕期间,我多次和她沟通让学习,但是她每次都和我吵架,一直往后拖。到现在宝宝已经出生两个多月了,依然不学习,每次说到找工作

> 1. 我想让她上班的原因不是为了挣钱。现在我一个人的工资足够养活家人。是因为我俩都认为在家时间久了会和社会脱节。但是她这个人惰性比较重,需要催促才可以去做事(她自己清楚自己的缺点)。


Append 的解释好像 OP 初衷挺好的,但是主贴里说的可是怀孕到宝宝两个多月期间一直催人奋斗。

奉劝 OP ,做个人吧。
@xfgong

你贴没贴项目链接、star 重要不重要,是你的事。

我不需要你解释,我也没要求你解释。

对自己项目自以为是的语气,对别人回复不回复也要命令式的语气。

我就是看行文语气让人别扭不舒服,所以回复。
回复不回复是别人的自由,你也管不着——但是我不会要求你不要管别人回复不回复,因为这样表达也是你的自由。
如果我不再回复,也不是因为你要求不回复,而是不想浪费时间在你这,仅此而已。
行文语气,CubePlex 好像是个什么很牛很好很强的知名项目,但是我都没听过,好东西多、听都没听过属于正常属于我自己孤陋寡闻,所以花时间去看了下,结果,star 不多、非知名项目,我可是凭着支持的心态花了时间去看你的。推广也请在意一下用户感受可以吗?

都不开局自我介绍下,上来就煞有介事地 xxx 怎么怎么了。

想问一句:你谁啊?
About   ·   Help   ·   Advertise   ·   Blog   ·   API   ·   FAQ   ·   Privacy   ·   Solana   ·   1019 Online   Highest 6679   ·     Select Language
创意工作者们的社区
World is powered by solitude
VERSION: 3.9.8.5 · 149ms · UTC 18:14 · PVG 02:14 · LAX 11:14 · JFK 14:14
♥ Do have faith in what you're doing.