我开始构建一个使用开源库的商业应用程序.我一直在研究各种文件和帖子,但我仍然遇到麻烦.据我所知,我需要"隔离"开源部分.一种方法是提供一个通过"vanilla"链接与开源通信的类.
建议的解决方案是修改开源(命令行实用程序)以为其提供某种API.然后开发一个使用API与开源程序通信的包装器或代理程序.将修改后的源和包装器作为开源发布,但保持源的其余部分关闭.请注意,开源片段将随代码一起提供,并作为静态或动态链接库执行.
这是否适用于GPL?
我知道没有一种直接的方法可以使用 PHP 截取网页的屏幕截图。实现这一目标的最直接方法是什么?是否有任何命令行工具可以做到这一点,我可以从 PHP 脚本执行(我正在考虑可以在'NIX OS(特别是 OS X 和/或 Linux)中运行的东西)?
编辑:或者我可以通过 SOAP 或 REST 或...
编辑 #2:我发现了一个讨论 CLI 选项的相关问题,但如果有人知道任何事情,我仍然愿意接受其他方法。
试图让MVC在Mono 2.4上运行(根据这里的一些线程,这是可能的)没有太多运气.我无法理解:
Compilation Error
Description: Error compiling a resource required to service this request. Review your source file and modify it to fix this error.
Compiler Error Message: : ** (/usr/local/lib/mono/2.0/gmcs.exe:5232): WARNING **: The class System.Web.Management.WebRequestErrorEvent could not be loaded, used in System.Web, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a
~/Global.asax
Show Detailed Compiler Output: //etc
Run Code Online (Sandbox Code Playgroud)
我已经将System.Web.dll(以及项目中的每个引用)添加到bin文件夹中 - 仍然没有去.
有任何想法吗?
链接:
首先介绍一下当前环境的背景知识.我们有许多ASP.NET应用程序,所有这些应用程序都在某些方面使用会话.由于流量水平,我们在多个服务器上"负载均衡",但是,我们的负载平衡设置为使用"Sticky Sessions",因为当前所有Web应用程序都设置为使用"InProc"进行会话状态.
我们正在考虑能够在我们的负载均衡器上删除"Sticky Sessions"配置,因为我们的流量负载服务器可以并且确实会过载.我们希望采用更加平衡的方法,但必须能够使用会话.
我知道SqlServer的会话状态会起作用,但由于我们无法控制的原因,我们无法使用SqlServer来存储我们的状态.在研究中似乎StateServer是我们最好的选择.我们有一个额外的服务器,周围有大量的内存.此服务器可以是整个Web群集的StateServer.我们只想知道以下事情.
1.)除了从InProc切换到StateServer的任何潜在的序列化问题之外,是否存在丢失会话对象或在上面列出的环境中产生错误的主要已知问题?
2.)除了单点故障,并且性能稍慢,我们需要注意使用StateServer的任何其他问题.
3.)是否有任何指标显示三种状态存储之间的性能差异?
当您通过Apache Httpd发布Subversion存储库时,您将获得一个额外的功能:您可以使用任何HTTP客户端浏览源代码的HEAD修订版.
例如,我们有这个存储库:
http://trash-cli.googlecode.com/svn/trunk/
Run Code Online (Sandbox Code Playgroud)
使用任何HTTP客户端(例如Firefox),您可以在HEAD修订版中浏览文件.svnbook很好地解释了这是怎么回事.
但Google Code Hosting提供了额外的功能:您还可以浏览过去的修订版.例如,您可以浏览r10版本:
http://trash-cli.googlecode.com/svn-history/r10/trunk/
Run Code Online (Sandbox Code Playgroud)
你知道谷歌是怎么做到的吗?我也希望在我的公司存储库中使用此功能!:)
谢谢
更新1
以下行为可能有助于我们解决问题.例如,如果我访问存储库中不存在的路径
http://trash-cli.googlecode.com/svn-history/r10/non-existent
Run Code Online (Sandbox Code Playgroud)
我收到以下404错误:
未找到
在此服务器上找不到请求的URL/svn /!svn/bc/10 /不存在.
我怀疑场景下有一个URL重写规则.
更新2
请注意,这与此问题不同.我希望以一种Google代码所做的方式让用户感觉舒适的方式在我的公司存储库中公开这个服务,我对如何在没有此功能的外部存储库中获得旧版本感兴趣.我使用的是服务提供者的视角,而不是用户的视角.我希望让同事们的生活更轻松.
我的Eclipse 3.4.2不能在Mac OS 10.5.6上编译Java 1.6,这里的任何人都可以使用它吗?似乎无论我选择哪种JRE,它都会使用1.5进行编译.
我现在正在使用.NET框架(.asmx文件,而不是WCF)使用WebServices.我想知道告诉用户在方法调用中发生了某种业务错误的最佳做法是什么.
我的小测试用例:
我有测量探针需要注册中央服务器.每个探针应具有不同的物理地址.要注册,他们应该致电(通过网络服务):
[WebMethod]
public void RegisterReadingStation(out Guid sessionId, Int64 physicalAddress)
Run Code Online (Sandbox Code Playgroud)
现在,签名并非一成不变 - 实际上,这正是我想要弄清楚的.:)我需要以某种方式警告探测器是否正在尝试使用已经采用的物理地址进行自我注册.
我看到它的方式,我有几个可能性:
有什么想法吗?
在C++中,我们有资源获取初始化(RAII)模式,这极大地简化了资源管理.我们的想法是为任何类型的资源提供一些包装对象.然后,包装对象的析构函数负责在资源超出其范围时释放资源.例如:
{
auto_ptr<int> smartPointer = new int;
// some other code
} // the memory allocated for the int is released automatically
// by smartPointer's destructor
Run Code Online (Sandbox Code Playgroud)
最常见的用法是智能指针.但是,还有许多其他类型的资源(文件,互斥锁,套接字等)可以以完全相同的方式进行管理.
在Java中,不必打扰内存管理.但所有其他类型的资源仍然存在.还有最后块,但它的使用是非常不方便,尤其是当许多不同的异常可以被抛出.
所以,我的问题是,是否有任何Java模式提供相当于C++ RAII的功能?如果没有,请分享您在这个领域的最佳实践(而不是最终,除非它使用一些复杂的方式).
在mediawiki中,无论何时将模板嵌入到文章中,它总是以换行符进行(据我所知).有没有办法防止这种情况,以便我可以将模板放在彼此旁边,而第二个模板不在新线上?
在实例方法中指向类方法显然会导致问题:
class A(dict):
def __getitem__(self, name):
return dict.__getitem__(self, name)
class B(object):
def __init__(self):
self.a = A()
B.__getitem__ = self.a.__getitem__
b1 = B()
b1.a['a'] = 5
b2 = B()
b2.a['b'] = 10
c = b1['a']
d = b2['b']
Run Code Online (Sandbox Code Playgroud)
给出了这个错误:
File ... in __getitem__
return dict.__getitem__(self, name)
KeyError: 'a'
Run Code Online (Sandbox Code Playgroud)
我应该在这做什么呢?
java ×2
.net ×1
asp.net ×1
asp.net-mvc ×1
c# ×1
command-line ×1
eclipse ×1
gpl ×1
http ×1
licensing ×1
macos ×1
mediawiki ×1
mono ×1
open-source ×1
php ×1
python ×1
raii ×1
screenshot ×1
svn ×1
unix ×1
web-farm ×1
web-services ×1