分类 Code 下的文章

设置git的代理:

对当前项目生效:

git config http.proxy socks5h://localhost:1080

socks5h 远端 dns 解析,socks5 本地 dns 解析。

对全局生效,加上 --global:

git config --global http.proxy socks5h://localhost:1080

- 阅读剩余部分 -

If you want logical calendar days, use DAYS.between() method from java.time.temporal.ChronoUnit:

LocalDate dateBefore;
LocalDate dateAfter;
long daysBetween = DAYS.between(dateBefore, dateAfter);

If you want literal 24 hour days, (a duration), you can use the Duration class instead:

LocalDate today = LocalDate.now()
LocalDate yesterday = today.minusDays(1);
// Duration oneDay = Duration.between(today, yesterday); // throws an exception
Duration.between(today.atStartOfDay(), yesterday.atStartOfDay()).toDays() // another option

For more information, refer to this document.

https://stackoverflow.com/questions/27005861/calculate-days-between-two-dates-in-java-8

在本指南中,我们将了解如何将 LocalDate 转换为 Date。在查看转换代码之前,让我们先看看 Date 和 LocalDate 之间有什么区别。

java.util.Date - date + time + timezone
java.time.LocalDate - only date

因此,要将 LocalDate 转换为 Date,我们必须在日期后附加时间和时区信息。考虑到这一点,转换步骤如下:

  1. 获取默认时区,以便在日期中附加时区信息
  2. 调用 atStartOfDay(),以便将时间与日期附加在一起
  3. LocalDate to Date - local date + atStartOfDay() + 默认时区(default time zone) + toInstant() = Date

- 阅读剩余部分 -

As nobody answered, So I asked this on MongoDB-User Group

Say cars is your outputcollection (where you want to store output of map-reduce job).

  • REPLACE: If your current MR is successful, all of the documents in cars will be deleted (regardless of their _id) and replaced by the current result.
  • MERGE: No document in cars will be deleted. Instead, each document in your current result will replace an already existing document in cars with the same _id. If there is not any document in cars with that _id, it will be just inserted. You can see this like an upsert:

    db.cars.update({_id: newDocument._id}, {value: newDocument.value}, {upsert: true})
  • REDUCE: This is very similar to MERGE. But instead of just replacing the existing document, both documents will be the input of your reduce function (i.e. reduce([oldDocument, newDocument])) and the resulting document will replace the existing one.
  • INLINE: Returns your result as a variable in the same fashion a function does. Nothing is stored in MongoDB, so this does not impact any collection.

The complete answer can be found here.

https://stackoverflow.com/questions/30508245/what-does-mapreducecommand-outputtype-reduce-do-in-mapreduce-command-in-mongodb

Do not bind to a specific port. Instead, bind to port 0:

sock.bind(('', 0))

The OS will then pick an available port for you. You can get the port that was chosen using sock.getsockname()[1], and pass it on to the slaves so that they can connect back.


import socket
from contextlib import closing

def find_free_port():
    with closing(socket.socket(socket.AF_INET, socket.SOCK_STREAM)) as s:
        s.bind(('', 0))
        s.setsockopt(socket.SOL_SOCKET, socket.SO_REUSEADDR, 1)
        return s.getsockname()[1]
https://stackoverflow.com/questions/1365265/on-localhost-how-do-i-pick-a-free-port-number