小编Zak*_*aki的帖子

如何使用emberjs和国际化

我试图了解如何国际化使用emberjs开发的网络应用程序.

我发现ember-i18n包我认为是一个很好的解决方案,但我无法理解如何使用它.

javascript internationalization ember.js

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

分页查询/迭代器配方

我看到了很多这种模式.

在服务器上:

// Get a bounded number of results, along with a resume token to use 
// for the next call. Successive calls yield a "weakly consistent" view of 
// the underlying set that may or may not reflect concurrent updates.
public<T> String getObjects(
        int maxObjects, String resumeToken, List<T> objectsToReturn);
Run Code Online (Sandbox Code Playgroud)

在客户端:

// An iterator wrapping repeated calls to getObjects(bufferSize, ...)
public<T> Iterator<T> getIterator(int bufferSize);
Run Code Online (Sandbox Code Playgroud)

大多数地方都推出了这两种方法的自己版本,并且实现起来非常困难.有很多边缘案例错误.

这些查询是否有规范的配方或库?

(您可以对服务器端存储进行一些简化假设,例如T具有自然顺序).

java database pagination

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

无法到达显示http:// localhost:9000的声纳运行程序

成功安装声纳和声纳运行器后,我面临着这个问题。当我在项目/ sonar-runner中运行时,显示错误。有人可以帮忙吗?

错误:无法访问声纳服务器“ http:// localhost:9000”
信息:------------------------------------------------ ------------------------
INFO:执行失败
信息:------------------------------------------------ ------------------------
总时间:0.109s
最终内存:0M / 87M
信息:------------------------------------------------ ------------------------
错误:Sonar跑步者执行期间发生错误
org.sonar.runner.kevinsawicki.HttpRequest $ HttpRequestException:java.net.ConnectException:org.sonar.runner.kevinsawicki.HttpRequest.code(HttpRequest.java:1392)拒绝连接
在org.sonar.runner.kevinsawicki.HttpRequest.ok(HttpRequest.java:1417)
在org.sonar.runner.impl.ServerVersion.downloadVersion(ServerVersion.java:47)上的org.sonar.runner.impl.ServerConnection.downloadString(ServerConnection.java:93)
在org.sonar.runner.impl.ServerVersion.version(ServerVersion.java:38)
在org.sonar.runner.impl.ServerVersion.is37Compatible(ServerVersion.java:58)
在org.sonar.runner.impl.JarDownloader.checkVersionAndDownload(JarDownloader.java:36)在org.sonar.runner.impl.BatchLauncher $ 1.run(BatchLauncher.java:71)在java.security.AccessController.doPrivileged(本机方法) )在org.sonar.runner.impl.BatchLauncher.execute(BatchLauncher.java:50)在org.sonar.runner.api.EmbeddedRunner上的org.sonar.runner.impl.BatchLauncher.doExecute(BatchLauncher.java:69)处。 doExecute(EmbeddedRunner.java:102)
在org.sonar.runner.Main.execute(Main.java)的org.sonar.runner.Main.executeTask(Main.java:70)的org.sonar.runner.api.Runner.execute(Runner.java:100) :59)at org.sonar.runner.Main.main(Main.java:53)原因:java.net.ConnectException:连接被拒绝
在sun.reflect.NativeConstructorAccessorImpl.newInstance0(本机方法)处
在sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:57)在sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45)在java.lang.reflect.Constructor.newInstance(Constructor.java:534)在sun.net.net.www.protocol.http.HttpURLConnection $ 6.run(HttpURLConnection.java:1544)上的net.www.protocol.http.HttpURLConnection $ 6.run(HttpURLConnection.java:1548) java.net上sun.net.www.protocol.http.HttpURLConnection.getChainedException(HttpURLConnection.java:1542)上的本机方法).http.HttpURLConnection.getInputStream(HttpURLConnection.java:1193) org.sonar.runner.kevinsawicki.HttpRequest.code(HttpRequest.java:1390)上的HttpURLConnection.getResponseCode(HttpURLConnection.java:397)...还有15个

下面提到的声纳记录是:

    ->包装器开始作为守护程序
正在启动JVM ...
包装器(版本3.2.3)http://wrapper.tanukisoftware.org
  版权所有1999-2006 Tanuki Software,Inc.保留所有权利。

WrapperSimpleApp:无法找到类org.sonar.application.App:java.lang.UnsupportedClassVersionError:org / sonar / application / App:不支持的major.minor版本51.0

WrapperSimpleApp用法:
  java org.tanukisoftware.wrapper.WrapperSimpleApp {app_class} [app_arguments]

哪里:
  app_class:要运行的应用程序的标准类名称。
  app_arguments:通常会传递给
                  应用。

java sonar-runner sonarqube

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

Java 语义 - 有没有办法写得更好?

我正在构建一个 Spring 后端。我有一个控制器,它获取一个“搜索对象”——一个包含 10 个字段的对象,只应填充其中一个字段,因此编写了搜索函数(我没有编写但需要对其进行更改和重构)像这样:

if( param1 != null ) user = getUserByParam1(param1);
else if ( param2 != null ) user = getUserByParam2(param2);
.
.
.
else if(lastName != null || lastName != null) user = getUserByName(firstName, lastName);
else user = getUserById(id);

if(user == null) throw costumException;
return user;
Run Code Online (Sandbox Code Playgroud)

注意最后的 2 个特殊情况——其中一个检查 2 个参数的可用性,而不是一个,并将它们都发送到同一个函数(它可以处理一个字段中的 null,但不能同时处理两个字段),以及默认情况正在传递一个 ID(如果它不是 - 它if (user == null)在抛出异常之后由检查处理)。

有没有办法重构这段代码以使其更具可读性/好看?我可以使用任何设计模式或已知方法来做到这一点吗?或者它实际上是编写这种功能的最佳方式?

我想了很多,但找不到更好的方法。我有一个想法,以某种方式将填充的字段名称及其值发送到另一个函数,该函数将在字段名称上“切换大小写”并将值发送到适当的函数,但它并没有真正节省多少代码(因为我仍然需要手动迭代所有字段以找到已填充的字段)而且我不确定它是否更具可读性。

我对 Java 也很陌生,所以我不知道所有可用的 API 和接口,也许您可​​以向我寻求帮助。

java refactoring spring

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

术语"架构"的解释

我需要一个简单的英语解释"schema",如数据库模式和XML模式.

编辑:当有人说要创建数据库模式时,是否意味着为表中的字段创建约束?

xml database schema

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

索引文件和在文件夹中查找文件的最快方法?

我在 22 个文件夹中有 660000 个 xml 文件(具有唯一的文件名)。每个文件夹有 30000 个文件。我需要在 C# 应用程序中有效地按名称找到它们。我知道 Windows(?Vista+?) 中有一个 SearchIndexer 服务,我只是想知道我是否可以使用它,或者我必须自己索引文件?

或者,我想我可以创建一个数据库,文件名是另一列中的主键和路径。但是,我应该创建一个包含 660000 行的表还是 22 个包含 30000 行的表?为什么?

提前致谢。

c# xml directory file

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

为什么以相反的顺序调用构造函数?

在继承中为什么基类构造函数首先得到调用为什么不是派生的?

.net c# c#-4.0

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

使用JMS和logback进行分布式日志记录

我正在开发一个项目,将来自多台机器的日志数据合并到一个数据库中.

我必须记录方案:

  1. 通常记录异常和开发人员记录,例如dev将级别调整为调试.
  2. "审核"记录.需要在具有单独结构的单独DB中记录特殊方案.

我正在使用logback和JMS."Client"记录到JMS Queue,"Server"读取表单队列并写入DB.

我正在寻找一种区分两种类型日志的简单方法.我想要做的是创建另一个日志级别,例如"审计",然后我可以在"服务器"端检查并创建我们的特殊对象结构并写入我们的单独数据库.

但是这在logback中是不可能的.我考虑过标记,但这意味着开发人员必须明确应用标记.我的另一个选择是拥有两个独立的记录器,并让开发人员获取正确的记录器.这并不像我想的那么强烈.

我希望开发人员只需要log.debug进行调试,log.error进行错误,log.audit进行审计.

任何建议,任何人都必须解决类似的问题?

java logging jms logback

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

Spring rabbitmq 发送到交换与动态绑定

我尝试使用 TopicExchange 来屏蔽消息。

配置:

    <rabbit:connection-factory id="connectionFactory"  host="localhost" username="guest" password="guest"/>

<rabbit:template id="rabbitTemplate" connection-factory="connectionFactory"/>

<rabbit:queue name="sample.queue"/>

<rabbit:admin id="rabbitAdmin" connection-factory="connectionFactory" />

<bean id="rabbitListenerContainerFactory"
      class="org.springframework.amqp.rabbit.config.SimpleRabbitListenerContainerFactory">
    <property name="connectionFactory" ref="connectionFactory"/>
</bean>

<rabbit:annotation-driven container-factory="rabbitListenerContainerFactory"/>

<rabbit:listener-container connection-factory="connectionFactory" />
Run Code Online (Sandbox Code Playgroud)

成分:

@Component
public class JmsComponent {

    private final Logger log = LoggerFactory.getLogger(JmsComponent.class);

    private final TopicExchange exchange = new TopicExchange("sample.exchange");

    @Autowired
    private RabbitTemplate rabbitTemplate;

    @Autowired
    private Queue queue;

    private String received;

    public void send(String msg) {
        rabbitTemplate.convertAndSend("sample.queue", new SimpleMessage(msg));
    }

    public void bindToKey(String keyMask) {
        BindingBuilder.bind(queue).to(exchange).with(keyMask);
        rabbitTemplate.setExchange(exchange.getName());
    }


    public void sendByKey(String …
Run Code Online (Sandbox Code Playgroud)

java spring rabbitmq spring-rabbit rabbitmq-exchange

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

使用Java流,如何过滤集合,使结果包含所有元素,直到找到匹配项?

如果我有一个List包含对象

new MyObj("some"),
new MyObj("foo"),
new MyObj("bar"),
new MyObj("xyz");
Run Code Online (Sandbox Code Playgroud)

并希望在匹配某些条件使用Java 8流对其进行过滤,例如

myObj.prop = "foo";
Run Code Online (Sandbox Code Playgroud)

如何实现?

以上示例的结果应为

new MyObj("some"),
new MyObj("foo")
Run Code Online (Sandbox Code Playgroud)

那将是“传统”的方式:

List<MyObj> results = new ArrayList<>();
for (MyObj myObj : myObjList) {
  if (!myObj.prop.equals("foo")) {
    results.add(myObj);
  } else {
    results.add(myObj);
    break;
  }
}
Run Code Online (Sandbox Code Playgroud)

它不是谓词限制流的重复,因为它不包含匹配的元素。但是,我应该能够适应takeWhile操作。

java java-8 java-stream

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