我目前正在编写一个视频共享网站。对于上传,我使用的是 PHP。我注意到当我上传视频时,S3 会获取文件的 MD5 哈希值。我想知道 S3 是否进行了任何重复数据删除。我上传了几个相同的文件,但没有看到任何内容表明 S3 知道它们是相同的,或者至少它正在做任何事情。
我应该自己实现吗?我有一个 MySQL 数据库,用于存储所有视频信息。我可以对所有视频进行哈希处理,并提供以前上传的文件(如果它们相同)。我可以简单地做md5(tmp-file-here)。这似乎很合适,因为 S3 已经在使用 md5。但是,与针对诸如 BLAKE2 之类的东西进行优化的东西相比,md5 很慢。我应该这样做吗?最好的方法是什么?
我的页面上有一些 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 的更改?
我有一个超过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) 我正在使用 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
我正在尝试使用简单对等库来建立浏览器到浏览器的 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) 我在堆栈上找到了有关“错误字符串值”的其他问题/答案,但没有一个答案有效,所以也许我的情况有所不同。
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 …
我现在可以将资源作为hash或RedisJSON存储在 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_status和user2_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) 我的一个朋友被选中成为谷歌眼镜的探险家,他给了我眼镜,因为他不打算做任何开发,但我.既然我拥有一副眼镜,我有什么方法可以访问API吗?或者有镜像API访问的人可能愿意与我合作以换取访问他们的API帐户,因为我的朋友使用他的Google帐户供个人使用,我不想让他访问他的个人信息.
javascript ×2
mysql ×2
python ×2
amazon-s3 ×1
duplicates ×1
hash ×1
hashmap ×1
html ×1
json ×1
md5 ×1
optimization ×1
php ×1
pyinstaller ×1
python-3.x ×1
redis ×1
redisjson ×1
select ×1
simple-peer ×1
toml ×1
webrtc ×1
websocket ×1
wordpress ×1