小编Nik*_*las的帖子

aiohttp:提供单个静态文件

如何使用aiohttp提供单个静态文件(而不是整个目录)?

静态文件服务似乎与UrlDispatcher.add_static()一起烘焙到路由系统中,但这只服务于整个目录.

(我知道我最终应该使用类似nginx的东西在生产环境中提供静态文件.)

http python-asyncio aiohttp

11
推荐指数
3
解决办法
8403
查看次数

什么是Pythonic在解析器中报告非致命错误的方法?

我创建的解析器从文件中读取记录的国际象棋游戏.API使用如下:

import chess.pgn

pgn_file = open("games.pgn")

first_game = chess.pgn.read_game(pgn_file)
second_game = chess.pgn.read_game(pgn_file)
# ...
Run Code Online (Sandbox Code Playgroud)

有时会遇到非法移动(或其他问题).什么是好的Pythonic方式来处理它们?

  • 遇到错误时立即引发异常.但是,这会使每个问题都致命,因为执行会停止.通常,仍然有用的数据已被解析并可以返回.此外,您不能简单地继续解析下一个数据集,因为我们仍处于一些半读数据的中间.

  • 累积异常并在游戏结束时提升它们.这使得错误再次致命,但至少你可以抓住它并继续解析下一场比赛.

  • 引入一个这样的可选参数:

    game = chess.pgn.read_game(pgn_file, parser_info)
    if parser_info.error:
       # This appears to be quite verbose.
       # Now you can at least make the best of the sucessfully parsed parts.
       # ...
    
    Run Code Online (Sandbox Code Playgroud)

这些或其他方法是否在野外使用?

python error-handling warnings exception-handling

9
推荐指数
2
解决办法
1480
查看次数

在$ a == md5($ b.$ secret)中找到$ secret

功能是:

$a == md5($b . $secret);
Run Code Online (Sandbox Code Playgroud)
  • 您可以选择$ a和$ b
  • 你不知道$ secret
  • 您获得的$ a和$ b函数的值为true或false.

是否有比蛮力更好的攻击来找到一般的$ secret?有没有比使用PHP的md5功能找到$ secret的暴力更好的攻击?

从我在网上找到的内容我认为没有,尽管md5已被弃用用于其他一些用例.所以只是为了确定......

亲切的问候

php security md5 cryptography black-box

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

找出谁在C#中锁定网络驱动器上的文件

程序在共享网络驱动器的多台计算机上运行.它可以使用

... = new FileStream(path, FileMode.OpenOrCreate, FileAccess.Write, FileShare.Read);
Run Code Online (Sandbox Code Playgroud)

锁定文件以防写入.然后所有其他实例只能读取它并显示警告,该文件不可写.

如何找出谁(即哪台机器)锁定文件,在警告中显示?

c# windows

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

Mongo DB:获取最后一个已知文件后插入的所有文件

> db.events.find()
{ "_id" : ObjectId("50911c3e09913b2c643f1215"), "context" : "jvc8irfjc9cdnf93", "key" : "value" }
{ "_id" : ObjectId("50911c4709913b2c643f1216"), "context" : "jvc8irfjc9cdnf93", "key" : "new value" }
{ "_id" : ObjectId("50911c4b09913b2c643f1217"), "context" : "jvc8irfjc9cdnf93", "key" : "newer value" }
{ "_id" : ObjectId("50911c4f09913b2c643f1218"), "context" : "jvc8irfjc9cdnf93", "key" : "newest value" }
{ "_id" : ObjectId("50911c6309913b2c643f1219"), "context" : "0djd8vcndkfnjhv3", "key" : "value" }
Run Code Online (Sandbox Code Playgroud)

是Mongo数据库服务器上的事件列表.客户端跟踪他知道的最后一个事件,例如50911c4709913b2c643f1216,第二个事件.

如何获取在此已知事件之后插入的所有事件?在这种情况下50911c4b09913b2c643f1217,50911c4f09913b2c643f121850911c6309913b2c643f1219.

mongodb

6
推荐指数
2
解决办法
6304
查看次数

在Python中创建自签名SSL证书

我正在尝试使用Python 生成自签名SSL证书,因此它与平台无关.我的目标是*.pem格式.

我发现这个脚本生成证书,但没有信息如何自我签名.

python ssl m2crypto

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

在 C++ 中将惰性生成器实现为forward_iterator

MyGenerator 表示(可能)有限的整数序列,计算成本很高。所以我不想预先生成它们并将它们放入容器中。

struct MyGenerator{
  bool HasNext();
  int Next();
}
Run Code Online (Sandbox Code Playgroud)

要打印全部:

MyGenerator generator;
while (generator.HasNext()) {
  std::cout << generator.Next() << std::endl;
}
Run Code Online (Sandbox Code Playgroud)

如何实现一个遵循forward_iterator协议的类似生成器?

boost::function_input_iterator很接近,但我不知道前面的元素数量。

c++ boost iterator stl boost-iterators

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

clock_gettime(CLOCK_MONOTONIC) 跨内核/线程的单调性

我有多个进程在双处理器 X86-64 Linux 机器的不同内核上运行。通信内容包括时间戳。我想编写程序的时间相关逻辑,假设所有时间戳都来自同一个全局时钟。我可以指望吗clock_gettime(CLOCK_MONOTONIC)即使在不同内核上运行的不同线程,我也给我单调时间戳吗?

特别地,假设进程 A 获取时间戳 X 并通过共享内存将其发送到进程 B。进程 B 读取它,然后获取时间戳 Y。X 不能大于 Y。

使用的时间戳是否clock_gettime(CLOCK_MONOTONIC)具有上述属性?如果没有,还有哪些其他类型的具有此属性的单调时间戳?

c linux multithreading clock

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

如何在GitHub动作中易于安装?

在新的GitHub动作中,我试图安装一个软件包,以便在后续步骤之一中使用它。

name: CI

on: [push, pull_request]

jobs:
  translations:
    runs-on: ubuntu-latest
    steps:
    - uses: actions/checkout@v1
      with:
        fetch-depth: 1
    - name: Install xmllint
      run: apt-get install libxml2-utils
    # ...
Run Code Online (Sandbox Code Playgroud)

但是这失败了

Run apt-get install libxml2-utils
  apt-get install libxml2-utils
  shell: /bin/bash -e {0}
E: Could not open lock file /var/lib/dpkg/lock-frontend - open (13: Permission denied)
E: Unable to acquire the dpkg frontend lock (/var/lib/dpkg/lock-frontend), are you root?
##[error]Process completed with exit code 100.
Run Code Online (Sandbox Code Playgroud)

最好的方法是什么?是否需要接触Docker?

github-actions

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

哪个整数从一组整数到XOR来制作目标整数?

鉴于:

  • 一组约800个伪随机无符号64位整数.

    2910088619203924111,  8611579852607706360,  10743563285097812384,
    6712886796489718596, 17298387234720051377,  12467698534877227789,
    3782074590599432740,  1419307814092336225,   7951308495700413025,
    ...
    Run Code Online (Sandbox Code Playgroud)
  • 17358988457627394926相同类型的目标整数,大多数情况下不在集合中.

保证目标整数是通过对该组的最多50个(或更少)整数的子集进行异或来产生的.

什么是最有效的算法来找到在XORed时生成目标整数的整数(任何,而不是必须最小)的整数?

如果NP难,那么证明它的基本想法是什么?

algorithm xor

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