小编win*_*aed的帖子

将C(\ 0已终止)字符串转换为PHP字符串

PHP是我定期使用的那种语言之一,但是当我再次开始使用它时,通常不得不关闭蜘蛛网.本周同样适用于我将一些C代码移植到PHP.这使用了大量的AES加密和SHA256散列 - 到目前为止一切正常.但是,解密的字符串以"C"形式出现 - 即以零字节后跟"垃圾"填充字节终止.

我目前使用以下内容将这些C风格的字符串"修剪"为PHP表单:

$iv = strpos( $hashsalt8, "\0");
if ($iv)
   $hashsalt8 = substr( $hashsalt8, 0, $iv );
Run Code Online (Sandbox Code Playgroud)

似乎啰嗦而且应该有一个单行函数调用,但我找不到它?

注意:虽然在这种情况下"哈希盐"名称意味着我可能知道原始字符串的长度,但在一般情况下这是未知的.显然,substr()当先验已知长度时,可以使用单线解决方案.

php c string substr strstr

4
推荐指数
1
解决办法
3565
查看次数

评估OpenStreetMap以进行国际路由

我一直在为北美和西欧/中欧的路线距离和旅行时间使用商业解决方案.我正在考虑将项目扩展到其他国家 - 也许是整个世界.各个商业提供商的预算和区域覆盖范围非常有限,可能使本地托管的OpenStreetMap成为唯一可行的选择.在有人建议在线解决方案之前,我的应用程序需要大量的密集路由计算 - 如果使用Web服务执行,这将花费很多或非常不礼貌(并且可能被禁止).计算结果将放回公共领域,因此重新编写OpenStreetMaps不是问题.

我的问题是如何评估OpenStreetMap数据库中各个国家/地区的路由数据覆盖率?这样的评估可以确定项目是否可行,以及适当的处理顺序(即,首先覆盖最佳的国家).

高端商业数据提供商通常可以提供统计描述,以及调查覆盖范围的区域描述.OpenStreetMap更加零散 - 一个区域通常包括一些道路,但不是所有道路.几米甚至10-20米的个别位置误差对我的应用来说不是问题(我正在看城市距离),但路线图连通性是.IE浏览器.道路矢量必须在交叉点逻辑上正确地相遇.

有没有人试图创建描述OpenStreetMap数据库数据覆盖范围的统计数据?

如果没有,你会怎么做?

我能想到的最好的方法是对地方(例如城市)进行随机抽样,然后尝试计算路线.必须假设主要道路将倾向于在次要道路之前添加.因此,两个遥远城市之间的路线将使用逻辑主要道路,而不是较小的道路(通常较长/较慢),因为主要道路缺失.

另一个问题是,实际上不可能在许多城镇之间开车.这通常是由于岛屿的存在(可以使用渡轮),但通常没有地面路线(例如努纳武特的定居点).那么,在(比方说)汤加和阿富汗之间进行比较时,如何使用这些统计数据.阿富汗的数据覆盖率可能非常低.汤加可能更好,但定居点遍布群岛.

关于我的申请的一些细节:所有起点和终点都是城镇和城市,其位置取自Geonames数据库.通常情况下,我正在查看一个国家中人口至少为1000的1000个最大城市.目前,路线一式两份计算为最快路线和最短路线.合理的道路速度根据广泛的道路类别而变化.估计的行程时间与道路距离一起计算.这些细节是对一致性的偏好 - 它们不是一成不变的.

gis routing geospatial openstreetmap geonames

4
推荐指数
2
解决办法
743
查看次数

最大路径问题

给定定向的未加权图并且问题是找到最大长度的简单路径(起始顶点和结束顶点不固定).它显然可以在O(n ^ 2*2 ^ n)中解决,但我听说有O(n*2 ^ n)算法,我不知道.那么如何在O(n*2 ^ n)中解决它?// n = | V |

graph-algorithm

4
推荐指数
1
解决办法
1831
查看次数

使用Elastic Beanstalk部署.NET worker应用程序

我正在使用AWS基础架构开发更广泛的Web应用程序.它有两个'worker'组件,它们从SQS读取工作并将结果写入RDS数据库.其中一个是Python,我已经在单个Elastic Beanstalk实例上工作了.第二个使用.NET,我目前正在研究如何部署它.对于生产,两者都具有多个实例的弹性.

由于这些处理组件不是Web应用程序(即它们不响应http请求),我必须明确地启动它们.对于Python示例,我使用.ebextensions文件:

container_commands:
  02-start-command:
    command: "nohup python scannerapp.py > foo.out 2> foo.err < /dev/null &"
    leader_only: false
Run Code Online (Sandbox Code Playgroud)

如何使用.NET应用程序执行相同的操作?与上面的Python/Linux示例一样,Windows配置文件支持"命令"和"容器命令",但这些文件适用于启动程序(例如安装程序).IE浏览器.在命令退出之前,启动/安装不会完成.nohup命令解决了Python的问题.如何使用.NET worker应用程序执行此操作?

或者它太难了,我应该考虑首先移植到MONO并使用其中一个Linux选项?(MONO运行成本预计会更具成本效益,因此它已经列入未来的待办事项列表)

.net amazon-web-services amazon-elastic-beanstalk

4
推荐指数
1
解决办法
2372
查看次数

在OpenLayers Map中更改投影

我想将"EPSG:4326"设置为OpenLayers地图的投影,但是当我尝试它时,我总是得到"EPSG:900913".

function init() {

    var options = {
            projection: new OpenLayers.Projection("EPSG:4326")  // ignored
    };

    map = new OpenLayers.Map('map', options);

    var layer = new OpenLayers.Layer.OSM.Osmarender("Osmarender");
    map.addLayer(layer);

    ...

    alert(map.getProjection());  // returns "EPSG:900913"

    ...

}
Run Code Online (Sandbox Code Playgroud)

基本地图是开放的街道地图.

如何将投影设置为EPSG:4326?

javascript geospatial openlayers openstreetmap proj4js

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

Postgresql表更新

我使用python中的postgresql更新了数据库表我的代码是

import psycopg2
connection=psycopg2.connect("dbname=homedb user=ria")
cursor=connection.cursor()
l_dict= {'licence_id':1}
cursor.execute("SELECT * FROM im_entry.usr_table")
rows=cursor.fetchall()

for row in rows:
   i=i+1
   p = findmax(row)
   #print p
   idn="id"
   idn=idn+str(i)


   cursor.execute("UPDATE im_entry.pr_table SET (selected_entry) = ('"+p+"') WHERE  image_1d ='"+idn+"'")
   print 'DATABASE TO PRINT'
cursor.execute("SELECT * FROM im_entry.pr_table")
rows=cursor.fetchall()
for row in rows:
    print row   
Run Code Online (Sandbox Code Playgroud)

我显示了更新的表格

但当我通过psql显示更新的表作为homedb =#SELECT*FROM im_entry.pr_table; 我显示了一个空表...有什么不对?请帮我

python database postgresql psycopg

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

c#XML序列化

我想序列化这样的东西,其中有一个标题和一个正文.

第一部分"galleryData"是标题第二部分是"imageData" - 为图库中的每个图像重复

<galleryData>
    <title>some title</title>
    <uuid>32432322</uuid>
    <imagepath>some path</imagepath>
</galleryData>

<imageData>
    <title>title one</title>
    <category>nature</category>
    <description>blah blah</description>
</imageData>

<imageData>
     <title>title two</title>
     <category>nature</category>
     <description>blah blah</description> 
</imageData>

<imageData>
    <title>title three</title>
    <category>nature</category>
    <description>blah blah</description>
</imageData>
Run Code Online (Sandbox Code Playgroud)

如果我不需要标题区域,我会看到如何做到这一点.我目前只是使用xmlwriter来创建它,但我想将对象序列化为xml.

c# xml xmlserializer

3
推荐指数
1
解决办法
316
查看次数

是否可以在处理同一事件时自动禁用Excel Worksheet_Change事件?

我有以下代码连接到InputSheet的Worksheet_Change事件:

Private Sub Worksheet_Change(ByVal Target As Range)
  ' First, make sure we're working with an InputRange cell
  ' ALL OTHER CELLS: Exit, no action
  Dim rngCells As Range
  Set rngCells = Intersect(Target, InputSheet.Range("InputRange"))
  If rngCells Is Nothing Then
       Exit Sub
  End If

  ' Do interesting stuff that updates InputSheet
End Sub
Run Code Online (Sandbox Code Playgroud)

此代码仅用于处理单元格子集(InputRange),但更新此范围之外的其他单元格.每个更新(可能有几百个)都会触发Worksheet_Change事件.

有没有办法在执行期间禁用它,然后在最后重新启用?

例如.某些语言有函数调用来执行此操作,或者甚至在VBA中,可以通过暂停计时器来禁用计时器事件.

我可以添加一个简单的标志,这将避免Intersect通话.毫无疑问,这会提高速度,但仍会导致不必要的事件回调.

excel events vba excel-vba

3
推荐指数
1
解决办法
48
查看次数

如何为我的 Espresso 活动测试提供自定义应用程序类?

我对 Espresso 很陌生,但我正在尝试测试一个相对简单的 Activity。我的 android 应用程序有自己的自定义 Application 类。我如何告诉 Espresso 使用此类的模拟(或自定义)版本?

这是我的应用程序的自定义版本。它创建了一些测试数据(为简洁起见在此处进行了编辑)。接下来,我还将覆盖一些方法。

public class MockMyApplication extends MyApplication {

@Override
public void onCreate() {
    super.onCreate();

    // create some location data for testing
    DataRecord rec = new DataRecord(1);
    rec.setName("TestLoc1");
    rec.setDescription("an important customer");
    MyData.add(rec);
 }
}
Run Code Online (Sandbox Code Playgroud)

我尝试使用它进行测试,如下所示:

@RunWith(AndroidJUnit4.class)
@LargeTest
public class LocEditActivityTest extends AndroidJUnitRunner {

@Rule
public ActivityTestRule<LocEditActivity> activityTestRule
        = new ActivityTestRule<>(LocEditActivity.class);


@Override
public Application newApplication(ClassLoader cl, String className, Context context) throws IllegalAccessException, ClassNotFoundException, InstantiationException {
    return super.newApplication(cl, MockMyApplication.class.getName(), context);
}


@Test
public void …
Run Code Online (Sandbox Code Playgroud)

android unit-testing android-espresso android-application-class

3
推荐指数
1
解决办法
1405
查看次数

如何使用 SPARQL 从 Wikidata 获取属性标签

我正在使用 SPARQLWrapper 将 SPARQL 查询发送到 Wikidata。目前我正在尝试查找实体的所有属性。例如。使用一个简单的元组,例如:wd:Q11663 ?a ?b. 这本身就有效,但我正在尝试为返回的属性和实体找到人类可读的标签。

尽管SERVICE wikibase:label可以使用 Wikidata 的 GUI 界面工作,但这不适用于 SPARQLWrapper - 它坚持为变量及其“标签”返回相同的值。

查询属性rdfs:label适用于实体 (?b),但此方法不适用于属性 (?a)。

看起来该属性正在作为完整的 URI 返回,例如http://www.wikidata.org/prop/direct/P1536. 使用 GUI 我可以成功查询wd:P1536 ?a ?b.. 如果我将它作为第二个查询发送 - 但不是在第一个查询中,这适用于 SPARQLWrapper。

这是我的代码:

from SPARQLWrapper import SPARQLWrapper, JSON

sparql = SPARQLWrapper("http://query.wikidata.org/sparql")

sparql.setQuery("""
  SELECT ?a ?aLabel ?propLabel ?b ?bLabel
  WHERE
  {
    wd:Q11663 ?a ?b.

    # Doesn't work with SPARQLWrapper
    #SERVICE wikibase:label { bd:serviceParam wikibase:language "en". }
    #?prop wikibase:directClaim ?p

    # but …
Run Code Online (Sandbox Code Playgroud)

sparql wikidata sparqlwrapper

3
推荐指数
1
解决办法
1908
查看次数