如何在其他方法上显示链表
我是26岁的软件工程师,在班加罗尔工作了2.3年。 我有广泛的知识,但不是任何专家。 我不是IITian,也没有CS背景。 但我有雄心壮志,想弥补。 我吃完了吗
我是一年级CSE学生。 除了大学,我应该怎么做才能更好地编码? 另外,未来四年我应该采取什么方法?
在哪里可以找到用于响应式网页设计的脚本?
如何掌握编程语言?
我应该怎么做才能在2周之前学习用于Web开发的C#?
根据最初的牵引力和设计,哪家公司会制造出最好的电动汽车?
根据最初的牵引力和设计,哪家公司会制造出最好的电动汽车?

Tesla / Fiskar将做到最好。 为什么? 因为特斯拉/菲斯卡(Tesla / Fiskar)没有像其他陷入石油燃烧的汽车那样的利益冲突。 汽油车制造商的商业模式不仅可以从销售中获利,而且可以从汽车的整个使用寿命中获利。 这是一笔不小的收入,因为它可能大于汽车销售的利润。 这就是为什么他们至今为止制作电子产品的速度如此之慢的原因,尽管该技术是儿童游戏,并且随时可以买到。 但是,Tesla / Fiskar的努力并未受到束缚,因此他们可以全力以赴,打造出最好的电动汽车,而无需董事会或会计部门的担心。 他们的工程师和设计师是自由和不受限制的。 这是赛跑者在200米内拉人力车与不拉人力车之间的区别。 在特斯拉和菲斯卡之间,我说特斯拉将制造出更好的电动汽车,因为菲斯卡将重点放在混合动力而非纯电动上。 更新: 自从我发表这篇文章以来,事实证明与这篇文章保持一致。 特斯拉在Model S方面做得非常出色,特别是在规格方面。 Fiscar在设计方面做得很好,但在规格方面做得很差。 该车非常重,内部尺寸很小,纯电动行驶里程几乎与伏特相同,而汽油行驶里程却比伏特差。 在大型制造商的行动方面也进行了排列。 大个子男孩拥有更强大的基础设施,经验和易于实施的经验,但他们也对不建造电气设备有着既得利益。 这使感兴趣的短路(没有双关语)有可能使他们尽一切努力来制造电气。 实际上,这一事实在他们当前在电动汽车领域的行动中显而易见。 他们所有的电动汽车都是限量生产,价格过高,农场工作仅限于加利福尼亚州……他们的运动事实与既得利益相称。 日产和三菱只是部分例外,但他们选择使电动汽车的设计古怪,并使它们的价值低于明显的价值主张,这仍然表明了这种既得利益。 在工程方面,以比汽油价格低得多的价格制造电动汽车非常容易。 您需要做的就是像设计新引擎一样全面提高电池的产量。 没有人愿意这样做。而且,每个人都想要自己的技术。 专有以阻止服务方面的竞争。

2011年在斯坦福大学进行的最激动人心的产品设计研究是什么?
2011年在斯坦福大学进行的最激动人心的产品设计研究是什么?

我是ChangeLabs的项目经理,ChangeLabs是由Banny Banerjee副教授管理的设计研究实验室,我们目前正在研究由美国能源部的ARPAe计划资助的项目。 我正在下面描述的我们正在研究的项目正在尝试从另一个方向解决能源问题。 尽管清洁/绿色技术最终将暂时变得更加有效,但减少家庭能源消耗的一种方法是通过教育和激励。 项目概况 : 我们正在研究如何在家庭环境中最好地显示能源数据。 随着智能电表的出现,许多房主现在能够以比每月电费单更高的详细程度查看其能耗数据。 我们的信念是,通过结合以人为本的设计和行为经济学原理,我们可能能够创造出能够长期改变能源行为的产品。 接口: 在过去的一年中,通过广泛的迭代设计,我们将项目范围缩小到三个能源接口。 每个界面都针对特定的行为经济学原理进行了设计,以便我们可以更好地了解涉及能源数据的“有效”方法。 1)认知界面– Powerbar 此接口旨在吸引这样一个事实,即人们通常相信即使附有数字/图形的信息源,即使他们不知道该信息意味着什么。 在这种情况下,我们将此仪表板用作其他设计的控件,因为它反映了当前存在的许多能源仪表板(请参阅LucidDesign)。 2)情感界面 – Kidogo 在Kidogo的帮助下,我们试图吸引特定个体的同情心,同时重新定义他们的能源消耗,使其更具意义。 关掉灯泡可以使美国人每个月节省一个美元左右,但对于发展中国家的人来说,可以为他们提供救生药或种子。 可以将此接口视为Kiva和Free Rice之间的混搭。 3)社交界面 – SplitBar *仍然无法上传此内容:/ 第三个界面着重于利用社交线索/压力来放大一个人节能的重要性。 通过将个人的能源使用量与朋友或对手进行友好的竞争,您可以鼓励该人更多地了解可能没有意义的数量(使用的能源)。 社会压力的使用是另一个重要因素,如果人们看到别人也在做某事,那么他们更有可能做某事。

人机交互:RTS游戏的UI进行了哪些更改,为什么有必要?
人机交互:RTS游戏的UI进行了哪些更改,为什么有必要?

在《沙丘2》和《星际争霸2》之间以及两者之间的所有事物之间,已经发生的一些更为突出的变化如下: 单位选择: 一次操作一个单元既痛苦又乏味。 航点 有时发送特定路径中的单元到达目的地以执行策略是很重要的,而旧方案需要大量的手动选择,然后在正确的时间单击以将其实施。 单位组书签 重复地单独选择不同的单元子集来执行操作是很痛苦的。 位置书签 能够轻松跳转到地图的关键区域很重要。 构建队列: 未充分利用的结构可能会带来机会成本,因此,这样做主要是为了减少减少单位生产过程中痛苦的微观管理的繁琐工作。 热键 热键对于最大化输入效率至关重要。 聊天: RTS游戏并不总是多人游戏,尽管现在可以说主要是多人游戏。 这使聊天成为游戏的核心功能,以确保您可以在游戏结束时键入令人满意的“ gg”。 上下文相关的右键单击: 通常,RTS游戏已经标准化了使用右键单击而不是使用左键进行上下文相关动作的目的,主要是避免了单击额外按钮或依靠热键将单元切换到其他模式的开销。 这也可以提高运动精度。 请注意,像技术树这样的元素并不是我认为的UI,因为它们依赖于游戏性-在我看来,这是对Starcraft 2的苛刻考验,这可以使玩Dune 2更加容易,从根本上不会改变游戏。

什么情况值得在C代码中使用内联汇编?
什么情况值得在C代码中使用内联汇编?

您可能需要修改低级系统状态(例如,在某些寄存器中显式设置值)。 有些指令可能对系统状态非常敏感,如果没有手写汇编,则无法有效使用。 例如,LL / SC非常适合同步,但是有效的同步(除非您退回到使用基本上是CAS的方式),因为指令对对内存访问(编译器可以免费访问)非常敏感,因此需要手工调试汇编制作)。 您可能想利用编译器不提供或不能为其提供接口的专用指令(例如,SIMD的指令部分或字符串扩展名)。 编译器确实为其中的某些提供了一些内在函数,但是它们是特定于编译器的(而合理地很好地支持GNU内联汇编语法)。 如果您已确定要使用程序集,则可能要问的是是否要在单独的目标文件或内联程序集中使用程序集Blob。 单独的目标文件可能更便于携带,甚至更具可读性,但是它也阻止您内联程序集。 GNU内联汇编允许您指定Clobbers,输入要求和输出,从而允许编译器在内联汇编周围进行智能分配和移动更改(例如,如果内联汇编期望寄存器中有某些值,则可以确保如果内联程序汇编了某个寄存器X中的值,则编译器实际上可以考虑该值,并避免将寄存器X分配给非相关代码段,除非有必要)。 如果要在共享对象中提供程序集,那么这并不是什么大问题,因为在这种情况下,您无论如何都要做出牺牲。

程序员应该如何考虑解决Prolog中的问题?
程序员应该如何考虑解决Prolog中的问题?

该线程上已经有几个可靠的答案,因此,我将采用另一部分“解决方案空间”,并为您提供一个具体的任务,以尝试在掌握了该问题之后,可以帮助您更好地思考解决Prolog中的问题,尤其是因为您来自像我这样的过程编程背景。 当我第一次开始对Prolog进行编程时,我觉得有必要像我使用C / C ++ / Pascal / Java / etc一样,在脑海中直观地了解控制流的结构。 程式。 在Prolog中很难做到这一点,因为您已经在程序控制流程的细微差别中添加了回溯功能。 同样,与程序编程语言相比,在Prolog程序中您倾向于使用更多的递归 。 如果花一点时间想象一下,即使在回溯和递归之间存在交互作用的情况下,即使看似简单的Prolog程序,控制流程也变得多么复杂,您将了解在您的控制流程中保持深刻的心理印象是多么困难。头。 这就是为什么许多说明文字都教您通过专注于代码所暗示的逻辑条件或链接而不是程序控制流程的内部细节或工作原理来设计Prolog代码的原因。 您会发现Prolog指导性文字,可以训练您“大声读出”您要表达的逻辑条件,然后让您按照这些逻辑条件编写代码,最后请您再次重新阅读代码,看看您是否大声读出时,代码仍然符合您的原始意图。 这实际上是一个很好的建议。 但是,它并没有帮助我在“过程性”术语和“声明性”术语之间进行过渡。 当我们想像当我的代码回溯并返回到最终目的地的方式时,事情如何发生变化时,我简直无法放过对Prolog机器如何执行代码的至少一种直观感觉。 (注意:促进Prolog独特执行模型的基础引擎称为Warren抽象机或WAM)。 详细可视化Prolog中的N皇后问题 我建议执行以下具体任务,以帮助您转变思维并提高对Prolog程序执行方式的理解。 我最后要做的是详细记住著名的N-Queens问题的控制流程,在该问题中,您尝试在国际象棋棋盘上找到一组正方形,在这些正方形中“ N”个皇后可以居住而彼此之间不能互相攻击。 对我来说,这是艰巨而困难的可视化任务 。 我实际上不得不每天躺2到4个小时,连续5天,由于程序执行时由于回溯和递归的影响,试图保存变量状态的每个变化的详细信息。 我一直在脑海里反复不断地运行可视化,每次当我的潜意识记住轨迹的较早部分时,每次都可以在脑海中保留更多可视化树。 像是在几天的时间里反复演说长篇演讲。 我想放弃很多次,因为这是一项艰巨的脑力劳动。 但是在5天结束时我可以做到。 我脑海中每条控制路径的移动都有细微的差别,这使我能够了解N皇后问题的Prolog执行路径的细节,这是我以前绝对无法做到的。 例如,现在我可以看到一个特定的递归/回溯路径是如何导致板上对角线的表达的,因为我看到了每次递归下降后附加到列表变量之一的“ slot”。 这是我的“尤里卡”时刻,让我爱上了Prolog,并为我的潜意识提供了永久模型,说明Prolog程序如何执行。 请注意, 我最多只能使用4个皇后区 。 也许我可以用更多的方法做到这一点,但我猜想这样做会以指数方式花费更长的时间,因为控制路径的数量以更多的方式成倍增加(或更糟)。 没必要,因为正如我所说, 此后的直觉一直忠实地为我服务 。 (个人说明。当我意识到外面有某些我没有的特殊认知能力的人比我能更快,更轻松地完成这项工作时,这使我丧命。人们喜欢那些具有摄影记忆的人,或者蒙着双眼可以同时玩10盘棋的能力,当然还有专家或比我聪明的人。我意识到他们可以毫不费力地完成对我来说是一项艰巨的心理任务。但这并不重要,我对Prolog的喜爱之所以成为永久性的,是因为我在脑海中清楚地看到了它的执行模型的惊人工作方式, 这种方式与几乎任何其他现有的编程语言相比,都更加吸引人! 现在我有了这种直觉,我有足够的时间去看Prolog编程并以声明的方式在脑海中读它,而无需感觉到详细的可视化控制流,因为我的直觉会让我知道是否有问题。控制流处于较低级别。 最后提示。 手工追踪Prolog程序。 在David Covington的书“ 深度Prolog编程 ”中,他有一节介绍了如何通过手工计算来跟踪Prolog程序(在纸上写出控制流)。 阅读并学习他描述的技术。 这会很有帮助。 […]

为什么复制计算机文件比移动文件要花更长的时间?
为什么复制计算机文件比移动文件要花更长的时间?

在Unix虚拟文件系统(VFS)中,文件由inode表示。 索引节点存储有关文件的元数据(大小,类型,所有者等),并指向磁盘上的数据块。 目录也是一个索引节点,它不存储文件数据,而是维护索引节点的列表,这些索引节点引用该目录中的其他文件和目录。 复制文件意味着您以两个数据副本和两个inode结尾,一个inode引用原始文件并保留在源目录中,一个inode引用数据的新副本并位于目标目录中。 。 因此,副本的成本就是创建新的索引节点以及分配和复制数据的成本。 它是需要复制的字节数(并由其决定)的函数。 文件系统/设备内的移动只是从一个目录中删除描述文件的索引节点,然后将索引节点放置在另一个目录中。 该引用指向的字节不需要更改。 索引节点也不变。 它只是存储在其他位置。 搬家的成本是不变的; 只是复制inode并将其指向预先存在的字节的开销。 从一个文件系统到另一个文件系统的复制或移动需要在目标文件系统中分配一个inode,将源字节复制到目标文件系统,并(在移动的情况下)删除源文件和inode中的inode。指向源字节的源文件系统。 跨文件系统移动的成本大于跨文件系统复制的成本,因为完成复制后需要删除源字节。 如果将源的inode和数据块与复制操作分开释放,则从理论上讲,这笔费用可以延迟支付(例如,可以将inode放在空闲列表中,然后再释放它,从而允许复制比它早返回)是在移动时以及在同一执行线程上执行的释放。 通常,跨文件系统副本的成本与同一文件系统内的副本的成本相同。