基本层次结构
网络层
当每个主机连接到一个子网的时候,其在子网中就会有一个IP地址,这个IP地址应该是唯一的但是在专用网络和NAT的情况中,
会有多个IP地址
查看地址:ipconfig
内核:运行于硬件之上,是操作系统的核心,运行于内存中
进程:计算机中运行的所有程序,并由内核统一管理,这些进程组成了用户空间
用户进程:如图形界面的进程,服务器进程,命令行进程这类用户层级的进程
内核在内核模式中运行,能直接访问处理器和内存,不能容错;而用户进程运行于用户模式中,一个进程崩溃不会影响整个系统的运行
cron 能够让我们创建 linux 的定时任务,是系统的内置服务,通过加入自己的配置来达到在某时间段重复执行任务的目的
通过执行这个命令,我们可以将我们的 crontab 文件装载到 /var/spool/cron/crontabs 中
若有不足或纰漏,欢迎指教
得益于TypeScript强大灵活的OOP语法,使得在js中使用经典且可靠的OOP设计模式变成了现实,虽然有的公司已经在大规模地使用TS进行中大型项目的开发,但极少有项目真正充分发挥了TS健全的OO语法优势,Java like 的OOP语法使其在思想上与Java的设计模式几乎无异,本文选取了一些常见且重要的设计模式进行提炼总结,避免探讨OOP与函数式编程孰优孰劣,模式的具体实现均采用TS进行编写,文末有彩蛋哦。
本文所有实战代码示例的GitHub仓库地址,欢迎Star
使用设计模式的意义:库与框架无法帮助我们将应用组织成容易了解,容易维护,具有弹性的架构,所以需要设计模式
首先,我们要确保sshd也就是我们的ssh服务处于运行状态之中,下面以centos为例来讲解搭建的过程。
必要的包: openssh-clients openssh-server
运行下面的命令以确定我们的ssh服务处于active的状态中
在Promise大行其道的世界里,使用promise可谓是家常便饭了,写一个漂亮的promise极其重要
本文将会基于Express环境实战mongoose的promise,帮大家避免一些常见的错误并对promise链进行调整以提高其可读性
最后,本文将会介绍一种极少见的promise奇淫怪技,解决一些难以解决的又不得不解决的异步冲突
在node开发中,写完了API接口之后,往往都要进行测试,现在常用的测试模块一般都是mocha和chai,
然后我们应该有相配合的请求模块来帮助我们更好地完成断言的工作,今天要介绍的主角就是supertest
用过superagent的童鞋应该都知道,supertest的用法同样简洁优雅,本文环境基于Express,废话不说,上实战代码