小编La-*_*eja的帖子

什么是数据库约束?

什么是数据库约束的明确定义?为什么约束对数据库很重要?有哪些类型的约束?

sql sql-server rdbms constraints

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

Netty + ProtoBuffer:一个连接的一些通信消息

在阅读Netty教程时,我发现了如何集成Netty和Google Protocol Buffers的简单描述.我已经开始研究它的例子(因为文档中没有更多的信息)并编写了一个简单的应用程序,如示例本地时间应用程序.但是这个例子是在PipeFactory类中使用静态初始化,例如:

import org.jboss.netty.channel.ChannelPipeline;
import org.jboss.netty.channel.ChannelPipelineFactory;
import org.jboss.netty.handler.codec.protobuf.ProtobufDecoder;
import org.jboss.netty.handler.codec.protobuf.ProtobufEncoder;
import org.jboss.netty.handler.codec.protobuf.ProtobufVarint32FrameDecoder;
import org.jboss.netty.handler.codec.protobuf.ProtobufVarint32LengthFieldPrepender;

import static org.jboss.netty.channel.Channels.pipeline;

/**
 * @author sergiizagriichuk
 */
class ProtoCommunicationClientPipeFactory implements ChannelPipelineFactory {

    public ChannelPipeline getPipeline() throws Exception {
        ChannelPipeline p = pipeline();
        p.addLast("frameDecoder", new ProtobufVarint32FrameDecoder());
        p.addLast("protobufDecoder", new ProtobufDecoder(Communication.DataMessage.getDefaultInstance()));

        p.addLast("frameEncoder", new ProtobufVarint32LengthFieldPrepender());
        p.addLast("protobufEncoder", new ProtobufEncoder());

        p.addLast("handler", new ProtoCommunicationClientHandler());
        return p;
    }

}
Run Code Online (Sandbox Code Playgroud)

(请看一下p.addLast("protobufDecoder", new ProtobufDecoder(Communication.DataMessage.getDefaultInstance()));),只有一个工厂可以创建(据我所知)ClientBootstrap,我的意思是bootstrap.setPipelineFactory()方法.所以,在这种情况下,我可以使用ONE 消息发送给服务器,并ONE消息从服务器接收,这是对我不好,我想不只是我:(我如何使用不同的信息,并从其只是一个连接?也许我可以创造一些protobufDecoder像这样的东西

p.addLast("protobufDecoder", new ProtobufDecoder(Communication.DataMessage.getDefaultInstance()));
p.addLast("protobufDecoder", …
Run Code Online (Sandbox Code Playgroud)

java static protocol-buffers netty

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

Git提交没有与我的GitHub帐户链接

我在尝试将我的提交链接到我的GitHub帐户时遇到问题.正如我的图片所示,GitHub正在报告提交的内容.user.nameuser.email的值是否正确,还有其他要检查的想法吗?

提前致谢

提交示例

command-line github eclipse-luna

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

Java同步HashMap中的size(),put(),remove(),get()是否为原子?

我将Java Map声明为

Map<String, String> map = Collections.synchronizedMap(new HashMap<String, String>());
Run Code Online (Sandbox Code Playgroud)

处理并发问题,并在地图上同步其上的所有操作.但是,我读到synchronizedMap在操作是原子的时候不需要同步.我检查了Java API,HashMap的文档似乎没有提到哪些是原子的,所以我不确定是哪些.

我正在同步以下对地图的调用:

map.size()

map.put()

map.remove()

map.get()
Run Code Online (Sandbox Code Playgroud)

但如果有些是原子的,那么似乎并不需要同步.哪个是原子的?

java multithreading synchronization atomic hashmap

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

RSpec 3:期望 object.do_something 不会引发特定类型的错误

我想测试一个特定的方法是否不会引发类 AError 的错误。它可以引发 BError、ArgumentError、几乎任何其他类型的错误,或者没有错误,只是不是 AError。是否有任何未弃用的(从 RSpec 3 开始)方法来做到这一点?

我试过

expect { object.do_something }.not_to raise_error(AError)
Run Code Online (Sandbox Code Playgroud)

但我明白了

ArgumentError:
   `expect { }.not_to raise_error(SpecificErrorClass)` is not valid,
    use `expect { }.not_to raise_error` (with no args) instead
Run Code Online (Sandbox Code Playgroud)

无参数方法的问题在于,当它应该传递除 AError 之外的任何内容时,测试将因任何类型的错误而失败。

该文档似乎没有帮助:https : //www.relishapp.com/rspec/rspec-expectations/docs/built-in-matchers/raise-error-matcher

老版本的RSpec好像有办法处理这种情况,不明白新版本的RSpec怎么了。

所以我很困惑。谢谢。

ruby rspec3

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

如何记住 Jenkins/Hudson 上次构建时使用的参数值

当我开始使用参数进行新构建时,我需要记住最后的参数值。

我有两个字符串参数:

${BRANCH}
${ServerSpecified}
Run Code Online (Sandbox Code Playgroud)

在第一次构建执行中,我需要这些空白值,但对于第二次执行,我需要第一次执行的值,在第三次执行中,我需要第二次执行的值,依此类推...

我需要安装插件吗?我尝试过将动态参数与 groovy 一起使用,但无法提取最后一个值。有谁知道如何做到这一点或有任何其他想法?

groovy hudson jenkins jenkins-plugins

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

RSpec 3:如何从我们尚未构建/添加的代码中存根方法和常量?

我们正在从我们构建的名为DBQuery的gem重构一个名为DataSourceIntegrations的Ruby应用程序.我正在将一些DBQuery代码迁移到DataSourceIntegrations中.我正在构建的部分取决于DBQuery,它将在单独的步骤中添加.

同时,我需要编写RSpec测试来验证是否正确调用了DBQuery代码,所有这些都没有DBQuery.

我有的是:

码-

宝石代码 -

module DBQuery
  class Query
    MAX = 1000

    def retrieve_users
      # Returns an array of user IDs
    end
  end
end
Run Code Online (Sandbox Code Playgroud)

申请代码 -

  module Integration
    def initialize
      @query = DBQuery::Query.new
    end   
  end

  module Integration
    class StackOverflowIntegration
      include Integration

      def query
        users = []
        while (users < DBQuery::Query::MAX) do
          # Creates a users buffer
          users.push @query.retrieve_users(users_buffer)
        end
      end
    end   
  end
Run Code Online (Sandbox Code Playgroud)

测试─

describe Integration::StackOverflowIntegration do
  let(:db_query) { double('DBQuery::Query') }

  before do
    stub_const('DBQuery::Query::MAX', 1000)
    allow(db_query).to receive(:new).and_return(db_query)
    allow(db_query).to receive(:retrieve_users).and_return([1000, 1001, …
Run Code Online (Sandbox Code Playgroud)

ruby rspec

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

为什么标准的Java迭代器没有peek()?

是否有任何特殊原因基本的Java迭代器被编程为没有像peek()这样的函数,它会返回下一个元素而不推进迭代器?

java iterator

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

正则表达式可选项

如果我有这个正则表达式

print_first = print_first.replace(/ T(op Choice)?/gi, "<span class='top_choice'>&nbsp;Top Choice</span>");
Run Code Online (Sandbox Code Playgroud)

这不应该匹配这些字符串:T,To,Top,Top C,Top Ch,Top Cho,Top Choi,Top Choic,Top Choice?

什么是更好的方法呢?

html java regex

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

苗条:漂亮又丑陋

文章,其中介绍了在轨性能的角度差的模板引擎,我觉得slim prettyslim ugly条款.你能解释一下这个区别吗?

ruby-on-rails slim-lang

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