有人可以在范围和功能方面区分爬网和刮刀. 解决方案 一个爬行者获取网页 - 即给定一个起始地址(或一组起始地址)和某些条件(例如,要进行多少链接,要忽略的文件类型),它下载了任何链接的内容从起点(S). 刮板获取已下载的页面,或者从更一般的意义上讲,该页面的格式为显示,并(尝试)从这些页面中提取数据,以便(例如)将其存储在数据库中和根据需要操纵. 根据您的使用方式,刮擦很可能侵犯了有关使用网站的信息和/或用户协议的所有者的权利(在某些情况下爬行也违反了后者).许多站点都包含一个名为 robots.txt 的文件(即拥有URL http://server/robots.txt)要指定(以及是否)如何处理该站点(特别是),它可以列出爬网手不应尝试访问的(部分)URL.如果需要,可以单独指定每个爬行者(用户代理). 其他解决方案 爬网沿着网络浏览,以下链接.一个示例是Google机器人,该机器人可以索引页面.刮刀从表格中提取值,但不一定与网络有任何关系. 其他
以下是关于 terminology 的编程技术问答
在 learningwebgl tutorial1 我在碎片着色器中找到了一条有趣的行./p> precision mediump float; 我已经找到了一篇有关它的文章>在这里,但我仍然不明白这是什么意思? ,如果我删除了这一行,则什么都不会改变.一切都是一样的. 那么precision mediump float是什么意思? 解决方案 这确定了GPU计算浮子时使用的精度. highp是高精度,当然比mediump(中等精度)和lowp(低精度). 某些系统根本不支持highp,这将导致代码根本无法在这些系统上工作. 在支持highp的系统上,您将看到性能命中率,并且应尽可能使用mediump和lowp.我看到的一个好的经验法则是: highp对于顶点位置, mediump对于纹理坐标, lowp颜色.
让我们有一个示例场景: 客户端打开一个网站,并找到他从文本框中输入的两个数字的总和.然后单击添加按钮.两个参数http http to http get to to Server to Server to Server编写了php代码以添加数字,并且结果为结果.回声. 基于这种情况,任何人都可以解释Web服务与应用程序之间的区别吗? 解决方案 在您的情况下,如果您具有提供两个数字的用户界面,然后获得结果,则应称为Web应用程序.但是,如果您有一个API接触到两个数字并通过HTTP返回结果,则应称为Web服务. 在低级别,Web应用程序和Web服务都是同一件事.但是要点是,Web服务是用于机器/程序的机器/程序通信,而Web应用程序则用于用户. 其他解决方案 我会说Web应用程序旨在用于用户,Web服务旨在用于其他应用程序.那是最重要的区别. Web应用程序通常在HTML中呈现数据,该数据对用户和Web服务看起来不错,通常在XML中呈现数据,这些数据易于通过其
我很想尝试自己的网站和网络应用程序之间的区别.如我所见,网站指向特定页面,而Web应用程序更像是某种"门户"对内容和信息. 但是,我在哪里卡住的是,仍然可以通过浏览器查看Web应用程序(不是吗?),网站仍然可以动态查看内容,使网站和应用程序之间的界线变得漂亮. 例如,使用ASP.NET或AJAX等网站成为Web应用程序,因为它可以动态和异步检索数据,或者使用PHP和CMS网站更像Web应用程序,因为它在ON上构成了页面根据客户端的请求及其数据的请求? 或者我在这里完全错了 - Web应用程序和网站有什么区别? 解决方案 这完全是个人的和主观的,但是我会说A 网站是由其内容定义的,而Web application 是由其互动定义的与用户.也就是说,一个网站可以合理地由静态内容存储库组成,该存储库已交付给所有访问者,而Web应用程序取决于互动,需要编程用户输入和数据处理. 例如,新闻网站将是一个"网站",但是电子表格或协作日历将是Web"应用程序".新闻网站向
我的理解是,在SOA和微服务模块中都应独立和重复使用.但是,真正区分了两者? 解决方案 既依靠服务作为主要组成部分,但是那里有很多差异.很少有 soa: 遵循"与众不同"的架构方法 支持多个消息协议 多线程带有更多的开销,可以处理I/O 最大化应用程序服务可重用性 不完全专注于DevOps/连续交付 微服务: 遵循"分享 - 可能是可能的"架构方法 使用轻巧的协议,例如HTTP/REST&AMQP 通常使用事件循环功能用于非锁定I/O处理 更专注于解耦 强烈专注于DevOps/连续交付 其他解决方案 微服务体系结构不是发明.企业,例如亚马逊,Netflix和eBay,使用了Divide和Conlecter策略,将其单片应用程序的单片应用程序分配到较小的单位中,并解决了许多问题.在这些公司的成功之后,许多其他公司开始采用这种方式作为重构其应用程序的常见模式.最终,该模式被称为微服务体系结构.在MSA中,没有什么根本上引
我正在阅读xmlhttprequest级别2规范(W3C工作草案2010年9月7日) 但是当我注意到浏览器正在实现描述的功能 编辑的草稿这消除了许多事情. A 工作草案和A 编辑的草稿? 之间的区别 解决方案 工作草案是由正在开发该文件的小组正式发布的文件,这意味着该小组的成员已经同意它在州值得与更广泛的受众群体共享(通常是这样)是出于反馈目的 - 这当然并不意味着参与者同意文档中的所有内容). 编辑的草案是当前负责撰写的文档(编辑). . 您可以用软件术语或多或少地考虑它:WD是点发布,或者至少是标签,而ED是最新提交中最新鲜的版本. 决定是否应该查看WD还是ED,很大程度上取决于正在从事该规范的群体的文化.在这种情况下,WebApps组,最好查看ED,因为它更有可能反映邮件列表中当前的快速思维.相同的趋势适用于开发API的其他组. 一个谨慎的词:在实施和发货之前,它只是规范.您应该非常小心,不要从中推断出参与该小组的各种供应商将按原样甚至根本实施.在
我注意到VSCODE生成的NPM调试(通过NPM启动)生成的默认启动配置将配置类型设置为默认情况下的" PWA节点". 添加"通过NPM启动"配置: 生成的配置类型: 我已经搜索了一下,但没有找到它的含义(也许与渐进的网络应用有关?). 有人知道" pwa节点"的含义,为什么" pwa节点"而不是" node"? 解决方案 type属性 type属性指定用于此启动配置的调试类型.每个已安装的调试扩展程序都引入了一种类型:node用于内置节点调试器,或php和go for php and go Extensions. type : pwa-node JavaScript调试器是用于在VS代码中调试的内置扩展程序.默认情况下,在最新版本的VS代码中安装并启用了此扩展名. "type": "pwa-node"来自JavaScript调试器(夜间),预览版. pwa-前缀用于区分应使用哪个调试器. 在从侧栏的调试部分中创建launch.js
我是自学成才的,因此不熟悉很多术语.我似乎无法通过谷歌搜索找到答案:什么是"虚拟"与"直接"调用虚拟函数? 这与术语有关,而不是技术性.我问何时将呼叫定义为"直接"与"虚拟". 它与Vtables或其他与这些概念的实现有关的事物无关. 解决方案 您问题的答案在不同的概念层面上有所不同. 在概念语言层面上,非正式术语"虚拟呼叫"通常是指根据调用中使用的对象的动态类型解决的呼叫.根据C ++语言标准,这适用于对虚拟功能的所有调用,除了使用合格名称的调用.当调用中使用该方法的合格名称时,呼叫称为"直接呼叫" SomeObject obj; SomeObject *pobj = &obj; SomeObject &robj = obj; obj.some_virtual_function(); // Virtual call pobj->some_virtual_function(); // Virtual call robj.some_virtual_functio
这篇文章与想要学习如何在libgdx和box2d之间正确渲染的较早文章有关.在继续之前,我必须很好地了解视口. 经过大量的代码/帖子读数后,我感到"视口"的含义是"观看LibGDX的游戏世界的相机镜头的矩形开口,在那里我可以将其移动到世界上以查看我想要的东西".但是,经过更多的阅读,我似乎远没有实际含义. 我已经阅读了libgdx Wiki,并在OpenGL文档中阅读了文档,这些文档似乎将视口解释为两种不同的内容. libgdx wiki: "视口是投影3D场景的屏幕上的矩形查看区域.它无非是将3维对象映射到2维平面." OpenGl: "视口指示场景被映射到的可用屏幕区域的形状." stackoverflow: " ...它在不同上下文中有几个定义...":'( 我尝试阅读数十篇论坛帖子和教程.但是,不幸的是,几乎每个人都跳入它似乎是一个原始的概念,每个人都理解并知道. 我知道这个完全基本的问题会给我带来很多热量.请不要火焰,我在问,因为
我遇到了了解Java版本的问题.我看到了很多版本,例如1.4.2、1.5和1.6,但我也偶然发现了5.0和6.0.我不了解此版本或进步. 我是Java的新手,我已经阅读了一些有关 openjdk vs vs太阳,我想我理解.这些版本是OpenJDK和Sun之间的区别吗?例如,OpenJDK的最新内容是1.6,Sun's是6.0? 所有这些版本都与Java新手的人相当混乱. 解决方案 版本控制只是一个混乱: Java 1.0和1.1是正常的 然后是Java 1.2,但您应该称其为" Java 2,JDK 1.2" 这一直持续到1.4(也有较小的版本,例如1.4.2) 然后,下一个版本是" Java 5.0",但文件名和URL中的整个位置仍然存在" 1.5". 从Java 6开始,他们已经删除了次要版本,并且主要是(但不是完全,请参见java -version的输出)消除了旧版本操作方案的痕迹,但是人们已经习惯了它并继续使用它俗语. 从Java 9或10开
我已经开始玩git,并遇到了术语"上游"和"下游".我以前见过这些,但从未完全理解它们.这些术语在SCMS(软件配置管理工具)和源代码?/p> 解决方案 在源控制方面,从存储库复制(克隆,结帐等)时,您是下游.信息将"下游"流向您. 进行更改时,通常需要将它们发送回"上游",以便将其纳入该存储库,以便每个人都从同一来源提取的每个人都可以使用所有相同的更改.这主要是一个社会问题,每个人如何协调他们的工作,而不是源控制的技术要求.您想将您的更改转到主要项目中,因此您不会跟踪开发的不同线条. 有时,您会阅读有关软件包或发布经理的信息(人员,而不是工具),以谈论提交"上游"的更改.这通常意味着他们必须调整原始资源,以便为其系统创建一个包装.他们不想继续进行这些更改,因此,如果他们将它们"上游"发送到原始来源,则不必在下一个版本中处理相同的问题. 其他解决方案 当您阅读 git的一个重要方面是分布,并且分布在很大程度上意味着系统中没有固有的"上游"或"下游". ,简
实际上,我正在对修订控制进行一些研究,书籍和论文中似乎有两个名称:软件配置管理(SCM)和版本控制系统(VCS).前者似乎在软件工程师/Java程序员中很受欢迎,而后者则来自Sysadmins,但两者都在Layman's Terance中出现,意思是同一件事. 另一方面,过去,我解释了SCM的意思是木偶或cfengine之类的东西. 在实践中,任何人都可以直截了当吗?最好用具体的例子. 解决方案 版本控制系统就是这样,提供版本控制功能的软件(git,subversion,tfs版本控制)都属于此类别. 软件配置管理是一个更广泛的术语,涵盖了构建,包装和部署软件所需的所有过程 - 这包括版本控制系统.它不是指软件本身 其他解决方案 谨慎, scm 可以参考不同的含义关于版本控制: 软件配置管理 https://stackoverflow.com/a/4127479/938111"> jimdaniel's答案 此外,人们可能会使用 scm 参考其他命
在软件世界中,SCM似乎是一个超负荷的首字母缩写. 这可能意味着: - 源代码管理 软件配置管理 其中哪一个是主要的术语?他们的意思是同一件事吗? 对我来说,源代码管理本质上是版本控制的代名词.而软件配置管理是一个更大的主题,它也可能包括构建和发布管理. 但是,它在Wikipedia上,它列出了颠覆为软件配置管理工具,最多仅是切线真实的. 构建和软件管理具有以前,但不幸的是,在此问题上没有确切的说法. 解决方案 软件配置管理.但是对于我们大多数人来说,这有效地意味着源代码管理. 其他解决方案 primyer ">首字母缩写Finder 是: ****** SCM供应链管理 ****** SCM软件配置管理 ****** SCM源代码管理 恒星表示结果的等级. ,看起来两者都同样有效且同样使用. 其他解决方案 软件配置管理. 通常,在谈论源代码时,我会使用/听到源代码管理.另一方面,如果您将配置文件(
我正在阅读C Primer Plus,并遇到了我无法理解的以下几行 - 指针?这些是什么?基本上,指针是一个变量(或更多 通常,一个数据对象),其值为内存地址. 只是为了参考,我早些时候遇到了这些行 - 考虑一个分配声明.其目的是将一个值存储在 内存位置.数据对象是数据区域的一般术语 可用于保持值的存储. C标准仅使用 这个概念的术语对象.识别对象的一种方法是 使用变量的名称. 我尝试了Google,但找不到任何东西.这些基本术语使我感到困惑,所以请帮助我理解这些术语. 解决方案 一个数据对象是存储程序的存储位置. 一个变量是程序中用于参考数据对象的名称. 所以如果您写: int a; 它告诉编译器创建一个可以容纳整数的数据对象,在程序中,您可以使用名称a访问该数据对象. 指针是一个数据对象,其值是记忆某些其他数据对象的位置.因此,如果您这样做: int *pa = &a; 您正在创建一个变量pa,该变量是指该数据对象
在我发现的书中(翻译)中: 初始化是指在声明时间分配变量的值. int X=5称为初始化命令. 编辑:它只是说仅在您在声明时间分配值时才使用术语初始化.如果您以后这样做,那只是分配(根据它 - 我不这么认为,这就是为什么我要问的原因).是真的吗? 好吧,我一直以为(并且根据网络上的其他人)对初始化的初始化,该术语将值首先分配给变量.我认为int X=5只是声明的一部分. 我试图在MSDN上搜索,没有运气.感谢您提供的任何信息. 解决方案 如果您要问的只是术语(从您的问题中不确定),则变量的"初始化"是第一次分配值.这个术语来自您给出变量为"初始"值的事实. 这应该(显然)在第一次使用之前发生. int x=5; 是一个声明和初始化,实际上只是方便的速记 int x; x=5; 其他解决方案 通常,变量的初始化是声明后的第一个分配,因为变量不是自动初始化的.随后的作业只是作业. void foo() { int i;
我倾向于使用定义,声明和互换分配的单词,但这似乎对某些人造成了犯罪.这是合理的吗?我应该首次使用该单词声明单词分配给变量吗?还是还有更多? 解决方案 定义和声明相似,但分配非常不同. 在这里,我正在声明(或定义)一个变量: int x; 在这里,我将值分配给该变量: x = 0; 在这里,我在一个语句中都在做: int x = 0; 注意 并非所有语言都在一个语句中支持声明和分配: t-sql declare x int; set x = 0; 某些语言要求您在声明时为变量分配一个值.该要求允许语言的编译器或解释器推断该变量的类型: python x = 0 其他解决方案 定义是描述值或函数的定义,即编译器或程序员被确切地告知其是什么,例如. int foo() { return 1; } int var; // or, e.g. int var = 5; but this is cleare
一词多键是指角色可以 - 但不必比1个字节宽的字符集(例如UTF-16)?换句话说:如果有人谈论多重字符集是什么意思? 解决方案 术语是模棱两可的,但是在我的国际化工作中,我们通常避免使用"多键字符集"来指代基于Unicode的编码.通常,我们仅将术语用于具有一个或多个字节来定义每个字符的遗产编码方案(不包括每个字符仅需要一个字节的编码). shift-jis,jis,euc-jp,euc-kr,以及中文编码. 除了某些例外,大多数旧版编码都需要一种状态计算机模型(或更简单的页面交换模型)来处理,并且在文本流中向后移动是复杂且容易出错的. UTF-8和UTF-16不会遭受此问题的困扰,因为可以使用BitMask测试UTF-8,并且可以针对一系列替代对测试UTF-16,因此在非病理文档中向后移动,可以安全地完成而无需重大复杂性. 对于像泰语和越南这样的语言,一些旧版编码具有多重角色集的某些复杂性,但实际上只是基于组合字符,并且通常不会与广泛的术语"多键"一起插入.
我听到了人们的矛盾意见 - 根据 wikipedia utf-8 页面. 他们是同一件事,不是吗?有人可以澄清吗? 解决方案 扩展其他人给出的答案: 我们有很多语言,其中包括计算机应该显示的很多字符. Unicode为每个字符分配一个唯一的数字或代码点. 计算机处理诸如字节的数字...在这里跳过一些历史记录并忽略了解决问题的内存,8位计算机将把8位字节视为在硬件(16位)上轻松表示的最大数值单元计算机将将其扩展到两个字节,等等. 旧字符编码(例如ASCII)来自(前)8位时代,并试图在当时的计算中(即英语)中的主导语言塞入0到127(7位)的数字.在字母和非资本形式,数字和标点符号的字母内有26个字母,它们效果很好. ASCII的其他非英语语言延长了第8位,但是此扩展提供的额外的128个数字/代码点将根据所显示的语言绘制为不同的字符. ISO-8859标准是此映射的最常见形式. ISO-8859-1和ISO-8859-15(也称为ISO-LATIN-1,L
交互设计,视觉设计,网页设计,UX设计,UI设计,UI开发之间有什么区别? btb,下面找到的链接为UI vs ux回答. -ux 解决方案 也许只是一个较短的版本: 图形/视觉设计:看起来如何 信息体系结构/设计:如何组织 UI Design :在触摸它之前它是如何工作的 互动设计:触摸它后它是如何工作的 Web Design :它如何在浏览器中工作 ux Design :我对此的感觉 开发:实际编码 其他解决方案 这是我的看法,希望它对./ 首先,让我们澄清设计和开发 设计是一项概念工作,是解决方案的概念的产生,消除您认为,感觉和相信的事物的过程不适合作为您预期目标的解决方案 开发是最终规范/想法(至少在理论上)的生产,或者是有意义的,并且与您想要的东西很有意义(尽管在许多情况下不是那样),基本上,您的设计/想法转换为工作最终产品 注意在大多数情况下,这两种事情都可以并且在产品生产中并存 现在,这已经遥不可及