小编Bea*_*aft的帖子

大d3.js图形,画布或服务器端渲染?

我正在使用d3.js可视化时间序列 - 从我的python后端发送的数据(通过Websocket).一张图的通常数据量约为120个条目(2小时数据,每分钟1个条目).这个运行正常,每分钟都会更新.

但它也应该能够在一个月或更长的时间内(可能长达一年)可视化数据,也可以在1分钟的间隔内.为SVG渲染这么大量的数据太多了.

我正在考虑以下替代方案:

  • 在画布中渲染它.它真的快得多吗?
  • 切换到另一个库,如Highchart.js(看到一个带有~50k条目的演示)
  • 在服务器上渲染SVG/JPG/PNG.有关使用例如phantom.js渲染d3.js服务器端的经验吗?我想重用已经编写过的图形模型.但它也可以是任何其他能够呈现数据的库(使用python生成图形)

你会推荐什么?

python svg canvas d3.js

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

使用virtualenv进行Python部署(在无网络访问服务器上)

我的生产服务器无法访问互联网,所以将我的开发机器中的所有依赖项复制到生产/开发服务器有点麻烦.

如果我使用virtualenv,我会在这个环境中拥有所有依赖项.这样做我也可以在任何安装了python和virtualenv的机器上部署它.

但我很少见到这一点,而且看起来很脏.我错了,这可能是一个很好的做法,还是有其他方法可以很好地解决这个问题?

python deployment virtualenv

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

Chrome和JSESSIONID

以下问题与铬...:

我在服务器上运行Grails 1.3.7应用程序.我注意到,当我从Chrome请求静态内容(例如非动态html文件)时,Chrome会创建两个JSESSIONID-Cookies.登录窗口显示时的第一个,以及成功登录后的第二个.如果我想刷新页面或请求其他资源,我将再次登录.(我认为因为Tomcat不理解这两个cookie)

我用FF尝试过,但FF只是创建了一个Cookie,它的工作完美.此外,我已经在本地运行了应用程序,它甚至可以完美地使用chrome.所以,tomecat的东西一定是错的.

环境:

  • Grails-Application 1.3.7(使用Spring-Security-Core 1.2.4)
  • Apache Tomcat 7(在Windows Server 2008上)

我的httpd.conf:

ProxyPass /manager http://myUrl:8080/manager
ProxyPass /myGrailsApp http://myUrl:8080/myGrailsApp
ProxyPassReverse /manager http://myUrl:8080/manager
ProxyPassReverse /myGrailsApp http://myUrl:8080/myGrailsApp

ProxyPass / http://myUrl:8080/myGrailsApp/frontend
ProxyPassReverse / http://myUrl:8080/myGrailsApp/frontend
Run Code Online (Sandbox Code Playgroud)

提前致谢.

更新1:

我重新构建,重新部署应用程序并重新启动tomcat.

现在我注意到:Chrome不再生成两个cookie.但错误是一样的.每次刷新或请求某些内容时,JSESSIONID都会更改,我必须再次登录.

tomcat-server上的一个短监视显示了大量的活动会话 - 来自chrome的那些...

更新2:

我在服务器上本地尝试了它(使用chrome):

  • localhost/myApp/frontend => Apache => FAIL
  • localhost:8080/myApp/frontend => Tomcat =>好的

似乎Apache是​​问题(?).

解:

我已经知道了:) Grails*.gsp-Templates总是在每个请求上请求'favicon.ico' .错误出现在静态内容(如html文件)上的原因是因为我们从Grails-Application重定向到这些资源.

所以我把favicon.ico放在正确的位置,现在它工作:)

此错误仅涉及谷歌Chrome,在FF和IE中它没有任何问题.

grails google-chrome jsessionid tomcat7

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

Python消息到其他应用程序

现状:

我有两个python应用程序(前端服务器和数据收集器,数据库是'它们之间').

目前使用redis作为db及其发布/订阅协议,以在新数据可用时通知前端.

但是我可能想要使用不同的数据库(并且不希望仅为pub/sub保留系统上的redis).

如果数据收集器已将新数据传输到数据库(不使用像beanstalkd或redis这样的外部消息队列),是否有任何简单的替代方法可以通知我的前端?

python messaging

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