小编phi*_*kim的帖子

当我在AppFog上访问Sinatra应用程序时,会显示"禁止"消息

我上传了一个简单的Sinatra应用程序到AppFog.它在我的本地机器上运行良好.但在将应用程序上传到AppFog后,当我访问AppFog域时,会显示带有"禁止"消息的页面.

这些是appFog日志:

====> /logs/stderr.log <====
...
W, [2012-06-01T06:32:54.008426 #28933]  WARN -- : attack prevented by Rack::Protection::IPSpoofing
211.32.146.42 - - [01/Jun/2012 06:32:54] "GET / HTTP/1.1" 403 - 0.0002
10.0.64.157 - - [01/Jun/2012:06:32:54 UTC] "GET / HTTP/1.0" 403 9 - -> /
W, [2012-06-01T06:32:54.393022 #28933]  WARN -- : attack prevented by Rack::Protection::IPSpoofing
211.32.146.42 - - [01/Jun/2012 06:32:54] "GET /favicon.ico HTTP/1.1" 403 - 0.0002
10.0.64.157 - - [01/Jun/2012:06:32:54 UTC] "GET /favicon.ico HTTP/1.0" 403 9 - -> /favicon.ico
Run Code Online (Sandbox Code Playgroud)

我没有Rack::Protection::IPSpoofing在我的代码中使用,但我得到了这些错误.Rack::Utils …

ruby rack sinatra paas

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

我怎样才能在lodash.template()中使用hnescape html标签?

我想使用lodash.template()创建一个html代码,但结果不是我预期的.

var a = '<td>a</td>';
var expected = '<tr><td>a</td></tr>';
var actual = _.template('<tr><%- a %></tr>', {a: a});

console.log(actual);
"<tr>&lt;td&gt;a&lt;/td&gt;</tr>"
Run Code Online (Sandbox Code Playgroud)

因此填充的文本a已被转义.

我怎样才能得到结果expected

我可以设置options.escape,但不知道如何使用此选项.

谢谢!

html javascript lodash

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

如何以更Ruby的方式从文本文件中创建单词列表?

我想使用Ruby从文本文件中获取单词列表.我发现如何使用正则表达式来解析这里的单词,所以我创建了一个如下脚本:

src = File.open("text.txt")
word_list = []
src.each do |line|
  word_list << line.downcase.split(/[^[:alpha:]]/).delete_if {|x| x == ""}
end
word_list.flatten!.uniq!.sort!
p word_list
Run Code Online (Sandbox Code Playgroud)

以下是示例文本文件text.txt:

TextMate可能是开发Ruby on Rails应用程序的最新热潮,但Vim是永恒的.此插件为Ruby on Rails应用程序开发提供以下功能.

  1. 自动检测包含来自Rails应用程序的文件的缓冲区,并将设置应用于这些缓冲区(并且仅应用于那些缓冲区).您也可以使用自动命令来应用自己的自定义设置.

  2. 非侵入.只应影响Rails应用程序中的文件; 常规Ruby脚本保持不变.即使启用了该插件,如果您不使用其功能,该插件也应该不受影响.

  3. 轻松导航Rails目录结构.gf考虑上下文并了解部分,固定装置等等.有两个命令:A(备用)和:R(相关),用于在文件之间轻松跳转,包括模型到迁移,模板到帮助器和控制器到功能测试等收藏夹.对于更高级的用法,:Rmodel,:Rview,:Rcontroller,以及其他几个命令.

作为一名Ruby新手,我想为这个问题学习更好(更清晰,更简洁,更符合惯例)的解决方案.

感谢您的任何建议和更正.

ruby syntax split

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

如何测试使用specs2调用error()的方法?

我想测试一个调用error()它的方法.

IntEmptyStack.top 是我想用specs2测试的:

abstract class IntStack {
  def push(x: Int): IntStack = new IntNonEmptyStack(x, this)
  def isEmpty: Boolean
  def top: Int
  def pop: IntStack
}
class IntEmptyStack extends IntStack {
  def isEmpty = true
  def top = error("EmptyStack.top")
  def pop = error("EmptyStack.pop")
}
Run Code Online (Sandbox Code Playgroud)

这是我到目前为止写的规范:

import org.junit.runner.RunWith
import org.specs2.runner.JUnitRunner
import org.specs2.mutable.Specification

@RunWith(classOf[JUnitRunner])
class IntStackSpec extends Specification {

  "IntEmptyStack" should {
    val s = new IntEmptyStack
    "be empty" in {
      s.isEmpty must equalTo(true)
    }
    "raise error when top called" in …
Run Code Online (Sandbox Code Playgroud)

scala specs2

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

如何使用Scala有效地获取给定二进制字符串的1s索引?

假设我们有一个二进制字符串,如10010010.

我想要的只是一个函数返回1该字符串的s 索引:

indicesOfOnes("10010010") -> List(0, 3, 6)
indicesOfOnes("0") -> List()
Run Code Online (Sandbox Code Playgroud)

我实施的是:

def indicesOfOnes(bs: String): List[Int] = {
  val lb = ListBuffer[Int]()
  bs.zipWithIndex.foreach { case (v, i) =>
    if (v == '1') {
      lb += i
    }
  }
  lb.toList
}
Run Code Online (Sandbox Code Playgroud)

这有效,但我认为有更好的(更多功能)方法来完成这项工作.任何建议将不胜感激.

functional-programming scala higher-order-functions

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

在Flume NG中使用HBaseSink时,我可以自定义行键模式吗?

我正在尝试使用Flume NG将文本文件中的日志收集到HBase.日志文件中的每一行都是JSON文本,我将它们作为值插入HBase表中.问题是我不知道如何自定义行键模式.例如,当我计算表中的行时:

hbase(main):001:0> count 'flume-ng-test', 100000
Current count: 100000, row: default32e473e0-4f54-48b5-8081-c3f845b38456         
Current count: 200000, row: default65b0cc3d-5421-4bb1-87e2-b21c2841fcd6         
Current count: 300000, row: default98be85e3-bb9f-402e-8f36-0db74cb8ab44         
Current count: 400000, row: defaultcbf888dc-e2bb-492f-ab17-63f5e0327344         
Current count: 500000, row: defaultfedc40e5-04b4-49a4-8734-655f43956d6e         
502224 row(s) in 8.1540 seconds
Run Code Online (Sandbox Code Playgroud)

行键是default + UUID_like_string.如果我想使用当前时间戳(升序或降序)更改行键模式,我该怎么办?

谢谢你的评论.

hbase flume

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