小编sff*_*ffc的帖子

选择一个字段不存在,为null或为false的MongoDB文档?

假设我有一个包含以下文档的集合:

{ "_id": 1, name: "Apple" }
{ "_id": 2, name: "Banana", "is_reported": null }
{ "_id": 3, name: "Cherry", "is_reported": false }
{ "_id": 4, name: "Kiwi",   "is_reported": true }
Run Code Online (Sandbox Code Playgroud)

是否有更简单的查询来选择"is_reported"处于假状态的所有文档; 也就是说,要么不存在,要么为空,否则为假?也就是说,选择Apple,Banana和Cherry的查询,而不是Kiwi?

根据MongoDB FAQ,{ "is_reported": null }将选择"is_reported"为null或不存在的文档,但它仍然不会选择"is_reported"为false的文档.

现在我有以下查询,它工作正常,但它似乎并不优雅.如果我需要选择多个字段,它会很快变得混乱.是否有更好的查询可以达到相同的最终结果?

db.fruits.find({ $or: [ { "is_reported": null }, { "is_reported": false } ] })
Run Code Online (Sandbox Code Playgroud)

database mongodb mongodb-query

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

你如何在Sinatra中选择你的HTTP服务器?

我在本地运行Sinatra应用程序.

自从我安装了Thin之后,我的Sinatra应用程序总是将它用作Web服务器.但是,我一直在使用Thin提供应用程序所需的大量静态文件的性能问题,我想切换到Mongrel或WEBrick.

我似乎无法弄清楚如何将我的应用程序切换到Mongrel或WEBrick.即使我放在app.rb的顶部require 'mongrel'或者require 'webrick'在我的顶部ruby app.rb,Sinatra仍然以Thin开头.

所以,我的问题是:如何指定Sinatra的Web服务器在开发模式下使用?另外,我怎么能在生产模式下这样做?

rack mongrel thin webrick sinatra

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

你如何在Julia中的数组中执行条件赋值?

在Octave,我能做到

octave:1> A = [1 2; 3 4]
A =

   1   2
   3   4

octave:2> A(A>1) -= 1
A =

   1   1
   2   3
Run Code Online (Sandbox Code Playgroud)

但在Julia中,等效语法不起作用.

julia> A = [1 2; 3 4]
2x2 Array{Int64,2}:
 1  2
 3  4

julia> A[A>1] -= 1
ERROR: `isless` has no method matching isless(::Int64, ::Array{Int64,2})
 in > at operators.jl:33
Run Code Online (Sandbox Code Playgroud)

如何在Julia中有条件地为某些数组或矩阵元素赋值?

octave julia

8
推荐指数
2
解决办法
1999
查看次数

如何捕获在 IIS、FastCGI 和 WSGI 下运行的 Python 进程的 STDOUT?

我有一个 Python Flask 应用程序。当我从PowerShell中运行它,我可以看到输出的来电来样来的功能流print()logging.info()在我的代码。

当我将 IIS 指向我的应用程序并让它通过带有web.config文件的FastCGI 运行时,该输出流去哪里了?如何将其捕获到日志文件中?

python iis wsgi fastcgi

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

相当于apt-get update的yum

在Debian衍生产品中,在从apt使用软件安装之前apt-get install xxx,有必要运行apt-get update.这将刷新包列表,以便正确解析依赖关系等.

在使用RHEL实例时,出于习惯,我yum update在安装软件之前运行.但是,这只是为了发现yum update 升级了我的所有软件包,而不是在本地更新软件包列表,或者可能除此之外apt-get update.

是否有必要在运行之前更新yum的包列表yum install xxx?如果是这样,你怎么做?

apt rhel yum package-managers

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

您如何使 Serde 结构同时处理借用和拥有的数据?

我想制作一个能够从借用数据 ( serde_json::from_str) 或拥有数据 ( serde_json::from_reader)反序列化的 Serde 结构。我已经阅读了理解反序列化器生命周期,并且我理解了两个特征边界(<'de, T> where T: Deserialize<'de><T> where T: DeserializeOwned)之间的区别;我想要的是一个实现两个特征边界的结构,这样它就可以从任一反序列化函数中使用。

以下代码(playground)拒绝编译:

use serde_json; // 1.0.56
use serde; // 1.0.114
use std::fs;
use std::io;
use std::borrow::Cow;

#[derive(serde::Deserialize)]
struct Resource<'s> {
    // The Cow should allow for either borrowed or owned data
    #[serde(borrow)]
    pub foo: Cow<'s, str>,
}

fn main() {
    {
        // Works as expected when referencing a string...
        let s = "{\"foo\":\"bar\"}";
        let resource: Resource …
Run Code Online (Sandbox Code Playgroud)

rust serde serde-json

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

从文件树中删除git-annex存储库

我昨天尝试安装git-annex来备份我的文件.我git annex add .在我的存储库树的根目录中运行,然后运行a git commit.到目前为止一切都很好.

我不知道git-annex正在做的是将我的整个文件树变成一大堆符号链接.现在我整个树中的每个文件都已符号链接.git/annex/objects!这搞乱了我的应用程序,这取决于文件不是符号链接.

我的问题是,如何摆脱git-annex并将我的文件系统恢复到原始状态?对于一个正常的git repo,我可以做rm -r .git,但我担心这不会在git-annex中完成.提前致谢.

linux git symlink git-annex

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

将命令输出保存到Makefile变量时如何保留空格?

我知道类似这样的问题,但是我的问题专门关于makefile,尤其是gnumake。

我有一个命令可以打印换行符和其他空格以标准化。我想将输出捕获到变量中,然后再将变量打印到文件中。

示例文件:

OUTPUT=${shell cowsay hello}

all:
    @echo "$(OUTPUT)" > output.txt
Run Code Online (Sandbox Code Playgroud)

运行make之后,output.txt包含:

 _______  < hello >  -------          \   ^__^          \  (oo)\_______             (__)\       )\/\                 ||----w |                 ||     ||
Run Code Online (Sandbox Code Playgroud)

我希望它保留空格,而包含:

 _______
< hello >
 -------
        \   ^__^
         \  (oo)\_______
            (__)\       )\/\
                ||----w |
                ||     ||
Run Code Online (Sandbox Code Playgroud)

我实际上使用的命令不是说说的,但是它输出类似的空格和换行符。

whitespace makefile gnu-make

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

使用UIImagePickerController减少内存使用量

在我的应用程序中,用户可以使用UIImagePickerController拍摄多个图像,然后在视图中逐个显示这些图像.

我在内存管理方面遇到了一些麻烦.随着今天手机上的摄像头以百万像素迅速上升,从UIImagePickerController返回的UIImages是记忆猪.在我的iPhone 4S上,UIImages约为5MB; 我很难想象它们在新的和未来的模型上会是什么样的.

我的一位朋友说,处理UIImages的最佳方法是立即将它们保存到我应用程序文档目录中的JPEG文件中,并尽快释放原始的UIImage.所以这就是我一直在努力做的事情.不幸的是,即使将UIImage保存为JPEG并且在我的代码中没有引用它,它也不会被垃圾收集.

以下是我的代码的相关部分.我正在使用ARC.

// Entry point: UIImagePickerController delegate method
-(void) imagePickerController:(UIImagePickerController *)picker didFinishPickingMediaWithInfo:(NSDictionary *)info {

    // Process the image.  The method returns a pathname.
    NSString* path = [self processImage:[info objectForKey:UIImagePickerControllerOriginalImage]];

    // Add the image to the view
    [self addImage:path];
}

-(NSString*) processImage:(UIImage*)image {

    // Get a file path
    NSArray* paths = NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES);
    NSString* documentsDirectory = [paths objectAtIndex:0];
    NSString* filename = [self makeImageFilename]; // implementation omitted
    NSString* imagePath = [documentsDirectory stringByAppendingPathComponent:filename];

    // Get the image data …
Run Code Online (Sandbox Code Playgroud)

memory-management uiimagepickercontroller uiimage ios automatic-ref-counting

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

在Stylus/Sass中编写多个主题的设计模式?

我正在为一个网站编写一个样式表,我需要支持多个皮肤/主题.例如,一个主题可能是黑白色,红色作为主要颜色,另一个主题可能是白色黑色,以栗色为主要颜色.

几乎所有来自一个主题的CSS都转换为另一个主题,除了前景和背景颜色之类的东西.

作为一个说明性的例子,假设我们有一个div.该div的大小和位置在主题之间是固定的,但颜色可能会改变.我们可以将它分成三个不同的CSS文件,如下所示:

/* main.css */
#box {
    position: absolute;
    top: 50px;
    left: 50px;
    width: 200px;
    height: 200px;
}

/* theme1.css */
#box {
    backround-color: red;
}

/* theme2.css */
#box {
    background-color: maroon
}
Run Code Online (Sandbox Code Playgroud)

然后最终用户将加载main.css加上一个主题样式表.另一种设计是在body元素上放置一个类,并使用选择器在一个CSS文件中应用正确的颜色.例如,

#box {
    position: absolute;
    top: 50px;
    left: 50px;
    width: 200px;
    height: 200px;
}

body.theme1 #box {
    backround-color: red;
}

body.theme2 #box {
    background-color: maroon
}
Run Code Online (Sandbox Code Playgroud)

第二种选择的优点是HTTP请求更少.第一个选项的优点是用户需要从服务器加载较少的数据.当有许多不同的主题时,这一点尤为重要,并且(在我的用例中)内联背景图像会显着增加CSS文件的权重.

所以我的问题是,如何利用像SASS或Stylus这样的CSS预处理器来创建多个CSS主题文件?

我想象这样的事情:

@theme(theme1) {
    $primaryColor: red;
}
@theme(theme2) {
    $primaryColor: maroon;
}

#box {
    position: …
Run Code Online (Sandbox Code Playgroud)

themes design-patterns stylus sass

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