小编Ric*_*asi的帖子

LESS中的直接子选择器

反正有没有在其输出中应用直接子选择器(>)?

在我的风格中,我想写下这样的东西:

.panel {
    ...
    > .control {
        ...
    }
}
Run Code Online (Sandbox Code Playgroud)

并且少生成以下内容:

.panel > .control { ... }
Run Code Online (Sandbox Code Playgroud)

css css-selectors less

109
推荐指数
3
解决办法
7万
查看次数

我怎么能写这个coffeescript所以它不刷新我的页面?

这是我的第一个Coffeescript功能,无法弄清楚如何在用户点击并触发事件后不刷新我的页面:

jQuery ->
  $(".answer_link").click -> 
    $val = $(this).attr 'id'
    $id = $val.replace(/answer_link_/, '')
    $input = "#new_answer_" + $id
    $($input).toggle 'slow'
Run Code Online (Sandbox Code Playgroud)

谢谢!

jquery coffeescript

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

如何在node.js + mongoose app中避免胖模型?

该应用程序正在使用express 3.以下是从数据库中获取数据的路径的准系统示例:

var Post = mongoose.model('Post')

app.get('post/:id/loompas', function(req, res) {
    Post.getLoompas(function(err, data){
        res.render('x', data)
    })
})
Run Code Online (Sandbox Code Playgroud)

Posts.getSomeData被定义为实例方法/models/post.js,有时访问外部的API:

PostSchema.method('getLoompas', function(callback){
    var post = this
    API.get('y', function(x){
        this.save(x)
        callback(x)
    })
})
Run Code Online (Sandbox Code Playgroud)

这开始闻起来,看起来并不像Schema定义那样.方法的集合可能会变得非常大.

建议采用哪些设计模式来区分这些问题并避免使用极其胖的模型?外部API调用的服务层?有什么有趣的解决方案吗?

model-view-controller design-patterns mongoose node.js

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

如何使用Web Crypto API解密使用OpenSSL创建的文件?

我试图解密使用OpenSSL命令行界面创建的文件.此文件创建于:

openssl aes-256-cbc -a -in file.txt -out file_encrypted.txt

并可以解密:

openssl aes-256-cbc -d -a -in file_encrypted.txt

通过使用-p标志,我可以检索WebCrypto API所需的实际值salt和IV:

> openssl aes-256-cbc -d -a -p -in file_encrypted.txt
salt=F57F1CC0CD384326
key=0E971326890959386F1CFB91F185CFE109203DCEBC81DCAD4EE642F34C538E5B
iv=A884549B66400EB198879F8A09148D4E
secret text
Run Code Online (Sandbox Code Playgroud)

我目前的尝试看起来像这样:

function getKey (password) {
    return crypto.subtle.digest({name: "SHA-256"}, convertStringToArrayBufferView(password)).then(function(result){
        return crypto.subtle.importKey("raw", result, {name: "AES-CBC"}, false, ["encrypt", "decrypt"]);
    });
}

function decrypt(key, data, iv) {
    return crypto.subtle.decrypt({ name: "AES-CBC", iv: iv }, key, data).then(function(result){
        var decrypted_data = new Uint8Array(result);
        return convertArrayBufferViewtoString(decrypted_data);
    }, fail);
}

var encrypted = Uint8Array.from('0E971326890959386F1CFB91F185CFE109203DCEBC81DCAD4EE642F34C538E5B'.match(/\w\w/g));
var …
Run Code Online (Sandbox Code Playgroud)

javascript openssl cryptography webcrypto-api

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