小编xen*_*ndi的帖子

Amazon S3 重复数据删除?

我目前正在编写一个视频共享网站。对于上传,我使用的是 PHP。我注意到当我上传视频时,S3 会获取文件的 MD5 哈希值。我想知道 S3 是否进行了任何重复数据删除。我上传了几个相同的文件,但没有看到任何内容表明 S3 知道它们是相同的,或者至少它正在做任何事情。

我应该自己实现吗?我有一个 MySQL 数据库,用于存储所有视频信息。我可以对所有视频进行哈希处理,并提供以前上传的文件(如果它们相同)。我可以简单地做md5(tmp-file-here)。这似乎很合适,因为 S3 已经在使用 md5。但是,与针对诸如 BLAKE2 之类的东西进行优化的东西相比,md5 很慢。我应该这样做吗?最好的方法是什么?

php hash md5 amazon-s3 duplicates

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

检测哪些脚本对 DOM 进行了更改

我的页面上有一些 html 表单元素,并且一些脚本在页面加载时正在更改它们。有些东西正在删除他们的 ID。我不知道如何或为什么,但我需要弄清楚它的真相。就这么简单:

<p>
    <input id="depSymbol" class="form-control" type="text" placeholder="Symbol" />
    <button id="symCheck" class="wpsm-button white small">check</button></p>
<p>
    <input id="depTimeframe" class="form-control" type="text" placeholder="Timeframe (5, 15, 1H, 1D)" />
</p>
Run Code Online (Sandbox Code Playgroud)

这是在一个 WordPress 网站上。我认为我安装的插件之一可能会导致此问题,但也可能是其他原因。可能的原因太多了。出于这个原因,我需要知道:我可以使用开发工具中的某些内容来查看哪些脚本正在影响 DOM 的更改?

html javascript wordpress

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

MySQL如何加快这个SELECT查询?

我有一个超过900万行的非常大的表,在我的软件中,我需要在循环中快速对它进行选择查询.问题是查询需要将近4秒钟才能完成.这是一个查询(它们都是相似的,因为它们都有相同的WHERE子句,这使得它们变慢了:

SELECT MIN(id)
FROM `04c1Tg0M`
WHERE `tried` = 0;
Run Code Online (Sandbox Code Playgroud)

我正在使用已尝试的列作为布尔值.值为1或0.以下是该查询的EXPLAIN:

--------+--------------------------+
| id | select_type | table    | type  | possible_keys | key  | key_len | ref  | rows    | Extra                    |
+----+-------------+----------+-------+---------------+------+---------+------+---------+--------------------------+
|  1 | SIMPLE      | 04c1Tg0M | index | NULL          | pdex | 158     | NULL | 9275107 | Using where; Using index |
+----+-------------+----------+-------+---------------+------+---------+------+---------+--------------------------+
Run Code Online (Sandbox Code Playgroud)

这是表结构:

CREATE TABLE `04c1Tg0M` (
    `id` int(20) NOT NULL AUTO_INCREMENT,
    `username` varchar(50) NOT NULL,
    `tried` tinyint(1) DEFAULT '0',
    PRIMARY KEY (`id`),
    KEY …
Run Code Online (Sandbox Code Playgroud)

mysql optimization select

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

pyinstaller 未找到隐藏导入

我正在使用 pyinstaller。我的脚本中有:

import toml


config = toml.load('config.toml')
Run Code Online (Sandbox Code Playgroud)

我用以下方法编译了我的脚本:

pyinstaller main.py --onefile --clean --name myApp

但是当我运行可执行文件时,它给了我:ModuleNotFoundError: No module named 'toml'

所以我尝试了这个:

pyinstaller main.py --hidden-import toml --onefile --clean --name myApp

现在 pyinstaller 说:ERROR: Hidden import 'toml' not found

python pyinstaller python-import toml

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

WebRTC(简单对等)+ STUN 没有额外的信号?

我正在尝试使用简单对等库来建立浏览器到浏览器的 WebRTC 连接(数据通道)。我的理解是(也许我有一些误解),为了让两个浏览器通过 WebRTC 连接,它们必须交换 SDP 数据并执行 NAT 遍历。为了做到这一点,可以实现一个 STUN 服务器。

在 simple-peer 库中,他们声明 simple-peer 没有实现信令协议,但它确实提供了一种提供 STUN/ICE 服务器的方法。考虑来自其网格示例的以下三个 HTML 文件:

peer1.html

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Peer1</title>
</head>
<body>
<script src="../../js/simplepeer.min.js"></script>
<script>
    // These are peer1's connections to peer2 and peer3
    var peer2 = new SimplePeer({ initiator: true, config: {
            iceServers: [
                {urls: 'stun:stun.a-mm.tv:3478'}
            ]
        } })
    var peer3 = new SimplePeer({ initiator: true, config: {
            iceServers: [
                {urls: 'stun:stun.a-mm.tv:3478'}
            ]
        } })

    peer2.on('signal', data => {
        console.log(data) …
Run Code Online (Sandbox Code Playgroud)

javascript websocket webrtc simple-peer

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

Python 3 + Mysql:错误的字符串值 '\xF0\x9F\x85\x97\xF0\x9F...'

我在堆栈上找到了有关“错误字符串值”的其他问题/答案,但没有一个答案有效,所以也许我的情况有所不同。

try:
    self.cnx = mysql.connector.connect(host='localhost', user='emails', password='***',
                                               database='extractor', raise_on_warnings=True)
except mysql.connector.Error as err:
    if err.errno == errorcode.ER_ACCESS_DENIED_ERROR:
        print("Something is wrong with your user name or password")
    elif err.errno == errorcode.ER_BAD_DB_ERROR:
        print("Database does not exist")
    else:
        print(err)
self.sql = self.cnx.cursor()

biography = str(row[8])
self.sql.execute("""insert into emails (biography)
                            values(%s)""",
                                         (biography,))
Run Code Online (Sandbox Code Playgroud)

其中TEXTbiography列为:utf8mb4_general_ci

< Living the > Azofra & Clifford Travel Food Fashion

我得到:

mysql.connector.errors.DataError: 1366 (22007): Incorrect string value: '\xF0\x9F\x85\x97\xF0\x9F...' for column `extractor`.`emails`.`biography` at row 1
Run Code Online (Sandbox Code Playgroud)

输出show create …

python mysql character-encoding python-3.x

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

Redis:何时使用哈希与 RedisJSON?

我现在可以将资源作为hashRedisJSON存储在 Redis 中。我在这个实例中的特定数据是临时数据对象,每个对象由几个字符串和数字字段组成。用户将调用一个创建结构的进程,如:

{
    'item_id': 'k0f8h3n5m6n1w9d0k0k1m1n4b6c8f8r7'
    'amount': 3.00042
    'timestamp': 1590440708,
    'user1_status': 'pending',
    'user_2_status': 'completed'
}
Run Code Online (Sandbox Code Playgroud)

这实际上是一个客户端用户处理的队列(队列由单独的 Redis处理),其中每个对象将保持使用(作为散列或 RedisJSON 对象)平均约 1 小时。在任何给定时间,队列中都会有数以万计的这些对象。在队列中时,对象的字段(例如user1_statususer2_status)将被更新多次。

处理完每个对象后,我可以将其保留在 Redis 中,也可以将每个对象移动到冷存储数据库以进行日志保存并从 Redis 中删除。我不确定我是应该这样做还是放弃它。

哪种 Redis 数据类型(哈希或 RedisJSON)更适合我的任务?在决定这两种类型时有哪些一般考虑因素?

注意:我意识到如果我想做这样的事情:

{
    'item_id': 'k0f8h3n5m6n1w9d0k0k1m1n4b6c8f8r7'
    'amount': 3.00042
    'timestamp': 1590440708,
    'user1_status': 'pending',
    'user_2_status': 'completed'
    'parent': {
        'item1': 1,
        'item2': [1, 2, 3, 4]
        'item3': {
            'one': 1,
            'two': 2 …
Run Code Online (Sandbox Code Playgroud)

json hashmap redis redisjson

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

如果Glass由朋友或可能的合作伙伴提供给我,则可以访问Mirror API

我的一个朋友被选中成为谷歌眼镜的探险家,他给了我眼镜,因为他不打算做任何开发,但我.既然我拥有一副眼镜,我有什么方法可以访问API吗?或者有镜像API访问的人可能愿意与我合作以换取访问他们的API帐户,因为我的朋友使用他的Google帐户供个人使用,我不想让他访问他的个人信息.

google-mirror-api

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