小编Dav*_*han的帖子

DevTools中不再显示Chrome 59+ websocket框架

自从我在Mac OS El Capitan上从Chrome 58 => 59升级后,当我使用Dev Tools网络检查器查看WebSocket框架时,框架不再可见.我们构建了一个大量使用WS的应用程序,所以我非常依赖这个功能.

我想也许这可能是我们在应用程序中改变的 - 编码或协议可能导致它不显示,所以我在这里尝试了这个简单的测试:https://websocket.org/echo.html

  1. 打开DevTools
  2. 转到https://websocket.org/echo.html
  3. 转到"网络"选项卡,在WS上过滤,转到"帧"选项卡
  4. 单击echo in echo app,然后单击Send Message

这导致DevTools中没有显示任何框架,但套接字消息与应用程序一起正常工作.我问过其他几个人,其中一些人没有这个问题.

我想知道我是否有一个导致此问题的扩展,或者我是否有其他可能阻止帧显示的神秘设置?

在此输入图像描述

google-chrome websocket google-chrome-devtools

52
推荐指数
3
解决办法
8111
查看次数

测试mongodb和pymongo中的空字符串

这是我的数据结构.

[{
"name": "David",
"lastname": "",
},
{
"name": "Angela"
}]
Run Code Online (Sandbox Code Playgroud)

"姓氏"有时存在,有时不存在,有时则为"".

我想获得所有姓氏不等于""的行.但这不起作用.当lastname为""并且lastname完全不存在时,它返回两行.在上面的例子中,我想只获取David节点.

db.collection.find( {"lastname": {"$ne": ""}} )
Run Code Online (Sandbox Code Playgroud)

mongodb pymongo

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

Pycharm Django调试非常慢

我有一个中等规模的网站,但PyCharm启动Runserver大约需要30秒,并准备好运行应用程序.如果我"运行"应用程序而不是"调试",它只需要大约3秒钟即可启动.

我能做些什么可以加快代码更改和调试周期.我正在使用一个体面的MBP与16Gb的RAM.所以硬件不是问题.

我从项目中排除了/媒体文件.我没有任何其他大量的文件会导致索引问题我使用Postgres和Mongo数据库.我正在运行Django 1.7 +十几个包,如:

dj-static==0.0.6
django-annoying==0.8.1
django-appconf==1.0.1
django-bootstrap-form==3.2
django-bootstrap-pagination==1.5.1
django-compressor==1.5
django-extensions==1.5.5
django-filter==0.10.0                              
django-guardian==1.2.5
django-storages-redux==1.2.3
django-widget-tweaks==1.3
djangorestframework==3.1.2                        
django-jinja==1.4.1
Run Code Online (Sandbox Code Playgroud)

这是调试输出:

/Users/user1/.virtualenvs/env-test/bin/python "/Applications/PyCharm 4.5 EAP.app/Contents/helpers/pydev/pydevd.py" --multiproc --save-signatures --client 127.0.0.1 --port 64097 --file /Users/user1/gitroot/website1/manage.py runserver 0.0.0.0:8000 --verbosity 2
Connected to pydev debugger (build 141.1245)
pydev debugger: process 63926 is connecting

pydev debugger: process 63954 is connecting

Performing system checks...

System check identified no issues (0 silenced).
You have unapplied migrations; your app may not work properly until they are applied.
Run 'python manage.py …
Run Code Online (Sandbox Code Playgroud)

python django pycharm

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

如何不在Angular2生产包中包含模拟服务

在构建用于生产的角度2 app时,我们使用

ng build --prod --w --aot 
Run Code Online (Sandbox Code Playgroud)

但是我们的模拟服务也可能因为我们拥有而捆绑和缩小

import {XMockService} from "./xxx-mock.service";
Run Code Online (Sandbox Code Playgroud)

这可以防止树摇晃丢弃未使用的服务.这是我们简化的app.module.ts,它在environment.mock = true时有条件地延迟加载模拟服务

我想这是一个常见的场景,但我找不到任何答案.

app.module.ts:

import {BrowserModule} from "@angular/platform-browser";
import {NgModule} from "@angular/core";
import {FormsModule} from "@angular/forms";
import {HttpModule} from "@angular/http";
import {AppComponent} from "./app.component";
import {environment} from "../environments/environment";
import {XService} from "./xxx.service";
import {XMockService} from "./xxx-mock.service";

let importedModules: Array<any> = [
  XService
];

if (environment.mock) {
  importedModules.push(
    {provide: XService, useClass: XMockService}
  );
} else {
  importedModules.push(
    XService
  );
}

@NgModule({
  declarations: [
    AppComponent
  ],
  imports: [
    BrowserModule, …
Run Code Online (Sandbox Code Playgroud)

mocking angular-cli angular

17
推荐指数
2
解决办法
2059
查看次数

如何在Angular 2中有条件地加载模块

下面的代码可以根据不同的Angular-cli环境变量有条件地加载模拟服务.然而,它具有副作用,即模拟服务被构建到最终的转码和缩小的输出文件中.

有没有更好的方法来完成angular2中的延迟加载模块?

app.module.ts:

import {BrowserModule} from "@angular/platform-browser";
import {NgModule} from "@angular/core";
import {FormsModule} from "@angular/forms";
import {HttpModule} from "@angular/http";
import {AppComponent} from "./app.component";
import {environment} from "../environments/environment";
import {XService} from "./xxx.service";
import {XMockService} from "./xxx-mock.service";

let importedModules: Array<any> = [
  XService
];

if (environment.mock) {
  importedModules.push(
    {provide: XService, useClass: XMockService}
  );
} else {
  importedModules.push(
    XService
  );
}

@NgModule({
  declarations: [
    AppComponent
  ],
  imports: [
    BrowserModule,
    FormsModule,
    HttpModule
  ],
  providers: importedModules,
  bootstrap: [AppComponent]
})

export class AppModule {}
Run Code Online (Sandbox Code Playgroud)

mocking angular-cli angular

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

将大文件从Kubernetes pod上传到Google Storage GCE

上传大文件(超过10Mb但小于100Mb)时出现此错误:

403 POST https://www.googleapis.com/upload/storage/v1/b/dm-scrapes/o?uploadType=resumable: ('Response headers must contain header', 'location')
Run Code Online (Sandbox Code Playgroud)

或者当文件超过5Mb时出现此错误

403 POST https://www.googleapis.com/upload/storage/v1/b/dm-scrapes/o?uploadType=multipart: ('Request failed with status code', 403, 'Expected one of', <HTTPStatus.OK: 200>)
Run Code Online (Sandbox Code Playgroud)

看来这个API正在查看文件大小并尝试通过多部分或可恢复方法上传它.我无法想象作为这个API的调用者我应该关注的是什么.问题是否与权限有关?存储桶是否需要特殊权限才能接受多部分或可恢复上传.

from google.cloud import storage

try:
    client = storage.Client()
    bucket = client.get_bucket('my-bucket')
    blob = bucket.blob('blob-name')
    blob.upload_from_filename(zip_path, content_type='application/gzip')

except Exception as e:
    print(f'Error in uploading {zip_path}')
    print(e)
Run Code Online (Sandbox Code Playgroud)

我们在Kubernetes pod中运行它,因此storage.Client()会自动调用权限.

我们已经尝试过这些:

提前致谢

python python-3.x google-cloud-storage google-compute-engine kubernetes

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

VSCode 复制并粘贴 1 行,不添加换行符

在此处输入图片说明

在 VScode 中,当您复制一行文本,然后将光标放在引号的中间并按 Ctrl+V 时,它会将新行粘贴到您想要放置的位置上方。

在 IntelliJ 和 PyCharm 中,当您使用 Ctrl+C 复制一行代码而不选择任何文本时,它们会智能地删除位于内存中的字符串末尾的 \n 字符。因此,当您将其粘贴在引号中间时,您将获得所需的行为。

由于 VS 团队不太可能很快解决这个问题,我想知道是否有人有一个宏。

https://github.com/Microsoft/vscode/issues/61840

pycharm intellij-13 visual-studio-code

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

ngrx和ngxs之间的性能差异?

我想在我的Angular 6应用程序中使用ngxs进行状态管理.

但我不确定大项目是否成熟.

我找不到任何关于ngrx和ngxs之间性能差异的文章.有人可以提供一些信息吗?

性能指标:从商店中获取大量商品并将其写回商店.

redux ngrx angular ngxs

7
推荐指数
3
解决办法
3944
查看次数

SpyOn TypeORM存储库更改单元测试NestJS的返回值

我需要一个单元测试设置,可以轻松地测试极端情况。我已经用有效数据模拟了所有TypeORM存储库。但是我想SpyOn存储库并更改TypeORM的返回值。我怎么做?

import {INestApplication} from '@nestjs/common';
import {Test} from '@nestjs/testing';
import {CommonModule} from '@src/common/common.module';
import {AuthService} from './auth.service';
import {Repository} from 'typeorm';
import {V3User} from '@src/database/entity/user.v3entity';

describe('AuthService', () => {
    let service: AuthService;
    let app: INestApplication;

    beforeEach(async () => {
        const module = await Test.createTestingModule({
            imports: [CommonModule.forRoot(`${process.env.DEV_ENV}`)],
            providers: [AuthService,     
                 {provide: 'V3USER_REPOSITORY', useValue: mockRepositoryV3User()},
           ],
        }).compile();

        app = module.createNestApplication();
        await app.init();

        service = module.get<AuthService>(AuthService);
    });



    it('test auth service - with non existing user in v3 db', async () => {

        jest.spyOn(?????? , …
Run Code Online (Sandbox Code Playgroud)

typeorm nestjs

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

使用Typescript + VSCode调试Node.js异步/等待

我检查了以下答案:

使用nodejs 7异步等待

如何在Visual Studio代码中调试异步/等待?

但是都没有解决我的问题。

我希望能够使用Node.js v7.4.0从VSCode调试本机Async / Await,而无需使用可怕的Typescript编译版本。我能够让Typescript输出正确的代码,即没有__awaiter等。但是,一旦我尝试调试代码,就会出现所有已编译的状态机代码!因此,我可以调试代码,而不仅仅是我想调试的代码。无论如何,有什么方法可以防止已调试的代码具有已编译的状态机代码?

这是我的配置文件:

tsconfig.json

{
    "compilerOptions": {
        "target": "es2017",

        "module": "commonjs",
        "noImplicitAny": false,
        "sourceMap": true,
        "outDir": "lib",
        "noUnusedParameters": false,
        "noUnusedLocals": false,
        "skipLibCheck": true
        //"importHelpers": true
    },
        "exclude": [
        "node_modules"
    ]
}
Run Code Online (Sandbox Code Playgroud)

launch.json

{
    "name": "Launch",
    "type": "node",
    "request": "launch",
    "program": "${workspaceRoot}/node_modules/jest-cli/bin/jest.js",
    "stopOnEntry": false,
    "cwd": "${workspaceRoot}",
    //"preLaunchTask": "tsc",
    "runtimeExecutable": null,
    "args": [
        "--runInBand"
    ],
    "runtimeArgs": [
        "--harmony-async-await",
        "--no-deprecation"
    ],
    "env": {
        "NODE_ENV": "development"
    },
    "console": "integratedTerminal",
    "sourceMaps": true,
    "outFiles": [
        "${workspaceRoot}/{lib}/**/*.js"
    ],
    "skipFiles": …
Run Code Online (Sandbox Code Playgroud)

javascript node.js typescript visual-studio-code

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