a tool (written instructions) you use to tell the computer what to do
客户端 client iOS程序 安卓程序 window程序 Mac客户端
服务端 sever 电脑用来对外提供服务 服务器
前端: html css javascript swift c#
后端: shell python php java go rust c/c++
全栈: 前端+后端
abstraction 抽象
data structure 数据结构
string
number
array
object or dictionary
flow control 流程
if
if / else
while /for
HTML
CSS:
JavaScript
更多
https://developer.mozilla.org/en-US/docs/Web/HTML
https://developer.mozilla.org/en-US/docs/Web/CSS
https://developer.mozilla.org/en-US/docs/Web/JavaScript
Python
PHP
Ruby
JavaScript
Go
Java
C++
C#
更多
https://www.python.org/
https://www.ruby-lang.org/en/
http://www.php.net/
https://nodejs.org/en/
https://golang.org/
Python 算法 数据处理 web应用
Java 分布式系统 大数据 流式计算
Go 高并发应用 微服务
C/C++ 操作系统 嵌入式 高性能服务
PHP web应用 服务器脚本
基于c语言实现,CPython
编译compiler -> 解释 tokenizer -> 解析parser -> pyc文件 生成字节码文件 -> 运行 run
经历了域名解析、TCP的三次握手、建立TCP连接后发起HTTP请求、服务器响应HTTP请求、浏览器解析html代码,同时请求html代码中的资源(如js、css、图片等)、最后浏览器对页面进行渲染并呈现给用户。
1. 域名解析
2. TCP的三次握手
3. HTTP请求
4. 浏览器解析html,css,js代码,并请求html代码中的资源
Memory内存储器和主存储器,其作用是用于暂时存放CPU中的运算数据,以及与硬盘等外部存储器交换的数据。只要计算机在运行中,操作系统就会把需要运算的数据从内存调到CPU中进行运算,当运算完成后CPU再将结果传送出来,内存的运行也决定了计算机的稳定运行。
堆栈是一种数据结构。堆栈都是一种数据项按序排列的数据结构,只能在一端(称为栈顶(top))对数据项进行插入和删除。在单片机应用中,堆栈是个特殊的存储区,主要功能是暂时存放数据和地址,通常用来保护断点和现场。
堆(stock):操作系统自动分配释放,存放函数的参数值,局部变量的值等.堆可以被看成是一棵树,如:堆排序。堆是向高地址扩展的数据结构,是不连续的内存区域。栈是向低地址扩展的数据结构,是一块连续的内存的区域。栈顶的地址和栈的最大容量是系统预先规定好的。
栈(heap):一般由程序员分配释放, 若程序员不释放,程序结束时可能由OS(操作系统)回收.一种先进后出的数据结构。
Socket(套接字)可以看成是两个网络应用程序进行通信时,各自通信连接中的端点,这是一个逻辑上的概念。它是网络环境中进程间通信的API(应用程序编程接口),也是可以被命名和寻址的通信端点,使用中的每一个套接字都有其类型和一个与之相连进程。
(1)服务器监听。
(2)客户端请求。
(3)连接确认。
packet capture:将网络传输发送与接收的数据包进行截获、重发、编辑、转存等操作,也用来检查网络安全。抓包也经常被用来进行数据截取等。
数据在网络上是以很小的称为帧(Frame)的单位传输的,帧由几部分组成,不同的部分执行不同的功能。帧通过特定的称为网络驱动程序的软件进行成型,然后通过网卡发送到网线上,通过网线到达它们的目的机器,在目的机器的一端执行相反的过程。接收端机器的以太网卡捕获到这些帧,并告诉操作系统帧已到达,然后对其进行存储。就是在这个传输和接收的过程中,嗅探器会带来安全方面的问题。
工具:wireshark,Fiddler,Sniffer,postman。
environment variables:给系统或用户应用程序设置的一些参数,具体起什么作用这当然和具体的环境变量相关。
Linux:/etc/profile, .bashrc。profile文件和.bashrc文件的区别:两个profile都只在系统启动时被读取一次,而.bashrc在系统启动和每次调用shell的时候都要被读取。
进程Process:计算机中的程序关于某数据集合上的一次运行活动,是系统进行资源分配和调度的基本单位,是操作系统结构的基础。程序是指令、数据及其组织形式的描述,进程是程序的实体。
第一,进程是一个实体。每一个进程都有它自己的地址空间,包括文本区域(text region)、数据区域(data region)和堆栈(stack region)。文本区域存储处理器执行的代码;数据区域存储变量和进程执行期间使用的动态分配的内存;堆栈区域存储着活动过程调用的指令和本地变量。第二,进程是一个“执行中的程序”。程序是一个没有生命的实体,只有处理器赋予程序生命时(操作系统执行之),它才能成为一个活动的实体,我们称其为进程。就绪状态(Ready),运行状态(Running),阻塞状态(Blocked)。
线程thread:操作系统能够进行运算调度的最小单位。它被包含在进程之中,是进程中的实际运作单位。一条线程指的是进程中一个单一顺序的控制流,一个进程中可以并发多个线程,每条线程并行执行不同的任务。
线程的基本操作:
派生:线程在进程内派生出来,它即可由进程派生,也可由线程派生。
阻塞(Block):如果一个线程在执行过程中需要等待某个事件发生,则被阻塞。
激活(unblock):如果阻塞线程的事件发生,则该线程被激活并进入就绪队列。
调度(schedule):选择一个就绪线程进入执行状态。
结束(Finish):如果一个线程执行结束,它的寄存器上下文以及堆栈内容等将被释放。
协程coroutine:
sql
excel
python
工具:powner bi, tablue