小编ori*_*rip的帖子

在JavaScript中检测"无效日期"日期实例

我想告诉JS中有效和无效日期对象之间的区别,但无法弄清楚如何:

var d = new Date("foo");
console.log(d.toString()); // shows 'Invalid Date'
console.log(typeof d); // shows 'object'
console.log(d instanceof Date); // shows 'true'
Run Code Online (Sandbox Code Playgroud)

编写isValidDate函数的任何想法?

  • Ash建议Date.parse用于解析日期字符串,它提供了一种检查日期字符串是否有效的权威方法.
  • 如果可能的话,我希望我的API接受一个Date实例,并且能够检查/断言它是否有效.Borgar的解决方案就是这样做的,但我需要跨浏览器进行测试.我也想知道是否有更优雅的方式.
  • Ash让我觉得根本没有我的API接受Date实例,这最容易验证.
  • Borgar建议测试一个Date实例,然后测试它Date的时间值.如果日期无效,则时间值为NaN.我用ECMA-262检查了这个行为是标准的,这正是我正在寻找的.

javascript date

1381
推荐指数
24
解决办法
75万
查看次数

合并C#中的词典

Dictionary<T1,T2>在C#中合并2个或更多字典()的最佳方法是什么?(像LINQ这样的3.0功能很好).

我正在考虑一种方法签名:

public static Dictionary<TKey,TValue>
                 Merge<TKey,TValue>(Dictionary<TKey,TValue>[] dictionaries);
Run Code Online (Sandbox Code Playgroud)

要么

public static Dictionary<TKey,TValue>
                 Merge<TKey,TValue>(IEnumerable<Dictionary<TKey,TValue>> dictionaries);
Run Code Online (Sandbox Code Playgroud)

编辑:从Jare​​dPar和Jon Skeet得到一个很酷的解决方案,但我正在考虑处理重复键的东西.在发生碰撞的情况下,只要它是一致的,将哪个值保存到dict并不重要.

c# merge dictionary

464
推荐指数
13
解决办法
26万
查看次数

公开数据库ID - 安全风险?

我听说暴露数据库ID(例如在URL中)存在安全风险,但我无法理解原因.

关于为何存在风险或为何不存在风险的任何意见或联系?

编辑:当然访问是作用域的,例如,如果你看不到资源,foo?id=123你会得到一个错误页面.否则URL本身应该是秘密的.

编辑:如果URL是秘密的,它可能包含生成有限的生成令牌,例如有效1小时,只能使用一次.

编辑(几个月后):我目前的首选做法是使用UUIDS作为ID并公开它们.如果我使用序列号(通常用于某些DB上的性能)作为ID,我喜欢为每个条目生成一个UUID令牌作为备用键,并公开它.

database security

118
推荐指数
7
解决办法
3万
查看次数

如何可视化或格式化diff/patch文件?

我有一个补丁文件(统一差异),像输出svn diff,git diffdiff -u ....我想回顾一下,但统一的差异格式 - 特别是有很多文件和变化 - 对我来说很难.

如何从补丁文件中获取格式良好的差异视图?我没有文件本身,只有diff,所以我不能使用所有常规的diff工具.

到目前为止,我最好的两个策略是:

  1. 在gvim中加载diff并获得一些语法突出显示
  2. 将差异粘贴到#!diff-formatted部分中的Trac wiki中,然后单击"预览" - 这将创建一个非常棒的差异视图:
{{{
#!diff
<unified diff here>
}}}

有桌面工具可以做到这一点吗?有没有办法说服kdiff3/diffmerge/p4merge /等可视化补丁文件?复制Trac可视化的东西也会很棒.

编辑:Windows支持的奖励积分,最好是安装程序或无痛安装.

formatting diff visualization patch

34
推荐指数
3
解决办法
3万
查看次数

非锁定进程内ASP.NET会话状态存储

我正在使用ASP.NET的进程内会话状态存储.它专门锁定对会话的访问,这意味着顺序地向同一会话发送并发请求.

我想删除这个隐式的独占锁,因此可以同时处理每个会话的多个请求.当然,我将在适用的情况下自己同步对会话状态的访问.

我正在使用会话状态提供程序MSDN文档来编写我自己的会话状态提供程序,这个SO问题向我指出了将此实现为HTTP模块的示例代码,但代码看起来很复杂,只是为了删除锁.

我应该最终使用ASP.NET的缓存来实现会话状态,并停止使用内置会话,就像Vivek在本文中所描述的那样,但是现在我想如何删除锁定.

任何想法或示例实现?

asp.net session session-state

15
推荐指数
2
解决办法
7685
查看次数

在混合MVC/WebForms ASP.NET应用程序中"添加控制器"/"添加视图"

我有一个现有的WebForms项目,我正在添加MVC页面.我创建了一个MVC项目并复制了项目类型guids.

它工作正常,但我无法让Visual Studio在我的控制器和视图目录上显示"添加控制器"或"添加视图"向导(它们不是,/Controllers并且/Views它们在/Foo/Controllers和中/Foo/Views).

是否可以启用向导?

asp.net-mvc visual-studio

13
推荐指数
4
解决办法
7137
查看次数

使用JUnit和JDK测试Android代码

我正在为我的Android代码编写一些POJO测试.

我想用JDK本地运行它们(不是在模拟器上使用Dalvik) - 速度,JUnit 4,Mockito,并且能够在没有设备的情况下运行无头 - 所以我在Eclipse中有一个单独的"Java"项目.

如果我正在测试的方法恰好引用Android SDK中的任何内容,例如android.util.Log,测试失败 - 这是有道理的,因为android.jar它不在类路径中.重现我有这个测试用例:

public class FooTests {
  @Test
  public void testFoo() {
    android.util.Log.d("x", "y");
  }
}
Run Code Online (Sandbox Code Playgroud)

如果我android.jar显式添加到测试项目的类路径中,我会得到类似的异常

java.lang.RuntimeException: Stub!
  at android.util.Log.d(Log.java:7)
  at com.example.FooTests.testFoo(FooTests.java:39)
  at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
  ...
  at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.main(RemoteTestRunner.java:197)
Run Code Online (Sandbox Code Playgroud)

有没有办法让代码工作而不会嘲笑Android SDK依赖的最后一点?也许android.jar已经存在嘲弄?

编辑:现在我最终将类包装起来android.util.Log并将它们注入到实例中,用于经典的基于IOC的测试.斯科特的PowerMock建议是我需要它的下一步.

稍后编辑:Robolectric!

java eclipse junit android junit4

11
推荐指数
1
解决办法
6286
查看次数

c#HttpWebRequest POST'ing失败

所以我正试图将一些东西发布到网络服务器上.

System.Net.HttpWebRequest EventReq = (System.Net.HttpWebRequest)System.Net.HttpWebRequest.Create("url");
System.String Content = "id=" + Id;
EventReq.ContentLength = System.Text.Encoding.UTF8.GetByteCount(Content);
EventReq.Method = "POST";
EventReq.ContentType = "application/x-www-form-urlencoded";
System.IO.StreamWriter sw = new System.IO.StreamWriter(EventReq.GetRequestStream(), System.Text.Encoding.UTF8);
sw.Write(Content);
sw.Flush();
sw.Close();
Run Code Online (Sandbox Code Playgroud)

看起来没问题,我根据ENCODED数据的大小设置内容长度...无论如何,它在sw.flush()失败,"要写入流的字节超过指定的内容长度大小"

StreamWriter在我背后做了一些魔法,我不知道吗?有没有办法让我了解StreamWriter正在做什么?

c# webrequest httpwebrequest streamwriter

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

如何在eclipse中为Team-> Add命令添加键盘快捷键

我想在eclipse中使用Team-> Add和Team-> Commit的键盘快捷键.我正在使用eGit.

我在Preferences-> General-> Keys中添加了它们,其工作原理是键出现在Team-> add和Team-> commit旁边的菜单上.

但是,当我按下键时似乎没有任何事情发生.在第一个键之后弹出小键辅助窗口并向我显示匹配的命令,其中包含"添加到Git索引",但该文件未添加到git索引中.

更一般地说,我希望能够将当前项目提交给git而无需使用鼠标.

eclipse keyboard-shortcuts egit

9
推荐指数
1
解决办法
2245
查看次数

C#:使用超时下载URL

在.NET中最好的方法是什么?我总是忘记我需要Dispose()(或包裹using).

编辑:经过长时间的使用WebRequest,我发现了自定义WebClient.好多了.

c# timeout .net-3.0 webrequest httpwebrequest

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