小编use*_*702的帖子

存储enum MongoDB

我正在为Mongo数据库中的每个用户存储排名(管理员,主持人,用户...)和成就等枚举的枚举.据我所知,Mongo没有枚举数据类型,这意味着我必须使用其他类型存储它.

我曾想过使用整数来存储它,我认为这些整数使用的空间比存储字符串的空间少,因为它可以很容易地表示为整数.我看到使用整数的另一个好处是,如果我想重命名成就或排名,我可以轻松地更改它,甚至无需触摸数据库.我看到使用字符串的好处是数据在使用之前需要较少的处理,并且更易于阅读,这有助于追踪错误.

有没有更好的方法在Mongo中存储枚举?是否有充分的理由使用整数或字符串?(试图远离一个更好的问题)

enums mongodb

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

数据访问层的设计模式

我有一个使用数据库(MongoDB)来存储信息的应用程序.在过去,我使用了一个充满静态方法的类来保存和检索数据,但我已经意识到这不是面向对象的,也不是未来的证据.

虽然我不太可能改变数据库,但我宁愿把一些东西与Mongo联系起来.我还希望能够使用从数据库刷新缓存对象的选项来缓存结果,但这不是必需的,可以在其他地方完成.

我已经查看了数据访问对象,但它们似乎没有很好地定义,我找不到任何好的实现示例(使用Java或类似的语言).我还有很多一个关闭案例,例如找到用于完成制表符的用户名,这些用户名似乎不太合适,并且会使DAO变大和膨胀.

是否有任何设计模式可以帮助获取和保存对象而不会过于特定于数据库?良好的实现示例将是有帮助的(最好是在Java中).

java dao design-patterns data-access-layer mongodb

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

小写枚举Gson

我需要使用Gson输出枚举值,由于客户端限制需要小写.

例如CLOSE_FILEclose_file.

有一个简单的方法吗?我已经看过制作一个实现的类,JsonSerializer但看起来我必须手动序列化整个类(这是非常复杂的)是这样的吗?

java json gson

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

模糊文字电子

我有一些问题,文本和图标字体在电子应用程序中看起来模糊.我在Chrome中测试了相同的HTML页面,文字和图标字体看起来更加清晰.

Chrome和电子

在缩放图像后,我可以看到Chrome正在使用子像素渲染,但Electron仅以灰度渲染.我尝试过使用-webkit-font-smoothing: subpixel-antialiased;但它似乎没有改变任何东西.

子像素渲染

Chrome浏览器版本:53.0.2785.116
电子版(process.versions.electron):1.4.1
Electron Chrome版本(process.versions.chrome):53.0.2785.113

是什么导致这种情况,我该如何解决?

text-rendering electron

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

以相等的高度并排显示图像

我想使用 CSS 来显示两个相邻的图像,但有一些限制:

  • 两个图像必须具有相同的高度。(相同身高的标准是多少?)
  • 两个图像的组合宽度必须等于容器的总宽度。(如果需要拉伸图像,如何分割图像的宽度?)
  • 必须保持两个图像的长宽比。

不幸的是,图像和容器的尺寸事先并不知道。以下是一些图像组合示例以及预期输出:

例子

html css

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

多线程SQL(Java)最有效的方法

首先,我知道这稍微宽泛且基于意见,但我只想简单回答多线程在Java中使用SQL查询的应用程序的最佳实践.

我正在制作一个程序,需要在主线程的每次迭代中同步MySQL数据库中的数据.我想多线程这个程序,以便长查询不会保持主线程并减慢它的'滴答'速率.

我不善于解释我用语言提出的解决方案,所以我制作了这张图片,希望能更好地解释它们. 在此输入图像描述

这些方式中的任何一种都是"正确"的做事方式吗?

我记得有些事情可能会一次发送多个查询,然后在最后等待结果,这是可能的,一次应该发送多少个查询?

是否应该为每个查询使用单独的线程,如果是这样,我怎么能更快地实现这一点,因为我理解创建线程的开销非常大.

感谢您阅读我可怕的措辞和非常长的问题,提前感谢任何帮助.

java mysql sql multithreading

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

Google Cloud文字转语音字时间戳

我正在通过Google Cloud的文本到语音API生成语音,我想在说出单词时突出显示它们。

是否可以获取口语或句子的时间戳记?

text-to-speech speech-synthesis google-text-to-speech

6
推荐指数
3
解决办法
123
查看次数

检查值是否存在,如果存在则返回 Jedis Redis

我正在使用 Jedis Redis 客户端,希望能够确定某个键是否存在,如果存在则获取该值。我目前正在使用 if 语句来检查键是否存在,如果不存在则返回 null。我假设这不是最好的方法,因为您需要多次访问数据库。有没有办法在获取值的同一步骤中检查键是否存在?

一些示例代码:

try {
    if (!jedis.exists(name)) {
        return null;
    }

    return jedis.hgetAll(name);
} catch (JedisConnectionException exception) {
    // Do stuff
} finally {
    // Clean up
}
Run Code Online (Sandbox Code Playgroud)

java redis jedis

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

检查连接Redis

我正在使用 Jedis 客户端在 Java 中使用 Redis。我正在创建一个 JedisPool 并且想知道连接是否成功,有没有办法在不获取对象的情况下做到这一点?

java redis jedis

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

带下划线的反斜杠 IntelliJ

我正在使用反斜杠作为我正在处理的序列化格式的转义字符。我把它作为一个常量,但 IntelliJ 给它下划线并用红色突出显示它。在悬停时,它不会给出任何错误消息或任何关于它为什么不喜欢它的信息。

在此处输入图片说明

这是什么原因,我该如何解决?

java intellij-idea backslash

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