小编Mar*_*son的帖子

WebSockets 侦听 UNIX 域套接字?

是否可以在处理 UNIX 域套接字连接的 nginx 服务器后面设置 WebSockets 服务器?

我目前在同一台机器上有多个 WebSocket 服务器实例,并且存在端口共享的问题。所有实例都必须分配一个唯一的端口。我想避免这种情况,而是使用 UNIX 域套接字在 nginx 和 WebSockets 后端之间进行通信。

我使用的 WebSockets 库是 ws ( https://github.com/einaros/ws )

我目前像这样创建我的服务器:

var WebSocketServer = require('ws').Server;
var wss = new WebSocketServer({host: "127.0.0.1", port: 8080});
Run Code Online (Sandbox Code Playgroud)

unix sockets nginx websocket node.js

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

使用或条件缓慢执行左连接

我有一个SQL查询,它连接or-condition上的另一个表,如下所示:

select a.id,b.id from a left join b on (b.prop1=a.id or b.prop2=a.id)

1026 rows in set (12.77 sec)
Run Code Online (Sandbox Code Playgroud)

如果我将查询分成两个,没有或条件,它会快得多:

select a.id,b.id from a left join b on (b.prop1=a.id)
1026 rows in set (0.03 sec)

select a.id,b.id from a left join b on (b.prop2=a.id)
1026 rows in set (0.04 sec)
Run Code Online (Sandbox Code Playgroud)

更快,但我手动必须结合两个查询的结果.

为什么我的初始查询如此之慢?我该怎么做才能让它更快?

我正在使用mysql 5.5.35

mysql sql performance left-join

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

找到提供最佳压缩的前缀substring

问题:

给定一个字符串列表,找到子字符串,如果从匹配的所有字符串的开头减去并用转义字节替换,则给出最短的总长度.

例:

"foo","fool","bar"

其结果是:"foo"的作为基本字符串与琴弦"\0","\0l","bar"和的9个字节的总长度."\0"是转义字节.原始字符串长度的总和是10,所以在这种情况下我们只保存了一个字节.

一个天真的算法看起来像:

for string in list
  for i = 1, i < length of string
      calculate total length based on prefix of string[0..i]
      if better than last best, save it
return the best prefix
Run Code Online (Sandbox Code Playgroud)

这将给我们答案,但它类似于O((n*m)^ 2),这太贵了.

compression puzzle algorithm

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

获取python函数的参数顺序?

我有以下功能:

def foo(a, b, c):
    print "Hello"
Run Code Online (Sandbox Code Playgroud)

假设我知道它存在,我知道它需要三个参数a,b和c,但我不知道它的顺序.

我希望能够在给出类似字典的情况下调用foo:

args = { "a": 1, "b" : 17, "c": 23 }
Run Code Online (Sandbox Code Playgroud)

有没有办法找出参数的传递顺序?

python reflection

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

如何检测语言何时发生变化?

我正在使用angular-translate为我的应用程序提供动态语言支持.我也使用了一个日历组件(http://angular-ui.github.io/ui-calendar/),它与angular(jQuery根)不能很好地兼容.为了能够在运行时翻译它,我需​​要检测语言何时发生变化.

基本上我需要知道何时$translate.use()被调用并且语言已被更改.

有没有办法检测语言何时发生变化,以便我可以触发日历组件的翻译?

javascript angularjs angular-translate

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

在插入或更新之前修改所有数字

在SqlAlchemy中,我使用:

price = Column(Numeric(18, 5))
Run Code Online (Sandbox Code Playgroud)

以各种方式放置在我的应用中。当我得到一个用瑞典语格式化的数字时,用逗号而不是点(0,34代替0.34),并尝试更改价格列,该数字将设置为0.00000。

为了解决这个问题,我有以下代码:

obj.price = price.replace(',','.')
Run Code Online (Sandbox Code Playgroud)

但是,在代码中遍历所有内容会使它变得很丑陋,而这样做的风险是我忘记了一个地方。在将值从字符串转换为数字之前,是否有可能会调用某种通用的转换函数?而且我只将其放在一个地方。

sqlalchemy

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

KnockoutJS计算了observable undefined

我有这个非常简单的knockoutjs脚本.我的视图模型包含一个名为'modules'的属性,它是一个字符串数组.如果我有这样的foreach列表,它会打印每个项目的模块列表:

<tbody data-bind="foreach: items">
    <tr>
        <td data-bind="text: modules"></td>
    </tr>
</tbody>
Run Code Online (Sandbox Code Playgroud)

但是如果我想通过添加计算的observable来打印模块的数量:

<tbody data-bind="foreach: items">
    <tr>
        <td data-bind="text: numModules"></td>
    </tr>
</tbody>
Run Code Online (Sandbox Code Playgroud)

我遇到了问题.'undefined'不是它在我计算函数的第一行所说的函数.我的js代码看起来像这样:

function AppViewModel(data) {
    var self = this;
    ko.mapping.fromJS(data, {}, this);
    this.numModules = ko.computed(function() {
        return self.modules().length;
    });
};

$.getJSON("/api/items", function(data) {
    var viewModel = new AppViewModel(data);
    ko.applyBindings(viewModel);
});
Run Code Online (Sandbox Code Playgroud)

javascript knockout.js

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

加载时显示输入文件对话框?

我正在制作一个用于更改图像的对话框.而不是让用户单击文件输入字段,我希望它立即启动.输入字段只是一个:

<input type="file">
Run Code Online (Sandbox Code Playgroud)

有没有办法在页面加载时显示它?

如果有角度的方式,奖励积分.

html javascript file-io file-upload angularjs

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

哪个消息队列可以处理在用户断开连接后存在的专用队列?

我对需要消息队列的系统有一些要求:

  1. 订户应获得个人队列.
  2. 当用户断开连接时,不应删除各个队列
  3. 如果订户失去连接,则订户应能够重新连接到自己的队列
  4. 只有订户才能使用分配给它的队列
  5. 很高兴:队列在服务器重启后仍然存在

可以使用RabbitMQ来实现这一点,在这种情况下如何实现?

message-queue amqp rabbitmq

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

sqlalchemy 中的 CONCAT_WS?

在我的 sqlobject 实现中,我有以下行:

members = Member.select("CONCAT_WS(' ', member.first_name, member.last_name, member.personal_code_number, member.mail) like " + Member.sqlrepr('%' + query + '%'))
Run Code Online (Sandbox Code Playgroud)

我想将其转换为使用 sqlalchemy 但尚未找到方法。

sqlalchemy sqlobject

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

如何优化SQL查询?密钥未被使用

如何优化以下查询?我试图创建索引(idx_events,idx_events_startdate,但它们没有帮助.查询需要10秒,这太过分了.

....
131 rows in set (10.25 sec)

mysql> explain SELECT results.event from results 
               INNER JOIN events ON results.event=events.id  
               where (DATEDIFF(NOW(), events.startdate) < 30) 
               AND (DATEDIFF(NOW(), events.startdate) > -1) 
               AND results.status='OK' 
               group by events.id;
+----+-------------+---------+--------+----------------------------------------------+------------+---------+-----------------------+--------+---------------------------------------------------------------------+
| id | select_type | table   | type   | possible_keys                                | key        | key_len | ref                   | rows   | Extra                                                               |
+----+-------------+---------+--------+----------------------------------------------+------------+---------+-----------------------+--------+---------------------------------------------------------------------+
|  1 | SIMPLE      | results | ref    | idx_event,idx_status                         | idx_status | 53      | const                 | 773425 | Using index condition; Using …
Run Code Online (Sandbox Code Playgroud)

mysql sql optimization performance

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