小编Geo*_*ous的帖子

csv到d3.js中的数组

我使用它来解析csv文件并创建d3文档中指定的数组数据:

d3.csv("afile.csv", function(data) {
    data.forEach(function(d) {
    d.date = formatDate.parse(d.date);
    d.price = +d.price;
});
Run Code Online (Sandbox Code Playgroud)

但是,如果在这个方法之后我尝试调用data[0]它说它是未定义的.这是因为data是一个参考,一旦d3.csv()超出范围被破坏?如果是这种情况,我怎么能克服这一点.我需要引用数据d3.csv()

csv d3.js

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

在virtualenv中安装PyGtk

所以我试图在我的virtualenv(在控制台中)运行一个简单的matplotlib示例.这是代码:

import matplotlib
matplotlib.use('GTKAgg')
import matplotlib.pyplot as plt
radius = [1.0, 2.0, 3.0, 4.0, 5.0, 6.0]
area = [3.14159, 12.56636, 28.27431, 50.26544, 78.53975, 113.09724]
plt.plot(radius, area)
plt.show()
Run Code Online (Sandbox Code Playgroud)

但是,当我运行这个时,我得到:

ImportError:Gtk*后端需要安装pygtk.

现在,乐趣开始了.我试图pip安装pygtk但它抛出:

********************************************************************
* Building PyGTK using distutils is only supported on windows. *
* To build PyGTK in a supported way, read the INSTALL file.    *
********************************************************************
Complete output from command python setup.py egg_info:
********************************************************************
Run Code Online (Sandbox Code Playgroud)

我检查了INSTALL文件并说要试试./configfure; make; make install.然而.我不太确定如何在virtualenv中做到这一点.我在哪里解压缩pygtk的源代码以便安装在virtualenv中.

python pygtk matplotlib virtualenv

37
推荐指数
3
解决办法
3万
查看次数

Matplotlib不显示virtualenv中的图形

我在我的virtualenv中安装了pip安装的matplotlib,我试图绘制一个简单的图形.我使用Eclipse和PyDev.当我从Eclipse运行脚本时,它根本不显示任何图形.我已经尝试过在其他问题中提出的建议,例如添加plt.ion(),但这也不起作用.我也在控制台中尝试了相同的代码,但没有.这是我配置的问题吗?如果是这样,我该如何解决?

失败的代码是:

    import matplotlib.pyplot as plt
    radius = [1.0, 2.0, 3.0, 4.0, 5.0, 6.0]
    area = [3.14159, 12.56636, 28.27431, 50.26544, 78.53975, 113.09724]
    plt.plot(radius, area)
    plt.show()
Run Code Online (Sandbox Code Playgroud)

代码不是问题.它可以很好地用于virtualenv.问题是当我在virtualenv中使用它时.问题与我的配置有某种关系.只是为了清理我没有收到任何错误消息.只是窗口不会出现.

谢谢

python matplotlib virtualenv

16
推荐指数
3
解决办法
9777
查看次数

如何使用ember数据向hasMany关系添加对象

我有这两个模型:

App.Items = DS.Model.extend({
    provider: DS.attr('string'),
    name: DS.attr('string'),
    description: DS.attr('string'),
});

App.Baskets = DS.Model.extend({
    selectedItems: DS.hasMany('App.Items'),
    name: DS.attr('string'),
    username: DS.attr('string'),
})
Run Code Online (Sandbox Code Playgroud)

现在我想要做的是当用户选择它时将新项目添加到篮子.我试过这样做:

basket = App.Baskets.find(1);
item = App.Items.find(1);
basket.set("selectedItems", item)  ; 
App.store.commit();
Run Code Online (Sandbox Code Playgroud)

这不会返回任何错误,但它不会触发对服务器的任何请求.

或者,我试过这个:

basket = App.Baskets.find(1);
selectedItems = basket.get("selectedItems")
selectedItems.pushObject(App.Items.find(1))
App.store.commit();
Run Code Online (Sandbox Code Playgroud)

此方法返回错误:

Uncaught TypeError: Cannot call method 'indexOf' of undefined ember.js:1691
get ember.js:1691
DS.OneToManyChange.sync ember-data.js:4572
(anonymous function) ember-data.js:424
OrderedSet.forEach ember.js:1410
DS.ManyArray.DS.RecordArray.extend.arrayContentDidChange ember-data.js:423
newFunc ember.js:1167
Ember.ArrayProxy.Ember.Object.extend.arrangedContentArrayDidChange ember.js:10600
sendEvent ember.js:3792
Ember.Array.Ember.Mixin.create.arrayContentDidChange ember.js:7933
Ember.Mixin.create.replace ember.js:11011
Ember.ArrayProxy.Ember.Object.extend.replaceContent ember.js:10476
DS.ManyArray.DS.RecordArray.extend.replaceContent ember-data.js:351
newFunc ember.js:1167
Ember.ArrayProxy.Ember.Object.extend.replace …
Run Code Online (Sandbox Code Playgroud)

ember.js ember-data

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

res.json()和res.end()之间的性能差异

我想使用Node和Express发送JSON响应.我试图比较res.endres.json为此目的的性能.

版本1:res.json

res.json(anObject);
Run Code Online (Sandbox Code Playgroud)

版本2:res.end

res.setHeader('Content-Type', 'application/json');
res.end(JSON.stringify(anObject));
Run Code Online (Sandbox Code Playgroud)

运行一些基准测试我可以看到第二个版本比第一个版本快15%.res.json如果我想发送JSON响应,是否有特殊原因需要使用?

optimization node.js express

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

我可以有多个twitter oauth回调网址吗?

我创建了一个Twitter应用程序,并将以下url指定为回调url:

http://www.myapp.com/login

但是,当用户从url myapp.com(缺少www前缀)访问我的站点时,身份验证将失败.

显然,我不能有多个网址.那么什么可以成为一种解决方法?

twitter twitter-oauth

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

如果文档的字段映射不匹配,Elasticsearch将无提示失败

我面临一个与Elasticsearch有关的奇怪问题.我的映射指定某个字段是类型的long.现在不小心我试图索引一些具有string该字段类型的文档而不是long.我没有收到Elasticsearch的错误,但文档从未编入索引.当我修复问题时,文档被编入索引就好了.

例:

我的映射:

{
    "field1": {
        "type": "long"
    }
}
Run Code Online (Sandbox Code Playgroud)

当我发送此文档时,它会无声地失败:

 {
     "field1": "this is a string"
 }
Run Code Online (Sandbox Code Playgroud)

当我发送它时,它按预期工作:

 {
     "field1": 12345
 }
Run Code Online (Sandbox Code Playgroud)

有没有办法检测这种错误?

elasticsearch

10
推荐指数
2
解决办法
1869
查看次数

Bluebird承诺在使用Sinon的假计时器时会冻结

当与Sinon的假定时器和Bluebird一起使用时,以下测试会冻结.

var sinon = require('sinon');
var Promise = require('bluebird');

describe('failing test', function() {
  beforeEach(function() {
    this.clock = sinon.useFakeTimers();
  });
  afterEach(function() {
    this.clock.restore();
  });
  it('test', function(done) {
    Promise.delay(1000).then(function(){
        done(); //This never gets called     
    });
  });
});
Run Code Online (Sandbox Code Playgroud)

我正在使用Mocha(v2.2.5)与Bluebird(v2.9.33)和Sinon(v1.15.3).

我尝试了在Bluebird和Sinon的一些讨论中提出的建议,但我无法做到这一点.这似乎是Sinon存根setImmediate的方式的一个问题,但除此之外我不知道如何解决这个问题.

node.js sinon bluebird

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

使用Cython优化numpy.dot

我有以下代码,我想使用Cython进行优化:

sim = numpy.dot(v1, v2) / (sqrt(numpy.dot(v1, v1)) * sqrt(numpy.dot(v2, v2))) 
dist = 1-sim
return dist
Run Code Online (Sandbox Code Playgroud)

我编写并编译了.pyx文件,当我运行代码时,我没有看到性能有任何显着改进.根据Cython文档,我必须添加c_types.Cython生成的HTML文件表明瓶颈是点积(当然是预期的).这是否意味着我必须为点积定义C函数?如果是,我该怎么做?

编辑:

经过一些研究后,我提出了以下代码.改善只是微不足道的.我不确定我能做些什么来改善它:

from __future__ import division
import numpy as np
import math as m
cimport numpy as np
cimport cython

cdef extern from "math.h":
    double c_sqrt "sqrt"(double)

ctypedef np.float reals #typedef_for easier readding

cdef inline double dot(np.ndarray[reals,ndim = 1] v1, np.ndarray[reals,ndim = 1] v2):
  cdef double result = 0
  cdef int i = 0
  cdef int length = v1.size
  cdef double el1 = …
Run Code Online (Sandbox Code Playgroud)

python numpy cython dot-product

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

如何将 Auth0 提供程序与 v6.4 中新的 createBrowsereRouter 一起使用?

我们正在迁移到 v6.4 并createRoutesFromElements按照文档的建议将我们的路由迁移到新createBrowserRouter路由器。

我们的设置看起来像这样

const router = createBrowserRouter(
  createRoutesFromElements(--> our routes go here <--)
);

root.render(
  <React.StrictMode>
    <ChakraProvider theme={theme}>
      <RouterProvider router={router} />
    </ChakraProvider>
  </React.StrictMode>
);
Run Code Online (Sandbox Code Playgroud)

Auth0 文档说 Auth0 提供程序应该嵌套在提供程序下。新路由器如何做到这一点?

我们尝试将身份验证提供程序包装在路由周围,createRoutesFromElements但不起作用。也尝试这样做,但我们收到错误。

<RouterProvider router={router} >
    <Auth0Provider />
</RouterProvider>
Run Code Online (Sandbox Code Playgroud)

有人可以帮我了解 Auth0 提供程序的放置位置吗?谢谢

reactjs auth0 react-router-dom

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