当人们用前端PHP或其他东西说后端Java时,人们的意思是什么?

时间:2012-04-08 23:34:31

标签: java php mysql

我已经编程了一段时间,我对Java,PHP和网站非常熟悉。令我困惑的是程序员如何一起使用它们。我听说Facebook和谷歌如何在一种产品中使用各种语言,如Python,C,Java,PHP,但我只是对如何实现这一点感到困惑。

另外,另一个问题是: 在为Twitter和Facebook这样的大型在线公司工作时,软件工程师究竟做了哪些工作?大多数代码都处理数据库和信息,那么除了可以通过一些教程在线学习的主要级别编程之外,还需要在服务器端完成什么?

4 个答案:

答案 0 :(得分:6)

这是一个非常广泛的问题,但这里有一个模糊的答案。通常,大型应用程序将具有许多组件。例如,您可能有某种报告引擎,业务逻辑,Web界面,桌面界面,Web服务API,移动界面等等。理论上,每种语言都可以用不同的语言编写并通过数据库或类似Web服务的东西。

提出第二个问题。在大型公司,要做好维护稳定性,开发新功能,修复发现错误并努力提高效率等方面还有很多工作要做。例如,Facebook(以及Google)雇佣了大量的软件工程师来帮助他们处理每天收到的大量数量。

修改以下是对您的问题的更多说明和直接答案。

  

大多数代码都处理数据库和信息,那么除了可以通过一些教程在线学习的内容之外,还需要在服务器端完成哪些主要级别的编程?

事实上,在大多数情况下,高级别的校长都是一样的。在网上做一些基本的PHP / MySQL教程后,你可以很容易地建立一个Facebook克隆。这就是区别:你的克隆会在它达到Facebook每天看到的用户的一小部分之前死掉。这将是缓慢的,不可靠的,人们会离开,因为他们的数据将通过SQL注入和其他恶意攻击持续被黑客入侵。而这甚至不是在讨论分布式计算。所以,是的,从高层来说,这就是你需要知道的全部。实施和现实要复杂得多。

答案 1 :(得分:1)

这是您正在寻找的实际答案 你很困惑,因为你没有看到如何在网站上使用C和C ++应用程序,但我想告诉你,它们被用于很多东西......比如,当你在facebook上传含有色情内容的图像时,那么php将不会验证那个图像,他们将要做的是通过参数传递该图像的地址来执行程序,并且该应用程序将验证图像......并且应该存储一些数据以供将来使用,以便应用程序使用公共数据库网站正在使用,如果我们在googleplus中上传图片,那么它会将标签消息加载到人们面孔被看到的某个部分,它由该应用程序完成,它会将图像数据保存到谷歌正在使用的公共数据库和php从那里获取信息,这是开发更多功能网站的技术...... 比如,我在localhost上制作了一个程序来关闭我的家用电脑:

<?php
$command="shutdown -s -f -t 5";
shell_exec($command);
?>

这个脚本一旦在apache中运行就会关闭服务器,同样你可以将参数传递给某些应用程序,比如你想在你自己的服务器上没有安装Cpanel的命令行中创建电子邮件帐户......
以及你问题第二部分的答案:
实际上,软件工程师被雇用,以便他们开发一些可以在服务器中运行的应用程序,以增加网站的功能...就像网站上只有网页撰写语言一样,那么谷歌也无法识别脸部,而不是Facebook,网站无法实现人为的激励。
这篇文章可能会让你感到困惑......

答案 2 :(得分:0)

正如您所料,较大的“网站”并不是传统意义上构建的,因为您拥有一些PHP代码,一些HTML模板和一个数据库,因为这种架构存在严重的问题,可以扩展到数千个并发用户。 / p>

您可以采取哪些措施来解决这个问题,将网站拆分为几个部分:

  1. 将请求分发到多个App服务器的负载均衡器
  2. 生成UI并处理用户操作的应用服务器
  3. 处理业务逻辑并在数据库服务器之间分发的中间件服务器
  4. 以某种方式存储数据的数据库服务器
  5. 此系统的每个组件都可能使用不同的语言实现,您甚至可能根据请求类型(例如移动设备)使用不同的应用服务器。

    这种类型的系统称为Multitier Architectures。您还可以找到有关此主题的学术书籍。

答案 3 :(得分:0)

大多数复杂产品由众多部件组成。例如,StackExchange具有在您的浏览器中运行的代码,该代码是用JavaScript编写的,因此它可以在您的浏览器中运行。但构建网页的代码不能在浏览器中运行,因此不是用JavaScript编写的。如果需要复杂的数据库查询,它们很可能是在SQL中。这样一来,大谜题的每一部分都以最适合该作品及其运行环境的语言实现。

感谢GMail。有一个用JavaScript编写的浏览器内部。还有一个Web服务器,一个数据库,一个邮件服务器,一个大容量存储系统,索引以及许多其他部分。