小编Mat*_*ood的帖子

编写一个纯函数从内部属性返回另一个对象的一个​​对象?

做一些数据转换练习并陷入困境.我有一个对象,我想转换为from (starting)- > to (expected ending)输出如下所述.我正在尝试使用Array.reduceObject.assign保持输出纯净.但我无法让它正常工作.

/**
 *  from (starting): {topic: {id: 2}, products: {id: 3}}
 *  to (expected ending):   {topic: 2, products: 3}
 */

const starting = {topic: {id: 2}, products: {id: 3}};

const ending = Object.keys(starting).reduce((p, key) => {
  if(!p[key]) p[key] = key;
  return Object.assign(p[key], starting[key].id);  
}, {})
Run Code Online (Sandbox Code Playgroud)

javascript arrays reduce transformation

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

在Windows上的VM Vagrant Box中创建Ruby on Rails环境

Vagrant是在Windows中创建Rails环境的好解决方案吗?

我有一个功能强大的Windows 8 64位桌面.我最近与RoR做了一个项目,并爱上了它.正如我发现的那样,在Windows上安装RoR只是简单的; 所以我为ubuntu创建了一个双启动.作为一名富有创造力的开发人员,我发现由于缺乏典型的创作工具,因此很难在ubuntu中完成任何"创意".

我读了一篇名为Vagrant的工具; 但是,我仍然不确定它是否符合我的要求: adobe suite,sublime text,git,rails,rails friendly OS(mac?/ ubuntu)

典型职责:在photoshop(windows)中编辑图像,将其放到VM中的项目资源中?典型职责:推/拉到git; ssh到VPS服务器?

另外,我听说你可以在VM中安装mac os你认为这是一个不错的选择吗?(因为我想尝试他们的新操作系统)

ruby windows ruby-on-rails virtual-machine vagrant

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

jsHint投掷'Firebase'未定义警告

如何正确定义Firebase,以便jshint停止发出哔哔声.

我的代码正在运行......只是jshint很烦人

app.js

 angular
  .module('morningharwoodApp', [
    'firebase',
    'ngAnimate',
    'ngCookies',
    'ngResource',
    'ngRoute',
    'ngSanitize',
    'ngTouch'

  ])
Run Code Online (Sandbox Code Playgroud)

main.js

angular.module('morningharwoodApp')
  .controller('MainCtrl', function ($scope, $firebase) {
    // var Firebase;
    var pageRef = new Firebase('https://morningharwood.firebaseIO.com/page');
    // var pageRef = new Firebase('https://morningharwood.firebaseIO.com/page');


    //init
    $scope.pages = $firebase(pageRef);
    $scope.newPage = {
        title: '',
        slug: '',
        url: '',
        desc: '',
        active: false,
        template: [
            {
                type: ''
            }
        ],
        img: '',
        dateCreated: '',
        dateUpdated: ''

    };

    //CRUD

    //add
    $scope.addPage = function() {
        $scope.pages.$add($scope.newPage);
        $scope.newPage = '';
    };
  });
Run Code Online (Sandbox Code Playgroud)

在此输入图像描述

jshint angularjs firebase angularfire

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

UI路由器附加功能会因意外结果错误而破坏我的单元测试?

题:

- 当安装ui-router-extras(不是普通的ui-router)时,为什么我的测试失败?

- 我如何使用ui-router-extras并仍然通过我的测试?


如果你想快速安装,请使用yeoman + angular-fullstack-generator + bower安装ui-router-extras

我发现普通的ui-router存在类似的问题.

  • 幸运的是,ui-router normal在我的测试中运行得很好.
  • 安装ui-router-extras之后我得到了一个错误

错误日志

如果我卸载ui-router.extras它的测试通过就好了: 在此输入图像描述

更新为$ urlRouterProvider TEST的beforeEach模块继承 我的测试:

'use strict';

describe('Controller: MainCtrl', function () {

  // load the controller's module
  beforeEach(module('morningharwoodApp'));
  beforeEach(module('socketMock'));

  var MainCtrl,
      scope,
      $httpBackend;

  // Initialize the controller and a mock scope


  beforeEach(
    inject( function (_$httpBackend_, $controller, $rootScope) {
      $httpBackend = _$httpBackend_;
      $httpBackend.expectGET('/api/things')
        .respond(['HTML5 Boilerplate', 'AngularJS', 'Karma', 'Express']);

      scope = $rootScope.$new();
      MainCtrl = $controller('MainCtrl', {
        $scope: scope
      });
    }),
    module(function ($urlRouterProvider) …
Run Code Online (Sandbox Code Playgroud)

javascript unit-testing angularjs karma-runner angular-ui-router

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

如何在OSX上设置从终端打开Visual Studio Code的链接?

我最近安装了Visual Studio Code,我喜欢它!在过去,我使用了崇高的文本2/3,并且在某些时候我复制了代码以允许subl .命令用sublime打开当前目录.

题:

  • 如何编写类似的代码以允许visual studio代码打开当前目录,就像我过去使用sublime所做的那样.
  • 我应该在哪里粘贴这段代码?

所需的别名/链接/命令将是 code .

是否有关于此视频的命令

macos bash terminal visual-studio-code

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

在ES6中,有iterator.next(); 有没有办法提供iterator.previous()?

浏览完整的ES6 兼容性表.刚刚开始Set().

const set = new Set();
set.add('foo');
set.add('baz');

const iterator = set.values();
iterator.next(); // { value: "foo", done: false }
iterator.next(); // { value: "baz", done: false }
Run Code Online (Sandbox Code Playgroud)

是否有可能编写一个类似的方法iterator.next(),但它向后迭代而不是向前(即iterator.previous())?

javascript set ecmascript-6

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

如何使用Jest将prop内部的spyOn方法传递给组件?

背景:

我的测试框架是Jest和Enzyme。我有一个Component Lazyload,它耦合到LazyloadProviderusing React.ContextAPI。我想编写一个测试,关于担保 componentDidMount的的Lazyload组件内道具的方法this.props.lazyload.add()被调用。我希望使用Jest间谍hasBeenCalledWith(this.lazyRef)是有效的

我开玩笑的是能够监视Lazyload的register方法。但是,我无法弄清楚如何监视内部道具方法this.props.lazyload.add

题:

我该如何写一个开玩笑的间谍this.props.lazyload.add并确保它被调用this.lazyRef

class Lazyload extends Component<LazyloadProps, LazyloadState> {
  lazyRef: ReactRef;

  constructor(props) {
    super(props);
    this.lazyRef = createRef();
  }

  componentDidMount() {
   this.register()
  }

  register() { // not spy on this.
    this.props.lazyload.add(this.lazyRef); // spyOn this
  }
}
Run Code Online (Sandbox Code Playgroud)

测试:

describe('lazyload', () => {
  let provider;
  beforeEach(() => {
    provider = shallow(
      <LazyloadProvider>
        <p>Wow</p>
      </LazyloadProvider>
    ).instance();
  });

  it('should register a …
Run Code Online (Sandbox Code Playgroud)

javascript spy reactjs jestjs enzyme

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

为什么 Rust 中的 WASM 库必须将 crate-type 设置为 cdylib?

防锈参考状态

将产生一个动态系统库。这在编译要从另一种语言加载的动态库时使用。此输出类型将*.so在 Linux*.dylib上创建文件、在 macOS上创建文件以及*.dll在 Windows上创建文件。

我的 WASM 不是*.dylib, *.dll, 或*.so... 那么为什么必须将 crate 类型设置为 cdylib?幕后到底发生了什么?

库文件

#[no_mangle]
pub extern fn add_one(x: u32) -> u32 {
    x + 1
}
Run Code Online (Sandbox Code Playgroud)

Cargo.toml

[package]
name = "utils"
version = "0.1.0"
authors = [""]
edition = "2018"

[dependencies]

[lib]
crate-type = ["cdylib"] // Why is this needed
Run Code Online (Sandbox Code Playgroud)

索引.html:

[package]
name = "utils"
version = "0.1.0"
authors = [""]
edition = "2018"

[dependencies] …
Run Code Online (Sandbox Code Playgroud)

rust rust-cargo

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

为什么Web协议设计为://后缀?

如果://在Web协议中有什么意义?例如ftp://http://

设计模式中有原因吗?为什么不是它只是http:一个http.或类似的东西http~

任何对此文档的引用都将不胜感激.

protocols http

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

CloudCDN 是否支持 Brotli 编码的服务?

我的公司正在考虑从 AWS 迁移到 GCP。我们希望从 CloudCDN 支持的功能之一是 brotli 编码。我们有一个技术栈,可以将我们的 javascript 打包成 3 个文件:

chunk.js
chunk.js.gz
chunk.js.br
Run Code Online (Sandbox Code Playgroud)

如果 CloudCDN 收到客户端请求标头Accept-Encoding: br, gzip ,CloudCDN 是否足够智能以提供 Brotli 文件?而且,它会被缓存吗?如果没有,是否还有其他方法可以在 CloudCDN 中实现这一点。

AWS Cloudfront 仅在使用 2 个 lamdbas 时提供此功能。我认为这是一个坏主意。

compression encoding brotli google-cloud-cdn

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