一个月已经过了三分之二了,感觉这个月是在学校学的很多。也是最充实的三个星期。其中也有发呆,也有过懊悔,今天状态为什么这么差,就学了这一点。但是还有学到知识的喜悦。总之是认识到了自己的很多不足,也找到了相对正确的学习方向。
学习内容 看书 刷题 写博客 看java视频。
书籍:也是看完了计算机网络的《自顶向下的方法》 ,书很不错,现在是再看操作系统的《深入理解计算机系统》第二章。这本书是真的无聊,还有很厚,只能慢慢来吧。
书籍具体内容:内容太多了就简单总结一点重点吧
第1章计算机网络和因特网
ISP,全称Internet Service Provider,即互联网服务提供商,是提供互联网接入服务的商业机构。ISP提供多种形式的服务,包括个人家庭的宽带接入、公司的网络接入、虚拟专用网络(VPN)、托管服务等。
ISP的主要功能包括:
-
提供互联网接入:这是ISP的主要功能,通过各种方式(例如拨号、DSL、光纤、卫星等)提供互联网接入服务。
-
提供相关服务:除了互联网接入,许多ISP还提供如电子邮件、网页托管、云存储等其它服务。
-
IP地址分配:ISP负责向用户分配IP地址,这是用户能够上网的关键因素之一。
-
域名解析:ISP通常还运行DNS服务器,帮助用户进行域名解析,将网址转换为实际的IP地址。
-
数据传输:ISP通过拥有的大量网络基础设施,负责将用户的数据传输到全球的其他网络和服务器。
ISP可以按照规模和服务对象分为不同的级别:
-
第一层ISP(Tier 1 ISP):这些ISP拥有遍布全球的网络基础设施,可以直接访问全球所有的网络区域,不需要通过其他ISP的网络。
-
第二层ISP(Tier 2 ISP):这些ISP拥有一部分自己的网络基础设施,但在某些区域可能需要通过与第一层ISP的互联协议来接入互联网。
-
第三层ISP(Tier 3 ISP):这些ISP通常主要服务于地方性的用户,他们通常需要通过与第二层或第一层ISP的互联协议来接入互联网。
ISP在构建互联网的全球网络结构中扮演着重要的角色,它们通过互联网络协议和路由协议,将全球范围内的网络连接在一起,使得互联网成为一个全球性的网络。
中国的电信运营商,如中国移动、中国联通、中国电信,通常被认为是第一层ISP(Tier 1 ISP)。这些公司拥有自己的大规模网络基础设施,并且通过互联网络协议(IP)和多协议标签交换(MPLS)等技术,连接了中国的各个城市和地区,以及与世界其他地方的连接点。
这些公司独立地管理和控制他们的网络,并且他们的网络覆盖了中国的大部分地区,使得他们的用户能够直接访问互联网。此外,他们也通过与其他第一层ISP的互联网络协议,使得他们的用户能够访问全球的互联网。
然而,值得注意的是,"第一层ISP"这个术语在不同的语境中可能有不同的定义。在一些定义中,只有那些能够无支付对等互联费用,直接与所有其他第一层ISP进行互联的ISP,才被认为是第一层ISP。在这个定义下,全球只有少数的ISP被认为是第一层ISP。
第二章应用层
学DNS时老是当成地址解析协议,但实际上是域名查询与传输协议。ARP才是地址解析协议
详细是:本文链接:DNS 功能详解 不叫地址解析协议_昊 昊的博客-CSDN博客
还有一个套接字,现在也不是很清楚这东西
套接字(Socket)是计算机网络中的一个抽象概念,用于描述两个网络节点(例如,两台计算机)之间的网络连接。它提供了一种在网络上进行数据交换的方式,使得不同的计算机之间可以进行通信。
在编程中,套接字通常指的是提供网络服务或者连接网络服务的编程接口。它常常用于实现各种网络协议,如TCP、UDP等。
套接字的主要作用有以下几点:
建立网络连接:套接字可以在两台计算机之间建立网络连接,使得数据可以在这两台计算机之间进行传输。
数据传输:套接字提供了发送和接收数据的方法。在网络连接建立之后,你可以使用套接字发送数据,也可以接收来自对方的数据。
网络编程:套接字是网络编程的基础。无论你是想要创建一个Web服务器,还是想要创建一个聊天程序,你都会需要使用到套接字。
本文链接:套接字的使用_昊 昊的博客-CSDN博客
第三章 运输层
本文链接:IP TCP UDP 作用_昊 昊的博客-CSDN博客
本文链接:
TCP UDP报文段的详细解释_昊 昊的博客-CSDN博客
第四章 不写了太浪费时间了 。。。 准备单独开一个合集 就这个暑假 。。。
在写一个重点的
当你在电脑上向同学发送一条QQ信息:
-
应用层 - QQ软件:首先,你在QQ的聊天窗口输入消息并点击发送。QQ软件将你的消息进行封装,这可能包括添加一些元数据,如发送者和接收者的信息,消息的时间戳等,然后使用某种协议(如HTTP或者是腾讯自己的私有协议)将这个封装后的消息发送到服务器。
-
传输层 - TCP/UDP:QQ软件将封装后的数据发送给操作系统的网络模块。在这个阶段,数据会被切片成一个个数据包,每个数据包都会被附上一个标头,包含如目标和源IP地址,目标和源端口号等信息。QQ可能会根据实际情况选择TCP或UDP来进行数据传输。TCP提供了一种可靠的数据传输方式,保证所有数据包都能按顺序到达目标,而UDP则是一种无连接的协议,它发送数据包时不保证数据包能够到达目标。
-
网络层 - IP:这一层主要负责将数据包发送到目标IP地址。你的电脑会首先查看数据包的目标IP地址,如果目标IP地址和你电脑的IP地址不在同一个网络中,那么数据包将会被发送到你的默认网关(通常是你的路由器)。
-
链路层 - Ethernet/Wi-Fi:这一层负责将数据包从你的电脑发送到路由器。如果你的电脑通过Wi-Fi连接到路由器,那么数据包将通过无线电波发送;如果你的电脑通过Ethernet线(网线)连接到路由器,那么数据包将通过电线发送。
-
物理层 - 电线/无线电波:在这一层,数据包被转换为可以在物理媒介(如电线或无线电波)上进行传输的信号。例如,如果你的电脑通过Ethernet线连接到路由器,那么数据包将被转换为电信号通过电线发送;如果你的电脑通过Wi-Fi连接到路由器,那么数据包将被转换为无线电信号通过空气发送。
-
路由器:路由器收到你的电脑发送的数据包后,会查看数据包的目标IP地址,并通过路由表确定如何将数据包发送到目标IP地址。路由器可能会将数据包发送到另一个路由器,或者直接发送到你的ISP。
-
ISP - 互联网服务提供商:数据包通过你的ISP的网络,经过一系列的路由器和交换机,最终到达QQ服务器所在的网络。
-
QQ服务器:服务器接收到数据包,然后将数据包重新组合成原始的消息。然后,服务器会将消息发送到你的同学的QQ客户端。
-
你同学的QQ客户端:你的同学的QQ客户端接收到消息,然后在聊天窗口显示出来。
刷题:这几周刷了我过去半年的题,之前就怎么不刷题呢,就不重视呢,感觉之前像个s*。
leedcode从11号开始刷到今天每日一题没有断过。如果没有意外的话,每天都会刷,直到找到工作,有时候刷每日一题,不是为了学一个知识点,更多是为了养成好习惯。
大概刷了41一题左右吧! 但是总结做的不是很好,遇到相同类型的题可能还是写不出来。
这点后面需要注意!
52. N 皇后 II
循环加回溯,遍历每个点,进行回溯。如果这个点满足条件的话,就将点初始化位Q,当Q为n个时就NL++;
class Solution {
public:int totalNQueens(int n) {vector<string> res(n,string(n,'.'));int NL=0;slove(res,0,n,NL);return NL; }
void slove(vector<string>&res,int level,int n,int &NL)
{if(level==n){NL++;return ; }for(int i=0;i<n;i++){if(slove1(res,level,i)){res[level][i]='Q';slove(res,level+1,n,NL);res[level][i]='.';}}
}
bool slove1(const vector<string>&res,int i,int j)
{ int num=res.size();for(int n=0;n<num;n++){if(res[n][j]=='Q'){return false;}}for (int a=i,b=j;a>=0&&b>=0;a--,b--){if(res[a][b]=='Q')return false;} for(int a=i,b=j;a>=0&&b<num;a--,b++){if(res[a][b]=='Q')return false;}return true;
}};
写博客
这几周写的博客赶上我之前写的总和了,写了近30篇, 哈哈哈 但是不知道为啥写的没有人看!为什么呢???是不是我写的太水了呢
倒是积分涨了很多 都赶上过去的总和了。哈哈哈
倒是在这个拿了个小地方的第一
4 还有就是无聊的时候会看看java的基础视频 我们大三的时候好像要开java课程
这个java有意思 解闷很好用,很快哈 一会就看完一个视频。我说java你好自为之,我是要投入 c++的怀抱的。
最后最后,继续加油!