小编abe*_*ier的帖子

用于快速提取zip的库

我有一个相当大的ZIP文件,它被下载(无法更改文件).现在的任务是在文件下载时解压缩文件而不必等到收到中心目录结束.这样的图书馆存在吗?

c c++ zip in-memory

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

访问已下载的数据

我需要通过下载一个大的(> 100MB)数据文件XmlHttpRequest.数据来自第三方,我希望在下载时逐渐显示内容.

所以我认为以下内容可行:

var req = new XMLHttpRequest();
req.open( "GET", mirror.url, true );
req.responseType = "arraybuffer";

req.onload = function( oEvent ) {
    console.log( "DONE" );
};
var current_offset = 0;
req.addEventListener("progress", function(event) {
    if( event.lengthComputable ) {
        var percentComplete = Math.round(event.loaded * 100 / event.total);
    }
    var data = req.response;
    // Fails here: req.response is null till load is called

    var dataView = new DataView( data );
    while( current_offset < dataView.byteLength ) {
        // do work
        ++current_offset;
    } …
Run Code Online (Sandbox Code Playgroud)

javascript html5

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

提取多种类型的档案

Python中是否有任何模块可以让我提取各种档案?我需要提取ziptar.bz2tar.zrar等。现在看来我必须手动进行存档类型检测,并为每个存档类型编写一个提取。

Python会更好。

python

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

使用 lambda 作为异步回调

我有一个程序,我无法使用标准std::async和线程机制。相反,我必须像这样编写程序:

void processor( int argument, std::function<void(int)> callback ) {
  int blub = 0;

  std::shared_ptr<object> objptr = getObject();

  // Function is called later.
  // All the internal references are bound here!
  auto func = [=, &blub]() {
    // !This will fail since blub is accessed by reference!
    blub *= 2;

    // Since objptr is copied by value it works.
    // objptr holds the value of getObject().
    objptr->addSomething(blub);

    // Finally we need to call another callback to return a value …
Run Code Online (Sandbox Code Playgroud)

c++ lambda c++11

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

仿函数和initializer_list的副本

我对复制仿函数和/或初始化器时会发生什么感到困惑.在下面的代码中,我想我会一直复制/移动对象,但不管它是Segfaults.我似乎做错了什么但还没弄明白,我错误的假设是什么.奇怪的是在cppreference.com我找不到复制或移动构造函数,initializer_list所以我想知道在这些情况下实际发生了什么.

#include <string>
#include <vector>
#include <functional>
#include <iostream>

std::initializer_list<std::function<std::string()>> getInitializer() {
  return {
    []() -> std::string {
      return "If";
    }
  };
}

int main() {
    std::function<int(std::string)> func;
    {
        auto init = getInitializer();

        func = [init](std::string text) -> int {
            std::vector<std::function<std::string()>> vec(init);

            for( auto& el : vec ) {
                std::cout << el();
            }
            std::cout << text << std::endl;
            return 5;
        };
    }

    return func(" you see this - the world is all right!");
}
Run Code Online (Sandbox Code Playgroud)

c++ gcc functor initializer-list c++11

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

如果标题更改,则触发重建

我有非系统头,我用它来通过SCons编译程序.问题是它们有时会改变,但SCons似乎根本不会扫描标题中的变化.有没有办法告诉SCons扫描标题的变化?

scons

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

将 QWidget 添加到 QGraphicsScene

我有一个QGraphicsScene用于绘图,我现在想在其中“添加” QWidgeta QGraphicsItem(显示在项目顶部,当然可以移动)。

这怎么可能实现?有没有QGraphicsItem, 可以用作 Widget 容器?

qt qt4 widget qgraphicsview

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

在custom_target中执行git describe

我想将git describe字符串的输出写入文件,以便可以将信息嵌入到二进制文件(C ++)中。这必须跨平台工作。

我能想到的最好的方法是:

add_custom_target( SubmarineGitVersion
    COMMAND cmd /c "${CMAKE_EXECUTABLE}" echo czstring GIT_VERSION = STRINGIFY\( > "${CMAKE_CURRENT_BINARY_DIR}/GitVersion.hpp"
    COMMAND cmd /c "${GIT_EXECUTABLE}" describe --tags --always >> "${CMAKE_CURRENT_BINARY_DIR}/GitVersion.hpp"
    COMMAND cmd /c "${CMAKE_EXECUTABLE}" echo \) >> "${CMAKE_CURRENT_BINARY_DIR}/GitVersion.hpp"
)
Run Code Online (Sandbox Code Playgroud)

这在Windows上大致适用(;末尾缺少a ):

czstring GIT_VERSION = STRINGIFY(
tag-343434
)
Run Code Online (Sandbox Code Playgroud)

有没有更好/更多的跨平台方法?

cmake

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

什么是docker-proxy进程

当我查看Linux机器上所有正在运行的进程时,有很多docker-proxy进程。似乎每个正在运行的容器(端口)都产生一个docker-proxy !?

问题是我找不到能真正启动docker进程的文档以及它们之间的关系/用法。

是否有任何文档?

docker

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

在Jenkins DSL中使用Path时出现NotSerializableException

当我在Groovy中有以下内容时:

blub = Paths.get(pwd() + "/my/path")
echo blub.toString()
Run Code Online (Sandbox Code Playgroud)

它打印

/jenkins/my/path
Run Code Online (Sandbox Code Playgroud)

正好.

但紧接着,我得到以下异常:

java.io.NotSerializableException: sun.nio.fs.UnixPath
at org.jboss.marshalling.river.RiverMarshaller.doWriteObject(RiverMarshaller.java:860)
at org.jboss.marshalling.river.BlockMarshaller.doWriteObject(BlockMarshaller.java:65)
at org.jboss.marshalling.river.BlockMarshaller.writeObject(BlockMarshaller.java:56)
at org.jboss.marshalling.MarshallerObjectOutputStream.writeObjectOverride(MarshallerObjectOutputStream.java:50)
at org.jboss.marshalling.river.RiverObjectOutputStream.writeObjectOverride(RiverObjectOutputStream.java:179)
at java.io.ObjectOutputStream.writeObject(ObjectOutputStream.java:344)
at java.util.LinkedHashMap.internalWriteEntries(LinkedHashMap.java:333)
at java.util.HashMap.writeObject(HashMap.java:1362)
at sun.reflect.GeneratedMethodAccessor87.invoke(Unknown Source)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:498)
at org.jboss.marshalling.reflect.SerializableClass.callWriteObject(SerializableClass.java:271)
at org.jboss.marshalling.river.RiverMarshaller.doWriteSerializableObject(RiverMarshaller.java:976)
at org.jboss.marshalling.river.RiverMarshaller.doWriteSerializableObject(RiverMarshaller.java:967)
at org.jboss.marshalling.river.RiverMarshaller.doWriteObject(RiverMarshaller.java:854)
at org.jboss.marshalling.river.BlockMarshaller.doWriteObject(BlockMarshaller.java:65)
at org.jboss.marshalling.river.BlockMarshaller.writeObject(BlockMarshaller.java:56)
at org.jboss.marshalling.MarshallerObjectOutputStream.writeObjectOverride(MarshallerObjectOutputStream.java:50)
at org.jboss.marshalling.river.RiverObjectOutputStream.writeObjectOverride(RiverObjectOutputStream.java:179)
at java.io.ObjectOutputStream.writeObject(ObjectOutputStream.java:344)
at com.cloudbees.groovy.cps.SerializableScript.writeObject(SerializableScript.java:26)
at sun.reflect.GeneratedMethodAccessor235.invoke(Unknown Source)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:498)
at org.jboss.marshalling.reflect.SerializableClass.callWriteObject(SerializableClass.java:271)
at org.jboss.marshalling.river.RiverMarshaller.doWriteSerializableObject(RiverMarshaller.java:976)
at org.jboss.marshalling.river.RiverMarshaller.doWriteSerializableObject(RiverMarshaller.java:967)
at org.jboss.marshalling.river.RiverMarshaller.doWriteSerializableObject(RiverMarshaller.java:967)
at org.jboss.marshalling.river.RiverMarshaller.doWriteObject(RiverMarshaller.java:854)
at org.jboss.marshalling.river.RiverMarshaller.doWriteFields(RiverMarshaller.java:1032)
at org.jboss.marshalling.river.RiverMarshaller.doWriteSerializableObject(RiverMarshaller.java:988)
at org.jboss.marshalling.river.RiverMarshaller.doWriteSerializableObject(RiverMarshaller.java:967) …
Run Code Online (Sandbox Code Playgroud)

groovy jenkins jenkins-2

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