4 在半径范围内寻找房屋 在一次采访中,我被问到以下信息:一个房地产应用程序,列出了给定距离内(例如,用户希望在20英里内找到所有房屋)当前在市场上(即待售)的所有房屋,您将如何设计应用程序(数据结构和对数)以构建此类服务? 有任何想法吗?您将如何实施?我告诉他,我不知道,因为我之前从未做过任何与地理相关的事情。 10 algorithms data-structures geospatial
3 我的源代码应该使用UTF-8吗? 我觉得通常您并不真正选择代码的格式。我的意思是,过去我的大多数工具都为我决定了。或者我甚至都没有真正考虑过。前几天我在Windows上使用TextPad,并且在保存文件时,它提示我有关ASCII,UTF-8 / 16,Unicode等的信息。 我假设几乎所有编写的代码都是ASCII,但是为什么要使用ASCII?我们现在是否应该使用UTF-8文件作为源代码,为什么?我想这可能对多语言团队有用。是否有与多语言团队如何命名变量/函数/等相关的标准? 10 coding-standards source-code character-encoding utf-8
4 “我们希望对其进行编译,以免烧毁CPU做错事情。”这句话的含义是什么。 我在读这篇文章。它具有以下段落。 Scala真的很快吗?那么,您对fast的定义是什么?大约和Java一样快。它不必与C或Assembly一样快。Python没有比Ruby快很多。我们想用更少的机器做更多的事情,以更好地利用并发性。我们希望对其进行编译,以免烧毁CPU做错了事情。 我正在寻找最后一句话的含义。解释语言将如何使CPU做“错误”的事情? 10 performance cpu compilation
4 如何保持连续性/回调的代码可读性? 简介:尽管使用了异步代码和回调,是否可以遵循一些完善的最佳实践模式来使代码保持可读性? 我正在使用一个JavaScript库,该库异步执行很多工作,并且严重依赖于回调。看来编写一个简单的“负载A,负载B ...”方法变得相当复杂,并且很难使用此模式进行操作。 让我举一个(人为的)例子。假设我要从远程Web服务器(异步)加载一堆图像。在C#/ async中,我将编写如下内容: disableStartButton(); foreach (myData in myRepository) { var result = await LoadImageAsync("http://my/server/GetImage?" + myData.Id); if (result.Success) { myData.Image = result.Data; } else { write("error loading Image " + myData.Id); return; } } write("success"); enableStartButton(); 代码布局遵循“事件流”:首先,禁用开始按钮,然后加载图像(await确保UI保持响应),然后再次启用开始按钮。 在JavaScript中,使用回调,我想到了这一点: disableStartButton(); var count = myRepository.length; function loadImage(i) { if (i … 10 javascript coding-style async continuation
6 成为一名优秀程序员的思维能力 按照目前的情况,这个问题并不适合我们的问答形式。我们希望答案得到事实,参考或专业知识的支持,但是这个问题可能会引起辩论,争论,民意调查或扩展讨论。如果您认为此问题可以解决并且可以重新提出,请访问帮助中心以获取指导。 7年前关闭。 最近15年以来,我一直在使用非CS学位进行编程。我进入编程的主要原因是我喜欢学习新事物并将其应用到我的工作中。而且我能够比其他人更快地找到并修复编程错误及其原因。但是我可能从来没有发现自己是专家或专家,这可能是由于我不是CS专业。当我看到优秀的程序员时,我发现他们在解决问题方面非常出色,当然比我好得多。 我在职业中期中发现的一项技能就是以相反的顺序抽象地思考需求和任务。通过这种方式,我可以看到我真正需要做的事情而没有细节,并且可以快速找到已经存在的解决方案的一部分。 所以我想知道是否有其他思考技能可以成为一名优秀的程序员。我遵循下面的问答,实际上阅读了那里推荐的一些书。但是我不能真正选择直接适用于我的编程工作的好的方法。 程序员应阅读哪些非编程书籍以帮助发展编程/思维能力? /software/44654/skills-and-habits-to-develop-to-be-good-at-programming-im-a-newbie 10 skills
3 高效的公交车装载 这是我很久以前为一家公交旅行公司所做的事情,但我对结果并不满意。我最近在考虑那个旧项目,以为我会重新考虑这个问题。 问题: 巴士旅行公司有几辆载客量不同的巴士(例如15辆50座客车,25辆30座客车...等)。他们专门为大型团体(每团体300多名乘客)提供交通服务。由于每个团队都需要一起旅行,因此他们需要有效地管理其车队以减少浪费。 例如,三辆30座客车(2个空座位)要比2座50座客车(12个空座位)更好地服务88位乘客。再举一个例子,一架50人座的公共汽车和30人座的公共汽车(混合类型)将为75名乘客提供更好的服务。 有什么好的算法可以做到这一点? 10 algorithms
1 使用PHP和Javascript防止广告系统中的点击欺诈 我想用PHP,MySQL和Javascript构建广告项目。我说的是... 谷歌的AdSense BuySellAds.com 任何其他广告平台 我的问题主要是,我需要注意什么才能防止人们欺骗系统以及我可能遇到的任何其他问题? 我的设计理念。广告是数据库中的一条记录,当使用Javascript加载页面时,它将调用我的服务器,该服务器随后将使用PHP脚本来查询数据库并获得随机广告。(它可能确实像根据人口统计或其他条件获得广告一样)。然后,PHP脚本会将广告返回到调用它的服务器/网站,并在页面上将其显示为具有特殊跟踪的图像。链接。 我需要... 计算所有印象数(当页面上显示广告时) 计算“广告”链接上的所有点击 计算“广告”链接上的所有唯一点击 我的问题纯粹是关于广告的查询和显示,与管理方面无关。如果我的广告购买/销售广告空间涉及金钱,那么统计数据必须准确,并确保人们不能轻易欺骗该系统。跟踪IP地址真的是防止点击欺诈的唯一方法吗? 我希望有一些经验的人能够阐明我在正确的道路上吗?以及给我任何建议,技巧或其他我应该了解的类似方法? 10 php javascript
5 提高对大文件的grepping的性能 我有FILE_A有30万行,而FILE_B有3000万行。我创建了一个Bash脚本,将FILE_A中的每一行都移到FILE_B中,并将grep的结果写入新文件。 整个过程耗时超过5个小时。 如何提高脚本的性能? 我正在使用grep -F -m 1grep命令。FILE_A看起来像这样: 123456789 123455321 FILE_B是这样的: 123456789,123456789,730025400149993, 123455321,123455321,730025400126097, 因此,对于Bash,我有一个while循环,可以在FILE_A中选择下一行,然后在FILE_B中进行抓取。在FILE_B中找到该模式后,我将其写入文件result.txt。 while read -r line; do grep -F -m1 $line 30MFile done < 300KFile 10 algorithms performance perl bash
8 维护用两种语言编写的实现相同逻辑的代码库有哪些方法? 我有一个逻辑密集型算法,需要用两种语言进行编码(实际上,我已经令人满意地用一种语言完成了编码,并且即将开始用另一种语言进行编码)。逻辑密集型是指算法不平凡,需要仔细理解,并且重要的是,可能存在将来必须修补的错误(由于复杂和粗心,您知道)。 另外,我想确保当这些代码易手时,它一定不会使新的程序员不知所措。 在这种情况下,有哪些方法可以帮助维护代码库并使它们保持同步?我的意思是软件工具,最佳做法等。 仅供参考,两种语言是C ++和Java。适用于Windows / Linux的C ++和适用于“其他所有东西”的Java(包括Android)。 10 maintenance maintainability
3 可以使用哪种算法来实现合理的下一个单词预测? 实现“下一个单词预测”的好方法是什么?例如,用户键入“我是”,并且系统建议“ a”和“ not”(或其他可能)作为下一个单词。我知道一种使用马尔可夫链和一些训练文本(显然)来或多或少地实现这一目标的方法。但是我在某处读到,该方法非常严格,适用于非常简单的情况。 我了解神经网络和遗传算法的基础知识(尽管从未在严肃的项目中使用过它们),也许它们可能会有所帮助。我想知道是否有任何算法可以在给定适当的培训文本(例如报纸文章和用户自己的打字)的情况下为下一个单词提出合理适当的建议。如果没有(链接到)算法,则欢迎使用一般的高级方法来解决此问题。 10 algorithms artificial-intelligence machine-learning natural-language-processing
5 使用语音识别软件进行编程 已关闭。这个问题需要更加集中。它当前不接受答案。 想改善这个问题吗?更新问题,使其仅通过编辑此帖子来关注一个问题。 5年前关闭。 几年前,我非常简短地使用了《 Dragon Naturally Speaking》,并在考虑这是否是可行的编程解决方案? 我在想更多,所以如果您断臂或对编程产生重大障碍的话。 同样的问题也未解决。 10 productivity
6 DRY原理的解释 现在,我在编码中正在尝试DRY(不要重复自己)这个概念。我正在创建此函数,但我担心它变得太复杂了,但我尝试遵循DRY原理。 createTrajectoryFromPoint(A a,B b,C c,boolean doesSomething,boolean doesSomething2) 我说过的这个函数需要3个输入参数,然后在给定布尔组合doesSomething和的情况下,该函数会做一些稍有不同的事情doesSomething2。但是我遇到的问题是,随着每个新的布尔参数的添加,此函数的复杂性大大增加。 所以我的问题是,最好是让一堆不同的函数共享很多相同的逻辑(从而违反DRY原理),或者让一个函数在给定多个参数的情况下表现稍有不同,但使其复杂得多(但是保存DRY)? 10 java design dry
8 数组和堆栈有什么区别? 根据维基百科,一个堆栈: 是后进先出(LIFO)抽象数据类型和线性数据结构。 而数组: 是由一组元素(值或变量)组成的数据结构,每个元素均由至少一个数组索引或键标识。 据我了解,它们相当相似。那么,主要区别是什么?如果它们不相同,那么数组不能做什么,而栈不能做什么呢? 10 data-structures array stack
2 如何正确设计NoSql数据库架构?[关闭] 按照目前的情况,这个问题并不适合我们的问答形式。我们希望答案得到事实,参考或专业知识的支持,但是这个问题可能会引起辩论,争论,民意调查或扩展讨论。如果您认为此问题可以解决并且可以重新提出,请访问帮助中心以获取指导。 8年前关闭。 我想了解有关NoSQL数据库的更多信息,所以我选择从头创建一个新项目来处理足球比赛的结果。在我的传统关系数据库中,我有比赛,团队,成绩和课程表。显然都是相关的。 改用NoSQL方法设计这样的项目可能是一种好的方法? 10 database-design nosql
4 什么是表示两个类之间多对多关系的好方法? 假设我有两个对象类型,A和B。它们之间的关系是多对多的,但是它们都不是另一个的所有者。 A和B实例都需要知道连接。这不只是一种方法。 因此,我们可以这样做: class A { ... private: std::vector<B *> Bs; } class B { private: std::vector<A *> As; } 我的问题是:我将函数放在哪里创建和销毁连接? 应该是A :: Attach(B),然后更新A :: Bs和B :: As向量吗? 或者应该是B :: Attach(A),这似乎同样合理。 这些都不对。如果我停止使用代码,并在一周后返回,我确定我将无法回忆起是否应该执行A.Attach(B)或B.Attach(A)。 也许应该是这样的函数: CreateConnection(A, B); 但是创建全局函数似乎也不可取,因为它是专门用于仅使用类A和B的函数。 另一个问题:如果我经常遇到这个问题/要求,我能以某种方式为它解决问题吗?也许可以从共享此类关系的类中派生或使用的TwoWayConnection类? 有什么好的方法可以处理这种情况...我知道如何很好地处理一对多的“ C拥有D”情况,但是这比较棘手。 编辑:只是为了使其更明确,这个问题不涉及所有权问题。A和B都由其他某个对象Z拥有,并且Z负责所有所有权问题。我只对如何创建/删除A和B之间的多对多链接感兴趣。 10 c++ c++11