小编fab*_*ous的帖子

如何在JavaScript中访问"关联"数组的第一个键?

我有一个js'allociative'数组,有

array['serial_number'] = 'value'
Run Code Online (Sandbox Code Playgroud)

serial_number和value是字符串.例如array['20910930923'] = '20101102'

我按价值排序,工作正常.假设我收回了"已排序"的对象;

现在我想访问'sorted'数组的第一个KEY.我该怎么做?我想不出我需要迭代了

for (var i in sorted)
Run Code Online (Sandbox Code Playgroud)

并在第一个之后停止......

谢谢

编辑:只是为了澄清,我知道js不支持关联数组(这就是为什么我把它放在标题中的高逗号中).

javascript associative-array key

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

websocket可扩展性

我在websockets上看了一下,我有一个非常具体的问题:websockets实际上可以在不同的服务器上扩展,还是总是限于一台服务器?

这似乎是我在我发现的文档中反复碰到的一个问题,但也许它们是不完整的或者是事物的演变.例如,似乎heroku甚至根本不支持websockets(?)

performance cluster-computing websocket

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

ansible:角色的多个 var 文件?

在我找到的所有 ansible 文档中,该[role]/vars/main.yml文件都被引用为角色变量的位置。

使用可以进行一些自定义[role]/defaults/main.yml,然后可以被 覆盖[role]/vars/main.yml

如果我想解决多种场景,并说根据主变量加载一组变量,然后将分组的变量放入每个文件中,例如

[role]/vars/main.yml
[role]/vars/scenario1.yml
[role]/vars/scenario2.yml
[role]/vars/scenario3.yml
[role]/vars/scenario4.yml
Run Code Online (Sandbox Code Playgroud)

换句话说,[role]/vars目录除了包含main.yml文件之外还有其他用处吗?

具体的挑战是,使用公钥定义用户集,因此根据我所在的机器,创建适当的用户帐户

ansible

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

websocket,socket,io,sockjs,meteor ......今天如何做出选择感到困惑

我即将为协作编辑应用程序做出决定.我调查了websockets,坦率地说我很困惑.到目前为止我的调查结果:

  • 有大量关于websockets的文章 - 但很多都是2009年,2010年的日期...通常有消息称,websockets在所有浏览器中都没有完全正常运行和/或实现很糟糕......今天的状态是什么?
  • 有很多框架 - 但主要是节点.我们的应用程序在RoR中,而Eventmachine/em-websocket看起来像是一年之久 - 它仍然会满足今天的要求吗?
  • Socket.io,SockJS,流星......有这么多,我将无法全部尝试,但我做了一些与SockJS的初步试验.我们的应用程序是二进制数据的协作编辑 多个用户可能正在编辑同一文档,并且多个用户可能同时处理不同的文档.因此,可扩展性是关键; SockJS似乎不能扩展到多个服务器(粘性会话).此外,客户需要来自同行的更新 - 我是否需要广播设施?我需要redis吗?

我猜我的问题归结为:

  • 对于我们的应用程序,我应该直接使用websockets并自定义或使用框架吗?
  • 如果一个框架,建议哪一个更符合我们的特定需求?

我知道这些问题有点模糊,但我首先想要了解技术在哪些方面做出正确的决定.谢谢!

real-time websocket node.js socket.io sockjs

5
推荐指数
0
解决办法
1063
查看次数

如何使用ng-pattern

我有一个简单的文本输入,我只想允许浮点数和整数(注意:玉)

input.form-control(type="text", ng-model='usd', ng-pattern="nums",ng-change='convert_to_btc()', placeholder="USD")
Run Code Online (Sandbox Code Playgroud)

然而它不起作用,我总是可以在输入中插入任何字符(我是否需要做更多才能显示某些内容?例如,如果它不正确则需要红色边框?或者应该只是那些字符甚至无法输入?)模式是一个正则表达式,因此不是一个字符串,所以应该没关系???

这是控制器:

app.controller("AppCtrl", function AppCtrl($scope, $http, $interval ) {
    //lots of other stuff
    $scope.nums = /^\-?\d+((\.|\,)\d+)?$/; //note no string, it's a  regex
}
Run Code Online (Sandbox Code Playgroud)

这是生成的HTML.这可能是问题吗?生成的HTML实际上有一个字符串,而不是一个正则表达式!?

<input type="text" ng-model="usd" ng-pattern="/^\-?\d+((\.|\,)\d+)?$/" ng-change="convert_to_btc()" placeholder="USD" class="form-control ng-dirty ng-valid-parse ng-touched ng-invalid ng-invalid-pattern">
Run Code Online (Sandbox Code Playgroud)

regex angularjs ng-pattern pug

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

从websocket侦听器发出全局事件

我想为一个项目做贡献 - 它是用Vue编写的,我是Vue的初学者.

我有两个组成部分 - SetupMainApp

两者都需要根据来自websocket的不同消息更新某些状态.一些websocket消息将影响前者,一些后者.

Vue不知道服务,所以我想我只是创建一个空的自定义组件<template>.在那里实例化websocket,然后this.emit()每次在侦听器中发生新消息时发出.

其他两个组件都会听取发射并能够做出反应.

不幸的是,我无法让websocket组件工作.

main.js:

import Ws from './WsService.vue';
//other imports

const routes = [
  //routes
]


const router = new VueRouter({
  routes // short for `routes: routes`
})   

const app = new Vue({
  router
}).$mount('#app')
//I thought this to be the way to instantiate my webSocket service:
const WsService = new Vue({
  el: '#WsService',
  components: { Ws }
});
Run Code Online (Sandbox Code Playgroud)

的index.html

  <body>
    <div id="app">
      <div id="WsService"></div>
      <router-link to="/setup">Setup</router-link> …
Run Code Online (Sandbox Code Playgroud)

javascript vue.js vue-component vuejs2

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

结构类型作为映射键

我们有以下功能:

func (h *Handler) Handle(message interface{}) error {
    //here there is a switch for different messages
    switch m := message.(type) {
    }
}
Run Code Online (Sandbox Code Playgroud)

此签名已提供且无法更改。处理程序处理大约 20 种不同的消息类型。

现在,有一些消息(大约 4 个)需要特殊的后处理。在不同的包中。

因此,我想这样做:

 func (h *Handler) Handle(message interface{}) error {
        //here there is a switch for different messages

        switch m := message.(type) {
        }
        //only post-process if original message processing succeeds
        postProcessorPkg.Process(message)
    }
Run Code Online (Sandbox Code Playgroud)

现在,在Process函数中,我想快速查找消息类型是否确实是我们需要后处理的类型。我不想在switch这里再做一次。有许多处理程序,在不同的包中,具有不同数量的消息类型,并且应该是通用的。

所以我想在后处理器中注册消息类型,然后进行查找:

func (p *Postprocessor) Register(msgtype interface{}) {
     registeredTypes[msgtype] = msgtype
}
Run Code Online (Sandbox Code Playgroud)

进而

func (p *Postprocessor) …
Run Code Online (Sandbox Code Playgroud)

types interface go go-map

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

怎么可能比 (unsigned long long) &gt; LONG_MAX 大?

我在需要更新的算法中找到了这段代码:

 if (value > (unsigned long long) LONG_MAX)
Run Code Online (Sandbox Code Playgroud)

编辑:value是两个uint64_t数字相除的结果。

我知道这(unsigned long long) LONG_MAX是一个非常大的数字:

   #include "stdio.h"
   #include "limits.h"

   int main() {
     unsigned long long ull = (unsigned long long) LONG_MAX;
     printf("%lu",ull);
     return 0;
   }
Run Code Online (Sandbox Code Playgroud)

印刷 9223372036854775807

那么我在这里比较的是什么?在什么情况下,此if语句将评估为true

c

5
推荐指数
2
解决办法
415
查看次数

yii没有保存模型

  $model=new Event('create');
  $model->attributes=$_POST['Event'];
  if($model->save()){
    $pkg = new Package(); 
    $pkg->attributes=$_POST['Package'];
    $pkg->event_id = $model->id;
    $pkg->save();
  }
Run Code Online (Sandbox Code Playgroud)

事件模型使用Event的所有POST变量正确保存,而Package仅设置了event_id,但没有设置任何属性(它们都是NULL).我究竟做错了什么?

注意:Event对象已由我的前任编程,Package对象是我做的新增加.

编辑:整个Package类

  class Package extends CActiveRecord
  { 
  public static function model($className=__CLASS__)
  {
    return parent::model($className);
  }
public function tableName()
  {
    return 'tbl_package';
  }
 public function rules()
  {
    // NOTE: you should only define rules for those attributes that
    // will receive user inputs.
    return array(
      // The following rule is used by search().
      // Please remove those attributes that should not be searched.
      array('', 'safe', 'on'=>'search'), …
Run Code Online (Sandbox Code Playgroud)

php yii

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

仅为 _test.go 文件定义结构体

我有以下文件树结构:

-app/
---tool/
-----/tool_test.go
-----/tool.go
-----/proto/proto.go
-----/proto/proto_test.go
Run Code Online (Sandbox Code Playgroud)

我需要使用一个(虚拟)结构来实现tool_test.go和中的接口proto_test.go

type DummyRetriever struct{}

func (dummy *DummyRetriever) Retrieve(name string) (string, error) {
  return "", nil 
}
Run Code Online (Sandbox Code Playgroud)

如果我tool_test.go仅在 中定义它,则无法在 中看到和使用它proto_test.go,因为 _test.go 文件不导出名称。

我在哪里定义DummyRetriever以便它在两个包中都可用?我想避免在文件中定义它,以便该名称在核心(非测试)包中也可见。

testing unit-testing go

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