Questions tagged «web-development»

Web开发是为World Wide Web或Intranet开发网站所涉及的工作的广义术语。

2
谁设计Web开发中的数据库?[关闭]
已关闭。这个问题是基于观点的。它当前不接受答案。 想改善这个问题吗?更新问题,以便通过编辑此帖子以事实和引用的形式回答。 3年前关闭。 在Web开发的背景下,谁设计数据库?尽管有大量的信息将后端Web开发人员与服务器端处理,数据建模等相关联,但方程式的数据库设计方面似乎并不存在。 我不是在说谁设置物理数据库,而是在说谁设计数据库的逻辑模型,进行用户故事采访以获取有关需要哪些字段,这些字段规范是什么等信息。 。 我已经意识到(PROPER数据库)的设计是不小的任务(我在读这 672寻呼机),并可以很容易地是整个行业。但是,在Internet上上下搜索对于预期在Web开发环境中负责此任务的人员而言,收效甚微。

2
HTTP请求/响应对象应该是不可变的吗?
我认为可以肯定地说,大多数Web应用程序都基于请求/响应范例。PHP从未对这些对象进行正式的抽象。一个小组正在尝试改变这一点:https : //github.com/php-fig/fig-standards/blob/master/proposed/http-message.md 但是,他们在不变性问题上有些偏颇。一方面,请求/响应对象通常在其生命周期内几乎不需要更改。另一方面,响应对象尤其经常需要添加HTTP标头。 此外,不变性从未真正在PHP领域流行。 人们在使用不可变的请求/响应对象时会看到哪些优势? 假设您要返回一个json对象。 $response = new JsonResponse($item); 漂亮又简单。但是事实证明,该请求是跨域资源共享(CORS)请求。生成响应的代码无关紧要,但是下游的某个过程将添加必要的Access-Control标头。保留原始响应并使用其他标题创建新响应有什么好处?还是严格来说是编程风格的问题。 请求对象更加有趣。它从相同的地方开始: $request = new Request('incoming request information including uri and headers'); 初始信息不需要更改。但是,随着请求的传递,通常需要添加其他处理信息。例如,您可能有一个URL匹配器,该匹配器决定应为给定请求执行什么操作。 $request->setAttribute('action',function() {}); 实际执行操作是下游流程的责任。您可能有一个可变的RequestAttributesCollection,它包装了不可变的请求,但在实践中往往有些尴尬。除了属性集合之外,您还可能有一个不变的请求。异常也往往很尴尬。处理此类要求有经验吗?


1
轻量级文档索引,可处理少于25万条潜在记录
最近,我发现自己对文档索引引擎的局限感到恼火。我正在开发一个小型网站,需要一些相当强大的搜索功能,但是由于它们的硬件限制,我无法部署Lucene式的解决方案(例如Solr或ElasticSearch,就像我通常那样)来满足这种需求。 即便如此,尽管我需要处理一些数据库密集型的复杂数据和计算,但我并不需要处理超过25万条潜在记录。仅仅部署一个Solr或ES实例来解决这个问题似乎是一种浪费。 经过考虑,这似乎是一个相当大的问题。大多数人仅使用SQL处理搜索需求。他们只是对数据运行SQL查询,仅此而已。他们的搜索能力最终也很糟糕。 在某些系统(尤其是共享主机)上进行全面的通配符全文搜索可能会非常缓慢,并且会使数据库陷入瘫痪,特别是在您具有复杂的查询和大量联接的情况下。 您最终只能对用户的单个请求执行多个查询。您可能会通过越来越复杂的查询来解决此问题,但请参阅上一点。 全文引擎中通常缺少功能。 数据库具有需要部署为服务器的相同问题,然后出现SQLite,突然我们可以部署一个独立包含在单个文件中的数据库。我的Google搜索没有任何结果-想知道是否存在类似这样的内容用于全文索引/搜索。 在决定是否实现轻量级文档索引(例如,如对另一个问题的回答中所述)或在这些情况下继续使用SQL 时应考虑哪些因素?

8
急于开发Web的客户端
在过去的几个月中,我意识到Web开发中的客户端脚本令人兴奋。但是,尽管服务器端技术已经成熟,稳定并且为后端开发人员所接受,但是客户端技术还不成熟(即与大型服务器端框架相比),并且被许多历史悠久的开发人员所讨厌。然而,如今,每个人都在进行客户端开发。我个人希望大型服务器端框架在2-5年内消失,并关注当前趋势。 为什么会这样?用HTML5 / JS开发的新的和“分散的”客户端怎么可能优于大型且经过深思熟虑的服务器端解决方案?

1
图形程序员如何处理不更改图像的渲染顶点?
因此,标题有点尴尬。我将提供一些背景信息,然后提出我的问题。 背景:我是一名Web GIS应用程序开发人员,但在业余时间我一直在玩地图渲染和改进数据交换格式。我仅在2D空间中工作。 我遇到的一个有趣的问题是,当您以小比例绘制多边形(放大的出路)时,许多顶点是多余的。一个极端的情况是,您有一个具有500,000个顶点的多边形,仅占用一个像素。如果要将这些数据发送到浏览器,则可以忽略其中大约499,999个顶点。我们实现这一目标的一种方法是在服务器上渲染图像并将其作为PNG发送:瞧,这很重要。不过,有时我们还是希望将数据发送到浏览器,然后在其中可以使用SVG(或canvas或webgl)对其进行呈现,以便可以进行交互。 问题:事实证明,使用现代地理数据集,很容易使SVG的渲染功能超负荷。为了解决这些限制,我试图找出如何在视觉上无损地减少给定比例尺和地图范围(以及必要时已知地图像素的宽度和高度)的数据集。 仅使用Douglas-Peucker算法,我的数据量就大大减少了,我相信我能够将其保持在一个像素以内,使多边形真实。不幸的是,道格拉斯·皮克(Douglas-Peucker)没有保留拓扑,因此改变了多边形之间边界的渲染方式。我无法轻易找到其他算法来尝试并适应该目的,但是我没有太多的CS /算法背景,如果我看过它们,可能会认不出来。

4
JavaScript多线程
如今,JavaScript是所有Web开发技术中的主要角色,在客户端方面,用于改善用户界面的功能,客户端逻辑,在某些Web服务器上,以及服务器端逻辑 此外,人们(至少其中一些人)开始将网络游戏开发从Flash转移到javascript和HTML5 是不是该支持多线程了!是否有允许JavaScript多线程的浏览器,或者是否存在任何标准版本,HTML5或更高版本?

3
CSS调整图像大小仍然不是一个好主意吗?
人们一直认为,在图像上使用width / height属性不是原来的实际图像是一个坏主意。这可能意味着像素化的图像或下载的大小大于必要的图像。 但是,这仍然是一个问题吗?我不建议放大照片的尺寸,但是缩小尺寸不应该是一个问题,只要它与原始照片没有太大差异并保持缩放即可。 例如,我有一张600x400的照片,并在上面粘贴了400px的宽度。大多数现代浏览器将图像按比例缩小,看起来渲染效果还不错。 那么,大家对此有何看法?

4
您是否应该将js,html和CSS分开?
我一直都在听/读到,保持js,html和css分开更干净。据说它使维护,调试更加容易。据说它更有效,因为它允许缓存/最小化CSS和JS文件。 就我而言,使用网络框架(Django,Rails等),JavaScript模板库……我倾向于将很多HTML页面拆分为多个可重用模板-如果需要,可以使用某种小部件。例如,我可以有一个新闻提要窗口小部件,一个选择多个窗口小部件等……每个窗口小部件在不同页面上的布局都一致,并且每个页面均受其JavaScript的控制。 对于这个组织-在我看来它很干净,可以最大程度地提高可重用性-我很难理解为什么将所有js和css放在单独的文件中会更简单。我认为例如这样会更简单: 在选择多个小部件文件中 html 基本的CSS布局 用一些JS控制直接交互和UX增强。 我认为这种方式更可重用,更易于维护,因为您不必滚动浏览胖的js文件,然后切换到并滚动浏览胖的css文件,再次切换到html文件...来回。 因此,如果您坚持通常建议的分离方式,那么我很想知道你们如何组织代码。 是否真的有这样做的充分理由? 是不是网络上的指南通常假定您不会使用任何精美的工具(在这种情况下,我希望获得更多有关最佳实践的最新在线阅读资料)? 这只是偏好问题吗?

2
从ASP.NET背景出发,什么是使自己熟悉PHP的好方法?[关闭]
关闭。这个问题是题外话。它当前不接受答案。 想改善这个问题吗? 更新问题,以使它成为软件工程堆栈交换的主题。 4年前关闭。 目前,我对在ASP.NET环境中构建工具/ Web应用程序非常满意。我并不是真的想离开tbh,因为我真的很喜欢C#,ASP.NET,MVC 3,Visual Studio等。 但是,现在我对PHP几乎一无所知,这似乎是我想纠正的缺陷。 是否有任何书籍(或其他学习方法)将是学习PHP的好资源?显然,有很多入门的PHP书籍,但我已经对构建网页所涉及的许多内容感到满意,并且对关注PHP本身(可能与某些入门的PHP书籍的范围不兼容)感兴趣。 我仔细阅读了《 PHP手册》,但看起来似乎不太顺利。有没有适合的PHP入门书?当翻阅这些样本时,我想念大多数书籍所包含的凝聚力。还有很多信息,但是与初级学习工具相比,它更像是编码时的参考。

3
Python如何运作?
这个问题似乎有点愚蠢,但是到底是什么。 我开始学习Python。我知道基本语法,等等。 当我使用HTML,PHP等时,我只需编写代码,将其放在.html或.php文件中,然后双击该文件。然后我的代码运行。我可以使用数据库和其他东西-这很简单。但是Python如何工作?我正在Eclipse或Python命令行中工作,可以运行此代码,但是如果要使用Python创建网站怎么办? 我不认为这是将.py文件放在服务器上,所以我需要做什么?我了解我需要通过一些服务器命令行在我的Web服务器上安装Python(我从未使用过,但是我会在需要时找到一些教程),但是接下来要做什么?如何将我的Python知识与HTML,CSS,PHP等结合? Python也可以用于创建桌面应用程序,那又如何呢?我可以使用Python代码导出.exe文件吗? 欢迎任何包含描述我所关注问题的内容的链接!

2
如何选择Web应用程序软件工程师?[关闭]
关闭。这个问题是题外话。它当前不接受答案。 想改善这个问题吗? 更新问题,以使它成为软件工程堆栈交换的主题。 4年前关闭。 我应该如何选择Web应用程序软件工程师? (永久)位置是重写现有桌面客户端服务器应用程序的客户端。页面不会在服务器上动态生成,但是服务器将以所需的任何方式(例如JSON RPC调用)公开完整的API,并使静态文件可用。它将取代人们必须下载和安装的客户端,因此需要具有合理设置(例如启用JavaScript)的体面浏览器就可以了。几乎所有用例都用于台式机。搜索引擎将无法访问它(它是企业应用程序)。 我们可以将整个内容写到一个页面中,但是不必这样做。几乎所有内容都将由有问题的Web应用程序软件工程师编写。在合理范围内,确切使用的开源库还取决于工程师。 我特别希望在面试中寻求/验证哪些资格的建议,因为通常选择Web应用程序软件工程师只是一个广泛的话题。 编辑-该职位将完全是浏览器中的JavaScript编程(并负责HTML和CSS)-其他开发人员将开发服务器,但此职位可能要求使用API​​进行外观设计。没有Ruby,ASP,JSP等,因为Web服务器层非常薄,仅将调用转换为业务层API,并将它们返回为JSON(或其他形式,但JSON最简单)。

3
在新的CSS功能中添加前缀的原因是什么?
浏览器是否有理由为CSS新功能添加前缀,而不是让网站站长使用非前缀版本? 例如,背景渐变的示例代码如下: #arbitrary-stops { /* fallback DIY*/ /* Safari 4-5, Chrome 1-9 */ background: -webkit-gradient(linear, left top, right top, from(#2F2727), color-stop(0.05, #1a82f7), color-stop(0.5, #2F2727), color-stop(0.95, #1a82f7), to(#2F2727)); /* Safari 5.1+, Chrome 10+ */ background: -webkit-linear-gradient(left, #2F2727, #1a82f7 5%, #2F2727, #1a82f7 95%, #2F2727); /* Firefox 3.6+ */ background: -moz-linear-gradient(left, #2F2727, #1a82f7 …

6
严重影响性能的常见Javascript错误?[关闭]
已关闭。这个问题需要更加集中。它当前不接受答案。 想改善这个问题吗?更新问题,使其仅通过编辑此帖子来关注一个问题。 2年前关闭。 在我参加的最近一次UI / UX MeetUp上,我在一个使用Javascript(jQuery)进行交互和UI的网站上提供了一些反馈-这是相当简单的动画和操作,但是在一台像样的计算机上的性能令人震惊。 它实际上使我想起了我遇到过的很多站点/程序,其中的某些操作绝对会破坏性能。它通常在Java几乎可以替代Flash的情况下(至少在这种情况下更为明显)。这与我使用的具有更多Javascript和功能但运行非常平稳的某些Web应用程序形成了鲜明的对比(IBM的COGNOS是我想不到的一个)。 我很想知道开发JS会导致网站性能下降的一些常见问题。

6
我需要一个真正的随机数生成器Web服务[关闭]
关闭。这个问题是题外话。它当前不接受答案。 想改善这个问题吗? 更新问题,以使它成为软件工程堆栈交换的主题。 5年前关闭。 Random.org 每天每个IP提供来自模拟世界(cf.)的200k免费随机位(仅6250个32位整数!)。 有谁知道每天提供更多按需随机比特的替代Web服务? (只要价格在每美元美分1000×1024bits的“预期范围内”就可以付款)(random.org的付费服务收费为该价格的100×)

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.