小编Roo*_*ook的帖子

Rxcpp中的调度程序

我试图找出Cx 版本的Rx中的调度模型.

了解C#版本,其中有一个带有一个Schedule方法的简单接口; C++版本似乎相当复杂,包括调度程序,工作程序和协调等.

对我来说,一个主要缺失的部分是线程池调度程序的实现,是否存在其他名称?我将如何实现自己?我应该把它写在PPL(Windows)上面吗?如果我需要一个序列化(类似于Actor)的观察者,我应该使用什么?偷看这里这里可以表明这不是一项微不足道的任务.

这将有助于获得关于该主题的某种概述,因为官方文档是自动生成的并且仍然非常稀疏.

c++ threadpool system.reactive ppl rxcpp

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

Powershell暂时添加到路径中

我正在尝试编写一个简单的PowerShell脚本来部署Visual Studio ASPNET Core 1项目.

目前,我可以说在批处理文件中

Path=.\node_modules\.bin;%AppData%\npm;C:\Program Files (x86)\Microsoft Visual Studio 14.0\Web\External;%PATH%;C:\Program Files (x86)\Microsoft Visual Studio 14.0\Web\External\git
Run Code Online (Sandbox Code Playgroud)

这会在会话期间修改路径变量...对于我的生活,我无法弄清楚如何在powershell中做这个简单的事情.

有人可以帮我翻译成powershell吗?

TIA!

powershell

9
推荐指数
2
解决办法
7698
查看次数

如何将 docker-compose.yml 翻译成 Dockerfile

我有一个用 Django 编写的应用程序,我试图在 Digital Ocean 液滴上的 docker 中运行它。目前我有两个文件。

任何人都可以建议如何摆脱docker-compose.yml文件并将所有命令集成到Dockerfile???

文件

FROM python:3
ENV PYTHONUNBUFFERED 1
RUN mkdir /code
WORKDIR /code
COPY . /code/
RUN pip install -r reqirements.txt
RUN python /code/jk/manage.py collectstatic --noinput
Run Code Online (Sandbox Code Playgroud)

docker-compose.yml

version: '3'
services:
  web:
    build: .
    command: python jk/manage.py runserver 0.0.0.0:8081
    volumes:
      - .:/code
    ports:
      - "8081:8081"
Run Code Online (Sandbox Code Playgroud)

我运行我的应用程序和 docker 镜像,如下所示:

  • docker-compose run web python jk/manage.py migrate
  • docker-compose up

输出:

Starting workspace_web_1 ...
Starting workspace_web_1 ... done
Attaching to workspace_web_1
web_1  | …
Run Code Online (Sandbox Code Playgroud)

django digital-ocean dockerfile docker-compose

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

将unique_ptr返回到多态类型

我试图通过从我的一些方法而不是原始指针返回unique_ptr来更安全一些.但是,在返回指向多态类型的唯一指针时,我有点困惑.

我们如何返回指向派生类类型的基类类型的唯一指针?

另外,作为次要问题不太重要 - 我是否正确地使用移动构造函数从基类创建派生类?

这是我的最小例子:

// Standard Includes
#include <exception>
#include <memory>
#include <string>
#include <sstream>

//--------------------------------------------------------------------------------------------------
class BaseResult
{
public:

    std::string m_x;

    virtual ~BaseResult() {};
};

class DerivedResult : public BaseResult
{
public:

    int m_y;

    DerivedResult()
        :
        BaseResult()
    {}

    DerivedResult(const DerivedResult & rhs)
        :
        BaseResult(rhs)
      , m_y       (rhs.m_y)
    {}

    DerivedResult(DerivedResult && rhs)
        :
        BaseResult(std::move(rhs))
      , m_y(rhs.m_y)
    {}

    DerivedResult(BaseResult && rhs)
        :
        BaseResult(std::move(rhs))
        , m_y()
    {
    }

    ~DerivedResult() {}
};

class BaseCalc
{
public:

    virtual ~BaseCalc() {}

    virtual std::unique_ptr<BaseResult> …
Run Code Online (Sandbox Code Playgroud)

c++ c++11

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

如何在python中将词云保存为.png?

我正在尝试基于字符串创建词云,然后将其导入到报告文档中。我正在使用 python-docx、matplotlib 和词云。这是我的简要总结

from wordcloud import WordCloud
import matplotlib.pyplot as plt
from docx import Document
from docx.shared import Inches
document = Document()
document.add_heading("Auto Generated Report")

text = "kd sa gf sdf gd python auomation get set python dfs aslkdf asdfij fdifh fdosfj dsfoj "

cloud = WordCloud().generate(text)
plt.title('Summarization of responses on possible improvements of CS course.')
plt.savefig('N.png')

document.add_picture('N.png', width=Inches(5))

document.save("Report")
Run Code Online (Sandbox Code Playgroud)

但是,报告没有显示词云,而是只显示空白图形。

python

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

RxCpp:观察者的生命周期,如果使用observe_on(rxcpp::observe_on_new_thread())

如果观察者使用observe_on(rxcpp::observe_on_new_thread()),等待所有观察者on_completed被调用的正确方法是什么:

例如:

{
    Foo foo;
    auto generator = [&](rxcpp::subscriber<int> s)
    {
        s.on_next(1);
        // ...
        s.on_completed();
    };
    auto values = rxcpp::observable<>::create<int>(generator).publish();
    auto s1 = values.observe_on(rxcpp::observe_on_new_thread())
                    .subscribe([&](int) { slow_function(foo); }));

    auto lifetime = rxcpp::composite_subscription();
    lifetime.add([&](){ wrapper.log("unsubscribe");  });
    auto s2 = values.ref_count().as_blocking().subscribe(lifetime);

    // hope to call something here to wait for the completion of
    // s1's on_completed function
}

// the program usually crashes here when foo goes out of scope because 
// the slow_function(foo) is still working on foo.  I also noticed …
Run Code Online (Sandbox Code Playgroud)

c++ reactive-programming rxcpp

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

rxcpp - 当可观察对象发出值时,为什么不调用所有观察者的 on_next 函数

我试图了解如何使用 rxcpp,我的印象是,当可观察者发出一个值时,所有订阅的观察者都会通过调用其 on_next() 方法来获得通知,并向他们传递发出的值。

以下示例的情况并非如此:

auto eventloop = rxcpp::observe_on_event_loop();

printf("Start task\n");

auto values = rxcpp::observable<>::interval(std::chrono::seconds(2)).map(
        [](int i){
            printf("Observable sending: %d\n", i);
            return i;
        }
);

values.
    subscribe_on(eventloop).
    take(2).
    as_blocking().
    subscribe(
        [](int v){printf("#1 onNext: %d\n", v);},
        [](){printf("#1 onCompleted\n");});

values.
    subscribe_on(eventloop).
    take(2).
    as_blocking().
    subscribe(
        [](int v){printf("#2 onNext: %d\n", v);},
        [](){printf("#2 onCompleted\n");});

printf("Finish task\n");
Run Code Online (Sandbox Code Playgroud)

我期望输出是这样的:

Start task
Observable sending: 1
#1 onNext: 1
#2 onNext: 1
Observable sending: 2
#1 onNext: 2
#1 onCompleted
#2 onNext: 2
#2 onCompleted
Finish task
Run Code Online (Sandbox Code Playgroud)

即当新值到来时,所有订阅的观察者都会调用 on_next …

c++ reactive-programming reactivex rxcpp

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

C++使用std :: vector迭代类指针

我试图使用指针迭代一个向量我有一个名为的向量:

 std::vector<GameObject*> objects;
Run Code Online (Sandbox Code Playgroud)

和这些函数的负载:

void Game::update()
 {
    std::vector<GameObject*>::iterator itr;
    for( itr = objects.begin();itr < objects.end();++itr)
    {
        itr->update();//I need to call a abstract function in the GameObject Class
    }
 }
 Game::~Game()
 {

    delete ball;
    delete player;
 }
Game::Game()
{
    ball = new GOBall(800/2 - GOBall::SIZE/2,600/2 - GOBall::SIZE/2);
    player = new GOPlayer(0, 600/2 - GOPlayer::SIZEY/2,ball);
    objects.push_back(ball);
    objects.push_back(player);
}
Run Code Online (Sandbox Code Playgroud)

正如你可以看到我想要的方式,仍然让我调用的函数,也解析polymorphistic类为其他polymorphistic类迭代(因此原因,其被解析到载体之前声明),我不断收到的错误:

C2839:重载'运算符 - >'的返回类型'GameObject*const*'无效

和错误:

C2039:'update':不是'std :: _ Vector_const_iterator <_Ty,_Alloc>'的成员

告诉我我不能打电话ball->update()player->update()通过迭代器,所以我该怎么做?

c++ polymorphism vector c++11

4
推荐指数
2
解决办法
1972
查看次数

在JSON.NET的情况下,我应该为可选字段设置任何属性

在JSON.NET反序列化的情况下,我应该为可选字段设置任何属性吗?我的意思是

public class Foo
{
    [JsonProperty(Required = Required.Default)]
    public String foo { get; set; }
}
Run Code Online (Sandbox Code Playgroud)

提前致谢.

c# json json.net

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

输入trait以获取std :: array或C-style数组的元素类型

我想要一个类型特征来获得一个std::array或一个普通的旧C风格数组的元素类型,例如.char当提供任何一个std::array<char, 3>或它时它应该返回char[3].

执行此操作的机制似乎只是部分到位...我可以使用::value_typeon std::arraystd::remove_all_extentsplain数组,但我找不到一个结合两者的单一类型特征,我自己无法编写一个.

我已经达到了这个目的:

#include <array>
#include <type_traits>

template <class T>
using element_type =  typename std::conditional<
    std::is_array<T>::value,
    typename std::remove_all_extents<T>::type,
    typename T::value_type
>::type;
Run Code Online (Sandbox Code Playgroud)

std::array当然可以正常工作:

int main()
{
    static_assert(
        std::is_same<char, element_type<std::array<char, 3>>>::value,
        "element_type failed");
}
Run Code Online (Sandbox Code Playgroud)

但是当我传递一个普通数组时会中断,因为显然普通的数组没有::value_type.

static_assert(std::is_same<char, element_type<char[3]>>::value, "element_type failed");
Run Code Online (Sandbox Code Playgroud)

只是给出了像''T'这样的错误:如果你想要的话,必须是'::'后面的类或命名空间.

如果我正在写一个函数,我会std::enable_if用来隐藏有问题的模板实例,但是我没有看到这种方法如何在类型特征中使用.

解决这个问题的正确方法是什么?

c++ templates type-traits

4
推荐指数
2
解决办法
1779
查看次数