小编Yur*_*rov的帖子

创建一个生成器,从任意数量的内部生成器生成值

我有一个生成器函数generate,一次产生5个随机数.我需要能够以两种方式生成数字:

  1. 单代,表示单个输出generate功能
  2. 多代,这意味着多个执行generate并将所有结果作为单个(合并)流一起产生

为此,我编写了另一个函数get_resource,它调用generate一次或使用itertools.chain一个接一个地运行生成器,但对调用者透明.

我的目标是使用get_resource函数并以相同的格式(一个数字列表)生成结果,而不管单个/多个世代.

import itertools
import random


def get_resource(values=None):
    def resource_generator():
        if values:
            # run a generator for every value
            return itertools.chain(generate(value) for value in values)
        else:
            return generate('meh')

    return resource_generator()


def generate(value):
    for _ in range(5):
        yield random.randint(1, 101)


if __name__ == '__main__':
    # list() is used for convenience only, 
    # I still need the values one by one
    print list(get_resource())
    print list(get_resource([1, …
Run Code Online (Sandbox Code Playgroud)

python generator

6
推荐指数
2
解决办法
430
查看次数

获取在 Android 应用程序中执行和当前运行的所有 AsyncTasks

我有许多AsyncTask实例正在从服务器下载一些不同的内容。它们在执行器上运行:

final GetStationsTask getStationsTask = new GetStationsTask();
getStationsTask
        .executeOnExecutor(AsyncTask.THREAD_POOL_EXECUTOR, URL_STATIONS);
Run Code Online (Sandbox Code Playgroud)

目前我有 3 个子类AsyncTask,但这个数字不会保持不变。我还对由于不同原因未完成的任务进行了某种重试,如果至少有一个任务没有正确完成(未收到数据),我想从头开始下载所有内容:

// mHandler = new Handler(); // an instance variable
mHandler.postDelayed(new Runnable() {
    @Override
    public void run() {
        if (!allDataSet()) {
            // here I want to cancel the tasks that are still running
            // and rerun all of them
        }
    }
}, 30000); // I give all the tasks 30 seconds to complete
Run Code Online (Sandbox Code Playgroud)

为此,我想我需要知道哪些任务当前正在运行,哪些任务已正确完成,哪些任务被取消,因为如果所有任务都重新启动,我需要先取消正在运行的任务,以防止多次接收数据. 任何想法如何解决它?

java multithreading android android-asynctask

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

如何在 Ubuntu 中使用自定义参数自动启动 docker 守护进程?

我需要在 Ubuntu 中使用一些命令行参数启动 docker 守护进程,并且手动执行此操作时,以下命令可以正常工作:

$ dockerd -H fd:// -H tcp://127.0.0.1:2375 -H unix:///var/run/docker.sock
Run Code Online (Sandbox Code Playgroud)

上面的命令使我可以将 docker 与 PhpStorm 的 docker 插件集成,并从那里配置容器。Docker 守护进程开始监听 TCP 端口 2375,在我的例子中,PhpStorm 使用该端口。

我需要使用相同的参数自动启动docker守护进程,并且似乎有很多关于它的有争议的信息。我尝试了许多不同的解决方案,包括更改/etc/default/docker/etc/systemd/system/docker.service.d/docker.conf编辑DOCKER_OPTS参数。

如何在 Ubuntu 16.04 中自动使用上述命令行参数运行 docker 守护进程?

ubuntu phpstorm docker

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

如何从PHP访问ASP经典会话变量?

我有一个在Windows上运行的ASP经典编写的登录保护后台网站.登录状态存储在会话变量中.我还有一个PHP页面,只有登录用户才能访问.如何在PHP中检查客户端是否已登录此网站?

PS可能有多个用户同时访问该页面.

php architecture asp-classic

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

WordPress 忽略 php.ini 上传最大文件大小

我正在运行一个 WordPress 网站(不是 MU),我在 php.ini 中设置了 upload_max_filesize = 50M,post_max_size=50M。phpinfo() 函数的结果显示该值为 50M,但在 WordPress 媒体上传器中最大上传文件大小仍为 32M。

我还尝试在主题的functions.php中编写此代码:

@ini_set( 'upload_max_size' , '50M' );
@ini_set( 'post_max_size', '50M');

还尝试停用所有插件,更改主题但没有解决方案,WordPress 仍然显示 32 Mb。

谁能指导我这里可能出了什么问题?

php wordpress

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

IntelliJ Mac JRE主页

我在基于Windows的笔记本电脑和Macbook之间有一个共享的工作区,今天,当我想在以前用于Windows的项目上使用Mac时,在编译中遇到了以下错误:

12:02:30在21秒530毫秒内成功完成编译12:02:30运行GUI时出错:“ C:/ Program Files / Java / jre1.8.0_101”不是有效的JRE主目录

您能否让我知道该怎么办才能解决此问题?请注意,我在项目中检查了SDK地址,并且已将其正确调整为Mac JDK,但在项目结构中的任何位置都找不到“ C:/ Program Files / Java / jre1.8.0_101”!

谢谢

java macos intellij-idea

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

PyCharm中的垂直线是什么?

在PyCharm中,在屏幕截图中突出显示了一条垂直线。

当我将一长行代码复制到编辑器中时,如果长于该行,它将自动换行。

屏幕截图

这条线是什么,目的是什么?

python pycharm

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

模板没有在Vang中呈现,由Django提供

我有一个用于后端的Django应用程序,它使用Vue作为前端呈现模板.我在django中的视图代码包含以下部分:

# thing/views.py
def index(request):
    template = loader.get_template('thing/index.html')
    return HttpResponse(template.render({}, request))

# thing/urls.py
from django.views.generic import TemplateView

urlpatterns = [
    path('', TemplateView.as_view(template_name='index.html')),
]

# some other files that complete the project are not included
Run Code Online (Sandbox Code Playgroud)

index.html以下代码中:

<div id="app">
    <p v-if="quotaRemaining > -1">
        Remaining: {{ quotaRemaining }}
    </p>
</div>

<script>
    const app = new Vue({
        el: '#app',
        data: {
            quotaRemaining: 42,
        },
    });
</script>
Run Code Online (Sandbox Code Playgroud)

访问此页面时唯一呈现的是:

剩余:

虽然我希望它是

剩余:42

为什么我的Vue模板在Django服务时无法正确呈现?我如何使其工作?

javascript python django vue.js

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

使用 Traefik 通过正则表达式将 URL 重定向到另一个 URL

我想通过 traefik 将一个 URL 重定向到另一个 URL。

我正在使用 docker 进行此配置,下面是我的 docker-compose.yml 文件

version: '3'

services:
  reverse-proxy:
    # The official v2.0 Traefik docker image
    image: containous/whoami
    container_name: "whoami_cont"
    # Enables the web UI and tells Traefik to listen to docker
    ports:
      # The HTTP port
      - 80:80
      # The Web UI (enabled by --api.insecure=true)
      - 8080:8080
    labels:
      - traefik.http.middlewares.test-replacepathregex.replacepathregex.regex=^(https?|ftp|file)://[-a-zA-Z0-9+&@#/%?=~_|!:,.;]*[-a-zA-Z0-9+&@#/%=~_|]
      - traefik.http.middlewares.test-replacepathregex.replacepathregex.replacement=http://localhost:8081/4
Run Code Online (Sandbox Code Playgroud)

然后我成功运行 docker-compose 命令。然后我将点击匹配正则表达式模式的任何 URL,但 URL 没有根据配置重定向到另一个 URL - http://localhost:8081/4。我正在使用 traefik 2.0 版

如果缺少任何配置,请告诉我。

docker docker-compose traefik

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

无法安装golint软件包:错误的导入路径

我有一个使用golint的项目并将其安装在docker容器中。它已经工作了好几个月(并且已经构建了多次),但是今天当我再次构建容器时,出现以下错误:go -u github.com/golang/lint/golint

package github.com/golang/lint/golint: 
code in directory /a-go-path/golang/lint/golint expects import "golang.org/x/lint/golint"
Run Code Online (Sandbox Code Playgroud)

我可以通过输入go get github.com/golang/lint/golint在本地计算机上复制该问题。我已经删除了go路径(源文件夹和bin文件夹)中与golint相关的所有软件包,但是当我再次尝试安装它时,仍然收到前一个错误。我正在使用go 1.11.0有什么建议吗?

go docker golint

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

我正在尝试删除 MySQL 数据库,但它在控制台中显示错误

在控制台中,我尝试使用命令删除数据库

drop database database_name;
Run Code Online (Sandbox Code Playgroud)

但它抛出以下错误。

ERROR 1064 (42000):您的 SQL 语法有错误;检查与您的 MySQL 服务器版本相对应的手册,了解在第 1 行“数据库检查”附近使用的正确语法

我还尝试使用另一个命令:

mysqladmin -u root -p drop check;
Run Code Online (Sandbox Code Playgroud)

它在下面抛出一个错误

ERROR 1064 (42000):您的 SQL 语法有错误;检查与您的 MySQL 服务器版本相对应的手册,了解在第 1 行“mysqladmin -u root -p drop check”附近使用的正确语法

如何修复它?

mysql

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