小编kct*_*ang的帖子

SPI和API之间的区别?

服务提供者接口(SPI)应用程序编程接口(API)之间有什么区别?

更具体地说,对于Java库,是什么使它们成为API和/或SPI?

java api

301
推荐指数
6
解决办法
9万
查看次数

接口应该放在一个单独的包中吗?

我是一个从事一个相当大的项目的团队的新手,拥有大量的组件和依赖项.对于每个组件,都有一个interfaces包放置了该组件的公开接口.这是一个好习惯吗?

我通常的做法一直是接口和实现在同一个包中.

java packages interface

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

在jQuery Mobile中使用Bootstrap

Bootstrap(v2)和jQuery Mobile(v1.1 RC1)都提供了我想用于我的应用程序的构建块.

Bootstrap干净,简单而精彩.但是,它缺乏jQuery Mobile的极其简单和可定制的"列表视图",我需要创建移动Web应用程序.

从我的简单测试中,他们互相帮助(弄乱一些布局,填充,大小等).

所以,我的问题:

  1. 我们可以在同一个HTML页面上同时使用Bootstrap和jQuery Mobile吗?
  2. 如果我们不能将它们结合起来,那么Bootstrap对jQuery Mobile的"列表视图"的回答是什么?

jquery-mobile twitter-bootstrap

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

通过签名网址将文件PUT到Google云端存储(GCS)

我正在尝试使用"已签名的网址"来访问/上传文件到Google云端存储(GCS).

按照https://developers.google.com/storage/docs/accesscontrol#Signing-Strings中的说明操作

我做了什么:

  • 在Google Cloud Console上注册了"Web应用程序".
  • 使用已注册的Web应用程序屏幕的"证书"部分中的"生成新密钥"生成新的私钥.
  • 创建了要签名的字符串,并使用页面"如何签名"部分提供的示例代码对其进行签名(只需对Java主程序的硬编码值进行微调).更新:为GcsSigner.java创建了一个要点.
  • 确保已签名的字符串是URL编码的.
  • 指定的HTTP标头:x-goog-api-version,x-goog-project-id,Content-Type.
  • 指定的网址参数:GoogleAccessId,签名,过期.
  • 使用Postman(Chrome扩展程序)来模拟PUT请求.

但是,我仍然得到这个(状态:403 Forbidden):

<?xml version='1.0' encoding='UTF-8'?>
<Error>
    <Code>SignatureDoesNotMatch</Code>
    <Message>The request signature we calculated does not match the signature you provided. Check your Google secret key and signing method.</Message>
    <StringToSign>PUT

text/plain
1384084959392
x-goog-api-version:2
x-goog-project-id:99999
/mybucket/myfile.txt</StringToSign>
</Error>
Run Code Online (Sandbox Code Playgroud)

即使我根据"StringToSign"中的值对字符串进行重试,我仍然会得到相同的错误.

在这里阅读各种相关的帖子,但找不到任何解决方案,其中大部分是指x-goog-api-version:1我在使用版本2时.

我错过了什么?任何帮助将不胜感激.

java google-cloud-storage

12
推荐指数
2
解决办法
6226
查看次数

Gradle任务在外部进程"准备就绪"时进行处理

我希望我的gradle任务:

  1. 执行命令("启动我的服务器"的外部进程).
  2. 等待外部进程的某个输出在stdout中说"Server Is Ready".
  3. 在我的gradle任务中做一些事情(基本上是与我的外部任务交谈).
  4. 当我完成我的工作后,通过启动另一个"停止我的服务器"命令来结束外部进程.
  5. 两个命令完成后,结束任务.

这就像启动服务器来运行集成测试,但这不是tomcat/jetty类型的服务器,因此需要从命令行启动并等待服务器通过服务器的stdout"准备好".

我目前能够使用exec任务来运行我的任务并获得输出.所以我想我可以在Groovy/Java中编写代码以实现我想要的.

但是,编写这种看似常见的模式似乎很乏味.所以我想知道是否有一种更简单的方法来解决这些问题,而无需太多的编码 - 也就是说,这是gradle有DSL的常见模式吗?

请注意,我是Gradle的新手,所以对此主题的任何建议也将不胜感激.

gradle

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

自动更新本地Meteor包声明的依赖项

尝试使本地Meteor软件包的依赖关系保持最新时,这是相当繁琐的.

目前,它们是在package.jslike 中指定的,我必须检查所使用的每个依赖项的最新版本并手动更新.

例如

api.use([
    'alanning:roles@1.2.14',
    'aldeed:simple-schema@1.5.3',
    'aldeed:collection2@2.8.0',
    'iron:router@1.0.12',
    'useraccounts:iron-routing@1.12.4'
]);
Run Code Online (Sandbox Code Playgroud)

可以meteor-tool这样做,还是有更好的方法来更新包的依赖关系,尤其在项目中有多个本地包时非常有用.

meteor

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

Bower依赖关系的过滤(包含/排除)文件

我正在尝试使用Bower来管理来自Java/JSP服务器端应用程序的客户端依赖项.

它工作正常,我可以访问通过bower.json中描述的"bower install"解析的客户端库.

但是,许多不必要的文件被添加到"bower_components"中,如所使用的依赖项(测试,文档,示例等)所声明的那样.

问:我可以手动指定过滤器来包含/排除我在bower.json中声明的每个依赖项中的文件吗?

如果这是不可能的,听起来我需要在webapp目录之外解析"bower install"的输出并创建一个单独的(maven/grunt)复制任务来创建我想要的js lib文件结构 - 听起来很乏味.

bower

10
推荐指数
1
解决办法
3743
查看次数

Gemini和Apache Aries蓝图容器

Gemini是OSGi蓝图容器的参考实现,Apache Aries是另一个被广泛使用的蓝图容器......包括在Apache Karaf中.

如果我正在开始一个新项目(以开源技术为要求)并计划使用蓝图,那么在选择这两个项目时应该考虑哪些因素?

是基于将使用什么OSGi容器的选择,其中:

  • 对于处女座,那么双子座是你最好/唯一的?蓝图容器选择
  • 对于Apache Karaf,然后是Apache Aries的蓝图容器,如果是首选

它甚至重要吗?即我可以只针对蓝图规范进行编码,让部署决定在生产中使用哪个DI容器?

对不起,如果这个问题不是很具体,但主题本身对我来说相当混乱.

osgi

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

每个svn主干的一个(多模块)maven项目与否

我通常的做法是每个svn主干有一个单独的maven项目(可以是多模块),如下所示:

trunk/ (style 1)
  /pom.xml
  /submod-1
  /submod-2
Run Code Online (Sandbox Code Playgroud)

基本上,整个行李箱被视为单个释放包.我发现这更容易管理.有一个聚合/父pom来管理这个主干中的所有模块.

但是,我注意到我的一些同事组织如下:

trunk/ (style 2)
  /project-1
    /pom.xml
  /project-2
    /pom.xml
Run Code Online (Sandbox Code Playgroud)

基本上,在单个svn主干内...... project-1和project-2需要单独管理.即我不能检查主干并使用其内容作为单个多模块maven项目 - 我欣赏的东西.

Q1:如果风格2什么时候会成为一个好主意?

Q2:有人能告诉/指出如何使用subversion管理maven项目的最佳实践吗?

maven

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

使用 nrwl nx 构建 nestjs 应用程序时,process.env.NODE_ENV 总是“开发”

我的 NX 应用程序npm run build:server调用ng build api-server会触发@nrwl/node:build构建器。

它将 NestJS 应用程序构建为main.js. 除了我想process.env.NODE_ENV在运行时进行评估之外,其他事情都有效,但我认为它在构建时(通过 Webpack)解决了。

目前,该值始终设置为“开发”。

我是 Nrwl NX 的新手。这有什么解决办法吗?

nrwl nestjs nrwl-nx

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