小编nh2*_*nh2的帖子

如何在angular.js中捕获任意数量的斜杠?

我想创建一个角度站点来处理用户可以在文件系统树中导航的文件,(例如在github : github.com/angular/angular.js/tree/master/path/to/my/file.js.

我想path/to/my/file.js用角度路线捕获URL的那一部分:

.when("/files/:myPath", templateUrl: "...", controller: "...")
Run Code Online (Sandbox Code Playgroud)

但正如预期的那样,:myPath只匹配下一个斜线.

如何捕获URL的所有剩余部分,包括任意数量的斜杠?


我发现这个问题是相关的,但不同之处在于我的URL在角度哈希之后很好,例如.../index.html#/files/path/to/my/file.

angularjs

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

AngularJS性能:如何只更新我知道需要更新的范围?

我有一个角度范围包含两件事:

  • 一个拥有10k行的巨型表,需要一秒钟才能渲染
  • 在固定覆盖标题栏中的一些小额外信息

根据您向下滚动页面/表格的距离,我必须更新标题中的一个小信息位; 您可以将其视为%计数器滚动的距离.

为了得到当前的滚动位置,我写了一个指令(你也可以在这里找到它):

app.directive "setWindowScroll", ->
  restrict: "E"
  scope:
    setVariable: "="

  link: (scope) ->
    $(window).scroll ->

      scope.$apply ->
        scope.setVariable = $(window).scrollTop()
Run Code Online (Sandbox Code Playgroud)

我的问题是,这会使表格中的滚动变得非常慢*.这是因为我用我的指令写的可靠的是在范围中的extra-info,并且更改它似乎导致angular to dirty-检查整个表以便在$apply调用my时进行更改.

我知道这个滚动永远不会改变我的表格中的任何内容,并且想限制我$apply影响我网站的标题部分.

如何使角度脏检查表?

angularjs

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

Haskell:如何使用deepseq/force精确地计算计算

我有一个用Haskell编写的Web服务器,它可以通过多个步骤计算一些数据.

我想准确地测量并显示每个动作需要多长时间.

在懒惰的情况下,有什么好办法呢?


请注意,"基准测试"不是一个正确的术语,因为我只想测量生产系统中的时间而不是采样多次运行.我知道,对于那种情况,我可以使用标准.

benchmarking haskell lazy-evaluation

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

使用较小寄存器有什么好处,例如al vs eax/rax

我注意到GHC的代码生成器当前没有输出使用任何较低机器寄存器的程序集al.甚至字节大小的操作也是rax在64位和eax32位机器上实现的.然而,GCC经常使用这些较小的寄存器.

是否有使用小的寄存器的任何真正的性能优势al


到目前为止我听到的一个建议是操作码inc al小于inc rax(但不小于inc eax).是否存在使用小寄存器的其他非性能因素?

compiler-construction assembly

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

如何在连续内存中的Unboxed Vector中存储Haskell数据类型

我想存储一个非参数,解压缩的数据类型

data Point3D = Point3D {-# UNPACK #-} !Int {-# UNPACK #-} !Int {-# UNPACK #-} !Int
Run Code Online (Sandbox Code Playgroud)

在未装箱的矢量中.Data.Vector.Unboxed说:

特别地,对的未装箱的矢量表示为未装箱的矢量对.

这是为什么?我希望在内存中一个接一个地Point3D布局,以便在顺序迭代它们时获得快速缓存本地访问 - 相当于C语言.mystruct[1000]

使用Vector.Unboxed或以其他方式,我如何实现这一目标?


顺便说一句:使用vector-th-unbox也会发生同样的情况,因为只需将数据类型转换为(Unbox a, Unbox b) => Unbox (a, b) 实例.

haskell

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

为什么不使用Pythons + =(加上等于)运算符来修改内部函数的变量?

我想知道为什么这不能按预期工作的细节:

def outer():
    mylist = []
    def inner():
        mylist += [1]

    inner()

outer()
Run Code Online (Sandbox Code Playgroud)

特别是因为mylist.__iadd__([1])工作正常.

python scope list

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

为什么tup每个目录需要一个Tupfile?

我已经阅读了很多关于tup构建系统的内容.

在许多地方,据说tup"不支持递归规则",并且每个目录需要一个Tupfile.但我没有看到官方声明或解释.

上述声明是否正确?

如果是,为什么,以及哪种任务有问题?一个例子很好.

build-system tup

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

Haskell:如何仅使用 ghc 生成 .hi 文件?

我想生成一个.hi接口文件,并且生成一个接口文件(没有目标文件,根本没有代码生成)。

我试过

ghc -fno-code -ohi out.hi myfile.hs
Run Code Online (Sandbox Code Playgroud)

并得到

ghc: -ohi can only be used when compiling a single source file
Run Code Online (Sandbox Code Playgroud)

我不明白,因为我只给出了一个源文件。

haskell ghc

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

如何使用 nix 打包单个 Python 脚本?

我叫一个Python脚本myscript.py,并想将它打包了一个nix与推导mkDerivation

唯一的要求是我的 Python 脚本有一个运行时依赖项,比如说,对于consulPython 库(它本身依赖于requestssixPython 库)。

例如对于myscript.py

#!/usr/bin/env python3

import consul
print('hi')
Run Code Online (Sandbox Code Playgroud)

怎么做?

我不知道如何传递mkDerivation单个脚本(它src似乎总是需要一个目录fetchgit或类似的),也无法弄清楚如何在运行时使依赖库可用。

nix

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

如何在相对于正在编译的文件的文件上使用TemplateHaskell的addDependentFile?

我希望我的TemplateHaskell表达式(使用IO并依赖于MyDependency.txt文件)在更改该文件时重新计算.

因此,我正在使用addDependentFile "MyDependency.txt"告诉ghc在编译代码时检查该文件是否有修改.

不幸的是,这不起作用,因为addDependentFile只相对于调用ghc的目录起作用.

我如何使用它依赖于我正在编译的文件旁边(在同一目录中)的文件?

haskell template-haskell

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

如何有效地审查 git 子模块更新/变基?

我们的项目使用 git子模块来固定我们的库依赖项之一。

我们定期rebase将子模块跟踪上游更改,并且我们在它上面还有一组我们不能轻易上游的提交。

当有人重新设置子模块时,我只git diff在父存储库中看到这一点:

--- a/mysubmodule
+++ b/mysubmodule
@@ -1 +1 @@
-Subproject commit abc12345abc12345abc12345abcd12345abc1234
+Subproject commit efg67890efg67890efg67890efg67890efg67890
Run Code Online (Sandbox Code Playgroud)

那不是很有用。当我git diff在子模块中提交这些提交时,我会得到很多输出,包括所有上游更改,我们的提交位于顶部。我无法轻易判断对我们自己的提交执行的某些冲突解决是否引入了一些错误。

如何有效地对子模块的更改进行代码审查?

git git-diff git-submodules

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