Google托管了一些热门的JavaScript库:http: //code.google.com/apis/ajaxlibs/
根据谷歌:
加载库的最有效方法是使用google.load()...
使用的真正好处是什么?
google.load("jquery", "1.2.6")
与
<script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/jquery/1.2.6/jquery.min.js"></script>
?
我需要在angular2应用程序的页面上显示git revision.该项目基于angular-cli.
如何扩展构建,以便将git修订版放入environment.ts应用程序可访问的其他位置?
我在JPA中有两个实体:Entry和Comment.Entry包含两个Comment对象集合.
@Entity
public class Entry {
...
@OneToMany(fetch = FetchType.EAGER, cascade = CascadeType.ALL)
@IndexColumn(base = 1, name = "dnr")
private List<Comment> descriptionComments = new ArrayList<Comment>();
@OneToMany(fetch = FetchType.EAGER, cascade = CascadeType.ALL)
@IndexColumn(base = 1, name = "pmnr")
private List<Comment> postMortemComments = new ArrayList<Comment>();
...
}
Run Code Online (Sandbox Code Playgroud)
为了存储这样的对象,JPA + Hibernate创建了"Entry"表,"Comment"表和SINGLE"Entry_Comment":
create table Entry_Comment (Entry_id integer not null, postMortemComments_id integer not null, pmnr integer not null, descriptionComments_id integer not null, dnr integer not null, primary key (Entry_id, dnr), unique (descriptionComments_id), unique (postMortemComments_id))
对象的存储失败, …
Angular 文档提供了以下示例来激活软件更新:
constructor(updates: SwUpdate) {
updates.available.subscribe(event => {
if (promptUser(event)) {
updates.activateUpdate().then(() => document.location.reload());
}
});
}
Run Code Online (Sandbox Code Playgroud)
据我观察,调用本身不足以激活新版本,需要重新加载。然而document.location.reload(),即使没有activateUpdate()电话也足够了。
activateUpdate()打电话的目的是什么?为什么在重新加载就足够时调用它?
Servlet API提供了一种设置cookie的便捷方法:
response.addCookie(new Cookie(name, value))
Run Code Online (Sandbox Code Playgroud)
JavaDoc告诉:
对于版本0 cookie,值不应包含空格,括号,括号,等号,逗号,双引号,斜杠,问号,符号,冒号和分号.在所有浏览器上,空值的行为可能不同.
但是,它不会告诉如果值中存在这些字符会发生什么.
如果值来自不受信任的来源,我可以使用API安全地设置值而无需额外的预处理,还是我打开门进行某种注入?
Kotlin允许命名一个与现有类相同的函数,例如HashSet初始化函数可以像这样实现:
fun <T> HashSet(n : Int, fn: (Int) -> T) = HashSet<T>(n).apply {
repeat(n) {
add(fn(it))
}
}
Run Code Online (Sandbox Code Playgroud)
使用时,它看起来像一个普通的HashSet构造函数:
var real = HashSet<String>()
var fake = HashSet(5) { "Element $it" }
Run Code Online (Sandbox Code Playgroud)
这应该避免或鼓励,为什么?
我想将自托管的OpenID Connect(OIDC)服务器与JWT结合使用作为授权令牌(OIDC术语中的访问令牌).当UI是经典和单页应用程序(Angular)的混合时,JWT将用于保护REST服务.这样,REST层就能够基于无状态JWT令牌进行授权,因此不需要额外的数据库连接,如下所述:
https://auth0.com/blog/2014/01/07/angularjs-authentication-with-cookies-vs-token/
对于单页面应用程序,OIDC Implicit Flow是合适的.但是,当Implicit Flow与无状态JWT令牌结合使用时,我看到一个安全问题:令牌作为URL中的片段部分传递,这意味着无法删除它们(它们在浏览器历史记录中很容易获得)也无效他们(他们是无国籍的) - >没有注销可能.
我看到2个缓解这个的选项:
第三种选择是放弃无状态JWT令牌并使用带有DB检查的简单承载令牌.
我错过了什么吗?你会选择什么?
要阅读Facebook Hacker Cup 2016 Boomerang Constelations问题中的文件星标,可以定义以下扩展功能:
fun BufferedReader.readStars(n: Int): Set<Star> {
return Array(n) {
val (l1, l2) = readLine().split(" ").map { it.toInt() }
Star(l1, l2)
}.toHashSet()
}
Run Code Online (Sandbox Code Playgroud)
代码很紧凑,但首先将值读入数组,然后转换为a HashSet.有没有办法在Kotlin中直接初始化a 和sizeizator函数HashSet的大小n?
更新:标准Kotlin库中是否存在现有方法?
我精通 RxJS 并初步使用 Reactor 框架 (java)。
Reactor 中的BehaviorSubject 相当于什么?
或者与 RxJS 相比,Reactor 中使用的模式是否完全不同?对于了解 RxJS 的人来说,有什么好的学习 Reactor 的参考吗?
angular ×2
java ×2
kotlin ×2
security ×2
angular-cli ×1
collections ×1
cookies ×1
hibernate ×1
javascript ×1
jpa ×1
jwt ×1
optimization ×1
persistence ×1
servlets ×1