一、前端开发
前端开发主要涉及网站和App,用户能够从浏览器上或App屏幕上看到的东西。简单地说,能够从浏览器上或App屏幕看到的东西都属于前端。
1、技能与工具
前端开发,就是要创造上面提到的网站面向用户的部分背后的代码,并通过建立框架,构建沉浸性的用户体验。为了实现这个目标,开发需要熟练运用下列语言、框架、工具库:
三大语言:HTML,CSS,和Javascript;
此外,掌握jQuery和LESS等工具库也很重要,它们能帮助开发者以更高效的方式编码;
很多前端开发岗也要求Ajax方法的使用经验,它可以帮助你使用Javascript在后台从服务器拉取数据,协助实现页面的动态加载。
使用这些技术,前端开发者能连接起网站设计者和后端开发者之间的桥梁。他们能提供用户体验方面的分析,构建模型和线框,给设计团队提出建议。他们能给后端编写的服务应用赋予生命,提升格调,营造美感。
二、后端开发
后端开发即“服务器端”开发,主要涉及软件系统”后端“的东西。比如,用于托管网站和App数据的服务器、放置在后端服务器与浏览器及App之间的中间件,它们都属于后端。简单地说,那些你在屏幕上看不到但又被用来为前端提供支持的东西就是后端。
1、技能与工具
为了让服务器、应用、数据库能够彼此交互,后端工程师需要具有如下技能:
用于应用构建的服务器端语言:PHP,Ruby,Python,Java,Net等;
数据相关工具:MySQL,Oracle,SQLServer等;
PHP框架:Zend,Symfony,CakePHP等;
版本控制工具:SVN,CVS,Git等;
还要熟练使用Linux作为开发和部署环境。
后端开发者使用这些工具编写干净、可移植、具有良好文档支持的代码来创建或更新Web应用。但在写代码之前,他们需要与客户沟通,了解其实际需求并转化为技术目标,制定最有效且精简的方案来进行实现。
Nginx确实是比较常用的技术(服务器)之一,不仅Java应用可以使用到,它可以应用在很多场景下。下面我就按照自己的理解,向大家介绍一下。
什么是Nginx
如果你是Java程序员,没用听说过Nginx的话,那么你肯定听说过Apache吧。Nginx也是一样,是一种WEB服务器。它有以下特点:
是使用C语言开发出来的,基于事件驱动架构,性能很高,高并发能力极强;
跨平台,可以运行在windows、Linux、Mac、Solaris等 *** 作系统上;
第三方模块很多(生态环境好)。
那么我们再看看Nginx能做什么:
反向代理
这个概念大家一定很耳熟,那么在说反向代理之前,先看看什么是正向代理。
正向代理:我想访问谷歌,没办法直接访问,这时候找一个代理服务器,我通过代理服务器访问谷歌;正向代理特点是客户端知道要访问的服务器地址是什么;服务器不知道客户端是谁,正向代理-代理的是客户端;
反向代理:代理服务器接收互联网端的请求,转发请求到内网中的服务器(可能会是多台服务器中的一台),得到服务器的响应之后,再把响应返回给客户端;这时候客户端不知道服务器在哪,反向代理-代理的是服务端。
在一个项目的架构中,正向代理和反向代理可能同时存在。
负载均衡
因为Nginx可以做反向代理服务器,它可以把客户端的请求发送给服务器端;客户端的请求数量,就是负载量。
那么把负载量,按照一定的规则,分发给不同的服务器就行处理,这个就叫做负载均衡;负载均衡的好处,就是把压力平均到每一台服务器上。负载均衡的调度方法有:轮询,一个一个轮着发;ip_hash;url_hash;fair等。
总之,Nginx是常用的软件(服务器)之一,最好学习一下。
我将持续分享Java开发、架构设计、程序员职业发展等方面的见解,希望能得到你的关注。
利用PHP框架做手机APP开发需要考虑两种可能:
第一:如果需要即时通讯,也就是需要手机客户端与服务端保持TCP长连接,服务端需要向客户端推送数据的时候可以随时通过这个长连接发送数据给客户端,这样便能做到客户端与服务端及时通讯甚至客户端与客户端及时通讯。做到这需要PHP能维持很多客户端连接,并且需要多进程支持,支持自己的通讯协议。这样的应用传统的nginxphp-fpm传统的php框架是做不到的。如果是长连接即时通讯类的服务器框架推荐一看下workerman,它是就是一个php的socket服务器框架,非常适合做手机后台服务器框架。
第二:如果不需要即时通讯的话,可以考虑直接走>
如果是比较简单的手机APP,例如新闻客户端这样的不会涉及到长连接的服务,那么可以考虑直接使用>web后台开发可以选择php、jsp、asp、Java等语言,后台的开发就是实现某些具体的逻辑或者增删减改等功能,而服务器端的开发主要是数据以及程序相应路由机制等等方向,两者没有太大的差距,主要都是针对数据交互,以及逻辑业务的实现
对于没有IT背景,又想学习IT相关技术的朋友,其实学习没有想像中的那么困难。比如:想学习Web后端开发,那应该如何开始呢?这是困扰很多小白的问题。我个人觉得你需要做到如下几点:
1)选择一门web后端开发的语言系统学习。现在搞web后端的语言比较多。如Java,Aspnet。我个人推荐Java。它开发后台服务器端技术非常的强大。那么选好后,就从Java基础开始,把基础中需要掌握的内容搞好。如Java变量定义、常量、函数、面向对象、集合、线程及网络编程等。基础打扎实了,Web后端系统学习就很容易。千万不要忽略这个!
2)Web后端需要数据库的支持,所以需要掌握1-2门数据库产品。比如:Oracle、DB2、SQL Server、MySQL等。掌握数据的语法,函数调用、存储过程及触发器等使用。同时也要掌握如何把数据库与Java程序进行结合使用。
3)掌握JSP与Servlet服务端运行的程序代码编写。Web后端绝大部分是需要书写后台的,所以Servlet就必须要学习好。而Servlet本质上就是基于Java基础中学习的内容。另外服务器端的错误排除也是要注意平时积累的。因为这而技术是经验的积累。有经验,遇到问题就知道怎么去解决。
4)还需要掌握流行的框架技术。这样才比较完美。减少书写冗余代码,当代码看起来更加的高效与整洁。比如现行比较流行的SSH框架与SSM框架的整合等。
总之,后台设计的知识还是比较的宽广的。要学习的内容不少。除了以上这些,还有什么全文搜索引擎啊,异步传输啊、redis与mongodb等数据库产品。
若你在学习中有什么问题,可以发消息给我,希望能帮到你。ID:PGThinking。
近期准备session,希望能跟大家轻松地分享一些东西,一些常见的场景。比如:web后台服务器到底是如何工作的。
上网过程对于普通人:首先,他需要一台电脑,然后,他的电脑可以接入网络,最后,他可以打开浏览器键入自己想要浏览的网址,然后就可以上网了。但是对于计算机来讲,是一个比较复杂的过程,里面包含了信息如何保存,信息如何传递以及信息如何展示的过程。所以,针对整个上网过程,我们从前到后,分析一下其中包含的各种技术细节,可能不全,目的是抛砖引玉,希望大家在简单的流程当中学习更多的东西分享出来,一些基础知识则当做复习。之前buddy王老吉讲过浏览器的工作方式,所以本文内容不包含浏览器的工作方式,重点在于各种后台服务以及通信层面的分析。
前面说到,用户浏览器中键入网址便浏览网页信息,这个网址实际上就是URL,英文全称是Uniform Resource Locator——统一资源定位符。
完整的、带有授权部分的普通统一资源标志符语法看上去如下:
协议://用户名:密码@子域名域名顶级域名:端口号/目录/文件名文件后缀参数=值
协议部分可以是>
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)