小编Sto*_*ica的帖子

设置和检索AVMetadataCommonKeyCreator的值时出现问题

我有一个iPhone视频录制应用程序.我AVAssetWriter用于将录制的视频数据写入文件.我也有兴趣将自定义元数据嵌入到文件中.例如:我想将我的应用程序识别为视频的创建者.

因此,在创建资产编写者之后,我使用密钥将创建者值添加AVMetadataCommonKeyCreator到资产编写者的元数据中.

代码段如下:

AVAssetWriter *assetWrtr = [[AVAssetWriter alloc] initWithURL:inURL fileType:AVFileTypeQuickTimeMovie error:&error];
self.assetWriter = assetWrtr;
[assetWrtr release];

NSArray *existingMetadataArray = self.assetWriter.metadata;
NSMutableArray *newMetadataArray = nil;
if (existingMetadataArray) 
{
    newMetadataArray = [existingMetadataArray mutableCopy]; // To prevent overriding of existing metadata
}
else 
{
    newMetadataArray = [[NSMutableArray alloc] init];
}

AVMutableMetadataItem *item = [[AVMutableMetadataItem alloc] init];
item.keySpace = AVMetadataKeySpaceCommon;
item.key = AVMetadataCommonKeyCreator;
item.value = @"My App";

[newMetadataArray addObject:item];
self.assetWriter.metadata = newMetadataArray;
[newMetadataArray release];
[item release];
Run Code Online (Sandbox Code Playgroud)

录制完成后,我尝试使用AVURLAsset读取文件的内容.

NSURL *outputFileURL = …
Run Code Online (Sandbox Code Playgroud)

metadata ios avassetwriter

9
推荐指数
1
解决办法
2265
查看次数

自定义etag生成

如何配置apache或nginx服务器以使用我选择的算法发送Etag标头(即不涉及inode,mtime或size)?有没有其他方法来编译新的C模块?

apache2 nginx

8
推荐指数
1
解决办法
1643
查看次数

在不是域根的URL上运行Flask应用程序

我正在将一个Flask应用程序从apache2和mod_wsgi环境移动到Nginx,并且在使URL正常工作时遇到问题.

我希望我的应用程序的根页面出现在,例如, http://example.org/myapp/

我的@ app.route装饰器例如@app.route('/')用于我的app(http://example.org/myapp)的根目录和@app.route('/subpage')子页面http://example.org/myapp/subpage.

在apache下,所有这些都"正常工作",并且我调用了url_for()生成完成工作的URL.

现在我的URL来自url_for()以下形式:href="/subpage",它将我发送到域根目录,http://example.org/subpage而不是我想要的内容:href="./subpage"这将带给我http://example.org/myapp/subpage.

对于它的价值,我的Nginx配置的相关部分是:

    location /myapp/ {
        proxy_redirect     off;
        proxy_set_header   Host $host;
        proxy_set_header   X-Real-IP $remote_addr;
        proxy_set_header   X-Forwarded-For $proxy_add_x_forwarded_for;
        proxy_set_header   X-Forwarded-Host $server_name;
        proxy_pass         http://127.0.0.1:8001/;
    }
Run Code Online (Sandbox Code Playgroud)

我正在用gunicorn服务.

通过现状,访问http://example.org/myapp/将我带到Flask应用程序的根页面,但所有其他URL将我带回域级别:http://example.org/subpage.

我已经尝试将APPLICATION_ROOT设置为"/ myapp",但它似乎没有任何效果.我在做什么(可怕)错了?

python wsgi nginx flask gunicorn

8
推荐指数
1
解决办法
3972
查看次数

如何仅在JTextArea的部分中显示粗体文本?

我可以将a的文本更改JTextArea为粗体(附加文本),然后恢复正常,它是否只显示粗体文本,其余部分正常显示?

也可以将内容JTextArea保存为RTF文档?

java swing jtextarea

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

如何检查 GrantedAuthority 集合中是否存在权限?

Authentication auth = SecurityContextHolder.getContext().getAuthentication();
Collection<? extends GrantedAuthority> roles = auth.getAuthorities();
Run Code Online (Sandbox Code Playgroud)

如何检查是否roles包含特定权限,例如"ROLE_ADMIN"

java spring spring-security

7
推荐指数
2
解决办法
7546
查看次数

如何使用 Django 测试客户端运行 2 个并发请求?

我需要在后端测试并发编辑错误的处理。我尝试使用线程使客户端并行工作,但在测试运行时出现异常:“详细信息:还有 2 个其他会话正在使用该数据库。”


不是 OP 的例子,但我有同样的问题。预期的结果是,由于事务回滚,其中一个调用被拒绝。

@pytest.mark.django_db
def test_transaction_failure(postdata, client):
    results_lock = threading.Lock()
    results = []

    def async_request():
       response = client.post('/edit-url', postdata)
       with results_lock:
           results.append(response)

    t1 = threading.Thread(target=async_request)
    t2 = threading.Thread(target=async_request)
    t1.start()
    t2.start()
    t1.join(timeout=10)
    t2.join(timeout=10)

    # assertions
Run Code Online (Sandbox Code Playgroud)

错误出现在拆解中:

..\..\env\lib\site-packages\django\test\utils.py:312: in teardown_databases
    connection.creation.destroy_test_db(old_name, verbosity, keepdb)
..\..\env\lib\site-packages\django\db\backends\base\creation.py:263: in destroy_test_db
    self._destroy_test_db(test_database_name, verbosity)
..\..\env\lib\site-packages\django\db\backends\base\creation.py:280: in _destroy_test_db
    % self.connection.ops.quote_name(test_database_name))
..\..\env\lib\site-packages\django\db\backends\utils.py:64: in execute
    return self.cursor.execute(sql, params)
..\..\env\lib\site-packages\django\db\utils.py:94: in __exit__
    six.reraise(dj_exc_type, dj_exc_value, traceback)
..\..\env\lib\site-packages\django\utils\six.py:685: in reraise
    raise value.with_traceback(tb)
_ _ _ _ _ _ _ _ _ …
Run Code Online (Sandbox Code Playgroud)

python django django-testing

7
推荐指数
0
解决办法
748
查看次数

如何要求多个角色/权限

据我所知,注释或对象中只有任何列表可用。尝试添加多个注释或调用要么编译失败,要么只使用最新的。@SecuredExpressionUrlAuthorizationConfigurerhasAuthority()

如何定义特定请求(匹配模式的请求集)或方法需要所有角色/权限列表?

spring spring-security spring-4

7
推荐指数
2
解决办法
9207
查看次数

时间戳的最大值

我在Windows 10 x64上使用Python 3.6.0。

我刚刚发现在中time.ctime(seconds)seconds参数具有一个隐式最大值,即32536799999,几乎等于2^34.92135

那是最大值吗?

错误消息只是说这是一个无效的数字。

>>> import time
>>> time.ctime(32536799999)
>>> 'Mon Jan 19 15:59:59 3001'
>>> time.ctime(32536799999+1)
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
OSError: [Errno 22] Invalid argument
Run Code Online (Sandbox Code Playgroud)

我用Google搜索并查看了Python文档,但没有找到任何有关它的信息。我将在实验室中的Ubuntu上检查此问题。

python windows time

7
推荐指数
1
解决办法
2749
查看次数

如何在weakref.finalize中引用最终对象?

我有一个类(我无法控制)没有实现自己的清理。我认为这是其中一种情况weakref.finalize,但我无法让它发挥作用。

def cleanup(obj):
    print('Cleanup obj')
    if not obj.is_closed:
        obj.close()
...

def make_obj():
    obj = SomeClass()

    # this creates an extra ref, so cleanup is never run
    weakref.finalize(obj, cleanup, obj)

    # this always results in ReferenceError; obj is already gone when cleanup is called
    weakref.finalize(obj, cleanup, weakref.proxy(obj))  
Run Code Online (Sandbox Code Playgroud)

难道我做错了什么?我误解了什么?

python weak-references

7
推荐指数
1
解决办法
2297
查看次数

Array和ArrayList之间的性能或内存消耗差异

我发现ArrayList通过在日常编码中使用数组而不是使用数组,我几乎可以轻松地完成任何操作并且可以进行更多控制.所以我问:

  1. 如果我可以使用它,是否适合避免阵列ArrayList
  2. 当我用一个数组替换一个数组时,我需要考虑一下内存ArrayList吗?

java performance arraylist

6
推荐指数
1
解决办法
8960
查看次数