当用户关闭浏览器窗口或刷新页面时,有没有办法运行最终的JavaScript代码?
我正在考虑类似于onload的东西,但更像是onclose?谢谢.
我不喜欢onbeforeunload方法,它总是会弹出一个确认框(保留页面/停留在mozilla上)或(重新加载/不重新加载chrome).有没有办法安静地执行代码?
为了在给定的秒数内缓存每个标签和语言的操作,我编写了以下帮助器方法(其中label,是我给我的操作赋予的名称):
def cacheResponseFor(label: String, duration: Int)(action: EssentialAction) = {
Cached({r: RequestHeader => (label + getLanguage(r))}, duration){ action }
}
def getLanguage(request: RequestHeader): String = {
request.cookies
.get(helpers.SessionHelpers.LANGUAGE_SESSION)
.map(_.value)
.getOrElse(helpers.LanguageHelpers.FRENCH)
}
Run Code Online (Sandbox Code Playgroud)
但是我遇到了一些奇怪的事情,当我尝试缓存一个Action60秒并在此期间将语言切换为法语时,我会继续使用法语版本60秒然后切换到英语.
在调查之后,我发现getLanguage 在每次调用该操作时都不会调用该方法,就好像Key仅在缓存期结束后才进行评估.
这是不对的,我希望cacheResponseFor每当我请求我的页面时调用它,语言得到评估使用getLanguage,我得到正确的缓存版本,即我最终应该有2个缓存操作(每种语言一个).
我错过了什么吗?
我在interviewStreet网上找到了一个谜题,并尝试按如下方式解决:
有一个无限的整数网格,N人有他们的房子.他们决定团结在一个共同的聚会场所,这是一个人的家.从任何给定的小区,所有8个相邻小区在1个单位时间内可达.例如:(x,y)可以在一个单位时间内从(x-1,y + 1)到达.找到一个共同的聚会场所,最大限度地减少所有人的旅行时间总和.
我首先想到的是及时编写n²复杂度的解决方案,但约束条件是
1 <= N <= 10 ^ 5并且输入中每个坐标的绝对值将至多为10 ^ 9
所以,我改变了我的第一种方法,而不是考虑距离和旅行时间的问题,我把不同的房子看作不同的身体,不同的重量.而不是计算所有距离,我寻找这组物体的重心.
这是我的"求解"函数的代码,vectorToTreat是一个lengthX2表,存储有关网格上各点的所有数据,结果是打印到stdout的数字:
long long solve(long long** vectorToTreat, int length){
long long resul = 0;
int i;
long long x=0;
long long y=0;
int tmpCur=-1;
long long tmp=-1;
for(i=0;i<length;i++){
x+=vectorToTreat[i][0];
y+=vectorToTreat[i][1];
}
x=x/length;
y=y/length;
tmp = max(absol(vectorToTreat[0][0]-x),absol(vectorToTreat[0][1]-y));
tmpCur = 0;
for(i=1;i<length;i++){
if(max(absol(vectorToTreat[i][0]-x),absol(vectorToTreat[i][1]-y))<tmp){
tmp = max(absol(vectorToTreat[i][0]-x),absol(vectorToTreat[i][1]-y));
tmpCur = i;
}
}
for(i=0;i<length;i++){
if(i!=tmpCur)
resul += max(absol(vectorToTreat[i][0]-vectorToTreat[tmpCur][0]),absol(vectorToTreat[i][1]-vectorToTreat[tmpCur][1]));
}
return resul;
}
Run Code Online (Sandbox Code Playgroud)
现在的问题是我通过了12个官方测试案例超过13个,我看不出我做错了什么想法?提前致谢.AE
Akka文档记录了使用的危险变体Props:
// NOT RECOMMENDED within another actor:
// encourages to close over enclosing class
val props7 = Props(new MyActor)
Run Code Online (Sandbox Code Playgroud)
然后继续说明:
不推荐使用这种方法,因为它鼓励以关闭在所述封闭的范围,导致不可序列道具和可能的竞争条件(断裂演员封装)被另一个演员内使用.
有人可以解释一下"关闭封闭范围"的含义吗?一直在寻找,一无所获.谢谢.
任何人都可以想到一种方法来从两个字符串中创建一个唯一的哈希?确保的东西:
hash(string1,string2) = hash(string2,string1).
我总是可以在地图中的两个不同值下存储相同的引用,但我想:必须有更好的方法......
我需要执行一个代码,允许在应用程序启动时启动预定作业,我该怎么做?谢谢.
我正在尝试使用banana-RDF,一个本地出版的图书馆(使用SBT发布publish-local)来自Play!框架项目,但是当compile从Play的控制台运行时,想要的库没有被解析,当compile从SBT的控制台使用时,一切都很顺利.
我发现这种行为非常奇怪,因为Play使用SBT来解决依赖关系.顺便说一下,我在我的Play项目中使用了0.12.3版本的SBT.
我在使用Play编译时遇到的错误非常基本:
[warn] module not found: org.w3#banana_2.10;2013_02_21-SNAPSHOT
[warn] ==== local: tried
[warn] /home_local/.installedSoftware/play-2.1.1/repository/local/org.w3/banana_2.10/2013_02_21-SNAPSHOT/ivys/ivy.xml
[warn] ==== Typesafe Releases Repository: tried
[warn] http://repo.typesafe.com/typesafe/releases/org/w3/banana_2.10/2013_02_21-SNAPSHOT/banana_2.10-2013_02_21-SNAPSHOT.pom
[warn] ==== Typesafe Snapshots Repository: tried
[warn] http://repo.typesafe.com/typesafe/snapshots/org/w3/banana_2.10/2013_02_21-SNAPSHOT/banana_2.10-2013_02_21-SNAPSHOT.pom
[warn] ==== Akka Snapshots: tried
[warn] http://repo.akka.io/snapshots/org/w3/banana_2.10/2013_02_21-SNAPSHOT/banana_2.10-2013_02_21-SNAPSHOT.pom
[warn] ==== OSS117: tried
[warn] http://oss.sonatype.org/content/repositories/snapshots/org/w3/banana_2.10/2013_02_21-SNAPSHOT/banana_2.10-2013_02_21-SNAPSHOT.pom
[warn] ==== Local Maven Repository: tried
[warn] file:///home_local/.m2/repository/org/w3/banana_2.10/2013_02_21-SNAPSHOT/banana_2.10-2013_02_21-SNAPSHOT.pom
[warn] ==== Local SBT Repository: tried
[warn] file:///home_local/.ivy2/local/org/w3/banana_2.10/2013_02_21-SNAPSHOT/banana_2.10-2013_02_21-SNAPSHOT.pom
[warn] ==== public: tried
[warn] http://repo1.maven.org/maven2/org/w3/banana_2.10/2013_02_21-SNAPSHOT/banana_2.10-2013_02_21-SNAPSHOT.pom
Run Code Online (Sandbox Code Playgroud)
任何人都可以解释这里发生了什么?先感谢您.
我有一个返回一个java.lang.Integer中,然后用隐Scala的PREDEF隐式转换转换为int多种方法,这里是它是如何写有:
implicit def Integer2int(x: java.lang.Integer): Int = x.intValue
Run Code Online (Sandbox Code Playgroud)
这种转换对我来说并不令人满意,我想要的是:
implicit def Integer2int(x: java.lang.Integer): Int =
Option(x).getOrElse(new Integer(0)).intValue
Run Code Online (Sandbox Code Playgroud)
因为Integer有时可以null,在这种情况下,Predef的隐式转换也返回null,我希望它为0.
我编写了自己的转换但是我一直都会收到错误,因为它已经在Predef中声明了,所以这个声明是不明确的.
我的问题是,有没有办法真正覆盖Predef的隐式转换?
我遵循从 react-bootstrap 导入单个组件的建议,就像这样import Container from "react-bootstrap/Container";。我已经验证了整个代码库,每个导入都是相同的。然而,当我分析捆绑包时,它表明 react-bootstrap 已被完整捆绑。
任何想法我可能会错过什么?
我正在尝试运行同一个Play应用程序的两个实例,以便将来透明地升级应用程序.
当我启动第一个实例时,一切都很顺利.当我启动start 9525命令以在端口9525上启动应用程序的第二个实例时,我收到以下错误:
Play server process ID is 8909
This application is already running (Or delete .../RUNNING_PID file)
Run Code Online (Sandbox Code Playgroud)
知道如何解决这个问题吗?