hayden.pan

Results 12 comments of hayden.pan

I meet this error (WoeUSB v5.2.4) when I use in Ubuntu 18.04.6 LTS with the wimlib version 1.12.0-1build1. And then I change to Ubuntu 22.04 in docker container (the wimlib...

是的,原题解释是有问题的,但是在这个项目里的另一个地方有同样的一道题,解释却是对的了。大概意思也是vscode智能提示里的错误,就是map索引读出是不可以获取到地址的。[这里第一个回答解释了](https://stackoverflow.com/questions/32751537/why-do-i-get-a-cannot-assign-error-when-setting-value-to-a-struct-as-a-value-i)。这应该是golang故意设计的,因为如果暴露了值的地址,那么用户可以取这个值的地址进行传播,但是当map进行扩容的时候,值的存储地址就会被移动,那么原来的地址会失效。 但是有一点我却不是很理解,同样是在扩容的时候值的地址会变化的slice数据结构,为什么索引取值的时候却可以取地址?而不是和map一样的设计呢?当然如此这样设计,在编写代码的时候就显得很麻烦了

> 这个和Java等语言出现volatile关键字没有什么联系,volatile关键字是和golang的atomic包功能一样,可以让在没有使用同步锁的时候也能并发给变量赋值和读取。但是题目里已经使用了同步锁,所以不会有问题,这个仓库没有更新,可以看下题目的原出处,在评论区作者已经讨论很清楚了[原文](https://colobu.com/2019/04/28/go-concurrency-quizzes/)

> > 大部分语言都存在多核CPU缓存不同步问题,包括Java的`volatile`和C#的`volatile`关键字 都是做多线程在多核CPU强制同步的。 如果没有用这个关键字,在多线程环境下,一个正在执行的线程中的变量被其他变量修改是无法同步的。 > > 我还是没太理解,这个问题感觉应该是能实现f()只执行一次才对,只不过实现很差,因为后续 > > ```go > if o.done == 0 { > o.done = 1 > ``` > > 这个操作是被锁保护的,也就是说,其他线程会等在锁外面,并且正确的被 o.done == 0 拦截掉...

https://github.com/microsoft/vscode/pull/134146 Maybe this issue will fix this problem, and it's WIP. The git-wrapper solution is temporary.

@zcsizmadia OK, thanks for your tips. Cygwin git works with IntelliJ Idea well, I am not sure Idea have use the "git rev-parse ..." or not. But I am worry...

提升握手延时(理论上是累加shadow-tls服务端到伪装域名站点之间的握手延时)是一定会出现的,这是设计如此。但是可以通过上层协议的改进来减少握手延时的影响,比如提前完成握手建立连接,在用户使用的时候直接有现成的连接,还可以再加上多路复用等。非常感谢 @ihciah 的这个协议,让未来变得更有趣和希望了!

> The issue of this duplicated entries, seems to be related to these two facts: > > 1. The temporary hosts file created at `/tmp/hosts/` and used by `iptmon `to...

> > Yes, DST.ADDR and DST.PORT matter. > > But if the client is in a lan, it does not have a public ip. When it wants to negotiate with...