V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
V2EX  ›  geelaw  ›  全部回复第 1 页 / 共 176 页
回复总数  3516
1  2  3  4  5  6  7  8  9  10 ... 176  
@zpf124 #134 小提示:您可能想先看完 #17 #37 #45 。是否违反 MIT 协议是纯粹的法律判断,道德判断是另一个问题。我发表的道德判断已经在我说的第一句话结束了,和你期待的也没有什么不同之处;法律判断则是感谢 #37 提供的事实,在 #45 修正过。

您说的

>没错,他的软件并没有分发给我们,所以他不需要向我们展示引用引入的开源协议归属,但他既然展示了源代码并且还修改了署名那就是错误的。

中间矛盾点太多了,比如在视频里显示大量代码,属于分发软件的衍生作品之行为,因此需要附上 MIT 协议内容。修改署名和是否附加 MIT 协议也是两码事。
@NeedMe123456 #37 仔细看了视频,谢谢你指出视频里展示了代码这一点。我现在认为那个视频算是 ASCII generator 的衍生作品,因为在 0:57 附近很清晰地展示了相当多的代码。目前(换源过?)的版本依然没有满足 MIT 协议的要求。
什么叫“禁了”?我搜索了一下网络,看起来是升级的时候兼容性助手提示这个程序需要更新。并且这种提示并不是针对非 Microsoft 开发者的,尝试运行古代版本的 Visual Studio 也会弹出这个提示。

另外,说 Windows “搞” 这类软件实在是太抬举它们了,这类软件通常是使用 undocumented artifact 实现的,所以任意一个更新之后都不保证可以使用。如果 Windows 的开发者针对某个软件做了某件事情,通常来说是为它擦屁股,保证继续兼容。
谎称是自己写的当然不对,需要谴责。但我感到疑惑的点是,何同学用来出视频的话,仅仅是利用程序的输出结果,只要何同学不提供软件本身,就无需贴出版权声明,这是自由软件的通识——有些 issue 里面说“违反了 MIT 协议”并不成立,另外那条评论里面提到“以商业目的”如何如何,这点和是否违反 MIT 协议没有任何关系。
@Noicdi #9 破折号所谓“是一个符号”的意思是不能把它想成两个,但写的时候写成两个横线并且中间显得没有断开,就是 OK 的啦。

省略号 6 个点和 12 个点的区别在于后者省略了巨量内容。半角句号和圆点全角句号是两个不同的 Unicode 字符,为了和“。”搭配,应该用 U+FF0E “.”(这个字符并不是 . 加上空格,虽然排版效果差不多)。
终于遇到一个很在意标点的人了……补充一些细节(和楼主的序号对应)。

1. 一个格子最多可以放三个标点符号。

2. 这个说法是错的,所有配对标号的开启符号(比如左引号、左书名号、左括号)都不能出现在行尾,配对标号的结束符号、所有点号都不能出现在行首,但非单独出现的标点符号(示殁号、着重号、专名号、浪纹线书名号)都没有任何限制,间隔号、破折号的禁则我忘记了。作文稿纸上,如果一行行尾需要加入标点符号,可以放在格外。下面的断行是正确的。

他说:
“我说了一句话。”

3. 破折号从理论上来说是一个符号,并不是“两个横线”,书写的时候不可断开。Unicode 已经增加了 U+2E3A 专门用来表示两格横线符号,虽然继续用两个 U+2014 也是正确的(有些中文字体的实现有问题,连续两个 U+2014 会断开,此外旧字体没有 U+2E3A ,所以正确排版破折号还是有点困难的)。

5. 省略号是六个点或者 12 个点,要居中不要沉底。数学文本中句号应该用小圆点。

6. 连续多段直接引语,每段开头放一个左双引号,只在最后一段结束的时候放一个右引号。我记得这个是我在小学语文课本上发现的用法。

7. 这个是高中语文让我印象深刻的一点,审定用法里,非直接引语的冒号的管辖范围是到下一个句号/叹号/问号为止,不能超过,也不能在一个冒号的管辖范围里再用冒号。
6 天前
回复了 yippee0539 创建的主题 C++ [求助] C++ std::move 问题
@nlzy #7 和 move 没关系,EOF 的部分也对,但是 move 是有(不好的)效果的。

如果写 string s = string(…, …);
那么 C++17 下等价于 string s{…, …};
不存在“临时变量构造完再移动”的过程。

如果写 string s = move(string(…, …));
那么现行标准下含义是先构造临时变量再移动,且是不可省略移动的情况。
File | Options 里面可以设置自己的作者名,不是单纯根据编辑的用户显示的。
6 天前
回复了 sunfly 创建的主题 问与答 [win 文件丢失] 这问题真就无解么?
我的印象里是,如果在 Explorer 里新建文件夹,再通过 Explorer 不知道的方式放入文件,再撤销,如果文件夹删除了,那么即使立刻重做( Ctrl+Y )也不会找回文件。我目前无法找到确切的来源证明这点,但可以参考类似案例 https://superuser.com/questions/1130520/how-to-redo-the-undo-of-the-creation-of-a-folder-in-windows-10

新建文件夹之后,撤销若能够删除里面有内容的文件夹,我认为是 bug 。新建文件后修改,撤销若能够删除修改过的文件,我认为也是 bug 。

一般地,我觉得 Explorer 里面的撤销功能很糟糕,因为用户可能很长时间都不重启 Explorer ,很容易锁定再解锁的之后就忘了“撤销”会干啥了,误触也很容易导致不可预料的效果。此外就是“撤销”“重做”可能导致昂贵的操作。亡羊补牢的做法是禁止撤销,搜索 windows explorer diaable undo maxundoitems 可以找到答案——注意有些糟糕的 shell extension 依然可能向撤销栈加入项目,例如 OneDrive 。
9 天前
回复了 XIVN1987 创建的主题 C C 中可变参数如何直接传递到 printf()
@XIVN1987 #3 好像可变参数本身就不是简洁直接的东西。

另外这也提示你应该把实现放在 void v_ov2460_interface_debug_print(char const *fmt, va_list arg); 里面,并在可变参数版本里调用它。

请注意,如果这个函数本身需要在 vprintf 之外操作可变参数列表,需要 va_copy 之,否则行为不确定。
9 天前
回复了 XIVN1987 创建的主题 C C 中可变参数如何直接传递到 printf()
关键词:vprintf
25 天前
回复了 Georginaaa 创建的主题 Google gmail 收到奇怪的邮件
潜在的集体诉讼受益人,去搜索一下就知道这个是不是真的了,收到这种邮件很正常,我收到过好几次而且是真的。

这种邮件有几个作用:
1. 通知诉讼的存在,自动把你(如果有资格)加入集体原告(所谓 Class Member ),除非你反对,并告知你有何权利、如何排除自己;
2. 通知你集体诉讼是否有赔偿、是多少。

这种邮件如果你住在美国的话会经常收到,如果你不住在美国的话,有必要提示一下很多赔偿只有住在美国的人才有资格拿。你的邮件里说目前还没有判赔。
因为自从 Windows 8 开始,用户选择的文件关联存在于 UserChoice 中吧,见 https://geelaw.blog/entries/windows-fileassoc-walkthru/#fileassoc-example 试着删除 UserChoice 和 ApplicationAssociationToasts 里面的对应值再重试?另外你需要调用 SHChangeNotify 刷新,或者暴力一点的话重启 explorer.exe

我的猜想是 . 通常不存在,所以文件关联信息来自 Unknown 和 AllFileSystemObjects 之类的,一旦设置 . 扩展名的关联,就会采用“存在这一扩展名”的逻辑路径,但你删除了 No_Extension 导致进入回退式 Unknown ,然而 Windows 的 openas 谓词拒绝设置 . 这个扩展名的文件关联,所以 . 会一直保持为 Unknown 。
37 天前
回复了 ZekeRuan 创建的主题 iOS 美区账户添加 apple pay
@Vogan #5 支持 Apple Pay 的商户不一定支持每一种卡,所以京东、淘宝是否支持 Apple Pay 外卡不明确(我自己没试过),即使是美国的商户,也可以选择只支持某些发卡组织的 Apple Pay 。已知星巴克的实体 POS 是可以 Apple Pay 外卡的。

另外是否能绑定还是取决于银行、Apple 、卡组织等的协议,即使不考虑大陆发行的卡只有银联可以加入 Apple Pay ,也不是所有的美国的银行在 Apple Pay 上线的时候就支持加 Apple Pay 。

@YsHaNg #16 大摩 = Morgan Stanley ,小摩 = 摩根大通 = J.P. Morgan & Chase ,什么是大摩的 Chase……?
小提示:从你的帖子很难看出你要用什么软件以 Exchange 接入邮箱。

我的个人经验是在 Outlook (经典 Windows) 里面选择 Outlook dot com 的连接方式是 Exchange ,而且可以同步联系人和日历。
1. 每个功能必须有人实现才会存在。
2. 警告调用过时方法不困难,有人实现。
3. 静态分析代码中的 if else 并发现某个 API 在所有可能进入的路径里都没过时,一来是不可判定问题,二来即使允许假阳性,要覆盖常见情况也比较复杂,很可能没有人实现。

因此发生你见到的现象。收到警告并不是出于警告的目的,而是出于没有适时取消警告的目的。
47 天前
回复了 NineTree 创建的主题 分享创造 诗 300 https://shi300.com/
但是“诗三百”的典应该是《论语》评价《诗经》?
@Kauruus #5 结论是对的,但论证有些问题。密钥错误的时候以压倒性的( overwhelming )概率报错,但不能排除解出乱七八糟结果而没有报错的情况,遍历所有密钥的时候遇到不报错的错误密钥的概率可能很高。解决方法就是多试几次。

另外楼主的问题里面,“加密两次”的含义不明确,因为基于 AES 的加密通常不需要隐藏 IV ,外层加密的时候内层 IV 设置为明文还是关联数据,会导致不同的攻击方法。攻击多层加密的一般方法是所谓的 meet in the middle ,尤其对于加密随机数公开的对称加密(常见的基于 AES 的加密,加密随机数就是 IV ,是公开的)。
One-time password 就是 MAC (消息认证码)的一种应用,如果用 HMAC ,那么根据 https://cseweb.ucsd.edu/~mihir/papers/kmd5.pdf 破解的方法是破解底层散列函数的抗碰撞性或者用作 MAC 时的特称不可伪造性( existential unforgeability, EUF )。通常认为使用的散列函数满足这两个性质,因此在模型内无法破解(当然,知道 HMAC 密钥自然就破解了)。

@NoOneNoBody #3 “破解”一词的三重理解:

1. 一种无法言说的意思
2. 及物动词,必须搭配一个宾语,且宾语必须是某个安全性质的名字
3. 及物动词,宾语可以是安全性质的名字或者密码学对象的名字,如果是后者,则意思等同于 宾语 = 此密码学对象所属类型的最常见的安全性质

通常来说,散列函数最常见的安全性质是指抗碰撞性,因此“破解散列函数”的意思就是“能够较高效地找到散列函数的碰撞”,所谓“逆向搜索”一般来说理解为计算原像,即破解单向性,破解单向性蕴涵着破解抗碰撞性,因此“没能破哈希”对于某些散列函数是错误的说法。

当然,我们回到 1 的理解,可以 psychic debug 你的意思是说没有听过能破解散列函数构造的 HMAC 的安全性,这对于一些散列函数也是不对的,比如 MD5 的抗碰撞性质已经破解(允许选择前缀攻击),因此单纯用 MD5 制造的 HMAC 不安全。

当然,one-time password 使用 MAC 的方式表明即使破解了 EUF 也不代表就能破解 one-time password ,因为 one-time password 里面被认证的消息是时间戳,并不允许使坏者( adversary )任意选择。
1  2  3  4  5  6  7  8  9  10 ... 176  
关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   3090 人在线   最高记录 6679   ·     Select Language
创意工作者们的社区
World is powered by solitude
VERSION: 3.9.8.5 · 47ms · UTC 12:47 · PVG 20:47 · LAX 04:47 · JFK 07:47
Developed with CodeLauncher
♥ Do have faith in what you're doing.