小编Ale*_*lds的帖子

如何通过Apache2发送压缩(放气)的SVG?

我在网站的.htaccess文件中指定了以下属性:

AddOutputFilterByType DEFLATE image/svg+xml
DeflateCompressionLevel 9
Header append Vary Accept-Encoding
Run Code Online (Sandbox Code Playgroud)

但是,我的SVG资产不是以压缩形式发送的:

$ curl https://example.org/assets/svg/asset.svg --silent -H "Accept-Encoding: gzip,deflate" --write-out "${size_download}\n" --output /dev/null                 
152655                                                                                                                                                                                                                                  
$ curl https://example.org/assets/svg/asset.svg --silent --write-out "%{size_download}\n" --output /dev/null
152655
Run Code Online (Sandbox Code Playgroud)

我验证了此资产(asset.svg)是image/svg+xml使用Chrome 以MIME类型发送的,但是使用Web Developer工具时,此特定文件在发送到客户端时不会被压缩.

将其他MIME类型添加到.htaccess文件是成功的(例如,添加text/html压缩HTML资源).

这似乎特定于如何处理SVG数据.我还可以尝试或排除故障以使SVG压缩工作?

.htaccess svg google-chrome apache2

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

Python JSON模块没有属性'dumps'

我正在运行Python 2.7(x64 Linux)并尝试将其转换dict为JSON对象.

>>> import sys
>>> sys.version_info
sys.version_info(major=2, minor=7, micro=0, releaselevel='final', serial=0)
Run Code Online (Sandbox Code Playgroud)

我试图使用simplejson(json从标准库回退)但我收到以下错误:

>>> try: import simplejson as json
... except ImportError: import json
...                  
>>> metadata = dict()
>>> metadata['foo'] = 'bar'
>>> print metadata
{'foo': 'bar'}
>>> json.dumps(metadata)
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
AttributeError: 'module' object has no attribute 'dumps' 
Run Code Online (Sandbox Code Playgroud)

使用jsonsimplejson使用Python 2.7 时是否有一些明显的缺失?

python import json simplejson attributeerror

33
推荐指数
7
解决办法
4万
查看次数

如何安全地关闭viewWillDisappear中的加载UIWebView?

我有一个包含UIWebView的视图,它正在加载一个谷歌地图(所以很多javascript等).我遇到的问题是,如果用户在Web视图加载完之前点击导航栏上的"后退"按钮,我不清楚如何整理地告诉Web视图停止加载然后释放它,而不是获取发送到解除分配的实例的消息.我也不确定网页视图是否喜欢它的容器视图在它完成之前消失(但是如果用户在加载之前点击后退按钮,我别无选择).

在我的viewWillDisappear处理程序中我有这个

map.delegate=nil;
[self.map stopLoading];
Run Code Online (Sandbox Code Playgroud)

这似乎可以处理大多数情况,因为nil'ing委托停止它将didFailLoadWithError发送到我的视图控制器.但是,如果我在视图的dealloc方法中释放Web视图,有时(间歇性地)我仍会收到发送到解除分配的实例的消息,这似乎与在实际页面中运行的javascript有关,例如:

-[UIWebView webView:runJavaScriptAlertPanelWithMessage:initiatedByFrame:]: message sent to deallocated instance 0x4469ee0
Run Code Online (Sandbox Code Playgroud)

如果我只是不发布webview,那么我不会收到这些消息,但我想我正在泄漏webview.

如果我没有发送'stopLoading'消息,只是在viewWillDisappear中发布webview,那么我会看到如下消息:

/SourceCache/WebCore/WebCore-351.9.42/wak/WKWindow.c:250 WKWindowIsSuspendedWindow:  NULL window.
Run Code Online (Sandbox Code Playgroud)

可能相关,我有时(再次完全断断续续)得到一个丑陋的heisenbug,点击其他视图的导航栏上的后退按钮将弹出标题,但不是视图.换句话说,我在堆栈上留下了视图n的标题,但是显示的视图仍然是视图n + 1(结果是你被困在这个屏幕上并且无法返回到根视图 - 你可以去其他方向,即推送更多视图并弹回到没有正确弹出的视图,只是不到根视图.唯一的出路是退出应用程序).在其他时候,相同视图上的推送和弹出的相同序列工作正常.

这个特别的一个让我疯了.我认为它可能与视图在加载Web视图之前消失有关,即在这种情况下我怀疑它可能会在内存上乱写并混淆视图堆栈.或者,这可能是完全不相关的,而且是其他地方的错误(我从来没有能够在调试构建模式下重现它,只有当我无法使用gdb观看它时才会发布版本设置:-).从我的调试运行开始,我认为我不会过度发布任何内容.而且我似乎只能触发它,如果在某些时候我已经点击了具有Web视图的视图,并且在此之后不会立即发生.

iphone cocoa-touch uiwebview

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

测试文件是否存在于makefile目标中,如果不存在则退出

如果文件不存在,有没有办法退出错误条件?我目前正在做这样的事情:

all: foo

foo:
    test -s /opt/local/bin/gsort || echo "GNU sort does not exist! Exiting..." && exit
Run Code Online (Sandbox Code Playgroud)

运行make运行all目标,运行foo.

期望是如果test -s条件失败,则echo/exit执行语句.

但是,即使/usr/bin/gsort存在,我也会获得echo语句的结果,但exit命令不会运行.这与我希望完成的事情相反.

做上述事情的正确方法是什么?

gnu makefile

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

我是否需要发布手势识别器?

如果我将一个手势识别器添加到一个名为的表格单元格cell,例如:

UILongPressGestureRecognizer *_longPressRecognizer = [[UILongPressGestureRecognizer alloc] initWithTarget:self action:@selector(cellGestureRecognized:)];
_longPressRecognizer.allowableMovement = 20;
_longPressRecognizer.minimumPressDuration = 1.0f;
[cell addGestureRecognizer:_longPressRecognizer];
[_longPressRecognizer release], _longPressRecognizer = nil; 
Run Code Online (Sandbox Code Playgroud)

我是否需要-removeGestureRecognizer:在某个时刻手动调用此单元格,或者在不再使用单元格时是否删除并释放手势识别器?

iphone memory-management gesture-recognition uigesturerecognizer

23
推荐指数
1
解决办法
3999
查看次数

C++映射插入和查找性能和存储开销

我想将integer键的映射存储到float内存中的值.

我有大约1.3亿个键(因此,有1.3亿个键).

我的重点是查找性能 - 我必须进行许多,数百万次查找.

C++ STL库有一个map用于此类关联数组的类.我有几个问题map.

map上述大小的数据集的存储开销是多少?一般来说,存储开销如何扩展map

看起来底层数据结构map是红黑,平衡的二叉树.听起来真实世界的表现就是O(log n)插入和检索.

它提到O(1)了一个暗示插入.我的输入是预先排序的,所以我相信我应该能够提供插入事件的提示.我如何使用此处列出的方法提供此提示?

是否有一个提供更好查找性能的STL容器?

是否有其他公开可用的开源框架,其关联数组类使用的底层数据结构的性能优于STL map

如果编写我自己的容器类可以提供更好的查找性能,我可以研究哪些数据结构?

我正在使用GCC 4执行此任务,在Linux或Mac OS X下运行.

如果这些都是愚蠢的问题,我会提前道歉.感谢您的意见.

c++ stl map data-structures

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

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

模糊的UILabel作为UITableViewCell contentView的程序化子视图

我正在添加一个UILabel实例作为我的自定义UITableViewCell实例的子视图contentView.

当我选择单元格时,除了标签的背景外,该行突出显示为蓝色.标签文字很清晰.

当我将标签和内容视图backgroundColor属性设置[UIColor clearColor]为时,标签文本变得模糊.

如何将标签背景颜色设置为清晰,以允许行突出显示,同时仍保持标签文字清晰?

我在其他地方读到的一个建议是round标签的frame值,但这没有任何影响.

这是我的自定义UITableViewCell子视图-setNeedsLayout方法的片段:

UILabel *_objectTitleLabel = [[UILabel alloc] initWithFrame:CGRectNull];
_objectTitleLabel.text = [self.awsObject cleanedKey];
_objectTitleLabel.font = [UIAppDelegate defaultObjectLabelFont];
_objectTitleLabel.highlightedTextColor = [UIColor clearColor]; //[UIAppDelegate defaultLabelShadowTint];
_objectTitleLabel.backgroundColor = [UIColor clearColor]; //[UIAppDelegate defaultWidgetBackgroundTint];
_objectTitleLabel.frame = CGRectMake(
        kCellImageViewWidth + 2.0 * self.indentationWidth,
        0.5 * (self.tableView.rowHeight - 1.5 * kCellLabelHeight) + kCellTitleYPositionNudge,
        contentViewWidth,
        kCellLabelHeight
);
_objectTitleLabel.frame = CGRectIntegral(_objectTitleLabel.frame);
_objectTitleLabel.tag = kObjectTableViewCellTitleSubviewType;
//NSLog(@"_objectTitleLabel: %@", …
Run Code Online (Sandbox Code Playgroud)

iphone colors uitableview uiview uilabel

20
推荐指数
3
解决办法
9920
查看次数

如何以编程方式创建UIViewController?

我正在一个我有数据的应用程序中工作UITableView.它就像一个向下钻取的应用程序.用户将点击一行,将转到下一页,显示更多记录UITableView.但我的问题是,我不知道用户可以钻多少级别.级别数量不固定.所以现在我想以编程方式创建和添加viewcontrollers.可能吗??如果有,怎么样?提前致谢.

iphone uitableview uiviewcontroller

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

Python Popen.communicate()内存限制的替代方案?

我有以下大量的Python代码(运行v2.7)导致在MemoryError处理大(几GB)文件时抛出异常:

myProcess = Popen(myCmd, shell=True, stdout=PIPE, stderr=PIPE)
myStdout, myStderr = myProcess.communicate()
sys.stdout.write(myStdout)
if myStderr:
    sys.stderr.write(myStderr)
Run Code Online (Sandbox Code Playgroud)

在阅读文档时Popen.communicate(),似乎有一些缓冲:

注意读取的数据缓冲在内存中,因此如果数据大小很大或不受限制,请不要使用此方法.

有没有办法禁用此缓冲,或强制缓存在进程运行时定期清除?

我应该在Python中使用什么替代方法来运行将千兆字节数据流式传输到的命令stdout

我应该注意,我需要处理输出和错误流.

python memory stream popen

19
推荐指数
2
解决办法
5238
查看次数