小编Fer*_*ras的帖子

Golang从内存中提供静态文件

我有一个关于在Go中提供文件的快速问题.有很大的省时FileServer处理程序,但对于我的用例,我只有2或3个文件(js和css)与我的应用程序一起使用,我不想让部署复杂化,不得不考虑这些.

你认为有一种简单的方法可以将这些文件构建到二进制文件中并从那里提供它们.例如,base64将文件的数据编码为常量,并从常量中为文件提供服务.这将以最简单的形式工作,但我不想经历我自己做文件服务器所做的一切(标题,expiries,mime-types等)的痛苦.那么有一种简单的方法可以将这些静态文件以某种形式烘焙到二进制文件中并以这种方式提供它们吗?

static assets http go

17
推荐指数
3
解决办法
8889
查看次数

仅从YouTube视频下载音频

我知道有一百万种方法可以从youtube下载视频,然后将其转换为音频或对其进行进一步处理.但最近我很惊讶地看到一个名为YoutubeToMp3的应用程序在Mac上实际显示"跳过X mb视频",并且据说只能从视频中下载音频,而无需使用bandwith下载整个视频然后转换它.我想知道这是否真的是正确的,因为我无法找到任何办法.你有什么想法 ?

编辑:经过一些测试后,这里有一些关于该主题的其他信息.我试图从中获取音频的视频只是来自互联网的示例mp4文件:

http://download.wavetlan.com/SVV/Media/HTTP/MP4/ConvertedFiles/MediaCoder/MediaCoder_test6_1m9s_XVID_VBR_306kbps_320x240_25fps_MPEG1Layer3_CBR_320kbps_Stereo_44100Hz.mp4

我试过了

ffmpeg -i"输入"out.mp3

ffmpeg -i"输入"-vn out.mp3

ffmpeg -i"input"-vn -ac 2 -ar 44100 -ab 320k -f mp3 output.mp3

ffmpeg -i"input"-vn -acodec copy output.mp3

不幸的是,没有这些命令似乎使用较少的带宽.他们都下载了整个视频.既然你有视频,你可以确认是否有一个命令只从中下载音频流并降低带宽的使用?谢谢!

youtube audio video ffmpeg

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

Golang频道选择声明

刚试试去吧.我想知道如果你有一个select语句等待几个频道上的通信,并且一条消息在两个或多个频道上同时出现,会发生什么.如果所有消息同时出现,select将如何确定接受哪个频道?

谢谢!

concurrency go channels

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

Django管理员默认自定义字段的顺序

我有以下django admin exceprt:

class TagAdmin(admin.ModelAdmin):
    prepopulated_fields = {"slug": ("title",)}
    list_display = ['title', 'total_videos', 'total_active_videos', 'weight', 'status']
    search_fields = ['title']
    list_filter = ['status']
    ordering = ['-weight']

    def queryset(self, request):
        return Tag.objects.annotate(total_videos_order=Count('video'))

    def total_videos(self, obj):
        return obj.total_videos_order
    total_videos.admin_order_field = 'total_videos_order'

    def total_active_videos(self, obj):
        return u'%s' % Video.objects.filter(tags=obj, status=Video.STATUS_ACTIVE).count()
Run Code Online (Sandbox Code Playgroud)

现在一切正常,total_videos和total_active_videos都显示正确的信息.如果单击表标题,total_videos也是可排序的.但是,如果我尝试将代码更改为:

ordering = ['total_videos_order']
Run Code Online (Sandbox Code Playgroud)

我收到一个错误:

TagAdmin.ordering [0]'指的是模型'videos.Tag'中缺少的字段'total_videos_order'.

如果它只是"total_videos"相同.作为一种解决方法,我可以忽略它,只需点击标题,但它困扰我的原因,如果通过单击默认顺序排序无法设置,当字段显然存在?有什么想法吗?

问题的第二部分是否可以在过滤字段"total_active_videos"上添加排序.根据我的理解,它不可能用条件注释,因此它不能像"total_videos"那样完成,但还有其他解决方案吗?

谢谢!

python django orm admin django-postgresql

5
推荐指数
0
解决办法
1117
查看次数

Jupyter Notebook同时显示和捕获输出

我试图找出一种方法来“保存” jupyter笔记本中的变量,但同时捕获丰富的输出。主要是因为ssh断开连接等原因。仅分配变量不起作用,因为某些库会打印进度条之类的信息。

到目前为止,最有前途的方法是使用,%%capture但是在最新版本中似乎只能捕获输出,而在浏览器会话处于活动状态时则不会输出。理想情况下,如果浏览器会话处于活动状态,则我希望找到一种同时执行这两种解决方案的输出结果,但是如果由于某种原因它被中断,则可以稍后转储捕获的输出。

python ipython jupyter-notebook

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

Java 8流聚合了一个映射

我试图做一些看似直截了当的事情但到目前为止没有运气.我有一个Map列表,它们来自一堆并行的CompletableFutures,结果必须加入.由于映射中的键是唯一的,因此需要合并值并生成与SomeType的组合列表关联的唯一键的新映射.例如:

Map1:key1:Sometype1 key2:Sometype2

Map2 key1:Sometype3 key2:Sometype4

期望的最终结果:Map3:key1:Sometype,Sometype3 key2:Sometype2,Sometype4

我尝试使用groupBy和其他方法,但似乎大多数人假设使用List而不是Map开头,所以我无法找到一种直接的方法来做到这一点.

到目前为止我有类似的东西:

 Map<String, List<Sometype>> volPercent = waitGroup.stream()
            .map(CompletableFuture::join)
            .flatMap((e) -> e.entrySet().stream())
            .collect(Collectors.groupingBy());
Run Code Online (Sandbox Code Playgroud)

我不确定的部分是什么需要分组.我尝试了Map.Entry :: getKey,但它没有编译:

Error:(69, 25) java: incompatible types: inference variable T has incompatible bounds
equality constraints: com.Sometype
lower bounds: java.util.Map.Entry<java.lang.String,com.Sometype>
Run Code Online (Sandbox Code Playgroud)

java lambda java-8 java-stream

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

收集实时GC指标 - Golang

Go中是否有一种直接的方式来获取有关GC和堆大小的信息,以便将它们暴露给监视仪表板.我看了一下运行时包,但似乎并没有那样做.理想情况下,这不需要任何开销,例如在分析模式下运行应用程序等,但应该是生产就绪.

metrics garbage-collection go

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

CLion 和远程标头

我在尝试做一些看似微不足道的事情时遇到了很多麻烦。我想在 docker 容器中安装一些库以在我的项目中使用(将其视为任何其他 VM),但使用主机内的 IDE 实际针对它进行开发。

在这种情况下,直接依赖有些作用,但它们的常见对应项(如 boost 等)缺少 IDE 中的头文件,因此即使程序编译,我也会在 IDE 中遇到一堆错误和缺少头文件。

这是在项目中使用 nghttp2 作为依赖项的示例 CMake 文件:

cmake_minimum_required(VERSION 3.2)
project(deptest)

set(CMAKE_CXX_STANDARD 11)

################ hidapi

set(NGHTTP2_ROOT ${CMAKE_BINARY_DIR}/vendor/nghttp2)
set(NGHTTP2_LIB_DIR ${NGHTTP2_ROOT}/bin/lib)
set(NGHTTP2_INCLUDE_DIR ${NGHTTP2_ROOT}/bin/include)

include(ExternalProject)

ExternalProject_Add(nghttp2_dep
                    PREFIX ${NGHTTP2_ROOT}
                    GIT_REPOSITORY "https://github.com/nghttp2/nghttp2.git"
                    GIT_TAG "0641d314a62fc2f9ede5cbb487895236da4ae4f4"
                    UPDATE_COMMAND ""
                    PATCH_COMMAND ""
                    BINARY_DIR ${NGHTTP2_ROOT}/src/nghttp2
                    SOURCE_DIR ${NGHTTP2_ROOT}/src/nghttp2
                    INSTALL_DIR ${NGHTTP2_ROOT}/bin
                    CONFIGURE_COMMAND ./configure --prefix=<INSTALL_DIR> --enable-asio-lib
                    BUILD_COMMAND make
                    BUILD_BYPRODUCTS ${HIDAPI_LIB_DIR}/libnghttp2.a)

# hidapi requires an initial execution of "./bootstrap" to run autoreconf
ExternalProject_Add_Step(nghttp2_dep
                         bootstrap
                         COMMAND autoreconf -i && automake && autoconf
                         DEPENDEES download
                         DEPENDERS …
Run Code Online (Sandbox Code Playgroud)

remote-access clion

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

Doctrine加入绕过延迟加载

我刚刚开始探索Symfony2,我很惊讶它有多少很棒的功能.我开始在http://tutorial.symblog.co.uk/上做博客教程
但是使用2.1版而不是2.0版

我的问题是我有以下的Blog实体:

/**
 * @ORM\OneToMany(targetEntity="Comment", mappedBy="blog")
 */
protected $comments;
Run Code Online (Sandbox Code Playgroud)

以及评论实体中的以下内容:

/**
 * @var string $blog
 *
 * @ORM\ManyToOne(targetEntity="Blog", inversedBy="comments")
 * @ORM\JoinColumn(name="blog_id", referencedColumnName="id")
 */
private $blog; 
Run Code Online (Sandbox Code Playgroud)

我创建了获取最新博客的功能并加入了评论,因此我不必为每个博客添加延迟加载评论,并避免多次调用评论表,如下所示:

$qb = $this->createQueryBuilder('b')
            ->select('b')
            ->leftJoin('b.comments', 'c')
            ->addOrderBy('b.created', 'DESC'); 
Run Code Online (Sandbox Code Playgroud)

但是当我在twig模板中运行时,该查询的结果为:blog.comments 我得到了第一个查询,以便通过连接来检索正确的博客,但是然后我没有使用连接的注释值来调用每个注释表博客条目?如何绕过该特定情况的功能,但保持关系,以便我可以从视图博客页面获取博客的所有评论?

orm doctrine join symfony

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