小编Rob*_*ool的帖子

Typescript - 检索类属性而不创建对象

在 Angular 6 中,我有一个像这样的打字稿类

export class Hello {
  id: number;
  name?:string;
  txt?:string;
}
Run Code Online (Sandbox Code Playgroud)

从组件控制器中,我想检索具有属性名称的数组,而不需要创建对象。就像是:

ObjectType.keys(Hello);
// ["id", "name", "txt"]
Run Code Online (Sandbox Code Playgroud)

那可能吗 ?

javascript typescript angular

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

Docker 占用的空间比容器、图像和卷的总和多得多

在 Ubuntu 上运行的 Docker 占用了 18G 的磁盘空间(在 20G 的分区上),导致服务器崩溃。下面的命令显示“官方”图像、容器和卷大小与 docker 文件夹大小之间存在严重不匹配。

是什么原因造成的,我该如何清理?

我已经尝试过docker system prune这没有帮助。

du -sh /var/lib/docker
Run Code Online (Sandbox Code Playgroud)

在此处输入图片说明

docker system df
Run Code Online (Sandbox Code Playgroud)

码头工人

du -sh /var/lib/docker/*
Run Code Online (Sandbox Code Playgroud)

在此处输入图片说明

du -sh /var/lib/docker/containers/*
Run Code Online (Sandbox Code Playgroud)

在此处输入图片说明

docker

7
推荐指数
2
解决办法
4379
查看次数

Ionic 1.x - 从凉亭到npm

我曾经用bower在我的离子1项目中安装插件.新的趋势,特别是离子2,是用npm安装包.即使对于离子1.x,一些核心包装,例如ionic.cloud也不再提供凉亭.

所以我需要将一些包迁移到npm.建议的方法是什么?

我的问题:

  • "npm install"似乎在"my_project/node_modules"文件夹中安装软件包,不像bower直接在my_project/www/lib /中安装软件包
  • 正如在ionic.cloud安装指南中所解释的那样,这需要一个额外的步骤来使用以下命令复制lib文件夹中新安装的npm包:

    cp node_modules/@ionic/cloud/dist/bundle/ionic.cloud.min.js www/lib
    
    Run Code Online (Sandbox Code Playgroud)

但是,当我更新程序包并运行"npm update"时,这将更新node_modules文件夹,但不更新lib文件夹.这是一个问题,因为只有我的lib文件夹中的文件包含在我的index.html中.

在每次npm更新后运行cp-command似乎不是一个优雅的解决方案.建议的方法是什么?

npm bower ionic-framework

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

Ionic - 在浏览器缓存中强制缓存图像

出于性能原因,将某些图像缓存在我的应用程序的浏览器缓存中非常重要。仅仅将它们存储在文件系统中是不够的,因为这太慢了。

不幸的是,这些图像是从具有Cache-control我无法控制的响应标头的远程源获取的,并且不利于我的目的。

我的问题:

  1. 有没有办法告诉浏览器强制缓存这些图像,并理想地控制图像的过期时间?
  2. 有没有办法覆盖缓存控制标头?我读到 javascript 是不可能的,但也许离子框架中有一个技巧?

该应用程序是用 ionic 编写的,仅适用于 android,因此理论上我应该能够控制浏览器设置。

cache-control cordova ionic-framework angular

6
推荐指数
0
解决办法
354
查看次数

Leaflet - 获取覆盖全屏的地图

在传单和地图框中,我想去掉地图上方和下方的两个灰色条,如下图所示。我的 #map DOM 元素占据全屏,并且当我放大时灰色条消失(例如,zoomLevel = 3)。因此,灰色条似乎是由于 ZoomLevel 具有给定的图块高度(以 px 为单位)而导致的,该高度小于我的屏幕。

我想保持图块相同的缩放级别,但确保图块的高度至少覆盖全屏。

在此输入图像描述

这是我的地图设置代码:

                vm.map = L.map('map', {
                    center: [35, 15],
                    zoom: 2,
                    maxZoom: 21,
                    scrollWheelZoom: true,
                    maxBounds: [
                    [89.9, 160.9],
                    [-89.9, -160.9]
                    ],
                    zoomControl: false,
                    noWrap: true,
                    zoomAnimation: true,
                    markerZoomAnimation: true,
                });
Run Code Online (Sandbox Code Playgroud)

我使用的是 Angular,屏幕尺寸为 1920 x 1080

angularjs leaflet angular-leaflet-directive

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

在 Annoy 库中使用 mmap() 在 Docker 容器之间共享 RAM

我正在使用使用mmap() 的Annoy 库将一些多 Gb 文件加载到 RAM 内存中。使用 mmap() 的目标是在内存中只加载一次文件,即使不同的进程需要它。

使用 docker,我计划使用在同一主机上执行相同脚本的多个容器进行扩展。但是多 Gb 文件只能在 RAM 中加载一次(这就是我们使用 mmap() 的原因),否则我的服务器会爆炸。

多 Gb 文件位于安装在我的容器上的卷中。

但是我仍然需要找到一种在容器之间共享 RAM 的方法,以便我获得 mmap() 的优势。

我找到了这篇关于在 docker 中使用 --ipc 标签的文章,但我不知道它是否适用于我的情况以及如何实现它。欢迎任何帮助。

linux ram mmap docker annoy

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

Laravel API:外部 API 的超时时间极长

对于 Laravel api 中的端点,我调用的外部 api 非常慢,可能需要 90 分钟才能响应,因为它需要运行一大堆进程。

在我的 laravel api 中,我会立即向客户发送请求已启动的响应,并且在我收到 api 的响应后 90 分钟结束后,他们会收到一封电子邮件。

调用 REST API 的超时时间为 120 分钟甚至更长,并在此期间保持开放连接是否可以?它会影响我的 API 的其他用户的性能吗?我是否需要更改任何 Laravel 参数(超时除外)以便一切顺利运行(例如,是否有最大并发工作人员数量?)?

api rest laravel

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

Django - 将 InMemoryUploadedFile 发布到外部 REST api

在 Django Rest Framework 中,我想在收到文件后InMemoryUploadedFile立即将其作为 .

听起来很简单,但该request.post()功能似乎无法正确发送这样的文件:

def post(self, request, *args, **kwargs):
    data = request.data
    print(data)
    # <QueryDict: {'file': [<InMemoryUploadedFile: myfile.pdf (application/pdf)>]}>
    endpoint = OTHER_API_URL + "/endpoint"
    r = requests.post(endpoint, files=data)
Run Code Online (Sandbox Code Playgroud)

我的另一台服务器接收请求(通过flask),带有文件名,但不是内容:

@app.route("/endpoint", methods=["POST"])
def endpoint():
    if flask.request.method == "POST":
        # I removed the many checks to simplify the code
        file = flask.request.files['file']
        path = os.path.join(UPLOAD_FOLDER, file.filename)
        file.save(path)        

        print(file) #<FileStorage: u'file.pdf' (None)>
        print(os.path.getsize(path)) #0

        return [{"response":"ok"}]
Run Code Online (Sandbox Code Playgroud)

使用邮递员将文件直接发布到表单数据中的 api 时,它按预期工作:

        print(file) # <FileStorage: u'file.pdf' ('application/pdf')>
        print(os.path.getsize(path)) #8541 …
Run Code Online (Sandbox Code Playgroud)

python django django-rest-framework

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

使用 python 类型时,Visual Studio Code 颜色不起作用

我正在使用新的 python 语法来描述我的方法返回的类型,例如: def method(unpacked_message: dict) -> dict:

这似乎打破了 vscode 配色方案

在此处输入图片说明

预期颜色:

在此处输入图片说明

环境和 vs 代码扩展:

  • ubuntu 上的 Python 3.6.9
  • ms-python.python v2020.11.371526539
  • tht13.python:VS 代码 v0.2.3 的 Python
  • magicstack.magicpython: MagicPython v1.1.0

代码运行完美。难道我做错了什么 ?

python visual-studio-code

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