小编Mic*_*mlk的帖子

使用.Net c#从PDF中提取图像

我想从PDF中提取图像.试过很多解决方案,但仍未获得解决方案.帮助我....提前谢谢

.net c# pdf image extract

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

Java 8:如何从ZoneOffset派生ZoneId

我正在阅读课程的APIZoneId.它声明有三种ID:

  1. 派生自ZoneOffset
  2. 具有某种形式前缀的偏移式ID.例子:

    ZoneId.of("GMT+2");
    ZoneId.of("UTC");
    ZoneId.of("UT+01:00");
    
    Run Code Online (Sandbox Code Playgroud)
  3. 区域为主.例子:

    ZoneId.of("Asia/Aden");
    ZoneId.of("Etc/GMT+9");
    ZoneId.of("Asia/Aqtau");
    
    Run Code Online (Sandbox Code Playgroud)

但是第一种正确的语法是什么?文档说

[来自ZoneOffset的ID]由'Z'和以'+'或' - '开头的ID组成.

什么是String和ZoneOffset对象的组合我应该用来创建ZoneId第一种?

java date java-8

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

更改数据库模式和单元测试

     在我们开始之前,我知道很少有人认为测试数据库不是"单元测试".也许"集成测试"会是一个更好的名称.无论哪种方式,开发人员测试都会遇到数据库

     为了启用单元测试,我有一个开发人员本地数据库,我清除并在每次测试开始时使用dbUnit填充一组已知的数据.这一切都运行良好,直到测试使用的表以某种方式更改,我必须手动更新所有XML数据集.这是一种痛苦.我认为其他人必须遇到同样的问题,并希望找到一个很好的解决方案.因此,对于需要填充数据库的测试,您使用了什么以及如何处理表定义更改?(虽然我使用Java,但我对使用不同技术的解决方案持开放态度.)

编辑: 澄清一点.我有一个人为的测试,如:

void testLoadRevision() {
    database.clear(); // Clears every table dbUnit knows about.
    database.load("load/trevision.xml", "load/tissue.xml");
    SomeDatabaseThingie subject = new SomeDatabaseThingie(databaseProvider);
    Revision actual = subject.load();
    assert(actual, expected);
}
Run Code Online (Sandbox Code Playgroud)

在那里我有两个表 - tRevision和tIssue.加载的修订版使用来自tIssue的少量数据.后来tIssue获得了一个新的领域,修改不关心.由于新字段"not null"且没有合理的默认值,因此测试将失败,因为tIssue.xml将无效.

通过这样的小改动,编辑tIssue并不困难.但是当XML文件的数量随着每个流开始出现时,它就变成了大量的工作.

干杯,
    mlk

java dbunit unit-testing

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

使用Oracle.DataAccess.Client将EntLib 4.1升级到5

我正在将项目从EntLib 4.1升级到EntLib 5.我已经浏览了迁移指南,更改了所有引用并更新了所有配置文件以指向EntLib 5.一切正常,接受Oracle数据库访问.使用配置文件:

<configuration>
  <configSections>
    <section name="dataConfiguration" type="Microsoft.Practices.EnterpriseLibrary.Data.Configuration.DatabaseSettings, Microsoft.Practices.EnterpriseLibrary.Data, Version=5.0.414.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35" requirePermission="true" />
  </configSections>
  <dataConfiguration defaultDatabase="prod">
    <providerMappings>
      <add databaseType="Microsoft.Practices.EnterpriseLibrary.Data.Oracle.OracleDatabase, Microsoft.Practices.EnterpriseLibrary.Data"
        name="Oracle.DataAccess.Client" />
    </providerMappings>
  </dataConfiguration>
  <connectionStrings>
    <add name="prod" connectionString="Data Source=dev;User Id=dev;Password=dev;"
      providerName="Oracle.DataAccess.Client" />
  </connectionStrings>
</configuration>
Run Code Online (Sandbox Code Playgroud)

与4.1一起工作的所有调用都DatabaseFactory.CreateDatabase()失败了:

System.InvalidOperationException: The type Database cannot be constructed. You must configure the container to supply this value.
Run Code Online (Sandbox Code Playgroud)

如果我Oracle.DataAccess.Client用微软取而代之,System.Data.Oracleclient那一切都会再次起作用,但并不是ODP.net的可爱.有谁知道如何使用EntLib 5?

干杯,Mlk

.net enterprise-library odp.net

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

Seq.contains包含在Spark Dataframe中的SQL中

我有以下数据结构:

  • id: int
  • records: Seq[String]
  • other: boolean

在json文件中,为了便于测试:

var data = sc.makeRDD(Seq[String](
   "{\"id\":1, \"records\": [\"one\", \"two\", \"three\"], \"other\": true}", 
   "{\"id\": 2, \"records\": [\"two\"], \"other\": true}", 
   "{\"id\": 3, \"records\": [\"one\"], \"other\": false }"))
sqlContext.jsonRDD(data).registerTempTable("temp")
Run Code Online (Sandbox Code Playgroud)

而且我想过滤到只onerecords字段中的记录,other等于只true使用SQL.

我可以通过一个filter(见下文)来做,但它可以只使用SQL吗?

sqlContext
    .sql("select id, records from temp where other = true")
    .rdd.filter(t => t.getAs[Seq[String]]("records").contains("one"))
    .collect()
Run Code Online (Sandbox Code Playgroud)

scala dataframe apache-spark apache-spark-sql

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

Avro Schema引发StructType

这实际上与我之前的问题相同,但使用Avro而不是JSON作为数据格式.

我正在使用Spark数据帧,它可以从几个不同的模式版本之一加载数据:

// Version One
{"namespace": "com.example.avro",
 "type": "record",
 "name": "MeObject",
 "fields": [
     {"name": "A", "type": ["null", "int"], "default": null}
 ]
}

// Version Two
{"namespace": "com.example.avro",
 "type": "record",
 "name": "MeObject",
 "fields": [
     {"name": "A", "type": ["null", "int"], "default": null},
     {"name": "B", "type": ["null", "int"], "default": null}
 ]
}
Run Code Online (Sandbox Code Playgroud)

我正在使用Spark Avro加载数据.

DataFrame df = context.read()
  .format("com.databricks.spark.avro")
  .load("path/to/avro/file");
Run Code Online (Sandbox Code Playgroud)

可以是Version One文件或Version Two文件.但是我希望能够以相同的方式处理它,将未知值设置为"null".我之前的问题中的建议是设置模式,但是我不想重复自己在.avro文件和火花StructType和朋友中编写模式.如何将avro架构(文本文件或生成的MeObject.getClassSchema())转换为火花StructType

Spark Avro有一个SchemaConverters,但它都是私有的,并返回一些奇怪的内部对象.

java avro apache-spark apache-spark-sql

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

正则表达式在coldfusion中匹配整个单词串

我试着这个例子

第一个例子

keyword = "star"; 
myString = "The dog sniffed at the star fish and growled";
regEx = "\b"& keyword &"\b"; 
if (reFindNoCase(regEx, myString)) { 
     writeOutput("found it"); 
} else { 
     writeOutput("did not find it"); 
} 
Run Code Online (Sandbox Code Playgroud)

示例输出 - >找到它

第二个例子

keyword = "star"; 
myString = "The dog sniffed at the .star fish and growled";
regEx = "\b"& keyword &"\b"; 
if (reFindNoCase(regEx, myString)) { 
     writeOutput("found it"); 
} else { 
     writeOutput("did not find it"); 
}
Run Code Online (Sandbox Code Playgroud)

输出 - >找到它

但我想找到整个单词.标点问题对我来说如何使用正则表达式进行第二个示例输出:没找到它

regex coldfusion

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

容器中的短暂kubernetes容器(/ sidekick)(在复制控制器中)

我有一个包含两个容器的ReplicationController,第一个是一个长寿命的pod,第二个是在RC启动一个POD时做一些维护任务.但是,由于第二个容器是短暂的,它在完成启动任务时会自行停止.当Kuberbetes注意到这一点时,它会杀掉POD并开始一个新的...

在Kuberbetes中处理这个问题的正确方法是什么?

docker kubernetes

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

Guice是否需要进行单元测试?

我被告知Guice的目标是生成可测试的代码,而不需要在单元测试中.但是如何在不使用Guice的情况下测试Singleton(@Singleton)?

singleton unit-testing guice

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

默认策略.战略模式C#

使用默认策略是否正常,如下面的代码所示:

public abstract class ClContext
{
    protected sealed class InitialAlgorithm : IClAlgorithm
    {
        public void Initialize()
        {
            return;
        }
        public void Execute()
        {
            return;
        }
        public Byte[] Result
        {
            get { return new Byte[1]{0}; }
        }
    }
    protected IClAlgorithm algorithm;

    protected ClContext(IClAlgorithm algorithm = null)
    {
        this.algorithm = algorithm ?? new ClContext.InitialAlgorithm();
    }

    public void Execute()
    {
        this.algorithm.Execute();
    }
}
Run Code Online (Sandbox Code Playgroud)

提供自动实现的属性也是正常的,例如:

public IClAlgorithm Algorithm 
{
    get;
    set;
}
Run Code Online (Sandbox Code Playgroud)

从设计的角度来看,我只是好奇,这是可以接受的.

谢谢!

c# design-patterns strategy-pattern

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