我正在尝试长期序列化一堆与java中强类层次结构相关的对象,并且由于它们的简单性,性能和易于升级,我想使用协议缓冲区来实现它.但是,它们并没有为多态性提供太多支持.现在,我正在处理它的方式是通过"一条消息来统治它们"的解决方案,它有一个必需的字符串uri字段,允许我通过反射实例化正确的类型,然后是一堆可选字段,用于所有我可以序列化的其他可能的类,只使用其中一个(基于uri字段的值).有没有更好的方法来处理多态,或者这是否会像我将得到的那样好?
我在Python中有一个包含浮点数的变量(例如num = 24654.123
),我想确定数字的精度和比例值(在Oracle意义上),所以123.45678应该给我(8,5),12.76应该给我(4,2)等
我第一次考虑使用字符串表示(via str
或repr
),但那些对于大数字失败(尽管我现在理解浮点表示的局限性是这里的问题):
>>> num = 1234567890.0987654321
>>> str(num) = 1234567890.1
>>> repr(num) = 1234567890.0987654
Run Code Online (Sandbox Code Playgroud)
编辑:
下面的好点.我应该澄清一下.该数字已经是一个浮点数,并通过cx_Oracle被推送到数据库.我正在努力尽我所能在Python中处理对于相应数据库类型来说太大而不执行INSERT和处理Oracle错误的浮点数(因为我想处理数字字段,而不是记录,在一段时间).我猜我map(len, repr(num).split('.'))
最接近浮子的精度和比例?
我今天发布了一个关于线程模式的问题,几乎每个人都建议我查看ExecutorService.
当我查看ExecutorService时,我想我错过了一些东西.如果服务有运行或阻塞的线程,并且有人调用ExecutorService.shutdown(),会发生什么.正在运行或阻止的线程会发生什么?
ExecutorService在终止之前是否等待这些线程完成?
我问这个的原因是因为很久以前我曾经涉足Java时,他们弃用了Thread.stop(),我记得停止线程的正确方法是使用sempahores并在必要时扩展Thread:
public void run () {
while (!this.exit) {
try {
block();
//do something
} catch (InterruptedException ie) {
}
}
}
public void stop () {
this.exit = true;
if (this.thread != null) {
this.thread.interrupt();
this.thread = null;
}
}
Run Code Online (Sandbox Code Playgroud)
ExecutorService如何处理正在运行的线程?
我正在尝试使用SimpleXML生成RSS Google Merchant.
Google提供的示例是:
<?xml version="1.0"?>
<rss version="2.0"
xmlns:g="http://base.google.com/ns/1.0">
<channel>
<title>The name of your data feed</title>
<link>http://www.example.com</link>
<description>A description of your content</description>
<item>
<title>Red wool sweater</title>
<link> http://www.example.com/item1-info-page.html</link>
<description>Comfortable and soft, this sweater will keep you warm on those cold winter nights.</description>
<g:image_link>http://www.example.com/image1.jpg</g:image_link> <g:price>25</g:price> <g:condition>new</g:condition> <g:id>1a</g:id>
</item>
</channel>
</rss>
Run Code Online (Sandbox Code Playgroud)
我的代码有:
$product->addChild("g:condition", 'new');
Run Code Online (Sandbox Code Playgroud)
哪个产生:
<condition>new</condition>
Run Code Online (Sandbox Code Playgroud)
我在网上看到我应该使用:
$product->addChild("g:condition", 'new', 'http://base.google.com/ns/1.0');
Run Code Online (Sandbox Code Playgroud)
现在生成:
<g:condition xmlns:g="http://base.google.com/ns/1.0">new</g:condition>
Run Code Online (Sandbox Code Playgroud)
这对我来说似乎是非常反直觉的,因为现在"xmlns"声明几乎在我的RSS feed中的每一行都只有一次在根元素中.
我错过了什么吗?
这是在Windows 7(64位),Python 2.6和Win32 Extensions for Python上运行的.
我有一个简单的脚本,只打印"你好世界".我可以用它启动它python hello.py
.在这种情况下,我可以将输出重定向到文件.但是如果我只是hello.py
在命令行输入并重定向输出来运行它,我会得到一个例外.
C:> python hello.py
hello world
C:> python hello.py >output
C:> type output
hello world
C:> hello.py
hello world
C:> hello.py >output
close failed in file object destructor:
Error in sys.excepthook:
Original exception was:
Run Code Online (Sandbox Code Playgroud)
我想我升级到Windows 7后首先得到此错误.我记得它应该在XP中运行.我见过有人在谈论这个bug python-Bugs-1012692 | 无法将输入传递给python程序.但那是很久以前的事了.它没有提到任何解决方案.
有没有人经历过这个?有人可以帮忙吗?
我试图在MySQL数据库中删除过期的条目,在创建或更新名为lastBeat的字段时使用CURRENT_TIME进行更新,并使用以下查询来检查/删除超过20秒的行:
DELETE * FROM `rmachines` WHERE
`lastBeat` < (NOW() - 20);
Run Code Online (Sandbox Code Playgroud)
我也尝试过CURRENT_TIME而不是NOW()
有2个主循环:
每秒更新rmachines中的一行
执行删除查询
如果2快速执行,当时间滚动到下一分钟(即59-60秒)时,它会删除该行,就像它已经过期一样(即使它确实没有!),否则它表现良好.
如果2每秒执行一次这不是那么明显,那么"错误到期"很少发生,但我每秒运行5次以暴露"问题".
我找到了一个解决方案,经过测试并且似乎在相同的情况下工作:
但谁能告诉我为什么我的方法不起作用?
有谁知道是否可以使用Google Apps脚本在不需要手动事件的情况下运行?含义 - 我想设置一个电子表格,以便在指定时间每天发送一个表单.我已经找到了如何手动发送通过执行脚本的形式,但谷歌实施的设置脚本在以后运行(并在经常性的基础)的能力?
我找了一个答案,却找不到答案.
谢谢...
我现在一直在思考这个问题......许多3D引擎支持使用四叉树,LOD ...所有你期望的功能的高级地形渲染.但是我见过的每个引擎都会从高度图加载高度数据...灰度位图.我只是无法理解它是如何有用的 - 高度图中的每个点都可以有256个值中的一个.但是如果你想模拟Mt. 珠峰?细节为1米,甚至更大?这远远超出了256的范围.当然我知道你可以实现自己的地形格式来实现这一目标,但我无法理解为什么高度图如此广泛使用,尽管它们有很大的局限性.
我现在使用Apache CXF作为.NET服务的Web服务客户端来绕过NTLM身份验证.它工作得很好,但我想知道为什么我似乎无法设置Web服务目标端点.CXF似乎在运行时希望WSDL出于某种奇怪的原因 - 不确定.它需要来自WSDL的物理端点,我认为它在测试环境中工作正常,但在部署时它肯定会改变.
这里有一些代码来演示:
MyWebServices service = new MyWebServices ();
MyWebServicesSoap port = service.getMyWebServicesSoap12();
// Turn off chunking so that NTLM can occur
Client client = ClientProxy.getClient(port);
HTTPConduit http = (HTTPConduit) client.getConduit();
HTTPClientPolicy httpClientPolicy = new HTTPClientPolicy();
httpClientPolicy.setConnectionTimeout(36000);
httpClientPolicy.setAllowChunking(false);
http.setClient(httpClientPolicy);
port.doSomethingUseful();
Run Code Online (Sandbox Code Playgroud)
同样,我无法在CXF客户端API中看到允许我设置服务端点的地方.不是我能看到的.在这种情况下,目标是http://localhost/integration/webservices/mywebservices.asmx,但我可以在任何地方.当然这个行人问题以某种方式解决了?
我开发了一个小型应用程序,我想尝试和销售,但我不熟悉如何最好地解决这个问题.
我如何将程序锁定以供试用1.
我将如何处理接受付款?
请记住,我是一个没有很多钱的单人乐队,我希望找到一个免费或低成本,有效,安全且易于实施和维护的解决方案.这不是我有很多经验,因为我通常为公共部门开发,他们购买解决方案作为一个问题,我们从未许可过它.
真的很感激任何帮助.谢谢,
乙
java ×2
python ×2
.net ×1
3d ×1
client-side ×1
command-line ×1
cxf ×1
datetime ×1
delete-row ×1
height ×1
licensing ×1
mysql ×1
php ×1
precision ×1
redirect ×1
rendering ×1
rss ×1
scale ×1
simplexml ×1
sql-delete ×1
string ×1
terrain ×1
timestamp ×1
web-services ×1
winapi ×1
windows-7 ×1
wpf ×1
xml ×1