小编Mar*_*idt的帖子

Android Material Design按钮样式

我对材料设计的按钮样式感到困惑.我想得到彩色凸起的按钮,如附带的链接,就像在使用部分下看到的"强制停止"和"卸载"按钮一样.是否有可用的样式或我需要定义它们?

http://www.google.com/design/spec/components/buttons.html#buttons-usage

我找不到默认的按钮样式.

例:

 <Button style="@style/PrimaryButton"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:text="Calculate"
    android:id="@+id/button3"
    android:layout_below="@+id/editText5"
    android:layout_alignEnd="@+id/editText5"
    android:enabled="true" />
Run Code Online (Sandbox Code Playgroud)

如果我尝试通过添加更改按钮的背景颜色

    android:background="@color/primary"
Run Code Online (Sandbox Code Playgroud)

所有的风格都消失了,比如触摸动画,阴影,圆角等.

android button material-design android-5.0-lollipop

293
推荐指数
9
解决办法
45万
查看次数

列出PostgreSQL数据库的所有索引名称,列名称及其表名称

获取列表所有索引名称,列名和postgresql数据库表名的查询是什么?

我试图通过使用此查询获取数据库中所有索引的列表,但如何获取索引列表,列名称和表名称?

 SELECT *
 FROM pg_class, pg_index
 WHERE pg_class.oid = pg_index.indexrelid
 AND pg_class.oid IN (
     SELECT indexrelid
     FROM pg_index, pg_class
     WHERE pg_class.oid=pg_index.indrelid
     AND indisunique != 't'
     AND indisprimary != 't'
     AND relname !~ '^pg_');
Run Code Online (Sandbox Code Playgroud)

postgresql

53
推荐指数
4
解决办法
7万
查看次数

如何完全删除颠覆插件

我已经安装了Subversive并希望切换到Subclipse插件.

通过关于Eclipse卸载Subversive - >安装详细信息 - >卸载...并安装Subclipse后,首选项中有两个SVN选项 - > Team,一个用于Subversive首选项(已卸载,不应该再存在)和一个用于Sublipse首选项.

如何完全删除Subversive,以便Eclipse中没有任何痕迹(例如Subversive的首选项屏幕)?

eclipse subclipse subversive eclipse-indigo

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

Lombok替代清除代码,没有getter/setter/toString/constructors

你知道龙目岛的其他选择吗?使用Lombok我们可以忘记使用getter和setter以及toString搞乱类,我想在我的项目中使用它但是我想知道是否有更好的选择?

我使用的是Java 1.7 ..并且无法更改为1.8.

java lombok

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

领域驱动设计中的规范模式

我一直在努力解决与规范有关的DDD相关问题,我已经阅读了很多关于DDD和规范和存储库的内容.

但是,如果尝试在不破坏域驱动设计的情况下组合所有这三个,则会出现问题.它归结为如何应用具有性能的过滤器.

首先是一些明显的事实:

  1. 获取DataAccess/Infrastructure Layer的存储库
  2. 域模型表示业务逻辑并转到域层
  3. 数据访问模型表示持久层,并转到Persistance/Infrastructure/DataAccess层
  4. 业务逻辑转到域层
  5. 规格是业务逻辑,因此它们也属于域层.
  6. 在所有这些示例中,在存储库中使用ORM框架和SQL Server
  7. 持久性模型可能不会泄漏到域层

到目前为止,这么容易.当/如果我们尝试将规范应用于存储库而不破坏DDD模式或存在性能问题时,就会出现问题.

申请规格的可能方式:

1)经典方式:使用域层中的域模型的规范

应用传统的规格模式,使用IsSatisfiedBy方法,返回bool和复合规格以组合多个规格.

这让我们保持域层的规范,但......

  1. 它必须与域模型一起使用,而存储库使用持久性模型来表示持久层的数据结构.这个很容易修复使用映射器,如AutoMapper.
  2. 但是,问题无法解决:所有规格都必须在内存中执行.在大型表/数据库中,如果您必须遍历所有实体仅过滤掉符合您规范的实体,这意味着巨大的影响

2)使用持久性模型的规范

这类似于1),但在规范中使用持久性模型.这允许直接使用规范作为我们的.Where谓词的一部分,它将被转换为查询(即TSQL),并且将在持久性存储(即SQL Server)上执行过滤.

  1. 虽然这会提供良好的性能,但它显然违反了DDD模式.我们的持久性模型泄漏到域层,使得域层依赖于持久层,而不是相反.

3)像2),但使规范成为持久层的一部分

  1. 这不起作用,因为域层需要引用规范.它仍然依赖于持久层.
  2. 我们在持久层内部会有业务逻辑.这也违反了DDD模式

4)像3一样,但使用抽象规范作为接口

我们在Domain层中有规范接口,我们在持久层中的规范的具体实现.现在我们的域层只与接口交互而不依赖于持久层.

  1. 这仍然违反了3)中的#2.我们在持久层中会有业务逻辑,这很糟糕.

5)将表达式树从域模型转换为持久性模型

这当然解决了这个问题,但这是一项非常重要的任务,但它会将规范保留在我们的域层内,同时仍然受益于SQL优化,因为规范成为Repositories Where子句的一部分并转换为TSQL

我试过这种方法,有几个问题(表单实现方面):

  1. 我们需要从Mapper知道配置(如果我们使用它)或保留我们自己的映射系统.这可以部分完成(使用AutoMapper读取Mapper配置),但存在进一步的问题
  2. 对于模型A的一个属性映射到模型B的一个属性的情况是可接受的.如果类型不同(即由于持久性类型,例如枚举被保存为另一个表中的字符串或键/值对,并且我们需要在解析器内进行转换.
  3. 如果多个字段映射到一个目标字段,它会变得非常复杂.我认为这不是域模型 - >持久性模型映射的问题

**6)查询生成器,如API**

最后一个是制作某种查询API,该API被传递到规范中,并且Repository/Persistence层将从中生成表达式树以传递给.Where子句,并使用接口来声明所有可过滤字段.

我也朝这个方向做过几次尝试,但对结果并不太满意.就像是

public interface IQuery<T>
{
    IQuery<T> Where(Expression<Func<T, T>> predicate);
}
public interface IQueryFilter<TFilter>
{
    TFilter And(TFilter other);
    TFilter Or(TFilter other);
    TFilter Not(TFilter other);
}

public interface IQueryField<TSource, IQueryFilter>
{
    IQueryFilter …
Run Code Online (Sandbox Code Playgroud)

domain-driven-design specifications repository repository-pattern

21
推荐指数
3
解决办法
8722
查看次数

一个简单的正则表达式,在Ruby上表现非常糟糕

我有一个简单的Ruby正则表达式需要很长时间来计算:

"fußball "*20 =~ /^([\S\s]{1000})/i
Run Code Online (Sandbox Code Playgroud)

如果我删除/i旗帜,它的工作速度非常快.它为什么这么慢?(我没等待执行完成)

我知道这个正则表达式可能没有意义,但我想知道什么是引擎盖下的.


错误报告:https://bugs.ruby-lang.org/issues/14418

ruby regex

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

cvc-complex-type.3.2.2属性'uuid'不允许出现在元素'jasperreport'中

下载了适用于Linux的iReport-4.6.0,当通过File-> New ...菜单创建新报告时,新报告未显示在预览中,而是显示错误消息cvc-complex-type.3.2.2 attribute 'uuid' is not allowed to appear in element 'jasperreport'.

即使在选项中选择兼容性4.5.0,也会出现相同的错误消息.打开由iReport-4.6.0(Windows)的其他用户生成的报告文件时也会发生相同的错误消息.

报告文件具有其架构http://jasperreports.sourceforge.net/xsd/jasperreport.xsd,但此架构文件未提及任何架构文件uuid.

可能是什么问题呢?

jasper-reports ireport

14
推荐指数
2
解决办法
4万
查看次数

Chrome 控制台 - Uncaught (in promise) TypeError: this.engines is not iterable

当我在 localhost:4200 上加载应用程序文件时,此错误出现在 chrome 控制台中。我无法弄清楚这意味着什么。如何在我的代码中找出此错误的来源?

Uncaught (in promise) TypeError: this.engines is not iterable
    at E.updateSocialMedia (content.js:48)
    at new E (content.js:48)
    at Function.start (content.js:48)
    at Function.main (content.js:48)
Run Code Online (Sandbox Code Playgroud)

在此处输入图片说明

google-chrome-console angular

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

用Java打印到标签打印机

我无法打印到标签打印机.下面的代码在一个上打印4个"标签"(附加标签图片).

下面的代码打印到兄弟QL-500标签打印机.它打印到3.5"×1.1"标签上.

如果有人可以帮助我更好地理解代码,那也会很棒.

import java.awt.Font;
import java.awt.Graphics;
import java.awt.Graphics2D;
import java.awt.print.PageFormat;
import java.awt.print.Paper;
import java.awt.print.Printable;
import java.awt.print.PrinterException;
import java.awt.print.PrinterJob;
import java.text.DateFormat;
import java.util.Date;
import java.util.Locale;
import javax.print.PrintService;



public class DYMOLabelPrintConnector implements Printable {

public static final String PRINTERNAME = "DYMO LabelWriter 400";


public static final boolean PRINTMENU = false;

public static void main(String[] args) {
PrinterJob printerJob = PrinterJob.getPrinterJob();
PageFormat pageFormat = printerJob.defaultPage();
Paper paper = new Paper();

final double widthPaper = (1.2 * 72);
final double heightPaper = (1.5 …
Run Code Online (Sandbox Code Playgroud)

java printing label

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

iOS PUSH通知类型选项?警报与横幅?

我经历的帖子就在这里暗示,为了使推送通知的唯一途径出现一个警告而不是横幅广告是个人终端用户改变读取Alert StyleNotifications应用程序的部分Settings.令我困惑的是,有些应用程序默认为Alerts样式而不必这样做.

有没有办法Alerts在初始启动时通过对话框以编程方式设置样式?我不介意要求用户在对话框中确认.我只知道,因为其他应用程序不需要用户手动进入设置来更改警报样式,必须有不同的方法来执行此操作...

我有以下 -

- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions
{
    [[UIApplication sharedApplication] registerForRemoteNotificationTypes:(UIRemoteNotificationTypeAlert | UIRemoteNotificationTypeBadge | UIRemoteNotificationTypeSound)];
    return YES;
}
Run Code Online (Sandbox Code Playgroud)

push objective-c ios

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