随着互联网的不断发展,一系列的互联网技术性名词不断诞生,这些层出不穷的名词总是让人头痛,尤其是像是产品经理,UI在与开发人员沟通时会遇到沟通上的麻烦,所以在这里我们对一些互联网常见的技术性名词进行解释说明,希望能给大家带来帮助
这里我们将其大致分为三类前端,后端,其他技术名词。
前端名词
HTML5
HTML5是构建Web内容的一种语言描述方式。HTML5是互联网的下一代标准,是构建以及呈现互联网内容的一种语言方式.被认为是互联网的核心技术之一。HTML产生于1990年,1997年HTML4成为互联网标准,并广泛应用于互联网应用的开发。
CSS
CSS通常称为CSS样式表或层叠样式表(级联样式表),主要用于设置HTML页面中的文本内容(字体、大小、对齐方式等)、图片的外形(宽高、边框样式、边距等)以及版面的布局等外观显示样式。相比于通过HTML码来设置样式,使用CSS可以更方便精确地控制网页的样式,同时提高网页的可维护性、可扩展性和重用性。CSS可以通过内联式、内部样式表和外部样式表三种方式引入文档。目前,CSS3是最新版本,它增加了许多新特性,例如过渡动画、圆角边框等,让网页制作变得更加丰富和精美。
JavaScript
JavaScript(简称“JS”)是一种具有函数优先的轻量级,解释型或即时编译型的编程语言。虽然它是作为开发Web页面的脚本语言而出名,但是它也被用到了很多非浏览器环境中,JavaScript基于原型编程、多范式的动态脚本语言,并且支持面向对象、命令式、声明式、函数式编程范式。
Vue3
是Vue.js的最新版本,于2020年9月18日正式发布,是一款用于构建用户界面的 JavaScript 框架。它基于标准 HTML、CSS 和 JavaScript 构建,并提供了一套声明式的、组件化的编程模型,帮助程序员高效地开发用户界面。
Gitlab-CI
从零开始的前端自动化部署。
优势:
提高前端的开发效率和开发测试之间的协调效率
从更细的粒度把握代码质量
Arco.design
https://arco.design/
源自字节跳动的开源企业级设计系统。
和抖音,字节跳动用的是同套管理前端框架。
后端名词
Java(jdk8)
Java是一种广泛使用的编程语言,由Sun Microsystems(现为Oracle)开发并在1995年发布。Java具有"一次编写,到处运行"的特性,意味着一段Java代码可以在多个平台上运行,包括Windows、macOS和各种移动设备。Java被广泛应用于开发各种类型的Web开发、大数据开发、Android开发和后端服务开发领域。
Shiro
Shiro是apache旗下一个开源框架,它将软件系的安全认证相关的功能抽取出来,实现用户身份认证,权限授权、加密、会话管理等功能,组成了一个通用的安全认证框架。
Jar
jar包就是 Java Archive File,顾名思义,它的应用是与 Java 息息相关的,是 Java 的一种文档格式,是一种与平台无关的文件格式,可将多个文件合成一个文件。jar 包与 zip 包非常相似——准确地说,它就是 zip 包,所以叫它文件包。jar 与 zip 唯一的区别就是在 jar 文件的内容中,包含了一个 META-INF/MANIFEST.MF 文件,该文件是在生成 jar 文件的时候自动创建的,作为jar里面的"详情单",包含了该Jar包的版本、创建人和类搜索路径Class-Path等信息,当然如果是可执行Jar包,会包含Main-Class属性,表明Main方法入口。
WAR
在软件工程中,一个WAR文件(Web Application Resource or Web application ARchive) 是由 JAR文件、JavaServer pages、 Java Servlets,Java Classes 、XML文件、标签库、静态网页(HTML)以及其他资源组成一个web应用。WAR文件可以用与JAR文件相同的方式进行数字签名,以允许其他人确定源代码来自何处。
Spring
Spring 是目前主流的 Java Web 开发框架,是 Java 世界最为成功的框架。该框架是一个轻量级的开源框架,具有很高的凝聚力和吸引力,其目的是用于简化企业级应用程序开发的难度和周期。Spring 框架充当了黏合剂和润滑剂的角色,能够将相应的 Java Web 系统柔顺地整合起来,并让它们更易使用。同时其本身还提供了声明式事务等企业级开发不可或缺的功能。Spring 框架给予了 Java 程序员更高的自由度,对业界的常见问题也提供了良好的解决方案,因此,在开源社区受到了广泛的欢迎,并且被大部分公司作为 Java 项目开发的首选框架。
Spring Boot
Spring Boot 是所有基于 Spring 开发的项目的起点。Spring Boot 的设计是为了让你尽可能快的跑起来 Spring 应用程序并且尽可能减少你的配置文件。简单来说就是SpringBoot其实不是什么新的框架,它默认配置了很多框架的使用方式,就像maven整合了所有的jar包,spring boot整合了所有的框架(不知道这样比喻是否合适)。
MySQL
MySQL — 一个快速、可靠、可扩展且易于使用的开源关系数据库系统 — 旨在处理关键任务、重负载生产应用程序。它是一种常见且易于启动的数据库,内存、磁盘和 CPU 利用率较低,由关系数据库管理系统 (RDMS) 管理。MySQL Community Edition 是一个由活跃的在线社区支持的免费下载版本。
PostgreSQL
也称为 Postgres,是一种开源关系数据库,以其可靠性、灵活性和对开放技术标准的支持而享有盛誉。PostgreSQL 支持非关系和关系数据类型。它被称为当今可用的最兼容、最稳定和最成熟的关系数据库之一,并且可以轻松处理复杂的查询。
Redis
Redis 是Nosql数据库中使用较为广泛的非关系型内存数据库。
Mybatis
Mybatis是一款优秀的持久层框架,它支持定制化SQL、存储过程以及高级映射。Mybatis避免了几乎所有的JDBC代码和手动设置参数以及获取结果集。Mybatis就是帮助程序员将数据存入数据库中 , 和从数据库中取数据,提高开发效率。MyBatis 是一个半自动化的ORM框架 (Object Relationship Mapping) —>对象关系映射。
其他技术名词
云原生12要素
"Twelve-Factor App"的概念出现很久了,一般叫"12要素",衡量一个后端服务是否适合搬到云上,描述了云端应用服务应当遵循的一些最佳实践。
“Twelve-Factor”具体指的是下面的12条(不是一一对应翻译):
Codebase:基线代码
Dependencies:显式和隔离的依赖
Configuration:配置分离存储到环境中
Backing services:分离基础的后端组件
Build, release, run:严格分离构建、发布、运行
Processes:无状态的服务进程
Port binding:自带端口绑定
Concurrency:通过进程的水平扩展增大并发能力
Disposability:易处置 - 快速启动和优雅退出
Dev/prod parity:环境对等
Log:日志作为事件流
Admin processes:分离管理类任务
网关
网关(Gateway)又称网间连接器、协议转换器。网关在传输层上以实现网络互连,是最复杂的网络互连设备,仅用于两个高层协议不同的网络互连。网关的结构也和路由器类似,不同的是互连层。网关既可以用于广域网互连,也可以用于局域网互连。 网关是一种充当转换重任的计算机系统或设备。在使用不同的通信协议、数据格式或语言,甚至体系结构完全不同的两种系统之间,网关是一个翻译器。与网桥只是简单地传达信息不同,网关对收到的信息要重新打包,以适应目的系统的需求。同时,网关也可以提供过滤和安全功能。
Shell脚本
Shell脚本与Windows/Dos下的批处理相似,也就是用各类命令预先放入到一个文件中,方便一次性执行的一个程序文件,主要是方便管理员进行设置或者管理用的。但是它比Windows下的批处理更强大,比用其他编程程序编辑的程序效率更高,它使用了Linux/Unix下的命令。Shell就是一个命令行解释器,它的作用就是遵循一定的语法将输入的命令加以解释并传给系统。它为用户提供了一个向Linux发送请求以便运行程序的接口系统级程序,用户可以用Shell来启动、挂起、停止甚至是编写一些程序。
Ansible(自动化运维)
ansible是新出现的自动化运维工具,基于Python开发,集合了众多运维工具(puppet、chef、func、fabric)的优点,实现了批量系统配置、批量程序部署、批量运行命令等功能。ansible是基于 paramiko 开发的,并且基于模块化工作,本身没有批量部署的能力。真正具有批量部署的是ansible所运行的模块,ansible只是提供一种框架。ansible不需要在远程主机上安装client/agents,因为它们是基于ssh来和远程主机通讯的。ansible目前是自动化运维工具中大家认可度最高的,并且上手容易,学习简单。是每位运维工程师必须掌握的技能之一。
Linux
Linux是一套免费使用和自由传播的类Unix操作系统,是一个多用户、多任务、支持多线程和多CPU的操作系统。它能运行主要的UNIX工具软件、应用程序和网络协议。它支持32位和64位硬件。Linux继承了Unix以网络为核心的设计思想,是一个性能稳定的多用户网络操作系统。
EMQX
EMQX 是一款全球下载量超千万的开源物联网 MQTT 服务器,单集群支持 1 亿物联网设备连接,消息分发时延低于 1 毫秒,助力企业构建关键业务的 IoT 平台与应用。
RocketMQ
RocketMQ是一个分布式消息和流数据平台,具有低延迟、高性能、高可靠性、万亿级容量和灵活的可扩展性。RocketMQ是2012年阿里巴巴开源的第三代分布式消息中间件,2016年11月21日,阿里巴巴向Apache软件基金会捐赠了RocketMQ;第二年2月20日,Apache软件基金会宣布Apache RocketMQ成为顶级项目。
低代码框架
低代码为开发者提供了一个创建应用软件的开发环境。对于程序员而言,低代码的性质与IDEA、VS等代码IDE(集成开发环境)几乎一样,都是服务于开发者的生产力工具。与传统代码IDE不同的是,低代码提供的是更高维和易用的可视化IDE。大多数情况下,开发者并不需要使用传统的手写代码方式进行编程,而是可以通过图形化拖拽、参数配置等更高效的方式完成开发工作。
全栈可视化编程:可视化包含两层含义,一个是编辑时支持的点选、拖拽和配置操作,另一个是编辑完成后所及即所得(WYSIWYG)的预览效果。传统代码IDE也支持部分可视化能力(如早年Visual Studio的MFC/WPF),但低代码更强调的是全栈、端到端的可视化编程,覆盖一个完整应用开发所涉及的各个技术层面(界面/数据/逻辑)。
全生命周期管理:低代码支持应用的完整生命周期管理,即从设计阶段开始(有些平台还支持更前置的项目与需求管理),历经开发、构建、测试和部署,一直到上线后的各种运维(e.g. 监控报警、应用上下线)和运营(e.g. 数据报表、用户反馈)。
低代码扩展能力:使用低代码开发时,大部分情况下仍离不开代码,因此平台必须能支持在必要时通过少量的代码对应用各层次进行灵活扩展,比如添加自定义组件、修改主题CSS样式、定制逻辑流动作等。一些可能的需求场景包括:UI样式定制、遗留代码复用、专用的加密算法、非标系统集成。
K8S
K8S,就是基于容器的集群管理平台,它的全称,是kubernetes。它的前身,是Google自己捣鼓了十多年的Borg系统。一个K8S系统,通常称为一个K8S集群(Cluster)。
这个集群主要包括两个部分:
一个Master节点(主节点)
包括API Server、Scheduler、Controller manager、etcd。
API Server是整个系统的对外接口,供客户端和其它组件调用,相当于“营业厅”。
Scheduler负责对集群内部的资源进行调度,相当于“调度室”。
Controller manager负责管理控制器,相当于“大总管”。
一群Node节点(计算节点)
Node节点包括Docker、kubelet、kube-proxy、Fluentd、kube-dns(可选),还有就是Pod。
Pod是Kubernetes最基本的操作单元。一个Pod代表着集群中运行的一个进程,它内部封装了一个或多个紧密相关的容器。除了Pod之外,K8S还有一个Service的概念,一个Service可以看作一组提供相同服务的Pod的对外访问接口。这段不太好理解,跳过吧。
Docker,不用说了,创建容器的。
Kubelet,主要负责监视指派到它所在Node上的Pod,包括创建、修改、监控、删除等。
Kube-proxy,主要负责为Pod对象提供代理。
Fluentd,主要负责日志收集、存储与查询。
这些就是今天介绍的互联网技术性名词啦,希望对大家有所帮助,能让大家初步了解这些名词的含义。