小编Sta*_*ovv的帖子

一个对象的Json Schema示例

我试图通过构建验证两种不同对象类型的模式来弄清楚oneOf是如何工作的.例如一个人(名字,姓氏,运动)和车辆(类型,成本).

以下是一些示例对象:

{"firstName":"John", "lastName":"Doe", "sport": "football"}

{"vehicle":"car", "price":20000}
Run Code Online (Sandbox Code Playgroud)

问题是我做错了什么,我该如何解决它.这是架构:

{
    "description": "schema validating people and vehicles", 
    "$schema": "http://json-schema.org/draft-04/schema#",
    "type": "object",
    "required": [ "oneOf" ],
    "properties": { "oneOf": [
        {
            "firstName": {"type": "string"}, 
            "lastName": {"type": "string"}, 
            "sport": {"type": "string"}
        }, 
        {
            "vehicle": {"type": "string"}, 
            "price":{"type": "integer"} 
        }
     ]
   }
}
Run Code Online (Sandbox Code Playgroud)

当我尝试在此解析器中验证它时:

https://json-schema-validator.herokuapp.com/
Run Code Online (Sandbox Code Playgroud)

我收到以下错误:

   [ {
  "level" : "fatal",
  "message" : "invalid JSON Schema, cannot continue\nSyntax errors:\n[ {\n  \"level\" : \"error\",\n  \"schema\" : {\n    \"loadingURI\" : \"#\",\n    \"pointer\" : \"/properties/oneOf\"\n  },\n  \"domain\" …
Run Code Online (Sandbox Code Playgroud)

schema json jsonschema

36
推荐指数
2
解决办法
4万
查看次数

模块化和面向对象编程之间的最大区别是什么?

面向对象的程序通常包含不同类型的对象,每个对象对应于要管理的特定种类的复杂数据,或者可能对应于诸如银行账户,曲棍球运动员或推土机的现实世界对象或概念.

模块化编程(也称为"自上而下设计"和"逐步细化")是一种软件设计技术,强调将程序的功能分离为独立的可互换模块,这样每个模块都包含只执行所需的一个方面所需的一切功能.

我能想到的差异是,你可以在一个类上拥有多个对象,而在模块化编程中你应该只有一个模块(1个对象)用于一个特定的东西.

这是一个例子(我理解它的方式)

考虑一下你有一个程序.一些输入字段和一个按钮.然后进行一些计算,程序输出一些东西.

该程序可以有2个模块:输入/输出一个和计算一个.

但是我不明白为什么程序不能有一个布局(一个包含将在屏幕上显示的所有对象的类)和一个逻辑部分(可以是一个类或一个函数,取决于计算的深度) ).

这个例子在模块化和对象编程方面是"正确的"吗?模块化和oop可以一起使用吗?这两种范式/编程风格之间的最大区别是什么?

oop module

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

Vim(vimscript)获得光标下的确切字符

我通过以下方式在vimscript中获取光标下的字符:

getline('.')[col('.')-1] 
Run Code Online (Sandbox Code Playgroud)

它完全像它应该的工作,但有一些我不喜欢.考虑这个[]光标.当存在在光标旁边,像这样的支架: }[],][],)[]{[]光标实际上返回支架.我需要设置什么才能始终在光标下正确返回字符,或者如果左边有一个括号则至少忽略?

注意:我怀疑它可能与括号突出显示有关,但我不确定.

注2:对于发生的情况,必须有匹配的括号.

vim

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

从IncomingMessage获取网址和正文?

我对节点很新.我正处于一个简单的服务器,它应该只打印请求查询和它所需的请求.我所理解的是"句柄请求"函数实际上并不返回请求对象,而是返回一个IncomingMessage对象.

有两件事我不明白:如何获取查询字符串正文.

我只得到路径,没有查询和未定义的正文.

服务器代码:

var http = require('http');

var server = http.createServer(function (request, response) {
  console.log("Request query  " + request.url);
  console.log("Request body  " + request.body);
  response.writeHead(200, {"Content-Type": "text/plain"});
  response.end("<h1>Hello world!</h1>");
});

server.listen(8000);

console.log("Server running at http://127.0.0.1:8000/");
Run Code Online (Sandbox Code Playgroud)

请求代码:

var http = require('http');

var options = {
  host: '127.0.0.1',
  port: 8000,
  path: '/',
  query: "argument=narnia",
  method: 'GET'
};

var req = http.request(options, function(res) {
  res.setEncoding('utf8');
  res.on('data', function (chunk) {
    console.log('response: …
Run Code Online (Sandbox Code Playgroud)

http node.js

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

没有正确读取字符串

我正在练习用户输入处理.我的目标是让用户输入由空格("")分隔的整数行,将它们作为整数读取,存储它们并在以后处理它们.我偶然发现了一个有趣的问题(我的意见中的Atleast),我的方式似乎总是没有读取用户输入的最后一个数字.我将在这里发布整个程序(因为有一些额外的libreries包括在内).我在程序中留下了一些评论

#include <iostream>
#include <string>
#include <vector>
#include <stdlib.h>

using namespace std;

int main()
{
    //this vector will store the integers
    vector<int> a;
    // this will store the user input
    string inp;
    getline(cin, inp);
    // this string will temporarily store the digits
    string tmp;
    //be sure that the reading part is okay
    cout << inp << endl;
     //until you meet something different than a digit, read char by char and add to string
     for(int i = 0; i < inp.length(); …
Run Code Online (Sandbox Code Playgroud)

c++ string

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

docker用于(图像)版本控制的是什么?

我好奇.它看起来像我的git,但我找不到证实这一点的消息来源.或者它有它自己的修订控制系统?

git docker

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

为Qt使用设置环境

在我开始解释问题之前 - 是的,在来到这里之前,我查看了Qt论坛和网站.

我下载并安装了Qt库和IDE.安装完成后,我得到以下内容:

http://store.picbg.net/pubpic/04/59/4ce35a1b489a0459.png

点击命令提示符图标后,我得到以下内容:http: //store.picbg.net/pubpic/79/13/0d46b97041da7913.jpg

当我输入"vcvarsall.bat"时,我得到了无效的命令错误.我显然做错了什么,问题是 - 到底是什么?

qt

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

<algorithm>使用对象进行矢量排序?

因此,在标题中的c ++文档中有一个很好的函数,可以让你对向量进行排序.我上课了Person.我有一个指向该类(vector<Person*>)对象的指针向量,我想通过不同的参数比较人,例如年龄,姓名长度等.

我已经有了返回所需变量的函数,但我不知道该怎么做.以下是c ++参考http://www.cplusplus.com/reference/algorithm/sort/中排序向量函数的链接

c++ sorting algorithm class vector

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

一个简单的OCaml程序

我想学习一点OCaml,只是为了尝试除C++和Java之外的编程语言.如果你帮助我使用以下程序,我将非常感激:基本上用户输入一个正整数.打印从N到0的所有整数的总和.

显然你创建了一个整数N,让用户输入它的值.创建一个sum类型的变量int.有一个for循环,这将增加Nsum再递减N由一个人的价值.循环将在N大于1的情况下运行.我不知道如何在OCaml的语法中执行此操作.

任何帮助将受到高度赞赏.

ocaml

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

禁用<iframe> onclick pause

我想从用户中删除所有控件.我用过:controls=0隐藏控件并disablekb=1删除键盘快捷键.最后一个是鼠标点击.我做了一些研究,但没有找到所需的答案.

tl; dr如何删除鼠标暂停形式如下:

<iframe id="ytplayer" type="text/html" width="640" height="390"
  src='http://www.youtube.com/embed/EgBWDPXF2gU?autoplay=1&disablekb=1&controls=0&origin=http://example.com' ></iframe>
Run Code Online (Sandbox Code Playgroud)

编辑:有一个法律解决方案.它不能100%工作,但对大多数情况来说都足够好了.解决方案是简单地添加一个正在寻找"视频暂停事件"的事件监听器.当触发此事件时,只需开始播放当前视频.这将完美无缺,除非用户点击每分钟大约150-180次点击的速度,否则视频在功能运行之前暂停时的毫秒差异将是不明显的.

我会将唯一提交的答案标记为解决方案,因为如果有人发现这一点,他应该首先知道任何进一步的修改都是非法的.

html5 youtube-api

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

标签 统计

c++ ×2

algorithm ×1

class ×1

docker ×1

git ×1

html5 ×1

http ×1

json ×1

jsonschema ×1

module ×1

node.js ×1

ocaml ×1

oop ×1

qt ×1

schema ×1

sorting ×1

string ×1

vector ×1

vim ×1

youtube-api ×1