小编unl*_*udo的帖子

使用 Hazelcast 通过队列进行请求-回复

我想知道我是否可以这样做:

  • 1 个 hazelcast 实例/成员(中心点)
  • 1 个带有 hazelcast-client 通过队列发送请求的应用程序
  • 1 个带有 hazelcast-client 的应用程序等待队列中的请求

第一个应用程序还接收第二个应用程序发布的另一个队列上的响应。

这是一个继续的好方法吗?或者您想到更好的解决方案吗?

谢谢!

java hazelcast

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

AngularJs:在单元测试指令时触发事件以模拟用户操作

我已经看到,为了模拟由指令生成的DOM上的用户操作,有两种方法,都可以触发事件:

如何在AngularJS中的指令测试中触发ng-change

第一种方法使用jquery,第二种方法使用angular-scenario.js中定义的名为browserTrigger的函数.第二个应该是更好的,因为jquery会有一个关于事件触发的错误(我相信,我不是在争论:)).

使用角度场景意味着对我进行e2e测试.但我看过egghead视频 ,他似乎在进行单元测试.这怎么可能 ?

我猜他只是复制了这个功能?

我想我将测试指令作为e2e测试,它更有意义,因为单元测试是更纯粹的功能.


好吧,我刚发现browserTrigger是内部不应该直接使用的东西:https://github.com/angular/angular.js/issues/5178


谢谢!

unit-testing angularjs angularjs-directive

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

使用自定义转换器的两种方式数据绑定

我想将数据绑定与视图模型一起使用,如此处所述

所以这里是摘录:

布局:

    <data class="FragmentEditPersonDataBinding">
    <import type="com.unludo.interview.persons.edit.Converter"/>

    <variable
        name="viewmodel"
        type="com.unludo.interview.persons.edit.PersonEditViewModel" />
   [...]
                 <EditText
                android:id="@+id/editBirthday"
                android:inputType="date"
                android:text="@={Converter.dateToString(viewmodel.birthday)}"
Run Code Online (Sandbox Code Playgroud)

转换器:

object Converter {
    @InverseMethod("stringToDate")
    @JvmStatic
    fun dateToString(
            view: EditText, oldValue: String,
            value: Date
    ): String {
        val sdf = SimpleDateFormat("dd/MM/yyyy", Locale.FRANCE)

        return sdf.format(value)
    }

    @JvmStatic   
    fun stringToDate(
            view: EditText, oldValue: String,
            value: String
    ): Date {
        val sdf = SimpleDateFormat("dd/MM/yyyy", Locale.FRANCE)

        return sdf.parse(value)
    }
}
Run Code Online (Sandbox Code Playgroud)

视图模型:

class PersonEditViewModel {
    var birthday: Date = GregorianCalendar(1993, 5, 19).time
    ...
Run Code Online (Sandbox Code Playgroud)

现在我在构建时收到此错误:

e: [kapt] An exception …
Run Code Online (Sandbox Code Playgroud)

android android-databinding android-viewmodel android-architecture-components

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

正确的方法来测试文件夹的可读性/可写性

我编写了一个函数来测试文件夹的可读性/可写性.

对于单元测试,我需要生成不同的情况:

  • 包含可读写文件的文件夹
  • 包含可读文件的文件夹(不可写)
  • 文件夹不可写且不可读.

这是我来到的功能的代码,到目前为止:

void FileUtils::checkPath(std::string path, bool &readable, bool &writable)
{
   namespace bf = boost::filesystem;
   std::string filePath = path + "/test.txt";

   // remove a possibly existing test file
   remove(filePath.c_str());

   // check that the path exists
   if(!bf::is_directory(path))
   {
      readable = writable = false;
      return;
   }

   // try to write in the location
   std::ofstream outfile (filePath.c_str());
   outfile << "I can write!" << std::endl;
   outfile.close();

   if(!outfile.fail() && !outfile.bad())
   {
      writable = true;
   }

   // look for a file to read …
Run Code Online (Sandbox Code Playgroud)

c++ linux unit-testing

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

指令:$ observe,类属性更改只捕获一次

我有一个指令更改div的样式,并希望每次元素的类更改时通过$ observe通知.问题是它发生在指令创建但不是之后.这是代码和小提琴

<div ng-app="testObserve">
    <div ng-controller="Ctrl2"> 
        <span class="rouge" ng-click="toggleClass()" my-test>Coucou</span>
    </div>
</div>

angular.module('testObserve', [])
    .controller('Ctrl2', function ($scope) {})
    .directive('myTest', function () {

    function link(scope, element, attrs) {

        scope.toggleClass = function () {
            if (element.hasClass('rouge')) {
                element.removeClass('rouge');
            } else {
                element.addClass('rouge');
            }
            console.log( 'I become ' + element[0].outerHTML );
        };

        attrs.$observe('class', function (val) {
            console.log('class has changed' + val);
            debugger;
        });
    }

    return {
        link: link
    };
});
Run Code Online (Sandbox Code Playgroud)

这是正常的行为吗?


好的我发现,它必须是ng-class而不是html和js代码中的类(它在文档中).

固定的js在这里.

所以我改变了一个问题:如果另一个js改变了类,而不是ng-class,我怎么能观察到呢?


要回答@ koolunix的问题(并且是unix是kool :))关于js是否在角度范围内,实际上我想使用角度bootsrap下拉并在下拉打开或关闭时触发某些内容.

奇怪的是,虽然它是一个角度模块,但它使用的是类而不是ng-class.所以我没有找到从外部捕获信息的方法,因为它只是看起来像'开放'类的外观.

我认为提交的答案有效,但我仍然需要尝试.

作为一个解决方法我复制了ui-bootstrap指令并添加了我需要的内容. …

javascript angularjs angularjs-directive

3
推荐指数
1
解决办法
5453
查看次数

手动构造函数链接与dojo:参数问题

我正在尝试创建一个继承一个类的类.

在这个类中,我想创建2个对象,这些对象将被传递给父类的构造函数.

要做到这一点,我必须使用手动构造函数链接并调用'inherited'(请参阅http://dojotoolkit.org/reference-guide/1.7/dojo/declare.html#manual-constructor-chaining)

我的问题是我无法正确地将参数传递给继承的方法.当我使用followind代码时:

   define([ "dojo/_base/declare", "dojo/store/JsonRest", "dojo/store/Memory", "dojo/store/Cache", "dojo/store/Observable"],

   function(declare, JsonRest, Memory, Cache, Observable)
   {
      var userStore;
      return declare("app.UserStore", [Cache],
         {
            "-chains-":
            {
               constructor: "manual"
            },
            constructor: function()
            {
               this.masterStore = new JsonRest({
                  target: "/User/json",
                  idProperty: "name"
               });

               this.cacheStore = new Memory({ idProperty: "name" });

               this.inherited([this.masterStore, this.cacheStore]);
            }
         });
   });
Run Code Online (Sandbox Code Playgroud)

我在declare.js中得到了一个未定义的arg.callee.

当我将'arguments'作为参数传递给inherited时,定义了callee.是否可以动态地向arguments对象添加更多参数?

如果不是,我怎么能在这个构造函数中用动态创建的对象调用父类?

谢谢!

dojo inheritance constructor

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

什么是后继价值模式

我正在阅读scala in action(manning edition),并且有一个关于此模式的章节,其中包含一个代码示例:

class PureSquare(val side: Int) {
def newSide(s: Int): PureSquare = new PureSquare(s)
def area = side * side
}
Run Code Online (Sandbox Code Playgroud)

这本书有一个链接应该解释模式.不幸的是,链接被破坏了,我找不到它.

有人能够解释这种模式以及这段代码应该如何工作?

因为在调用区域函数时我没有看到如何调用newSide.

谢谢

design-patterns scala

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