我刚刚注意到与DateTime比较似乎是一个荒谬的缺陷.
DateTime d = DateTime.Now;
DateTime dUtc = d.ToUniversalTime();
d == dUtc; // false
d.Equals(dUtc); //false
DateTime.Compare(d, dUtc) == 0; // false
Run Code Online (Sandbox Code Playgroud)
似乎DateTimes上的所有比较操作都无法执行任何类型的智能转换(如果一个是DateTimeKind.Local,一个是DateTimeKind.UTC).除了始终将比较中涉及的两者都转换为utc时间之外,这是一种更好的方法来可靠地比较DateTimes吗?
我记得有一段时间用eclipse或netbeans我能够轻松地将我的源文件包含在我的jar文件中.我已经转移到intellij 10社区版,并发现自己需要做同样的事情.任何提示?
我知道这可以用mvc2完成,但是有没有办法让visual studio(2010)/ resharper(6)在编译时检查aspx页面上的错误并停止构建?Resharper可以很好地检测错误,因此似乎应该有一种方法将所有aspx页面的检查集成到构建过程中.
有小费吗?
除了使用如下的反射检查之外,有没有办法要求类具有默认(无参数)构造函数?(以下是可行的,但它很hacky,反射很慢)
boolean valid = false;
for(Constructor<?> c : TParse.class.getConstructors())
{
if(c.getParameterTypes().length == 0) {
valid = true;
break;
}
}
if(!valid)
throw new MissingDefaultConstructorException(...);
Run Code Online (Sandbox Code Playgroud) 使用socket.io只是为了概念验证,到目前为止,everthing工作得很好,除了我无法让我的emit回调在客户端工作.我必须在这里错过一些愚蠢的东西,但文档目前并不是杀手锏.服务器接收"getSomeData"事件就好了,任何地方都没有错误.
从我在客户端socket.io源中可以看出,它检查发出的最后一个参数是否是一个函数,并始终将其用作回调,但是调试任何比这更深的问题对我来说都是有问题的.
我觉得我必须在这里错过一些核心概念......这不是this.send(..)应该做的吗?我只能在示例应用程序中找到1个用法,而没有用于该事件发射的客户端代码的用户.
更新:为了清楚,我实际上故意发出事件客户端.这样做的目的是查看socket.io是否可以用于允许客户端除了接收推送之外还根据请求提取数据.
服务器:
var io = require('socket.io').listen(80);
io.sockets.on('connection', function (socket) {
socket.on("getSomeData", function() {
this.send({data: "some random data"});
});
});
Run Code Online (Sandbox Code Playgroud)
客户端:( console.log永远不会发生)
<script type="text/javascript" src="http://localhost/socket.io/socket.io.js"></script>
<script type="text/javascript">
var socket = io.connect('http://localhost');
socket.emit("getSomeData", function(data) {
console.log(data);
});
</script>
Run Code Online (Sandbox Code Playgroud) 显然我已经失去了所有的谷歌技能.对于尝试跨浏览器标准化javascript并提供小的增强功能的javascript库,我找不到任何好的结果.
我不是在寻找像jQuery,Prototype等完整的框架......即使他们在某种程度上做了这种类型的事情.我只谈论语言/可用功能标准化,没有DOM的东西.只是一个很好的跨浏览器库,可以确保所有标准内容的可用性(数组映射,减少等等),支持IE 6/7/8中的Date.toISOString()之类的内容......我已经知道了ie7.js,ie8.js和ie9.js,但它们并不完全符合法案.
那还有什么呢?
更新 只是要清楚,这是图书馆所做的事情类型(所有的crossbrowser,显然有本地回退):
我一直在寻求将AWS(Web)控制台连接到AD或ADFS设置以管理用户.在IAM和一些现有ADFS基础架构中使用SAML身份提供程序非常容易.
问题是,与普通AWS用户帐户相反,以这种方式进行身份验证的用户无论如何都无法获得关联的访问密钥.访问密钥是用于验证诸如AWS CLI之类的东西的关键概念,AWS CLI需要绑定到单个用户帐户.
允许通过SAML身份提供程序进行身份验证的用户仍然能够轻松使用aws CLI的解决方法是什么?我唯一想到的就是一些hacky垃圾,它会代理awscli命令,从aws STS服务请求临时的1小时凭证,将它们放入aws凭证文件中,然后将命令转发给正常的AWS CLI.但是,这让我想要一点点; 另外,我不知道如果命令花了一个多小时才能完成(大s3上传等等).
建议?我会尝试正式的目录服务AD连接器,但我的理解是用户仍然只是假设IAM角色,并最终会有同样的问题.
使用时file:read_file(x)是否需要关闭返回的文件?
{ok, File} = file:read_file("maillog.sample"),
file:close(File),
Run Code Online (Sandbox Code Playgroud) 我在今年的假日季节感到无聊,并随机决定为Java编写一个简单的列表理解/过滤库(我知道那里有一些很棒的,我只是想把它自己写得很糟糕).
对于此列表:
LinkedList<Person> list = new LinkedList<Person>();
list.add(new Person("Jack", 20));
list.add(new Person("Liz", 58));
list.add(new Person("Bob", 33));
Run Code Online (Sandbox Code Playgroud)
语法是:
Iterable<Person> filtered = Query.from(list).where(
Condition.ensure("Age", Op.GreaterEqual, 21)
.and(Condition.ensure("Age", Op.LessEqual, 50));
Run Code Online (Sandbox Code Playgroud)
我知道它的丑陋,但如果我使用静态导入并使用更短的方法名称,它变得非常简洁.
以下语法是最终目标:
Iterable<Person> list2 = Query.from(list).where("x=> x.Age >= 21 & x.Age <= 50");
Run Code Online (Sandbox Code Playgroud)
显然,表达式解析不是我最强的区域,我在解析嵌套/多个条件时遇到了麻烦.有人知道我可能会发现有用的一些资源/文献吗?
我现在只有从String lambda语法中成功解析出单个条件表达式:"x=> x.Name == Jack".我的底层Expression结构非常可靠,可以轻松处理任何数量的嵌套,问题只是从字符串解析表达式.
谢谢
只是为了解决问题,这里有一点了解幕后的表达结构是如何工作的(显然我可以在下面的例子中指定'op.GreaterEqual'等...但我想证明它是如何灵活的到任何数量的嵌套):
Condition minAge1 = Condition.ensure("Age", Op.Equal, 20);
Condition minAge2 = Condition.ensure("Age", Op.Greater, 20);
Expression minAge = new Expression(minAge1, Express.Or, minAge2);
Expression maxAge = Condition.ensure("Age", Op.Equal, 50).or(Condition.ensure("Age", Op.Less, 50));
Expression ageExpression = …Run Code Online (Sandbox Code Playgroud) 我最近一直想知道正则表达式实现的性能,并且很难找到很多有用的信息.
它很容易对浏览器/ javascript正则表达式进行基准测试(网上有很多工具).Chrome和Opera中的javascript正则表达式实现几乎毁掉了所有其他主流浏览器.
但是当谈到最快的c ++,java,c#,python等等.正则表达式实现时,没有太多好的基准或比较.
那么,最快的正则表达式库是什么,接近完整的功能实现?(不太关心反向引用)