Language agnostic 编程术语表

当我浏览网站时,我发现许多刚起步的开发人员(甚至一些高级开发人员)可能不熟悉的术语 如果人们能在这里发布一个初学者或来自不同编程背景的人可能不知道的术语和定义,那就太好了 我见过一些不太常见的术语是‘自动装箱’、‘元组’、‘正交代码’、‘领域驱动设计’、‘测试驱动开发’等等 在适用的情况下,代码片段也会有所帮助。 可能是有人打败了我们;) 这是与计算机科学相关的装箱的正确链接:更好的是,一个站点域词典,包含Stackoverflow上每个编程术语的定义(随着时间的推移),定义本身根

Language agnostic 什么是Lambda?

有人能很好地描述一下什么是Lambda吗?我们为他们贴上了标签,他们是关于C#question的秘密,但我还没有找到一个好的定义和解释,来解释他们到底是什么。摘自维基百科: 在Lisp和Python等编程语言中,lambda是一个用于表示匿名函数或闭包的运算符,遵循lambda演算的用法。它只是一个内联声明的匿名函数,通常在不想编写完整函数时分配给委托 在lisp/scheme等语言中,它们通常作为函数参数自由传递,但C#中的习惯用法通常发现Lambda仅用于函数的延迟求值,如linq,或用于使

Language agnostic 标准如何保证数据结构使用连续内存?

我只是想知道内存究竟是如何工作的,以至于语言标准(比如C++的ISO/ANSI标准)可以保证任何数据结构(甚至是数组)都是连续的 我甚至不知道如何使用连续内存编写数据结构,但你能给我一个简短的例子,说明设计师是如何做到这一点的吗 例如,假设STD::向量从C++在运行时分配它的所有内存,它如何知道当前分配内存前面的内存槽没有被使用(并且,它是免费的,被向量使用)?向量是否只是向前看得很远,希望用户不要尝试向后推送太多对象,以致无法再将其存储在连续的内存块中?或者操作系统是否会随意移动内存以避免出

Language agnostic 如何构建和部署可扩展的web服务基础架构?

我有一个客户向我提出这个要求,但我以前没有这样做过,他所说的web服务基础架构是什么意思?首先想到的是 他可能指的是运行许多复杂交互web服务的某种“基础设施”。要么是通过web服务调用的企业应用程序,可以在web应用程序服务器的多个实例上运行,要么是运行一个非常好的多线程且可扩展到多个CPU的单个实例,或者部署大量不同的Web服务,这些Web服务通常通过消息队列相互通信,直到您的某些服务一直中断并需要庞大的团队来维护。还不如加入一堆虚拟机来拥有一个虚拟化的、可扩展的、可重新部署的web服务基础

Language agnostic 共享对象

想象一下,我有一个很好的甲板类,以最好的OO方式。它有牌,有套牌和等级,有洗牌法,等等。现在,我将有很多Deck的并发实例(假设这是一个赌场)。问题是:所有卡片组中的每张卡片是否都有不同的实例?卡片对象可能最好作为不可变对象实现。为了创建一张卡,你必须通过一套套装和一个等级,并且这个套装和等级在以后不会改变 从这个角度来看,由于这些对象不会改变,而且有一个设置的编号可以开始,所以实现一个包含所有52个可能的卡片对象的静态集合并从其他类访问这些卡片是有意义的(将卡上的构造函数设为私有,这样就不可能

Language agnostic 代码持续多长时间?

我正在回顾代码中一些更次要的TODO。其中一个在处理部分日期的类中,例如2001年1月。它在我们的系统中可以看到的日期(1990-2099)上运行良好,而在其他日期上运行正常 我留给自己的任务是,我不处理2100年及以后的日期。我真的认为修复这个问题不值得,但我知道Y2k问题。如果我们已经在2080年了,我想我会有不同的想法,并且会修复这个错误 那么代码能持续多久呢?我们应该为我们的系统继续运行计划多远 更新 好的,谢谢你的意见。我想我会选择把待办事项留在代码中,什么也不做。我发现最有趣的想法是

Language agnostic 如何处理一个“问题”;或;ERD(表格)设计中的关系?

我正在为一个个人项目设计一个小型数据库,其中一个表,称为tableC,需要有一个外键指向两个表中的一个,分别称为a和B,按条目不同。实现这一点的最佳方式是什么 迄今为止的想法: 创建带有两个连接到两个表的可为空外键字段的表。 可能带有拒绝插入和更新的触发器,这将导致其中0或2个为空 具有相同数据的两个单独的表 这打破了复制数据的规则 解决这个问题的更优雅的方法是什么?如果您确定C将只引用两个表中的一个(而不是N个表中的一个),那么您的第一选择是一种明智的方法(我以前使用过)。但是,如

Language agnostic 此数据结构是否有名称?有点像是;链接矩阵;?

假设我想要类似于双链接列表的功能,但需要一个矩阵,这样每个节点的结构如下: public class Node { Node Up, Down, Left, Right; object Value; } 这种结构有名字吗?我已经看过了,但没有看到任何类似的东西。除非我错过了它。这种数据结构有时被称为网格。这里显示的表示是一种有向图多重链表 或者我个人最喜欢的clusterf*ck。我读了这篇文章,立刻想到Knuth的舞蹈链接()使用了类似的结构。@MPelletier:我认为c

Language agnostic 从应用程序发送传真最符合标准的方式是什么?

据我所知,由于传真协议的实时性要求,VoIP上的传真非常不可靠。因此,简单地使用VoIP向POTS连接的传真机发送传真消息是不可能的 除了专有的传真API:s(例如通过特定于公司的SOAP API发送传真消息),还有哪些基于标准的协议可以通过IP编程发送传真消息?还有一个解决方案 如果您不控制网络的QoS(例如延迟),则更可靠的方法是使用存储转发机制(例如电子邮件)通过(非实时)云将图像路由到另一端的传真服务器,然后通过实时普通旧电话线发送传真。如果您正在寻找通过SIP发送传真,则大多数SIP提

Language agnostic 数学概念如何帮助我进行web开发?

我曾看到程序员在代码中与非常复杂的数学问题“搏斗”,特别是在游戏编程、物理编程、图形编程等领域。我是一名web开发人员,我想知道是否有数学概念可以用于web编程。我在一年零两个月前开始了网络编程,我所处理的只是复杂的系统分析、数据库查询、用户界面设计、简单的数据结构、复杂的数据操作和解释(正则表达式、解析等),但我还没有发现需要复杂的数学 重复一下这个问题,有没有数学概念可以利用我的web开发技能?如果有,它们是优势还是不可或缺的呢?是一个数学概念,它涉及到您的Web服务器如何处理请求,查看您的

Language agnostic 网站建设平台-如weebly.com、yola.com、homestead.com

我想构建/购买具有weebly.com、homestead.com或yola.com等功能的平台。你知道我应该去哪里吗?有什么建议吗?我想主持这个平台,为小企业建立他们的网站免费-利基为基础,地理分类等。任何帮助将不胜感激。 谢谢 Sameer试着用一个来构建这个网站,就像Joomla是一个伟大的开源平台,它完全符合你的“免费”标准。但如果你不熟悉这些东西,就会有一个学习曲线。我个人讨厌尤拉和威利。这些网站看起来很丑陋。。。Cubender(www.Cubender.com)是一款新产品,看起来

Language agnostic 在一个步骤(命令)中按具有相同标识符的列连接两个制表符分隔的文件?

我经常想连接两个ascii文件,这两个文件都是表,因为它们由由tab分隔的列组成,如下所示: 文件1 FRUIT ID apple alpha banana beta cherry gamma 文件2 ID FOOBAR alpha cat beta dog delta airplane 我想通过一个内部连接将它们连接起来: FRUIT ID FOOBAR apple alpha cat banana beta dog 或使用左连接: FR

Language agnostic 什么是不需要调用参数的函数?

有没有一个术语比“不带参数的函数”更简洁地描述一个不带参数的函数?(与例如“高阶函数”表示“将函数作为参数或返回函数的函数”的方式相同) 我自然会想到“空虚”,但我也会想到看到“空虚”时的副作用。我所想到的情况就是在这篇关于的讨论中不断出现的那种情况: 您可以创建一个不带参数、没有副作用、但仍能做一些有趣事情的闭包。空函数,通常: 一个函数是否有副作用与它有多少个参数是正交的,因此在一种没有函数有副作用的语言中,您不需要更具体的术语。在有副作用的语言中,我想你会称之为“无副作用”或“纯”空函数

Language agnostic 为什么用析取范式表示代码很重要?

在我工作的公司,最近有一项规定,所有“高度可视”的布尔逻辑必须以析取范式表示 例如(尽管这个概念是语言不可知的) 必须替换为: #if defined(A) || (defined(C) && defined(D)) || defined(B) 要求以这种方式表达代码的动机是什么?优点是什么?优点是在代码库中的任何地方以规范化/规范化的形式表达这样的逻辑(理论上)将使程序员更容易理解和维护它 如果没有这样的规则,一些程序员很容易试图“优化”表达式,以至于维护人员很难解开它。此外

Language agnostic 如何美化编程语言

我有用任何编程语言编写的代码。我如何“美化”网站上显示的内容(加粗的if、else等)?有什么好的API可以做到这一点吗 如果您使用的是PHP,我建议您使用自动格式化程序,我以前使用过PEAR 虽然你不应该真的需要一个脚本来格式化你的代码…是我认为在网络上最常用的插件 我认为它适用于大多数编程语言 我到处都能看到。实际上,我也在考虑将其添加到我的网站中。有一个被广泛用于此类任务(例如,它本身用于突出显示代码) Google代码美化JavaScript库支持所有类似C的(Java、, PHP、C#

Language agnostic 为什么要区分表达和陈述

在很多函数式语言中(实际上我所用过的所有语言),语句和表达式之间没有区别,每个代码块的最后一个值就是该块的“返回值”。另一方面,通常不被认为是纯函数的语言通常会引入这种区别 作为我所说的示例,下面的python代码打印None: def foo(): 5 + 5 print(foo()) 方案代码打印时10 (define (foo) (+ 5 5)) (display (foo)) 显然,我对喜欢一种风格而不喜欢另一种风格的人的主观回答不感兴趣,而是对客观原因感兴趣 对我来说,似乎

Language agnostic 访客与来访者之间的沟通

我的当前项目包含一个复杂的对象层次结构。以下结构是该层次结构的简化示例,用于演示: 图书馆 “小说”类 “科幻小说”类 书A(每本书都包含页面,此处不显示) B册 “犯罪”类别 C册 “非虚构”类 (许多子类别) 现在,每当我需要数据结构中的一些信息时,我希望避免在代码中出现嵌套循环,因为当结构更改时,我必须更新所有循环 所以我计划使用访问者模式,这似乎给了我所需要的灵活性。它看起来像这样: 类库 { 无效接受(ILibraryVisitor) { 迭代分类(this.c

Language agnostic 有没有办法通过按位操作检查整数的字符串表示形式是否包含零?

在C语言中,我一直试图想出一种有趣的方法来基本上完成以下任务,但不使用字符串表示法 private static bool HasZeroDigit(int value) { string text = value.ToString(); if (text.Contains("0")) { return true; } return false; } 我的第一次尝试是在检查绝对值的二进制表示形式中的一个字节是否包含一个零字节的过程中使用

Language agnostic 传递价值语言?

如果一种计算机语言被称为“按值传递” 我可以说: 1) 基元类型是按值传递的,将在函数中创建本地副本。 2) 对象是按值传递引用的,将在函数中创建引用副本 我知道这在JavaScript和Python中是正确的。在PHP、Java、.Net…?中这样说是有道理的。我脑海中闪过的传递值语言的最好例子是:它传递所有值,这意味着所有值都是在赋值时复制的,这还包括在调用函数时将实际值传递给函数的形式参数。这包括数组类型的值:复制数组的内容。虽然Go没有“类”,但它确实有结构类型,它们的实例在赋值时也会被

Language agnostic 为什么内存地址用十六进制数表示?

每当我看到直接指向内存中特定位置(如内存屏障)的C程序时,它都是用十六进制数来完成的,同样在windows中,当你得到一个segfualt时,它会用十六进制数来表示正在分割的内存。 例如:*(0x12DF) 我想知道为什么内存地址用十六进制数表示? 这是一个特殊的原因还是一个惯例?这是最短的、通用的数字格式,因此数字不会占据太多的位置,每个人都知道它们的意思。这是一种短得多的方式来表示否则将以二进制编写的内容。将十六进制转换为二进制和二进制也是非常好和容易的。二进制的每4位对应一位十六进制。惯例

Language agnostic 减少258双编码的长度

在Deflate算法中,有两种编码长度为258的方法: 代码284+5所有1的额外位 代码285+0额外位 乍一看,这不是最优的,因为正确使用代码285将允许编码259的长度 这种二元性是某种规范错误,由于兼容性原因而没有修复,还是有一些关于它的争论——例如,由于某种原因,258的长度必须使用较短的代码(0个额外位)进行编码?我们可能永远不知道。deflate格式的开发者菲尔·卡茨(Phil Katz)在很小的时候就去世了 我的理论是,匹配长度被限制为258,因此3..258范围内的匹配长度可以

Language agnostic 将值四舍五入到最接近45度的最干净方法是什么?

我的问题和这个问题一样 用户问: 我写这个是为了返回最接近的45度角。比如0,45,90,135 但我觉得一定有更好的方法。这工作正常,但看起来很凌乱 公共功能最接近度(degs:int):int{ 如果(degs>=0&°s我会将该值除以45°,四舍五入,然后再乘以45°。伪码: deg = round(deg / 45) * 45; 假设:/运算符返回浮点表示,不执行整数除法。如果特定语言不这样处理,则应显式处理(例如,您可以除以45.0而不是45).我知道OP要求的是度,但弧度可能

Language agnostic 处理从0**1e-15传递到1e-15**1e-15时出现的不连续性的优雅方式

大多数编程语言遵循()约定,即0**0==1为真(参见,例如,this) 然而,在处理返回0的1e-15时,您如何优雅地使其与具有接近1的数字这一事实相一致,而1e-15**1e-15返回0.99999999999655 为了“平滑”,这种不连续性可能意味着卷积的i)“if-else”语句或ii)从-0+1e-15增量,如果可能,我希望避免 我在Python下面临着这个问题,即使根据答案,我的问题可能不是Python特有的。我不理解你的问题f(x,y)=x**y在(0,0)处具有不可移动的不连续

Language agnostic 深拷贝和浅拷贝的区别是什么?

深度拷贝和浅拷贝之间有什么区别?简言之,它取决于指向什么。在浅拷贝中,对象B指向对象a在内存中的位置。在深度复制中,对象A内存位置中的所有内容都被复制到对象B的内存位置 这篇维基文章有一个很好的图表 浅复制:将成员值从一个对象复制到另一个对象 深度复制:将成员值从一个对象复制到另一个对象。 任何指针对象都将被复制和深度复制 例如: class String { int size; char* data; }; String s1("Ace"); // s1.siz

Language agnostic 如何阻止临时解决方案永远持续下去?

假设一个问题有两种可能的解决方案:第一种是快速但不易处理的;第二种方法更可取,但需要更长的时间才能实现。你需要快速解决这个问题,所以你决定尽快解决这个问题,然后计划开始更好的解决方案。问题是,一旦问题得到缓解,它就会在待办事项清单上直线下降。您仍计划在某个时候采用更好的解决方案,但现在很难证明实施它是合理的。突然间,你发现自己花了五年时间使用了这个不太完美的解决方案,一边诅咒它 这听起来熟悉吗?我知道这在我工作的地方不止一次发生过。一位同事描述说,他故意制作了一个糟糕的GUI,这样它就不会被意外

Language agnostic 使用示例解决方案编写练习

我正在寻找有解决方案的编码练习。我已经签出,但两个都没有用户发布的解决方案(也许我就是找不到?) 基本上,我可以(尝试)找出我将如何解决一个问题,但我想要的是通过了解其他(更好的)程序员将如何解决同样的问题来学习和扩展我的知识 有一些相当好的问题,很容易用编码的方法解决。没有网站支持的帮助系统,但简单的谷歌搜索通常会有很好的结果 一旦你解决了问题,你就可以访问网站解决方案和一个论坛帖子,其中显示了其他用户的解决方案,以便你可以从中学习(如果你先解决了问题)。在中,你可以在“竞赛>算法>统计信息>

Language agnostic 为什么新手程序员似乎回避库?

我注意到这里有许多新程序员提出的问题,这些问题可以通过使用库来解决。当一个库被推荐时,他们经常会回答“我不想使用X库”,这是学习曲线吗?或只是好奇 这是学习曲线。几乎总是因为他们的教授告诉他们不能 有时只是因为他们想自己学习,但我认为这很少见。我总是有这种冲动想自己去做,但有时我可以看到自己的局限性。 最近刚下载了一个创建PDF文档的库,但这几乎是我唯一记得的一次 至少对我来说,自己做事情是我学习的方式 我的印象是,许多新手程序员在使用别人的图书馆时不会认为是他们自己的工作。 < P>我不认为这

Language agnostic 从编码风格的角度来看,循环类依赖性是坏的吗?

从编码风格的角度来看,循环类依赖性是坏的吗 示例: 在数据库应用程序中,我们有两个类,一个封装关于单个数据库的信息(DBInfo),另一个可以创建数据库连接的类。(连接工厂) DBInfo有一个getConnection方法,该方法使用ConnFactory创建连接。但是ConnFactory本身需要一个DBInfo对象来执行此操作 这样:(为了可读性而忽略任何编码样式) 我的同事认为这是一种糟糕的做法,如果只有一个方向的依赖关系,而没有像这里这样的循环依赖关系,那就更好了 这是一种不好的做法,

Language agnostic 链接和文件大小

我是一个完全的初学者,这就是我对链接的理解:静态链接只复制实际用于可执行文件的代码。动态链接使用.dll,其中可能包含许多应用程序从未使用过的代码。如果我错了,请纠正我:) 现在是我的问题。我在我的应用程序中使用了一个开源库,但我将只实现它的一部分功能。要使可执行文件+库的最终大小尽可能小,我应该使用静态链接还是动态链接?如何确保不复制不必要的代码 谢谢 如果使用动态链接,则无论分布式应用程序有多大,都必须包含整个DLL。如果您使用静态链接,链接器应该*只将您在代码中使用的函数链接到可执行文件中

Language agnostic 支持向量机-分离超平面问题

从我所看到的看来,分离超平面的形式 x.w+b=0 这个符号我不太懂。据我所知,x.w是一个内积,所以它的结果将是一个标量。你怎么能用标量+b来表示超平面呢?我对此很困惑 而且,即使它是x+b=0,它不是一个穿过原点的超平面吗?据我所知,分离超平面并不总是通过原点 想象一个三维坐标系中的平面。要描述它,需要该平面的法向量N和该平面到原点的距离D。为简单起见,假设法向量具有单位长度。那么这个平面的方程是x.N-D=0 说明:x.N可以可视化为x在法向量N上的投影。结果是向量x平行于N的长度。如果该

Language agnostic 从白色到蓝色渐变的rgb公式是什么?

我想要一个数字在0范围内的按钮。。。255我希望按钮的颜色为零时为白色,255时为蓝色(RGB=(0,0255))。我怎样才能做到这一点?起初,我尝试在开始时将其设置为RGB=(0,0,0),但它只会将其设置为黑色 我如何才能做到这一点?RGB中的白色是255255 因此,只需减少红色和绿色即可将R&G设置为(255-按钮的值) 255255=白色 0,0255=蓝色从蓝色到白色的渐变将从以下开始: 0,0255 随着R和G值以相同速率增加: 1,1,255 ... 10,10,255 ...

Language agnostic 三维游戏编程

他们使用什么编程语言制作《生物制品的龙腾时代起源》等游戏和《使命召唤》等其他3D游戏 如果我想做3d游戏编程,从哪里开始?这方面有简单的教程吗?我想为电脑游戏做3D游戏编程:)C++是一个坚实的开端 有像样的课程(收费)。这绝非小事。从基础知识(面向对象编程、3d动画、线程等)开始,你会有所收获 记住要玩得开心。它使学习变得更容易。 < P>大多数主要游戏都是用C++编写的。这并不意味着你必须使用C++。对于印地游戏来说,如果你更熟悉C(或者想要相对轻松地在Xbox 360上播放你的最终作品),

Language agnostic 从终端发送NUL字节的键组合是什么?

这听起来可能很可笑,但我需要从终端向XML套接字服务器发送类似的内容,后跟nul字节。 我正在使用油灰,但我尝试了各种组合,如\0或/0或\u0000,但都没有用。 我想知道这是否有一个特定的组合键,或者我在什么地方搞砸了?这取决于PuTTY在模拟什么(不同的模拟器可能会不同地映射它),但它通常是^@——也就是说,Ctrl+@似乎与编程无关。可能是超级用户?我不知道它是否有用,但Alt+000(数字键盘上)会在windows命令提示符下完成。可能与编程无关,但程序员会回答一个问题。我说让它保持在

Language agnostic 处理编程中开放问题的最有效方法 我用C++编程。有时有1000种方法可以做某事,取决于当时的灵感/精力等,我可以选择“正确的一种”,也可以选择不正确的一种,然后花10分钟或3天的时间来解决问题、找到解决方案或为老板做一件事

在编程时,如何处理这种“开放”情况?用你的直觉?你喜欢在之前做很多计划吗 非常感谢 从所有可能的解决方案中选择一个易于测试的解决方案 实施测试 实现代码 重复上述步骤,直到我具备实际解决问题所需的功能 现在检查代码是否足够干净。大多数时候不会。在这种情况下,重构直到它是干净的 足够干净意味着:要么比项目中的平均代码块干净得多,要么像我能写的那样干净。不管是什么,都要提前达成 好吧,我必须承认,这至少是我试图编写代码的方式 选择通过可测试性作为副作用的解决方案更倾向于设计良好的解决方案。我会: 编

Language agnostic 如何度量或表示时间段之间值的变化?

我需要提供一些指示,说明值在不同时间段之间的变化方式 此值可以通过以下任一方式移动: 0->一些正值 一些正值->0 正值->较大正值 正值->较小正值 我最初考虑过提供一个%的更改值,但是这有很多问题: 如果T1中的值为零,然后在T2中增加到某个正值,那么从技术上讲,增长百分比是无限的 类似地,如果T1中的值为1,然后在T2中增长到10000,则增长百分比为10000%,这是毫无意义的 当值向另一个方向移动(即从非常大的值移动到零或非常小的值)时,反之亦然 有什么更好的方法来表示随时间变化

Language agnostic 编码竞赛,语言不可知准则?

我可能很快就要参加一个编码比赛了,我想知道是否有人参加了,指导方针/流程在哪里。 我想让比赛吸引所有开发人员,我正试图想出一些方法。 场景是:有一个活动正在进行,我们(编码竞赛的)将有一个空间,我们可以使用(编码或提问等),但是,理想情况下,竞赛的任务应该是分配的,如果他们愿意,他们应该能够去做其他事情。 我想知道的是要面对什么样的挑战,最重要的是,教与学好的编码标准需要很长的时间,我想如果你已经编码了很长时间,你会很快把事情做好。。。但在比赛中,你会偷工减料。。。 我非常感谢您对这场吸引所有开

Language agnostic 根据数值计算日期

数字71867806表示今天,以最小的天数单位表示。 对不起,盖伊的,我的,实际上是毫秒 我怎么能 从中计算当前日期 (或)将其转换为Unix时间戳 解决方案不应使用依赖于语言的功能 谢谢 这取决于: 这个数字代表什么单位(天、秒、毫秒、滴答声?) 开始日期是什么时候 总的来说,我不鼓励你在这里尝试重新发明轮子,因为你必须自己处理与日期有关的每一个例外情况。这取决于: 这个数字代表什么单位(天、秒、毫秒、滴答声?) 开始日期是什么时候 一般来说,我不鼓励你在这里尝试重新发明轮子,因为

Language agnostic 集成测试-“;不会引发任何异常”;方法这有意义吗?

有时,集成测试编写起来相当复杂,或者开发人员没有足够的时间检查输出——编写只确保“没有抛出异常”的测试有意义吗?这样的测试提供了一些输入参数集,不检查结果,但只确保代码没有异常失败 也许这样的测试不是很有用,但在你没有时间的情况下是合适的 集成测试基本上与单元测试相同,但由于大量额外组件,集成测试更加复杂。单元测试都是关于提供一些输入和断言一些结果,无论它们是值还是异常等。同样的情况也应该应用到集成测试中。最坏的情况是,至少要测试实际结果是否有意义,而不是仅仅假设没有例外就意味着一切正常。这样的

Language agnostic 如何使用单个阵列实现三个堆栈

我在一个采访网站上遇到了这个问题。这个问题要求在单个阵列中高效地实现三个堆栈,这样,在整个阵列空间中没有剩余空间之前,堆栈不会溢出 对于在一个数组中实现两个堆栈,这是非常明显的:第一个堆栈从左向右增长,第二个堆栈从右向左增长;当stackTopIndex交叉时,表示溢出 提前感谢您富有洞察力的回答 第一个堆栈从左向右增长 第二个堆栈从右向左增长 第三层从中间开始。为了简单起见,假设奇数大小的数组。然后第三个堆栈的增长如下: * * * * * * * * * * * 5 3 1 2

Language agnostic 如何在浏览器中捕获小程序生成的网络流量

我想了解浏览器中的java小程序如何与服务器通信。可以捕获网络流量吗?看看,它可以进行捕获和协议分析,所以这可能是您想要的 您只需告诉它在您的传出网络接口上侦听,它就会捕获数据包并允许您查看它们。您可能希望通过服务器IP进行过滤,这样您就不会看到同时发生的所有其他垃圾邮件。也许您可以使用FireBug(Firefox扩展)来监控流量,但我不确定它是否适用于Java小程序,因为小程序在JVM中运行。试试看

Language agnostic 如何组织代码?

我指的不是缩进或目录结构,而是实际的文件本身 您是否按字母顺序排列您的成员和方法?可能是按照他们的使用顺序或复杂逻辑的顺序(升序或降序)?对你的疯狂有什么解释吗 我正在考虑按字母顺序切换,但有些情况会让我发疯: var _height var _properties var _width 宽度和高度绝对应该组合在一起。。。但有时在一个更大的文件中找到正确的方法会让人非常沮丧 你是干什么的?我做事很乱。我当然不会按字母顺序排列变量。对于C#,我甚至没有那么有条理,因为有些变量我使用像这样的东西,

Language agnostic 低延迟编程

我已经读了很多关于低延迟金融系统的书,特别是自从著名的公司间谍案之后,低延迟系统的想法就一直在我的脑海中。有一百万个应用程序可以使用这些人正在做的事情,所以我想了解更多关于这个主题的信息。问题是我找不到关于这个话题的任何有价值的东西。有人能推荐一些关于低延迟系统的书籍、网站和例子吗?任何关于实时编程的东西都可以。我想这并不完全是你想要的,但这是一个非常好的起点。如果我没记错的话,实时Java在这一领域的应用,尽管我现在找不到一篇好文章来链接。好吧,这不仅仅是传统的实时编程,而是一切。我在一家证券

Language agnostic 检测文件是否重复,如果不重复则重命名

我有一些将文件移动到同一目录的代码。以下哪种策略是好的: 检测文件是否与目录中现有文件重复?这是为了决定是删除源还是简单地保留它 如果已存在同名但内容不同的目标文件,是否重命名源文件 检测重复文件 大多数编程语言都有一个类似于FileExists的函数,它获取一个文件名并返回一个布尔值,指示文件系统中是否存在具有给定名称的文件 处理名称相同但内容不同的文件 计算两个文件的校验和并比较这些散列。同样,大多数语言都有一个sha1函数,它获取一个表示文件内容的字节数组,并返回一个表示sha1哈希的

Language agnostic “中最大可表示浮点/微小错误”;每一位计算机科学家都应该了解浮点运算;。

我相信“每个计算机科学家都应该知道浮点运算”这篇论文中有一个小小的错误 它声称 一种不太常见的情况是实数超出范围,即其绝对值大于 这几乎是精确的,最大可表示浮点数略小于此值,当实数大于时超出范围 对吗?我不喜欢图像,所以我会写b代表“beta”,m代表“e_max” 假设b是基数,p是精度,m是最大指数 那么我想你想要的表达是: (1 - b^(-p)) * b^m 例如,对于精度为4位且最大指数为12的基数-10,这将给出: .9999 * 10^12 …这是正确的 请注意,这并不完全

Language agnostic 混合属性数据集的距离函数

是否有计算混合属性数据集之间距离的函数。例如,如何计算距离D=d1-d2?其中d1(100,TCP,1480)和d2(200,ICMP,1650)如果您碰巧使用了可怕的KDDCup 1999数据集,请阅读以下答案: -数据集是无用的,所以不要再使用它了 您可以尝试距离,例如高尔距离。但最有可能的是,它们对netflow数据没有任何用处。您应该尝试合并领域知识:回答两个Netflow何时相似的问题,然后将其放入等式中;而不是试图找到一个神奇的方程式 Gower或任何其他股票距离函数不起作用的原因之

Language agnostic 有没有办法衡量一门语言的复杂性?

当我开始学习一门新语言(如Java)或一个系统(如git)时,了解我要攀登的山峰的总体大小会非常有帮助 有没有办法用这种方法测量代码 你可以测量一座山的高度和攀登的难度。代码中有类似的东西吗 更新 这在一定程度上回答了我想知道的问题:不容易。你可能最好只是做一些搜索——你可能会发现人们说像HTML这样的东西相当简单,C++很难,尽管我理解这不是一个可靠的方法。 归根结底,学习某样东西的难度因个人而异,语言与你已经知道的语言的相似性也可能产生影响 如果有帮助的话,我注意到的一些一般规则如下: J

Language agnostic 给定两个位置和所有位置的列表,找到最快路径

我有两个点(x1,y1)和(x2,y2),以及一个可以通过格式(x,y)遍历的所有可能位置的列表,我如何找到/估计两个值之间的最快路径 我是用Java实现的,但是语言并不重要 关于该问题的一些限制和附加信息: x1和x2的值永远不会相同,除非y1=y2,这是因为这些位置始终位于方框的边缘 在检查路径之间的连续性时,(x1,y1)和(x2,y2)之间可能并不总是存在路径 并非所有可能的点都将连接到(x1,y1)或(x2,y2) 最短路径不是必需的,但很容易知道 只需要一些关于采取什么方向或研究

上一页   1   2    3   4   5   6  ... 下一页 最后一页 共 88 页