小编old*_*god的帖子

正则表达式:只有字母数字,但如果这是纯数字则不会

例如:

'1'     => NG
'243'   => NG
'1av'   => OK
'pRo'   => OK
'123k%' => NG
Run Code Online (Sandbox Code Playgroud)

我试过了

 /^(?=^[^0-9]*$)(?=[a-zA-Z0-9]+)$/
Run Code Online (Sandbox Code Playgroud)

但它运作不佳.

javascript regex

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

Nginx#ngx_http_limit_req_module:超过费率后503返回多长时间?

说我设定

limit_req_zone $binary_remote_addr zone=one:10m rate=1r/s;

server {
    location / {
        limit_req zone=one burst=5 nodelay;
    }
Run Code Online (Sandbox Code Playgroud)

然后持续5秒钟,我每秒发送10个请求.

哪个请求应该看到哪个应该看到200哪个503
它会是每10个请求中的第一个吗?

或者nginx跟踪不良用户不断发送请求,在这种情况下,只有50个请求中的第一个会得到一个200

nginx

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

为什么在使用function.apply时没有Closure类型检查参数?

见下文

/**
 * @param {string} a
 * @param {string} b
 */
var f = function(a, b){
    // ...
}

/**
 * @param {string} a
 * @param {boolean} c
 */
var h = function(a, c){
    f.apply(this, arguments); // no compile error
    f.apply(this, [a, c]);    // no compile error
    f.call(this, a, c);       // compile error: does not match formal parameter
}
Run Code Online (Sandbox Code Playgroud)

为什么Closure只在使用call而不是apply时引发错误?
有没有办法我可以进行闭包类型检查参数,即使我正在使用apply?

javascript google-closure google-closure-compiler

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

多个线程中的循环

我有以下代码(来自Ruby教程):

require 'thread'

count1 = count2 = 0
difference = 0
counter = Thread.new do
   loop do
      count1 += 1
      count2 += 1
   end
end
spy = Thread.new do
   loop do
      difference += (count1 - count2).abs
   end
end
sleep 1

puts "count1 :  #{count1}"
puts "count2 :  #{count2}"
puts "difference : #{difference}"
counter.join(2)
spy.join(2)
puts "count1 :  #{count1}"
puts "count2 :  #{count2}"
puts "difference : #{difference}"
Run Code Online (Sandbox Code Playgroud)

这是一个使用的例子Mutex.synchronize.在我的计算机上,结果与教程完全不同.打电话后join,计数有时相等:

count1 :  5321211
count2 :  6812638
difference …
Run Code Online (Sandbox Code Playgroud)

ruby multithreading ruby-1.9

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

Chef和ruby:如何将数组转换为集合

我有一个看起来像这样的数组:

nodes = ['server1','server1','server2']
Run Code Online (Sandbox Code Playgroud)

在我传递给模板erb之前,我需要转换成一个集合.我怎么做?

ruby

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

Rails是这个查询开放sql注入?

我还在学习如何使用ActiveRecord编写好的查询.我很好奇这个查询是否受sql注入,因为我在查询中使用日期字段的方式.

有人可以指出任何明显的错误或更好的方法来编写这个查询?

@arrangements_for_month =
  Arrangement.joins(:timeslot).
              where("timeslots.timeslot BETWEEN '#{month}' AND '#{month.end_of_month}'", params[:id]).
              order('location_id')
Run Code Online (Sandbox Code Playgroud)

ruby activerecord sql-injection ruby-on-rails ruby-on-rails-3

4
推荐指数
2
解决办法
1287
查看次数

提供文件数据时触发“drop”事件

问题

我如何在提供文件时触发一个drop字段事件,而我在加载时无权访问该字段

细节

有一个页面,其中有一个字段,该字段上附加了一个drop侦听器,该侦听器在放置时处理图像。我希望能够通过粘贴图像来使用此过程。我知道如何从粘贴中获取文件,但我不知道如何调度drop包含该文件的事件。

障碍是:

  • 代码被混淆了,我无法访问通过名称与侦听器链接的函数。
  • drop在将侦听器附加到元素后,无法获取侦听器。似乎有某种方法可以在控制台中执行此操作,但不能通过脚本执行此操作。
  • 我不控制页面渲染;即我无法拦截事件侦听器添加。
  • Vanilla Javascript & 只能在 Chrome(扩展)中工作。
  • 此页面是用香草构建的;即没有 jQuery 或任何东西。

有谁知道如何完成这项任务?

我正在研究DragEvent,“尽管此接口有一个构造函数,但不可能从脚本创建有用的 DataTransfer 对象,因为 DataTransfer 对象具有在拖放过程中由浏览器协调的处理和安全模型。”

我看到了一种可能的方法/sf/answers/2734651041/,但我想用其数据模拟真实的放置事件,即传递我通过获得的文件clipboardData.items[0].getAsFile();而不仅仅是文本。

javascript dom-events

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

在Ruby 1.9.3中通过RSpec配置包含命名空间模块

我喜欢使用RSpec的include配置方法来包含仅用于命名空间的模块,这样我就不必为其内部类和模块使用完全限定名.这适用于Ruby 1.9.2中的RSpec 2.11.0.但现在在Ruby 1.9.3上这已不再适用了.我怎样才能让它再次运作?

这是一个示例foobar_spec.rb:

module Foo
  class Bar
  end
end

RSpec.configure do |config|
  config.include Foo
end

describe Foo::Bar do
  it "should work" do
    Bar.new
  end
end
Run Code Online (Sandbox Code Playgroud)

如果您通过以下命令调用它:

rspec foobar_spec.rb
Run Code Online (Sandbox Code Playgroud)

它可以在Ruby 1.9.2中正常工作.但它会在Ruby 1.9.3中引发以下错误:

Failure/Error: Bar.new
     NameError:
       uninitialized constant Bar
Run Code Online (Sandbox Code Playgroud)

ruby rspec namespaces ruby-1.9.3

3
推荐指数
2
解决办法
6319
查看次数

ServiceWorker:没有针对javascript触发请求的FetchEvent?

我正在使用Chrome stable 46.

我有一个非常基本的网站.一个button.onclick fetch('a')和一个<a>打开的标签b.这两个URL ab不存在的,我打算抓住他们的服务人员和刚刚返回new Response().

如果我单击提取的按钮a,服务工作者不参与,我收到404错误.
但是,如果我点击进入的链接,b服务工作人员就会获取并返回响应.

问题:为什么服务工作者没有为fetch('a')请求获取任何FetchEvent ?

请参阅以下文件

HTML

<html>
  <body>
    <p><button onclick="fetch('a');">fetch a</button></p>
    <p><a href="b">go to b</a></p>
    <script src="js.js" defer></script>
  </body>
</html>
Run Code Online (Sandbox Code Playgroud)

js.js

navigator.serviceWorker.register('sw.js');
Run Code Online (Sandbox Code Playgroud)

sw.js

self.onfetch = function(event) {
  var request = event.request;
  event.respondWith(
    caches.match(request).then(function(response) {
      return new Response('here is your onfetch response');
    })
  );
};
Run Code Online (Sandbox Code Playgroud)

javascript fetch asp.net-web-api service-worker fetch-api

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

多个具有相同返回类但键不同的@Binds

以下所有内容均与匕首2.10和dagger.android包装一起使用.

假设我有一个课程,我想在多个活动中注入.

public class DemoSharedClass {
  Activity activity;

  @Inject public DemoSharedClass(Activity activity) {
    this.activity = activity;
  }
}
Run Code Online (Sandbox Code Playgroud)

然后,使用最新的Dagger API,我的类被定义为

public class DemoActivity extends DaggerActivity {
  @Inject DemoSharedClass demoSharedClass;

  // ...
}

public class Demo2Activity extends DaggerActivity {
  @Inject DemoSharedClass demoSharedClass;

  // ...
}
Run Code Online (Sandbox Code Playgroud)

每个活动都将其模块和子组件定义为(exactement相同Demo2Activity)

@Module(subcomponents = DemoActivitySubcomponent.class)
public abstract class DemoActivityModule {
  @Binds
  @IntoMap
  @ActivityKey(DemoActivity.class)
  abstract AndroidInjector.Factory<? extends Activity>
    bindDemoActivityInjectorFactory(DemoActivitySubcomponent.Builder builder);

  // This is set so SharedClass can be injected using its constructor
  // There …
Run Code Online (Sandbox Code Playgroud)

android dagger-2

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