第一周总结

星期一

1.认识计算机

  计算机的工作必须依赖于"电",而电信号只有高低电频两种状态

  也就意味着计算机也只能识别两种状态,为了理解方便人类将高低电频两种状态用数字0和1来表示

2.计算机的存储单位

  0:一位二进制位(bit 比特位)

  01:两位二进制位

  001:三位二进制位

  单位换算

  8bit = 1bytes # 字节
  1024bytes = 1KB
  1024KB = 1MB
  1024MB = 1GB
  1024GB = 1TB
  1024TB = 1PB

3.计算机是由哪两部分组成的?

  一台完整的计算机由硬件系统和软件系统组成

  硬件:可以看得到,摸得到的物件,是一个具体的实物

  软件:看不到,摸不到的程序,不是一个具体的实物(代码)

4.硬件是由哪些部件组成的?

 

  1.控制器

  控制计算机各个硬件的工作 类似于人的大脑控制肢体动作

  2.运算器

  控制数学运算和逻辑运算 类似于人的大脑思考解决问题

  数学运算:加减乘除等数学类计算问题

  逻辑运算:根据条件判断是否可行

  3.存储器

  保存数据的地方

  4.输入设备

  往计算机内部传递信息的设备

  5.输出设备

  计算机往外部传递信息的设备

5.软件可以分为哪些软件?

  软件分为系统软件和应用软件

  系统软件

  系统软件是指控制和协调计算机及外部设备,支持应用软件开发和运行的系统

  ps:每台计算机都必须有一个系统软件(操作系统)、

  应用软件

  应用软件其实就是我们日常生活所使用到的各个公司出版发行的软件

 计算机三层架构

  应用程序——操作系统——计算机硬件

  应用程序和计算机硬件之间必须通过操作系统连接,没有操作系统所有程序都无法运行。

  所有程序员编写的应用程序都是基于操作系统之上的

字符编码的概念

人为的规定01010的二进制与人类字符的对应关系>>>"字符编码表"

  ASCII码表

  记录了英文字符与数字的对应关系

  用一个字节来表示英文字符

  1bytes = 8bit  # 2的八次方 256

  GBK编码表

  记录了中文字符、英文字符与数字对应关系

  用两个字节来表示中文 一个字节表示英文字符

  2bytes = 16bit # 2的十六次方 65536

  unicode编码表(万国码)

  内部兼容万国语言

  所有的字符全部采用2bytes来表示 如果不够则增加位数

  那么会出现一个问题 针对纯英文的文本数据原本只需要比如1G的容量

  那么采用了unicode之后就需要2G的容量 读取文件的时间也翻倍了

  utf8编码(unicode转换版本)

  会对unicode编码做优化

  英文还是用1bytes来表示

  内存使用unicode兼容万国 存储到硬盘使用utf8节省资源

  该阶段的计算机不同国家也可以无障碍的交互

编码与解码

  编码

  将人类能够读懂的字符按照指定的编码编译成计算机能够读懂的数字

  解码

  将计算机能够读懂的数字按照指定的编码表翻译成人类能够读懂的字符

  数据基于网络传输必须是二进制形式

  解决文件乱码的核心就在于

  当初以什么编码存的就以什么编码解

星期二

通信

通信必须要有一个物理连接介质(网线,网卡,信号收发器等)

  1.早期联机

  想要通信就要彼此插一根网线(不方便)

  2.交换机

  交换机能够确保所有连接进来的计算机彼此之间是互联的

  由交换机组成的群体被称为局域网

  广播与单播

  某一计算机像交换机发送讯息,所有连接交换机的机器都能接收到。但只要消息的目标对象才会有所回应

  3.路由器

  能够实现不同局域网之间计算机数据的交互(上网)

  4.互联网

  就是很多局域网组成的

  上网:通过网线访问其他计算机上面资源的过程,其他计算机一般指的是服务器(特殊计算机)

网络相关协议

  1.以太网协议

  规定了每一台计算机在出厂的时候都必须有一块网卡,并且网卡上面必须有串数字编号(相当于机器的身份证号)

  被称为mac地址(基于mac地址可以在局域网内完成通信,但是容易产生广播风暴)

  2.ip协议

  规定了接入互联网的计算机都必须有一个ip地址

  ip地址证明了该计算机的身份,但ip地址是可变的

  ps:如何查看当前计算机的ip地址

  windows + r —— 输入cmd ——确认

  基于ip地址可以跨局域网完成通信

  ip地址范围:0.0.0.0~255.255.255.255(ipv4版本)

  为防止ipv4的地址数量不够用,地址数量更多的ipv6正在研究中。

  重点

  在浏览器里面输入www.baidu,com其实内部自动转换成了一个ip地址

  180.101.49.12

  www.baidu.com的存在是为了方便记忆

  DNS服务器

  用来进行域名(网址)解析,可以将网址解析成对应的ip地址

  3.端口协议

  端口号(port)

  范围:0~65535  0~1024之间默认是操作系统内部需要使用的

           1024~8000之间是常用软件的端口号

  (3306MySQL,5000Flask/酷狗,8000Django)

  用来标识一台计算机上面的不同程序

  端口号是动态分配的(每一次打开软件的端口号都有可能不同,但同一时间同一计算机的同一端口号不可能被两个程序占用)

  IP地址:用于标识世界上唯一一台接入互联网的计算机

  PORT号:用于标识一台计算机上面的某一个应用程序

  IP+PORT:能够定位到接入互联网的一台计算机上面的某一个具体的应用程序

OSI七层协议

该协议规定了生产计算机的厂商在计算机内必须要具备一些相同的设施

  OSI七层:应用层,表示层,会话层,传输层。网络层,数据链路层,物理连接层

  简化成五层:应用层,传输层,网络层,数据链路层,物理连接层

  1.物理连接层:物理连接介质(网线口,网卡等)

  2.数据链路层:传递二进制数据(内部规定了二进制数据的切割方式)

  3.网络层:ip协议与port协议

  4.传输层:TCP协议与UDP协议(先忽略)

  5.应用层:程序员自己可以定制自己的交互方式和协议(HTTP协议,FTP协议等)

补充:ARP协议(针对IP地址与MAC地址的转换)

 

 

星期三

windows DOS命令

可以不依靠鼠标直接用键盘操作计算机

1.如何进入DOS命令终端

windows + r 输入 cmd 按 enter 进入即可

DOS命令终端也有权限的概念

1.上述方式是以普通用户的形式进入 有一些命令无法执行

2.管理员身份进入 可以执行所有的命令

左下方点击搜索输入cmd点击以管理员身份运行

 2.什么是路径

路径就相当于是一个资源的位置坐标

# 打开cmd终端都会默认有一个起始路径 相当于你现在所在的位置

 3.切换路径的命令关键字是cd

cd A——切换到文件夹A内

cd ..——回退到上一级目录

cd ..\..——回退到上一级的上一级目录

(以此类推)

cd A\B\C——一次进入文件夹A中的文件夹B中的文件夹C

C:  或  cd C:\A\B——切换到不同盘

找到相应的文件a.txt并打开——1.如果a.txt在当前路径下输入a.txt

              2.如果a.txt不在当前路径下1.先切换到a.txt所在的路径

                          2.使用a.txt的绝对路径D:\a.txt

 path——查看当前计算机的环境变量

 绝对路径和相对路径

路径:用来表示某个资源的坐标位置(相当于现实中的物理位置)

绝对路径

不需要有任何的参考系 该路径给任何人都可以找到相应的资源

eg:

  Jason老师在"地球 中国 上海 嘉定 华江公路 XXX大厦三楼315"

  D:\A\B\C

相对路径

需要有一个参考系 该路径并不是所有人都可以找到相应的资源

eg:
  老王问小李Jason在哪"在隔壁教室"
  a.txt

在操作命令之前一定要先确定你当前在哪个位置

1.如果待操作的内容不在当前路径需要使用绝对路径

2.如果待操作的内容就在当前路径则只需要相对路径

环境变量

以文件a.txt为例

 

当我们在cmd终端输入文件名称之后

会先在当前路径下查找该文件如果没有

则去计算机系统环境变量中所有的路径下查找

如果还没有才会报错

如果手动添加环境变量(重点)

1.右键"我的电脑"点击属性

2.点击右侧高级系统设置

3.在弹出框中点击环境变量

4.在下方查看变量名为path的双击

5.弹出的数据就是当前你的计算机环境变量 点击新建添加

6.拷贝绝对路径添加即可(依次确定即可)

7.一定要查询打开一个cmd窗口(之前的无法响应改变)

win10系统环境变量与环境变量自动分开

win7系统所有的环境变量都在一行使用分号分割

针对win7环境变量的添加 先移到末尾检查前面是否有分号

没有的话加上分号再拷贝你的路径之后再加一个分号结束

eg:

XXX;YYY;ZZZ;新创建的路径;(分号一定要是英文输入法的)

查看类型

dir——查看当前路径下的所有文件和文件夹

(结果带有'DIF'的表示文件夹,其他的表示文件)

dir 绝对路径/相对路径——查看目标路径下的文件和文件夹

dir *.txt——查找所有后缀名是txt的文件

dir *.mp4——查找所有后缀名是mp4的文件

(*很多情况下表示'所有的...')

 文件目录相关

1.去D盘aaa文件夹内创建一个bbb文件夹

先切换到该文件夹内再创建

也可以使用绝对路径创建

mkdir bbb

(mkdir——创建文件夹)

2.删除刚刚创建的文件夹

rmdir bbb

(rmdir——删除空的文件夹)

(rmdir /s——删除文件夹和里面的所有内容,会提醒)

(rmdir /s /q——删除文件夹和里面的所有内容,不提醒)

 

磁盘盘符

wmic logicaldisk get name——查看当前计算机所有的盘符名称

 查看目录结构

tree——查看当前路径下所有目录的目录结构

tree /f——查看文件夹及文件

操作界面样式

color+数字字母——改变操作界面颜色

补充

cls——清空当前屏幕内容

help 命令——查看某一命令的使用方法

方向键上下——重复之前的命令

end——光标移动到命令的末尾

home——光标移动到命令的开头

ctrl+方向键左右——以单词为单位移动

ctrl+c——终止正在执行的操作

星期四

1.文件属性

(在使用命令修改完之后 针对命令操作生效 如果切换成鼠标操作则无效)

attrib /?——查看所有帮助,help也可以

attrib——查看所有文件属性

attrib +r a.txt——设置文件为只读

attrib +h b.txt——设置隐藏文件

attrib +s c.txt——设置系统文件

2.文件其他操作

del a.txt——删除文件

echo 文本内容>文件名称——往文件中写入内容(替换写)

echo文本内容>>文件名称——往文件中写入内容(追加写)

type a.txt——查看文件内容(在终端中显示)

写入的内容可以自定义

dir>a.txt——将dir的命令结果写入d.txt

ipconfig>a.txt——将ipconfig的命令结果写入d.txt

copy 目标文件 目标位置——拷贝文件(只能拷贝文件)

copy 目标文件夹 目标位置——将目标文件夹内的文件拷贝出去

xcopy(比copy功能更强大,既可以拷贝文件也可以拷贝文件夹)

可通过help查看(比如/s,/e)

move 目标文件 文件位置——剪切文件至指定位置

rename oldname newname——重命名文件

补充命令

tasklist——查看当前计算机上正在运行的服务

(该结果中有一个重要参数:PID进程号)

taskkill——终止正在运行的服务(输入该服务的PID进程号)

(详细使用可使用help查询)

并罚程序

1.操作系统发展进程

1.1.穿孔卡片:同一个房间同一时间只能有一个程序员运行自己的程序,其他人在外面等,直到前一个人运行完毕出来(效率极低)

1.2.联机批处理系统:一次性录入过个程序员的程序

1.3.脱机批处理系统:有了卫星机的概念(效率更高)

2.多道技术

1.串行

程序必须一个个排队执行 消耗的时间是每个程序时间的总和

2.多道(并发)

由多道技术演变而来

  1.快速切换

  2.保存状态

  CPU运行速度极快 可以在任务的间歇保存当前任务的状态去做其他事情

  之后再回来接着上一次任务的结尾继续往后操作

(并发:看起来像同时执行就可以称之为并发,实际上还是单个CPU运行)

3.并行
同一时间同时执行

(多个CPU同时运行,单个CPU不能实现)

星期五

并发编程之进程

什么是程序?

  就是一堆编码产生的文件(躺在硬盘上是“死的”)

什么是进程?

  在内存中正在运行的程序(存在内存中是“活的”)

(发明进程的目的是为了更好地描述正在运行的程序)

计算机通过分配不同的端口号管理不同的进程,多个正在运行的同名程序也算多个不同的进程

进程与进程之间彼此是隔离的,默认情况下不呢能相互交互数据

进程的调度

进度调整的发展史

  1.先来先服务(FCFS)

    哪个程序先启动就先运行谁,后面的程序排队等着

  2.短作业优先调度

    耗时较短的优先服务,耗时较长的延后服务(利于短作业不利于长作业)

  3.时间片与多级反馈队列(最优解)

同步与异步(描述任务的提交方式)

同步:

  提交一个任务后原地等待任务的结果,期间不做任何事情

异步:

  提交一个任务之后不愿地等待任务的结果,直接去做其他的事情

等任务有结果之后会自动通过回调机制告诉提交者

综上所述,异步在执行任务的时候效率高于同步

 阻塞与非阻塞(描述任务的执行状态)

 

 阻塞:

  阻塞(软件自身暂时不需要使用)

非阻塞:

  就绪态  运行态

任务的运行必须是先进入就绪态才能变为运行态

  就绪态>运行态>就绪态>运行态

  就绪态>运行态>阻塞态>就绪态(运行顺序重新开始结算)>运行态

(可以类比成超市购物排队结账的过程)

综上所述

效率最高的是:异步非阻塞  效率最低的是:同步阻塞

(程序员在开发软件的时候应该尽量让自己的程序达到异步非阻塞)

进程的结束与创建

进程的创建

  1.双击一个软件图标

  2.命令创建

  3.代码创建

进程的结束

  1.点击关闭进程

  2.命令结束(taskkill)

  3.代码结束(了解)

并发编程之线程

其实我们前面所学习的进程是一个资源单位

真正与CPU交互工作的是进程里面的线程

(进程相当于车间,线程相当于车间里面的流水线

进程提供给线程运行必须的所有资源)

同一个进程内可以运行多个线程,并且多个线程之间数据是共享的

每一个进程默认都会自带最少一个线程

eg:运行一个word编辑器,该word编辑器在内存中就是一个进程

word编辑器包含的所有功能(打字功能,保存功能,翻译功能)

每一个功能运行都相当于一条线程,但所有线程共属于word编辑器这一个进程

前端

什么是前端?

  任何与用户直接打交道的操作界面都可以称之为“前端”

  (手机界面,电脑界面,淘宝界面,支付宝界面...)

什么是后端?

  不直接与用户打交道的称之为“后端”(程序员写的代码)

  (python代码,java代码,c++代码,php代码)

前端三剑客

  HTML:网页的骨架

  CSS:网页的样式

  JavaScript:网页的动态效果 事件处理等

ps:无论是专业前端还是业余前端都必须要学习三剑客

前端是特别好学的 所见即所得

谷歌浏览器相关操作

(IT行业推荐使用谷歌浏览器)

1.下载完谷歌之后修改默认的搜索引擎

2.如何查看网页源代码

  鼠标右键点击查看网页源码

3.如何查看浏览器优化之后的源代码

  1.鼠标点击检查选择elements标签页

  2.直接按键盘的F12弹出选择elements标签页

谷歌浏览器标签页说明

1.elements用于查看优化之后的网页代码

2.console支持直接编写JS代码,类似于一个输出设置

3.sources记录浏览器请求所有的资源文件(后面网络爬虫需要学习)

4.network记录浏览器所有的网络请求(后面网络爬虫需要学习,重点)

5.Application提供额外的储存相关概念(后面网络爬虫需要学习cookies)

 

1.如何查看页面上某个内容的代码本质

  先点击标签页最左边的按钮,之后悬浮到想要查看的位置,再次点击即可点位

2.如何修改弹出框的位置

  点击右侧三个点选择相应的样式即可

 前端之HTML

HTML:超文本标记语言

(所有网页其实也是文件,并且以.html结尾)

HTML文件固定语法结构

<html>

  <head>主要书写给浏览器看的内容</head>

  <body>主要书写展示给用户的内容</body>

</html>

注释

  注释的意思是对一段代码的解释,不参与运行只是解释说明

  html中注释的语法是(存储html的文件后缀名是.html)

    <!--注释内容-->

  css中的注释语法是(存储css的文件后缀名是.css)

    /*注释内容*/

  JS中的注释语法是(存储js的文件后缀名是.js)

    // 注释内容

也可以在html文件内通过标签的方式直接书写其他语言

(不同的语言,不同的文件,使用的注释可能都不同)

网页的本质

<!DOCTYPR html>
<html>
<head>
<title>这是我的网页</title>
<style>
<!--style标签内部支持直接书写css代码-->
<!--script标签内部支持直接书写JS代码-->
h1 {
color:red<!--style没用啊这个-->
}
</style>
<script>
alert('99.99...%')<!--script中文和符号都不行,加''的话可以=v=-->
</script>
</head>
<body>
<h1>这是一个h1标签</h1>
<h2>这是一个h2标签</h2>
<h3>这是一个h3标签</h3>
<a href='https://www.cnblogs.com/wyhb/'>点我去博客园</a>
<img src='https://pic.cnblogs.com/avatar/2473958/20210722122805.png' />
</body>
</html>

 

posted @ 2021-08-01 20:03  雾雨黑白  阅读(45)  评论(0编辑  收藏  举报