小编Kas*_*yap的帖子

一些与自定义json架构相关的问题

我对json说道.在定义我的RESTful API结果的格式(即JSON)时,我觉得将它作为我自己的JSON模式进行记录会更容易.写一篇文章的时候我几乎没有问题:

  1. 在我的结果JSON中,如何指定它确认的架构的URI?--edit--是否使用$schema属性?
  2. 是否有任何JSON模式版本控制的约定/指南?我应该/可以在我的架构中定义一些属性作为属性吗?我看到JSON模式本身没有定义版本,除非它的URI指定为key的值$schema.
  3. 我可以将我的一个BIG JSON模式分解为多个较小的模式并包含在另一个中吗?与C++中的#include一样,然后引用我发送给用户的JSON中的多个模式作为结果.
  4. 我可以为键"类型"定义自定义值吗?例如,我想重用"date"的定义,如下所示:

[忽略这一行,这是为了让格式化为后面的json ..]

{
    "date":{
        "type":"object",
        "properties":{
            "month":{
                "type":"integer",
                "minimum":1,
                "maximum":12
            },
            "year":{
                "type":"integer",
                "minimum":0
            }
        }
    },
    "personInfo":{
        "type":"object",
        "properties":{
            "name":{
                "type":"string"
            },
            "dateOfBirth":{
                "type":"date"
            }
        }
    },
    "student":{
        "type":"object",
        "properties":{
            "id":{
                "type":"personInfo"
            },
            "pass_out_year":{
                "type":"date"
            }
        }
    }
}
Run Code Online (Sandbox Code Playgroud)

而不是在多个地方提供"日期"的属性,如下所示:

{
    "personInfo":{
        "type":"object",
        "properties":{
            "name":{
                "type":"string"
            },
            "dateOfBirth":{
                "type":"object",
                "properties":{
                    "month":{
                        "type":"integer",
                        "minimum":1,
                        "maximum":12
                    },
                    "year":{
                        "type":"integer",
                        "minimum":0
                    }
                }
            }
        }
    },
    "student":{ …
Run Code Online (Sandbox Code Playgroud)

json jsonschema

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

将pylint与github评论评论集成在一起

我正在尝试创建一个脚本,在拉取请求中存在的文件上运行pylint,并为linting错误创建内联注释.

我对如何使用PyGithub有所了解.问题是,为了评论pull-request,你必须知道修改文件的提交和补丁中的行号.有关评论评论API的完整文档,请点击此处.

Pylint返回结果文件中的.我需要从foo/bar.py:30到foo/bar.py中修改第30行的提交,并获取该文件的diff中的实际位置.

有什么东西可以做到这一点,还是我必须在拉取请求中涉及的每个提交中手动搜索@@行?

python git api github pylint

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

ansible:如何迭代所有注册结果?

鉴于以下剧本:

---
- name: Check if log directory exists - Step 1
  stat: path="{{ wl_base }}/{{ item.0.name }}/{{ wl_dom }}/servers/{{ item.1 }}/logs" get_md5=no
  register: log_dir
  with_subelements:
    - wl_instances
    - servers

- name: Check if log directory exists - Step 2
  fail: msg="Log directory does not exists or it is not a symlink."
  failed_when: >
    log_dir.results[0].stat.islnk is not defined
    or log_dir.results[0].stat.islnk != true
    or log_dir.results[0].stat.lnk_source != "{{ wl_base }}/logs/{{ wl_dom }}/{{ item.1 }}"
  with_subelements:
    - wl_instances
    - servers
Run Code Online (Sandbox Code Playgroud)

使用以下变量:

---
wl_instances: …
Run Code Online (Sandbox Code Playgroud)

loops ansible ansible-playbook

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

如何禁用GNOME桌面屏幕锁定?

如何在几分钟的空闲时间后停止我的GNOME桌面锁定屏幕?

我已经尝试过Red Hat的官方手册并尝试使用gconf-editorgconftool-2设置/apps/panel/global/disable_log_out/apps/panel/global/disable_lock_screen.没运气.

linux configuration desktop gnome

5
推荐指数
3
解决办法
2万
查看次数

如何从ansible结果中获取变量

我有一个shell脚本,其输出是以下格式的回声
<variable_1>;<variable_2>;<variable_3>

我想使用这些变量并运行一个mysql查询来更新这样的数据库
mysql -u<user> -p<password> -h<host> -e'insert into test_table values ("variable_1","variable_2","variable_3")'

我的ansible剧本看起来像这样.

---
- hosts: infoServers
  sudo: yes
  gather_facts: no
  tasks:
  - name: gather info
    script: get_hostdata.sh
    register: result
  - name: print result
    local_action: command mysql -uuser -ppassword -h192.168.101.10 ansible_db -e'insert into test_table values ("{{ item[0] }}","{{ item[1] }}","{{ item[3] }});'
    with_items: [ result.stdout.split(';')[0], result.stdout.split(';')[1], result.stdout.split(';')[2] ]
Run Code Online (Sandbox Code Playgroud)

错误:加载YAML脚本时的语法错误,test_variables.yml

基本上我希望能够使用shell命令的输出,将其拆分为一些变量,并能够在进一步的ansible动作中使用它们.能否指导我如何正确访问变量?

谢谢

ansible ansible-playbook

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

参数化MySQL工作台语句:如何定义变量

我正在尝试在我的工作台中参数化一组常用查询.

这有效:

select * from providers where id='112233';
Run Code Online (Sandbox Code Playgroud)

这个

WbVarDef var1=112233;

select * from providers where id='$[var1]';
Run Code Online (Sandbox Code Playgroud)

给出错误

错误代码:1064.您的SQL语法有错误; 查看与您的MariaDB服务器版本对应的手册,以便在第1行的"来自提供商,其中id ='112233''附近使用正确的语法

我的参考是这个.

需要明确的是,这些都在MySQL工作台中,而不是工作台脚本文件或mysql脚本文件.

mysql sql mysql-workbench

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

模板函数使用for_each()和lambda函数打印C风格的数组

一件简单的事.但我花了一个小时才弄明白.

当我编译以下代码时:

#include <iostream>
#include <sort.h>
#define array_len(arr) ( sizeof(arr) / sizeof (*arr) )

using namespace std;

template<typename ITER>
void printIt_works(ITER b, ITER e) {
    for_each(b, e, [](int it) { cout << it; } ); // putting int explicitly would work
                                                 // but it's not generic
}

template<typename ITER>
void printIt_doesnt_work(ITER b, ITER e) {
    for_each(b, e, [](ITER it) { cout << *it; } );
}

int main() {
    int a[] = {5, 2, 4, 6, 1, 3};

    printIt_doesnt_work(a, a+array_len(a)); …
Run Code Online (Sandbox Code Playgroud)

c++ lambda stl-algorithm c++11

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

快速优化

我正在学习排序算法,下一步,我试图让我的实现执行接近std::sort().我到目前为止很远...... :-)

我有3个quicksort实现:

  • 标准快速排序(使用临时数组).
  • 快速排序,具有以下优化:
    • median3用于选择中位数
    • 尾递归
    • quicksort仅适用于分区大小<16.对于较小的分区,使用插入排序.
    • 插入排序一次应用于整个数组,而不是应用于每个分区,由quicksort保留未排序.
  • 快速排序,包含上面列出的所有优化+就地分区(无临时数组).

我预计性能最好是自下而上,但最好自上而下!

我的实施有什么问题?鉴于性能之间的巨大差异,我认为存在一些完全错误.

一些数字让你感觉到有多糟糕(N =数组中的元素数量,数字是每个算法所用的时间,以微秒为单位):排序vector<int>和每个算法都给出了完全相同的数字序列.

N           quick       mixed       mixed_inplace
8           0           0           0
16          0           1           1
32          1           2           2
64          1           3           3
128         1           8           8
256         3           16          17
512         6           34          41
1,024       16          84          87
2,048       28.3        177.1       233.2
4,096       48.5        366.6       410.1
8,192       146.5       833.5       1,012.6
16,384      408.4       1,855.6     1,964.2
32,768      1,343.5     3,895.0     4,241.7
65,536      2,661.1     7,927.5     8,757.8
Run Code Online (Sandbox Code Playgroud)

使用Visual Studio …

c++ sorting algorithm optimization quicksort

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

定义模块列表,该列表应在Maven多项目构建中构建

我想使用Maven -pl选项来定义哪些特定模块应包含在reactor中.如果提供了模块路径列表,则该选项有效.不幸的是,提供模块的artifactIds根本不起作用.Sonatype'Maven:The Complete Reference'文档正在使用多项目示例,其中目录名称与artifactIds匹配:

http://books.sonatype.com/mvnref-book/reference/_using_advanced_reactor_options.html

是否可以在artifactId中使用-pl选项?

module build multi-project maven

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

HTML 显示原始文本

我有一个 HTML 页面,需要在其中显示一些日志消息。我把它们包裹在 中<pre></pre>,但它似乎将日志消息解释为 HTML,我希望它原始打印。我尝试了“像文本编辑器一样在 HTML 中显示原始文本”或“防止 <code> 标记中的自动换行符”或“如何使用 CSS 在 HTML <code> 块中保留换行符? ”中给出的建议,但都不起作用(它们给出的结果与我原来的 HTML 相同。

这是我的 HTML 页面:

code {
  font-size: 14px;
  display: block;
  font-family: monospace;
  white-space: pre;
  margin: 1em 0;
}
body {
  font-family: Arial;
}
Run Code Online (Sandbox Code Playgroud)
<div>
  <h3>pre and code:</h3>
  <pre>
    <code>
[2016-06-24 16:06:00]|DEBUG|...., details='#<hashie::mash worker_address="http://xxx.amazonaws.com:8081" worker_id="0000000008" worker_task_id="776f31e01c530134025722000b27033c:gather_source_file_info_task_1466784360">'
    </code>
  </pre>
</div>

<div>
  <h3>only code:</h3>
  <code>
[2016-06-24 16:06:00]|DEBUG|...., details='#<hashie::mash worker_address="http://xxx.amazonaws.com:8081" worker_id="0000000008" worker_task_id="776f31e01c530134025722000b27033c:gather_source_file_info_task_1466784360">'
  </code>
</div>

<div>
  <h3>only pre:</h3>
  <pre>
[2016-06-24 16:06:00]|DEBUG|...., details='#<hashie::mash …
Run Code Online (Sandbox Code Playgroud)

html css browser

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

如何使用诗歌从 test.pypi.org 安装软件包?

我想在我的项目中使用包的预发布版本(https://test.pypi.org/project/delta-spark/2.1.0rc1/)。

我用来poetry管理我的pyproject.toml. 我该怎么做呢?

换句话说,相当于poetry

pip install -i https://test.pypi.org/simple/ delta-spark==2.1.0rc1

我试过:

  • poetry add delta-spark==2.1.0rc1
  • poetry add --allow-prereleases delta-spark==2.1.0rc1

两者都给出:Could not find a matching version of package delta-spark


$ poetry config --local repositories.test-pypi https://test.pypi.org/
$ poetry config --list | fgrep repositories
repositories.test.url = "https://test.pypi.org/"
repositories.test-pypi.url = "https://test.pypi.org/"
$ fgrep -A 3 tool.poetry.source pyproject.toml 
[[tool.poetry.source]]
name = "test-pypi"
url = "https://test.pypi.org/"
secondary = true
$ poetry add --group dev delta-spark==2.1.0rc1

Could not find a …
Run Code Online (Sandbox Code Playgroud)

python pip dependency-management python-poetry

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

fedora上的gcc链接器错误:未定义的引用

我正在尝试在Fedora/gcc上编译/运行我的程序(在Windows/MSVC上运行正常).编译现在很好,链接似乎是一个问题.基于症状和这篇文章未定义的对`__gxx_personality_sj0的引用,在我看来问题可能是编译器/链接器拱类型中的一些不匹配.无论如何,我不是专家

  • 我刚刚卸载了yum list | egrep gcc|g++|c++使用yum remove和发现的所有内容
  • 然后跑了yum install gcc gcc-c++.

笔记:

  • 您在下面看到的所有输出都是上面的步骤.
  • gcc输出的最后一行是: collect2: ld returned 1 exit status
  • 代码是编译干净,没有警告/错误.
  • 几乎所有未定义的引用都是名称中的 namespace std
  • 我只有一个源文件Main.C(和2个标题).

我试图提供我能想到的所有信息,如果您需要更多信息,请告诉我.

[root@myTestMachine kash]# ls -Altr
total 44K
-rw-r--r--. 1 root root 3.5K Sep 11 11:34 .bashrc
-rw-r--r--. 1 root root 2.6K Sep 11 13:50 MyCommon.h
-rw-r--r--. 1 root root 3.5K Sep 11 14:01 Main.cpp
-rw-r--r--. 1 root root  26K Sep 11 14:02 sort.h …
Run Code Online (Sandbox Code Playgroud)

c++ linker fedora

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