小编Bar*_*ter的帖子

Web服务和开源库 - 许可

能否请你提出这是众所周知的"开源"许可证允许我使用专有的Web服务,这些牌照(互联网向公众开放),这我不会让开源下库.

我可以在某处说明我正在使用该库,我可以分享我在库中所做的更改.

我猜GPL在这里不起作用,因为我不打算将整个产品作为GPL发布,还有什么其他选择?

这就是我发现的关于Meebo和libpurple的内容:

我有一个许可问题.你觉得,鉴于libpurple代码库的GPL状态,Meebo使用libpurple是可以接受的吗?据Meebo的网站上后,他们觉得自己并不需要发布自己的源代码,因为他们不直接分发二进制程序给客户(因为Meebo的是一个Web应用程序).我想问的原因是因为我想使用的libpurple的代码库开始一个项目,我想知道的许可限制是什么.

libpurble开发人员回答说没关系:-S

另外,我发现了这个:

该漏洞被称为是一个"应用服务提供商"(因此"ASP"),通过运行程序和(大概)获得任何好处来自于让人们在整个访问正在运行的程序了然于胸的copyleft许可证的自由的好处网络; 但是提供者可以争辩说他们自己并没有重新分配这些工作,所以他们没有义务为收件人提供同样的自由.

这表示我们可以在Web服务中使用GPL v2和v3代码,而我们不会自行分发应用程序(例如像google那样).那是对的吗?

licensing gpl

32
推荐指数
2
解决办法
8031
查看次数

与使用网络/ IO绑定应用程序的进程相比,在Linux上工作时有什么线程限制?

我听说在多核服务器在Linux上是不可能达到最佳性能,当你刚刚1的过程,但多线程因为Linux对IO一定的局限性,使1个与工艺8核服务器上8个线程可能慢于8个进程.

任何意见?还有其他限制可能会减慢应用程序的速度吗?这些应用程序是一个网络C++应用程序,为100个客户端提供一些磁盘IO.

更新:我担心除了我自己实现的锁定之外还有一些与IO相关的问题......在几个线程中是否有任何问题在同时进行网络/磁盘IO?

linux multithreading

28
推荐指数
1
解决办法
7677
查看次数

如何在步入时跳过VS 2008中的常用类?

如何在步入时跳过VS 2008调试器中的常用类?

例如,我不希望调试器进入任何std :: classes.我怎样才能做到这一点?

我已经在VS 2005及更早版本中找到了这样做的方法,但不是2008年

c++ debugging visual-studio-2008 visual-studio

17
推荐指数
1
解决办法
1829
查看次数

为LLVM/CLANG选择CPU架构

我正在设计TTL串行计算机,我正在努力选择更适合LLVM编译器后端的架构(我希望能够在那里运行任何C++软件).没有MMU,没有乘法/除法,没有硬件堆栈,没有中断.

我有两个主要选择:

1)8位存储器,8位ALU,8位寄存器(~12-16).内存地址宽度为24位.所以我需要使用3个寄存器作为IP,3个寄存器用于任何存储器位置.

毋庸置疑,任何地址计算都会在编译器中实现.

2)24位存储器,24位ALU,24位寄存器(~6-8).平坦的记忆,很好.缺点是由于设计的串行特性,即使我们使用一些布尔运算,每个操作也需要3倍的时钟.24位存储器数据宽度很昂贵.而且通常在硬件中实现起来更困难.


问题是:您认为在这个8位无堆栈硬件上实现所有c ++功能是可能的,还是我需要更复杂的硬件来生成合理质量和速度的代码?

hardware cpu llvm clang

15
推荐指数
1
解决办法
5636
查看次数

哪种编程语言允许即时更新任何类?

我想知道,是否有任何语言允许您在不重新加载整个应用程序的情况下即时添加/删除/更新任何类?(前提是我可以接受一些不便之处,比如确保目前没有方法运行+一些额外的努力来'迁移'类数据成员).

替换1个文件并在下一个客户端请求中使用的Web应用程序不是我需要的(如Perl,PHP).应用程序必须持续运行,并且具有一些内部状态.

其他要求是

  1. 没有GIL或类似的问题阻止使用SMP
  2. 优选地 - 存在类似JIT的VM(即,性能接近本机代码的情况).理想的解决方案是能够在CLang或任何其他基于LLVM的语言中重新加载模块.这将是完美的.

关于已经做出的答案:

  • .NET/Java不适合 - 它们都有过于笨重的虚拟机,并且应用程序的很大一部分将在Linux上运行.
  • Erlang - 看起来像是可能的,但是我的肉眼很可怕,我只是看不出它的情况,如果是,情况和字符串.此外,我宁愿避免将裸源转移到客户端,编译后的字节码会好得多.

language-features programming-languages

13
推荐指数
3
解决办法
1422
查看次数

openssl_verify和"错误:0906D06C:PEM例程:PEM_read_bio:无起始行"

我试图在PHP中使用OpenSSL函数进行RSA签名/验证.当我尝试openssl_verify使用我的公钥时,我收到此错误:error:0906D06C:PEM routines:PEM_read_bio:no start line,但函数本身正常工作(如果消息被修改则返回0,如果完整则返回1).openssl_sign工作良好.

我该如何解决?

目前,我使用openssl生成的公钥:

define("SC_MSG_PUBLIC", <<<EOD
-----BEGIN PUBLIC KEY-----
MFwwDQYJKoZIhvcNAQEBBQADSwAwSAJBALjPcOckMHDVLiUstcRwwx8kF5PzsiEs
rskyndWisbXMLU9BHomXwL7Qg2L91jE+sNSobkzBDF41CbwDiNlofZUCAwEAAQ==
-----END PUBLIC KEY-----
EOD
);
Run Code Online (Sandbox Code Playgroud)

任何想法为什么这个错误触发,但事情工作正常?

尝试从私有生成公钥,并使用它,但它似乎完全相同,相同的错误消息:-S

$pkey = openssl_pkey_get_private(SC_MSG_PRIVATE);
$keyDetails = openssl_pkey_get_details($pkey);
file_put_contents('c:\publickey', $keyDetails['key']);
Run Code Online (Sandbox Code Playgroud)

此外,我已经尝试安装所有新版本(PHP 5.3.1,OpenSSL 1.0.0a) - 结果相同.而且,我在窗户上.

php ssl openssl

12
推荐指数
1
解决办法
2万
查看次数

yacc/lex还是手工编码?

我正在研究新的编程语言,但我总是对每个人都使用yaxx/lex来解析代码感到困惑,但事实并非如此.

我的编译器(已经工作)是用C++/STL手动编码的,我不能说它复杂或占用太多时间.它有某种词法分析器和解析器,但它们不是自动生成的.

早些时候,我用同样的方式编写了一个C编译器(不是完整的规范) - 它能够在1遍中编译程序,所有这些反向引用解析和预处理 - 这对于yacc/lex来说绝对是不可能的.

我无法说服自己废弃所有这些,并开始深入研究yaxx/lex - 这可能需要付出相当大的努力才能实现,并且可能会引入一些语法限制.

不使用yacc/lex时有什么我想念的吗?我做恶事吗?

yacc programming-languages

8
推荐指数
2
解决办法
2658
查看次数

这种语言有它的利基| 未来?

我正在研究一种新的语言,针对Web开发,嵌入到应用程序,分布式应用程序,高可靠性软件(但这是为了遥远的未来).

此外,它的目标是长期降低开发费用 - 更多时间编写更安全的代码并减少以后的支持.最后,它强制执行许多真正的团队必须执行的事情 - 比如一个跨平台IDE,一个代码风格,一个Web框架.

简而言之,关键的语法/语言功能是:

  1. 开源,非限制性许可.当然是跨平台.

  2. 口味像C++,但更简单,Pythonic语法与严格和静态类型检查.更容易学习,没有多重继承和其他无人知晓的事情:-)

  3. LLVM字节码/编译后端提供近C速度.

  4. 是垃圾收集和显式对象破坏.

  5. 真实操作系统线程,多核计算机的本机支持.多线程是语言的一部分,而不是库.

  6. 类型在任何平台上都具有相同的宽度.int(32),long(64)等

  7. 内置后置和前置条件,断言,小单元测试.你写了一个方法 - 你可以在一个地方写下所有这些东西,所以你在一个地方有相关的东西.如果你担心你的类源代码会变得臃肿 - 它的IDE可以隐藏你现在不需要的东西.

  8. 类似Java的异常处理(即你必须处理所有异常)

我想我现在要留下网络和群集功能......

你认为呢?我错过了现有的类似语言吗?

language-features programming-languages language-design

8
推荐指数
4
解决办法
655
查看次数

寻找基于LLVM的语言,允许在运行中重新加载部分二进制文件

是否有任何基于LLIL的语言,主要针对JIT执行,允许动态重新加载部分代码?

就像重新编译1个类一样,并在不停止整个程序的情况下重新加载它.

有人试过吗?

有没有机会用clang做这件事(肯定会有很多开发人员提醒,限制和手动状态处理)?

jit llvm reload

6
推荐指数
1
解决办法
303
查看次数

在C++中是否有任何非常简单的RSA实现

是否有任何非常简单的跨平台C++库可以进行不对称的编码?没必要高效,只是工作.我想在.h文件中可能只有3-4个函数可以进行任意精度数学运算,就是这样.

我相信在这里使用OpenSSL是一种矫枉过正.

rsa

5
推荐指数
1
解决办法
3960
查看次数