几大技术体系极其应用

目前市面上做软件开发的几大主流技术体系为(一般而言一类编程语言就代表了一种技术体系):

Java技术体系

.Net技术体系

Python技术体系

PHP技术体系

C/C++技术体系

Web前端(以JavaScript为代表的技术体系,包括Node.js);

基本上市面上主流做软件开发的都是这几种技术体系,当然还有其他比较小众的技术体系

比如Go语言、Object-C、Rust等等这些都是比较小众的,针对某些小的应用场景的,暂时并没有成为应用开发的主流体系。

我们知道,在软件开发中,就是两种软件架构:一种是B/S架构,一种是C/S架构

开发人员为了设计开发这两种类型架构的软件,需要选择其所需要的技术,对于不同技术体系的选择,便诞生了不同的岗位,整体上讲一般是前端工程师、后端工程师;

再细分下前端又分为web前端、客户端,B/S架构软件的前端叫做Web前端,C/S架构软件的前端一般叫做客户端

当然这种叫法面对不同的终端又会有不同,一般我们的终端有三种:移动端、Pad、PC端,这是面向用户的,我们的软件前端就是部署在这些终端上可以给用户看的。

这里对于前后端的描述比较多的原因是由于很多人分不清哪是前端,哪是后端,特别是初学者,我很理解你们对于一个小小的概念的不知具体所指而感受到的烦恼。

在两种软件架构中(B/S、C/S),后端就是其中的S(Server),两种架构的软件可以共用一个后端,后端一般就一个比较好理解,但是涉及到的后端技术就很多了,因为后端承受着用户的各种请求,对于高并发、高流量的处理,对于后端来说是非常重要的,一般大型网站都会运用去中心化的思想将一个后台拆成多个不同的部分,也即设计成分布式系统,要设计成分布式系统就需要对原始的集中式后台进行拆分,将不同的功能或者服务分别部署在不同的服务器后台上以应对高并发请求带来卡顿的用户体验,一般分布式系统的设计有以下几种方式:

RPC(远程过程调用):将不同的服务部署在不同的地方(所谓不同的地方就是部署再不同的服务器上,不将多个服务部署在同一服务器),通过RPC技术实现远程服务的调用,就像调用本地程序一样

MQ(消息队列):消息队列就是一个进程间通信的中间件,也是后台系统分层思想的一种体现,作用就是将信息通过中间传输,以降低服务器的压力

LoadBlance(负载均衡):也是在去中心化思想的指导下所做的将应用分层的一种技术,即通过在多个设备上部署相同的服务确保同一应用服务因为大量请求而崩溃导致整个系统崩溃

分库分表:这是一种在数据存储层所作的去中心化,即将一些用户经常需要操作的数据库表分开存储,以降低对同一个表的同时访问压力

CDN(内容分发网络):英文全称为Content Delivery Network,目的是为了加快用户后台的访问,这个网络的作用就是将应用服务完整的部署在CDN网络提供商的服务器上,以作缓存,当用户访问系统后台时会根据cdn网络自动寻址到离他最近的cdn网络提供商的服务器上,然后再访问后台应用(这里可能说的有点牵强,待我下次再整理好了会完善的) 

现在的大型系统后台一般都是分布式设计的,运用了很多的分层/去中心化技术,当然这里所说得去中心化不是说某个独立的去中心化,而是将一个整体进行拆分的去中心化,拆分后的每个独立的模块需要相互配合才能发挥其整个系统功能的作用,去中心化这个词本身有几种理解,刚接触这个词时那面会有点模糊,需要去多多理解

还有一些细分领域应用:图像处理、人脸识别、机器学习

这些细分领域应用指的是针对某一个系统种的具体模块需要用到,他们往往是一个系统的核心,在这些细分领域从事工作,需要比较好的数据结构与算法基础。

以上就是关于当前的几大技术体系的粗略介绍,后期需要整理的,这只是基本的思路记录下

原文地址:https://www.cnblogs.com/liugrwit/p/11828713.html

时间: 2024-10-11 05:21:27

几大技术体系极其应用的相关文章

浏览器端技术体系概览 -- 前端开发的七种武器

科普文一则,说说我对前端技术体系(也称浏览器端技术体系)的认识,希望能让更多人了解前端,也希望能借此丰富前端开发的大局观. 去年我写了网站性能优化系列文章,看过的朋友会知道,这类文章重点并非介绍各种具体的优化技巧,而是在关注发掘这些优化点的思路和方法.然后介绍给大家多种检测手段去发现问题,进而有目标的解决问题.所有这些需要我们对有网页整个生命周期有清晰的认识,对网页中各种技术极其相互结合的方式有明确的认知.这就回归到一个更本质的问题:浏览器端技术体系是怎样的. 想用三言两语说清前端技术不大可能,

Java架构师分享自己的技术体系,程序员如何从码农到专家

一.源码分析 源码分析是一种临界知识,掌握了这种临界知识,能不变应万变,源码分析对于很多人来说很枯燥,生涩难懂. 源码阅读,我觉得最核心有三点:技术基础+强烈的求知欲+耐心. 我认为是阅读源码的最核心驱动力.我见到绝大多数程序员,对学习的态度,基本上就是这几个层次(很偏激哦): 下图是我总结出目前最应该学习的源码知识点: 二.分布式架构 分布式系统是一个复杂且宽泛的研究领域,学习一两门在线课程,看一两本书可能都是不能完全覆盖其所有内容的. 总的来说,分布式系统要做的任务就是把多台机器有机的组合.

技术体系

2016年前端开发者深度调研,看看别人使用什么技术体系

《深入理解Java虚拟机》第一部分(Java技术体系,Java虚拟机,Java技术趋势)

第一部分 走进Java 1.Java技术体系 Sun官方定义的Java技术体系包括一下几个组成部分: Java程序设语言 各种硬件平台上的Java虚拟机 Class文件格式 Java API类库 第三方Java类库 JDK是用于支持Java程序开发的最小环境,Java程序设计语言.Java虚拟机.JavaAPI类库统称为JDKJRE是支持Java程序运行的标准环境,JavaAPI类库中的JavaSEAPI子集和Java虚拟机统称为JRE 按照Java技术关注的重点业务领域来分,Java技术体系可

关于Javascript技术体系

Javascript技术体系主要包含了五个方面的内容: Javascript核心语言定义:每一种编程语言都有自已的核心语法,包括数据类型,变量,常量,运算符,语句等. 原生对象和内置对象:为方便程序员的工作,编程语言的发明发布者通常会基于核心语言,编写一些类似Java类库的特定程序,随核心语言一起发布.ECMA发布Javascript时,同样附带了一些称为内置对象的程序. 浏览器对象模型BOM:因为网页是嵌入在浏览器中运行,我们有时候需要对浏览器的导航栏,浏览器窗口进行控制,Javascript

如何构建技术体系

研发人员应该以下方面去梳理技术体系.包括工具的使用.技术的更新. 需求分析 分析需求,用合理合适的架构.技术模型去解决需求问题. 开发 架构的搭建,工具的使用,coding管理. 测试 系统测试.安全测试.压力测试. 部署 多机房.负载. 运维 监控.报警.trace跟踪.

Java 技术体系基础概念

Java 技术体系基础概念 =============================================================================== 概述: =============================================================================== 编程语言: [百度百科解释] 编程语言俗称"计算机语言",种类非常的多,总的来说可以分成机器语言.汇编语言.高级语言三大类.电脑每做的

JVM(一)-java技术体系

一.java技术体系 1.sun官方所定义的java技术体系包括了如下的几个组成部分:   java程序设计语言 java虚拟机 java API类库   class文件 第三方java类库 2.java技术体系包含的内容如下图所示: (1)JDK:Java Development Kit,包含java程序设计语言.java虚拟机.java API类库,支持java程序开发的最小环境 (2)JRE:Java Runtime Environment(java运行环境),包含java API类库中j

加速了土壤深根技术,建立了完善的技术体系,改变思维模式,引创造新的工作流程。。。

加速了土壤深根技术,建立了完善的技术体系.改变思维模式,引创造新的工作流程.. . 版权声明:本文博客原创文章.博客,未经同意,不得转载.