小编Sel*_*ish的帖子

Ruby:如何对Ruby数组进行分组?

我有一个Ruby数组

> list = Request.find_all_by_artist("Metallica").map(&:song)
=> ["Nothing else Matters", "Enter sandman", "Enter Sandman", "Master of Puppets", "Master of Puppets", "Master of Puppets"]
Run Code Online (Sandbox Code Playgroud)

我想要一个包含这样的计数的列表:

{"Nothing Else Matters" => 1,
 "Enter Sandman" => 2,
 "Master of Puppets" => 3}
Run Code Online (Sandbox Code Playgroud)

理想情况下,我想要一个哈希,它会给我计数并注意我的方式Enter Sandman,enter sandman所以我需要它不区分大小写.我很确定我可以循环使用它但是有更清洁的方法吗?

ruby ruby-on-rails

45
推荐指数
5
解决办法
5万
查看次数

使用Typeahead使用JSON数据中的不同值而不是displayKey

我已经开始使用Typeahead.js并且正在努力找出允许用户键入和搜索公司名称的方法,一旦选择输入关联的公司代码.

.json文件:

[{
    "company_name": "Facebook",
    "code": "fb",
}, {
    "company_name": "Google",
    "code": "goog",
}, {
    "company_name": "Yahoo",
    "code": "yhoo",
}, {
    "company_name": "Apple",
    "code": "aapl",
}, {
    "company_name": "Royal Mail",
    "code": "rmg.l",
}]
Run Code Online (Sandbox Code Playgroud)

.js脚本:

var stocks = new Bloodhound({
    datumTokenizer: function(d) {
        return Bloodhound.tokenizers.whitespace(d.code);
    },
    queryTokenizer: Bloodhound.tokenizers.whitespace,
    limit: 3,
    prefetch: {
        url: 'javascripts/stockCodes.json',
        filter: function(list) {
            return $.map(list, function(stock) {
                return {
                    code: stock
                };
            });
        }
    }
});

stocks.initialize();

$('.typeahead').typeahead(null, {
    name: 'stocks',
    displayKey: 'code',
    source: stocks.ttAdapter()
});
Run Code Online (Sandbox Code Playgroud)

目前,这只是在用户输入输入字段时显示代码列表.但是,我想知道是否有办法允许它们搜索 …

javascript jquery json typeahead.js

29
推荐指数
4
解决办法
5万
查看次数

在VBS/VBA中退出while循环

有没有退出/破坏whileVBS/VBA的方法?

以下代码无法按预期工作:

num = 0
while (num < 10)

    if (status = "Fail") then
        exit while
    end if

    num = num+1
wend
Run Code Online (Sandbox Code Playgroud)

vbscript vba

27
推荐指数
2
解决办法
13万
查看次数

使用node-request和fs Promisified下载图像,Node.js中没有管道

我一直在努力成功下载图像而不用它将它传递给fs.这就是我所取得的成就:

var Promise = require('bluebird'),
    fs = Promise.promisifyAll(require('fs')),
    requestAsync = Promise.promisify(require('request'));

function downloadImage(uri, filename){
    return requestAsync(uri)
        .spread(function (response, body) {
            if (response.statusCode != 200) return Promise.resolve();
            return fs.writeFileAsync(filename, body);
        })
       .then(function () { ... })

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

有效输入可能是:

downloadImage('http://goo.gl/5FiLfb', 'c:\\thanks.jpg');
Run Code Online (Sandbox Code Playgroud)

我确实认为问题在于处理问题body.我已经尝试将其转换为Buffer(new Buffer(body, 'binary')等)几种编码,但都失败了.

感谢前方的任何帮助!

fs node.js promise bluebird node-request

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

使用CSS覆盖非透明图像区域

我有兴趣动态修改具有透明背景的图像,并使用CSS实现这一点.

我真正需要的是创建一种轮廓,以便所有非透明像素都应用了它们.在这种情况下,黑色.

之前和之后应该看起来像这样:

之前 在此输入图像描述 后

请注意,两个图像都具有透明背景.

是否有可用于使用CSS执行此操作的方法?

如果没有,是否有一种简单的方法来生成剪影并在客户端,在网页上下文中切换两个图像?可以假设现代浏览器.

非常感谢任何形式的帮助.

css image-manipulation image css3

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

Google Apps脚本Javascript标准支持

简单问题:任何人都可以指向某个资源,或者知道Google Apps脚本支持哪种Javascript标准?

我自然认为ES5是完全支持的,但ES6(甚至7)呢?

注意:我的意思是内置代码编辑器,如果打开电子表格(例如),则会出现,然后单击 Tools > Script editor...

javascript google-sheets google-apps-script

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

节点 PostgreSQL 使客户端的查询超时

我正在pg为 postgres使用 Node 包(这里):

npm i pg

var pg = require('pg');
Run Code Online (Sandbox Code Playgroud)

我正在查询一个不属于我的大型集群,并且在某些情况下可能会失败。失败可能是易于处理的不良响应或无休止的查询。请注意,我无法在 DB 端引入更改 [config or other]。

有没有办法为查询时间设置超时?我希望我的客户在设定的时间后放弃,并返回超时错误。

在文档中找不到任何此类内容。

谢谢前面!

javascript database postgresql timeout node.js

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

功能适用于Promises

我正在使用bluebird在Node.js中开展基于promise的项目,而在ES6中使用另一个本机承诺.在这两个中,我有一个链,我以下面的形式查询数据库:

some_function(/*...*/)

    .then(function () {
        return query("SELECT `whatever` FROM `wherever` ")
    })

    .then(/*...*/)
Run Code Online (Sandbox Code Playgroud)

请注意,query显然会返回一个解析为查询结果的promise.这在几个链中重复,我正在寻找一种方法来清理未使用的函数包装器.

我自然会使用Function.prototype.apply(),但在这种情况下,当我尝试:

.then(query.apply(this, ["SELECT * FROM ... "]))
.then(function(rows){ /*...*/ })
Run Code Online (Sandbox Code Playgroud)

在链中的下一个函数得到rowsundefined.

谢谢你的提前.非常感谢您的帮助.

javascript node.js bluebird es6-promise

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

使用MySQL中的登录时间戳计算活动用户数

在准备面试时,我遇到了一个SQL问题,我希望能够对如何更好地回答它有所了解.

给定时间戳,userid,如何确定一周内每天活跃的用户数量?

这个问题很少,但这就是我面前的问题.

mysql sql

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

节点类中的 Memoizee 实例方法

我正在寻找一种优雅的方式来使用Memoizee 包记忆类函数。

在课堂之外,您可以轻松地进行以下操作:

const memoize = require('memoizee')

const myFunc = memoize(function myfunc(){ ... })
Run Code Online (Sandbox Code Playgroud)

但是在类块中,这不起作用:

class foo {
    constructor(){ ... }

    // Without memoization you would do:
    myFunc(){ ... }

    // Can't do this here:
    myFunc = memoize(function myfunc(){ ... })
}
Run Code Online (Sandbox Code Playgroud)

我可以考虑使用this.语法在构造函数中创建它,但这将导致类定义不太统一,因为非记忆方法将在构造函数之外声明:

class foo {
    constructor(){
        // Inside for memoized:
        this.myFunc = memoize(function myfunc(){ ... }) 
    }

    // Outside for non-memoized:
    otherFunc(){ ... }
}
Run Code Online (Sandbox Code Playgroud)

你将如何包装一个实例方法?

javascript class memoization node.js memoizee

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

在Node.js中查找GPU信息(模型)

在Node.js中,我们可以轻松使用os模块(文档)来获取CPU信息:

    os.cpus()[0].model; // ? Example: 'Intel(R) Core(TM) i7 CPU 860 @ 2.80GHz'
Run Code Online (Sandbox Code Playgroud)

我正在寻找类似的方法来获得GPU模型,如果可能的话,还有规格.

感谢前方的任何帮助!

javascript operating-system node.js

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

Node JS 使用 windows % 变量视为相对路径的绝对路径

我正在fs.unlinkSync()Node.js 脚本中使用方法,以便删除位于Appdata目录中的文件。

定位目录的最佳实践Appdata是使用 指定路径%appdata%,因此在我的代码中:

var filePath = '%appdata%/some/path/file.ext';
fs.unlinkSync(filePath);
Run Code Online (Sandbox Code Playgroud)

问题是返回错误,表明路径错误,因为它试图找到类似以下内容的内容:

C:\my\project\%appdata%\some\path\file.ext
Run Code Online (Sandbox Code Playgroud)

这显然不存在。

所以我正在寻找解决问题的最佳%appdata%方法C:\Users\user\AppData\Roaming

希望我能做一些事情:

var filePath = resolveToAbsolutePath('%appdata%/some/path/file.ext');
fs.unlinkSync(filePath);
Run Code Online (Sandbox Code Playgroud)

任何形式的帮助表示赞赏。

笔记:

  1. 不,这个问题与使用正斜杠而不是反斜杠无关。
  2. 这与使用环境变量不同,因为我从外部获取路径,并且我还需要能够解析%路径。我感兴趣的是概括该解决方案,而不是手动用环境变量数据替换路径。

javascript filepath fs node.js

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