小编Seb*_*ber的帖子

cordova/phonegap插件添加VS config.xml

我发现有一些关于phonegap/cordova插件很混乱的东西.

例如,我可以运行

cordova plugin add cordova-plugin-whitelist

要么

phonegap plugin add cordova-plugin-whitelist

这样做不会修改config.xml文件


或者我可以添加到config.xml:

<plugin name="cordova-plugin-whitelist" spec="1.1.0" />

要么

<gap:plugin name="cordova-plugin-whitelist" spec="1.1.0" />


所有这些不同的插件安装之间究竟有什么区别?我到底应该使用哪一个?

我想在所有其他开发人员计算机上使用相同的插件,在完全相同的版本中,以获得稳定且可重现的环境(并且CLI似乎没有指定版本......).我应该把我的/plugins文件夹的任何内容包含到Git中吗?

注意:如果重要的话,我不知道将来我将使用哪个cordova或phonegap CLI,因为我还不知道我是否会使用Phonegap Build.目前CLI(v5.1.1)似乎都运行良好.

phonegap-plugins cordova cordova-plugins

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

TS:确保对象具有字符串联合类型的单个键?

我正在尝试构建一个类型安全的查询系统,它看起来有点像 MongoDB 查询。

我想保证一个对象具有联合类型的单个属性,但找不到解决方案。有人可以帮我编译下面的代码吗?

type Operator = 'AND' | 'OR';

type OperatorNode = { [O in Operator]: [] };

const shouldWork1: OperatorNode = {
  AND: [],
};

const shouldWork2: OperatorNode = {
  OR: [],
};

const shouldFail1: OperatorNode = {};

const shouldFail2: OperatorNode = {
  AND: [],
  OR: [],
};
Run Code Online (Sandbox Code Playgroud)

正如你可以在操场上看到,它并不完全表现我想要的方式: http://www.typescriptlang.org/play/?ssl=1&ssc=1&pln=18&pc=3#code/C4TwDgpgBA8pBOBDYB7eUC8UDkBBAcgCLZQA+OMAStgNwBQdoksCya+KAJtFgN5QBtGFACWAOxYQkqeAF0AXINlQAvvToBjFGIDOwKDoAWKAK4AbTgHU0AawCMiuFLbwO3TFF50oUAoUUCsgA0dGoMWrr6RqYW1vA2AEyOrDJuPJ7esJQBwaHqEXoGxuacAGKIImYOktLsXOm8YZrahdEl5ZVJNS5pHl4+fjkhPlRDeUA

据我了解,由于结构类型的原因,这可能很难实现,但也许有技巧?

typescript

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

用javamail连接到hotmail?

我想知道是否可以使用JavaMail连接到Hotmail?

我试过这个,但它不起作用,连接被拒绝了......

    String host = "pop3.live.com";
    String username = "laqetqetqet@hotmail.com";
    String password = "rqetqetq";

    Session session;
    Store store;

    String SSL_FACTORY = "javax.net.ssl.SSLSocketFactory";

    Properties pop3Props = new Properties();

    pop3Props.setProperty("mail.pop3.socketFactory.class", SSL_FACTORY);
    pop3Props.setProperty("mail.pop3.socketFactory.fallback", "false");
    pop3Props.setProperty("mail.pop3.port",  "995");
    pop3Props.setProperty("mail.pop3.socketFactory.port", "995");

    URLName url = new URLName("pop3", host, 995, "", username, password);

    session = Session.getInstance(pop3Props, null);
    store = new POP3SSLStore(session, url);
    store.connect();
Run Code Online (Sandbox Code Playgroud)

有人已经成功做到了吗?

java email jakarta-mail hotmail java-ee

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

Java记录有关记录器名称的最佳实践

我只想问一下记录器名称......

它可以为记录器提供自定义名称,或使用类名.但是在哪种情况下使用什么?

- >为每个应用程序模块使用自定义名称:2个模块使用某些类 - >它应该属于哪个记录器名称?

- >使用classname:它似乎需要一个良好的包组织 - >已知的最佳日志记录实践?

java logging log4j production-environment java-ee

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

Html,xmlns,命名空间,xml

我在使用nekohtml + dom4j解析html文档时遇到了一些问题.

我发现我的xpath表达式不再起作用了,因为最近在html源上添加了一个新的默认html xml命名空间.

规格说:

前缀xmlns仅用于声明名称空间绑定,并且根据定义绑定到名称空间名称 http://www.w3.org/2000/xmlns/.它不能被宣布.其他前缀不得绑定到此命名空间名称,并且不得将其声明为默认命名空间.元素名称不能有前缀xmlns.

但在我的html文档中,最近(我猜)在html标签中添加了:xmlns ="http://www.w3.org/1999/xhtml"

我找到了2个解决方案

1)删除命名空间:

DOMParser parser = new DOMParser();
parser.setFeature("http://xml.org/sax/features/namespaces", false);
parser.parse(url);
Run Code Online (Sandbox Code Playgroud)

根据NekoHTML faq的说法.

2)为我的xpath添加一个前缀,绑定到默认的html命名空间.(似乎它不能将前缀"空字符串"绑定到我想要的命名空间)

Map<String,String> XPATH_NAMESPACES = new HashMap<String, String>();
XPATH_NAMESPACES.put("my_prefix", "http://www.w3.org/1999/xhtml");

XPath xpath = document.createXPath(xpathExpr);
xpath.setNamespaceURIs(XPATH_NAMESPACES);
Element element = (Element) xpath.selectSingleNode(document);
Run Code Online (Sandbox Code Playgroud)

然后,我使用// my_prefix:td而不是使用// td作为例子

我发布这些解决方案,因为有些人可能会发现这篇文章很有用.另见http://www.edankert.com/defaultnamespaces.html#Jaxen_and_Dom4J

但我真正想知道的是:

我想我的问题对你们中的一些人来说似乎很明显,但我并没有真正意识到它带来了什么.我已经读过html和xhtml之间的区别.我想使用xhtml dtd的人宁愿使用这个命名空间,但除了它给爬虫或其他类似的东西带来一些额外的痛苦之外,还有什么真正的兴趣?

PS:我已经看到从html传递到xhtml你必须添加xmlns和xml:lang,例如:所以它可能不是我解析的网站的目的,因为没有添加xml:lang ...

谢谢

html xml namespaces xml-namespaces

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

使用Maps.uniqueIndex和Guava时拒绝值

我想知道在使用Guava方法时是否可以丢弃一些值.

public static Function<Locale, String> GET_LANGUAGE = new Function<Locale, String>() {
    @Override
    public String apply(Locale input) {
        return StringUtils.isBlank(input.getLanguage()) ? "NO_LANGUAGE" : input.getLanguage();
    }
};

Maps.uniqueIndex(availableLocales, GET_LANGUAGE);
Run Code Online (Sandbox Code Playgroud)

我知道我可以使用多图,因为许多语言环境可以使用相同的语言,但它实际上符合我的需要.

例如,我希望没有任何语言的语言环境不在输出映射中.由于我无法返回null或类似的东西,我将使用不相关语言的语言环境重定向到键"NO_LANGUAGE".问题是仍然可以检索该值.

是否有某种"/ dev/null"映射键,或者我是否总是需要在使用谓词之前/之后进行一些过滤?

java functional-programming guava

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

骨干保存/获取VS DAO?

只是想知道为什么在后端应用程序上我们使用DAO模式,而在具有Backbone等框架的单页应用程序上,我们在主干模型/集合上使用save/fetch函数.

我已经看过这个用于服务器端开发的框架,如Play(Java/Scala),我认为Rails做同样的事情(?).在我看来,这对于小型项目来说是一个很酷的功能,但并不适合大型应用程序.

我只是想知道为什么当搜索"backbone + dao"时,我发现的唯一用例是浏览器localStorage而不是访问远程数据.我是唯一一个认为复杂骨干应用程序应该使用DAO模式来访问远程数据的人吗?

javascript backbone.js

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

无法理解一些基本的REST东西

假设我的模型是:

用户:

  • ID
  • 昵称

我有一个集合 /users/

我想要检索用户,/users/{id}而不是/users/${nickname},因为在一些更复杂的情况下,可能没有"逻辑唯一约束".

所以我可以使用的基本JSON有效负载例如:

{
  id: 123,
  nickname: 'someUserName'
}
Run Code Online (Sandbox Code Playgroud)

没什么好看的.


POST/users /

据我所知,用户作为标识符.它是资源表示的一部分,因此它应该在有效负载(?)中.

如果我想在后端自己生成ID,请使用DB序列作为示例?

然后我的负载变为:

{
  nickname: 'someUserName'
}
Run Code Online (Sandbox Code Playgroud)

这个合适吗?

什么应该是这个POST的输出?没有?只是一个引用资源位置的标题,包括ID?


获取/ users/id

当我们获取资源时,我们将其内容加载为JSON:

{
  id: 123,
  nickname: 'someUserName'
}
Run Code Online (Sandbox Code Playgroud)

PUT on/users/id

据我所知,此方法使用的有效负载应该"覆盖"资源内容.如果我们想要部分更新,我们会使用PATCH.

但是,如果我这样做:

PUT /users/123

{
  id: 456,
  nickname: 'someUserName'
}
Run Code Online (Sandbox Code Playgroud)

这是否意味着我们想要更新资源的ID?

在URI和有效负载中使用id不是多余的吗?


其实我真的不知道如何处理id.

我不知道我是否应该在所有POST/PUT/DELETE操作中使用相同的资源表示.

我不知道id是否应该是唯一(?)资源表示的一部分.但是如果id不是表示的一部分,那么当我列出用户时,使用GET /users/,如果没有返回id,那么我不知道客户端如何获取用户ID ...

有人能帮我吗?:)

api rest http

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

使用`height = device-height`设置元视口标记有什么影响?

据我所知,iOS的默认行为device-width可能是尝试使用980px的视口宽度渲染网站,并且设置width=device-width可能很有用(特别是如果您正在开发Cordova/mobileApp/SPA).

但是我不确定我们应该什么时候设置height=device-height.添加此行有效吗?使用设备高度作为视口高度不是默认行为吗?

我有一个移动应用程序,可用作移动网站和cordova原生应用程序.有2个单独的index.html页面具有不同的设置(旧版):

//移动网站有:

// Cordova有:

我想知道在两种情况下使用相同内容值时遇到的风险(看起来它主要是arround device-height)

我没有发现在线文档对该主题非常有帮助.任何的想法?

html mobile ios cordova responsive

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

ScrollView可以受maxHeight限制吗?

滚动型文档提到:

请记住,滚动视图必须具有一定的高度才能正常工作,因为它们将高度不受限制的子级包含在一个有限的容器中(通过滚动交互)。为了限制ScrollView的高度,请直接设置视图的高度(不建议使用),或者确保所有父视图的高度都已限制。忘记在视图堆栈中向下传递{flex:1}可能会导致错误,元素检查器使调试变得容易。

是否可以将ScrollView与maxHeight绑定?这样ScrollView才会展开,并且仅在子级高于maxHeight时才开始滚动?

我正在尝试创建一个具有动态宽度/高度的居中模态组件,并允许在需要时滚动。我已将高度限制为95%。似乎scrollview总是占据屏幕的95%。如果我删除滚动视图,它将按预期工作。

在屏幕截图上,我希望红色框居中,而白色框不应出现。如果您想尝试解决我的问题,这里是一个世博小吃

在此处输入图片说明

有人可以找到解决方案吗?还是可以确认这是不可能的,为什么?谢谢

react-native expo

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