Questions tagged «web-applications»

Web应用程序是通过“ Web”访问的应用程序,“ Web”可以表示Internet或内部网络(Intranet)。

2
面包屑仍然是浏览网站和Web应用程序的可行方法吗?
我目前正在处理以下类型的网站和应用程序: 像亚马逊这样的电子商务 预订系统(例如酒店接待员检查房间的可用性) 发票管理(如Freshbook) 在亚马逊上,我没有发现任何面包屑,只是左侧面板上的刻面。但是,newegg同时使用了面包屑和构面。 在诸如酒店预订或发票管理之类的管理系统中,您通常会通过系统搜索唯一的预订或客户编号。然后,每个保留可以扩展到更多部分,例如: Reservations > Reservation #123456 > Guests > Room > Airport pickup > Payment 在每个唯一的预订页面中,我使用面包屑来显示当前页面相对于站点的位置。这是呈现此类信息的好方法吗?我应该使用标签页还是其他技术?

5
如何重构现有的Web应用程序?
最近我一直在阅读和思考很多,得出的结论是,也许我应该重新考虑我的Web开发策略。我正在做大量的即时编程,在过去两年中,我一直在研究PHP Web应用程序,当一个小工具变成一个相当大的项目时,它可能已经开始了。但是我和我的前任有很多遗留代码,这些代码片段在当时可能很有意义,但是现在我在质疑所说代码的实际形式。而且,直到最近,诸如单元测试和测试驱动开发之类的东西才在我的范围之内。 那么您将如何重构Web应用程序?我应该寻找什么东西,以什么顺序排列?浏览器游戏与功能性网络应用程序又如何?那么方法上会有区别吗?

1
如何迁移现有的旧版Web应用以使用OAuth2
我目前有一个拥有15年历史的单片式Web应用程序,具有近一百万的用户,使用自制的授权和身份验证系统:JAAS,用户名和密码存储在具有基本密码哈希的DB中,还有一些2FA个人验证问题(不同哈希算法等)。 在接下来的12-18个月中,我将全面检查应用程序,主要侧重于UI,但同时还要慢慢升级基础部分(升级到Spring,Spring Security等)。在这个项目中,我们决定逐个模块解决UI升级;完成每个模块后,使其可用;一个绝好的机会,可以将整体拆分成单独的Web应用程序(所有应用程序都保持相同的UX设计)。 我在计划和解决方案时遇到的问题是在身份验证和授权级别。我需要一个跨领域的解决方案,该解决方案应涵盖所有模块,以便将用户从一个Web应用程序定向到另一个Web应用程序时,这是一个无缝过渡-他们甚至都不知道他们位于不同的Web应用程序上。OAuth2听起来是完美的解决方案。 我一直在努力了解如何整合这一点。我是否必须构建自己的自定义OAuth2服务器?那让我感到震惊。但是我该如何: 将我所有的用户帐户和授权过程迁移到第三方OAuth2服务器 自定义外观以匹配我的应用程序的其余部分(不确定这将有多容易/可能) 阻止通过第三方服务器连接时出现典型的“应用程序XYZ想要访问您的帐户的权限...”弹出窗口?(例如:Google OpenID,Facebook等)。 我的目标是为用户提供从当前状态到新状态的无缝过渡,但提供创建独立的Web应用程序的功能,这些功能都可以在Web应用程序外部进行身份验证和授权。

11
我必须学习html和javascript才能创建Web应用程序吗?[关闭]
已关闭。这个问题是基于观点的。它当前不接受答案。 想改善这个问题吗?更新问题,以便通过编辑此帖子以事实和引用的形式回答。 5年前关闭。 我是一位经验丰富的Java程序员,并且我想创建一个需要动态页面,图形等的复杂Web应用程序(以SO为例)。创建此类应用程序是否需要学习javascript / html? 并不是我不想学习另一种语言(我之前已经做过),但是javascript环境上的技术似乎变化如此之快,以致于当您完成学习一个框架时它已经过时了。我已经检查了许多用于Web开发的java框架(spring,play),但没有深入探讨。那么可以在不学习html / javascript的情况下使用这些框架(或我可能不知道的其他可能的Java框架)吗?我也有一些python经验。因此,如果我可以用python做该应用程序,那也是一种选择。

4
使用C ++和MySQL构建Web应用程序是否存在任何概念上的弊端?
我继承了一个非常有趣的项目,在这里有一个很好的机会将现有软件移植到SaaS Web应用程序中。随着项目的继承,代码库/框架已经定义为C ++和MySQL。该应用程序本身已编译并在Windows Server上作为EXE运行。UI是基于Web的,该应用程序可作为一种服务器使用。根据我对现代Web应用程序的了解,这也许是一个不寻常的选择。如今,大多数人似乎选择使用PHP框架或Ruby on Rails。当然,这是我从阅读有关该主题的博客中获得的印象。因此,我非常想知道MySQL支持的C ++ EXE是否是Web应用程序的坚实基础,还是我们是否应该以其他方式构建?

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

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最简单)。

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

5
我们该如何告诉不受支持的IE6用户?
在即将发布的网络应用程序版本中,我们已经破坏了IE6,并且不打算对其进行修复。几个月来,我们已经为IE6用户发布了明确的警告;我们决定是时候不支持它了。 我的问题是:我们应该如何将此信息传达给用户? 这里有些人认为我们应该阻止试图访问该Web应用程序的IE6用户,因为它对他们不起作用。其他人则认为我们应该只留下警告,说“这在IE6中不起作用”,但不能阻止它们;而是应将其阻止。相反,如果他们单击以消除警告,请让他们进入损坏的站点,以便亲自查看该行不通。 谁是对的?有没有更好的办法?

5
为Webapp的每个客户端创建一个新表是一个好主意吗?
这是半假设的,由于我没有处理大型数据库表的经验,因此我不知道这是否由于某种原因而令人恐惧。关于情况: 想象一下一个基于Web的应用程序-可以说是会计软件-它具有20,000个客户端,每个客户端在一个表中有1000多个条目。那就是2000万行,我知道这肯定会减慢复杂查询的速度。 在这种情况下,在数据库中为每个客户端创建一个新表是否更有意义?数据库对拥有20k(或更多!)表有何反应?

4
登台和UAT环境之间有什么区别?
我知道在开发解决方案时,我们应该至少有3种不同的环境: 开发:程序员可以随时更改和推送更改,以便快速测试他们的代码并与其他更改集成,而不必担心破坏任何东西-它与TEST数据库和服务相关; UAT:开发人员应该尊重UAT,因为它应该包含有关硬件的生产环境的“尽可能好”的副本,不同之处在于该环境通过生产数据的可编辑副本连接到UAT数据库-问答团队和用户都使用它来验证将要投入生产的变更 生产:真实交易。 我在SoftwareEngineering上研究了这个问题,在ServerFault 上研究了这个问题,它们在暂存环境的含义上似乎有所不同。另外,有关该主题的Wikipedia页面指出: 暂存环境的主要用途是在将所有安装/配置/迁移脚本和过程应用于生产环境之前对其进行测试。这样可以确保对生产环境的所有主要和次要升级都能在最短的时间内可靠地完成而不会出错。 对我来说,登台等于UAT,您必须在UAT上测试应用程序和部署过程,然后才能进入现实世界。因此,我们将对UAT所做的更改以与推送到生产的方式相同的方式推送到软件包中,完全自动化,并在生产环境中进行所有应有的仪式。 话虽如此,UAT环境和暂存环境之间的适当区别是什么? - 编辑:为了清楚起见,我在考虑Web应用程序,无论是Internet网站还是Intranet网站。没有“表单”应用或移动应用。

3
跨语言测试驱动开发
简短的问题:您如何在跨多种语言的项目中遵循测试驱动开发? 具体来说,我正在编写一个使用JavaScript和PHP的Web应用程序,我想遵循TDD原则,但是我不确定如何将它们集成在一起。是否为JS和PHP部分运行单独的测试套件,并在JS套件中使用模拟来模拟服务器响应?是否有一种技术可以一次测试两个组件? 这是我第一次使用“测试驱动开发”,因此您可以分享有关如何减少测试难度的任何建议都是很棒的。我之所以选择它,是因为一旦完成原型,需求就改变了,迫使我改变设计。我认为如果我要从头开始,我想从一开始就使用内置的回归测试编写更可扩展的代码。 我正在SimpleTest中编写PHP测试,在JsTestDriver中编写JavaScript测试。我习惯了面向对象的范例,因此在PHP中有一些类,并且我在JavaScript中使用原型继承来做类似的事情。我也已经开始阅读有关Python中TDD的书和有关JavaScript中TDD的书,但是从我看到的所有内容来看,这些并没有描述对应用程序进行完整的测试(除了使用Selenium或其他Web驱动程序之外)进行前端验收测试,TDD是否不适合全栈开发人员使用?

2
CDN如何保护故障转移站点免受DDoS攻击?
我正在设计Java Web应用程序,最终可能会将该应用程序部署到Google App Engine(GAE)。关于GAE的好处是,我真的不必担心要从可怕的DDoS攻击中强化我的应用程序-我只需指定一个“计费上限”,并且如果我的流量达到此上限(DDoS或其他),只会关闭我的应用程序。换句话说,GAE本质上可以扩展到任何数量,直到您根本负担不起让应用程序继续运行。 因此,我正在尝试制定一个应急方案,如果我确实超出了计费上限,并且GAE关闭了我的应用程序,则我的Web应用程序域DNS设置会“故障转移”到另一个非GAE IP地址。一些初步研究表明,某些CDN(例如CloudFlare)可为这种确切情况提供服务。基本上,我只是保留我的DNS设置,并且它们提供了一个API,我可以点击它以自动执行故障转移过程。因此,如果我检测到我的GAE应用程序的帐单上限为99%,则可以点击CloudFlare API,然后CloudFlare将动态更改DNS设置,使其从GAE服务器指向其他IP地址。 我最初的偶然性是将故障转移到托管在其他地方(例如由GoDaddy或Rackspace托管)的Web应用程序的“只读”(仅静态内容)版本。 但是,突然间我突然意识到:如果DDoS攻击针对的是域名,那么如果我从GAE IP地址过渡到我的GoDaddy IP地址会产生什么区别?从本质上讲,故障转移除了允许DDoS攻击者关闭我的备份/ GoDaddy站点外不会做任何其他事情! 换句话说,DDoS攻击者协调了由GAE托管的我的Web应用程序上的攻击,该攻击www.blah-whatever.com确实是IP地址100.2.3.4。它们使我的流量激增到我的帐单上限的98%,并且我的自定义监视器触发了CloudFlare从100.2.3.4到105.2.3.4的故障转移。DDoS攻击者不在乎!他们仍在发动攻击www.blah-whatever.com!DDoS攻击仍在继续! 因此,我想问:像CloudFlare这样的CDN可以提供什么保护,以便当您需要故障转移到另一个DNS时,您不会受到相同的,持续的DDoS攻击的威胁吗?如果存在这样的保护,故障转移站点上是否存在任何技术限制(例如,只读等)?如果没有,那它们有什么好处?提前致谢!


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.