小编Mid*_*ing的帖子

Websockets客户端API中的HTTP标头

看起来很容易使用任何支持此功能的HTTP头客户端向您的websocket客户端添加自定义HTTP标头,但我无法找到如何使用JSON API执行此操作.

然而,似乎应该在规范中支持这些标题.

任何人都知道如何实现它?

var ws = new WebSocket("ws://example.com/service");
Run Code Online (Sandbox Code Playgroud)

具体来说,我需要能够发送HTTP授权标头.

javascript header http websocket

170
推荐指数
10
解决办法
15万
查看次数

显示Python多处理池映射调用的进度?

我有一个脚本,通过imap_unordered()调用成功地执行多处理池任务集:

p = multiprocessing.Pool()
rs = p.imap_unordered(do_work, xrange(num_tasks))
p.close() # No more work
p.join() # Wait for completion
Run Code Online (Sandbox Code Playgroud)

但是,我num_tasks大概是250,000,所以join()锁定主线程10秒左右,我希望能够逐步回显到命令行,以显示主进程未被锁定.就像是:

p = multiprocessing.Pool()
rs = p.imap_unordered(do_work, xrange(num_tasks))
p.close() # No more work
while (True):
  remaining = rs.tasks_remaining() # How many of the map call haven't been done yet?
  if (remaining == 0): break # Jump out of while loop
  print "Waiting for", remaining, "tasks to complete..."
  time.sleep(2)
Run Code Online (Sandbox Code Playgroud)

是否有结果对象或池本身的方法指示剩余的任务数量?我尝试使用一个multiprocessing.Value对象作为计数器(在完成任务后do_work调用一个counter.value += 1 …

python multiprocessing

82
推荐指数
8
解决办法
6万
查看次数

Git子模块URL不包括用户名?

我有一个git存储库设置了几个子模块,它创建一个.gitmodules文件,它是父存储库中的跟踪文件.但是,还有其他开发人员想要在此存储库上工作,并检查子模块.但是目前远程子模块存储库的URL包含我的用户名; 在.gitmodules文件中它是这样的:

[submodule foo]
  path = sub/foo
  url = https://myuser@example.com/git/foo.git
Run Code Online (Sandbox Code Playgroud)

显然,其他开发人员无法从获取example.commyuser(他们没有我的密码); 我怎样才能拥有一个多个开发人员可以拉/推的主存储库,并允许他们单独访问子模块(设置他们在子模块主机服务器上共享的单个用户名可以工作,但不是很好的用户管理) ?

git git-submodules

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

Git合并并保持独立?

有没有办法用另一个(主人或其他人)的信息更新一个侧支,然后继续这两个?像一个rebase,但保留旧数据?

原版的:

A---B---C---G---H  master
     \           
      D---E---F  branchA
Run Code Online (Sandbox Code Playgroud)

结果:

A---B---C---G---H---L  master
     \           \
      D---E---F---J---K  branchA
Run Code Online (Sandbox Code Playgroud)

这样branchA从提交C,G和H获取信息(提交J就是合并),这样提交K仍然是一个侧分支(并且将来提交L仍然在主服务器上),但是具有来自主服务器的更新信息?

我不想做一个rebase,因为那最终会:

A---B---C---G---H---L  master
                 \
                  D'---E'---F'---K  branchA
Run Code Online (Sandbox Code Playgroud)

创建D,E和F的"新版本",好像它们发生在H而不是B之上,问题是提交C和E是重命名中的密钥文件夹的重命名,我想要折叠它们一起,还没有合并其他功能更新branchA.重新定位意味着H使用新文件夹名称,D'创建旧文件夹名称,E'再次删除它,这不是最干净的.

关键是我想要在过去重命名该文件夹(C和E)并停止向前推进.这有道理吗?我向后看这个吗?或者我应该只处理凌乱的rebase"名称,重命名"技巧,直到分支合并为止?

git

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

是否可以从MongoDB查询返回计算字段?

在SQL中我可以做类似的事情

SELECT myNum, (myNum+1) as `increment` FROM myTable
Run Code Online (Sandbox Code Playgroud)

有效地执行任意数学和其他函数,并将其作为结果中的字段返回.可以用MongoDB完成同样的工作吗?

db.test.find({}, {_id:1, myNum:1, increment:function() { return this.myNum + 1;}});
Run Code Online (Sandbox Code Playgroud)

这并没有像我期望的那样返回"增量"字段.

我在这个主题上可以找到的所有其他相关问题都涉及GROUPed查询,而这些问题并非如此; 我只是在文件被提取时添加一个"虚拟"字段(客户端计算?).

或者,这个问题似乎是一个没有"减少"的"地图"; 每行都有自己的计算字段.有没有办法将map函数的结果作为结果/游标返回?

mongodb

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

找到角度0-360

需要数学问题的帮助:我需要使用x和y从0度获得真正的角度,此时使用此方法:

Math.atan((x2-x1)/(y1-y2))/(Math.PI/180)
Run Code Online (Sandbox Code Playgroud)

/(Math.PI/180)限制结果从-90到90我需要0-360

注意:我正在使用角度来指示方向:

  • 0 =上
  • 90 =右
  • 135 = 45度右+下
  • 180 =下
  • 270 =左
  • 等等

javascript

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

如果你知道模型,找一个Backbone.js查看?

给定一个页面使用Backbone.js将一个Collection绑定到一个View(RowsView创建一个<ul>),为集合中的每个Model 创建子视图(RowView,创建<li>),我有一个问题是为这些模型设置内联编辑集合.

我在视图edit()上创建了一个用文本框RowView替换li内容的方法,如果用户tab在该文本框中按下,我想触发edit()列表中下一个视图的方法.

我可以在集合中获得下一个模型的模型:

// within a RowView 'keydown' event handler
var myIndex = this.model.collection.indexOf(this.model);
var nextModel = this.model.collection.at(myIndex+1);
Run Code Online (Sandbox Code Playgroud)

但问题是,如何找到附加到该模型的视图.父RowsView视图不会保留对所有子视图的引用; 它的render()方法是:

this.$el.html(''); // Clear
this.model.each(function (model) {
    this.$el.append(new RowView({ model:model} ).render().el);
}, this);
Run Code Online (Sandbox Code Playgroud)

我是否需要重写它以保持一个单独的指针数组指向RowView它下面的所有s?或者是否有一种聪明的方法可以找到附有已知模型的View?

这是整个问题的一个问题:http://jsfiddle.net/midnightlightning/G4NeJ/

backbone.js

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

重组分支的git同步

我最近回答了关于多计算机git开发设置的问题,我到那里的解决方案确实解决了我的master分支机构的情况,但没有基于主机的侧支路.

这是我目前的设置:

A--B--C--D  master
          \
           E--F--G--H  BUG_37
Run Code Online (Sandbox Code Playgroud)

BUG_37是一个分支,它正在为系统中的功能请求开发可选跟踪错误的修复程序,并最终将合并到主行中,但暂时是独立的.在这个状态下的存储库,一台机器,我对master分支做了一些更改:

A--B--C--D--I--J--K  master
          \
           E--F--G--H  BUG_37
Run Code Online (Sandbox Code Playgroud)

然后,我将BUG_37分支重新设置为master,以确保它可以作为对最新变化的增强:

A--B--C--D--I--J--K  master
                   \
                    E1--F1--G1--H1  BUG_37
Run Code Online (Sandbox Code Playgroud)

让我们说rebase有一些冲突需要在rebase最终之前手动修复.如果我将这些更改推送到远程存储库,并且现在希望将更改下载到仍具有原始设置的另一个开发系统,那么最好的方法是什么?git pull --rebase将再次运行rebase,我将不得不手动完成我第一次经历的冲突,对吧?如果我再次遇到冲突时会出现轻微的错误,那么在这个新系统中E1-H1略有不同,我将使存储库更加不同步.

如何在原始状态和第三个状态的远程存储库中获取本地存储库,并更新本地存储库以与远程存储库完全匹配(删除更改EH并将HEAD移动BUG_37到新位置)?

git

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

在PHP中引用容器对象的方法?

在PHP中给出以下内容:

<?php
class foo {
  public $bar;
  function __construct() {
    "Foo Exists!";
  }

  function magic_bullet($id) {
    switch($id) {
    case 1:
      echo "There is no spoon! ";
    case 2:
      echo "Or is there... ";
      break;
    }
  }
}

class bar {
  function __construct() {
    echo "Bar exists";
  }
  function target($id) {
    echo "I want a magic bullet for this ID!";
  }
}

$test = new foo();
$test->bar = new bar();
$test->bar->target(42);
Run Code Online (Sandbox Code Playgroud)

我想知道'bar'类是否可以调用'foo'类的'magic bullet'方法.'bar'实例包含在'foo'实例中,但与它没有父/子关系.实际上,我有很多不同的"条形"类,"foo"在一个数组中,每个类都有一些与$ id不同的东西,然后想要将它传递给"magic_bullet"函数以获得最终结果,所以禁止结构更改类关系,是否可以访问"容器"实例的方法?

php

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

PHP构造一个Unicode字符串?

给定希望从CLI PHP脚本输出的字符的Unicode十进制或十六进制数,PHP如何生成它?该chr()函数似乎无法生成正确的输出.这是我的测试脚本,使用Section Break字符U + 00A7(十六进制中的A7,十进制中的167,应该在UTF-8中表示为C2 A7)作为测试:

<?php
echo "Section sign: ".chr(167)."\n"; // Using CHR function
echo "Section sign: ".chr(0xA7)."\n";
echo "Section sign: ".pack("c", 0xA7)."\n"; // Using pack function?
echo "Section sign: §\n"; // Copy and paste of the symbol into source code
Run Code Online (Sandbox Code Playgroud)

我得到的输出(通过SSH会话到服务器)是:

Section sign: ?
Section sign: ?
Section sign: ?
Section sign: §
Run Code Online (Sandbox Code Playgroud)

因此,这证明我正在使用的终端字体中包含Section Break字符,并且SSH连接正在成功发送它,但是chr()在从代码编号构造它时没有正确构建它.

如果我所拥有的只是代码编号而不是复制/粘贴选项,我有什么选择?

php unicode

7
推荐指数
2
解决办法
3759
查看次数