程序设计

专业和发烧友程序员的问答

30
使用node.js作为简单的Web服务器
我想运行一个非常简单的HTTP服务器。每个GET请求example.com都应index.html以常规HTML页面的形式(例如,与您阅读普通网页时相同的体验)获得响应。 使用下面的代码,我可以阅读的内容index.html。如何index.html作为常规网页? var http = require('http'); var fs = require('fs'); var index = fs.readFileSync('index.html'); http.createServer(function (req, res) { res.writeHead(200, {'Content-Type': 'text/plain'}); res.end(index); }).listen(9615); 下面的一个建议很复杂,需要我为get要使用的每个资源(CSS,JavaScript,图像)文件写一行。 如何在单个HTML页面中提供一些图像,CSS和JavaScript?
1102 node.js  server  webserver 

15
为什么存在AWS时人们会使用Heroku?Heroku与AWS的区别是什么?[关闭]
已关闭。这个问题是基于观点的。它当前不接受答案。 想改善这个问题吗?更新问题,以便通过编辑此帖子以事实和引用的形式回答。 去年关闭。 我是RoR初学者,他打算使用Heroku部署我的应用程序。我其他顾问朋友的话说,Heroku确实很容易使用。唯一的问题是我仍然不知道Heroku会做什么... 简而言之,我已经看过他们的网站,Heroku所做的工作对扩展具有帮助,但是...为什么那仍然重要?Heroku如何帮助您: 速度-我的研究表明,如果我针对美国/亚洲的受众,那么在美国东海岸部署AWS将是最快的。 安全性-它们的安全性如何? 缩放-它实际上如何工作? 成本效率-像dyno这样的东西可以轻松扩展。 他们如何与竞争对手抗衡?例如,Engine Yard和bluebox? 请使用外行英语术语进行解释...我是初学者。

7
普通英语的Ukkonen后缀树算法
在这一点上我感觉有点浓。我花了几天的时间试图完全围绕后缀树构造,但是由于我没有数学背景,因此许多解释都使我难以理解,因为它们开始过度使用数学符号系统。我发现的最接近很好的解释是带有后缀树的快速字符串搜索,但是他掩盖了各个要点,并且算法的某些方面仍不清楚。 我敢肯定,在堆栈溢出上对此算法的分步说明对我以外的其他许多人来说都是无价的。 作为参考,这里是有关算法的Ukkonen论文:http : //www.cs.helsinki.fi/u/ukkonen/SuffixT1withFigs.pdf 到目前为止,我的基本了解: 我需要遍历给定字符串T的每个前缀P 我需要遍历前缀P中的每个后缀S并将其添加到树中 要将后缀S添加到树中,我需要遍历S中的每个字符,其中的迭代包括沿着以S中相同的字符集C开头的现有分支以及当我将边缘拆分成后代节点时进行在后缀中找到一个不同的字符,或者如果没有匹配的边要走。当找不到匹配的边沿C向下走时,将为C创建新的叶边。 正如大多数解释中所指出的那样,基本算法似乎是O(n 2),因为我们需要逐步处理所有前缀,然后才需要逐步处理每个前缀的每个后缀。Ukkonen的算法显然是独特的,因为他使用了后缀指针技术,尽管我认为这是我难以理解的。 我也很难理解: 准确地分配,使用和更改“活动点”的时间和方式 该算法的规范化方面发生了什么 为什么我看到的实现需要“修复”他们使用的边界变量 这是完整的C#源代码。它不仅可以正常工作,而且支持自动规范化,并呈现输出的外观更好的文本图。源代码和示例输出位于: https://gist.github.com/2373868 更新2017-11-04 多年后,我发现后缀树有了新的用途,并在JavaScript中实现了该算法。要点在下面。它应该没有错误。npm install chalk从相同位置将其转储到js文件中,然后与node.js一起运行以查看一些彩色输出。在同一个Gist中有一个精简版,没有任何调试代码。 https://gist.github.com/axefrog/c347bf0f5e0723cbd09b1aaed6ec6fc6

28
如何有效地在Vim中处理多个文件
我已经开始使用Vim开发Perl脚本,并且开始发现它非常强大。 我喜欢的一件事是能够使用以下方法一次打开多个文件: vi main.pl maintenance.pl 然后在它们之间跳: :n :prev 并查看打开哪个文件: :args 要添加文件,我可以说: :n test.pl 我希望将其添加到我的文件列表中,但是它将清除当前的文件列表,并且在我键入时:args我只能test.pl打开。 那么,如何在args列表中添加和删除文件?
1098 vim  vi 


20
LINQ在特定属性上的Distinct()
我正在与LINQ一起学习有关它的信息,但是Distinct当我没有简单的列表(简单的整数列表很容易做到,这不是问题)时,我不知道如何使用。如果要在对象的一个或多个属性上的对象列表上使用Distinct,该怎么办? 示例:如果一个对象是Person,则带有Property Id。如何获得所有Person并将Distinct其与Id对象的属性一起使用? Person1: Id=1, Name="Test1" Person2: Id=1, Name="Test1" Person3: Id=2, Name="Test2" 我怎样才能得到Person1和Person3?那可能吗? 如果LINQ无法实现,那么Person根据.NET 3.5中的某些属性列出内容的最佳方法是什么?
1094 c#  linq  .net-3.5  distinct 


7
什么是“棉绒”?
最近我和PHPLint,JSLint碰到了“您可以即时将JS代码整理成棉”,同时阅读一些关于IDE的内容。 那么,除了我以外,所有人都知道的这种棉绒是什么?
1092 lint  gjslint 




12
如何直接初始化HashMap(以字面方式)?
有没有办法像这样初始化Java HashMap? Map<String,String> test = new HashMap<String, String>{"test":"test","test":"test"}; 正确的语法是什么?我还没有发现任何有关此的信息。这可能吗?我正在寻找在地图中放置一些“最终/静态”值的最短/最快方法,这些值永远不会改变,并且在创建地图时会事先知道。

30
如何在Java中创建通用数组?
由于Java泛型的实现,因此不能有以下代码: public class GenSet<E> { private E a[]; public GenSet() { a = new E[INITIAL_ARRAY_LENGTH]; // error: generic array creation } } 如何在保持类型安全的同时实现此目的? 我在Java论坛上看到了这样的解决方案: import java.lang.reflect.Array; class Stack<T> { public Stack(Class<T> clazz, int capacity) { array = (T[])Array.newInstance(clazz, capacity); } private final T[] array; } 但是我真的不知道发生了什么。

6
如何在AngularJS中使用$ scope。$ watch和$ scope。$ apply?
我不知道如何使用$scope.$watch和$scope.$apply。官方文档没有帮助。 我不明白的是: 他们连接到DOM吗? 如何更新对模型的DOM更改? 它们之间的连接点是什么? 我尝试了本教程,但是它理解了$watch并且$apply是理所当然的。 做什么$apply和$watch做什么,以及如何正确使用它们?

2
如何列出包含给定提交的分支?
如何查询git以找出包含给定提交的分支?gitk通常会列出分支,除非有太多分支,在这种情况下,它只会显示“许多(38)”或类似的内容。我需要知道完整列表,或者至少要知道某些分支是否包含提交。
1087 git  version-control 

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.