我正在寻找DEFLATE算法的命令行包装器.
我有一个使用DEFLATE压缩的文件(git blob),我想解压缩它.gzip命令似乎没有直接使用DEFLATE算法的选项,而不是gzip格式.
理想情况下,我正在寻找可以做到这一点的标准Unix/Linux工具.
编辑:这是我尝试使用gzip解决我的问题时得到的输出:
$ cat .git/objects/c0/fb67ab3fda7909000da003f4b2ce50a53f43e7 | gunzip
gzip: stdin: not in gzip format
Run Code Online (Sandbox Code Playgroud) 如何在Mac OS X中创建指向目录的硬链接?
此功能已添加到Mac OS X v10.5(Leopard)的文件系统中(用于时间机器),但我找不到有关从命令行实际使用它的任何信息.
我最喜欢的Gmail功能之一就是可以将网址添加到某些邮件,例如:
https://mail.google.com/mail/#all/124c8f386d41fd3a
我想做的是编写一个脚本,通过IMAP访问我的Gmail帐户,并创建一个HTML页面,其中包含上述链接,我感兴趣的每条消息.
但是,似乎无法从IMAP信封或UUID属性中找到"124c8f386d41fd3a"ID.我发现的所有message-id和uuids都有不同的格式,不能用于生成有关我收件箱的有效链接.
有人知道如何在IMAP中找到这些url-ID吗?
- FelixGeisendörfer又名the_undefined
PS:我使用的是Ruby,之前的尝试包括:
imap.fetch(message_id, "UID")
imap.fetch(message_id, "ENVELOPE")
imap.fetch(message_id, ...)
Run Code Online (Sandbox Code Playgroud)
我在ruby imap docs中尝试了为FetchData列出的所有属性
我想编写一个函数asA,它接受类型参数unknown并将其作为特定接口类型返回A,或者如果参数与接口类型不匹配则抛出错误A。
该解决方案应该是稳健的。即,如果向我的接口类型添加一个新字段A,编译器应该抱怨我的函数缺少对新字段的检查,直到我修复它。
下面是此类函数的示例asA,但它不起作用。编译器说:
元素隐式具有“any”类型,因为类型“a”的表达式不能用于索引类型“{}”。类型“{}”上不存在属性“a”。(7053)
interface A {
a: string
}
function asA(data:unknown): A {
if (typeof data === 'object' && data !== null) {
if ('a' in data && typeof data['a'] === 'string') {
return data;
}
}
throw new Error('data is not an A');
}
let data:unknown = JSON.parse('{"a": "yes"}');
let a = asA(data);
Run Code Online (Sandbox Code Playgroud)
如何编写asA如上所述的函数?
我可以使用类型转换,例如(data as any)['a'],只要将新字段添加到 时不会出现静默失败A。
我有一个事件表,它具有与这个人工表非常相似的模式和数据分布,可以在本地轻松生成:
CREATE TABLE events AS
WITH args AS (
SELECT
300 AS scale_factor, -- feel free to reduce this to speed up local testing
1000 AS pa_count,
1 AS l_count_min,
29 AS l_count_rand,
10 AS c_count,
10 AS pr_count,
3 AS r_count,
'10 days'::interval AS time_range -- edit 2017-05-02: the real data set has years worth of data here, but the query time ranges stay small (a couple days)
)
SELECT
p.c_id,
'ABC'||lpad(p.pa_id::text, 13, '0') AS pa_id,
'abcdefgh-'||((random()*(SELECT pr_count-1 FROM …Run Code Online (Sandbox Code Playgroud) 如果我的AWS账户中有一个我具有读/写访问权限的按钮,有没有办法获得所有者的CanonicalUser ID?
除非您是所有者,否则读取ACL策略似乎是不可能的:/.
由于vhook子系统已从最新版本的FFMPEG中删除,如何在视频中添加水印?
我需要能够覆盖具有背景透明度的PNG.
我在我的GIN索引上使用&&数组运算符时遇到问题。基本上我有一个查询,看起来像这样:
SELECT *
FROM example
WHERE keys && ARRAY[1,2,3,...]
Run Code Online (Sandbox Code Playgroud)
这对于数组文字中的少量数组元素(N)来说效果很好,但是随着N变得更大,看起来复杂度为O(N ^ 2),它会变慢。
但是,通过研究文档描述的GIN数据结构,似乎其性能可能为O(N)。实际上,可以将查询计划器强制为O(N)计划,如下所示:
SELECT DISTINCT ON (example.id) *
FROM unnest(ARRAY[1,2,3,...]) key
JOIN example ON keys && ARRAY[key]
Run Code Online (Sandbox Code Playgroud)
为了更好地说明这一点,我创建了一个jupyter笔记本,用于填充示例表,显示两个查询的查询计划,最重要的是对它们进行基准测试并绘制时间与数组大小(N)的关系图。
https://github.com/felixge/pg-slow-gin/blob/master/pg-slow-gin.ipynb
请帮助我理解是什么原因导致查询1的O(N ^ 2)性能,以及查询2是否是解决此问题的最佳方法。
感谢FelixGeisendörfer
PS:我使用的是Postgres 10,但也验证了Postgres 11存在此问题。
我也将这个问题发布在了postgres性能邮件列表上,但不幸的是没有得到任何答案。
是否有任何linux命令行实现在大文件(<2GB)上生成sha1的效果非常好?
我玩过'openssl sha1'并且需要几分钟才能获得2GB文件的sha1:/.
performance ×2
postgresql ×2
sql ×2
amazon-s3 ×1
blob ×1
bucket ×1
cryptography ×1
deflate ×1
ffmpeg ×1
file ×1
git ×1
gmail ×1
hardlink ×1
hash ×1
imap ×1
indexing ×1
macos ×1
optimization ×1
owner ×1
sha1 ×1
typescript ×1
watermark ×1