小编Mar*_*rcs的帖子

利用多核进行tar + gzip/bzip压缩/解压缩

我通常压缩使用tar zcvf和解压缩使用tar zxvf(由于习惯使用gzip).

我最近得到了一个具有超线程的四核CPU,所以我有8个逻辑核心,我注意到许多核心在压缩/解压缩期间未被使用.

有什么办法可以利用未使用的核心来加快速度吗?

gzip 7zip tar xz bzip2

198
推荐指数
4
解决办法
14万
查看次数

Canvas vs SVG用于简单游戏

如果我想构建一个简单的游戏(蛇,跳棋,pacman或其他什么)什么是更好的方法 - SVG或Canvas?

我感兴趣的事情:

  1. 易于实施(Canvas与SVG的学习曲线).例如,如果SVG的教程和社区支持显着减少对我来说至关重要.

  2. 表现(对我来说并不重要,但仍然很重要)

而且,在游戏领域,是否存在SVG比Canvas更适合的特定游戏(反之亦然?)

html javascript html5 svg html5-canvas

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

动态注入spring bean

在java-spring网络应用程序中,我希望能够动态注入bean.例如,我有一个具有2种不同实现的接口:

在此输入图像描述

在我的应用程序中,我正在使用一些属性文件来配置注入:

#Determines the interface type the app uses. Possible values: implA, implB
myinterface.type=implA
Run Code Online (Sandbox Code Playgroud)

我的注入实际上有条件地在属性文件中的属性值上加载.例如,在这种情况下myinterface.type = implA,只要我注入MyInterface,将注入的实现将是ImplA(我通过扩展条件注释完成了).

我希望在运行时 - 一旦属性发生更改,将发生以下情况(无需重新启动服务器):

  1. 将注入正确的实施方案.例如,设置myinterface.type=implBImplB将被注入到使用MyInterface的地方
  2. 应该使用新值刷新Spring Environment并重新注入bean.

我想要刷新我的上下文,但这会产生问题.我想可能会使用setter进行注入,并在重新配置属性后重新使用这些setter.是否有这种要求的工作实践?

有任何想法吗?

UPDATE

正如一些人所建议我可以使用一个工厂/注册表来保存两个实现(ImplA和ImplB)并通过查询相关属性返回正确的实现.如果我这样做,我还有第二个挑战 - 环境.例如,如果我的注册表看起来像这样:

@Service
public class MyRegistry {

private String configurationValue;
private final MyInterface implA;
private final MyInterface implB;

@Inject
public MyRegistry(Environmant env, MyInterface implA, MyInterface ImplB) {
        this.implA = implA;
        this.implB = implB;
        this.configurationValue = env.getProperty("myinterface.type");
}

public MyInterface getMyInterface() {
        switch(configurationValue) {
        case "implA":
                return implA; …
Run Code Online (Sandbox Code Playgroud)

java polymorphism spring spring-environment

25
推荐指数
5
解决办法
3万
查看次数

在阶段中了解Spark终端输出

我是Spark的新手,我正试图了解终端上各阶段的日志输出.我正在使用本地计算机上的一个非常大的数据集,在操作过程中,我会看到类似的内容:

[Stage: 4 ==>           (10 + 4) / 200]
Run Code Online (Sandbox Code Playgroud)

我知道阶段是RDD发生的所有操作,但最后的数字呢?他们代表任务吗?

(10 + 4) / 200] 
Run Code Online (Sandbox Code Playgroud)
  • 10 完成的任务数量?
  • 4 运行的并发任务数(即我机器上的核心数?)
  • 200 这个阶段的任务总数?

apache-spark

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

WebGL不可用,GPU进程无法启动

我在Windows 10上运行Chrome 54.0.2840.87.我有两个GPU:Intel(R)HD Graphics 520和AMD Radeon R5 M335.

直到几周前,WebGL运行得很好.现在,在未在任何地方更改任何设置后,WebGL将不再可用.

例如,在尝试运行chrome实验时,我收到一条消息,说我的显卡似乎不支持WebGL.我知道我的显卡工作正常(它们已经更新了最新的驱动程序),加上WebGL在firefox中完美运行.我知道我的GPU没有被列入黑名单(在任一浏览器上).

chrome:gpu,我被告知WebGL不可用,并且GPU进程无法启动.检查chrome:flags启用或禁用WebGL时,似乎不再是一种选择.

启用/禁用涉及WebGL的任何其他内容都没有任何区别.还有其他事情可以让它再次运作吗?这个问题在什么级别?(这个问题在Chrome Canary上仍然存在.)我不是技术最精明的人,但我在其他地方找不到答案.

以下是我在chrome:gpu页面上看到的内容:

图形功能状态

画布:仅限软件,硬件加速不可用

Flash:仅限软件,硬件加速不可用

Flash Stage3D:仅限软件,硬件加速不可用

Flash Stage3D Baseline配置文件:仅限软件,硬件加速不可用

合成:仅限软件,硬件加速不可用

多个光栅线程:不可用

Native GpuMemoryBuffers:仅限软件.硬件加速禁用

光栅化:仅限软件,硬件加速不可用

视频解码:仅限软件,硬件加速不可用

视频编码:仅限软件,硬件加速不可用

VPx视频解码:仅限软件,硬件加速不可用

WebGL:不可用

驱动程序错误解决方法

clear_uniforms_before_first_program_use

disable_d3d11

disable_discard_framebuffer

disable_dxgi_zero_copy_video

disable_nv12_dxgi_video

disable_framebuffer_cmaa

exit_on_context_lost

scalarize_vec_and_mat_constructor_args

检测到的问题

GPU进程无法启动:GPU进程启动失败.

残疾人特点:全部

某些驱动程序无法在GPU进程沙箱中重置D3D设备

应用的变通办法:exit_on_context_lost

在所有平台上首次使用程序之前清除制服:124764,349137

应用的解决方法:clear_uniforms_before_first_program_use

始终重写vec/mat构造函数以保持一致:398694

应用的变通办法:scalarize_vec_and_mat_constructor_args

在具有AMD可切换图形的系统上禁用Direct3D11:451420

应用的变通办法:disable_d3d11

帧缓冲丢弃会损害非瓦片的性能:570897

应用的变通办法:disable_discard_framebuffer

NV12 DXGI视频在AMD驱动程序上挂起或显示不正确的颜色:623029,644293

应用的变通办法:disable_dxgi_zero_copy_video,disable_nv12_dxgi_video

有限启用Chromium GL_INTEL_framebuffer_CMAA:535198

应用的变通方法:disable_framebuffer_cmaa

已禁用本机GpuMemoryBuffers,通过about:flags或命令行.

已禁用功能:native_gpu_memory_buffers

版本信息

数据导出2016年11月7日下午2:09:57

Chrome版Chrome/54.0.2840.87

操作系统Windows NT 10.0.14393

软件渲染列表版本11.12

驱动程序错误列表版本9.00

ANGLE commit id 905fbdea9ef0

2D图形后端Skia/54 …

gpu google-chrome webgl

12
推荐指数
2
解决办法
3万
查看次数

如何在python中单词获取数字

我有一个包含以下行一个巨大的文件DDD-1126N|refseq:NP_285726|uniprotkb:P00112DDD-1081N|uniprotkb:P12121,我想以后抢号uniprotkb.

这是我的代码:

x = 'uniprotkb:P'
f = open('m.txt')
for line in f:
  print line.find(x) 
  print line[36:31 + len(x)]
Run Code Online (Sandbox Code Playgroud)

问题line.find(x)在于10和26,我在26岁时获取完整的数字.我是编程的新手,所以我正在寻找一些东西来获取完整的数字.

x = 'uniprotkb:'
f = open('m.txt')
for line in f:
  if x in line:
    print the number after x
Run Code Online (Sandbox Code Playgroud)

python

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

使用早于版本1.xx的Vue-router从Vue.js中的方法重定向

我不是一个前端开发人员,但我知道足够的javascript来做到最低限度.

我正在尝试插入最后一个登录,但我的vue组件是:

"vue-resource": "^0.9.3",
"vue-router": "^0.7.13"
Run Code Online (Sandbox Code Playgroud)

我没有足够的经验分别升到v1或v2.我想实现与此类似的东西.

但是我没有成功重定向.

我的app.js文件:

var router = new VueRouter();
...
import Auth from './services/auth.js';

router.beforeEach(transition => {
    if(transition.to.auth &&!Auth.authenticated)
    {
        transition.redirect('/login');
    }
    else
    {
        transition.next();
    }
});
```
In my login.js file
```
methods: {
            /**
             * Login the user
             */
            login(e) {

                e.preventDefault();

                this.form.startProcessing();

                var vm = this;

                this.$http.post('/api/authenticate',
                    {   email                   :   this.form.email,
                        password                :   this.form.password
                    })
                    .then(function(response){
                                vm.form.finishProcessing();
                                localStorage.setItem('token', response.data.token);
                                vm.$dispatch('authenticateUser');
                            },
                            function(response) {
                                if(response.status == 401)
                                {
                                    let error = …
Run Code Online (Sandbox Code Playgroud)

laravel vue.js vue-router

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

以html格式显示npm审核漏洞

有没有办法将npm审核报告显示为html页面?

目前,我只能看到使用以下命令以json格式输出报告的选项:

npm audit --json

report node.js npm

4
推荐指数
3
解决办法
1073
查看次数

MongoDB 插入无重复项

现在我正在运行 mongodb,我刚刚意识到,我正在插入集合,但我不确定是否可以防止重复。这是我插入的方式:

function insertCompanies(companyID, companyURL, companyAppID) {
    MongoClient.connect(url, function(err, db) {
        if (err) {
            console.log(err);
        } else {
            console.log("We are connected");
        }

        var collection = db.collection('Companies');
        var company = {
            "companyProfileID": companyID,
            "url": companyURL,
            "appID": companyAppID
        };
        collection.insert(company, function(err, result) {
            if (err) {
                console.log(err);
            } else {
                console.log(result);
            }
        });
        db.close();
    });
}
Run Code Online (Sandbox Code Playgroud)

我正在使用 NodeJS。当用户调用该insertCompanies方法时,如果该公司已经存在(通过companyIDURL),则该集合似乎允许重复。

是否有不同的插入功能可以防止重复?我环顾四周,找不到适合我的直接解决方案。

javascript mongodb node.js

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

光流.flo文件

对于进行光流项目,我有几个问题。我使用Python 2(计划使用千层面来进行深度学习来学习光流),并且不知道如何在流的可视化中将c ++函数转换为python的函数。

  1. 我从http://vision.middlebury.edu/flow/data/comp/zip/other-gt-flow.zip下载了一些图像对,这些图像对中我必须估算它们的光通量和地面真实流(.flo文件)。问题是,当我将.flo文件读入程序时,它是矢量化代码。如何查看它们,就像它们在网页(http://vision.middlebury.edu/flow/data/)中的显示方式一样?我从各种来源阅读并尝试了以下操作,但没有用。

  2. 在评估EPE(端点错误)时,我应该将我的预测与.flo文件进行比较吗?

代码:

################################ Reading flow file ################################

f = open('flow10.flo', 'rb')

x = np.fromfile(f, np.int32, count=1) # not sure what this gives
w = np.fromfile(f, np.int32, count=1) # width
h = np.fromfile(f, np.int32, count=1) # height
print 'x %d, w %d, h %d flo file' % (x, w, h)

data = np.fromfile(f, np.float32) # vector 

data_2D = np.reshape(data, newshape=(388,584,2)); # convert to x,y - flow
x = data_2D[...,0]; y = data_2D[...,1]; 

################################ …
Run Code Online (Sandbox Code Playgroud)

python opencv opticalflow deep-learning

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

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

在Clojure中使用map和匿名函数的异常

我正在搞乱Clojure地图,我发现了这种我无法理解的情况.

假设我有一张这样的地图:

(def map-test {:name "head" :size 3})
Run Code Online (Sandbox Code Playgroud)

我想更改此映射的值,在Clojure中,通常的方法是使用修改后的数据生成新的映射.

所以我有这个功能:

(defn map-change
  [part]
  {:name (str (:name part) "-" 1) :size (:size part)})
Run Code Online (Sandbox Code Playgroud)

正如预期的那样,调用(map-change map-test)返回:{:name "head-1", :size 3}

所以我编写了这个函数map来克隆哈希映射一定次数,比如这样{:name "head-1" ...}{:name "head-2" ...}{:name "head-3" ...}:

(defn repeat-test
  [part times]
  (map #({:name (str (:name part) "-" %) :size (:size part)}) (range 1 (inc times))))
Run Code Online (Sandbox Code Playgroud)

但我得到一个例外,当我打电话时我无法理解(repeat-test map-test 5):

Wrong number of args (0) passed to: PersistentArrayMap

:size在评估之后将值分配给右边时,调试器会抛出此异常(:size part)=>3

这是stacktrace的最后一部分:

   Unhandled clojure.lang.ArityException
   Wrong …
Run Code Online (Sandbox Code Playgroud)

dictionary exception clojure

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

在JAVA中获取两个返回值

我有下面的代码.我需要从"getInput"方法返回月份和年份值.将错误视为无法访问的语句.我正在使用BlueJ IDE.如何获得拖曳返回值.请帮忙.

public class CalendarTester
{

    public static void main(String[] args) { //method call for testing valid inputs from the user
       nputValidate();
    }

    public static void InputValidate(){ //Method to call functions for validation of inputs
        String UserInput="";
        UserInput=getInput();
        ValidateInput(UserInput);
    }

    public static String getInput(){ // To read user input
        Scanner scanner=new Scanner(System.in);
        System.out.println("Please enter the year (eg - 2016):");
        String year = scanner.next();
        System.out.println("Please enter the month (eg - 10):");
        String month = scanner.next();
        return year;
        return month;
    }

    public …
Run Code Online (Sandbox Code Playgroud)

java bluej

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