小编weg*_*gry的帖子

YAML相当于JSON中的对象数组

我有一个JSON数组对象,我试图转换为YAML.

{"AAPL": [
  {
    "shares": -75.088,
    "date": "11/27/2015"
  },
  {
    "shares": 75.088,
    "date": "11/26/2015"
  },
]}
Run Code Online (Sandbox Code Playgroud)

YAML中是否有等效的表示形式,而不仅仅是JSON?我想做点什么

AAPL:
  - :
    shares: -75.088
    date: 11/27/2015
  - :
    shares: 75.088
    date: 11/26/2015
Run Code Online (Sandbox Code Playgroud)

但我提出的最干净的事情是

AAPL:
  - {
    shares: -75.088,
    date: 11/27/2015
  }
  {
    shares: 75.088,
    date: 11/26/2015
  }
Run Code Online (Sandbox Code Playgroud)

arrays json yaml types

137
推荐指数
3
解决办法
9万
查看次数

__iter__和__getitem__之间有什么区别?

对于我来说,这在Python 2.7.6和3.3.3中会发生.当我定义这样的类时

class foo:
    def __getitem__(self, *args):
        print(*args)
Run Code Online (Sandbox Code Playgroud)

然后尝试在一个实例上迭代(以及我认为会称之为iter),

bar = foo()
for i in bar:
    print(i)
Run Code Online (Sandbox Code Playgroud)

它只是为一个args计算,并永远打印无.就语言设计而言,这是故意的吗?

样本输出

0
None
1
None
2
None
3
None
4
None
5
None
6
None
7
None
8
None
9
None
10
None
Run Code Online (Sandbox Code Playgroud)

python python-2.7 python-3.x

14
推荐指数
2
解决办法
6888
查看次数

SyntaxError:missing =在const声明Firefox 50中

我有一个如下循环:

const bar = {a: 1, b: 2}
for (const k in bar) { //Throws in Firefox but not Chrome 54
    console.log(k)
}
Run Code Online (Sandbox Code Playgroud)

这是一个错误吗?或者规格中的灰色区域?

firefox google-chrome const ecmascript-6

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

什么是#[警告(不稳定)]关于Rust?

我有一个非常简单的cat函数,用Rust 1.0 alpha编写.

use std::io;

fn main(){
    let mut reader = io::stdin();
    loop {
        let input = reader.read_line().ok().expect("Failed to read line");
        print!("{}", input);
    }
}
Run Code Online (Sandbox Code Playgroud)

当我编译它时,我收到以下警告:

bindings.rs:5:26: 5:35 warning: use of unstable item, #[warn(unstable)] on by default
bindings.rs:5         let mut reader = io::stdin();
                                       ^~~~~~~~~
bindings.rs:6:28: 6:39 warning: use of unstable item, #[warn(unstable)] on by default
bindings.rs:6         let input = reader.read_line().ok().expect("Failed to read line");
                                         ^~~~~~~~~~~
Run Code Online (Sandbox Code Playgroud)

有没有办法补救这些警告?

io rust

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

Webpack加载器相当于使用XMLHttpRequest加载requirejs插件

我有一对requirejs插件,我想用webpack加载器替换它.

define('firstLoader', {
  load: function (name, parentRequire, onload, config) {
    var xhr = new XMLHttpRequest();

    xhr.addEventListener('load', function () {onload(this.responseText);});
    xhr.addEventListener('error', onload.error);
    xhr.addEventListener('abort', onload.error);

    var url = '...' + name;
    xhr.open('GET', url);
    xhr.send()
  }
})

define('jsonLoader', {
  load: function (name, parentRequire, onload, config) {
    //This is the nasty part.
    req(['firstLoader!' + name], function (text) {
      try {
        onload(JSON.parse(text));
      }
      catch (err) {
        onload.error(err);
      }
    })
  }
});
Run Code Online (Sandbox Code Playgroud)

最大的问题是缺乏对异步请求和动态需求的承诺.有没有解决方法没有转换(使用`System.load)或其他库(蓝鸟等)?

编辑

所以我对此采取了一个措施,现在我收到了一个错误

Module not found: Error: Can't resolve 'future/url'

当我去的时候require('jsonLoader!future/url').webpack是否允许加载器在运行时运行?这是更新的代码.

firstPlugin.js …

javascript amd loader webpack

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

D中的多线程与for循环

我知道Rust可以使用轻量级线程运行循环.就像是:

use task::spawn;

fn main() {
  for 100.times {
    do spawn {
      io::println("Hello");
    }
  }
Run Code Online (Sandbox Code Playgroud)

我怎么能在D?

multithreading d rust

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

最大限度地减少加载多对多关系的性能问题

我一直在想象一个非常大的语料库.每个Unigram可以多次出现在多个注释中.我将Comment.ids存储在一个列表中,该列表附加到数据库中的Unigram,每250K新计算的unigrams左右.我想知道的是,如果有一种方法可以扩展注释ID列表 - 或类似的数据结构 - 而无需查询和加载与Unigram绑定的现有注释列表(它可以在数千个中编号).或者缓慢的IO没有办法吗?

这是我的型号代码:

comments = db.Table('ngrams',
    db.Column('unigram_id', db.String, db.ForeignKey('comment.id')),
    db.Column('comment_id', db.String, db.ForeignKey('unigram.id')))

class Unigram(db.Model):
    id = db.Column(db.String, primary_key=True, unique=True)
    times_occurred = db.Column(db.Integer)
    occurs_in = db.relationship('Comment', secondary=comments,
                    backref=db.backref('unigrams', lazy='dynamic'))

class Comment(db.Model):
    id = db.Column(db.String, primary_key=True, unique=True)
    creation_time = db.Column(db.DateTime)
Run Code Online (Sandbox Code Playgroud)

以及在以下位置添加新计数和Comment.ids的代码:

current = Unigram.query.filter(Unigram.id == ngram).first()
if current:
    current.times_occurred += counts[ngram]['count']
    current.occurs_in.extend(counts[ngram]['occurences'])
else:
    current = Unigram(ngram, counts[ngram]['count'],
                  counts[ngram]['occurences'])
    db.session.add(current)
Run Code Online (Sandbox Code Playgroud)

python sql orm many-to-many flask-sqlalchemy

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

Windows 7上的Chrome和WOFF与WOFF2呈现的Chrome

我最近尝试自动将字体的WOFF编码转换为WOFF2.在Windows 8和Mac OS 10.12上,WOFF2在Chrome 60,IE 11和Firefox 55之间渲染得非常接近.WOFF2在Windows 7上的Chrome中呈现非常糟糕,但WOFF似乎没有遇到同样的问题.Firefox中的WOFF2似乎正确呈现.

Mac OS 10.12,Safari

Mac OS 10.12,Safari

Windows 7,Chrome 60

Windows 7,Chrome 60

注意1和7是如何向下移动的.

-webkit-font-smoothing设置为抗锯齿.

这是一个已知的问题?

fonts google-chrome windows-7 woff woff2

6
推荐指数
0
解决办法
645
查看次数

使用Json.NET将F#序列化为字符串

我正在尝试从F#的区分联合转换为字符串序列化而不是默认的"Case":[value]".能够再次反序列化值不是问题.也许可以使用Json.NET ?

// Fsharp 4.1.0
open Newtonsoft.Json // 10.0.3

type HowLame =
| PrettyLame
| SuperLame

type Lame = {
    howLame: HowLame;
}

[<EntryPoint>]
let main argv =
    let lame = { howLame = PrettyLame }
    let ser = JsonConvert.SerializeObject(lame)

    // {"soLame":{"Case":"PrettyLame"}} by default
    printfn "%s" ser

    // Desired
    assert (ser = """{"soLame":"PrettyLame"}""")
    0 // return an integer exit code
Run Code Online (Sandbox Code Playgroud)

serialization f# json json.net

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

有条件地忽略 COPY 上的 .dockerignore 文件

我有一个前端构建,它使用 Dockerfile 的变体进行多个步骤:开发、CI(使用 Jenkins)和生产。我不想连续下载用于 CI 和生产构建映像的 node_modules(这两者都在同一个盒子上连续发生)。Dev 的 node_modules 托管在一个卷上,以降低重新启动开发容器的开销。

这三个阶段都共享同一个.dockerignore文件,其中有一行不包括node_modules. 是否可以通过类似的方式添加 node_modules COPY node_modules/* node_modules/?我徒劳地寻找在 CI 和生产构建的构建部分期间使用绑定安装的方法。这似乎是不可能的。

glob jenkins node-modules docker dockerfile

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