小编lim*_*gni的帖子

python中的字典顺序

无论我在哪里搜索,他们都说python词典没有任何顺序.当我运行代码1时,每次显示不同的输出(随机顺序).但是当我运行代码2时,它总是显示相同的排序输出.为什么字典在第二个片段中排序?

   #code 1

    d = {'one': 1, 'two': 2, 'three': 3, 'four': 4}
    for a, b in d.items():
        print(a, b)
   #code 2 

    d = {1: 10, 2: 20, 3: 30, 4: 40}
    for a, b in d.items():
        print(a, b)
Run Code Online (Sandbox Code Playgroud)

输出

代码1:

four 4
two 2
three 3
one 1
Run Code Online (Sandbox Code Playgroud)

代码1:

three 3
one 1
two 2
four 4
Run Code Online (Sandbox Code Playgroud)

代码2(总是):

1 10
2 20
3 30
4 40
Run Code Online (Sandbox Code Playgroud)

python dictionary

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

如何在播放时测量html5视频中的实时FPS

我正在测量html5视频的实时帧率,有没有人有一些想法?由于我没有在html5视频中找到有关帧的属性信息,我不知道如何做到这一点.

另一种选择,如何访问html5-video显示的每个帧(可能在播放时有丢帧).我曾尝试使用canvas通过drawImage从视频中获取图像,并通过getImageData获取帧数据,但似乎获得的帧数据与视频中逐帧播放的帧数据不同,可能有100帧播放,但我们可以通过getImageData方法获得120 0r 70等帧.

总结一下,如何在播放html5视频时获得实时fps或每帧显示?

video html5 frame-rate measure

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

在拉斐尔的一组路径上应用悬停事件

当我将悬停事件放在raphael集上时,效果将应用于每个不同的路径.因此,当我越过路径时,它会更改该单个路径的填充,而不是同时更改整个集合的填充.

例如,在这张地图中,当你用鼠标穿过加拿大时,大陆会改变它的颜色,但是所有的冰岛都保持相同的颜色.

这是我的代码.

drawSets: function(){
    for (country in this.setsArr){
        var setset= R.set();
        var zone = this.setsArr[country];
        for (group in zone){
            var path = R.path(this.setsArr[country][group].path);

            setset.push(
                path
            );
        }

        var attri = this.options.attributes;
        setset.attr(attri);
        var x = this.setsArr[country].translate.x;
        var y = this.setsArr[country].translate.y;
        setset.translate(x,y);

        setset.hover(function(){
            this.animate({
                fill: '#000'
            }, 300);
        }, function(){
        this.animate({
            fill: attributes.fill
        }, 300);
    });

    }   
},
Run Code Online (Sandbox Code Playgroud)

我正在使用Raphaels动画方法.

关于如何解决这个问题的任何想法?

以下是整个应用程序的文件...

http://www.megaupload.com/?d=GHQ5HATI

这是另一个包含这个问题的问题.

有人可以澄清拉斐尔的文件吗?(或知道某人已经完成的地方)

javascript svg raphael

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

在Rails 4上注册多个before_save条件回调

我在两个不同领域的模型上有两个不同的计算方法.在保存之前.

Class Event < ActiveRecord::Base
  #some relations
  before_save :method1, unless: :some_field_1?
  before_save :method2, unless: :some_field_2?

  def method1
    some_field_1 = some_other_field / 2
  end

  def method2
    some_field_2 = some_field_1 / 3
  end
end
Run Code Online (Sandbox Code Playgroud)

我遇到的问题是当调用method2时,some_field_1为null.我的猜测是,声明像我正在做的before_save回调是错误的.

  • 第二个before_save会覆盖第一个吗?
  • 回调是否按照声明它们的顺序执行?

我知道我可以将两个方法包装成一个没有条件和问题解决的方法,但我更愿意有条件回调.我想知道正确的做法.文档对此并不十分清楚.

非常感谢!

编辑

备查.代码还可以.问题出在其他地方(数据库)!

activerecord ruby-on-rails before-save ruby-on-rails-4

3
推荐指数
2
解决办法
5164
查看次数

Moodle可以处理超过100,000个用户吗?

我正在为一个电子学习网站工作.我一个月前刚开始.我正在使用Moodle运行一个涉及不超过5000个用户的项目.

他们让我为超过100,000名用户设置了Moodle plataform,我不知道是否有可能使用Moodle来处理这么多的用户.

有谁知道是否可以这样做?这更依赖于服务器?

提前致谢.

load moodle

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

从pouchdb数据库中读取关系的最有效方法是什么

我在电子应用程序上使用pouchDb.在传递给pouchDb之前,数据存储在postgres数据库中.在某些情况下,要弄清楚如何以文档方式构建数据并不难.

我主要担心的是关系.例如:

我有数据类型项目,项目有很多事件.现在我在每个事件上都有一个名为project_id的字段.因此,当我想要获得ID为'project/1'的项目的事件时,我会这样做

_db.allDocs({
   include_docs: true,
   startkey: 'event',
   endkey: 'event\uffff'
}).then(function(response){
   filtered = _.filter(response['rows'], function(row){
      return row['doc']['project_id'] == 'project/1'
   });
   result = filtered.map(function(row){
      return row['doc']
   })
});
Run Code Online (Sandbox Code Playgroud)

我已经读过这allDocs是性能最好的API,但是,在这种情况下是否有更方便的视图?

另一方面,当我显示包含所有项目的列表时,每个项目都需要显示它具有的事件数.在这种情况下,我似乎必须再次运行allDocs,include_docs: false以便计算项目所具有的事件数.

有观点会改善这种情况吗?

另一方面,我正在考虑在Project文档中创建一个包含所有事件ID的数组,以便我可以轻松计算它有多少事件.在这种情况下,我应该使用allDocs吗?有没有办法将ID数组传递给allDocs?或者更好的是在该数组上使用循环并为每个id调用get(id)?

这种方式比第一种更有效吗?

谢谢!

database couchdb document-oriented-db pouchdb

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

动态连接到socket.io.

我正在尝试通过socket.io将浏览器连接到我的应用程序.

<script type="text/javascript" src="http://localhost:4000/socket.io/socket.io.js"></script>
<script>
    var socket = io.connect('http://localhost:4000');
</script>
Run Code Online (Sandbox Code Playgroud)

使用这种标准方法一切正常.现在我正在尝试基于服务器的IP在"动态"中转换此连接,如下所示:

<html>
    <head>
        var socket;
        function loadFile(filename){
            var ip_server = location.host;
            var body = document.getElementsByTagName( 'body' )[0],
                fileref = document.createElement('script');
            fileref.setAttribute("type","text/javascript");
            fileref.setAttribute("src", "http://"+ip_server+"/"+filename);
            body.appendChild( fileref ); 
        }
    </head>
    <body>
        <script type="text/javascript">
            loadFile("socket.io/socket.io.js");
            socket = io.connect('http://'+location.host);
        </script>
    </body>
</html>
Run Code Online (Sandbox Code Playgroud)

但萤火说的ReferenceError:IO没有定义就行socket = io.connect('http://'+location.host);.

我怎么解决?有一种简单的方法可以做我正在思考的事情吗?谢谢

node.js socket.io

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