小编Pau*_*aul的帖子

Jasmine单元测试:$ compile从ng-repeat中产生注释

为什么行

var scope = $rootScope.$new();
dump($compile('<ul><li ng-repeat="item in [1,3,5,7,9]">{{item}}</li></ul>')(scope));
Run Code Online (Sandbox Code Playgroud)

结果是:

'<ul class="ng-scope"><!-- ngRepeat: item in [1,3,5,7,9] --></ul>'
Run Code Online (Sandbox Code Playgroud)

我想看<li>项目而不是评论.

unit-testing comments jasmine angularjs angularjs-ng-repeat

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

如何运行AngularJS示例

我已按照此处的描述完成:http://docs.angularjs.org/tutorial/step_00但无法以AngularJS的身份运行phonecat示例.它像一堆html文件一样运行.例如,app/index-async.html页面在Chrome控制台中显示以下错误:

Uncaught Error: No module: myApp
Run Code Online (Sandbox Code Playgroud)

这个文件包含

angular.bootstrap(document, ['myApp']);
Run Code Online (Sandbox Code Playgroud)

angularjs

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

需要一种方法来拦截MSSQL中的重复键异常

让我们假设你的MSSQL 2008数据库中有一个唯一的索引约束违规,如下所示:

Violation of PRIMARY KEY constraint 'PK_ManufacturerCode'. Cannot insert duplicate key in object 'dbo.ManufacturerCode'. The duplicate key value is (8410179)
Run Code Online (Sandbox Code Playgroud)

目前我正在通过胖客户端中的全局异常处理程序处理此异常(使用ADO在Delphi 6中编写,但无关紧要,我计划将来使用C#.NET)并将异常消息附加到日志框中.

但我想亲自处理这个特定的重复键异常,并在客户端使用胖客户端自己的文本显示相应的错误消息.我可以解析匹配的错误消息,但不会这样做有两个原因:

  • 这不是一个正确的方法 - 依靠一些错误代码更好;
  • 胖客户端旨在使用各种语言的各种MSSQL服务器版本,这些版本可能具有不同的错误文本

使用带有自定义退出代码的RETURN或不断调用特殊存储过程来检查重复项,这并不能让我高兴.

sql-server duplicate-data exception-handling unique-constraint

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

如何在Rails中缩小JSON输出?

我使用.json.erb视图而不是调用to_json方法.

我发现了一些关于JSON输出缩小的建议.Ones讲述了压缩Web应用程序的所有输出,其他人建议使用after filter或者before render他们没有解释如何缩小JSON元素之间的空格和制表符以及从哪里获取JSON输入以及在何处放置缩小的结果.第三个建议严格说明缩小JavaScript.

views ruby-on-rails minify

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

JavaScript:自调用函数返回一个闭包.它是为了什么?

研究一个我发现以下构建的JavaScript库:

theMethod: function () {
    var m1 = new SomeClass();
    return function (theParameter) {
        this.someMethod();
        m1.methodCall(this.someField1);
        this.someField2 = 'some value';
    }
}()
Run Code Online (Sandbox Code Playgroud)

theMethod的调用方式如下:

c.theMethod(paramValue);
Run Code Online (Sandbox Code Playgroud)

作者想用这个宣言说什么?

为什么不使用这样的声明:

theMethod: function (theParameter) {
    var m1 = new SomeClass();
    this.someMethod();
    m1.methodCall(this.someField1);
    this.someField2 = 'some value';
}
Run Code Online (Sandbox Code Playgroud)

javascript closures

6
推荐指数
2
解决办法
1328
查看次数

更新没有 id 列的 ActiveRecord

在迁移中是一个没有创建 id 列的表:

create_table :drivers_companies, :id => false do |t|
  t.references :driver
  t.references :company
  t.string :last_sessionid
end
Run Code Online (Sandbox Code Playgroud)

保存记录时:

dc = DriversCompany.where(company_id: 1, driver_id: 5)
if dc.length>0
  dc[0].last_sessionid = req.sessionID
  dc[0].save!
end
Run Code Online (Sandbox Code Playgroud)

我收到一个错误:

Mysql2::Error: Unknown column 'drivers_companies.' in 'where clause': UPDATE 'drivers_companies' SET 'last_sessionid' = 'bth49sv0outsehcg0ribuiu4h' WHERE 'drivers_companies'.'' IS NULL

如何更新没有 ID 列的表中的记录?

activerecord identity ruby-on-rails sql-update

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

从Time in Ruby中剥离时区部分

如何从时间中删除时区部分,使日期和时间部分保持完整?目前我正在使用strftime功能.我的最终目标是用当地时间查询MySQL.我应该确定当地时间不会突然转换成别的东西.

time timezone ruby-on-rails

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

Linux中的INADDR_ANY与Windows套接字编程之间的区别

我的Winsock Delphi应用程序应该在所有网络接口上侦听多播UDP/IP流.它正常收听,直到我在具有不同网络适配器优先级顺序的另一台PC上尝试它.

然后我开始研究问题,并在一些论坛上发现INADDR_ANY(或0.0.0.0)在Windows和Linux中有不同的含义:

你能否证实或否认这一点?

如何在所有界面上真实收听?

这是我的一小段代码:

TMulticastListener = class(TThread)
private
  mreq: ip_mreq;
  ............
end;

constructor TMulticastListener.Create;
var err: Integer;
    wData: WsaData;
    reuse: Integer;
begin
  inherited Create(true);

  err := WSAStartup(MAKEWORD(2, 2), wData);
  if err = SOCKET_ERROR then begin
    // Tell the user that we could not find a usable Winsock DLL
    perror('WSAStartup');
    Exit;
  end;

  // create what looks like an ordinary UDP socket
  fd := …
Run Code Online (Sandbox Code Playgroud)

sockets linux delphi multicast winsock

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

调用汇编语言函数会导致"浮点堆栈检查"异常

执行以下代码:

function ABCD32(Value: Cardinal): Single; register;
asm
  BSWAP  EAX
end;

function HexToFloat(hexValue: string; fmt: THexFloatFormat): Single;
var
  c: Cardinal;
  Err: Integer;
begin
  Result := NaN;
  c := HexToCardinal(hexValue, Err); //DCBA format
  if Err <> 0 then Exit();
  case fmt of
    hfABCD: Result := ABCD32(c); //Here, after return from ABCD32
    hfBADC: Result := BADC32(c);
    hfCDAB: Result := CDAB32(c);
    hfDCBA: Result := DCBA32(c);
  end;
end;
Run Code Online (Sandbox Code Playgroud)

导致运行时错误:

项目HexFloat.exe引发了异常类$ C0000092,消息"浮点堆栈检查位于0x004e9903".

这是什么以及如何处理它?

更新

这是CPU窗口输出:

HexFloat.dpr.162: hfABCD: Result := ABCD32(c);
004E98F8 8B45F0           mov eax,[ebp-$10]
004E98FB E894FFFFFF …
Run Code Online (Sandbox Code Playgroud)

delphi x86 assembly

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

输入数组在 Rails 参数中转换为哈希值

我在 AJAX 请求中发送一个数组:

$.ajax(
    {
        type: "POST",
        url: "http://192.168.0.15/calc",
        data: {
            "phone": phone,
            "points": [
                { "lat": 59.15234, "lon": 30.99 },
                { "lat": 59.15244, "lon": 30.99 },
                { "lat": 59.15254, "lon": 30.99 }
            ],
            "start_at": 1407249093,
            "certificate": "849840487484"
        },
        success: function(data) {
            alert('success');
        },
        error: function(jqXHR, textStatus, errorThrown){
            console.log(jqXHR.statusCode());
            console.log(textStatus);
            console.log(errorThrown);
        }
    }
);
Run Code Online (Sandbox Code Playgroud)

然后检查点:

params[:points].inspect
Run Code Online (Sandbox Code Playgroud)

并查看哈希值:

{
  "0"=>{"lat"=>"59.15234", "lon"=>"30.99"},
  "1"=>{"lat"=>"59.15244", "lon"=>"30.99"},
  "2"=>{"lat"=>"59.15254", "lon"=>"30.99"}
}
Run Code Online (Sandbox Code Playgroud)

如何获取数组而不是哈希(最好是最初,无需将哈希转换为数组)?

ruby-on-rails parameter-passing

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