小编Vit*_*lii的帖子

如何测试 SimpleJdbcCall

我需要为此代码创建测试。

@Autowired
JdbcTemplate jdbcTemplate;

public List<Row> getData(int id) {
    // Preconditions here

    SimpleJdbcCall getCall = new SimpleJdbcCall(jdbcTemplate)
            .withSchemaName(SCHEMA)
            .withProcedureName(SP)
            .declareParameters( 
                // ...
            )
            .returningResultSet("result", (RowMapper<QuestionAnswerRow>) (rs, rowNum) -> .....);

    MapSqlParameterSource params = new MapSqlParameterSource();
    params.addValue("id", id);
    // other parameters here

    Map queryRes = getCall.execute(params);
    List<row> res = (List<row>) queryRes.get("result");
    return res;
}
Run Code Online (Sandbox Code Playgroud)

你能告诉我如何getCall.execute(params)用 Mockito模拟这里的响应吗?

mocking jdbctemplate mockito

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

可以从应用程序外部访问 firebase 数据库吗

我需要在我的 Android 应用程序中实现在一段时间内尝试完整版本的可能性。为此,我需要将试用期的结束日期保存在某处。

我想使用 firebase 来保存一些设备 ID 和试用期的结束日期。

您能告诉我,是否可以在移动应用程序之外访问 firebase 数据库?例如,我可以使用邮递员发送 http 请求来更新试用结束日期吗?

我的应用程序没有任何用户身份验证。

android firebase firebase-realtime-database

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

在firebase中存储敏感信息是个好主意吗?

在我的 Android 应用程序中,我有一个想法在数据库中存储一些序列密钥。如果用户输入正确的密钥,他将获得完整版本的应用程序,并且该密钥在服务器上被禁用以避免多次使用同一密钥,否则他可以在没有密钥的情况下在 Google Play 购买应用程序。

为此,我想使用 Firebase 数据库,但在阅读本文后我有一些疑问

Firebase 实时数据库

使用我们的 NoSQL 云数据库存储和同步数据。数据在所有客户端之间实时同步,并在您的应用离线时保持可用。

这是否意味着 firebase 会将带有所有可用密钥的表复制给所有应用程序用户,并且一些聪明的用户可以在他的手机上从这个副本中读取列表?

firebase firebase-realtime-database

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

使用工厂方法Set.of()和Map.of()创建的集合和地图的时间复杂度是多少?

在Java中,当我创建一个setwith Set.of()mapwith with Map.of()时,containsand get操作的时间复杂度是多少?是O(1)吗?

java collections java-9

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

Selenium + XPath:“后续兄弟”只能用于下一个元素吗?

有一个简化的html表

<table>
    .....
    <tr/>
    <tr class="base"/>
    <tr class="check"/>
    <tr/>
    <tr class="base2"/>
    <tr class="check"/>
    .....
</table>
Run Code Online (Sandbox Code Playgroud)

对于硒,我有一个早期发现的具有“ base”类的元素。

var row = table.FindElement(By.ClassName("base"));
Run Code Online (Sandbox Code Playgroud)

我需要使用“检查”类获得下一行,但前提是该行存在(否则为例外)。

var nextRow = row.FindElement(By.XPath("following-sibling::tr[@class='check'][1]")
Run Code Online (Sandbox Code Playgroud)

问题是,如果我的班级缺席,则此xpath在班级为'base2'的行之后为我提供了'check'类的行。

是否可以通过“跟随同级”来验证下一个元素,但不是全部?

selenium xpath selector

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

在Go中`append()...`做什么

我有这个Go代码

kithttp.NewServer(
    endpoints.AuthorizeUserEndpoint,
    decodeRequest,
    encodeResponse,
    append(options, httptransport.ServerBefore(opentracing.FromHTTPRequest(tracer, "calling HTTP POST /endpoint", logger)))...,
)
Run Code Online (Sandbox Code Playgroud)

你能解释一下我到底append()...做了什么吗...

go

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

在 Kotlin 中的枚举类的方法中访问枚举值

我有枚举类,里面声明了方法

enum class MyEnum {
    VAL1, VAL2, VAL3;

    fun myFunc(): Any{
         // Here I want to access selected value
         // VAL1 in my example
    }
}
Run Code Online (Sandbox Code Playgroud)

我可以这样调用这个方法

MyEnum.VAL1.myFunc()
Run Code Online (Sandbox Code Playgroud)

但是是否有可能在内部myFunc调用 value 方法?在我的例子中它是VAL1.

enums kotlin

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

在 Kotlin 中将 List&lt;String&gt; 转换为 List&lt;T&gt;

我需要创建一个分割字符串并转换值的通用方法

inline fun <reified T: Any> convertFromString(myString: String) : List<T>{
    val castedList = ArrayList<T>()
    for(item in  myString.split(";")){
        castedList.add(item as T)
    }
    return castedList
}
Run Code Online (Sandbox Code Playgroud)

我调用此方法convertFromString<Int>("1;2;3;4;5;6")并期望有输出,List<Int>但它在 cast 期间失败item as T

如何将所有值转换为 generic T

casting kotlin

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

为什么`synchronized(lock)`被不同的线程输入两次?

在这个简单的例子中,我有两个synchronized (theLock)由不同的线程访问

public class Main {

    public static void main(String[] args) throws InterruptedException {
        System.out.println("start");

        final Object theLock = new Object();

        synchronized (theLock) {
            System.out.println("main thread id : " + Thread.currentThread().getId());

            new Thread(() -> {
                System.out.println("new thread id : " + Thread.currentThread().getId() + ". Inside thread");

                // before entering this section new thread should be blocked as `theLock` is already acquired
                synchronized (theLock) {
                    System.out.println("inside synchronized");
                    theLock.notify();
                }
            }).start();

            theLock.wait();
        }

        System.out.println("end");
    }
}
Run Code Online (Sandbox Code Playgroud)

为什么新创建的线程可以访问synchronized (theLock)里面的部分?据我所知, …

java multithreading synchronized synchronized-block

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

我可以在 GridLayoutManager 中以百分比为单位设置列的宽度吗?

我有一个包含RecyclerView. 回收器中的每个项目都是一个简单的复选框。我需要把它画成三列。

为此,我使用 GridLayoutManager

layoutManager = GridLayoutManager(context, 3, GridLayoutManager.HORIZONTAL, false)
Run Code Online (Sandbox Code Playgroud)

我在结果中看到的是这个

在此处输入图片说明

不错。问题是我需要将每列的宽度设置为对话框宽度的 33%。我的复选框没有任何固定宽度(以像素为单位),因为文本可能会有所不同。这是用于回收站的布局。

<layout xmlns:android="http://schemas.android.com/apk/res/android">

    <data>
        <variable name="item" type="..." />
    </data>

    <CheckBox
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:checked="@={item.enabled}"
        android:text="@{item.name}"
        android:minWidth="40dp"/>

</layout>
Run Code Online (Sandbox Code Playgroud)

我的回收器创建的宽度等于父级

 <android.support.v7.widget.RecyclerView
        android:layout_width="match_parent"
        android:layout_height="wrap_content" />
Run Code Online (Sandbox Code Playgroud)

任何想法如何以百分比设置宽度?

android gridlayoutmanager

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

在 Google 表格中上下移动行的快捷方式

当我Edit在网络浏览器的 Google Sheet 菜单中选择一行时,有一个很好的功能Move line upMove line down.

当我需要将一行向上或向下移动 10 行时,问题就出现了:我需要多次打开菜单......

是否可以分配键盘快捷键?我会大大简化事情。

google-sheets google-apps-script

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

fmt.Sprint()返回不正确的结果

我需要在里面创建一个带有html链接的字符串.

fmt.Sprint("<a href=\"%s\">%s</a>", "/myUrl", "link text");
Run Code Online (Sandbox Code Playgroud)

预期的结果是

<a href="/myUrl">link text</a>
Run Code Online (Sandbox Code Playgroud)

但真正的结果是

<a href="%s">%s</a>/myUrllink text
Run Code Online (Sandbox Code Playgroud)

我究竟做错了什么?

顺便说一句,我在GoLand中有这个警告

在此输入图像描述

printf go

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