如果我运行以下程序,它解析引用时间间隔为1秒的两个日期字符串并比较它们:
public static void main(String[] args) throws ParseException {
SimpleDateFormat sf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
String str3 = "1927-12-31 23:54:07";
String str4 = "1927-12-31 23:54:08";
Date sDt3 = sf.parse(str3);
Date sDt4 = sf.parse(str4);
long ld3 = sDt3.getTime() /1000;
long ld4 = sDt4.getTime() /1000;
System.out.println(ld4-ld3);
}
Run Code Online (Sandbox Code Playgroud)
输出是:
353
为什么ld4-ld3不1(正如我所期望的那样,在时间上只有一秒钟的差异),但是353?
如果我将日期更改为1秒后的时间:
String str3 = "1927-12-31 23:54:08";
String str4 = "1927-12-31 23:54:09";
Run Code Online (Sandbox Code Playgroud)
然后ld4-ld3会1.
Java版本:
java version "1.6.0_22"
Java(TM) SE Runtime Environment (build 1.6.0_22-b04) …Run Code Online (Sandbox Code Playgroud) 我想查询一下SQL的like查询:
SELECT * FROM users WHERE name LIKE '%m%'
Run Code Online (Sandbox Code Playgroud)
如何在MongoDB中做同样的事情?
我like在文档中找不到运算符.
我是MongoDB的新手 - 来自关系数据库背景.我想设计一个带有一些注释的问题结构,但我不知道用于评论的关系:embed或者reference?
有一些注释的问题,比如stackoverflow,会有这样的结构:
Question
title = 'aaa'
content = bbb'
comments = ???
Run Code Online (Sandbox Code Playgroud)
首先,我想使用嵌入式注释(我认为embed在MongoDB中推荐),如下所示:
Question
title = 'aaa'
content = 'bbb'
comments = [ { content = 'xxx', createdAt = 'yyy'},
{ content = 'xxx', createdAt = 'yyy'},
{ content = 'xxx', createdAt = 'yyy'} ]
Run Code Online (Sandbox Code Playgroud)
很清楚,但我担心这种情况:如果我想编辑指定的评论,我该如何获取其内容及其问题?没有_id让我找到一个,也没有question_ref让我找到它的问题.(我是新手,我不知道如果没有_id和没有任何方法可以做到这一点question_ref.)
我必须用ref不embed?然后我必须创建一个新的评论集合?
我的范围中有一个对象数组,我想要观察每个对象的所有值.
这是我的代码:
function TodoCtrl($scope) {
$scope.columns = [
{ field:'title', displayName: 'TITLE'},
{ field: 'content', displayName: 'CONTENT' }
];
$scope.$watch('columns', function(newVal) {
alert('columns changed');
});
}
Run Code Online (Sandbox Code Playgroud)
但是当我修改值时,例如我TITLE改为TITLE2,alert('columns changed')从不弹出.
如何深入观察数组内的对象?
有一个现场演示:http://jsfiddle.net/SYx9b/
我正在使用MongoDB 的node-mongodb-native驱动程序来编写一个网站.
我有一些关于如何管理连接的问题:
对所有请求只使用一个MongoDB连接是否足够?有任何性能问题吗?如果没有,我可以设置全局连接以在整个应用程序中使用吗?
如果没有,如果我在请求到达时打开一个新连接并在处理请求时关闭它是否合适?打开和关闭连接是否昂贵?
我应该使用全局连接池吗?我听说驱动程序有一个本机连接池.这是一个不错的选择吗?
如果我使用连接池,应该使用多少个连接?
还有其他我应该注意的事情吗?
我使用nginx作为前端服务器,我修改了CSS文件,但是nginx仍在服务旧的.
我试图重新启动nginx,没有成功,我有谷歌搜索,但没有找到一个有效的方法来清除它.
有些文章说我们可以删除缓存目录:var/cache/nginx但是我的服务器上没有这样的目录.
我现在应该怎么做?
Mochatest默认尝试查找测试文件,如何指定另一个目录,例如server-test?
我认为这是我用angularjs指令理解的最难的概念之一.
来自http://docs.angularjs.org/guide/directive的文件说:
transclude - 编译元素的内容并使其可用于指令.通常与ngTransclude一起使用.翻译的优点是链接功能接收预先绑定到正确范围的翻译功能.在典型的设置中,窗口小部件创建隔离范围,但是转换不是子项,而是隔离范围的兄弟.这使得窗口小部件可以具有私有状态,并且将转换绑定到父(预隔离)范围.
- true - 转换指令的内容.
- 'element' - 转换整个元素,包括以较低优先级定义的任何指令.
它transclude通常用于ngTransclude.但是来自ngTransclude文档的样本根本不使用ngTransclude指令.
我想要一些很好的例子来帮助我理解这一点.我们为什么需要它?它解决了什么?如何使用它?
val map1 = Map(1 -> 9 , 2 -> 20)
val map2 = Map(1 -> 100, 3 -> 300)
Run Code Online (Sandbox Code Playgroud)
我想合并它们,并将相同键的值相加.结果将是:
Map(2->20, 1->109, 3->300)
Run Code Online (Sandbox Code Playgroud)
现在我有2个解决方案:
val list = map1.toList ++ map2.toList
val merged = list.groupBy ( _._1) .map { case (k,v) => k -> v.map(_._2).sum }
Run Code Online (Sandbox Code Playgroud)
和
val merged = (map1 /: map2) { case (map, (k,v)) =>
map + ( k -> (v + map.getOrElse(k, 0)) )
}
Run Code Online (Sandbox Code Playgroud)
但我想知道是否有更好的解决方案.
我有一个带有一些键的对象,我想只保留一些键值?
我尝试过filter:
const data = {
aaa: 111,
abb: 222,
bbb: 333
};
const result = _.filter(data, (value, key) => key.startsWith("a"));
console.log(result);Run Code Online (Sandbox Code Playgroud)
但它打印一个数组:
<script src="https://cdnjs.cloudflare.com/ajax/libs/lodash.js/4.17.15/lodash.min.js"></script>Run Code Online (Sandbox Code Playgroud)
这不是我想要的.
如何用lodash做到这一点?或者其他什么,如果lodash不工作?