写在前面:以下内容都是摘抄+转载+原创整理而来(CV😬),就是想为自己和想要获取这方面知识到集美们提供一个记录的地方,如果侵犯到相关利益,请联系我删除!🙋🏻♀️
汇编语言:
面向机器的程序设计语言。即第二代计算机语言(第一代机器语言、第二代汇编语言、第三代高级语言、第四代非过程化语言),用一些容易理解和记忆的字母,单词来代替一个特定的指令,比如:用“ADD”代表数字逻辑上的加减,人们很容易去阅读已经完成的程序或者理解程序正在执行的功能,对现有程序的bug修复以及运营维护都变得更加简单方便。需要一个专门的程序把这些字符变成计算机能够识别的二进制数。通常被应用在底层,硬件操作和高要求的程序优化的场合代码:程序员用开发工具所支持的语言写出来的源文件。
指令:
告诉计算机从事某一特殊运算的代码
软件:
按照特定顺序组织的计算机数据和指令的集合
操作系统:
(Operating System,简称OS):是管理计算机硬件和软件资源的计算机程序。
线程:
(thread)是操作系统能够进行运算调度的最小单位。它被包含在进程之中,是进程中的实际运作单位。一条线程指的是进程中一个单一顺序的控制流,一个进程中可以并发多个线程,每条线程并行执行不同的任务。
进程:
(Process)是计算机中的程序关于某数据集合上的一次运行活动,是系统进行资源分配和调度的基本单位,是操作系统结构的基础。进程是线程的容器,程序是指令、数据及其组织形式的描述,进程是程序的实体。
IO编程:
IO在计算机中指Input/Output,也就是输入和输出,氛围同步io和异步io。同步和异步的区别就在于是否等待IO执行的结果。使用异步IO来编写程序性能会远远高于同步IO,但是异步IO的缺点是编程模型复杂,例如,如果是服务员跑过来找到你,这是回调模式,如果服务员发短信通知你,你就得不停地检查手机,这是轮询模式。
异步:
一种通讯方式,对设备需求简单。我们的PC机提供的标准通信接口都是异步的。同时也是计算机多线程的异步处理。与同步处理相对,异步处理不用阻塞当前线程来等待处理完成,而是允许后续操作,直至其它线程将处理完成,并回调通知此线程。
Node.js:
Node.js开发的目的就是为了用JavaScript编写Web服务器程序
一、模块:
在Node环境下,通过模块化(在Node环境中,一个.js文件就称之为一个模块(module))的JavaScript代码,加上函数式编程,并且无需考虑浏览器兼容性问题,直接使用最新的ECMAScript 6标准,可以完全满足工程上的需求。由于Node.js平台是在后端运行JavaScript代码,所以,必须首先在本机安装Node环境。
1、CommonJS规范:
模块加载机制,在这个规范下,每个.js文件都是一个模块,它们内部各自使用的变量名和函数名都互不冲突。
例如对外输出模块:module.exports = variable;
引入其他模块输出到对象var foo =require('other_module');
实现“模块”功能的奥妙就在于JavaScript是一种函数式编程语言,它支持闭包,将其变成匿名函数内部的局部变量。相应的,module.exports则是由于Node保存了所有导入的module,当我们用require()获取module时,Node找到对应的module,把这个module的exports变量返回,这样,另一个模块就顺利拿到了模块的输出。简而言之,Node默认给你准备了一个空对象{},这样你可以直接往里面加东西。
最终,我们强烈建议使用module.exports = xxx的方式来输出模块变量,这样,你只需要记忆一种方法。(相较于 exports = xxx)
2、基本模块
因为Node.js是运行在服务区端的JavaScript环境,服务器程序和浏览器程序相比,最大的特点是没有浏览器的安全限制了,而且,服务器程序必须能接收网络请求,读写文件,处理二进制内容,所以,Node.js内置的常用模块就是为了实现基本的服务器功能。这些模块在浏览器环境中是无法被执行的,因为它们的底层代码是用C/C++在Node.js运行环境中实现的。
JavaScript有且仅有一个全局对象,在浏览器中,叫window对象。而在Node.js环境中,也有唯一的全局对象,叫global,这个对象的属性和方法也和浏览器环境的window不同。
3、内置模块:fs(文件系统模块,负责读写文件)、http、stream等等
未完待续…🧏🏻♀️
网友评论