V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
V2EX  ›  geelaw  ›  全部回复第 15 页 / 共 172 页
回复总数  3439
1 ... 11  12  13  14  15  16  17  18  19  20 ... 172  
理论解决方案是 verifiable computation 。

实际解决方案是相信或者不用。
287 天前
回复了 hez2010 创建的主题 程序员 给 .NET 实现了 Const Generics
一个小问题:此前我实现这种泛型的时候,都是直接把所有的常量都塞到一个 struct 里面,现阶段的 JIT 编译器不能成功优化吗?

public interface IConstants
{
public int V { get; }
}

public class G<T> where T : IConstants
{
public static void Run() { Console.WriteLine(default(T).V); }
}

public static class Program
{
struct C : IConstants { int IConstants.V { get { return 1; } } }
public static void Main() { G<C>.Run(); }
}

我感觉最简单的实现方式是把 const generics 弄成语法糖……?
288 天前
回复了 iqoo 创建的主题 程序员 关于 C++ 模板一个问题
针对追加的具体问题

struct Base { void print() { } };
struct Str : Base { Str(char const *s) { } };
struct Num : Base { Num(int v) { } };

Base log_deduce(Base obj) { return obj; }
Str log_deduce(Str obj) { return obj; }
Str log_deduce(char const *s) { return s; }
Num log_deduce(Num obj) { return obj; }
Num log_deduce(int v) { return v; }

template <typename... T>
void log_impl(T... args)
{
/* fold expression from C++17 */
((void)(args.print()), ...);
}

template <typename... T>
void log(T... args)
{
log_impl(log_deduce(args)...);
}

int main()
{
log("hello");
log(123);
log(123, "hello");
}

但我感觉楼主的提供的例子离真实用例很远。
288 天前
回复了 iqoo 创建的主题 程序员 关于 C++ 模板一个问题
楼主的代码明明是 log 可以接受任何可以 .print 的类型。提的需求也非常不明确。

你希望模板自动推断存在可以构造的 Base 的子类 T ,还是希望 T 就是参数本身的类型,然后 obj.print 改写为 T1{obj}.print(),其中 T1 是 Base 的某个子类并且可以被 obj 所构造?

另外,建议想清楚自己的问题,如果不是适合用模板解决的问题的话,会从一个小问题,变成一个报错非常长的问题。
288 天前
回复了 AppJun 创建的主题 程序员 个人开发者的悲歌:原来我是出版业
我一直认为架设网站和分发软件是一种出版活动。悲伤的不是一件事情属于出版,而是权力对出版自由的干扰。
虽然不用 Linux ,但是可以尝试一下 psychic debugging 。

我的猜想是 sudo 启动的 su 会继承 sudo 的标准文件,而 su 启动的 shell 进程又会继承 su 的标准文件。因此第一次运行 echo ' ' | sudo -S su 的结果是 su 的标准输入是 echo 的标准输出,然后启动的 shell 的标准输入是 echo 的标准输出,此时 shell 认为标准输入是需要执行的命令,这是空的,因此直接结束了。

测试:echo 'echo 1' | bash 的结果是 1 ,并且回到了开始的 shell 进程。

楼主可以试试(注意第一行的结尾是单引号加上空格)

echo '
echo 1' | sudo --stdin su

是否会得到 1 并且回到开始的 shell 进程。(我并不知道 sudo 是否会读取多行密码……)
289 天前
回复了 javahuang 创建的主题 程序员 这样的人,我该帮他解决问题吗?
我感到很困惑:为什么楼里有些人看起来认为这是开源软件?楼主只说是免费软件,和开源软件是不相关的概念。

因为不存在对价,故不能期待技术支持。
已经 push 到托管服务的 commit ,客户通常难以控制何时删除——在 GitHub 里,即使 force push 之后某个 commit 已经不可达,使用 commit hash 依然可以访问未被删除的 commit (见 #3 的链接)。

最好的补救措施就是让错误提交的数据无意义。避免错误提交的方式,除了先写好 .gitignore 之外就是不要 git add .,而是复核修改之后再添加(我一般用 GUI 工具)。
294 天前
回复了 hello2090 创建的主题 问与答 GoDaddy 的这个授权码是干啥用的
如果你没有主动在 GoDaddy 操作说明你的账户被别人访问了。这个授权码一般在即将转出到另一个域名服务商的时候才请求,不想转的时候不需要也不应该知道,而且应该保持域名处于不可转移的锁定状态。
295 天前
回复了 Censhuang 创建的主题 问与答 求一个批量转 pdf 的本地工具
安装 Office 并使用 Word 的 component object model 可以实现批量 docx 转 pdf https://learn.microsoft.com/en-us/office/vba/api/word.document.exportasfixedformat

合并多个 PDF 可以用 LaTeX https://tex.stackexchange.com/questions/105589/insert-pdf-file-in-latex-document
295 天前
回复了 sloknyyz 创建的主题 程序员 10k+ star 的项目也搞假开源
@ntop #149 #386 :) cc @Livid
功利的原因是先进的技术是先用英语写出来的,哲学的原因是没有在这方面追求文化认同。

提升到先进生产力(自由软件、开源软件、科研都是某种先进生产力),我最近的实践是两者结合,写文章还是会用英文,在国内学校作报告会坚持用汉语。
297 天前
回复了 sloknyyz 创建的主题 程序员 10k+ star 的项目也搞假开源
@sloknyyz 我的观点之一是您有错误的判断,认为作者在“装”这种判断在我看来没什么依据。您给我的观感是有很强的 entitlement 感。
297 天前
回复了 thinkm 创建的主题 程序员 任何 APP 都需要隐私声明吗?
当然不是,app 就是 application software 的意思,九十年代出生的人从来没听说过(应用)软件必须提供隐私声明的。
297 天前
回复了 sloknyyz 创建的主题 程序员 10k+ star 的项目也搞假开源
@sloknyyz #172

1. 技术词汇并不会流变。宣传“开源”的望文生义义很明显是阻碍开源运动的行为。
2. 如果连开源的定义都不知道,如何支持开源运动?
3. OSI 认为 GNU GPL 是开源协议,然后 GNU GPL 3.0 第六节明确表示提供软件的时候不需要伴随源代码,只要以几种允许的方式,让用户可以请求并得到即可。你所支持的开源运动和 OSI 所发起的不是同一个?
4. 你对开源运动达到其目的的方式有很大的误解,一个没有代码的仓库也可以用来发布开源软件,只要它的许可协议授予用户足够的权利就可以了。另外许可协议不但可以用来限制源代码的使用,也是让客户可以合法使用软件和它源代码的必备条件;没有许可协议,只有源代码的仓库,修改其源代码是侵犯版权的行为。

另外,在 issue 794 讨论中,我被人提醒:这个仓库应该理解为这个插件的分发、宣传网站的代码,而不是这个插件本身。
298 天前
回复了 sloknyyz 创建的主题 程序员 10k+ star 的项目也搞假开源
@sloknyyz #165 很多人望文生义不代表望文生义就是正确的,如果你支持开源运动(当然,你无需支持开源运动),你应该选择 Open Source Initiative 的定义,我强调的定义就是 Open Source Initiative 的定义。我认为“开源”这个名字起得确实容易引人误解就是了。如果你希望自己定义“开源”的意思当然没问题,只是这就不是“开源运动”的“开源”了。

“开源”蕴涵着“源代码可以查看”,但是并不代表源代码一定要伴随着可执行软件一起发布——你似乎都没有尝试去请求源代码。此外可以查看源代码并不代表就是“开源”——“开源软件”赋予你更多权利。

@Pipecraft #166

>我可以随意浏览几个项目,如果是开源的,还不错,就会给 star ,然而闭源的,除非对我很有用,我不会轻易给 star 。我不知道这样是不是主流,如果是的话,闭源能上 GitHub Trending 应该是很难的,当然不是不可能。

你看,你也无法判断这是否是主流。

>第二个 Apache License 2 上面加了一些限制,你觉得它是开源软件,但从 star 与 PR 数来看,我觉得很多人认为它是。给个 star 没必要扣那么仔细吧。

是否“开源”不是你我可以“觉得”的。帮您 Google 一下,开源的定义是 https://opensource.org/osd/ 此外从 star 和 PR 数量并不能判定是否是开源,不开源的软件也可以贡献 PR ,只要作者开心就好了( FSF 圣斗士肯定不会就是了,但普通人又不是 FSF 圣斗士)。

另外为什么 GitHub 不能当文件托管所呢?我认为这样做没什么 inherently 恶心的。

>而且上面第三个项目,谁一眼看了都知道这个不是开源项目。与这个帖子的情况完全不同。

如何确定“容易判定是否开源”的边界?我提出的判断方法是这样的:如果这个项目在 GitHub 上显示“有名字”的 license ,那我认为这个项目应该是开源;否则阅读 license 并判断。
298 天前
回复了 sloknyyz 创建的主题 程序员 10k+ star 的项目也搞假开源
@geelaw #163 >这听起来是你骗了别人。

这是按照楼主的想法解读的(即归谬论证),我个人认为无意的错误论述并不是欺骗,在我看来“骗”需要故意。
1 ... 11  12  13  14  15  16  17  18  19  20 ... 172  
关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   2408 人在线   最高记录 6679   ·     Select Language
创意工作者们的社区
World is powered by solitude
VERSION: 3.9.8.5 · 50ms · UTC 13:02 · PVG 21:02 · LAX 06:02 · JFK 09:02
Developed with CodeLauncher
♥ Do have faith in what you're doing.