小编dus*_*ltz的帖子

Liquibase插入到BIT列,MySQL,数据太长了列

在Liquibase中,我定义了一个包含BIT类型列的表(1)

<changeSet author="foobar" id="create-configuration-table">
    <createTable tableName="configuration">
        <column autoIncrement="true" name="id" type="BIGINT(19)">
            <constraints primaryKey="true" />
        </column>
        <column name="active" type="BIT(1)" />
        <column name="version" type="INT(10)" />
    </createTable>
</changeSet>
Run Code Online (Sandbox Code Playgroud)

在随后的变更集中,我想在此表中插入数据,但是,当将数据插入BIT(1)类型的"活动"列时,MySQL会抱怨"数据截断:数据对于列来说太长了"

我试过了:

<insert>
   <column name="active" value="1" type="BIT(1)" />
</insert>
Run Code Online (Sandbox Code Playgroud)

<insert>
   <column name="active" value="1"/>
</insert>
Run Code Online (Sandbox Code Playgroud)

<insert>
   <column name="active" value="TRUE" type="BOOLEAN"/>
</insert>
Run Code Online (Sandbox Code Playgroud)

插入BIT(1)列的正确方法是什么?

java liquibase

20
推荐指数
2
解决办法
9336
查看次数

在IntelliJ/WebStorm中自动格式化ES6解构分配

我正在使用airbnb eslint规则来提取我的ES6代码.其中一条规则就是力量object-curly-spacing.

使用函数中的解构赋值的规则示例如下:

坏:

function({a, b}) {

}
Run Code Online (Sandbox Code Playgroud)

好的:

function({ a, b }) {

}
Run Code Online (Sandbox Code Playgroud)

我非常希望Intellij/WebStorm在重新格式化代码时自动插入这些空格,但是,没有任何Codestyle设置似乎会影响解构.我能找到的最接近的codestyle设置Object Literal Braces但它没有效果.

羞于关闭这个规则,是否有任何额外的设置,插件等会在解构分配前后自动插入空格?

javascript intellij-idea webstorm ecmascript-6

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

karma.conf.js自动文件排序?

我有一个按功能排序的大型angularjs项目.我想设置单元测试,但是我无法获得karma.conf.js文件的排序设置.

我尝试指定一个简单的glob模式,如**/*.js,但是我的许多模块都因为在运行时包含在Karma中的顺序而无法加载.据我所知,这是按字母顺序排列的第一场比赛.

我能够通过这样做来手动计算排序来解决这个问题:

// list of files / patterns to load in the browser
files: [
  // External scripts
  'bower_components/angular/angular.js',
  'bower_components/angular-mocks/angular-mocks.js',
  'bower_components/angular-cookies/angular-cookies.js',
  'bower_components/angular-resource/angular-resource.js',
  'bower_components/angular-route/angular-route.js',

  // NOTE: ORDER IS IMPORTANT
  // Modules: load module first, then all controllers, services, etc
  'scripts/module1/module1.js',
  'scripts/module1/**/*.js',
  'scripts/module2/module2.js',
  'scripts/module2/**/*.js',

  // Load overall app module last
  'scripts/app.js',

  // Load mocks and tests
  'test/mock/**/*.js',
  'test/spec/**/*.js'
],
Run Code Online (Sandbox Code Playgroud)

随着时间的推移,随着新模块的添加,这似乎很麻烦.有没有办法自动解决订购?

注意:我想到的一个可能的解决方案是将所有文件连在一起,但我搜索了一下是否其他人正在这样做并且没有找到任何示例.

jasmine phantomjs angularjs karma-runner karma-jasmine

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

如何使用spark和elasticsearch-hadoop从/向不同的ElasticSearch集群读写?

原标题:除了HDFS之外,还有什么其他DFS能够引发支持(并且被推荐)?

我很高兴地使用spark和elasticsearch(带有elasticsearch-hadoop驱动程序)和几个巨大的集群.

我不时会将整个数据集拉出来,处理每个文档,并将所有数据放入不同的Elasticsearch(ES)集群中(是的,数据迁移也是如此).

目前,无法将集群中的ES数据读入RDD,并使用spark + elasticsearch-hadoop将SparkContextRDD 写入不同的RDD ,因为这将涉及从RDD 交换.所以我想将RDD写入目标文件,然后再将它们读回到具有不同SparkContexts 的RDD中.

但是,问题出现了:我需要一个DFS(分布式文件系统)来共享整个spark集群中的大文件.最流行的解决方案是HDFS,但我会非常避免将Hadoop引入我的堆栈.是否还有其他推荐的DFS可以支持火花?

在下面更新

感谢@Daniel Darabos在下面的回答,我现在可以使用以下Scala代码从/向不同的ElasticSearch集群读取和写入数据:

val conf = new SparkConf().setAppName("Spark Migrating ES Data")
conf.set("es.nodes", "from.escluster.com")

val sc = new SparkContext(conf)

val allDataRDD = sc.esRDD("some/lovelydata")

val cfg = Map("es.nodes" -> "to.escluster.com")
allDataRDD.saveToEsWithMeta("clone/lovelydata", cfg)
Run Code Online (Sandbox Code Playgroud)

microsoft-distributed-file-system hdfs elasticsearch apache-spark elasticsearch-hadoop

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

Spring JDBC:如何创建表?

我使用Spring JdbcTemplate和DAO模式来访问数据库.我没有手动创建数据库表,而是在寻找一种在DAO层生成表的方法.我知道我可以使用JdbcTemplate执行语句,我只是在寻找合适的地方.

有最好的做法吗?

java spring dao jdbc

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

Spring Boot RandomValuePropertySource嵌套属性

是否有可能以某种方式"存储"由其生成的随机值${random.value}并将其作为嵌套值引用到其他属性中?我似乎无法想象如何使这项工作.

以下是该方案的示例.但是,我希望以下测试能够通过,foobar始终解析为不同的随机值.

import static org.hamcrest.CoreMatchers.is;
import static org.junit.Assert.assertThat;

import org.junit.Test;
import org.junit.runner.RunWith;
import org.springframework.beans.factory.annotation.Value;
import org.springframework.boot.autoconfigure.EnableAutoConfiguration;
import org.springframework.boot.test.SpringApplicationConfiguration;
import org.springframework.context.annotation.Configuration;
import org.springframework.test.context.TestPropertySource;
import org.springframework.test.context.junit4.SpringJUnit4ClassRunner;

/**
 * Created by dustin.schultz on 12/14/15.
 */

@SpringApplicationConfiguration(classes = FooBar.TestApplication.class)
@RunWith(SpringJUnit4ClassRunner.class)
@TestPropertySource(properties = { "foo=${random.value}", "bar=${foo}" })
public class FooBar
{
    @Value("${foo}")
    private String foo;

    @Value("${bar}")
    private String bar;

    @Test
    public void foo()
    {
        assertThat(foo, is(bar));
    }

    @Configuration
    @EnableAutoConfiguration
    public static class TestApplication
    {

    }
}
Run Code Online (Sandbox Code Playgroud)

java spring spring-boot

5
推荐指数
0
解决办法
739
查看次数

如果取消了SwingWorker任务,我怎么知道中断方法何时完成

如果SwingWorker任务被取消,我如何知道中断方法何时完成.

我简化了代码.FixSongsController.start()在后台运行.完成后,将创建一个报告,完成后,将使用该done()方法显示报告.

有一个进度对话框运行,如果用户选择取消(同时FixSongsController.start()运行),这则调用cancel(true)SwingWorker导致被发送到一个中断FixSongsController.start().麻烦的是,一旦它被发送,它就会调用createReport().

我不想在FixSongsController.start()实际完成之前开始创建报告.我看不出如何确定何时发生.

如果我createReport从修复歌曲中删除代码FixSongsDialogisCancelled()检查问题更糟,因为然后FixSongsDialog尝试在创建之前显示报告.

我以为我可以使用SwingWorker.getState()但是一旦cancelTask被调用的doInBackground()任务被中断并且即使FixSongsController方法仍在整理之后不久就完成.

然后我想我可以在其块SwingWorker.setProgress()中的FixSongsController.start()方法中使用finally并添加一个只showReport在进度值发生变化但是setProgress受到保护时才会调用的侦听器,因此我无法在FixSongs类本身之外访问它.

SwingWorker

public class FixSongs extends SwingWorker<String, Object>
    {
        @Override
        public String doInBackground() throws Exception
        {
            try
            {
                new FixSongsController().start();
                if (!isCancelled())
                {
                    new FixSongsReportCreator().createReport();
                }
                return ""; …
Run Code Online (Sandbox Code Playgroud)

java swingworker

5
推荐指数
0
解决办法
199
查看次数

docker-compose 使用列表、映射或数组值进行变量替换/插值

如何对docker-compose.yml文件中的列表、映射或数组值使用变量替换。

例如:

graylog:
  image: graylog2/server2
  extra_hosts: ${EXTRA_HOSTS}
Run Code Online (Sandbox Code Playgroud)

export EXTRA_HOSTS="['host1:10.10.10.1','host2:10.10.10.2']"
Run Code Online (Sandbox Code Playgroud)

给出以下错误:graylog.extra_hosts must be a mapping

我尝试过上述的不同变体,但没有成功。

我确实看到这里有一个关于此的未决问题:https ://github.com/docker/compose/issues/4249

难道这就是不可能吗?有谁知道解决方法?

docker docker-compose

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