小编Lan*_*opp的帖子

ActiveRecord查询联盟

我用Ruby on Rail的查询接口写了几个复杂的查询(至少对我来说):

watched_news_posts = Post.joins(:news => :watched).where(:watched => {:user_id => id})
watched_topic_posts = Post.joins(:post_topic_relationships => {:topic => :watched}).where(:watched => {:user_id => id})
Run Code Online (Sandbox Code Playgroud)

这两个查询都可以自行完成.两者都返回Post对象.我想将这些帖子合并到一个ActiveRelation中.由于某些时候可能有数十万个帖子,因此需要在数据库级别完成.如果是MySQL查询,我可以简单地使用UNION运算符.有没有人知道我是否可以用RoR的查询界面做类似的事情?

union activerecord ruby-on-rails active-relation

82
推荐指数
7
解决办法
6万
查看次数

混合Objective-C和C++

我正在尝试将Objective-C与C++混合使用.当我编译代码时,我得到了几个错误.

#import <Cocoa/Cocoa.h>
#include "B.h"

@interface A : NSView {
    B *b;
}

-(void) setB: (B *) theB;

@end
Run Code Online (Sandbox Code Playgroud)

上午

#import "A.h"

@implementation A

- (id)initWithFrame:(NSRect)frame {
    self = [super initWithFrame:frame];
    if (self) {
        // Initialization code here.
    }
    return self;
}

- (void)drawRect:(NSRect)dirtyRect {
    // Drawing code here.
}

-(void) setB: (B *) theB {
    b = theB;
}

@end
Run Code Online (Sandbox Code Playgroud)

BH

#include <iostream>

class B {

    B() {
        std::cout << "Hello from C++";
    }

};
Run Code Online (Sandbox Code Playgroud)

以下是错误:

/Users/helixed/Desktop/Example/B.h:1:0 /Users/helixed/Desktop/Example/B.h:1:20: …
Run Code Online (Sandbox Code Playgroud)

c++ objective-c objective-c++

44
推荐指数
2
解决办法
4万
查看次数

Javadoc {@inheritDoc}标记类

我想使用{@inheritDoc}该类从我的抽象类继承方法.在抽象类的文档中,我按名称引用了抽象类.我如何标记这个,所以当子类从超类继承文档时,它用子类的名称替换抽象类的名称?

java javadoc inheritdoc

42
推荐指数
2
解决办法
7万
查看次数

使用zxing进行QR码编码和解码

好的,所以我要抓住这里有人曾经使用过zxing的机会.我正在开发一个Java应用程序,它需要做的一件事就是将一个字节数据数组编码为QR代码,然后再对其进行解码.

这是我的编码器的示例:

byte[] b = {0x48, 0x45, 0x4C, 0x4C, 0x4F};
//convert the byte array into a UTF-8 string
String data;
try {
    data = new String(b, "UTF8");
}
catch (UnsupportedEncodingException e) {
 //the program shouldn't be able to get here
 return;
}

//get a byte matrix for the data
ByteMatrix matrix;
com.google.zxing.Writer writer = new QRCodeWriter();
try {
 matrix = writer.encode(data, com.google.zxing.BarcodeFormat.QR_CODE, width, height);
}
catch (com.google.zxing.WriterException e) {
 //exit the method
 return;
}

//generate an image from the byte …
Run Code Online (Sandbox Code Playgroud)

java qr-code barcode zxing

35
推荐指数
3
解决办法
10万
查看次数

如何使用Jasmine节点加载文件进行测试?

我有一个简单的JavaScript文件,color.js和匹配的spec文件colorSpec.js.

color.js:

function Color() 
{

}
Run Code Online (Sandbox Code Playgroud)

colorSpec.js:

require('./color.js');

describe("color", function() {
  it("should work", function() {
    new Color(255, 255, 255);
  });
});
Run Code Online (Sandbox Code Playgroud)

当我运行时jasmine-node colorSpec.js,我得到以下异常:

ReferenceError: Color is not defined
Run Code Online (Sandbox Code Playgroud)

如何color.js在运行之前让Jasmine加载我的文件colorSpec.js

javascript bdd jasmine

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

使用XBox 360 Kinect和Kinect for Windows SDK

我正在开发一个使用Kinect的课程项目.根据[Microsoft Kinect for Windows Information Page] [1]:

如果您收到这些错误消息中的任何一个,您可能正在使用Kinect for Xbox 360而不是新的Kinect for Windows.确保您的Kinect传感器是Kinect for Windows传感器.(这很简单:只要确保它说不在前面说"Xbox 360".)

如果您是软件开发人员,可以将Kinect for Xbox 360与计算机一起使用来测试您正在使用的软件.但是,要获得完整的Kinect for Windows体验,我们建议您下载Kinect for Windows SDK并将其与Kinect for Windows一起使用.

注意确保您的Kinect传感器是Kinect for Windows传感器.如果它在前面说"Xbox 360",那就是Xbox 360的Kinect,而不是适用于Windows的Kinect.

尽管这条消息含糊不清,但似乎我应该可以使用XBox 360 Kinect进行开发.SDK仅限制部署,这对我的项目来说非常好.

但是,当我运行以下代码时:

Console.WriteLine("Sensor count: " + KinectSensor.KinectSensors.Count);
Console.WriteLine("Sensor status: " + KinectSensor.KinectSensors[0].Status);
Run Code Online (Sandbox Code Playgroud)

我得到输出:

Sensor count: 1
Sensor status: NotReady
Run Code Online (Sandbox Code Playgroud)

是什么赋予了?我的Kinect已连接到我的电脑.前面的绿灯闪烁.任何帮助在这里将不胜感激.

c# windows kinect

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

Grunt编译Jade文件

我正在尝试配置我的Gruntfile以将我的所有Jade文件编译为单独的HTML文件.例如,如果我有以下源文件夹:

source
??? templates
    ??? first.jade
    ??? second.jade
    ??? third.jade
Run Code Online (Sandbox Code Playgroud)

然后我希望grunt jade输出:

build
??? templates
    ??? first.html
    ??? second.html
    ??? third.html
Run Code Online (Sandbox Code Playgroud)

这是我的Gruntfile使用grunt-contrib-jade:

module.exports = function(grunt) {
    grunt.initConfig({

        jade: {
            compile: {
                options: {
                    client: false,
                    pretty: true
                },
                files: [ {
                  src: "*.jade",
                  dest: "build/templates/",
                  ext: "html",
                  cwd: "source/templates/"
                } ]
            }
        },
    });

    grunt.loadNpmTasks("grunt-contrib-jade");
};
Run Code Online (Sandbox Code Playgroud)

但是,当我运行jade命令时,我收到以下错误:

Running "jade:compile" (jade) task
>> Source file "first.jade" not found.
>> Source file "second.jade" not found.
>> Source file …
Run Code Online (Sandbox Code Playgroud)

javascript node.js gruntjs

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

如何将整数转换为Java中的字节?

我知道Java不允许无符号类型,所以我想知道它如何将整数转换为一个字节.假设我有一个值为255的整数a,我将整数转换为一个字节.值是否以字节11111111表示?换句话说,值是否更多地被视为带符号的8位整数,还是直接复制整数的最后8位?

java int byte casting

19
推荐指数
2
解决办法
3万
查看次数

W3C Geolocation API无法在Chrome中运行

以下代码适用于Firefox,但不适用于Google Chrome:

<!DOCTYPE html>
<html>
    <head>
        <title>title</title>
        <script type="text/javascript">
            var successCallback = function(data) {
                console.log('latitude: ' + data.coords.latitude + ' longitude: ' + data.coords.longitude);
            };

            var failureCallback = function() {
                console.log('location failure :(');
            };

            var logLocation = function() {

                //determine if the handset has client side geo location capabilities
                if(navigator.geolocation){
                   navigator.geolocation.getCurrentPosition(successCallback, failureCallback);
                }
                else{
                   alert("Functionality not available");
                }
            };

            logLocation();
            setTimeout(logLocation, 5000);
        </script>
    </head>
    <body>
        <p>Testing</p>
    <body>
</html>
Run Code Online (Sandbox Code Playgroud)

这是怎么回事?我认为谷歌Chrome应该支持W3C Geolocation API.

javascript firefox google-chrome geolocation

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

应该使用class_name和foreign_key来使用belongs_to

我知道你可以使用Shoulda轻松测试属于的关系:

describe Dog dog
  it { should belong_to(:owner) }
end
Run Code Online (Sandbox Code Playgroud)

是否可以使用Shoulda测试更复杂的belongs_to关系?像这样的东西:

class Dog < ActiveRecord::Base
  belongs_to :owner, :class_name => "Person", :foreign_key => "person_id"
end
Run Code Online (Sandbox Code Playgroud)

rspec ruby-on-rails shoulda

18
推荐指数
2
解决办法
6632
查看次数