IT 百科笔记
本文是作者收集和整理的一些平时常见的与IT有关的英文缩写、专业术语、软件工具、编程语言 等词语及其解析,可供参考和扩充视野。后将陆续更新。
IT 百科
缩写
- ISA
指令集架构(英语:Instruction Set Architecture,缩写为ISA),又称指令集或指令集体系。
包含了基本数据类型,指令集,寄存器,寻址模式,存储体系,中断,异常处理以及外部I/O。
指令集架构包含一系列的opcode即操作码(机器语言),以及由特定处理器执行的基本命令。 - ssh
Secure Shell(安全外壳协议,简称SSH)是一种加密的网络传输协议,可在不安全的网络中为网络服务提供安全的传输环境。
SSH最常见的用途是远程登录系统,人们通常利用SSH来传输命令行界面和远程执行命令。
SSH旨在保证非安全网络环境(例如互联网)中信息加密完整可靠。
SSH以非对称加密实现身份验证。其中一种方法是使用自动生成的公钥-私钥对来简单地加密网络连接,随后使用密码认证进行登录; - VPN
虚拟私人网络(英语:Virtual Private Network,缩写:VPN)是一种常用于连接中、大型企业或团体与团体间的私人网络的通讯方法。它利用隧道协议(Tunneling Protocol)来达到保密、发送端认证、消息准确性等私人消息安全效果,这种技术可以用不安全的网络(例如:互联网)来发送可靠、安全的消息. - NFC
近距离无线通信(英语:Near-field communication,NFC),又简称近距离通信或近场通信,是一套通信协议,
让两个电子设备(其中一个通常是移动设备,例如智能手机)在相距几厘米之内进行通信。 - AJAX
即“Asynchronous JavaScript and XML”(异步的JavaScript与XML技术)
指的是一套综合了多项技术的浏览器端网页开发技术
使用Ajax的最大优点,就是能在不更新整个页面的前提下维护数据。
Ajax在本质上是一个浏览器端的技术,因此会产生浏览器的兼容性问题。 - JSON
(JavaScript Object Notation,JavaScript对象表示法)是一种轻量级的数据交换语言,以易于让人阅读的文字为基础,用来传输由属性值或者序列性的值组成的数据对象。 - XML
可扩展标记语言(英语:Extensible Markup Language,简称:XML)
是一种标记语言。标记指计算机所能理解的信息符号,通过此种标记,计算机之间可以处理包含各种信息的文章等。 - LAMP
是指一组通常一起使用来运行动态网站或者服务器的自由软件名称首字母缩写:
Linux,操作系统 Apache,网页服务器 MariaDB或MySQL,数据库管理系统(或者数据库服务器) PHP、Perl或Python,脚本语言 - DOM
文档对象模型(英语:Document Object Model),是W3C组织推荐的处理可扩展置标语言的标准编程接口。 - MVC
MVC模式(Model–view–controller)是软件工程中的一种软件架构模式,把软件系统分为三个基本部分:
控制器(Controller)- 负责转发请求,对请求进行处理。
视图(View) - 界面设计人员进行图形界面设计。
模型(Model) - 程序员编写程序应有的功能(实现算法等等)、数据库专家进行数据管理和数据库设计(可以实现具体的功能)。 - IDE
(Integrated Development Environment,简称IDE集成开发环境
是一种辅助程序开发人员开发软件的应用软件,在开发工具内部就可以辅助编写源代码文本、并编译打包成为可用的程序,
IDE通常包括编程语言编辑器、自动构建工具、通常还包括调试器。有些IDE包含编译器/解释器 - SDK
(Software Development Kit, SDK)软件开发工具包
一般是一些被软件工程师用于为特定的软件包、软件框架、硬件平台、操作系统等创建应用软件的开发工具的集合。 - restful
表现层状态转换(英语:Representational State Transfer,缩写:REST).一种万维网软件架构风格.
目的是便于不同软件/程序在网络(例如互联网)中互相传递信息。 - ISA
指令集架构(英语:Instruction Set Architecture,缩写为ISA),又称指令集或指令集体系,
指令集架构包含一系列的opcode即操作码(机器语言),以及由特定处理器执行的基本命令。 - cli
命令行界面(英语:Command-LineInterface,缩写:CLI)
在图形用户界面普及之前使用最为广泛的用户界面,通常不支持鼠标,通过键盘输入指令,计算机接收到指令后,予以执行。 - I18N
i18n(其来源是英文单词 internationalization的首末字符i和n,18为中间的字符数)是“国际化”的简称。 - SHA-1
SHA-1(英语:Secure Hash Algorithm 1,中文名:安全散列算法1)
一种密码散列函数,美国国家安全局设计,可以生成一个被称为消息摘要的160位(20字节)散列值,散列值通常的呈现形式为40个十六进制数。 - MD5
MD5消息摘要算法(英语:MD5 Message-Digest Algorithm)
一种被广泛使用的密码散列函数,由美国密码学家设计.可以产生出一个128位(16字节)的散列值(hash value),用于确保信息传输完整一致。
MD5已经广泛使用在为文件传输提供一定的可靠性方面。 - XSRF
跨站请求伪造(英语:Cross-site request forgery),也被称为one-click attack 或者session riding,通常缩写为CSRF 或者XSRF, 是一种挟制用户在当前已登录的Web应用程序上执行非本意的操作的攻击方法。 - RAID
独立硬盘冗余阵列(RAID, Redundant Array of Independent Disks),旧称廉价磁盘冗余阵列(Redundant Array of Inexpensive Disks),简称磁盘阵列。利用虚拟化存储技术把多个硬盘组合起来,成为一个或多个硬盘阵列组,目的提升性能或数据冗余或是两者同时提升。
简单来说,RAID把多个硬盘组合成为一个逻辑硬盘,因此,操作系统只会把它当作一个硬盘。RAID常被用在服务器计算机上,并且常使用完全相同的硬盘作为组合。 - DMA
直接内存访问(Direct Memory Access,DMA)是计算机科学中的一种内存访问技术。它允许某些计算机计算机外设,可以独立地直接读写系统内存,而不需CPU介入处理。在同等程度的处理器负担下,DMA是一种快速的数据传送方式。很多硬件的系统会使用DMA,包含硬盘控制器、绘图显卡、网卡和声卡。 - ORM
ORM(Object Relational Mapping)对象关系映射.对象-关系映射(ORM)系统一般以中间件的形式存在,主要实现程序对象到关系数据库数据的映射。 - CGI
CGI(Common Gateway Interface)公共网关接口,是外部扩展应用程序与 Web 服务器交互的一个标准接口。
服务器端与客户端进行交互的常见方式多,CGI技术就是其中之一。根据CGI标准,编写外部扩展应用程序,
可以对客户端浏览器输入的数据进行处理,完成客户端与服务器的交互操作。 - W3C
万维网联盟,又称W3C理事会,是万维网的主要国际标准组织。为半自治非政府组织。 - Base64
Base64是一种基于64个可打印字符来表示二进制数据的表示方法。由于 2^6=64,所以每6个比特为一个单元,对应某个可打印字符。在Base64中的可打印字符包括字母A-Z、a-z、数字0-9,这样共有62个字符。
Base64常用于在通常处理文本数据的场合,表示、传输、存储一些二进制数据,包括MIME的电子邮件及XML的一些复杂数据。 - Socket
网络套接字(Network socket)在计算机科学中是计算机网络中行程间数据流的端点。是一种操作系统提供的进程间通信机制。 - UTC
协调世界时(英语:Coordinated Universal Time 简称UTC)
是最主要的世界时间标准,其以原子时秒长为基础,是世界上调节时钟和时间的主要时间标准,它与0度经线的平太阳时相差不超过1秒,并不遵守夏令时。 - ORM
对象关系映射(英语:Object Relational Mapping,简称ORM,或O/RM,或O/R mapping)
是一种程序设计技术,用于实现面向对象编程语言里不同类型系统的数据之间的转换。 - UTF-8
是一种针对Unicode的可变长度字符编码,也是一种前缀码。它可以用来表示Unicode标准中的任何字符,且其编码中的第一个字节仍与ASCII兼容,
这使得原来处理ASCII字符的软件无须或只须做少部分修改,即可继续使用。因此,它逐渐成为电子邮件、网页及其他存储或发送文字优先采用的编码。 - Unicode
Unicode(中文:万国码、国际码、统一码、单一码)是计算机科学领域里的一项业界标准。
它对世界上大部分的文字系统进行了整理、编码,使得计算机可以用更为简单的方式来呈现和处理文字。 - ISP
互联网服务供应商(英语:Internet Service Provider,简称ISP),又称因特网服务提供者、互联网服务提供商、网络服务供应商,
即指提供互联网存取服务的公司。通常大型的电讯公司都会兼任互联网服务供应商,一些ISP则独立于电信公司之外。
术语
- 语法糖
(Syntactic sugar),
一种术语,指计算机语言中添加的某种语法,这种语法对语言的功能没有影响,但让程序更加简洁,有更高的可读性。 - 脚本语言
(英语:Scripting language)是为了缩短传统的“编写、编译、链接、运行过程而创建的计算机编程语言。早期经常被称为批处理语言或工作控制语言。
通常都有简单、易学、易用的特性,目的就是希望能让程序员快速完成程序的编写工作。 - 耦合度
是一种软件度量,是指一程序中,模块及模块之间信息或参数依赖的程度。 - 依赖注入
用于解决依赖性设计模式。一个依赖关系指的是可被利用的一种对象(即服务提供端) 。
依赖注入是将所依赖的传递给将使用的从属对象(即客户端)。该服务是将会变成客户端的状态的一部分。
依赖注入的观念就是将所有东西先在“外面”准备好,然后再带入“内部”的程式中 - 惰性加载
(英语:Lazyloading、InfiniteScroll,又称延迟加载[1]、懒加载[2][3]、无限滚动[4]、瀑布流[4]),一种设计模式,
被运用在软件设计和网页设计当中,对于网页界面,其特征为用户透过鼠标,滚动浏览页面,直到页面下方时,就会自动加载更多内容 - 掩码
掩码(英语:Mask)在计算机学科及数字逻辑中指的是一串二进制数字,通过与目标数字的按位操作,达到屏蔽指定位而实现需求。 - 调度
调度在计算机中是分配工作所需资源的方法。资源可以指虚拟的计算资源,也可以指硬件资源。进行调度工作的程序叫做调度器。
调度器通常的实现使得所有计算资源都处于忙碌状态(在负载均衡中),允许多位用户有效地同时共享系统资源,或达到指定的服务质量。
调度是计算自身的基础,同时也是编程语言计算模型固有的部分。调度器使得在单处理器上通过多任务处理,从而让执行多个进程成为可能。 - 脏数据
(Dirty Read)是指源系统中的数据不在给定的范围内或对于实际业务毫无意义,或是数据格式非法,以及在源系统中存在不规范的编码和含糊的业务逻辑。 - 单片机
全称单片微型计算机(英语:single-chip microcomputer),又称微控制器(microcontroller)
是把中央处理器、存储器、定时/计数器(timer/counter)、各种输入输出接口等都集成在一块集成电路芯片上的微型计算机。 - OSI
开放式系统互联参考模型(英语:Open System Interconnection Reference Model,缩写:OSI;简称为OSI模型)
是一种概念模型,由国际标准化组织提出,一个试图使各种计算机在世界范围内互连为网络的标准框架。
<===
软件工具
- Node.js
是一个能够在服务器端运行JavaScript的开放源代码、跨平台JavaScript运行环境。
使用事件驱动、非阻塞和异步输入输出模型等技术来提高性能,可优化应用程序的传输量和规模。
大部分基本模块都用JavaScript语言编写
在Node.js出现之前,以JavaScript写出的程序常在用户的浏览器上运行。Node.js的出现使JavaScript也能用于服务端编程。 - npm
(全称 Node Package Manager,即“node包管理器”)是Node.js默认的、以JavaScript编写的软件包管理系统。
npm完全用JavaScript写成,会随着Node.js自动安装
用户可通过本地的npm命令下载并安装指定模块。此外用户也可以通过npm把自己设计的模块分发到registry上面 - git
是一个分布式版本控制软件,最初目的是为更好地管理Linux内核开发而设计。 - SVN
Apache Subversion(简称SVN,svn),一个开放源代码的版本控制系统。 - CSV
英语:Concurrent Versions System,或Concurrent Versioning System
代表协作版本系统或者并发版本系统,是一种版本控制系统,方便软件的开发和用户协同工作。
现已被Git、SVN等逐渐替代 - Apache
一个开放源码的网页服务器软件,可以在大多数计算机操作系统中运行。由于其跨平台和安全性被广泛使用,是最流行的Web服务器软件之一。 - Nginx
Nginx(发音同engine x)是异步框架的网页服务器,也可以用作反向代理、负载平衡器和HTTP缓存。
免费的开源软件,面向性能设计的HTTP服务器,有占有内存少,稳定性高等优势。 - Docker
一个开放源代码软件项目,让应用程序部署在软件货柜下的工作可以自动化进行,提供一个额外的软件抽象层,以及操作系统层虚拟化的自动管理机制。
语言
- 动态语言
动态语言是高级编程语言的一个类别,在运行时可以改变其结构:新的函数、对象、甚至代码可以被引进,已有的函数可以被删除或是其他结构上的变化。
动态语言当前非常具有活力。如JavaScript便是一个动态语言,除此之外如PHP、Ruby、Python等也都属于动态语言,而C、C++等语言则不属于动态语言。 - 汇编语言
是一种用于电子计算机、微处理器、微控制器,或其他可编程器件的低级语言。汇编语言使用助记符来代替和表示特定低级机器语言的操作。
在不同的设备中,汇编语言对应着不同的机器语言指令集。一种汇编语言专用于某种计算机系统结构,而不像许多高级语言,可以在不同系统平台之间移植。
在今天的实际应用中,它通常被应用在底层硬件操作和高要求的程序优化的场合。驱动程序、嵌入式操作系统和实时运行程序都会需要汇编语言。 - R
一种自由软件编程语言与操作环境,主要用于统计分析、绘图、数据挖掘。 - Ruby
是一种面向对象、命令式、函数式、动态的通用编程语言。 - Perl
是高端、通用、解释型、动态的编程语言家族。
Perl借用了C、shell脚本等很多编程语言的特性。Perl内部集成了正则表达式的功能N。
Perl语言的应用范围很广,除CGI以外,Perl被用于图形编程、系统管理、网络编程、金融、生物以及其他领域。
由于其灵活性,Perl被称为脚本语言中的瑞士军刀。 - JSP
JSP(全称JavaServer Pages)是由Sun Microsystems公司主导创建的一种动态网页技术标准。
JSP技术以Java语言作为脚本语言,将Java代码和特定变动内容嵌入到静态的页面中,实现以静态页面为模板,动态生成其中的部分内容。
JSP部署于网络服务器上,可以响应客户端发送的请求,并根据请求内容动态地生成HTML、XML或其他格式文档的Web网页,然后返回给请求者。
计算机组成原理
- RAM
随机存取存储器(英语:Random Access Memory,缩写:RAM;也叫主存)是与CPU直接交换数据的内部存储器。
它可以随时读写,而且速度很快,由于DRAM的性价比很高,且扩展性也不错,是现今一般计算机主存的最主要部分。
是计算机内部最主要的存储器,用来加载各式各样的程序与数据以供CPU直接运行与运用。 - 编译器
(compiler)是一种计算机程序,它会将某种编程语言写成的源代码(原始语言)转换成另一种编程语言(目标语言)。
它主要的目的是将源代码程序,翻译低阶机器语言程序,也就是可执行文件。
源代码一般为高级语言C++ 、Java等,而目标语言则是汇编语言或目标机器的目标代码,有时也称作机器代码。
一个现代编译器的主要工作流程如下:源代码→ 预处理器→ 编译器→ 汇编程序→ 目标代码→ 链接器→可执行文件,最后打包好的文件就可以给计算机去判读运行了。 - RISC
精简指令集计算(英语:reduced instruction set computing,缩写:RISC)或简译为精简指令集,是计算机中央处理器的一种设计模式。
这种设计思路可以想像成是一家流水线工厂,对指令数目和寻址方式都做了精简,使其实现更容易,指令并行执行程度更好,编译器的效率更高。