我写了这个简单的方法来处理我的简单服务器代理中的CORS.
private void handleCors(HttpServletRequest req, HttpServletResponse resp) {
final String origin = req.getHeader("Origin");
if (Strings.isNullOrEmpty(origin)) {
return;
}
if (!origin.startsWith("http://localhost:")) {
return;
}
resp.setHeader("Access-Control-Allow-Origin", origin);
resp.setHeader("Access-Control-Allow-Credentials", "true");
resp.setHeader("Access-Control-Expose-Headers", "Authorization");
resp.setHeader("Access-Control-Allow-Headers", "Authorization, Content-Type");
}
Run Code Online (Sandbox Code Playgroud)
实际应用程序不需要它,它仅在手动测试时使用(带ionic serve).我想,这是安全的,因为除了原点是localhost之外什么都不做,但比抱歉更安全.
此外,findbugs抱怨响应分裂漏洞.我应该简单地使用URLEncoder.html#encode还是有更多内容吗?
将一般去掉空格或包含空格的情况下做的没有加入CORS标头?
我正在寻找类似于这个答案的解决方案,但更安全.我想禁用证书验证,但仅针对单个请求(这是我所需要的).所以它应该做以下一个或多个
当我要求更安全的解决方案时,我真的想知道这个问题(得分-2)与原始问题(得分+46)相比有什么问题.有人能解释一下吗
解释为什么我需要这个:有一个有效的服务器证书,通常,它被使用.但我需要发送一个请求localhost,它也必须在开发人员计算机上工作.必须是https因为没有http支持.
当git repack从命令行执行操作时,包会被锁定并且无法删除,从而使回购邮件大小加倍.罪魁祸首很可能是EGit保持文件打开(这在Windows中很糟糕).退出Eclipse是我所知道的唯一解决方法.我发现了这篇文章,但EGit没有这样的选择.还有其他想法吗?
不同于C,在Java是的结果x/y和x%y良好定义的甚至为负的操作数.令人惊讶的是,它的定义是向零舍入,而不是向下舍入(即向负无穷大).有没有人利用这个定义?
在大多数情况下,我只是不在乎,但有时我不得不解决这个问题,例如,在使用modulo计算索引时array.length.
这不是咆哮,如果有这个定义的用途,我真的很感兴趣.
在54:15 关于Effective Java的讨论中,Joshua Bloch建议get之前使用它putIfAbsent来提高性能和并发性.这引出了一个问题,为什么这个优化已经没有像
public V BETTER_putIfAbsent(K key, V value) {
V result = get(key);
if (result!=null) return result;
return ORIGINAL_putIfAbsent(key, value);
}
Run Code Online (Sandbox Code Playgroud) 鉴于奇怪long x,我正在寻找long y他们的产品模数2**64(即,使用正常的溢出算术)等于1.明确我的意思:这可以用几千年的方式计算:
for (long y=1; ; y+=2) {
if (x*y == 1) return y;
}
Run Code Online (Sandbox Code Playgroud)
我知道这可以使用扩展的欧几里德算法快速解决,但它需要能够表示所有涉及的数字(范围最大2**64,所以即使是无符号算术也无济于事).使用BigInteger肯定会有所帮助,但我想知道是否有更简单的方法,可能使用为正长度实现的扩展欧几里德算法.
我想尝试这种有趣的标题栏着色,但它对我不起作用,因为
getWindow().findViewById(android.R.id.title);
Run Code Online (Sandbox Code Playgroud)
返回空值。所以我用 Hierarchy Viewer 查看了它,发现调用了视图id/action_bar。但没有R.id.action_bar(自动完成不提供它,也没有这样的东西R.java)。
所以现在我双重困惑:
android.R.id.title(我在模拟器中使用版本 16)?id/action_bar?我应该使用 ActionBarSherlock 吗?我本来只是想改变标题栏的颜色......而不是胡闹很多。
此Java方法用于基准测试以模拟慢速计算:
static int slowItDown() {
int result = 0;
for (int i = 1; i <= 1000; i++) {
result += i;
}
return result;
}
Run Code Online (Sandbox Code Playgroud)
这是恕我直言,这是一个非常糟糕的主意,因为它的身体可以被取代return 500500.这似乎永远不会发生1 ; 可能是因为这样的优化与Jon Skeet所说的实际代码无关.
有趣的是,一个稍微简单的方法result += 1;得到了完全优化(卡尺报告0.460543 ns).
但即使我们同意优化离开返回常量结果的方法对于实际代码也没用,但仍然存在循环展开,这可能会导致像
static int slowItDown() {
int result = 0;
for (int i = 1; i <= 1000; i += 2) {
result += 2 * i + 1;
}
return result;
}
Run Code Online (Sandbox Code Playgroud)
所以我的问题仍然存在:为什么这里没有进行优化?
1与我最初写的相反; 我必须看到一些不存在的东西.
使用angularjs,我正在显示这样的2级列表
- first main item
- first subitem of the first main item
- second subitem of the first main item
- AN EMPTY ITEM AS PLACEHOLDER TO ENTER THE NEXT SUBITEM
- second main item
- first subitem of the second main item
- second subitem of the second main item
- AN EMPTY ITEM AS PLACEHOLDER TO ENTER THE NEXT SUBITEM
Run Code Online (Sandbox Code Playgroud)
为了节省空间,我只想在相应的任何东西div都有焦点的情况下展示PLACEHOLDER ,这样只有一个这样的占位符.我知道有ngFocus,但我更喜欢比创建大量事件处理程序更简单的东西.也许是这样的:
<div ng-focus-model="mainItem.hasFocus" ng-repeat="mainItem in list">
... main item line
... all …Run Code Online (Sandbox Code Playgroud) 我正在使用PostUpdateEventListener注册的via
registry.appendListeners(EventType.POST_COMMIT_UPDATE, listener)
Run Code Online (Sandbox Code Playgroud)
以及其他一些听众,以便跟踪Hibernate所做的更改.这很好用,但是,我看到一个问题:
比方说,对于跟踪一些amount通过id,我简单地执行
amountByIdConcurrentMap.put(id, amount);
Run Code Online (Sandbox Code Playgroud)
在每一个POST_COMMIT_UPDATE(让我们忽略其他操作).问题是这个调用在提交后的某个时间发生.因此,两个提交一个接一个地写一个相同的实体,我可以以错误的顺序接收事件,最终amount存储旧的.