我试图在另一个应用程序(spring-boot应用程序)上调用REST端点(angularjs).应用程序在以下主机和端口上运行.
http://localhost:8080
http://localhost:50029
我也在使用spring-security
spring-boot应用程序.从HTML应用程序,我可以对REST应用程序进行身份验证,但此后,我仍然无法访问任何REST端点.例如,我有一个如下定义的angularjs服务.
adminServices.factory('AdminService', ['$resource', '$http', 'conf', function($resource, $http, conf) {
var s = {};
s.isAdminLoggedIn = function(data) {
return $http({
method: 'GET',
url: 'http://localhost:8080/api/admin/isloggedin',
withCredentials: true,
headers: {
'X-Requested-With': 'XMLHttpRequest'
}
});
};
s.login = function(username, password) {
var u = 'username=' + encodeURI(username);
var p = 'password=' + encodeURI(password);
var r = 'remember_me=1';
var data = u + '&' + p + '&' + r;
return $http({
method: 'POST',
url: 'http://localhost:8080/login',
data: …
Run Code Online (Sandbox Code Playgroud) 我正在使用Nexus Repository Manager 3.1.0-04,我想创建一个只具有部署权限的用户.那需要的最小权限集是什么?
现在我创建了一个nx-deploy
具有以下权限的角色:
然后我创建了一个deployment
具有该角色的用户nx-deploy
.我现在可以部署工件,但是,我相信我给了太多特权?该admin
部分是不是我想要部署用户是,让一部分有我有点紧张.
不用说,在安全部分下有太多的权限可供选择.
我正在使用 VS Code 编写一些 HTML。我注意到 IDE 会自动为我插入一些代码。例如,如果我想要一个<p>
标签,VS Code 将为<p></p>
我创建一个标签,并且光标将落在中间(在开始和结束段落标签之间)。但是,当我在标签内输入完内容后<p>
,通常我会使用鼠标或向右方向箭头移至末尾。有没有办法让我的手指不从打字位置(例如 fdsa 和 jkl;)移动到行或标签的末尾,或者我总是必须使用鼠标或方向键?
我发现 JetBrains 提供的 IDE 对于某些语言没有此限制。例如,在 Python 中,如果我想使用 PyCharm 打印某些内容,我可以键入(右单引号和右括号会自动添加)
print('')
Run Code Online (Sandbox Code Playgroud)
我的光标将落在单引号内。为了简单地超出右括号,我只需输入'
后跟)
,IDE 足够聪明,知道不要在那里放置单引号和右括号(就像使用向右箭头两次来超出 print 语句一样)。
WebStorm 与 VS Code 一样,在处理 HTML 时也存在“问题”。如果我位于开始和结束<p>
标签内,并且紧挨着结束标签</p>
,则只需输入<
, /
, p
,>
不会将我带到外面(与 Python 和 PyCharm 一样)。在 Windows 上,我可以按End
键,在 Mac 上,我可以按fn+right
到达结尾;但这需要打破我的双手在打字位置的流动和连续性(眼睛也必须重新定向)。
关于如何使用 VS Code 或其他带有 HTML 的现代 IDE 来提高编码器的工作效率,有什么建议吗?有没有我们可以使用的插件来解决这个问题?
我在Eclipse(Luna)中尝试使用Scala(v2.11.6)创建Maven项目时遇到了问题.这里的说明是在下面安装两个插件.
可以使用m2eclipse-scala更新站点安装这两个插件.所以这就是我第一次尝试时所做的.
当Eclipse加载时,我尝试创建一个Maven项目,我想要使用的原型是Group Id = net.alchim31.maven,Artifact Id = scala-archetype-simple,Version = 1.5.但是,当我在过滤器文本字段中输入"scala-arch"时,此原型永远不会出现.
我看到的唯一项目是Group Id = org.scala-tools.archetypes,Artifact Id = scala-archetype-simple,Version = 1.2.当我选择使用这个原型时,我在Eclipse中收到一堆错误消息.
在我的第二次尝试中,我尝试下载预打包的软件包(Scala IDE for Eclipse).同样,当我尝试创建Scala Maven项目时,我没有看到Group Id = net.alchim31.maven的Maven原型(仅适用于Group Id = org.scala-tools.archetypes).
关于我在这里做错了什么的想法?或者我可以在哪里找到一个香草Scala Maven项目来导入/修改和用于我自己的目的?
我想知道如何使用NSURLSession"单元测试"HTTP请求和响应.现在,当作为单元测试运行时,我的完成块代码不会被调用.但是,当从AppDelegate
(didFinishWithLaunchingOptions)中执行相同的代码时,将调用完成块内的代码.正如在这个线程中所建议的那样,NSURLSessionDataTask dataTaskWithURL完成处理程序没有被调用,需要使用信号量和/或dispatch_group"以确保在网络请求完成之前阻塞主线程".
我的HTTP邮政编码如下所示.
@interface LoginPost : NSObject
- (void) post;
@end
@implementation LoginPost
- (void) post
{
NSURLSessionConfiguration* conf = [NSURLSessionConfiguration defaultSessionConfiguration];
NSURLSession* session = [NSURLSession sessionWithConfiguration:conf delegate:nil delegateQueue:[NSOperationQueue mainQueue]];
NSURL* url = [NSURL URLWithString:@"http://www.example.com/login"];
NSString* params = @"username=test@xyz.com&password=test";
NSMutableRequest* request = [NSMutableURLRequest requestWithURL:url];
[request setHTTPMethod:@"POST"];
[request setHTTPBody:[params dataUsingEncoding:NSUTF8StringEncoding]];
NSURLSessionDataTask* task = [session dataTaskWithRequest:request completionHandler:^(NSData *data, NSURLResponse *response, NSError *error) {
NSLog(@"Response:%@ %@\n", response, error); //code here never gets called in unit tests, break point here …
Run Code Online (Sandbox Code Playgroud) 我的webapp允许用户上传jar文件.但是,上传jar文件后,它已损坏.我通过比较md5校验和(winmd5free)来验证这一点.
上传的jar文件看起来"正常"和"正确"
当我打开上传的jar文件(使用Notepad ++)时,我注意到二进制内容与原始内容不同.另外,当我使用JarInputStream读取jar条目时,没有条目.
JarInputStream is = new JarInputStream(new FileInputStream(new File("uploaded.jar")));
JarEntry entry = null;
while(null != (entry = is.getNextJarEntry())) {
System.out.println(entry.getName());
}
Run Code Online (Sandbox Code Playgroud)
此外,当我双击jar(Windows)时,我收到以下消息.
错误:jarfile无效或损坏
我的问题是
请注意,这与jar签名和/或检查jar的签名无关.它只是检查一个文件(上传与否)是否是一个有效的jar文件(不一定是jar的类文件是有效的,因为已经有关于这个问题的另一个SO帖子).
跑步的结果
jar -tvf uploaded.jar
java.util.zip.ZipException: error in opening zip file
at java.util.zip.ZipFile.open(Native Method)
at java.util.zip.ZipFile.<init>(ZipFile.java:127)
at java.util.zip.ZipFile.<init>(ZipFile.java:88)
at sun.tools.jar.Main.list(Main.java:977)
at sun.tools.jar.Main.run(Main.java:222)
at sun.tools.jar.Main.main(Main.java:1147)
Run Code Online (Sandbox Code Playgroud) 我使用Spring-Boot v1.3.0.M5和Maven v3.3.3.我曾经能够使用此命令从控制台运行我的Spring Boot(启动)应用程序.
mvn clean package spring-boot:run
但是,我不得不修改我pom.xml
的帐户以适应不同的环境构建.特别是,我使用Maven配置文件来修改启动应用程序的属性文件.现在,当我运行前面提到的命令时,启动应用程序无法运行并抱怨以下异常.
引起:java.lang.NumberFormatException:对于输入字符串:"$ {MULTIPART.MAXREQUESTSIZE}"
我有一个属性文件位于src/main/resources/config/application.properties
.此属性文件有一堆键值对,如下所示.
multipart.maxFileSize=${multipart.maxFileSize}
multipart.maxRequestSize=${multipart.maxRequestSize}
Run Code Online (Sandbox Code Playgroud)
然后在我的pom.xml
,我的构建定义如下.
<build>
<resources>
<resource>
<directory>src/main/resources</directory>
<filtering>true</filtering>
<includes>
<include>**/*.properties</include>
</includes>
</resource>
<resource>
<directory>src/main/resources</directory>
<filtering>false</filtering>
<excludes>
<exclude>**/*.properties</exclude>
</excludes>
</resource>
</resources>
<plugins>
<plugin>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-maven-plugin</artifactId>
</plugin>
</plugins>
</build>
<profiles>
<!-- development -->
<profile>
<id>env-dev</id>
<activation>
<activeByDefault>true</activeByDefault>
<property>
<name>env</name>
<value>dev</value>
</property>
</activation>
<properties>
<multipart.maxFileSize>250MB</multipart.maxFileSize>
<multipart.maxRequestSize>250MB</multipart.maxRequestSize>
</properties>
</profile>
<!-- staging -->
<profile>
<id>env-stg</id>
<activation>
<activeByDefault>false</activeByDefault>
<property>
<name>env</name>
<value>stg</value>
</property>
</activation>
<properties>
<multipart.maxFileSize>500MB</multipart.maxFileSize>
<multipart.maxRequestSize>500MB</multipart.maxRequestSize>
</properties>
</profile> …
Run Code Online (Sandbox Code Playgroud) 我在这里关注本教程,作者说要在项目typings.d.ts
文件中添加两个声明。但是,当使用ng-cli
来创建 Angular 7 项目时,并没有生成这样的文件。
在另一篇文章中(针对 Angular 2),作者建议创建一个typings
文件夹并将其放置在typings.d.ts
那里并tsconfig.json
使用files
密钥修改文件;这样做给了我一个TS5023: Uknown compiler option 'files'.
信息。
然而,在这篇文章中,最重要的答案表明typings.d.ts
应该ng-cli
在src
文件夹下创建,但我没有看到它(我使用的是 Angular CLI v7.3.1)。
我的问题是,对于 Angular 7,我应该如何以及在哪里添加typings.d.ts
?添加此类文件时还需要修改哪些其他文件?
我SparkLauncher
在Spark v1.6.0中使用.我的问题是,当我使用这个类启动我的Spark作业时,它立即返回并且没有提交作业.我的代码如下.
new SparkLauncher()
.setAppName("test word count")
.setAppResource("file://c:/temp/my.jar")
.setMainClass("my.spark.app.Main")
.setMaster("spark://master:7077")
.startApplication(new SparkAppHandler.Listener() {
@Override public void stateChanged(SparkAppHandle h) { }
@Override public void infoChanged(SparkAppHandle h) { }
});
Run Code Online (Sandbox Code Playgroud)
当我调试代码时,我注意到,令我惊讶的是,所有这些clazz真正做的是调用脚本spark-submit.cmd
使用ProcessBuilder
.
[C:/tmp/spark-1.6.0-bin-hadoop2.6/bin/spark-submit.cmd, --master, spark://master:7077, --name, "test word count", --class, my.spark.appMain, C:/temp/my.jar]
但是,如果我ProcessBuilder
直接在控制台上运行此命令(运行的命令),则会提交Spark作业.关于发生了什么的任何想法?
还有另一种方法SparkLauncher.launch()
可用,但javadocs说要避免这种方法.
知道发生了什么事吗?
只是一个澄清的简单问题:JavaScript Promise
异步吗?我一直在阅读很多帖子Promise
和异步编程(即ajax请求).如果Promise
不是异步,我们如何做到这一点?
例如,我有一个函数来包装的功能f
与参数数组args
内的Promise
.没有什么f
本质上是异步的.
function getPromise(f, args) {
return new Promise(function(resolve, reject) {
var result = f.apply(undefined, args);
resolve(result);
});
}
Run Code Online (Sandbox Code Playgroud)
为了使这个异步,我阅读了一些SO帖子,并决定setTimeout
很多人建议使代码无阻塞.
function getPromise(f, args) {
return new Promise(function(resolve, reject) {
setTimeout(function() {
var r = f.apply(undefined, args);
resolve(r);
}, 0);
});
}
Run Code Online (Sandbox Code Playgroud)
这种方法是否setTimeout
可以使代码在内部无阻塞Promise
?
(请注意,我不依赖于任何第三方Promise API,只是浏览器支持的内容).
java ×3
maven ×3
spring-boot ×2
angular ×1
angularjs ×1
apache-spark ×1
asynchronous ×1
classpath ×1
cors ×1
deployment ×1
eclipse ×1
html ×1
ide ×1
ios ×1
jar ×1
java-ee ×1
javascript ×1
m2eclipse ×1
nexus ×1
nexus3 ×1
nsurlsession ×1
objective-c ×1
promise ×1
rest ×1
scala ×1
spring ×1
spring-mvc ×1
typescript ×1
webstorm ×1
xctest ×1