标签: chunks

如何使用PNG的IDAT块?

我试图了解数据如何存储到IDAT块中.我正在写一个小PHP类,我可以检索大部分的块信息,但我得到的IDAT与我的图像的像素不匹配:

在此输入图像描述 它是2×2px truecolour with alpha(bitdepth 8).

但是当我解释这样的IDAT数据时:

current(unpack('H*',gzuncompress($idat_data)));
Run Code Online (Sandbox Code Playgroud)

我明白了

00000000ffffff00ffffff000000

我不明白它是如何匹配像素的.或者是我的代码破坏了数据?

谢谢你的帮助!

编辑:我明白了

08d705c101010000008010ff4f1750a93029e405fb

作为十六进制压缩数据,因此在解压缩后我似乎丢失了几个字节.

在此输入图像描述

php png chunks

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

"chunk","block","offset","buffer"和"sector"是什么意思?

我已经看到一些脚本要么处理存档或二进制数据,要么复制文件(不使用python默认函数)使用偏移量缓冲区扇区.

我创建了一个Python应用程序,外部库(存档/提取数据)或二进制文件已经满足了一些要求.我想深入了解一下,通过编写我自己的模块,将这些第三方库功能纳入我的应用程序.现在我想知道这些术语的含义以及我可以从哪里开始.上面有关于这个主题的文件吗?

任何与Python编程语言相关的文档也将受到赞赏.

python buffer block sector chunks

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

Angular 7-隔离部署工作区应用程序(项目)

在由cli生成的工作区中,我具有根应用程序,该应用程序可以懒惰地加载许多应用程序(位于projects文件夹中)。

当我运行“ ng build root-application”时,所有块都放在dist / root-application文件夹中,我可以将此文件夹复制到我的服务器上,我们很高兴。

但是,这些应用程序几乎在开发生命周期中从未处于同一阶段(仍在开发中,有些还在进行质量保证),我希望能够隔离地部署它们,而不必部署整个站点。

有人对此有策略吗?

deployment chunks webpack angular

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

检查列表是否是有效的块序列

我想检查列表是否是有效的块序列,其中每个块以某个值开始,以下一次出现的相同值结束。例如,这是三个块的有效序列:

lst = [2, 7, 1, 8, 2, 8, 1, 8, 2, 8, 4, 5, 9, 0, 4, 5, 2]
       \___________/  \_____/  \_______________________/
Run Code Online (Sandbox Code Playgroud)

这是无效的:

lst = [2, 7, 1, 8, 2, 8, 1, 8, 2, 8, 4, 5, 9, 0, 4]
       \___________/  \_____/  \_____ ... missing the 2 to end the chunk
Run Code Online (Sandbox Code Playgroud)

我有一个解决方案,但它很糟糕。你看到更好的东西了吗?

def is_valid(lst):
    while lst:
        start = lst.pop(0)
        if start not in lst:
            return False
        while lst[0] != start:
            lst.pop(0)
        lst.remove(start)
    return True

# Tests, should …
Run Code Online (Sandbox Code Playgroud)

python validation list sequence chunks

8
推荐指数
2
解决办法
844
查看次数

将巨大的(95Mb)JSON阵列拆分成更小的块?

我以JSON的形式从我的数据库中导出了一些数据,基本上只有一个[list],里面有一堆(900K)的{objects}.

现在尝试在我的生产服务器上导入它,但我有一些便宜的Web服务器.当我吃掉所有资源10分钟时,他们不喜欢它.

如何将此文件拆分为较小的块,以便我可以逐个导入它?


编辑:实际上,它是一个PostgreSQL数据库.我对如何以块的形式导出所有数据的其他建议持开放态度.我的服务器上安装了phpPgAdmin,据说可以接受CSV,Tabbed和XML格式.


我不得不修复phihag的脚本:

import json
with open('fixtures/PostalCodes.json','r') as infile:
  o = json.load(infile)
  chunkSize = 50000
  for i in xrange(0, len(o), chunkSize):
    with open('fixtures/postalcodes_' + ('%02d' % (i//chunkSize)) + '.json','w') as outfile:
      json.dump(o[i:i+chunkSize], outfile)
Run Code Online (Sandbox Code Playgroud)

倾倒:

pg_dump -U username -t table database > filename
Run Code Online (Sandbox Code Playgroud)

恢复:

psql -U username < filename
Run Code Online (Sandbox Code Playgroud)

(我不知道什么是pg_restore,但它给了我错误)

有关这方面的教程可以方便地提供这些信息,尤其是 -U在大多数情况下可能需要的选项.是的,手册页解释了这一点,但筛选50个您不关心的选项总是很痛苦.


我最终选择了Kenny的建议......虽然这仍然是一个很大的痛苦.我不得不将表转储到一个文件,压缩它,上传,提取它,然后我尝试导入它,但数据在生产上略有不同,并且有一些丢失的外键(邮政编码附加到城市).当然,我不能只导入新的城市,因为它会抛出一个重复的键错误,而不是默默地忽略它,这本来是不错的.所以我不得不清空那张桌子,为城市重复这个过程,只是意识到其他东西与城市联系在一起,所以我也必须清空那张桌子.让城市重新进入,最后我可以导入我的邮政编码.到目前为止,我已经删除了一半的数据库,因为一切都与所有内容联系在一起,我不得不重新创建所有条目.可爱.好的我还没有推出这个网站.同样"清空"或截断表似乎没有重置我想要的序列/自动增量,因为有几个魔术条目我想要ID 1.所以..我将不得不删除或重置那些(我不知道怎么做),所以我手动编辑了那些回到1的PK.

我会遇到与phihag解决方案类似的问题,而且我不得不一次导入一个文件,除非我写了另一个导入脚本来匹配导出脚本.虽然他的字面意思确实回答了我的问题,但是谢谢.

python postgresql ubuntu json chunks

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

如何通过HTML5 websocket播放视频块?

假设我有一个ogg视频.我可以这样玩:

<video width="640" height="480">
<source src="myvideo.ogg" type=video/ogg>
</video>
Run Code Online (Sandbox Code Playgroud)

现在如果我设法通过HTML5 websocket流式传输此视频的1ko块编码,我怎么能播放视频?我无法弄清楚这一点.如果需要,我可以解码块.

提前谢谢,Nolhian

html5 base64 chunks video-streaming websocket

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

基于块长度向量的分裂向量

我有一个二进制数的向量.我知道每组物体的连续长度; 如何基于该信息进行拆分(不使用for循环)?

x = c("1","0","1","0","0","0","0","0","1")
.length = c(group1 = 2,group2=4, group3=3)
Run Code Online (Sandbox Code Playgroud)

x是我需要拆分的二进制数向量..length是我得到的信息..length基本上告诉我第一组有2个元素,它们是前两个元素1,0.第二组包含4元素,并包含第1组数字后面的4个数字1,0,0,0,等等.

有没有办法拆分并将拆分的项目返回到列表?

丑陋的方式是通过for循环跟踪当前的cumsum,但我正在寻找一种更优雅的方式,如果有的话.

r chunks

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

如何使用webpack在异步脚本中加载供应商和应用程序JS?

我有兴趣将我的初始代码拆分为两个块,这些块由应用程序使用async/defer属性异步加载.一个用于很少改变并且很大的销售库,以便他们可以从缓存中获益更长时间,另一个包含加载初始页面所需的基本代码.这将是一个较小的块,由于我们经常将更改部署到生产中,因此每周可能会更改.

但是我们有兴趣在下载所有JS资源之前显示正确的"加载..."页面.如果应用程序JS在供应商之前完成加载(当供应商未被缓存时,很可能发生这种情况),它应该等待供应商加载.

我无法弄清楚如何使用webpack实现这一目标.有一些示例同步加载供应商块,以便应用程序代码将始终在供应商之后加载,但这意味着应用程序将不会呈现正确的"加载..."页面,因为它被JS脚本阻止.我可以将脚本添加到正文的末尾,但它不是最佳的,因为与在文档头部添加异步脚本标记相比,它会增加脚本开始下载的延迟.

代码拆分文档有一个关于如何生成供应商和应用程序JS的示例,但只有在应用程序JS之前加载供应商时它才有效.有没有什么方法可以指示应用程序包在运行之前等待供应商加载?

split asynchronous chunks webpack

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

curl 设置上传块大小

我想上传一个大文件curl。为此,我想将其拆分,而不将其保存到磁盘(就像使用split)。--continue-at我尝试与 一起使用Content-Length

curl -s \
      --request PATCH \
      --header "Content-Type: application/offset+octet-stream" \
      --header "Content-Length: ${length}" \
      --header "Upload-Offset: ${offset}" \
      --continue-at "${offset}" \
      --upload-file "${file}" \
      "${dest}"
Run Code Online (Sandbox Code Playgroud)

curl“过冲”并忽略了Content-Length。有类似的东西--stop-at吗?或者,如果有必要,我必须使用dd

编辑 dd解决方案:

curl -s \
      --request PATCH \
      --header "Content-Type: application/offset+octet-stream" \
      --header "Content-Length: ${length}" \
      --header "Upload-Offset: ${offset}" \
      --data-binary "@-" \
      "${dest}" < <(dd if=${file} skip=${offset} count=${length} iflag=skip_bytes,count_bytes 2>/dev/null)
Run Code Online (Sandbox Code Playgroud)

但如果可能的话我想只使用 cURL..

bash curl file-upload chunks

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

块选项class.output无法处理错误消息

我正在准备课程的教程,我想将错误的颜色更改为红色.我使用BookDown和gitbook作为输出格式.但我发现该选项class.output不起作用.我想在输出中为我得到的错误消息添加一个类.我怎样才能做到这一点?您可以将此作为示例:

---
title: "Test Book"
author: "therimalaya"
site: bookdown::bookdown_site
output: bookdown::gitbook
---

# Hello World

```{r, error = TRUE, class.output="red"}
rnorm(-10)
```
Run Code Online (Sandbox Code Playgroud)

如果没有错误,这可以工作.

r chunks knitr r-markdown bookdown

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