小编Sri*_*esh的帖子

黑色(Python)忽略规则

我觉得布莱克正在做一些不符合(与我的组织)的事情,所以我试图忽略某些规则。

下面的示例和相关链接

PEP 8: whitespace before ':'

我的组织(编码标准)并不优先考虑黑人认为正确的事情,而是想要一种定制黑人配置的方法。

我没有在 Black 文档中看到任何提及忽略规则的内容https://github.com/psf/black#command-line-options

他们给出了忽略 Flake8 规则的示例,但似乎没有任何关于他们自己产品的文档。

python python-black

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

GSON直接访问私人会员?

摘要:

GSON是否直接访问类的私有成员而不调用其getter方法来获取值?


后跟的Java的规则是,如果B类有它的私有成员不能被访问A级不getter/setter方法.

现在我正在与GSON合作开发一个项目,我觉得getter/setter方法被绕过[未使用,私有成员被直接访问]

我只是一名学生,所以我可能会错过一些常见的工作.

A级

public class A {
    public static void main(String[] args) {
        B b = new B();
        Gson gson = new GsonBuilder().setPrettyPrinting().create();
        System.out.println(gson.toJson(b));
        System.out.println("--end--");
    }
}
Run Code Online (Sandbox Code Playgroud)

B级

public class B {
    private int a;

    public B() {
        a = 1;
    }

    public int getA() {
        System.out.println("I am invoked!");
        return 10;
    }

    public void setA(int a) {
        this.a = a;
    }
}
Run Code Online (Sandbox Code Playgroud)

注意:Ba的值为1,我将getA()编码为总是返回10

如果我从A级访问Ba,一切都按预期工作,它不会让我这样做,一切都很好,直到这里


GSON怀疑从这里开始 …

java gson

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

int() 和 long() 的区别

python中int(x)long(x)有什么区别

我的理解:

  1. long() 将始终返回一个 long
  2. int() 将返回一个 int 或 long (如果它太大)
  3. 所以 int() 足以根据其值动态获取 int/long

所以除非上面的 (1) (2) (3) 是不正确的,否则你为什么需要 long()?int() 什么时候完成工作?跳过所有数字范围的 long() 会伤害我吗?


参考文献:

类 int(x=0)

返回由数字或字符串 x 构造的整数对象,如果没有给出参数,则返回 0。如果 x 是数字,则它可以是普通整数、长整数或浮点数。如果 x 是浮点数,则转换会向零截断。如果参数在整数范围之外,则该函数返回一个长对象。

班级长(x=0)

返回从字符串或数字 x 构造的长整数对象。如果参数是一个字符串,它必须包含一个可能有符号的任意大小的数字,可能嵌入在空格中。基本参数的解释方式与 int() 相同,并且只能在 x 是字符串时给出。否则,参数可能是普通或长整数或浮点数,并返回具有相同值的长整数。将浮点数转换为整数会截断(向零)。如果没有给出参数,则返回 0L。


代码实验

number = int(number_string) # cast it to integer
print number, "\t", type(number)

number = long(number_string) # cast it to long
print number, "\t", type(number)
Run Code Online (Sandbox Code Playgroud)

python python-2.6

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

启动 janusgraph 的最低系统要求是什么

我刚刚启动 JanusGraph,我的总 RAM 使用量超过 5GB,没有触发任何查询。我有以下依赖服务正在运行

  1. JanusGraph
  2. GremlinServer(通过 JanusGraph)
  3. 卡桑德拉(通过 JanusGraph)
  4. Elasticsearch(通过 JanusGraph)

在此处输入图片说明

有一些java实例正在运行 在此处输入图片说明

我试图找出 janusgraph 的最低系统要求,但我无法在其文档中找到它。任何人都有相同的链接?或者知道最低系统要求是多少?

是否还有任何配置更改以使其消耗更少的 RAM?

elasticsearch cassandra-2.0 gremlin-server janusgraph

5
推荐指数
0
解决办法
640
查看次数

Docker Compose:更改 COMPOSE_PROJECT_NAME 而不重建应用程序

概括

我有一个应用程序 X,我想在同一操作系统中部署同一应用程序的多个实例(端口号将由 .env 处理),而无需build为每个实例启动 。

我尝试过的

所以我设法动态地(通过用户更改 .env 文件)更改container_name容器的。但是我们不能同时运行 5 个实例(即使端口不同,docker 也会停止第一个实例并为第二个实例重新创建容器)

接下来我发现COMPOSE_PROJECT_NAME这似乎有效,但开始了一个新的构建。


COMPOSE_PROJECT_NAME=hello-01

docker-compose up
Creating network "hello-01_default" with the default driver
Building test
Step 1/2 : FROM ubuntu:latest
 ---> 113a43faa138
Step 2/2 : RUN echo Hello
 ---> Using cache
 ---> ba846acc19e5
Successfully built ba846acc19e5
Successfully tagged hello-01_test:latest
WARNING: Image for service test was built because it did not already exist. To rebuild this image you must use `docker-compose build` …
Run Code Online (Sandbox Code Playgroud)

docker docker-compose

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

python对额外括号敏感?

这个片段工作得很好

if True: print "just True"
if (True): print "(True)"
Run Code Online (Sandbox Code Playgroud)

正在研究循环,这些工作正常

for i in range(1, 3):
    print i

i = 0
while i < 3: # without paranthesis
    print i
    i = i + 1

i = 0
while (i < 3): # with paranthesis
    print i
    i = i + 1
Run Code Online (Sandbox Code Playgroud)

当我尝试

for (i in range(1, 3)):
    print i
Run Code Online (Sandbox Code Playgroud)

我收到错误"SyntaxError:invalid syntax"

我明白外面的括号是让循环变得疯狂(错误)但是我违反了哪一部分语法?它在while循环中运行良好

python syntax-error python-2.6 parentheses

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

Gremlin:日期过滤器

基于日期字段过滤图数据库:我搜索了http://tinkerpop.apache.org/docs/current/reference/但没有找到相同的文档。

做了一些研究,似乎ltgt等等都在工作。但是我下面的方法是正确的方法吗?或者有官方的方法吗?下面的代码适用于 Neptune 和 NEO4J,但与供应商无关。

还发现了一个 4/5岁的帖子,建议长期使用,但我认为它已经很旧了。


样本数据:

g.addV("TestDate2").property("title", "Alpha").property("date", "01-19-2018")
g.addV("TestDate2").property("title", "Bravo").property("date", "02-20-2018")
g.addV("TestDate2").property("title", "Charlie").property("date", "03-13-2018")
g.addV("TestDate2").property("title", "Delta").property("date", "04-14-2018")
g.addV("TestDate2").property("title", "Echo").property("date", "05-15-2018")
g.addV("TestDate2").property("title", "Foxtrot").property("date", "06-16-2018")
g.addV("TestDate2").property("title", "Hotel").property("date", "07-17-2018")
g.addV("TestDate2").property("title", "India").property("date", "08-18-2018")
Run Code Online (Sandbox Code Playgroud)

查询

(我格式化了输出数据,因此它不会真正匹配 Gremlin 输出,但具有更高的可读性)

少于

g.V().has("TestDate2", "date", lt("03-03-2018")).valueMap()
{'date': ['02-20-2018'], 'title': ['Bravo']}
{'date': ['01-19-2018'], 'title': ['Alpha']}

g.V().has("TestDate2", "date", lt("03-24-2018")).valueMap()
{'date': ['03-13-2018'], 'title': ['Charlie']}
{'date': ['02-20-2018'], 'title': ['Bravo']}
{'date': ['01-19-2018'], 'title': ['Alpha']}
Run Code Online (Sandbox Code Playgroud)

比...更棒

g.V().has("TestDate2", "date", gt("06-16-2018")).valueMap()
{'date': ['07-17-2018'], 'title': ['Hotel']} …
Run Code Online (Sandbox Code Playgroud)

neo4j gremlin amazon-neptune

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

多个过滤器使用和/或的 TinkerPop 问题

我被过滤多个属性和提取的节点,因此,如果有多个filter接合用andor。2 工作正常,但从 3 开始它似乎崩溃了。

下面是错误的简化演示。

filter

gremlin> g.V().filter(has("name", "marko"))
==>v[1]

gremlin> g.V().filter(has("name", "marko")).and().filter(has("name", "marko"))
==>v[1]

gremlin> g.V().filter(has("name", "marko")).and().filter(has("name", "marko")).and().filter(has("name", "marko"))
java.util.ConcurrentModificationException
Type ':help' or ':h' for help.
Display stack trace? [yN]
Run Code Online (Sandbox Code Playgroud)

没有 filter

gremlin> g.V().has("name", "marko")
==>v[1]

gremlin> g.V().has("name", "marko").and().has("name", "marko")
==>v[1]

gremlin> g.V().has("name", "marko").and().has("name", "marko").and().has("name", "marko")
java.util.ConcurrentModificationException
Type ':help' or ':h' for help.
Display stack trace? [yN]
Run Code Online (Sandbox Code Playgroud)

dummy-name是不存在的东西。仍然因不同的错误而崩溃

gremlin> g.V().hasLabel("dummy-name").filter(has("name", "a").or().has("name", "b").or().has("name", "c"))
    java.lang.ArrayIndexOutOfBoundsException
    Type ':help' or ':h' for help. …
Run Code Online (Sandbox Code Playgroud)

gremlin tinkerpop3 gremlin-server

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

Docker 查看历史日志

背景

出于开发目的,我做了很多docker-compose up -ddocker-compose stop.

要查看容器的日志,我可以这样做

- docker logs --details --since=1m -t -f container_name
or
- docker inspect --format='{{.LogPath}}' container_name
  cat path-from-previous
Run Code Online (Sandbox Code Playgroud)

问题是当我想查看 10 天以前的日志时,没有,日志只有今天的日志。

当我做一个docker inspect container_name我得到以下

"Created": "todays-timestamp"
Run Code Online (Sandbox Code Playgroud)

我的日志记录是默认配置。

"LogConfig": {
     "Type": "json-file",
     "Config": {}
 },
Run Code Online (Sandbox Code Playgroud)

docker docker-compose

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

String.valueOf(long a)和连接(""+ a)之间的区别

哪种方法更好,为什么?

如果我写

cmissValue = String.valueOf(callDBDatasource.cMiss());
Run Code Online (Sandbox Code Playgroud)

要么

cmissValue = "" + callDBDatasource.cMiss();
Run Code Online (Sandbox Code Playgroud)

该方法应该是什么?

java

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

Terraform | Manually edit tfstate

I have Helm Applciations being deployed with Terraform, using the helm_release resource of Terraform.

有时由于以下一种或多种原因,我的 Kubernetes Pod 将开始在 Kubernetes 集群中运行,但 Terraform 不知道这一点(由于以下原因)。

  • 互联网连接问题
  • Kubernetes 超时
  • Scipts/依赖项中的错误

有什么方法可以手动编辑/篡改terraform.tfstate或基于远程环境同步 terraform 吗?

kubernetes terraform kubernetes-helm

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

从路径打印/获取顶点值

刚开始使用 gremlin。

打印出所有顶点值都很好

gremlin> g.V().values()
==>testing 2
==>Cash Processing
==>Sales
==>Marketing
==>Accounting
Run Code Online (Sandbox Code Playgroud)

我能够找到我的顶点之间的所有直接连接的路径。

gremlin> g.V().hasLabel('Process')
.repeat(both().simplePath())
.until(hasLabel('Process'))
.dedup().path()
==>[v[25],v[28]]
==>[v[25],v[26]]
==>[v[26],v[27]]
==>[v[26],v[25]]
Run Code Online (Sandbox Code Playgroud)

现在我试图打印出路径中的值,如 ['Sales', 'Accounting'] 而不是 [v[25],v[28]]

还没有想出办法


已经尝试过但失败

  1. 展开:没有得到我的 1-1 映射

    gremlin> gV().hasLabel('Process').repeat(both().simplePath()).until(hasLabel('Process')).dedup().path().unfold().values() = =>现金处理==>会计==>现金处理==>销售==>销售==>营销==>销售==>现金处理

  2. 路径似乎是不同的数据类型,不支持 .values() 函数

    gremlin> gV().hasLabel('Process') .repeat(both().simplePath()) .until(hasLabel('Process')) .dedup().path().values()

org.apache.tinkerpop.gremlin.process.traversal.step.util.ImmutablePath 不能转换为 org.apache.tinkerpop.gremlin.structure.Element

  1. 尝试了以下谷歌搜索并没有得到答案

  2. 这里找到了一个适用于 Java 的,但对我不起作用

    l = []; gV(.....path().fill(l)

(但不能创建列表,不能设置只读属性:类列表:org.apache.tinkerpop.gremlin.structure.VertexProperty$Cardinality)


我在 Gremlin 控制台上运行它(运行 ./gremlin.sh)

gremlin tinkerpop3

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

Docker Compose:暴露不起作用

docker-ps -a

CONTAINER ID        IMAGE               COMMAND                  CREATED             STATUS                      PORTS                NAMES
83b1503d2e7c        app_nginx      "nginx -g 'daemon ..."   2 hours ago         Up 2 hours                  0.0.0.0:80->80/tcp   app_nginx_1
c9dd2231e554        app_web        "/home/start.sh"         2 hours ago         Up 2 hours                  8000/tcp             app_web_1
baad0fb1fabf        app_gremlin    "/start.sh"              2 hours ago         Up 2 hours                  8182/tcp             app_gremlin_1
b663a5f026bc        postgres:9.5.1 "docker-entrypoint..."   25 hours ago        Up 2 hours                  5432/tcp             app_db_1
Run Code Online (Sandbox Code Playgroud)

他们都很好:

  • app_nginx与app_web很好地连接
  • app_web与postgres很好地连接

没有工作文件:

  • app_web无法与app_gremlin连接

泊坞窗,compose.yaml

version: '3'
services:
  db:
    image: postgres:9.5.12
  web:
    build: .
    expose:
      - "8000"
    depends_on:
      - gremlin
    command: /home/start.sh …
Run Code Online (Sandbox Code Playgroud)

docker docker-compose

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