V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
V2EX  ›  geelaw  ›  全部回复第 3 页 / 共 189 页
回复总数  3771
1  2  3  4  5  6  7  8  9  10 ... 189  
那答案是 Edge 的“删除下载文件”用的是 DeleteFileW ,也就是“删除”而不是“移动到回收站”。

>不知道这与我回收站位置改在 D 盘有无关联。
没有,而且回收站是每个盘有自己的回收站。

>现在导致我用浏览器删除文件到不了回收站。
它没想移动到回收站。

>还有不知道是不是幻觉每一次删除 c 盘可用容量好像也跟着减少。
时间上相近不代表因果关系,最简单的解释是程序运行的时候产生了新的临时数据。
或许您可以解密一下是如何用 Edge 浏览器删除文件的,按 Ctrl+O 然后在“打开文件”对话框里按 Delete ,还是下载了文件之后按 Ctrl+J 并点“删除”按钮删除下载的文件?
2025 年 10 月 7 日
回复了 wdssmq 创建的主题 Edge Edge 密码全丢的事也是遇上了
@patrickyoung #9 很有意思的信息,但是里面的内容表明 app-bound encryption 不过就是两层 DPAPI + 调用进程验证,所以 #4 大体还是对的,不过这次所有 EdgeSaved 都要再被 service user key (e.g., machine/SYSTEM key) 加密一次。

App-bound encryption 安全意义可以说没有,同等级进程可以随便注入,而且“打开文件”对话框里有无数个 shell extension 会自动启动。最大的作用大概是减少不理解安全模型的人反复制造无聊“新”闻。
2025 年 10 月 7 日
回复了 YanSeven 创建的主题 Go 编程语言 写屏障,概念混淆?
@geelaw #4 确保内存操作顺序。
2025 年 10 月 7 日
回复了 YanSeven 创建的主题 Go 编程语言 写屏障,概念混淆?
是两个正交的概念,三色标记 GC 里的 read/write barrier 是指读写 GC 管理的引用之前,编译器插入从而导致运行的代码(辅助 GC 算法),memory fence 是多线程程序里确保某些内存操作在多线程下可观测顺序的指令(因为 CPU 会乱序执行,通常只能保证结果在单线程下无区别,加入 memory fence 可以约束多线程下的内存操作顺序)。

并行 GC 肯定是需要一些同步操作的,可以用 lock/mutex ,这样就自带内存操作的同步,如果要写无锁的,也可以考虑用 memory fence 确保内存操作。因此一个 GC 里面可能会同时使用 read/write barrier 和 memory fence 。

最后,memory fence 也可以叫做 memory barrier 。

————

楼主引用的段落第一个分句就有严重的语病:

>内存屏障技术是一种屏障指令
>技术是指令

这句话的正确说法是

>内存屏障是一种指令

>内存屏障技术/技巧是利用特殊指令约束指令乱序执行和多线程下内存操作顺序的方法

然后我随便翻了一下那本书的前几页,真是惨不忍睹:

>发展到今天已经有过去了 10 多年

有、过去了 句式杂糅。

>目前的 Go 语言在国内外的社区都非常热门

第一个“的”不符合汉语使用习惯。

>很多著名的开源框架,例如:Kubernetes 、etcd 和 Prometheus 等都使用 Go 语言开发,近年来热门的微服务架构和云原生技术也为 Go 语言社区带来了非常多的活力。

冒号管辖范围错误。

>也坚定地认为这门语言未来的发展会越来愈好。

越来越、愈来愈 杂糅。

>很多文章都会陷入对不重要的细节,大量的篇幅都是复制的源代码,分析介绍的过程也没有分清主次,不能提供很好的阅读体验。

句式不符合汉语习惯,应该是“陷入对不重要的细节的纠结”。

我不确定这些充斥大量语病的内容是怎么出版出来的,作者、编辑、校对都没有上心?
2025 年 10 月 6 日
回复了 wdssmq 创建的主题 Edge Edge 密码全丢的事也是遇上了
每个新用户都有自己的 DPAPI 密钥,此密钥平时受用户的密码保护;建立新用户(包括新安装操作系统后建立用户)会生成新密钥;强行修改当前用户的密码(不知道旧密码的情况下)会导致旧密钥无法恢复; DPAPI 密钥可以备份还原,并且可以存在于域控制器中。

Edge 的密码是用 DPAPI 保护的,因此重装系统并且没有加域,即使建立同名账户,即使密码相同,即使把 AppData 里的数据复制过来,旧密码也无法读取。

不清楚 HackBrowserData 是否可以把保存的密码明文读出,理论上来说在原来的用户下当然可以,因为是原来的用户的身份。

用公式表示:

EdgeSaved = Enc(key = user key, plaintext = Web password)
InUserProfile = Enc(key = derived(Windows logon password), plaintext = user key)

每个新用户都对应一个不同的 user key ,所以朴素地重装 + 复制资料的结果是

Copy of EdgeSaved = Enc(key = user key 1, plaintext = Web password)
New InUserProfile = Enc(key = derived(Windows logon password), plaintext = user key 2)

然而要读取保存的密码,需要的是

Enc(key = user key 2, plaintext = Web password)

或者

Enc(key = derived(Windows logon password), plaintext = user key 1)
2025 年 10 月 6 日
回复了 gegeligegeligo 创建的主题 问与答 碰到一个很奇怪的问题
最简单的假设是:发生了自动更新,且 Settings | Accounts | Sign-in Options | Automatically save my restartable apps and restart them when I sign back in 和 Use my sign-in info to automatically finish setting up after an update 都是开启的状态。

如果此假设成立,那么“被关闭大部分”是因为大部分软件都没用使用 Restart Manager 让自己在安装更新后自动重启,而少部分看起来没有关闭的软件则是使用了 Restart Manager 且恢复得不错。
2025 年 9 月 29 日
回复了 jmliubiao 创建的主题 C# C#中异步相关的问题
@jmliubiao #6 oh wow 你应该看 #5 的信息,我记错了……

TestController 代码的效果只有无异常的情况下是一样的,考虑 new TsetService() 这个表达式产生异常的情况(比如内存不足,或者构造器抛出异常),那么 Get1Async 会同步得到异常,而 Get2Async 会把异常装进 Task<Student> 里面返回。

Task<int> M1(bool t) { if (t) throw new Exception(); return Task.FromResult(0); }
async Task<int> M2(bool t) { if (t) throw new Exception(); return 1; }

那么

try { M1(); } catch(Exception ex) { Console.WriteLine("caught M1"); }
M2(); Console.WriteLine("M2 succeeded");

的结果是

caught M1
M2 succeeded

因为 M2 的异常只有在 await 的时候才会浮现。但是 #5 说由于这个(异常总是异步的)优点所以应该尽量用 async/await 我就不知道了,我的感觉是最终使用的时候所有 Task 都要被 await ,此时包围之的方法必然是 async ,因此同步异常和异步异常最后都会浮现,时机不同,而且典型的代码里还会掺杂很多其他可能异常的语句,就看细抠异常语义是否有意义吧。
2025 年 9 月 29 日
回复了 jmliubiao 创建的主题 C# C#中异步相关的问题
@geelaw #3 所谓没有意思上的差别,是指假设有

Task<T> M();

那么

Task<T> M1() { return M(); }
async Task<T> M2() { return await M(); }

没什么区别,当然 TestController 里面 Get1Async, Get2Async 因为调用了 TsetService 里面不同的方法,实际的效果区别很大。
2025 年 9 月 29 日
回复了 jmliubiao 创建的主题 C# C#中异步相关的问题
楼主应该善待帮助自己的人,比如提供格式化之后的代码。

TestController 里面的代码没什么意思上的差别,Get1Async 没有额外包装,或许性能会好一些。

TsetService (维持楼主的错误拼写)里面则完全不同。

Get1Async 完全抛弃了 Task.Delay(100),所以 Get1Async 实际上没有任何延迟,return Task.FromResult 是同步执行的,await Get1Async() 也不会有延迟,因为被 await 对象是已经完成的 Task.FromResult 。

await Get2Async() 有 100ms 延迟。
2025 年 9 月 29 日
回复了 AllenZ0 创建的主题 问与答 你有多久没整理过你的电脑桌面了
很久,但我一直都是隐藏所有桌面图标,并且从来不把文档保存到桌面的。
2025 年 9 月 25 日
回复了 XueXianqi 创建的主题 发音 “你”和“拟”的读音一样么 ?
@XueXianqi #64 按照你在 #60 的说法,老师教的是发音方法,不是教录音结果。如果你要说“非常标准的普通话”,那么把“拟”按照你自然发“你”的方式发音就可以了,但这完全无必要,普通话母语者在普通话语境里会自动把你的 gni 和 ni 都识别为 ni 。

百度单字似乎是新闻联播播音员录制的,词语似乎是 TTS 合成的,而且音色有很多“含糊不清的萌感”,此时再去分辨 gn 和 n 的微小差别实在困难。我觉得采用这个标准就可以了:如果这个机器只用来合成普通话的汉语拼音,并且它的 n 发音是说普通话的人会自动识别为 n 的范围内,那么它的发音就应该被解读为 n 而不是 gn 。
2025 年 9 月 25 日
回复了 XueXianqi 创建的主题 发音 “你”和“拟”的读音一样么 ?
@heganyuliang #57 我不清楚楼主自己用的方言是什么情况,但根据老国音,很可能楼主的方言是区分 gn 和 n 的,只是楼主没有意识到。

我认为普通话母语者很难把 n 发成 gn ,因此 gn 和 n 无自由变体的关系,但普通话母语者很可能会把别人说的 gn 识别为 n ,但这很可能只是未经训练难以感知 gn 和 n 的区别导致的。

————

不知出于什么原因,楼主似乎看过了我的一些回复但是没看懂。

> 1. 这 2 个字的发音是不是不一样?

在老国音(一种已经废弃的方言)里面这两个字读音不同。
在普通话(一种方言)里面这两个字读音相同。
不清楚楼主的方言是什么,也不清楚是否相同,这个问题当然要楼主自己判断。

在老国音里面,这两个字的区别在于声母。

> 2. 如果发音不一样,为什么都是 nǐ?

字典里标注的是普通话读音,因此方言读音不同不影响两个字的拼音相同。

@XueXianqi #60 有没有可能是老师说话也不标准呢?

鉴于楼主迟迟没有透露自己所在地最常用的方言,似乎不得不引入意念调试法。考虑吴语,它有 gn 和 n 的区别,根据 dict dot ciet dot top 的字典,“你”和“拟”的读音是 ni 和 gni 。
2025 年 9 月 25 日
回复了 XueXianqi 创建的主题 发音 “你”和“拟”的读音一样么 ?
@heganyuliang #37 字典记录的是音位,不是音素,所以在认同 u v 是自由变体的时候,无论是 xin1un2 还是 xin1vn2 都记录为 xin1wen2 。

@PhpBB #40 因为说话人认为 u 和 v 在某些音节开头是自由变体。另外拼音有 v ,仅用于古代语言、少数民族语言、外语词,如“万”老国音正音是 van4 ,这和今天正音是 wan4 但实际发音的时候可以发出 van4 是两码事。
2025 年 9 月 25 日
回复了 cj323 创建的主题 字体排印 需要中文字体排版的书籍或网站
thetype dot com
2025 年 9 月 25 日
回复了 XueXianqi 创建的主题 发音 “你”和“拟”的读音一样么 ?
@geelaw #35 消歧义:“你的发音”的“你”是人称代词,不是正在讨论的字,即“楼主的发音”。

ni 和 gni 的区别在于后者是 ji qi __ xi 之间缺少的那个音,舌头会抬升并接近上颚,而 ni 是舌头向前伸并接触牙龈。
2025 年 9 月 25 日
回复了 XueXianqi 创建的主题 发音 “你”和“拟”的读音一样么 ?
@XueXianqi #27 你的发音有 ㄋㄧ (ni 你) 和 ㄬㄧ (gni / nyi / 拟擬) 的区别,普通话不用后者。

你、拟的老国音有此区别,见《国音字典》 pp. 35, 107.
2025 年 9 月 25 日
回复了 dwyanewade 创建的主题 程序员 执行 git 操作会导致 visual studio 2022 闪退?
桌面应用很少有“闪退”的现象,VS 崩溃的时候没有 WER 对话框吗?

我印象里 Git 改变被打开的解决方案/工程的结构时似乎会有一些问题,但我很久没用 VS 了。
2025 年 9 月 25 日
回复了 XueXianqi 创建的主题 发音 “你”和“拟”的读音一样么 ?
普通话里,“你”和“拟“的发音相同,且“你人”和“拟人”的发音相同,但你可能听出单独的“拟”和“拟人”里的第一个音节有些许不同,是因为单独的上声规范调值是 214 ,上声接非上声,上声的规范调值变为 21 ,可以理解为连接多个音节的时候时候的部分弱化省略听不见。

如果认为“你”和“拟”的发音不同,大概是因为自己发音并不是标准普通话,或者因为其他原因产生了错觉,最简单的验证方法是分别录音自己读“你”和“拟”然后分析频率数据。
@geelaw #5 修改选共享 => 修改选项,是指 Folder Options 这个对话框
1  2  3  4  5  6  7  8  9  10 ... 189  
关于   ·   帮助文档   ·   自助推广系统   ·   博客   ·   API   ·   FAQ   ·   Solana   ·   3088 人在线   最高记录 6679   ·     Select Language
创意工作者们的社区
World is powered by solitude
VERSION: 3.9.8.5 · 37ms · UTC 15:03 · PVG 23:03 · LAX 08:03 · JFK 11:03
♥ Do have faith in what you're doing.