伸手党真是烦
source link: https://www.v2ex.com/t/833524
Go to the source link to view the article. You can view the picture content, updated content and better typesetting reading experience. If the link is broken, please click the button below to view the snapshot at that time.
https://github.com/lesismal/nbio/issues/152
连个 star 都不给,文档、例子也不认真去看就来无脑问各种基础问题,即使这样也都很认真回答他了,甚至一步到位把优化的代码写给他了,然后还是会继续问弱智问题,稍微提醒几句,既不承认又不改、再多说几句就恶语相向
伸手党见得多了,所以已经有了一定免疫力,但伸手党还理直气壮的毕竟少数,还是觉得被恶心了
看了下这个人的 profile ,应该是给别的不少仓库提过 issue ,估计有使用、至少是学习吧,包括 ClickHouse ,但是一共就给过别人 4 个 star (不包括 ClickHouse ),其他的没再多看
这么心安理得理所当然的人,真不知道是什么心态,可能他前世拯救过世界修了太多福分所以大家都欠他的吧
今天真是个 2B 日子,平常心,不能让它影响明天情人节的心绪
lesismal 2 天前 1
之前还在一个 slack go 频道看到有个人提问某个 websocket 库的一个用法,说肯付费$50 ,倒不是为了钱,因为没用过那个 websocket 库所以好奇看了眼随便就回答他了,也没跟他要钱,然后提问的那个人直接把他发的内容删掉了...
当时就感触,歪果仁也有不少逗逼啊
qaweqa 2 天前 1
Acoffice 2 天前 6
thunderw 2 天前 1
“爷忙得很,哪有空搭理你” Go f**k yourself.
skiy 2 天前 1
hfpp2012 2 天前 1
IvanLi127 2 天前 via Android 2
PerFectTime 2 天前 6
有被笑到
liprais 2 天前 1
tyrantlucifer 2 天前 1
lesismal 2 天前
lesismal 2 天前
lesismal 2 天前
我也是被这句噎笑了,就差我跪着把代码提交到它项目了 囧
lesismal 2 天前
mdgwmt0 2 天前 3
wzxlovesy 2 天前 via Android 3
skiy 2 天前 2
adoal 2 天前 via iPhone 1
kawei 2 天前 1
Herong 2 天前 via iPhone 1
完了,他就说十分感谢您,希望能送一个游戏,价值多少的都可以,您可以看我的游戏库,我不缺钱。我说不需要,平时都玩主机。
然后又要我开放愿望单,说在里面给您挑一个,我仍然说不需要。
于是他就问我电脑的配置,我随便说了个显卡,然后这个人就说,很抱歉本来想送 2048 给您的,但是您的显卡显然不满足要求。
当时我就气笑了,2048 刚发售热度很大,但我并不感兴趣也没有要你来送,一开始您您的以为礼貌原来阴阳怪气。
再上 steam 一个月后了,指南有新消息提醒就进去看下,发现这个人改了昵称删了好友,能看到改昵称了是因为指南下有他的历史评论。
lesismal 2 天前 2
eranyanay/1m-go-websockets 这个库,去年有人在我 arpc 的仓库里提到过,建议我参考它一下,所以我去简单扫了几眼他的源码,目测是有问题的并且写了个 demo 很容易就复现了,在这里和后面的部分: https://github.com/lesismal/arpc/issues/2#issuecomment-746694287
他们只依赖 easygo 实现了事件触发读,却没有实现异步流解析、半包处理、并且对于单个 conn 仍然是阻塞读完整包,所以当一个 conn 收到 half-packet 的时候,这个 conn 的 Read 就阻塞了,而这个 conn 阻塞,它所在的 goroutine (可能是 poller 协程或者数量有限的协程池)就阻塞了,进而让其他 conn 等待。我之前在这个仓库里提了这个 issue 但是才发现作者竟然把 issue 给禁了?所以看不到了。我也到他们最终使用的 gobwas/ws 里提了 issue 和复现代码,并且有其他人也给他提过 issue 因为遇到过我说的问题,gobwas/ws 的作者更逗,不想解决问题,反而直接 close issue 囧。
eranyanay/1m-go-websockets 、gobwas/ws 这些,都不应该被部署到生产环境,否则慢连接攻击下,甚至不需要攻击,公网有时候就是不够稳定的,他们服务就延迟感人了。所以其实这些库也解决不了那孩子的问题,其他一些异步网络库 evio gev gnet 都还没有支持 tls 、http ,只有 gev 支持了简单的 websocket 但也不支持 tls http 。
go 框架里能搞定 1000k 的,暂时全网就我这一份了。。。:joy:
lesismal 2 天前
IGJacklove 2 天前 via iPhone 1
abbottcn 2 天前 via iPhone 15
之前有一个清华研究生找我,期望我协助他调试计算工作站。理由是,他没搞定,看到我的视频,晓得我会。
我说可以帮忙。但是在搞定之后,请写一份简单的帖文,记录一下如何搞定这种计算场景的服务器配置,以便其他同行参考。
我耗费了四十分钟,帮清华的博士研究生搞定了机器调试。未收到一句谢谢。后来提醒对方,写个记录,供大家参考,然后被拉黑了。
其实,没啥技术含量,看英文 manual 搞一通就行的。
简单的英文手册都看不懂,也没心思看。
捣鼓一周没搞定。
经他人协助搞定,也不曾道谢,也无任何分享精神。道德品行恶劣,估计博士要延期是大概率事件。
所谓高学历人才都是如此,其他情形,垃圾就更多了。
以上仅仅基于我自己的个人经历。不代表其他情形。
ohmyself 2 天前 via iPhone 1
tywtyw2002 2 天前 via iPhone 1
一般来说,如果不骚扰你的话没必要去 block 。
再说了开源精神,并不是提倡给用的人当老师,什么问题都去解答。MIT license 本来就是 ABSOLUTELY NO WARRANTY ,没有任何去跟他人说明的义务。
ericwoflskin 2 天前 3
所以好人尽量帮,人渣就不给他们渣的机会。
paulw54jrn 2 天前 1
proxytoworld 2 天前 1
lesismal 2 天前
@ericwoflskin
恩恩,以后遇到不合理的问题就不回了,既浪费感情又浪费自己时间。
以前看到一些关注度高的项目作者不回复或者很久回复,因为作者们确实事情多、issue 也多,忙不过来。
但是自己项目关注度不高,闲余时间就尽量回复了,而且多回复一些,以后有其他人遇到类似问题直接搜出来就不用重复回复了。只是没想到这次遇到的这位会这样子 :joy:
@paulw54jrn 感谢支持!
cocong 2 天前 5
lesismal 2 天前
分两个大阶段
第一阶段是只支持 poller ,实际上不复杂,具体花费的时间不记得了,核心部分主要是 io 、其实只要几天,剩下的就是换不同的姿势折腾和测试,比如 timer 是用时间轮还是最小堆,内存简单优化、接口易用性扩展性之类的偶尔完善下,实际花费的时间不算太多
第二阶段是对 tls/http1.x/websocket 的异步支持,也支持 client-side ,支持同一个 engine 里跑 client/server/tls/non-tls 。这个去年也消耗了几轮,实现 http1.x/websocket 的异步流解析器,tls 太复杂、图省事直接魔改标准库实现了异步解析器支持。另外花费的最大头时间是内存池优化,把 4-7 层,从 tcp 到 tls 到 http/websocket 各层的内存池打通。因为全是异步(可能 half-packet ),涉及很多 half-packet buffer cache ,打通这几层细节比较多,测试也麻烦,花费的时间比较多。也没有用其他那些基于同步方案的 2^N size 内存池,因为同步方案,每个 conn 一个协程处理读,循环读,buffer size 可控并且容易复用,不涉及复杂的异步 half-packet cache 逻辑,所需的 buffer size 也容易设定,2^N 逻辑也比较容易,而异步方案里,不确定性很多,比如对象、buffer 的跨协程生命周期管理,half-packet 相关的涉及很多 mem move/copy ,用 2^N size 实测反倒比标准库方案内存占用更多、十分拉垮。所以这些细节花费的时间较多,到主体成型,加起来花了估计有三个月以上吧,加上各种 example 之类,应该是有三个月以上了,没细算过
Puteulanus 2 天前 1
有时候想写点分享之类的,一想到要被迫跟这种人打交道,直接就打消念头了
jessun1990 2 天前 2
如果对方停止了,那算事情搞定。
如果对方不依不饶,那么直接不予理会。
Ackvincent 2 天前 2
YaakovZiv 2 天前 1
"这次这个我看他 star 的仓库里有个是中文的,估计是国人吧
之前还在一个 slack go 频道看到有个人提问某个 websocket 库的一个用法,说肯付费$50 ,倒不是为了钱,因为没用过那个 websocket 库所以好奇看了眼随便就回答他了,也没跟他要钱,然后提问的那个人直接把他发的内容删掉了...
当时就感触,歪果仁也有不少逗逼啊"
大概是 2015 年,openstack 相关问题,网上不少论坛有发,我因白嫖学校实验室和机房,可以摸索不少问题,并且不断复现记录问题细节,结果网上有人问了问题,拿到解决办法,直接删帖,当时我就心里裂开了,我分享出去是为了更多人看到,没想到有人那样做。再往后,我就长心眼了,别人问问题,我先截图存档,长图也存档,然后带着问题单独在其他地方也发一遍,避免被这种删问题的人坑了。
lesismal 2 天前
pi1ot 2 天前 2
surfmanjoe 2 天前 2
buffzty 2 天前 4
延迟回复->延迟回复废话->close
vanton 2 天前 1
20015jjw 2 天前 1
但是也有很多看起来是高级机翻的东西
我不太好判断是个哪里人
但是肯定是垃圾人
wikiwiki6 2 天前 1
jellyspot 2 天前 1
helloworld000 2 天前 1
bclerdx 2 天前 1
wynemo 2 天前 1
leloext 2 天前 1
bequt 2 天前 1
jadec0der 2 天前 1
JaguarJack 1 天前 via iPhone 1
shakoon 1 天前 1
qq1340691923 1 天前 1
anan1314git 1 天前 1
NeezerGu 1 天前 1
因为没脾气的要么被磨得有脾气了,要么被磨得厌世了
yaron 1 天前 1
CallMeReznov 1 天前 1
卧槽,有内味了.冲鼻!
halk 1 天前 1
2. 回复"RTFM"
3. close issue
efaun 1 天前 1
brucedone 1 天前 1
Nich0la5 1 天前 1
twing37 1 天前 1
twing37 1 天前 1
goodspb 1 天前 1
libotony 1 天前 1
ChrisFreeMan 1 天前 1
lesismal 1 天前 1
#71 文档确实难写,异步库并发、时序相关的细节太多了,但是提供给应用层的接口仍然是同步方案,异步不容易描述清楚、写多了反倒会让写同步逻辑的同学迷惑,所以是写了很多 examples 为主,囧
#72 对,最开始发关于 nbio 的帖子的时候,记得有个 'byte0' 大神给我一顿教学,哈哈哈,我一顿回复后都没鸟我。后来在其他帖子里见到他有点黑 go ,at 他他也不鸟我,估计把我 block 了吧 囧
cdxjcl123 1 天前 1
janxin 1 天前 1
iyaozhen 1 天前 1
我之前做过公司某个开放平台的技术支持(没有义务,只能说热心答疑吧),好多问题简直了,不管文档写的多简单,甚至给出了开箱即用的 demo 。遇到过最无语的是,某段 demo 因为历史原因是 jsp 写的(可以直接放 tomcat 下运行),被人说是他是写 java 的,你给个 jsp 的我怎么办
zooeymango 1 天前 1
lookStupiToForce 1 天前 1
从此再也不会好心贴冷屁股,要找我帮忙不给好脸色甭谈。
所以面对傻*,你得把你的高冷人设立起来
fenglangjuxu 1 天前 1
原来是上次在 v 站 看到过的 上次已经 star
我 star 多半是因为觉得 技术好 准备啥时候学习下
当然我用到的话 多半也会 star
chengkai1853 1 天前 1
lesismal 1 天前
@janxin "race issues"应该是指 golang race condition, 一些变量未加锁并发访问时,开启这个选项会有 race 相关的 warning ,就是并发访问竞争、一致性这种问题。std 方案那种无状态的服务通常很少涉及这种。一些场景能够满足并发访问安全,则也是没必要加锁的,nbio 里的应该都是 ok 的。race 只是帮助检查代码可能存在的问题,确认没有问题就好了
@iyaozhen 干净的代码,demo 比文档看着更直观。项目历史包袱确实烦躁,即使你给他 java 他也可能有另一种吐槽 囧
@zooeymango 你这种就是社区之光了,哈哈哈,都这样子的话,估计 linus 也就不会火爆脾气了
@lookStupiToForce 对对对,巨婴!太可怕了。老外确实是大神多,但是更多人也是不钻研很深,都是专注自己业务领域、经验多了升职加薪就行,因为人家没有 35 淘汰、可以干到退休,人家的社保也时真能保障未来,所以都是命吧。。。
@fenglangjuxu 感谢兄弟支持!
@chengkai1853 过奖了,我是 issue 少所以这么耐心,中文的 issue 还好,英文的我这回复一条也花好一阵功夫,要是真多了,估计也扛不住。。。
@XiLingHost 项目情况不一样,issue 数量不多,也还好,要是哪天有机会多起来了,模板 lable 各种也都搞起来,看不过来就也不能那么认真回复了。。
Jekins 21 小时 43 分钟前 1
liaohongxing 21 小时 43 分钟前 1
lesismal 20 小时 46 分钟前
与其他标准库为基础的框架结合,是替换了标准库 net.Conn 这些,因为 nbio 是异步的了,不能再像标准库那样子一个连接一个协程了,要用 nbio/nbhtt/websocket ,代码在这里:
github.com/lesismal/nbio-examples/blob/master/http_with_other_frameworks/echo_server/echo_server.go
gin 的也在这个仓库里,其他标准库为基础的,也能类似方式
liaohongxing 19 小时 44 分钟前
encounter2017 19 小时 25 分钟前
lesismal 18 小时 30 分钟前
fasthttp 好像还没支持 trailer ,nbio/nbhttp 也是支持了的
websokcet 通过了全面的测试项 Autobahn Test Suite ,readme 里有链接可以参考下,这得感谢外国友人 acgreek 来提需求和 pr 。而且因为支持并发写,本身也是非阻塞写,所以不需要像 gorilla 那样在遇到广播场景时直接写就行,不需要像 melody 那样在 gorilla 基础上额外封装 chan 的 send 队列(基于标准库的 conn 是阻塞写,广播场景如果某个连接窗口拥塞、写阻塞了,广播循环时其他 conn 就都得等着了,也是线头阻塞的一种)。
BTW ,melody 的接口设计很赞,个人很喜欢。前阵子发现它有个可能宕机的 bug ,去提了 pr:
github.com/olahol/melody/pull/67
但是 melody 作者似乎不维护了,issue 列表里有其他人提问,不知道作者是不是遇到了什么困难放弃了,各位使用 melody 时注意下,可以修复下然后使用自己的 branch 保平安。衷心希望 God Bless Him!
http2.0 太差了,不打算支持了,如果哪天有体力,可能会考虑开另一个库去改造下 quic/3.0 ,因为虽然是 udp ,但目前 go 版本的 quic 实现还都是提供了同步 conn 方案、仍然是一个 session 至少一个 goroutine 的方式,并发量大应该还是 cover 不住 1000k 。去年就有想过,但是也是够复杂,而且去年撸 tls http websocket 那几个月有点伤元气了,需要缓缓。。
Herong 16 小时 9 分钟前 via iPhone
neoblackcap 5 小时 59 分钟前
不过一般没啥特殊要求,我一般都是使用标准库中的 net/http ,毕竟没有外部依赖。仅供参考
neoblackcap 5 小时 52 分钟前
代码是自由的,但是人工服务本来就没有提,所以适当收费也是好的。
Recommend
About Joyk
Aggregate valuable and interesting links.
Joyk means Joy of geeK