小编Bry*_*mas的帖子

解密由Java HttpsURLConnection生成的Wireshark中的客户端SSL流量

我正在尝试使用由其他人编写的GUI Java程序,这种程序不像我期望的那样.在程序运行过程中,它与服务器联系以提取数据,但它没有显示正确的数据.我正在尝试确定我遇到的问题是否与网络相关 - 即正确的位从未进入客户端.

查看Java程序的源代码,它似乎使用HttpsURLConnection类通过SSL从服务器提取数据.我希望能够做的是使用Wireshark检查线路上发生的事情.我的理解是,如果你有相关的密钥,Wireshark支持解密一些SSL流量.我不控制服务器,因此无法访问其私钥.但是我控制程序运行的客户端.我的问题是,在实际中我如何配置wireshark来解密我刚才描述的场景的SSL流量?是否有一个特定的密钥HttpsURLConnection使用我可以添加到Wireshark?还有别的吗?

我应该注意到我已经考虑过简单地将日志记录添加到Java代码库中,但最终会更喜欢数据包捕获的基本事实而不是日志记录,因为我可能会错过/忽略在记录代码库时重要的事情我不完全了解.

java ssl wireshark httpsurlconnection

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

Flurry Analytics在Android模拟器中"运行"时崩溃,但在模拟器中"调试"时则不会崩溃

根据标题,我有一个应用程序,它使用Android 的Flurry Analytics库.我已经按照他们的基本步骤将分析集成到我的应用程序中.如果我在Android模拟器中调试我的应用程序,一切正常.另一方面,如果我在Android模拟器中运行我的应用程序,Flurry似乎崩溃了.这是logcat的输出:

10-19 16:03:14.004: E/AndroidRuntime(385): FATAL EXCEPTION: FlurryAgent  
10-19 16:03:14.004: E/AndroidRuntime(385): java.lang.NullPointerException  
10-19 16:03:14.004: E/AndroidRuntime(385):  at com.flurry.android.FlurryAgent.b(SourceFile:2188)  
10-19 16:03:14.004: E/AndroidRuntime(385):  at   com.flurry.android.FlurryAgent.a(SourceFile:68)  
10-19 16:03:14.004: E/AndroidRuntime(385):  at com.flurry.android.e.run(SourceFile:1420)  
10-19 16:03:14.004: E/AndroidRuntime(385):  at   android.os.Handler.handleCallback(Handler.java:587)  
10-19 16:03:14.004: E/AndroidRuntime(385):  at android.os.Handler.dispatchMessage(Handler.java:92)  
10-19 16:03:14.004: E/AndroidRuntime(385):  at android.os.Looper.loop(Looper.java:123)  
10-19 16:03:14.004: E/AndroidRuntime(385):  at android.os.HandlerThread.run(HandlerThread.java:60)
Run Code Online (Sandbox Code Playgroud)

奇怪的是,这个问题似乎只发生在我运行Android 2.2(Froyo)虚拟设备时,而如果我在Android 4.1虚拟设备中运行它,它很好.不幸的是,我无法立即访问真正的Android 2.2设备进行测试.

任何人都可以建议可能出错的地方?

android android-emulator flurry

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

使用MKMapView指导iOS6 app的可接受"Live Bytes"

我希望确保我的应用程序不会在仍然相当资源受限的设备上消耗太多内存.几天前,我使用Instruments来确定我的应用程序使用了多少内存,而Live Bytes则增加了4-8 MB .今天我再次运行仪器,我的Live Bytes大约为30-35兆字节.我不相信我在这两次代码之间对代码做了任何重大更改.

我的应用使用MKMapView自定义图块叠加层.我推迟了很长一段时间更新XCode,所以我怀疑差异可能是我的iOS模拟器几天前还在使用Google而不是Apple地图,直到我升级了XCode.

作为一个小测试,我创建了一个新的测试应用程序,只有一个MKMapView,没有别的,并在其上运行仪器.这个应用程序的Live Bytes通常是50-90兆字节的顺序,即使它没有任何自定义代码 - 我只是拖动'删除MKMapView.

这是否故意代表Apple代表新地图使用这么多内存我不知道.也许地图图块是在应用程序之间共享的,这很好.无论哪种方式,由于大多数早期的建议大约为5-20MB,而且Apple的MKMapView本身消耗50-90MB,因此对于我可以安全使用多少Live Bytes进行合理的近似是很复杂的.

是否有另一个有用的指标,我可以通过使Live Bytes现在没有任何用处?

编辑:看起来像其他人这是一个合法的内存管理问题,并导致应用程序崩溃:iOS6 MKMapView使用大量的内存,到崩溃的应用程序,其他人注意到这一点?

instruments mkmapview ios6

5
推荐指数
0
解决办法
1739
查看次数

Objective-C sqlite在LIKE子句中添加查询参数

sqlite通过C API在Objective-C中使用.我的应用程序的一个预期功能是用户可以搜索人名,并且对于他们输入的每个新字符,执行SQL查询LIKE以查找名称符合匹配条件的所有人.我遇到的问题是参数化LIKE中的匹配,而不是按字面解释问号.也就是说,我相信目前的应用程序正在寻找包含?在其中的人名(没有人).

我的代码看起来像这样:

const char *sql = "SELECT rowid, name, email FROM person WHERE name LIKE '%?%'";
sqlite3_stmt *sqlStatement;
if(sqlite3_prepare_v2(db, sql, -1, &sqlStatement, NULL) != SQLITE_OK) {
    NSLog(@"Problem preparing getFilteredPeopleStubs statement.");
}
if(sqlite3_bind_text(sqlStatement, 1, [searchText UTF8String], -1, SQLITE_TRANSIENT) != SQLITE_OK){
    NSLog(@"Problem binding search text param.");
}
Run Code Online (Sandbox Code Playgroud)

基本上,searchText希望这个名字来自哪里,但目前我认为它只是搜索名字中包含的人?,因为单引号'%?%'.是否有一个解决这个问题的方法仍然允许我使用参数化查询(防止SQL注入)并实现我所追求的目标?

c sqlite objective-c sql-like

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

POSIXct时区如何在R中工作

我有一组标准的unix整数时间戳,全部是UTC(GMT),我正在输入我希望绘制的R.我一直在使用表单的代码:

d$date_time <- as.POSIXct(d$date_time,origin="1970-01-01",tz="GMT")

将我的标准unix时间戳UTC整数列转换为我假设的某种可绘制对象集.我可以绘制这个并且数据看起来很好,但我不知道我的所有数据是否都被我的计算机的本地时区或任何其他时区调整以任何方式偏移.这是因为我不明白在a)我进行调用时对数据进行了哪些调整(如果有的话),as.POSIXct()以及b)在绘制数据时.所以这些是我的问题:

  1. 当我tz="GMT"在上面指定时,这究竟是什么告诉计算机呢?我看到三种可能性:i)"您的数据是GMT,您希望它转换为您当地时间"ii)"您的数据始终假定为当地时间,您希望它转换为GMT"iii)"您的数据始终是假设是格林尼治标准时间,你希望我把它留在GMT,所以不要做任何调整".
  2. 当我绘制数据(有xyplot)时,绘图功能是否对时间进行任何视觉调整?如果是这样,有什么调整?

我想如果有人能够解释内部数据结构如何存储时区信息以及如何通过各种命令转换这些数据结构,它将有助于清理问题.基本上,我想从开始使用UTC直到显示点,我可能希望对时区进行调整,尽管理想情况下明确而不是计算机默默地为我决定.

timezone r posixct

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

matplotlib 在包含子图的图中共享行标签(不是 y 标签)

我试图在 matplotlib 中生成一个类似格子的图。这是我想要的草图:

在此输入图像描述

我遇到麻烦的一件事是为每一行获取共享行标签。即在我的图中,我有四行用于四组不同的实验,所以我想要行标签“1 个源节点、2 个源节点、4 个源节点和 8 个源节点”。

请注意,我指的不是y标签,它用于标记因变量。所有子图中的因变量都是相同的,但我后面的标签是描述所进行的四类实验,每一行一个。

目前,我正在生成情节:

fig, axes = plt.subplots(4, 5, sharey=True)
Run Code Online (Sandbox Code Playgroud)

虽然我找到了大量有关共享 y 轴标签的信息,但我还没有找到有关添加单个共享行标签的任何信息。

matplotlib

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

Matplotlib灰度热图,具有视觉上不同的"NA"方块字段

我正在创建一个用于出版物的热图.该出版物仅限于黑白打印,因此我正在以灰度创建热图.我遇到的问题是热图中有一些"不适用"的正方形,我希望在视觉上区别于其他单元格.我的理解是,如果热图在刻度的两端都有颜色,那么使用numpy的蒙版数组可能(?)可以实现,并且被遮罩的字段可以简单地显示为白色.问题是,我想使用从白到黑的全光谱来说明非NA数据的范围.反正是否有区分NA细胞与其他视觉机制,如删除线?

下面是带有掩码阵列的灰度的最小示例(从此处改编).NA值可能在这里被掩盖,你只是无法分辨,因为它使用的是白色,它已被用作有效光谱高端的颜色.

import numpy as np
from pylab import *

z = rand(10, 25)
z = np.ma.masked_array(z,mask=z>0.8)

c = pcolor(z)
set_cmap('gray')
colorbar()
c = pcolor(z, edgecolors='w', linewidths=1)
axis([0,25,0,10])
savefig('plt.png')
show()
Run Code Online (Sandbox Code Playgroud)

在此输入图像描述

python matplotlib heatmap

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

去语言time.Parse()获取没有时区的时间戳

在Go我试图使用包中的time.Parse()函数time将字符串时间戳转换为Time对象.我知道Go有一种不常见的方式来表示时间戳的时间格式,方法是提供一个示例,说明它们的参考时间(Mon Jan 2 15:04:05 -0700 MST 2006)将如何以您的格式显示.但我仍然遇到错误问题.以下是我的一个时间戳示例:

Tue Nov 27 09:09:29 UTC 2012
Run Code Online (Sandbox Code Playgroud)

以下是我正在制作的电话:

    t, err := time.Parse("Mon Jan 02 22:04:05 UTC 2006", "Tue Nov 27 09:09:29 UTC 2012")
Run Code Online (Sandbox Code Playgroud)

所以基本上我在这里所做的就是尝试匹配日名/月名/日号,小时/分钟/秒格式,字符串文字"UTC"和年份格式的格式.请注意,我已经将Go参考格式的小时字段增加7(从1522),以说明其时间戳位于负7时区并且所有时间戳都在UTC时区中.

我得到的错误是:

parsing time "Tue Nov 27 09:09:29 UTC 2012" as "Mon Jan 02 22:04:05 UTC 2006": cannot parse ":09:29 UTC 2012" as "2"
Run Code Online (Sandbox Code Playgroud)

我在这做错了什么?我是否误解了如何使用time.Parse()或由于某种原因不支持我的用例?

datetime date go

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

分配初始化属性两次导致ARC Objective C中的内存泄漏?

我有一段代码在功能上等同于:

self.myProperty = [[MyClass alloc] initWithBla:bla blur:blur];
self.myProperty = [[MyClass alloc] initWithBla:bla blur:blur];
Run Code Online (Sandbox Code Playgroud)

如上所述,我实际上并没有连续两次这样做,但它实际上正在发生的事情.我的问题是,这是否导致ARC Objective C下的任何内存泄漏?self.myPropertyself.myProperty重新分配之前回收的第一次调用中分配的内存是否指向新分配的实例MyClass

memory-management objective-c automatic-ref-counting

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

GNU Parallel:抑制有关增加块大小的警告

我正在使用GNU Parallel在文件的每一行上同时执行命令。尽管它不会对结果造成任何问题,但 GNU 并行会发出许多以下类型的警告,使输出变得混乱:

parallel: Warning: A full record was not matched in a block. Increasing to --blocksize 1363150

我认为这只是意味着我选择使用的块大小在输入边界处不太匹配,因此并行正在增加块大小,所以它确实如此。正如我所说,我不认为这会对输出结果造成任何问题,这只是我需要一遍又一遍地重复看到的警告,甚至一次。有什么办法可以专门抑制这些警告吗?我真的不想完全重定向 stderr 并错过任何重要消息。

parallel-processing gnu

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