V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
V2EX  ›  lesismal  ›  全部回复第 5 页 / 共 56 页
回复总数  1111
1  2  3  4  5  6  7  8  9  10 ... 56  
82 天前
回复了 740moe 创建的主题 程序员 [开源] 新的 TG 图床源码分享
现在压力给到了 russa 程序员同行这边
你先看看以前那些被偷的, 哪家是因为家里有小爱? 哪家是因为家里没上锁?...
学代码之前数数可从来没从 0 开始过啊...
学代码之时觉得从 0 开始咋这么反人类...
学代码之后觉得从 1 开始咋这么反人类...
@cmdOptionKana
其实不停 call 之前, OP 已经是比较脆皮了, 自己开 H 在先, 别人玩笑一下就不理别人了, 还真是小仙女.

不过看了半天, 我觉得没必要讨论这个了, 因为你看 OP 这个帖子和上个帖子, 基本都是不做任何回复, 加上语句写得逻辑不怎么通顺, 我甚至怀疑是弱 AI 发的文在测试人类.

所以各位还是别在这浪费时间了
首先, 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 了,具体代码稍等我贴到你原帖去
92 天前
回复了 GunsRose 创建的主题 问与答 邻居早上扰民怎么办?
@lesismal
#70 刚开始没注意 OP 说声音太大,以为钢琴应该没太大声音、毕竟不是自己屋里。
如果声音特别大,说明楼的隔音也不行、可能质量本身就不够硬,还是建议搬家吧,万一哪天楼质量问题上热搜。。
我委婉点评价吧:用消息队列实现 RPC 真的是我见过的最差的设计之一了。。
92 天前
回复了 GunsRose 创建的主题 问与答 邻居早上扰民怎么办?
这个时段不能算扰民了,OP 参考下小学上课时间、很多行业的早班时间。

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

@henix 这书蜻蜓点水了多语言、但相当于啥都没讲,我把它归类为水货
1  2  3  4  5  6  7  8  9  10 ... 56  
关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   1281 人在线   最高记录 6679   ·     Select Language
创意工作者们的社区
World is powered by solitude
VERSION: 3.9.8.5 · 38ms · UTC 18:18 · PVG 02:18 · LAX 11:18 · JFK 14:18
Developed with CodeLauncher
♥ Do have faith in what you're doing.