小编ati*_*n25的帖子

NodeJS:限制快速请求率的任何模块

我的一个朋友正在寻找nodejs模块:

  • 可以限制快递请求率.
  • 防止机器人.

有谷歌,但只发现连接有一个限制中间件,但只限制文件大小.

connect node.js express

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

将字符串转换为正则表达式

如何检查 JavaScript 字符串是否为 RegExp 格式,然后将其转换为 RegExp?

我找到了一种使用 RegExp 的方法,但规则太复杂,无法正确实现。

function str2Regex(str){
  var rule = /\/(\\[^\x00-\x1f]|\[(\\[^\x00-\x1f]|[^\x00-\x1f\\\/])*\]|[^\x00-\x1f\\\/\[])+\/([gim]*)/;
  var match = str.match(rule);
  return match ? new RegExp(match[1],match[3]) : str;
}
Run Code Online (Sandbox Code Playgroud)

现在我正在使用/\/(.*)\/(?=[igm]*)([igm]*)/哪个有效。

javascript regex

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

groovy protected属性不能在子类中重写

子类调用父保护方法,期望返回受保护的覆盖属性.但返回父母的财产.

//父类:

package tz

import java.util.List;

class AbstractController {
    protected List keywordFilter = []
    protected String methodKey(){
        return "\t[method]parent,$keywordFilter,"+keywordFilter.toString()
    }
    def closureKey(){
        return "\t[closure]parent,$keywordFilter,"+keywordFilter.toString()
    }
}
Run Code Online (Sandbox Code Playgroud)

//子类:

package tz

import java.util.List;

class SubController extends AbstractController{
    protected List keywordFilter = ['a']
    public SubController(){
    }

    public void test(){
        println "subCall:"+methodKey()+closureKey()
    }
    def test2 = {
        println "c,$keywordFilter,"+methodKey()+closureKey()
    }

    public static void main(String[] args) {
        def s = new SubController()
        s.test()
        s.test2()
    }
}
Run Code Online (Sandbox Code Playgroud)

//输出:

subCall:[method]parent,[],[]    [closure]parent,[],[]
c,[a],  [method]parent,[],[]    [closure]parent,[],[]
Run Code Online (Sandbox Code Playgroud)

groovy

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

if(var)fn(var)的groovy方式

我想知道下面是否有任何更常用的代码方式:

def dataList = OperLog.createCriteria().list(max:params.max, offset:params.offset) {
    if(params.relationId){
      eq('relationId',params.long('relationId'))
    }
    order(params.sort, params.order)
}
Run Code Online (Sandbox Code Playgroud)

比如someVar?.someMethod有什么糖不要调用一个方法,它的params是null

grails groovy

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

玉混合麻烦

我正在使用jade的mixin并遇到了一些麻烦:

码:

  mixin renderLink(linkName,linkUrl,linkClass,other)
    - var active = req.url==linkUrl?'active':''
    li(class=[active,linkClass])
      a(href=linkUrl) #{linkName}
      #{other}

  ....
  .nav-collapse
    ul.nav
      +renderLink('HOME','/')
      +renderLink('CHAT','/chat',null,'span.badge.badge-warning 2')
Run Code Online (Sandbox Code Playgroud)

我想要的是:

li
  a(href="#") 
    CHAT
    span.badge.badge-warning 2
Run Code Online (Sandbox Code Playgroud)

如何修改#{other}以获得我想要的东西?谢谢

---谢谢,用这个:

  mixin renderLink(linkName,linkUrl,linkClass)
    - var active = req.url==linkUrl?'active':''
    li(class=[active,linkClass])
      a(href=linkUrl) #{linkName}
        block
Run Code Online (Sandbox Code Playgroud)

并得到我想要的:

<li class=" ">
  <a href="/chat">??<span class="badge badge-warning">2</span></a>
</li>
Run Code Online (Sandbox Code Playgroud)

node.js express pug

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

标签 统计

express ×2

groovy ×2

node.js ×2

connect ×1

grails ×1

javascript ×1

pug ×1

regex ×1