小编Sir*_*ert的帖子

什么是验证字符串只有字母数字和连字符的惯用 clojure?

我需要确保某个输入只包含小写字母和连字符。实现这一目标的最佳惯用 clojure 是什么?

在 JavaScript 中,我会做这样的事情:

if (str.match(/^[a-z\-]+$/)) { ... }
Run Code Online (Sandbox Code Playgroud)

clojure 中更惯用的方式是什么,或者如果是这样,正则表达式匹配的语法是什么?

regex string validation clojure

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

如何在ruby中获取绑定到变量的实例方法?

如何在变量中获取实例方法?例如:

class Foo
  def bar
    puts "bar"
  end
end
Run Code Online (Sandbox Code Playgroud)

我希望能够操纵"bar"实例方法(例如,传递它).我该怎么做?

我知道我可以让班级保持不变

foo_class = Kernel.const_get("Foo")
Run Code Online (Sandbox Code Playgroud)

有什么类似的东西可以做到Foo#bar吗?

ruby methods

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

使用Mongoskin进行Upsert(node.js和mongodb)

我正在学习node.js和mongodb.我在我的应用程序中使用mongoskin模块,但我似乎无法使用"upsert"功能.

我已经阅读了github上的(相当不透明的)mongoskin指南.这是我到目前为止所尝试的:

// this works.  there's an insert then an update.  The final "x" is "XX".
db.collection("stuff").insert({a:"A"}, {x:"X"});
db.collection("stuff").update({a:"A"}, {x:"XX"});

// this does NOT work.  I thought it would do an upsert, but nothing.
db.collection("stuff").update({b:"B"}, {y:"YY"}, true);
Run Code Online (Sandbox Code Playgroud)

如何创建"更新或插入(如果不存在)"功能?

upsert mongodb node.js

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

在 node js 中分析函数调用的最佳方法是什么?

我有一个用 Node 7.9 编写的应用程序。它不是网络服务器。它正在执行各种文件操作、数据转换等。

我想对长时间运行的任务的性能进行一些优化(例如,一个任务处理 10GB 的数据并运行 30 小时)。

我似乎找不到任何关于如何分析我的应用程序在javascript 函数(例如,类方法)中花费的时间的信息。我发现了一些类似的已弃用的软件包,但没有显示 javascript 级别的信息。

此外,我尝试使用 webkit 内置分析器,但它没有在 javascript 函数级别向我显示信息。总的来说,它向我展示了很多时间花在操作映射等 C 函数中。

目前有哪些工具(如果有?)用于执行此操作?

javascript profiler node.js

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

为什么我的 firebase Google Auth 弹出窗口会立即关闭?

我正在按照本教程学习firebase。我克隆了 repo。在第 7 步,我做了它所说的(不过,实际上,这里没有什么可做的,因为这些步骤已经在 repo 中完成了)。当我单击 UI 中的 [SIGN-IN WITH GOOGLE] 按钮时,身份验证窗口会弹出并立即关闭。

我正在 VMWare 中的 Ubuntu Guest 中进行开发。在 Firebase 控制台中为该应用授权了以下域:

  • 本地主机
  • blahblah.firebaseapp.com
  • 127.0.0.1
  • <我的访客ip>
  • <我的主机/公共IP>

firebase 网站说在这里提问。我首先进行了彻底搜索,(少数)其他发布的解决方案不起作用。

谁能告诉我为什么会这样?

google-authentication firebase firebase-authentication

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

如何通过编程方式通过XML :: Twig添加实体声明?

对于我的生活,我无法理解实体处理的XML :: Twig文档.

我有一些用HTML :: Tidy生成的XML.电话如下:

my $tidy = HTML::Tidy->new({
    'indent'          => 1,
    'break-before-br' => 1,
    'output-xhtml'    => 0,
    'output-xml'      => 1,
    'char-encoding'   => 'raw',
});

$str = "foo &nbsp; bar";
$xml = $tidy->clean("<xml>$str</xml>");
Run Code Online (Sandbox Code Playgroud)

产生:

<html>
  <head>
    <meta content="tidyp for Linux (v1.02), see www.w3.org" name="generator" />
    <title></title>
  </head>
  <body>foo &nbsp; bar</body>
</html>
Run Code Online (Sandbox Code Playgroud)

XML :: Twig(可以理解)barf &nbsp;.我想做一些转换,通过XML :: Twig运行它:

my $twig = XML::Twig->new(
  twig_handlers => {... handlers ...}
);

$twig->parse($xml);
Run Code Online (Sandbox Code Playgroud)

$twig->parse行barfs的&nbsp;,但我无法弄清楚如何添加&nbsp;元素编程.我尝试过这样的事情:

my …
Run Code Online (Sandbox Code Playgroud)

xml perl xml-twig xml-entities

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

Angular&Jasmine:如何在名称中注入带点的服务

我有一个以这种方式定义的服务:

angular.module("myApp")
  .factory("myService.foo", function () {
    // utterly delightful code
  });
Run Code Online (Sandbox Code Playgroud)

我正在使用Karma和Jasmine进行测试.在测试中,我正在为我的大多数服务器测试做类似的事情:

describe('Service: someService', function () {

  // load the service's module
  beforeEach(module('myApp'));

  // instantiate service
  var _someService;
  beforeEach(inject([function (someService) {
    _someService = someService;
  }]));

  it('should do something', function () {
    expect(!!_someService).toBe(true);
  });

});
Run Code Online (Sandbox Code Playgroud)

当我尝试对名为"myService.foo"的服务执行相同操作时,它会抛出错误(当然):

describe('Service: myService.foo', function () {

  // load the service's module
  beforeEach(module('myApp'));

  // instantiate service
  var _myService;
  beforeEach(inject([function (myService.foo) {
    _myService = myService.foo;
  }]));

  it('should do something', function () {
    expect(!!_myService).toBe(true);
  });

});
Run Code Online (Sandbox Code Playgroud)

由于点语法的明显问题使得angular无法推断服务名称.如何注入此服务进行测试?我缺少一些替代语法吗?

testing angularjs

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

如何将输入发送到多个终端窗口(而非标签)?

我使用gnome-terminal(Ubuntu 10.10).我喜欢它,虽然我愿意为此功能切换到另一个.

任何人都可以告诉我如何向多个窗口广播击键?我发现最接近的是"终结者"程序,它允许广播到多个标签,但不允许广播到多个窗口.显然,当它进入v4时,从Konsole的v3中删除了类似的功能(不知道为什么).据我所知,在屏幕上也有类似的功能,但在窗口之间也没有.

我花了好几个小时看,但没有快乐.

我也愿意为一个通用解决方案(输入到任何类型的多个窗口),我可以适应终端窗口使用.

谢谢.

linux terminal gnome-terminal

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

Bash&Printf:我怎样才能正确填充和截断?

在Bash ......

我知道如何用printf正确填充

printf "%-10s" "potato"
Run Code Online (Sandbox Code Playgroud)

我知道如何用printf截断

printf "%.10s" "potatos are my best friends"
Run Code Online (Sandbox Code Playgroud)

我怎么能同时做到这两件事?

LIST="aaa bbbbb ccc ddddd"
for ITEM in $LIST; do
  printf "%-.4s blah" $ITEM
done
Run Code Online (Sandbox Code Playgroud)

这打印

aaa blah
bbbbb blah
ccc blah
ddddd blah
Run Code Online (Sandbox Code Playgroud)

我想要它打印

aaa  blah
bbbb blah
ccc  blah
dddd blah
Run Code Online (Sandbox Code Playgroud)

我宁愿不做这样的事情(除非别无选择):

LIST="aaa bbbbb ccc ddddd"
for ITEM in $LIST; do
  printf "%-4s blah" $(printf "%.4s" "$ITEM")
done
Run Code Online (Sandbox Code Playgroud)

虽然,显然,这是有效的(感觉丑陋和hackish).

bash printf truncate padding

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

如何从Linux中的一个很大的文件中获得唯一的行?

我有一个非常大的数据文件(255G; 3,192,563,934行)。不幸的是,我的设备上只有204G的可用空间(没有其他我可以使用的设备)。我做了一个随机样本,发现在给定的100K行中,大约有10K唯一行...但是文件未排序。

通常我会说:

pv myfile.data | sort | uniq > myfile.data.uniq
Run Code Online (Sandbox Code Playgroud)

并让它运行一天左右。在这种情况下,这是行不通的,因为我的设备上没有足够的空间来存放临时文件。

我当时想我可以使用split,并且一次可以uniq在500K行上进行流传输到一个新文件中。有没有办法做这样的事情?

我以为我可以做类似的事情

tail -100000 myfile.data | sort | uniq >> myfile.uniq && trunc --magicstuff myfile.data
Run Code Online (Sandbox Code Playgroud)

但我想不出一种方法来正确截断文件。

linux large-files uniq

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