软件开发后台主要做啥
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了软件开发后台主要做啥相关的知识,希望对你有一定的参考价值。
软件开发后台(后端程序员)要跟数据库打交道,做数据的处理问题。
根据正在处理的应用程序的大小和范围,后台开发人员要做的事情有很大的不同。但总体来说工作于都是对应用程序中的业务逻辑,以及从前端提取和检索数据。
在Web开发世界中,后端开发人员从事于构建他们正在工作的应用程序背后的实际逻辑。
例如:前端开发人员在应用程序中创建一个界面,上面有一个按钮,按下按钮来获取客户的数据。后端开发人员写可使得按钮工作的代码,通过指出从数据库中提取哪些数据并将其传回到前端(并最终显示在那里)。
后端开发人员也会大量参与系统架构,决定如何组织系统的逻辑,以便能够正常维护和运行。需要参与构建框架或系统架构,以便于更容易编写程序。后端开发人员比前端开发人员花费更多的时间在实现算法和解决问题上。
/iknow-pic.cdn.bcebos.com/91529822720e0cf3d2cf561f0446f21fbe09aa1d"target="_blank"title="点击查看大图"class="ikqb_img_alink">/iknow-pic.cdn.bcebos.com/91529822720e0cf3d2cf561f0446f21fbe09aa1d?x-bce-process=image%2Fresize%2Cm_lfit%2Cw_600%2Ch_800%2Climit_1%2Fquality%2Cq_85%2Fformat%2Cf_auto"/>
扩展资料
软件后台开发的主要技术和技能举例(以java为例):
1、后台框架部分,SpringMVC
SpringMVC基于Java实现了WebMVC设计模式,请求驱动类型的轻量级Web框架,即使用了MVC架构模式的思想,将Web层进行职责解耦;
2、数据持久层方面,MyBatis
MyBatis持久层框架支持定制化SQL、存储过程以及高级映射。MyBatis避免了几乎所有的JDBC代码和手动设置参数以及获取结果集。MyBatis可以使用简单的XML或注解来配置和映射原生类型、接口和Java的POJO为数据库中的记录。
3、数据库层技术,jdbc
JDBC(java数据库连接)用于执行SQL语句的JavaAPI,可以为多种关系数据库提供统一访问,它由一组用Java语言编写的类和接口组成。JDBC提供了一种基准,据此可以构建更高级的工具和接口,使数据库开发人员能够编写数据库应用程序。
4、缓存技术,redis
Redis是一个开源的使用ANSIC语言编写、支持网络、可基于内存亦可持久化的日志型、Key-Value数据库,并提供多种语言的API。
5、搜索引擎技术,elasticsearch
ElasticSearch基于Lucene的搜索服务器,提供了一个分布式多用户能力的全文搜索引擎,基于RESTfulweb接口。Elasticsearch是用Java开发的,并作为Apache许可条款下的开放源码发布,是当前流行的企业级搜索引擎。
参考技术A 前台是视图界面层,后台就是指软件的逻辑层和数据层。主要负责处理软件的逻辑业务关系、实现功能内部控制以及功能与功能之间的跳转切换控制、数据的读取和存储以及操作等等。本回答被提问者采纳Python能用来做啥?
python的用途1、Web开发
Python的诞生历史比Web还要早,由于Python是一种解释型的脚本语言,开发效率高,所以非常适合用来做Web开发。
Python有上百种Web开发框架,有很多成熟的模板技术,选择Python开发Web应用,不但开发效率高,而且运行速度快。
常用的web开发框架有:Django、Flask、Tornado 等。
许多知名的互联网企业将python作为主要开发语言:豆瓣、知乎、果壳网、Google、NASA、YouTube、Facebook……
由于后台服务器的通用性,除了狭义的网站之外,很多App和游戏的服务器端也同样用 Python实现。
2、网络爬虫
许多人对编程的热情始于好奇,终于停滞。
距离真枪实干做开发有技术差距,也无人指点提带,也不知当下水平能干嘛?就在这样的疑惑循环中,编程技能止步不前,而爬虫是最好的进阶方向之一。
网络爬虫是Python比较常用的一个场景,国际上,google在早期大量地使用Python语言作为网络爬虫的基础,带动了整个Python语言的应用发展。以前国内很多人用采集器搜刮网上的内容,现在用Python收集网上的信息比以前容易很多了,如:
从各大网站爬取商品折扣信息,比较获取最优选择;
对社交网络上发言进行收集分类,生成情绪地图,分析语言习惯;
爬取网易云音乐某一类歌曲的所有评论,生成词云;
按条件筛选获得豆瓣的电影书籍信息并生成表格……
应用实在太多,几乎每个人学习爬虫之后都能够通过爬虫去做一些好玩有趣有用的事。
3、人工智能
人工智能是现在非常火的一个方向,AI热潮让Python语言的未来充满了无限的潜力。现在释放出来的几个非常有影响力的AI框架,大多是Python的实现,为什么呢?
因为Python有很多库很方便做人工智能,比如numpy, scipy做数值计算的,sklearn做机器学习的,pybrain做神经网络的,matplotlib将数据可视化的。在人工智能大范畴领域内的数据挖掘、机器学习、神经网络、深度学习等方面都是主流的编程语言,得到广泛的支持和应用。
人工智能的核心算法大部分还是依赖于C/C++的,因为是计算密集型,需要非常精细的优化,还需要GPU、专用硬件之类的接口,这些都只有C/C++能做到。
而Python是这些库的API binding,使用Python是因为CPython的胶水语言特性,要开发一个其他语言到C/C++的跨语言接口,Python是最容易的,比其他语言的门槛要低不少,尤其是使用Cython的时候。
4、数据分析
数据分析处理方面,Python有很完备的生态环境。“大数据”分析中涉及到的分布式计算、数据可视化、数据库操作等,Python中都有成熟的模块可以选择完成其功能。对于Hadoop-MapReduce和Spark,都可以直接使用Python完成计算逻辑,这无论对于数据科学家还是对于数据工程师而言都是十分便利的。
5、自动化运维
Python对于服务器运维而言也有十分重要的用途。由于目前几乎所有Linux发行版中都自带了Python解释器,使用Python脚本进行批量化的文件部署和运行调整都成了Linux服务器上很不错的选择。Python中也包含许多方便的工具,从调控ssh/sftp用的paramiko,到监控服务用的supervisor,再到bazel等构建工具,甚至conan等用于C++的包管理工具,Python提供了全方位的工具集合,而在这基础上,结合Web,开发方便运维的工具会变得十分简单。 参考技术A Python 语言主要有以下用途:
1) 简单:Python 是一种代表简单主义思想的语言。阅读一个良好的 Python 程序就感觉像是在读英语一样,尽管这个英语的要求非常严格。Python 的这种伪代码本质是其优点之一,使用户能够专注于解决问题而不是去搞明白语言本身。
2) 易学:Python 有极其简单的语法,非常容易上手。
3) 免费、开源:Python 是 FLOSS(自由/开源软件)之一。简单来说,用户可以自由地发布这个软件的拷贝、阅读它的源代码、对它做改动、把它的一部分用于新的自由软件中。FLOSS 是基于一个团体分享知识的概念,这也是为什么 Python 如此优秀的原因之一:它由一群希望看到 Python 更加优秀的人创造,并被他们不断改进。
4) 高层语言:使用 Python 语言编写程序时,不用考虑如何管理程序使用的内存等底层细节。
5) 可移植性强:由于它的开源本质,Python 已经被移植在许多平台上。如果 Python 程序没有使用依赖于系统的特性,那么程序不用修改就可以在下述任意平台上面运行。这些平台包括 Linux、Windows、FreeBSD、Macintosh、Solaris、OS/2、Amiga、AROS、AS/400、BeOS、OS/390、z/OS、Palm OS、QNX、VMS、Psion、Acom RISC OS、VxWorks、PlayStation、Sharp Zaurus、Windows CE、Pocket PC 和 Symbian。
6) 解释型语言:编译型语言(如 C 或 C++)源程序从源文件(即 C 或 C++ 语言)转换到二进制代码(即 0 和 1)的过程通过编译器和不同的标记、选项完成,当运行程序的时候,连接器把程序从硬盘复制到内存中并且运行。而 Python 程序不需要编译成二进制代码,直接从源代码运行程序。
在计算机内部,Python 解释器把源代码转换成字节码的中间形式,然后再把它翻译成计算机使用的机器语言并运行。因此,用户不再需要操心如何编译程序、如何确保指定了正确的模块或包文件等细节,所有这一切使得使用 Python 更加简单。同时,由于只需要把 Python 程序拷贝到另外一台计算机上即可工作,这也使得 Python 程序更加易于移植。
7) 面向对象:Python 既支持面向过程的编程也支持面向对象的编程。在面向过程的语言中,程序是由过程或仅仅是可重用代码的函数构建起来的。在面向对象的语言中,程序是由数据和功能组合而成的对象构建起来的。与其他语言(如 C++ 和 Java)相比,Python 以一种非常强大又简单的方式实现面向对象编程。
8) 可扩展性强:如果希望把一段关键代码运行得更快或希望某些算法不公开,可以使用 C 或 C++ 语言编写这部分程序,然后在 Python 程序中调用它们。
9) 可嵌入性强:可以把 Python 嵌入 C/C++ 程序,从而向用户提供脚本功能。
10) 丰富的扩展库:Python 扩展库很庞大,可以帮助处理包括正则表达式、文档生成、单元测试、线程、数据库、网页浏览器、CGI、FTP、电子邮件、XML、XML-RPC、HTML、WAV 文件、密码系统、GUI(图形用户界面)、Tk 以及其他与系统有关的操作。只要安装了 Python,所有这些功能都是可用的,这被称作 Python 的“功能齐全”理念。除了扩展库以外,还有许多其他高质量的库,如 wxPython、Twisted 和 Python 图像库等。 参考技术B 1、系统编程:提供API,能方便进行系统维护和管理,Linux下标志性语言之一,是很多系统管理员理想的编程工具,这也是国外为什么使用者这么多的原因,我们国内很少使用Linux。
2、图形处理:有PIL、Tkinter等图形库支持,能方便进行图形处理。
3、数学处理:NumPy扩展提供大量与许多标准数学库的接口。
4、文本处理:python提供的re模块能支持正则表达式,还提供SGML,XML分析模块,许多程序员利用python进行XML程序的开发。
5、数据库编程:程序员可通过遵循Python DB-API规范的模块与Microsoft SQL
Server,Oracle,Sybase,DB2,MySQL、SQLite等数据库通信。python自带有一个Gadfly模块,提供了一个完整的SQL环境。
6、网络编程:提供丰富的模块支持sockets编程,能方便快速地开发分布式应用程序。
7、Web编程:应用的开发语言,支持最新的XML技术。使用python也可能制作网站哦。
8、多媒体应用:Python的PyOpenGL模块封装了“OpenGL应用程序编程接口”,能进行二维和三维图像处理。PyGame模块可用于编写游戏软件。
9、pymo引擎:这是一款运行于Symbian S60V3,Symbian3,S60V5, Symbian3, Android系统上的AVG游戏引擎。因其基于python2.0平台开发,并且适用于创建秋之回忆(memories off)风格的AVG游戏,故命名为PYMO。可以开发一些手机上的软件。
10、黑客编程:python有一个hack的库,可以大大减少编程的工作量,很多本来很复杂的工作,可以很容易实现。 参考技术C Python因语法简洁、上手简单、功能强大特点,广泛应用于网站开发、数据分析、爬虫、自动化运维、人工智能、大数据、游戏开发等领取。
1、做日常任务,比如下载视频、MP3、自动化操作excel、自动发邮件。
2、做网站开发、web应用开发,很多著名的网站像知乎、YouTube就是Python写的。
许多大型网站就是用Python开发的,例YouTube、Instagram,还有国内的豆瓣。很多大公司,包括Google、Yahoo等,甚至NASA(美国航空航天局)都大量地使用Python。
3、做网络游戏的后台,很多在线游戏的后台都是Python开发的。
4、系统网络运维。
- 官方服务
- 官方网站官方网站
以上是关于软件开发后台主要做啥的主要内容,如果未能解决你的问题,请参考以下文章