软件工程

针对在系统开发生命周期中工作的专业人士,学者和学生的问答

4
为什么Rails用Ruby编写?[关闭]
已关闭。这个问题是基于观点的。它当前不接受答案。 想改善这个问题吗?更新问题,以便通过编辑此帖子以事实和引用的形式回答。 6年前关闭。 我知道PHP和Ruby。 使用名为Symfony(显然是最好的PHP框架)的PHP Rails克隆(并非没有选择),我注意到它是Rails的克隆。我认为Symfony很愚蠢,这(SensioLabs是一项聪明的生意),因为Rails已经存在。 除了可以赚钱的开源项目之外,我不理解为什么人们已经在Rails已经存在的情况下用PHP制作Rails克隆。为什么不使用Rails?DHH肯定用Ruby编码了Rails是有原因的。 使用Symfony,我注意到有些东西感觉不太正确,但我不知道它是什么。我是通过胡扯的Sitepoint电子书学习了Rails的,却忘记了它,所以现在我通过PragProg电子书学习了Rails,我很喜欢那本书。我并不完全了解Rails,但我了解它的工作原理(感谢Symfony)。我很想读完整个电子书,所以我可以制作2个Rails应用程序。我记得使用我无法完成的Sitepoint电子书,Rails比Symfony更有趣,而这与Ruby的漂亮语法无关。 为什么Rails用Ruby编码? 感觉不对的PHP Rails克隆有什么用? Rails在做什么,Rails克隆在做什么?

3
功能语言中的获取器和设置器
函数式编程的宗旨之一是使用纯函数。Pure函数是无副作用且参照透明的函数。 Getter并不是透明的-如果在两次Getter的调用之间调用了Setter,则即使Getter的参数没有(通常没有参数),它的返回值也会改变。 设置器会产生副作用-调用设置器通常会操纵不是其返回值的值(实际上,传统上,设置器不返回任何值) 我知道在Scala中,我们可以接受这样一个事实,即我们将两个范例(功能和面向对象)结合在一起,并像使用Java这样的语言时使用了getter / setter。 在像Haskell这样的语言(我不太会流利,但被告知对“纯”功能语言更真实)时,我很好奇,如何对对象的属性建模,以使Getters相对透明和Setters。有副作用吗? 解决方案是将调用设置器的对象的副本作为设置器的返回值传回,并且此副本包含对属性值的更改吗?

7
渲染数万亿个“原子”而不是多边形?
我刚刚看了一段有关发行商称之为“ 3D发明之后的下一个重大步骤”的视频。根据其中一位知情人士的说法,他们使用大量被分组为云的原子而不是多边形来达到无限细节的水平。 他们尽力使不了解任何渲染技术的人都能理解该视频,因此或出于其他目的而忽略了引擎工作原理的所有细节。 他们的视频中的细节水平对我来说确实令人印象深刻。 如何在当前硬件上使用自定义原子而不是多边形来渲染场景?(速度,内存方面) 如果这是真的,为什么到目前为止没有人想到它? 作为OpenGL开发人员,我真的对此感到困惑,并且真的想听听专家怎么说。因此,我也不希望这看起来像廉价的广告,并且仅在需要时在评论部分中包含指向视频的链接。
9 graphics  3d  atom 

3
我可以使用Linux / Mono代替Windows / Visual Studio没问题吗?[关闭]
已关闭。这个问题需要更加集中。它当前不接受答案。 想改善这个问题吗?更新问题,使其仅通过编辑此帖子来关注一个问题。 4年前关闭。 我在.Net(C#/ ASP.NET)和Visual Studio方面拥有6年以上的经验。但是最近我很想切换到Linux / Mono。它提出了一些问题: 我可以在Mono中正确运行旧的Visual Studio项目和源代码吗? 我的客户端将IIS用于ASP.NET,将MS Windows用于Winform和Console项目。我的迁移会影响他们吗?换句话说,我的Mono项目是否可以在Windows / IIS中运行而没有任何更改或问题? 考虑到Mono,Novell,Xamarin和Attachme的最新变化,Mono是否可靠? 我是否可以继续使用我最喜欢的开源项目,而没有像NHibernate,Castle,Cuyahoga,log4net,Microsoft Enterprise Library和DNN这样的开源项目? 我可以在Apache中托管Mono ASP.NET Web项目吗? 我可以准确地在ASP.NET Web窗体和Mono中的MVC中使用我的技能吗?

3
为什么不应该考虑“响应式”网页设计?
与编程问题相比,这似乎更像是图形设计问题,但我认为它比实际的图形设计具有更多的技术/编程优点。 “响应式” Web设计的概念围绕使用CSS3中的媒体查询来检测查看设备的大小并相应地调整CSS规则-本质上是动态CSS。这填补了许多部署案例的空白,尤其是移动应用。 我认为媒体查询的使用正在缓慢发展(我发现很多人对此并不真正了解),但是我想知道是否存在缓慢采用的原因。Web应用程序不切实际吗?我是否缺少某些可能是根本性陷阱的东西?

3
存在哪些方法来处理数据库变更管理?[关闭]
已关闭。这个问题需要更加集中。它当前不接受答案。 想改善这个问题吗?更新问题,使其仅通过编辑此帖子来关注一个问题。 4年前关闭。 我最近开始在使用Subversion的Web开发中使用版本控制。这对于管理我开发的文件非常有用,但对于我有时需要对数据库进行的更改却无济于事。据我所知,我正在使用的服务器上没有任何数据库管理系统,而且我很可能无法让他们安装任何东西。在这种环境下,管理数据库有哪些选择?

4
开发定制购物车值得吗?[关闭]
按照目前的情况,这个问题不适合我们的问答形式。我们希望答案会得到事实,参考或专业知识的支持,但是这个问题可能会引起辩论,争论,民意调查或扩展讨论。如果您认为此问题可以解决并且可以重新提出,请访问帮助中心以获取指导。 7年前关闭。 在我的工作场所中,我们有漂亮的Cakephp模块库,并且我们会以令人满意的速度开发自定义网站,直到购物车出现以减慢该过程为止。我在不同的项目中使用了各种购物车(Magento,Opencart,Zencart),我们必须将它们与我们的核心Cakephp应用程序合并。通常,非常自定义的要求使购物车不可升级,并且花费大量时间。 我正在考虑从头开始制作我们自己的购物车(目前还很基本,并且我们会不断扩展),以便它可以轻松地适应自定义要求。这值得吗? 更新11年8月24日 我继续开发自己的购物车。这是我想与大家分享的经验。 好处 新的购物车易于更改和扩展。 当我们有模糊或自定义要求时,它可以节省时间,并允许我们直接从现有代码库中导入模块。 购物车和自定义网站无需双重模板实​​施。 我们的购物车和自定义网站的单一管理面板。 局限性 在市场上的其他手推车上还不够成熟。 安全问题。我们主要依靠cakephp安全性。 缺乏功能 面临的问题 开发运输/付款网关是真正的难题。正如@davidhaskins指出的 它为我们节省了大量时间,我们可能花了很多时间来破解标准购物车来满足我们的需求

9
与无法支付开发费的客户分享收益[关闭]
关闭。这个问题是题外话。它当前不接受答案。 想改善这个问题吗? 更新问题,使它成为软件工程堆栈交换的主题。 4年前关闭。 我有一个潜在客户,他对ipad应用程序有想法,但无法为此找到足够的资金。 出现的一个想法是,我免费或收取少量费用从事这项工作,然后从Appstore收取一定比例的收入。 如何确定实际的百分比? 这如何受应用商店中价格的影响?如何保护自己免受客户突然决定免费提供应用的情况的困扰?

4
.NET(C#)中Web爬网的模式和实践
已关闭。这个问题需要更加集中。它当前不接受答案。 想改善这个问题吗?更新问题,使其仅通过编辑此帖子来关注一个问题。 4年前关闭。 我将整理一个应用程序以自动化外部网站/应用程序。在某些情况下,我需要像用户那样浏览网站(我需要关注的某些链接无法预测,因此必须从响应中进行解析) 我已经在使用Html Agility Pack了,如果需要的话,我也知道Tidy。 还有其他我应该注意的技术吗? 是否有建议的模式可以在外部Web应用程序发生更改时快速进行调整?我设想将响应的验证封装为某种类型的策略或类似的模式,可以根据需要轻松地将其分离/插入,但是任何特定的建议都很好。
9 c#  .net  html  web-scraping 

4
整数是否过多用作数据类型?
大多数应用程序开发人员是否在真正要使用无符号整数的地方使用有符号整数?我一直在做,我的同事也在做。我没有看到很多其他广泛的代码库(Delphi VCL除外),并且互联网上的示例通常使用整数。VCL开发人员使用自己的数据类型(这是声明变量的最懒惰的方式)。 像这样的代码似乎有些可怕 TStuffRec = record recordID : Integer; thingID : Integer; otherThingID : Integer; end; 什么时候可以写成 TStuffRec = record recordID : Cardinal; thingID : Cardinal; otherThingID : Cardinal; end; 从功能上讲,这些记录几乎总是相同的(并且希望即使在64位Delphi中也将继续相同)。但是非常多的人会遇到转化问题。 但是使用无符号整数也有缺点。主要是因为将两者混在一起是多么烦人。 真正的问题是,这是否是实际上已被考虑或纳入最佳实践的东西?通常只取决于开发人员吗?

9
我应该期望新毕业的毕业生熟悉基本的编程概念吗?[关闭]
已关闭。这个问题是基于观点的。它当前不接受答案。 想改善这个问题吗?更新问题,以便通过编辑此帖子以事实和引用的形式回答。 4年前关闭。 在我期望某人已经在大学学习了几年编程的人与实际知道的人之间,似乎存在巨大差异。 我不觉得我在面试中问的问题过于复杂。我的一些常见问题是: 引用类型和值类型有什么区别? 如果受访者似乎不太了解自己的答案,或者如果他不知道我使用的术语,我会要求他向我解释当我写int = 0时会发生什么,从而获得更多细节。在方法中,对象o = 0,对象o = new MyClass()等如何? 基本上,我会尽一切努力诱使受访者告诉我有关调用堆栈,堆等的信息,并且我会尽量坚持语言不可知论的概念。如果受访者告诉我他做了很多C或C ++或c#,我将更深入地研究特定的语言,并可能深入研究实现细节。 如果需要,我问受访者什么是调用栈,或者以他选择的命令式语言将传递给函数的参数存储在哪里。 大多数受访者不知道什么是调用堆栈,更不用说拳击方面的考虑了。 抽象类和接口之间有什么区别?在哪种情况下,您应该使用另一种方法? 通常,我还请他们想象一个小型库的设计,该库的用例旨在使用一些继承和一些抽象工厂 大多数受访者都不知道真正的继承目的是什么。他们通常知道一些关键字(虚拟关键字,覆盖关键字等),但并不真正知道何时使用它们,更不用说解释什么是虚拟表了。 即使我事先筛选了简历,即使对于在涉及复杂体系结构的现实生活项目中拥有5年经验的人,我也要说不到25%的受访者能够正确回答这两个问题。当我说得正确时,我并不是说“深入”……只是为了大致了解该概念。 对于初中生,我可以聘用一个不知道如何很好地组织时间的人,或者不熟悉例如工业建筑过程的人,但是我有一种感觉,如果一个人没有听说过“几年学习计算机科学后,他要么很愚蠢,要么没有动力,要么非常不明智地选择了他的大学。 你认为我在这里太极端了吗?大学毕业后学习这些基本概念是否普遍?您是否认识一些不熟悉这些技术并在几年后成为非常优秀的软件工程师的人?您认为我的公司在吸引人才方面可能存在问题,还是在自己的招聘过程中遇到相同的问题? 编辑。关于“即时类型”的事情,这只是从法语到英语的字面翻译,因为我们通常会用法语进行采访。我已经解决了我的问题。但是,尽管如此,我认为你们所有人都完全理解我的意思,这是我的意思,不是吗?
9 hiring 

1
Lisp和LaTeX的婚姻-完成了吗?
我喜欢LaTeX,但是我发现它的宏系统和逻辑既复杂又薄弱。Schem / Lisp / Clojure等语言在宏方面非常擅长。我想象整个文档都是用Lisp家庭语言编写的,运行时会发出LaTeX代码并生成一个文档。以前做过吗?有链接吗?
9 lisp 


5
Java中的亵渎过滤器性能
我需要在基于Java的Web应用程序中过滤掉用户提交内容中的亵渎行为。客户知道斯肯索普问题和克洛提克问题,并已接受后果。拜托,我不想就缺乏审查制度的优点进行辩论。 有两个数据位: 用户提交的内容,可能包含500个字左右; 单列数据库表,其中包含不允许的单词。该表中可能有成千上万的记录。 目前的解决方案对我来说似乎是错误的: 整个表在启动时装入到Singleton中的静态String []中(因此驻留在内存中)。 对于每个用户提交,我们遍历数组并执行.indexOf()以查看String []中是否有任何给定单词出现在提交中。 如果出现,我们将替换为%$#@%样式的字符。这是通过以下方式完成的:标记用户提交的内容,再次将整个用户提交作为标记循环,并替换找到的单词的每个实例。 此解决方案可能会有出色之处,但我对此表示怀疑。看了一会儿,我找不到路。 问题是,有什么解决方案能够提供良好的性能,并希望在我因未能过滤掉一些我从未听说过的晦涩词汇而被解雇后,对未来的开发人员保持理智的态度?
9 java 

4
我的面试工作很糟糕,但仍然找到了工作。如何处理与新经理的关系?[关闭]
关闭。这个问题是题外话。它当前不接受答案。 想改善这个问题吗? 更新问题,使它成为软件工程堆栈交换的主题。 5年前关闭。 我参加了一组关于最近被录用的职位的面试。在面试过程中,我被分别采访了6次。3个技术面试和3个情况/业务面试。 在我的第二次(也是最困难的采访)中,现在是我的经理的面试官要求我在一夜之间为编程问题提供解决方案。我第二天提交了解决方案,但很快发现这不是面试官所期望的。我迅速采取了另一种解决方案,其中包括正确的答案,并被面试公司认为是正确的。 我现在知道,在幕后,在这段时间里,面试过程发生了变化,因为经理在6个月的时间内没有雇用任何员工担任该职位。 现在我有了这个职位,我有点担心这种特殊情况使经理对我在这里的位置感到不好(我认为这是在他的头上做的,因为新的聘用过程花费了太长时间)。 我现在工作了两个多月,没有与这位经理进行任何直接互动,只是一个团队负责人。我相信我的表现不错,并得到了团队领导的赞扬和肯定。 从专业的角度来看,我如何确保经理注意到了我的面试历史? 预先感谢您的任何答案。

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.