V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
V2EX  ›  lesismal  ›  全部回复第 12 页 / 共 63 页
回复总数  1246
1 ... 8  9  10  11  12  13  14  15  16  17 ... 63  
首先, OP 开 H 玩笑; 然后对方说"告诉家长", 按我的理解, 这应该更是开玩笑吧? OP 拉黑别人别人不停 Call 也是因为喜欢你吧? 如果本身并没有限制 OP 不允许这不允许那, 也不能像一些楼层说的那样叫控制欲强吧? "还没娶就开始耍脾气"这也是半带着玩笑哄你, 半带着玩笑嫌你脾气差

OP 确认他是认真要告诉家长吗? 如果不确认, 那是不是有点过于敏感/脆皮了...

相亲打情骂俏开玩笑很正常的, 这不行那不行的话, 那建议单身, 不要自己脆皮然后出来伤害别人感情了...
> 最近想开了,打算找个活干,不读书了

这属于是误判, 其实是想不开.
OP 回头吧, 优先出国, 其次国内 top2 研究生继续, 否则单从技术职业规划的角度讲, 都是给未来减分.
我在网吧忘了下机, 被后面坐我那的程序员盗了密码
我工位忘了锁屏, 被坐在旁边的同事拿到了密码
我使用了代理软件, 我电脑到代理之间不是 tls
......
Welcome!
对不起,#1 是我草率了,没了解过 zeromq 、以为是消息队列发布订阅的方式实现的 rpc ,如果只是用 zeromq 做网络库、那 ok ,我向 OP 道歉!

简单扫了下 gaterpc 代码,其他一点看法不知道是否准确,python 我不熟,如果不对请指正:
1. 一些地方用了 await asyncio.sleep(1),例如 connect 相关的,connect 之后 await asyncio.sleep(1),这个感觉应该根据实际的连接成功为好,固定等待这么久可能性能上不够友好了
2. 看到注释里有这么一段:
“客户端,TODO: 对于没有收到回复的请求记录并保存下来,可以设置重试次数来重新请求。”
不建议框架层自己做重试,因为 timeout 并不代表对方一定没收到,有可能对方收到了请求并进行了处理但连接异常、
回包没收到,因为框架层不知道应用层业务特点、无法保证幂等之类的,由用户在应用层自行处理重试可能会更好
@body007 这不是啥复杂问题,只是个简单的用法错误,没必要用“方案”这么重的词来形容。。
BTW ,OP 自己的 python 代码里用的就是同一个 deobj = zlib.decompressobj(),go 里用了不同的 zlib reader 读取两个片段、第二个片段没有 header 、当然就出错了
上接: https://www.v2ex.com/t/1024087#reply11


package main

import (
"bytes"
"compress/zlib"
"fmt"
"os"
)

func main() {
bin1, _ := os.Open("1.bin")
defer bin1.Close()
bin2, _ := os.Open("2.bin")
defer bin2.Close()

input := new(bytes.Buffer)
input.ReadFrom(bin1)
zr, err := zlib.NewReader(input)
if err != nil {
fmt.Printf("zlib error: %v\n", err)
return
}

defer zr.Close()

buf := make([]byte, 1024)
n1, err := zr.Read(buf)
fmt.Println("read 1 over:", n1, err)
fmt.Println("buf 1:", string(buf[:n1]))
input.ReadFrom(bin2)
n2, err := zr.Read(buf[n1:])
fmt.Println("read 2 over:", n2, err)
fmt.Println("buf 2:", string(buf[n1:n1+n2]))
}


output:

read 1 over: 124 <nil>
buf 1: {"t":null,"s":null,"op":10,"d":{"heartbeat_interval":41250,"_trace":["[\"gateway-prd-us-east1-c-0bwh\",{\"micros\":0.0}]"]}}
read 2 over: 36 <nil>
buf 2: {"t":null,"s":null,"op":11,"d":null}
@rekulas
#4 看了下,你自己的代码里的错误主要是因为用不同的 zlib.NewReader 去读两个片段、因为只有第一个片段包含头部信息、而每个 zlib Reader 必须先读一个 header 才行,所以当你第二个新的 zlib.NewReader 去读不包含 header 的第二个片段的时候就出错了

只 zlib.NewReader 一次,用这个 reader 去读每次收到的数据片段就可以了。把 bv 的代码稍微改下顺序就 ok 了,具体代码稍等我贴到你原帖去
281 天前
回复了 GunsRose 创建的主题 问与答 邻居早上扰民怎么办?
@lesismal
#70 刚开始没注意 OP 说声音太大,以为钢琴应该没太大声音、毕竟不是自己屋里。
如果声音特别大,说明楼的隔音也不行、可能质量本身就不够硬,还是建议搬家吧,万一哪天楼质量问题上热搜。。
我委婉点评价吧:用消息队列实现 RPC 真的是我见过的最差的设计之一了。。
282 天前
回复了 GunsRose 创建的主题 问与答 邻居早上扰民怎么办?
这个时段不能算扰民了,OP 参考下小学上课时间、很多行业的早班时间。

程序员职业特殊自己作息跟主流人群不一样,咱们才是非主流人群。
建议搬家或者自己调整作息,不要反过来给主流正常人的作息扣扰民的帽子,也别去解决别人正常作息来让自己舒服,否则就太不讲道理了
283 天前
回复了 junwind 创建的主题 git 大家好, mac 上有哪款 git GUI 工具好用呢?
Windows 虚拟机与主机磁盘映射/共享,Windows 里 TortoisGit+Beyond Compare
283 天前
回复了 anUglyDog 创建的主题 程序员 程序员第二门语言
> 可以看看 七周七语言

@henix 这书蜻蜓点水了多语言、但相当于啥都没讲,我把它归类为水货
寄给 笔记本维修斯 ,运气好还能上视频
深圳+1
286 天前
回复了 sysbug 创建的主题 问与答 和女朋友的聊天记录误删了…
聊天记录多数用于翻旧账的证据,少量用于怀旧恩爱
要是我,建议对方也删掉
如果不考研,并且想坚持 c++,从赚钱、找工作的角度讲,找量化的吧。
除了量化基础待遇和天花板都比较高,其他领域基本没有了。做游戏发财都是靠运气、项目牛逼、你积累到牛逼的技术并且职位级别够高才行,游戏行业技术难度大、相对于 IT 互联网那些基础待遇太低了。其他领域的,c++往深入做的主要是嵌入式、图形学、数据库、算法之类的,也都是需要积累多年才能精深,基础待遇也都不高。例如老罗当年做锤子手机号称年薪百万招技术总监,软硬件嵌入式多年的高水平的人才行,然而年薪百万跟 IT 互联网领域比起来、不过相当于当年阿里的水货专家 P7 的工资水平,实在是不挣钱。

如果不坚持 c++,就 go+rust 吧,学 c++比它俩费劲多了,既然 OP 大二就能能把 c++玩得比较明白了想必天资还是很不错的,应该是高考没发挥好、或者高中没好好学习到了大学才开始发奋图强、否则不应该只是 211 ,如果是这样,随便花点功夫把 go+rust 双休了。

别听楼上那些人乱说什么找不到工作之类的,应届生找不到工作那都是对于弱者而言的,那些不学习打游戏浪费青春的找不到工作很正常。
至少大学、应届毕业前几年,强者靠自己的逻辑钻技术就能够很可以了。
1 ... 8  9  10  11  12  13  14  15  16  17 ... 63  
关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   2886 人在线   最高记录 6679   ·     Select Language
创意工作者们的社区
World is powered by solitude
VERSION: 3.9.8.5 · 34ms · UTC 12:55 · PVG 20:55 · LAX 04:55 · JFK 07:55
Developed with CodeLauncher
♥ Do have faith in what you're doing.