V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
V2EX  ›  geelaw  ›  全部回复第 24 页 / 共 173 页
回复总数  3445
1 ... 20  21  22  23  24  25  26  27  28  29 ... 173  
2022-12-07 23:05:15 +08:00
回复了 ggp1ot2 创建的主题 程序员 基于开源项目二次开发违反道德吗?
自由软件的宗旨就是告诉你所谓“使用别人的代码不道德”这个想法是有问题的,自由使用你所得到的软件,包括对它二次开发(实际上就是改进、衍生的一种)是自由软件运动鼓励的事情。没有领会到这一点是对自由软件运动理解的失败——这之中自然有受开源软件运动理念影响的问题。

这里惟一的道德问题是是否标注出处( give credit ),道德的做法是明确标注你使用了什么代码(衍生自哪里),同时这也是合同(你获得的自由软件的许可协议)所要求的。
2022-12-05 09:15:48 +08:00
回复了 subframe75361 创建的主题 程序员 如果 chromium/electron 来个 lts 版本是否会好一些呢
请问你要找的是不是 Internet Explorer IWebBrowser IWebBrowser2 MSHTML
2022-12-05 01:59:50 +08:00
回复了 jeesk 创建的主题 程序员 文件加密后体积膨胀
只要求 CCA 安全性的时候公钥加密的码率是 1 ,而且普遍通行的加密算法都是这样做的。
2022-12-04 19:13:53 +08:00
回复了 amiwrong123 创建的主题 程序员 条件传送指令,就比条件转移指令要好吗?
条件分支需要改变程序计数器并加载不同的指令,条件赋值指令无论指令的效果如何都不改变接下来马上要执行的指令,只会产生数据依赖。

或者你可以简单地认为条件赋值是某种非常常见且特殊的条件分支,设计成专门的指令是为了让 CPU 从指令级别识别出来这种特殊的条件结构并优化(不可期待 CPU 识别一个条件分支指令的实际效果相当于条件赋值并优化,因为识别这种特殊性需要时间)。
这个描述听起来像是备份系统而不是版本控制系统。在 VCS 里版本的建立是受人的主动控制的,备份的话版本主要是按定期计划建立,人为建立版本是低频情况。
因为程序可以选择查看自己的标准流是哪里并选择不同的行为。比如 git diff 在 stdout 接入 terminal 的时候默认使用转义序列显示彩色,但 stdout 接入文件时默认不用。
2022-12-02 09:57:03 +08:00
回复了 hi20151215x 创建的主题 信息安全 请教各位下 将用户的 id 在 jwt 中 算是敏感信息么?
> 说敏感吧,毕竟有 sha256+secret key 加密。 说不敏感吧,如果换成别的 userId ,就可以查询其他用户的信息。

我不知道从何吐槽起了。
2022-11-29 00:55:50 +08:00
回复了 nnegier 创建的主题 程序员 数学是上的凹图像可能和你想像的不太一样
曲线不存在“天然的凸性”(至少不是你所期待的那种意思),因为需要一个观察方向,哪个词对应哪个函数其实是任意选择的,重要的是“凸集”的定义。

通常的用法中,凸函数是指上境图是凸集的函数,凹函数是指下境图是凸集的函数。

另外,凹和凸这两个字的内侧都不是凸集。
你试过重启 uTools 了吗?(我不知道 uTools 是什么。)若重启 uTools 后正常,则说明之前更新 PATH 之后 uTools 已经在运行的进程没有使用新版本的 PATH 。如果仍然不正常,说明 uTools 会指定它启动的进程的 PATH ,于是你需要研究怎么设置 uTools 。

另外从提示消息来看 uTools 打开 VSCode 后你使用的是 PowerShell ,那么你可以通过 $env:PATH.Split(';') 查看 PowerShell 进程的 PATH 。
2022-11-26 14:35:37 +08:00
回复了 TWorldIsNButThis 创建的主题 问与答 是哪个始作俑者把 out of memory 翻译成内存溢出的?
@LotusChuan #7 read/written 是早期技术 /设计问题 https://devblogs.microsoft.com/oldnewthing/20140403-00/?p=1333

out of memory 的典型翻译是内存不足,而不是内存溢出,“溢出”几乎都来自于 overflow 。

>耗无语感

对输入法是如何学会这个词的表示震惊。
2022-11-23 18:28:20 +08:00
回复了 bthulu 创建的主题 .NET List<Apple>不能赋值给 List<object>吗?
你期待 ((List<object>)new List<Apple>()).Add(new Orange()) 发生什么?

关于 foreach 为什么可以,很可惜,这是 .NET 1.0 的罪孽,因为那个时候没有泛型,如果 in 后面的集合必须采用 IEnumerable 的话,将只能枚举 object 。实际上 foreach 会强行转换得到的对象,见 https://ericlippert.com/2013/07/22/why-does-a-foreach-loop-silently-insert-an-explicit-conversion/
2022-11-23 15:04:33 +08:00
回复了 geelaw 创建的主题 分享创造 在 Windows 上轻量地隔离 app:以百度云管家为例
@723X #24 你可以意识到 remote app 的快捷方式就是启动脚本吧
用户 != 人。

我的电脑只有我一个人用,但我日常会使用普通用户,管理员用户仅在需要的时候使用。有的时候我也会把软件安装到专门的用户里面以隔离之,见 /t/638439

如果只有一个用户,明显的区别在于新用户是否自动有这个软件,如 #1 所述。

不明显的区别在于它是否“污染”整个系统——如果以普通用户的身份运行,那么这个软件在默认的安全设置情况下是无法污染整个系统的。

设计不好的软件可能在更新的时候需要重新获得原来安装时的权限,这样的话普通用户会无法更新为所有用户安装的软件( Office 无此问题)。

我个人推荐为当前用户安装,这样出问题的时候可以优先选择重建用户资料而不是重装系统。
2022-11-22 09:12:27 +08:00
回复了 orangie 创建的主题 Edge 当用户首次打开 Edge 浏览器,就必定会同意的一件事
只要你没有真的点同意,那就是没有同意,技术实现不等于法律实质。
2022-11-19 19:43:09 +08:00
回复了 GengFeng 创建的主题 Apple 唉, Apple store 上买的美区礼品卡填错电子邮箱了...
如果那个邮箱没有人注册过,可以去注册,再重发邮件,我之前有过这种情况。

还可以和客服联系要求撤销礼品卡并退款,解释清楚你是输入错误就好了。如果 Apple 不同意的话你可以尝试让你的信用卡发行商收回付款,理由就是“没收到货物”。

以后给自己买礼品卡的时候复制粘贴自己的地址就不容易出错了。
2022-11-18 13:41:56 +08:00
回复了 movq 创建的主题 程序员 为什么 Java 父类构造函数调用被重写的方法会调用到子类的
@Keen06 #101 问题在于“完事”(以及行文中暗示的编译器不会真的反复修改虚表指针)而不是在于“直接 resolve”,当然可以把构造、析构函数里直接在 this 上调用的虚函数绑定到当前类的版本,但是这样做并不总是可以省去修改虚表指针,否则很难处理通过 this 的副本(包括调用其他成员函数时的 this )调用的情况。
2022-11-18 00:11:40 +08:00
回复了 movq 创建的主题 程序员 为什么 Java 父类构造函数调用被重写的方法会调用到子类的
@mind3x #72

> 当然实际上 C++编译器不会这么没效率,就把构造函数里调用的函数当作非虚函数在编译期直接 resolve 完事。

很多时候不能这样做,因为构造函数、析构函数可以调用其他成员函数或者把 this 传入其他地方,在其他成员函数里或者通过复制的 this 调用虚函数必须仍然得到正在被构造的类的版本,而且对 this 所指向的对象用 typeid 也必须得到正在被构造的类。安全的做法是反复改变虚函数表指针。
2022-11-17 18:57:20 +08:00
回复了 Vectorst 创建的主题 问与答 同样是 .com ,为什么不同国家、地区的二级域名不一样?
因为不同的国家可以自己制定规则,它们有不同的想法。有的时候可以和语言相关,比如魁北克采用 gouv.qc.ca ,因为法语里这个词是 GOUVernement ,拼成 go 会导致错误发音(哥窝切),而 gouv 是正确发音(孤-v )。
2022-11-17 18:44:11 +08:00
回复了 movq 创建的主题 程序员 为什么 Java 父类构造函数调用被重写的方法会调用到子类的
设计不同而已。

Java:对象在任何时刻的类型都是最终类,无论何时,调用虚方法的效果都是最终重写。

C++:对象在构造、析构期间的类型是当前类,可能不是最终类,此时直接或者间接调用虚函数会得到当前类的重写。此时也不可通过 this 访问兄弟类,即使整个对象的兄弟类子对象的构造函数已经运行。

C++ 的设计理念基于非祖先类子对象状态的不确定性。

你可以认为 C++ 里面祖先类的构造函数在子类构造函数之外,而 Java 里面祖先类的构造函数在子类的构造函数之内,且处于开头。

也就是说,考虑 A : B 以及 B::B() { B_ctor_body; } A::A() { A_ctor_body; } 以及 new A(),则

Java 认为发生的事情是

{
/* vtable = A_vtable */
{ B_ctor_body; } // B::B
A_ctor_body;
} // A::A

而 C++ 认为发生的事情是

{ /* vtable = B_vtable */ B_ctor_body; } // B::B
{ /* vtable = A_vtable */ A_ctor_body; } // A::A
1 ... 20  21  22  23  24  25  26  27  28  29 ... 173  
关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   2418 人在线   最高记录 6679   ·     Select Language
创意工作者们的社区
World is powered by solitude
VERSION: 3.9.8.5 · 40ms · UTC 05:59 · PVG 13:59 · LAX 22:59 · JFK 01:59
Developed with CodeLauncher
♥ Do have faith in what you're doing.