我目前在python上使用twisted的透视代理,我在过去曾考虑过切换到类似RabbitMQ的东西,但我不确定它是否可以取代pb - 我觉得我可能会在这里将苹果与橙子进行比较.我最近一直在阅读很多关于REST的内容以及与SOAP的不可避免的争论,这使我开始阅读像SOA这样的"企业级"Web服务.
我有一个项目,我需要在Web和桌面上实现一些类似erp的功能,所以我正在考虑使用哪种方法/技术在服务器和客户端之间进行通信.但我也试图尽可能多地学习所有这些,所以我不想只是解决这个特殊的问题.
您在服务器和客户端之间进行通信时使用了什么?
我理解像透视代理这样的特定于python的协议可以限制我的互操作性,但我是否正确地假设某些AMQP协议可以取代它?
如果我没弄错的话,twisted.pb和amqp都使用永远在线的连接和非常低的开销协议.但一方面,保持大量客户端始终连接可能是一个问题,另一方面,即使使用http keep-alive和他们使用的任何技巧,序列化部分仍然是Web服务的问题.
如果我在任何假设中出错,如果有人能指出我正确的方向来了解更多,我将不胜感激.
我想在我的属性的约束定义之外保留我的自定义约束验证器闭包,因为它使得它更容易阅读和重用,但我做错了.我正在尝试这样做:
class City {
String name
static constraints = {
name( nullable:false, blank:false, validator: uniqueCityValidator )
}
def uniqueCityValidator = {
if ( City.findByNameILike(it) ) return ['cityExists']
}
}
Run Code Online (Sandbox Code Playgroud)
但是我收到以下错误:
groovy.lang.MissingPropertyException: No such property: uniqueCityValidator for class: com.xxx.City
at com.withfriends.City$__clinit__closure2.doCall(City.groovy:7)
at com.withfriends.City$__clinit__closure2.doCall(City.groovy)
at grails.test.MockUtils.addValidateMethod(MockUtils.groovy:857)
at grails.test.MockUtils.prepareForConstraintsTests(MockUtils.groovy:544)
at grails.test.MockUtils$prepareForConstraintsTests.call(Unknown Source)
at grails.test.GrailsUnitTestCase.mockForConstraintsTests(GrailsUnitTestCase.groovy:116)
at com.xxx.CityTests.testUniqueConstraintForSameCase(CityTests.groovy:9)
Run Code Online (Sandbox Code Playgroud) 在PostgreSQL中,我有一个类似下面的查询,它将从1m行表中删除250k行:
DELETE FROM table WHERE key = 'needle';
Run Code Online (Sandbox Code Playgroud)
查询需要一个多小时才能执行,在此期间,受影响的行将被锁定以进行写入.这并不好,因为这意味着许多更新查询必须等待大删除查询完成(然后它们将失败,因为行从它们下面消失但是没关系).我需要一种方法将这个大查询分成多个部分,以便尽可能减少对更新查询的干扰.例如,如果删除查询可以拆分为每个包含1000行的块,则其他更新查询最多必须等待涉及1000行的删除查询.
DELETE FROM table WHERE key = 'needle' LIMIT 10000;
Run Code Online (Sandbox Code Playgroud)
该查询可以很好地工作,但唉它在postgres中不存在.
我必须对Java应用程序进行概要分析.如果有人让我知道免费的Java pr-filer,我将不胜感激.我听说过YourKit,但对它的性能了解不多.Alos喜欢有关Java代码优化的信息.提前致谢.
谢谢
这是CLLocationManager文档中描述使用startMonitoringSignificantLocationChanges的应用程序行为的部分:
如果您启动此服务并且您的应用程序随后终止,则系统会在新事件到达时自动将应用程序重新启动到后台.在这种情况下,传递给应用程序的选项字典:didFinishLaunchingWithOptions:应用程序委托的方法包含密钥UIApplicationLaunchOptionsLocationKey,以指示您的应用程序是由于位置事件而启动的.重新启动后,您仍必须配置位置管理器对象并调用此方法以继续接收位置事件.重新启动位置服务时,会立即将当前事件传递给您的代理.此外,即使在启动位置服务之前,也会使用最新的位置对象填充位置管理器对象的位置属性.
所以我的理解是,如果你的应用程序终止(并假设你没有从applicationWillTerminate调用stopMonitoringSignificantLocationChanges),你将会被应用程序唤醒UIApplicationLaunchOptionsLocationKey参数:didFinishLaunchingWithOptions.此时,您将创建CLLocationManager,调用startMonitoringSignificantLocationChanges并在有限时间内执行后台位置处理.这一点我很好.
前一段只谈到应用程序终止时会发生什么,它不会建议您在应用程序暂停时执行的操作.didFinishLaunchingWithOptions的文档说:
该应用程序在后台跟踪位置更新,已被清除,现在已重新启动.在这种情况下,字典包含一个键,表示由于新的位置事件导致应用程序重新启动.
建议您在终止后启动应用程序(因为位置更改)时才会收到此呼叫.
但是," 位置感知规划指南"中关于重大变更服务的段落如下:
如果您使此服务保持运行并且您的应用程序随后被暂停或终止,则服务会在新位置数据到达时自动唤醒您的应用程序.在唤醒时,您的应用程序将被置于后台并给予少量时间来处理位置数据.由于您的应用程序位于后台,因此应该执行最少的工作并避免任何可能阻止其在分配的时间到期之前返回的任务(例如查询网络).如果没有,您的申请可能会被终止.
这表明如果您的应用已被暂停,您会被位置数据唤醒,但未提及您是如何被唤醒的:
在写这篇文章的过程中,我想我可能刚刚回答了我自己的问题,但是如果有更多知识渊博的人对我的理解得到证实,那就太棒了.
有时,当我编码错误时,我会花很多时间找到错误.
是否有插件使Vim强调或突出显示PHP,HTML或CSS错误?
例如:
<?php
foreach ($row as $r) {
<echo '<h1>' . $r->title . '</h1>';
}
?>
Run Code Online (Sandbox Code Playgroud)
在'<'之前的回声会以红色突出显示.
Vim有HTML修正,但我需要PHP和CSS.
Powershell是否足以成为企业使用的技术?转换现有VBS脚本需要花费多少时间和精力,或者只将它用于新的脚本项目?
我们目前正在使用vbs和批处理文件的混合,使用登录脚本而不是很多GPO.我们没有大量的.NET程序员,而几乎每个人都知道一点VB.
如何实现循环UIScrollView?也就是说,当您滚动到最左侧的项目时,UIScrollView将显示非常正确的项目.任何帮助将是欣赏.
这是我第一次使用Drupal并且我喜欢它,但是有很多配置要经过(我喜欢),我担心我需要启用/禁用以使Drupal生产准备就绪.我确实看到默认启用了屏幕上的打印错误,这就是为什么我在询问是否还有其他内容.
php ×2
amqp ×1
batch-file ×1
css ×1
cyclic ×1
drupal ×1
grails ×1
html ×1
ios ×1
iphone ×1
java ×1
locking ×1
optimization ×1
postgresql ×1
powershell ×1
profiler ×1
python ×1
sql ×1
sql-delete ×1
twilio ×1
twisted ×1
uiscrollview ×1
vbscript ×1
vim ×1
web-services ×1