1.操作系统基础
操作系统(Operation System,简称OS)是管理和控制计算机硬件与软件资源的计算机程序,是直接运行在“裸机”上的最基本的系统软件,任何其他软件都必须在操作系统的支持下才能运行。
常见的操作系统:Windows、Unit、Linux、Mac OS
MacOS很少受病毒的袭击
2.网络编程基础
HTTP:超文本传输协议(Hypertext transfer protocol)是一种详细规定了浏览器和万维网服务器之间互相通信的规则,通过因特网传送万维网文档的数据传送协议。
HTTPS:是以安全以目标的HTTP通道,简单讲是HTTP的安全版。即HTTP下加入SSL层,HTTPS的安全基础是SSL,因此加密的详细内容需要SSL。
HTTP协议的基本原理:HTTP是在客户机/服务器模式下,分为HTTP客户端和HTTP服务器两个部分,双方每次进行交互,都是由客户端发出的请求和服务器发出的相应构成。HTTP协议规定的用户使用浏览器访问万维网的过程可以总结为:
- 用户在浏览器输入需要访问网站的URL或者点击网站中某个网页链接
- 浏览器根据URL中的域名,通过DNS解析出目标网页的IP地址
- 浏览器与网页所在服务器建立TCP连接
- 浏览器发送HTTP请求报文,获取目标网页的文件
- 服务器发送HTTP响应报文,将目标网页文件发送给浏览器
- 释放TCP链接
- 浏览器将网页的内容包括文本、图像、声音等呈现在用户计算机屏幕。
当我们向服务器发送HTTP请求,获取数据、修改信息时,都需要建立TCP连接,包括三次握手,四次挥手。
3.Python性能
不同的语言有不同的侧重,python语言毫无疑问在乎编码效率,life is short, we use python。
虽然使用python的编程人员都应该接受其运行效率低的事实,但python在越来越多的领域都有广泛应用,比如科学计算、web服务器等。
python与C++的对比:
- python是动态语言
- python中一切都是对象,每个对象都需要维护引用计数,增加额外的工作。
- python GUI(Global Interpreter Lock)
- 垃圾回收,这个可能是所有具有垃圾编程语言的通病。python采用标记和分代的垃圾回收策略,每次垃圾回收都会中断正在执行的程序,造成所谓的卡顿。
4.同步异步,阻塞非阻塞
同步需要自己去轮询,异步就是中断会通知你是否已经完成。同步和异步的区别,对于操作结果来说,会不会等待结果返回。
阻塞是在中断的过程中,你不可以去干其他事。非阻塞就是在同样的情况下,可以同时去干其他的事情。阻塞与非阻塞的区别是相对于线程是否被阻塞。