小编Old*_*Pro的帖子

为什么Java Calendar会说本月的第一个星期四是第5周?

我想弄清楚如何在一周的特定日期发出警报.这是打印我期望的示例代码:

  Calendar calendar = Calendar.getInstance();
  calendar.set(Calendar.WEEK_OF_MONTH, 1);
  System.out.println("Week of month: " + calendar.get(Calendar.WEEK_OF_MONTH)); // Week of month: 1
Run Code Online (Sandbox Code Playgroud)

但是,当我将其添加到代码中时,我得到的结果我不明白:

  Calendar calendar = Calendar.getInstance();
  calendar.set(Calendar.DAY_OF_WEEK, Calendar.THURSDAY);
  calendar.set(Calendar.WEEK_OF_MONTH, 1);
  System.out.println("Week of month: " + calendar.get(Calendar.WEEK_OF_MONTH)); // Week of month: 5
Run Code Online (Sandbox Code Playgroud)

我试图在特定的一周内为特定日期设置警报.今天的日期是2013年6月15日.有人可以向我解释一下.Joda时间不是我正在做的选择,所以我需要使用常规Java库来完成这项工作.谢谢你的帮助.

编者注

上面的代码将根据运行日期返回不同的结果,因为Calendar.getInstance()将Calendar设置为当前时间.有关与当前时间无关的问题的说明,请使用以下命令:

DateFormat dateFormat = DateFormat.getDateInstance();
Calendar calendar = Calendar.getInstance();
calendar.setTimeInMillis(1371294000000L);
System.out.println(dateFormat.format(calendar.getTime()));
calendar.set(Calendar.DAY_OF_WEEK, Calendar.THURSDAY);
System.out.println(dateFormat.format(calendar.getTime()));
calendar.set(Calendar.WEEK_OF_MONTH, 1);
System.out.println("Week of month: " + calendar.get(Calendar.WEEK_OF_MONTH)); 
System.out.println(dateFormat.format(calendar.getTime()));
Run Code Online (Sandbox Code Playgroud)

哪个输出这样的东西(至少如果您的默认语言环境使用公历):

Jun 15, 2013
Jun 13, 2013
Week of month: 5
May 30, 2013
Run Code Online (Sandbox Code Playgroud)

java calendar

4
推荐指数
1
解决办法
1385
查看次数

时间序列为data.table中的`ts`列?

我有多组时间序列数据,并希望帮助找出将它们导入R并用R分析它们的最佳方法.我对data.table非常熟悉,但对R的ts类支持时间序列分析并不熟悉.

特别是,我想知道如何ts在这种情况下使用,或者是否存在限制ts(例如聚合一组ts对象的问题),使其适合在此处使用.

数据

有很多商店.对于每个商店,我每天都有多个数据点,例如以美元计的销售量,交易数量的销售量和商店流量(进入商店的人数).(实际上我所拥有的是一个包含列存储ID,日期以及该商店和日期数据的表.)

我一直在做的是使用data.table,每个商店有一行,按商店将数据聚合成几个月,并将每个月的值存储在一个单独的命名列中(例如jan14_dollars,feb14_dollars ......)但这很笨重出于很多原因,特别是当我想看几周或几周时.

我认为处理这个问题的正确方法是拥有类型的列,ts这样每一行都只是store, dollars_ts, transactions_ts, traffic_ts但是(a)如何将数据转换为该格式;(b)可以ts将整数的方式组合起来给我结果我想要?如果您只能回答(a)或(b)但不能回答两者,请尽量回答.

我无法提供逼真的数据集,但您可以生成一个随机的数据集,如下所示:

require("data.table")

storeData <- CJ(store = toupper(letters), date = seq(as.Date('2012-01-01'), as.Date('2014-01-01'), by="day"))
storeData$dollars = sample(100:100000, nrow(storeData), replace = TRUE)/100
storeData$transactions <- sample(0:1000, nrow(storeData), replace = TRUE)
storeData$traffic  <- storeData$transactions + sample(0:1000, nrow(storeData), replace = TRUE)

head(storeData)
   store       date  dollars transactions traffic
1:     A 2012-01-01   48.60          409     990
2:     A 2012-01-02  996.89           36     428
3: …
Run Code Online (Sandbox Code Playgroud)

r time-series data.table

3
推荐指数
1
解决办法
4679
查看次数

Ruby字符音译

在Ruby中将字符音译为7位ASCII的最佳方法是什么?我在SO上看到的大多数问题都是3或4年,而且解决方案并不完全有效.

我想要一种适用于各种拉丁字母的方法,例如转换

你的简历是一个非encyclopædia

至

你的简历是非百科全书

但我找不到这样做的方法,特别是将8位ASCII折叠为7位ASCII.

s =  "Your r\u00e9sum\u00e9\u2019s a non\u2013encyclop\u00e6dia"
puts Iconv.iconv('ascii//ignore//translit', 'utf-8', s)
# => Your r'esum'e's a non-encyclopaedia
puts s.encode('ascii//ignore//translit', 'utf-8')
# => Encoding::ConverterNotFoundError: code converter not found (UTF-8 to ascii//ignore//translit)
puts s.encode('ascii', 'utf-8')
# Encoding::UndefinedConversionError: U+00E9 from UTF-8 to US-ASCII
puts s.encode('ascii', 'utf-8', invalid: :replace, undef: :replace)
# Your r?sum??s a non?encyclop?dia
puts I18n.transliterate(s)
# Your resume?s a non?encyclopaedia
Run Code Online (Sandbox Code Playgroud)

由于Iconv被弃用,我宁愿不使用它,如果我没有,但我会这样做,如果这是唯一有效的.显然,我可以将自定义的8位ASCII转换为7位ASCII转换,但我更喜欢使用经过全面测试的支持解决方案.

International Components for Unicode及其Latin-ASCII翻译可以很好地处理翻译,但这仅适用于Java和C.

UPDATE

我最终做的是编写自己的角色翻译例程来处理标点符号和空格,之后我可以用它I18n.transliterate来完成剩下的工作.我仍然希望找到并使用维护良好的库函数来处理这些东西I18n.

ruby transliteration

2
推荐指数
1
解决办法
2185
查看次数

是什么导致此网页在加载时向下滚动?

我的页面上有许多第三方JS脚本。当我加载页面时,它会向下滚动到特定的div。

我已经花了两个小时试图找出导致滚动的代码。

有没有办法找出哪个脚本/部分代码触发了滚动?

html javascript debugging jquery google-chrome

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

按聚合排序的密码顺序

我需要在查询期间聚合数据,然后按此数据排序。

根据密码文档:

如果要使用聚合对结果集进行排序,则必须将聚合包含在要在 ORDER BY 中使用的 RETURN 中。

我有以下密码查询:

START profile=node(31) MATCH (profile)-[r:ROLE]->(story)
WHERE r.role="LEADER" and story.status="PRIVATE" 
WITH story MATCH (story)<-[r?:RATED]-() 
RETURN distinct story ,sum(r.rate) as rate ORDER BY rate DESCENDING
Run Code Online (Sandbox Code Playgroud)

上面的查询工作正常,问题是我必须在我的结果集中包含sum(r.rate)。

当查询响应应该是故事列表/页面时,我通过存储库使用Cypherdsl(我的存储库扩展了 CypherDslRepository )...

我可以使用按聚合函数排序而不将其包含在结果集中吗?
有什么解决方法吗?

谢谢。

sql-order-by aggregate-functions neo4j cypher

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

通过each()添加的jQuery事件处理程序似乎覆盖了之前的那些

这是我第一次使用jquery而且我不理解以下'副作用':

的script.js:

$(function() {
  $("button").each(function() { 
    $t=$(this);                 
    $t.on("click", function() {
      console.log("Id: " + $t.attr('id'));
    });
  });
});
Run Code Online (Sandbox Code Playgroud)

HTML:

...
<body>
  <button id="de">de</button>
  <button id="en">en</button>
</body>
Run Code Online (Sandbox Code Playgroud)

当我单击"de"按钮然后单击"en"按钮时,日志会给我:

en
en
Run Code Online (Sandbox Code Playgroud)

这似乎是在第二次调用时覆盖监听器功能的效果,是吗?我该如何避免这种情况?

javascript jquery closures

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

通过标签查找相似图像

tl;博士

从根本上说,我正在寻找合理的方法来实现标签组之间的相似度排名,其中一个标签组是 2 到 9 个标签。类似于对词汇量为 200,000 个单词的 2 到 9 个单词句子的相似度进行排序,除了词序无关紧要。


我有一组带标签的图像,我想实现几个搜索功能:

  1. 类似图片
  2. 相似但不同的图像

其中相似性仅基于标签。

找到相同标记的图像并不难,但在那之后,我对继续进行的最佳方式有点茫然。我们有数十万个标签,但没有元数据,因此我们不知道“Outlook”与“Microsoft”或“Windows”或“电子邮件”相关,因此无法理解标记图像的相关性差异“Microsoft,Excel,Bar Graph”到标记为“Excel,Spreadsheet”的图像与标记为“Visio,Bar Graph”的图像。

对于“类似图像”,我们希望将“Microsoft,Excel,Bar Graph” 匹配到“Visio,Bar Graph”,而对于“类似但不同的图像”,我们希望将“Microsoft,Excel,Bar Graph” 匹配到“ Excel电子表格”。

我目前最好的猜测是将标签视为文本并将它们放入Solr 中。另一方面,也许一种不同类型的数据库,如 Neo4j,将是要走的路。

关于如何向前迈出几步的任何建议?我不期待一个完整的解决方案,但对一般方法的建议将不胜感激。

额外学分:

更困难的是,当标签被分配给图像时,它们被指定为“主要”或“次要”,当然我们要考虑到这一点。

tags search image

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

将一些但不是所有postgresql数据库移动到不同的目录

我的机器上有大约10个postgresql数据库.有些很大,有些很小.我希望将大型磁盘移动到新磁盘上,同时保持小磁盘的位置.这可能吗?如果是这样,我该怎么办?我所能找到的只是如何将整个data目录移动到一个新位置,但这会移动所有数据库,我只想移动其中的一些.

postgresql

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

如何按字节大小比较文本的原始版本和压缩版本

我有一小段压缩成字符串的代码,然后将压缩后的版本读回原始版本。

如何测量压缩水平?即计数前后字符串的字节数?

    sentence := "A long time ago in a galaxy far, far away..."

    var buf bytes.Buffer
    zw := gzip.NewWriter(&buf)

    // Setting the Header fields is optional.
    zw.Name = "a-new-hope.txt"
    zw.Comment = "an epic space opera by George Lucas"
    zw.ModTime = time.Date(1977, time.May, 25, 0, 0, 0, 0, time.UTC)

    _, err := zw.Write([]byte(sentence))
    if err != nil {
        log.Fatal(err)
    }

    if err := zw.Close(); err != nil {
        log.Fatal(err)
    }
Run Code Online (Sandbox Code Playgroud)

我在去操场https://play.golang.org/p/9T2BOpCFmar有此代码

zip go

-1
推荐指数
1
解决办法
37
查看次数