小编Sim*_*imo的帖子

Javascript:将字符串解析为Date作为LOCAL时区

我有一个表示当前时间的字符串:2015-11-24T19:40:00.如何在Javascript中解析此字符串以将此字符串表示的日期作为LOCAL TIME由于一些限制,我不能使用库moment,但允许使用jquery.我知道之前有人问过这个问题,但答案是用的moment

例如,如果我在加利福尼亚运行脚本,那么这个字符串将代表7PM太平洋时间,但如果我在纽约运行该脚本,那么这个字符串将代表东部时间?

我试过以下但Chrome和Firefox给了我不同的结果:

var str = "2015-11-24T19:40:00";
var date = new Date(str);
Run Code Online (Sandbox Code Playgroud)

Chrome将其用作UTC时间(Tue Nov 24 2015 11:40:00 GMT-0800 (Pacific Standard Time)),

但Firefox消耗它作为我当地的太平洋时间(Tue Nov 24 2015 19:40:00 GMT-0800 (Pacific Standard Time))

我尝试添加"Z" str,就像这样var date = new Date(str+"Z");,然后两个浏览器都给我UTC时间.是否有任何类似的信件"Z"告诉所有浏览器(至少chrome,Firefox和Safari)将字符串解析为本地时区?

javascript timestamp date

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

Java - 正则表达式,用于匹配反斜杠后跟引号

如何编写正则表达式来匹配这个\"(反斜杠然后引用)?假设我有一个这样的字符串:

<a href=\"google.com\"> click to search </a>
Run Code Online (Sandbox Code Playgroud)

我需要\"用a 替换所有",所以结果看起来像:

<a href="google.com"> click to search </a>
Run Code Online (Sandbox Code Playgroud)

这个不起作用:str.replaceAll("\\\"", "\"")因为它只匹配报价.不知道如何绕过反斜杠.我可以先删除反斜杠,但我的字符串中还有其他反斜杠.

java regex

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

如何在html中隐藏<li>项并使其不占用任何空间?

我有一个像这样的HTML列表:

<ul>
  <li>Coffee</li>
  <li>Tea</li>
  <li>Milk</li>
</ul>
Run Code Online (Sandbox Code Playgroud)

如何隐藏li项目并使其不占用任何空间?让我们说,我需要第一个项目(咖啡)是隐形的,所以结果将只包含茶和牛奶.我使用了css(或style ="visibility:hidden"),但它仍然占用了一些空间.

=======

注意:第一个li只是用于创建其他li项的一些模板.模板li在运行时生成,这就是我需要隐藏它的原因.我在生成其他产品(茶和牛奶)后最终将其除去,但在我生产茶和牛奶之前,咖啡仍然可见.

============

谢谢.答案是style ="display:none"

html hidden

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

perl中的正则表达式比Java或其他语言更快吗?

我不时听到人们说过,Perl中的正则表达式比其他语言更快.此外,一些在线文档还表示Perl在正则表达式处理方面具有优势.你能解释一下这是否属实,为什么?

regex perl performance

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

是oauth2仅在有第三方授权时使用?

我现在正在阅读oauth2,并试图了解其目的.从我阅读的所有资源中,似乎oauth2仅在具有某些用户和应用程序的webapp(比如游戏应用程序)想要访问用户的Facebook或Google数据(某些类型的数据,如姓名或电子邮件,等等).这部分对我来说很清楚.但是,我不清楚的事情如下:

  1. 例如:如果我有一个webapp,我希望我的webapp用户使用他们的登录名和密码登录webapp(就像你使用gmail一样),而不使用任何第三方.oauth2是否也提供此类授权?
  2. 我见过webapps,他们只是让用户注册ID和密码,然后他们将密码加密并将盐存储在数据库中.因此,当用户稍后登录时,他们会将用户输入的密码加密,并将此盐与数据库中的盐(在注册期间创建)进行比较.如果相等,则用户登录.这对我来说似乎不起誓.所以,如果这不是oauth,那么这个标准是什么?这样的"直接登录"还有其他标准吗?

  3. 假设我想允许用户注册并登录我的网站,但让他们通过第三方(如Facebook或Google)登录.这仅用于授权目的,并假设我的应用程序没有计划在他们的Facebook上发布或请求他们的Facebook数据,除了我可能想要使用他们的Facebook电子邮件作为我的webapp的用户ID.oauth2是否提供此类授权?

抱歉天真的问题,因为我最近只读过oauth.

passwords authorization login oauth-2.0

11
推荐指数
2
解决办法
1499
查看次数

Java并行流:如何等待并行流的线程完成?

所以我有一个列表,我从中获得一个并行流来填写地图,如下所示:

Map<Integer, TreeNode> map = new HashMap<>();
List<NodeData> list = some_filled_list;

//Putting data from the list into the map
list.parallelStream().forEach(d -> {
                TreeNode node = new TreeNode(d);
                map.put(node.getId(), node);
            });

//print out map
map.entrySet().stream().forEach(entry -> {
     System.out.println("Processing node with ID = " + entry.getValue().getId());
                });
Run Code Online (Sandbox Code Playgroud)

这段代码的问题在于,当"放置数据"过程仍在进行时(因为它是并行的),地图正在被打印出来,因此,地图尚未从列表中接收到所有元素.当然,在我的真实代码中,不仅仅是打印出地图; 我使用地图来利用O(1)查找时间.

我的问题是:

  1. 如何使主线程等待,以便在打印出地图之前完成"放置数据"?我试图把"把数据"线程T内,做t.start()t.join(),但是这并没有帮助.

  2. 也许在这种情况下我不应该使用并行流?列表很长,我只想利用并行性来提高效率.

java collections parallel-processing multithreading java-stream

10
推荐指数
2
解决办法
6679
查看次数

在图中,O(| E |*| V |)复杂度是否被认为是多项式?

抱歉愚蠢的问题.我不能慢慢记忆,谷歌搜索没有帮助我回答这个问题.

所以基本上给出了图G(V,E),我知道O(| V | ^ 2)或O(| E | ^ 2 + | V | ^ 2)被认为是多项式复杂度,因此是O(| E |*| V |)多项式也是?如果不是,它有什么样的复杂性?我相信它也不是伪多项式.

另一个问题是:O(m*n)是否也被认为是多项式,给定m和n是问题的两个独立输入的大小?我只想在这里澄清多项式时间的概念,并想知道O(m*n)的复杂类型是否有不同的名称.

algorithm big-o time-complexity

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

Spring security:WebSecurityConfigurerAdapter 和 GlobalAuthenticationConfigurerAdapter 的区别

这两个类:

WebSecurityConfigurerAdapter 
GlobalAuthenticationConfigurerAdapter 
Run Code Online (Sandbox Code Playgroud)

似乎对我做同样的事情。它们都提供了不同的方法configure(...)来自定义 WebSecurity,例如配置UserDetailsService. 在互联网上找到的一些示例中,我看到两个类都被扩展了(就像这个,http : //ryanjbaxter.com/2015/01/06/securing-rest-apis-with-spring-boot/):

@Configuration
class WebSecurityConfiguration extends GlobalAuthenticationConfigurerAdapter {...}
Run Code Online (Sandbox Code Playgroud)

@EnableWebSecurity
@Configuration
class WebSecurityConfig extends WebSecurityConfigurerAdapter {...}
Run Code Online (Sandbox Code Playgroud)

但在某些示例中,只WebSecurityConfigurerAdapter需要(扩展)。

我不确定两者之间的区别?哪一个能做而另一个不能做?或者如果它们都需要,那么它们中的哪一个用于 Spring 安全的哪个方面?

我看到的唯一区别是,@EnableWebSecurity它通常在 extends 类上方注释WebSecurityConfigurerAdapter,而不是在 extends 类中GlobalAuthenticationConfigurerAdapter

==============实验==================

我尝试删除 extends 的类GlobalAuthenticationConfigurerAdapter,并将与 UserDetailsS​​ervice 相关的代码携带到扩展的类中WebSecurityConfigurerAdapter(实际代码请参见上面的链接),它仍然有效。

java authentication spring spring-security spring-boot

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

创建将 n 个用户放入 k 个组的所有可能方法

给定 n 个用户 (u_1, u_2,..., u_n) 和 k 个组 (g_1, g_2, ..., g_k),创建所有组的所有可能组合。基本上,最后每个组合都是一个Map<Integer,Integer>,其中第一个Integer是用户ID,第二个Integer是组ID。例如,[(u_1,g_1), (u_2,g_1).. ..,(u_n, g_1)] 是一种可能的组合。

将有 k^n 个组合。

我搜索并看到了类似的问题,但他们确实有一些不适用于我的问题的额外条件。就我而言,每组都没有限制,也没有均匀分布。

您能建议一种在 Java 中执行此操作的快速方法吗?

谢谢

到目前为止我的尝试:我尝试为每个用户的每种可能性创建一个 for 循环,但我面临无法定义 for 循环次数的问题。

所以我切换到递归,但坚持为函数的内部调用创建参数。不过仍在努力。

请注意,这不是“n 选择 k”。“n选k”是指所有用户都相同的情况,但这里的用户显然不相同。


好的。我为此创建了一个解决方案。基本上,这是一个动态规划问题。假设您已经为 j 个用户和 k 个位置创建了一个地图列表(组合)。要为 j+1 个用户和 k 个位置创建,需要 2 个循环:对于每个 Map,对于每个 i=1 到 k,Map.put(user_j+1, k))。Is 既是递归的又是迭代的。递归,因为您需要将旧地图传递给新的迭代。就是这样。

java algorithm combinations

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

使用 gradle bootJar 而不是 jar 任务并且在 Jenkins 中构建失败

在我的 gradle.build 文件中开始使用 spring boot gradle 插件后,jenkins 上的构建失败。

classpath("org.springframework.boot:spring-boot-gradle-plugin:2.0.2.RELEASE")
Run Code Online (Sandbox Code Playgroud)

一切都在本地运行良好,包括构建、测试和 web 应用程序在 Jetty 上运行良好。唯一的问题是任务中 Jenkins 的构建失败artifactoryPublish。它说:

File '/var/lib/jenkins/jobs/release-my-project/workspace/build/libs/workspace-0.2.1-SNAPSHOT.jar' does not exists, and need to be published!
Run Code Online (Sandbox Code Playgroud)

不确定 gradleartifactoryPublish任务发生了什么。我认为任务来自詹金斯。

在使用spring boot gradle插件之前,我在gradle.build中的jar任务如下:

jar {
    baseName = 'my-project'
    from {
        configurations.compile.collect {
            it.isDirectory() ? it : zipTree(it)
        }
        configurations.runtime.collect {
            it.isDirectory() ? it : zipTree(it)
        }
    }
    manifest {
        attributes 'Main-Class':'com.example.Application'
    }
    // Exclude manifest signature files
    exclude 'META-INF/*.SF', 'META-INF/*.DSA', 'META-INF/*.RSA', 'META-INF/LICENSE'
}   
Run Code Online (Sandbox Code Playgroud)

由于spring boot gradle插件禁用了jar任务,代之以bootJar任务,所以我配置bootjar任务如下:

bootJar { …
Run Code Online (Sandbox Code Playgroud)

java build gradle jenkins spring-boot

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