文章目录

  • 1. 问题背景
  • 2. 解决方案
    • 2.1 手动刷新DNS
      • 2.1.1 Windows版本
      • 2.1.2 Mac版本
    • 2.2 手动设置DNS服务器
      • 2.2.1 Windows版
      • 2.2.2 Mac版
    • 2.3 其他解决方案
  • 3. DNS是什么?
    • 3.1 详细解释DNS
      • 3.1.1 A distributed, hierarchical database(一个分布式和分层数据库结构)
      • 3.1.2 Iterated query and Recursive query(迭代查询和递归查询)
      • 3.1.3 Caching, Updating records(缓存和记录更新)
      • 3.1.4 DNS protocol,messages

1. 问题背景

相信大家一定遇到过电脑网络连接正常,微信、QQ能正常使用,但无法访问网页这样的问题。甚至有的时候我们的浏览器可以打开大部分网页,然后部分网页之前能打开现在打不开了。这些都是DNS的问题。那这样的问题该怎么解决呢?DNS又是什么呢?这篇文章将在后面的部分讲述这两块问题。

2. 解决方案

2.1 手动刷新DNS

2.1.1 Windows版本

我们按下键盘上的win和R键打开运行,然后输入cmd后按下回车打开命令行。
在这里插入图片描述
或者我们直接打开菜单栏后在输入框里输入命令提示符找到并打开命令提示符。
在这里插入图片描述

打开后,我们输入ipconfig /flushdns按下回车后,我们就手动刷新了DNS。在这里插入图片描述
这里也会提示我们刷新成功。
在这里插入图片描述
一般来说这么操作这个问题就解决了,如果还没有解决可以参考下一个方案。

2.1.2 Mac版本

我们打开启动台,在上面的搜索中输入terminal就可以找到终端,我们点击以打开命令行。
在这里插入图片描述
然后我们输入sudo dscacheutil -flushcache后回车后,系统会要求你输入密码,这时候我们输入是无法看见内容的,我们输入密码后回车即可。
请添加图片描述
这样就手动刷新了DNS。
一般来说这么操作这个问题就解决了,如果还没有解决可以参考下一个方案。

2.2 手动设置DNS服务器

2.2.1 Windows版

我们打开菜单栏后在输入框里输入设置找到并打开设置。
在这里插入图片描述
然后点击网络和Internet,然后选择第二个以太网。
在这里插入图片描述
在这里我们能看到DNS服务器是自动寻找的,我们可以点击编辑进行修改。
在这里插入图片描述
然后将这里的自动改为手动,然后打开IPv4,输入8.8.8.8(谷歌)和1.1.1.1(Cloudflare)后点击保存。
在这里插入图片描述
然后按照方案一刷新一下DNS即可。
下面列举了一些DNS服务器的地址,大家可以优先选择国内的DNS服务器,这里由于谷歌等比较容易记忆,所以以此为例。
国内服务器DNS列表。

提供商IPv4 地址IPv6 地址DoH / DoT 备注
DNSPod(腾讯)119.29.29.29
119.28.28.28
2402:4e00::DoH: https://doh.pub/dns-query
DoT: dot.pub
阿里 AliDNS223.5.5.5
223.6.6.6
2400:3200::1
2400:3200:baba::1
DoH: https://dns.alidns.com/dns-query
DoT: dns.alidns.com
114DNS114.114.114.114
114.114.115.115
官网 https://www.114dns.com[^3^]
百度 DNS180.76.76.762400:da00::6666暂无官方 DoH/DoT
360 安全 DNS电信/移动:101.226.4.6 / 218.30.118.6
联通:123.125.81.6 / 140.207.198.6
DoH: https://doh.360.cn
DoT: dot.360.cn
国外服务器DNS列表。
提供商IPv4 地址IPv6 地址DoH / DoT 备注
----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
Google Public DNS8.8.8.8
8.8.4.4
2001:4860:4860::8888
2001:4860:4860::8844
DoH: https://dns.google/dns-query
DoT: dns.google
Cloudflare DNS1.1.1.1
1.0.0.1
2606:4700:4700::1111
2606:4700:4700::1001
DoH: https://cloudflare-dns.com/dns-query
DoT: 1dot1dot1dot1.cloudflare-dns.com
Quad99.9.9.9
149.112.112.112
2620:fe::fe
2620:fe::9
DoH: https://dns.quad9.net/dns-query
DoT: dns.quad9.net
OpenDNS(思科)208.67.222.222
208.67.220.220
2620:119:35::35
2620:119:53::53
DoH: https://doh.opendns.com/dns-query[^2^]
OpenDNS FamilyShield208.67.222.123
208.67.220.123
2620:119:35::123
2620:119:53::123
自动拦截成人内容

但其实我们一般方案一就能解决问题,我们很少会遇到自动寻找的DNS服务器出现问题的情况,如果出了问题我们也可以用这个方案解决。

2.2.2 Mac版

我们打开启动台,找到系统设置。请添加图片描述
然后点击Wi-Fi,选择连接的Wi-Fi的详细信息,会打开如下界面。
在这里插入图片描述
然后选择DNS后再点击加号然后输入自己想添加的DNS服务器,然后回车以确认,或者点击右下角的好以确认。
在这里插入图片描述
然后按照方案一刷新一下DNS即可。
下面列举了一些DNS服务器的地址,大家可以优先选择国内的DNS服务器,这里由于谷歌等比较容易记忆,所以以此为例。
国内服务器DNS列表。

提供商IPv4 地址IPv6 地址DoH / DoT 备注
DNSPod(腾讯)119.29.29.29
119.28.28.28
2402:4e00::DoH: https://doh.pub/dns-query
DoT: dot.pub
阿里 AliDNS223.5.5.5
223.6.6.6
2400:3200::1
2400:3200:baba::1
DoH: https://dns.alidns.com/dns-query
DoT: dns.alidns.com
114DNS114.114.114.114
114.114.115.115
官网 https://www.114dns.com[^3^]
百度 DNS180.76.76.762400:da00::6666暂无官方 DoH/DoT
360 安全 DNS电信/移动:101.226.4.6 / 218.30.118.6
联通:123.125.81.6 / 140.207.198.6
DoH: https://doh.360.cn
DoT: dot.360.cn
国外服务器DNS列表。
提供商IPv4 地址IPv6 地址DoH / DoT 备注
----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
Google Public DNS8.8.8.8
8.8.4.4
2001:4860:4860::8888
2001:4860:4860::8844
DoH: https://dns.google/dns-query
DoT: dns.google
Cloudflare DNS1.1.1.1
1.0.0.1
2606:4700:4700::1111
2606:4700:4700::1001
DoH: https://cloudflare-dns.com/dns-query
DoT: 1dot1dot1dot1.cloudflare-dns.com
Quad99.9.9.9
149.112.112.112
2620:fe::fe
2620:fe::9
DoH: https://dns.quad9.net/dns-query
DoT: dns.quad9.net
OpenDNS(思科)208.67.222.222
208.67.220.220
2620:119:35::35
2620:119:53::53
DoH: https://doh.opendns.com/dns-query[^2^]
OpenDNS FamilyShield208.67.222.123
208.67.220.123
2620:119:35::123
2620:119:53::123
自动拦截成人内容

但其实我们一般方案一就能解决问题,我们很少会遇到自动寻找的DNS服务器出现问题的情况,如果出了问题我们也可以用这个方案解决。

2.3 其他解决方案

当时我特别小的时候,电脑还流行装杀毒软件之类的,当时电脑装的是360安全管家,里面有一个网络工具箱,当时每次电脑没网了,用那个检测,就会跟我说是DNS问题,然后就能帮我修复了。
前面的第一种方案相当于是我们使用命令行修复这个问题,而这个方案就相当于是现在有一个软件,它提供了一个图形化的窗口,让用户只需要点击就能完成这个操作,降低了修复的难度,但实际的操作方式其实就和前两种方案是一样的。如果你觉得你的电脑经常会出问题,然后不知道怎么解决,你当然可以选择装一个安全管家之类的软件来帮助你解决问题。但是其实现在时代不断进步,电脑出现问题的几率越来越低,而且我们获得解决方案的途径也越来越方便,如果遇到问题我们可以上网找这样的解决方案,按照每一步操作,或者询问AI得到解决方案都是可以选择的方案。所以我们其实不太需要一个安全管家在我们的电脑中,这也是这篇文章希望能够帮助到大家的地方。

3. DNS是什么?

我们听说过IP地址,IP地址相当于是我们现实生活里的门牌号,它对应的才是我们在网络世界的真实位置。但是IP地址对于我们人来说是难以记忆的,因为他是数字符号组合来的,比如我们访问www.baidu.com百度的网页,其实际的IP地址是119.75.217.109,DNS服务器就负责将我们输入的网站地址如www.baidu.com翻译成IP地址119.75.217.109。DNS的作用就相当于是电话簿,我们可能记不得一些联系人的电话号码,我们将这些存在电话簿中,当我们想给张三打电话的时候,我们选择张三,DNS帮我们翻译成对应的电话号码从而将电话打给张三。
因此这个过程可能有的一个问题就是,张三换了一个号码,所以DNS翻译的号码如果还是以前的号码,那我们就无法打给张三,这就是第一个方案的操作,我们清空现在的DNS结果,让DNS给我们一个新的结果。这样DNS就会帮我们找最新张三的电话号码是多少。
当然也有可能DNS本身就不知道最新的张三的电话号码或者DNS服务器本身出现了问题,那么这就需要我们使用方案2换一个DNS服务器来看看了。

3.1 详细解释DNS

我们平时输入的一般都是www.baidu.com而不是对应的IP地址,因为IP地址难以记忆,而www.baidu.com正是domin name(域名),我们一般记忆的就是domin name(域名)。我们的电脑中有hosts文件(Windows:C:\Windows\System32\drivers\etc\目录下,Unix-like: /etc/ 目录下)记录了IP地址和域名的映射关系。所以当我们输入www.baidu.com后,电脑会在hosts文件中寻找对应的IP地址,从而建立了连接,成功访问了百度。所以这个hosts文件如何更新呢?这就要借助DNS服务器,将对应的域名解析为相应的IP地址。这便是DNS。

DNS是一种应用层协议(学习网络知识后,我们就会知道网络有多个层次),它采用客户端/服务器架构,使用UDP协议并默认端口号为53。
resolve(解析)域名又称name/address translation(名称/地址转换)的两种方式:通过本地的hosts文件或通过与name servers(名称服务器,名称服务器就是DNS服务器)通信。
DNS使用分布式数据库的方式来存储域名和IP地址的映射关系。这些数据库被实现为许多名称服务器的层次结构,这种层次结构使得DNS系统能够高效地进行域名解析,并且具有一定的容错能力和可扩展性。例如当你查询一个域名的对应IP时,一个服务器会告诉你去哪一个服务器,这个服务器可能会告诉你去下一个服务器,再下一个服务器会告诉你具体的IP地址。

DNS服务包括以下功能:
1.Hostname to IP address translation(主机名到IP地址的转换)。这一步使用Address Record(A记录)完成,它是一种在DNS数据库中的数据结构。
2.Host aliasing(主机别名),这一步将一个主机名映射到另一个主机名,从而实现主机名的别名或重定向。这一步包括Canonical names(规范名称),指向实际的主机名。还包括Alias names(别名),主机的替代名称,用于提供更易记的名称。这一步使用cname record(Canonical Name Record)完成,这种数据结构可以让多个域名指向同一个IP地址。
3.Mail server aliasing(邮件服务器别名),用于指定邮件服务器的主机名,允许邮件系统找到接收特定域名邮件的邮件服务器。它使用的数据结构是mx record(Mail Exchange Record)。
4.Load Distribution(负载均衡),DNS可以将请求分配到多个服务器,以实现负载均衡和高可用性。
5.Replicated Web servers(复制的Web服务器),多个IP地址对应一个名称,允许实现多个服务器共享同一个域名,提高网站的可靠性和性能。比如当一个服务器故障时,DNS可以停止解析到那个服务器的IP,将流量转移到其他服务器。前面负载均衡也指出了,DNS服务器会根据当前的网络状况和服务器负载来决定指向哪个IP地址。

3.1.1 A distributed, hierarchical database(一个分布式和分层数据库结构)

那我们现在说DNS的结构。如果DNS是中心化的,那么会有以下几个问题:
1.如果出现single point of failure(单点故障),整个DNS都会受到影响。
2.所有的DNS都集中在一个地方,那么这个地方将承受巨大的流量压力。
3.网络传输和距离有关,所以如果集中在一个地方,必定会存在因为距离而导致网络延迟高而解析速度慢的问题出现。
4.在维护上集中管理的维护成本也跟分散式的相比更高。
因此DNS是a distributed, hierarchical database(一个分布式和分层数据库结构)
在这里插入图片描述
首先Root DNS servers(根DNS服务器)是DNS层次结构的最顶层,它们知道所有顶级域名(如.com、.org、.edu)的权威DNS服务器的位置。
下面是一些顶级域名的权威DNS服务器,例如com DNS servers(.com域名的DNS服务器)。它们下面还管理各自顶级域名下的二级域名,例如(yahoo.com、amazon.com等)。
再下一层便是各个域名的权威DNS服务器,它们存储了各自域名下的详细DNS记录,包括A记录、CNAME记录等。

所以当一个客户端向获取www.amazon.com的IP地址时,客户端首先向根DNS服务器发送查询,请求找到负责.com域名的DNS服务器,再接着向负责.com域名的DNS服务器发送查询,请求找到负责amazon.com域名的DNS服务器,最后向amazon.com的DNS服务器发送查询,以获取www.amazon.com的具体IP地址。

回到现实应用中,当本地DNS服务器无法解析某个域名时,它会联系根域名服务器以获取帮助。如果根域名服务器不知道某个域名的映射,它会联系相应的权威名称服务器。根域名服务器获取域名到IP地址的映射。根域名服务器将获取到的映射信息返回给本地DNS服务器。
下图展示了全球13个逻辑上的根域名服务器,每个根域名服务器都有多个副本。
在这里插入图片描述
TLD servers(Top-level domain servers,顶级域名服务器)负责管理顶级域名,比如com,org,net,edu等。它还负责管理各个国家代码顶级域名,比如cn,uk,fr,ca,jp等。
Authoritative DNS servers(权威DNS服务器)是指组织自身维护的DNS服务器,用于提供对该组织命名主机的权威主机名到IP地址的映射。这些服务器可以由组织自己或者服务提供商进行维护管理。
Local DNS name server(本地DNS名称服务器)是指属于特定网络(如住宅ISP、公司、大学等)的DNS服务器,它并不严格属于DNS层次结构中的任何一级。每个ISP都会拥有自己的本地DNS名称服务器,有时也被称为“默认名称服务器”。当主机发起DNS查询时,查询会发送到它所在网络的本地DNS服务器。本地DNS服务器通常会维护一个本地缓存,其中包含最近的主机名到IP地址的映射,以便加快解析速度。然而,这些缓存中的信息可能已经过时。本地DNS服务器还充当代理,它会将查询转发到DNS层次结构中的其他级别。

3.1.2 Iterated query and Recursive query(迭代查询和递归查询)

Iterated query(迭代查询):
当一个DNS服务器不知道所请求的域名时,它会告诉请求者去询问另一个DNS服务器。
如图所示,请求主机向本地DNS服务器发送查询请求。如果本地DNS服务器不知道答案,它会向根DNS服务器发送查询。根DNS服务器告诉本地DNS服务器去询问顶级域DNS服务器。本地DNS服务器向TLD DNS服务器发送查询。TLD DNS服务器告诉本地DNS服务器去询问权威DNS服务器。本地DNS服务器向权威DNS服务器发送查询。权威DNS服务器返回域名对应的IP地址。本地DNS服务器将IP地址返回给请求主机。
在这里插入图片描述
Recursive query(递归查询)
被查询的DNS服务器(如本地DNS服务器)会代表客户端(如用户的电脑)进行后续的查询,直到找到所需的记录或确定记录不存在。
这意味着名称解析的负担被放在了被联系的DNS服务器上。服务器需要处理查询并可能进行额外的查询,这可能导致DNS层次结构的上层(如根DNS服务器和TLD DNS服务器)承受较重的负载,因为它们需要处理大量的查询请求。
如图所示,请求主机向本地DNS服务器发送查询请求。如果本地DNS服务器不知道答案,它会向根DNS服务器发送查询。根DNS服务器如果不知道答案,根DNS服务器会向TLD DNS服务器发送查询。如果TLD DNS服务器不知道答案,TLD DNS服务器会向权威DNS服务器发送查询。最后权威DNS服务器将IP地址返回给TLD DNS服务器,TLD DNS服务器将这个IP地址返回给根DNS服务器,根DNS服务器将这个IP地址返回给本地DNS服务器,本地服务器再返回给请求主机。
在这里插入图片描述
dig +trace是一个命令行工具,用于显示从客户端到权威DNS服务器的完整递归查询过程。

3.1.3 Caching, Updating records(缓存和记录更新)

一旦任何一个DNS名称服务器学习到了域名到IP地址的映射关系,它会将这些映射信息缓存起来。缓存中的条目会在一定时间后(TTL,time to live,生存时间)过期并消失。通常,顶级域名服务器的信息会被缓存在本地名称服务器中,这样就不需要经常访问根名称服务器。
然而,由于缓存中的条目可能会过时,如果某个主机的IP地址发生了变化,这个变化可能需要等到所有TTL过期后才能在整个互联网中得到更新。而我们的方案一就是手动清理所有的缓存,从而更新这里的记录。
为了解决这个问题,IETF提出了更新/通知机制的标准,其中的一个标准便是RFC 2136。

DNS是一个分布式数据库,用于存储资源记录(RR, resource records)。资源记录的格式通常为(name, value, type, ttl)。
这里如果type=A,便是A记录,代表主机地址记录,name是主机名,value是对应的IP地址。
如果type = CNAME,便是CNAME记录,指向“规范”(真实)名称,name是别名,value是规范名称,也就是真实的目标主机名。
如果type = NS,代表域名服务器记录,name是域名(例如foo.com),value是该域名的权威名称服务器的主机名。
如果type=MX,便是MX记录,代表邮件交换记录,value是与name相关联的邮件服务器的名称。

我们可以使用nslookup命令去查询一个域名对应的IP地址,如下图所示。
当我们使用不同的网络我们获得的DNS解析的IP地址可能不同,如下图所示。前两次都是使用学校的两个不同的网络查询的,它们返回的是路由器的默认网关IP地址,因为它们都是内网。而第三个不是内网,返回的IP地址就不会是前面一样的私有IP了。
在这里插入图片描述
我们还可以使用whois命令去获取域名的注册信息。如下图所示。
在这里插入图片描述

3.1.4 DNS protocol,messages

DNS的查询和回复信息共享相同的信息格式。如下图所示。
在这里插入图片描述
第一行是消息头,包含关键的元数据,用于标识和处理DNS消息。信息头包含identification(标识)和flags(标志)。Identification(标识)是一个16位的数字,用于唯一标识一个查询。当服务器回复查询时,会使用相同的标识符,以便客户端能够将回复与原始查询匹配。一个16位的数字,用于唯一标识一个查询。当服务器回复查询时,会使用相同的标识符,以便客户端能够将回复与原始查询匹配。包含多个标志位,用于控制消息的行为和状态。其中包括:
1.指示信息是查询还是回复。
2.客户端希望服务器执行递归查询。
3.服务器能够执行递归查询。
4.回复是否来自权威DNS服务器。
# questions(问题数量),表示消息中包含的查询问题数量。
# answer RRs(回答资源记录数量),表示消息中包含的答案资源记录的数量。
# authority RRs(权威资源记录数量),表示消息中包含的权威资源记录的数量,这些记录指出了哪个服务器是某个域名的权威服务器。
# additional RRs(附加资源记录数量),表示消息中包含的附加资源记录的数量,这些记录提供了额外的信息,如DNS服务器的地址。
questions,包含客户端提出的查询问题,可以有一个或多个。查询中包含域名和查询类型的字段,指定了要查询的域名和查询的资源类型(如A记录、MX记录等)。
answers,包含包含对查询问题的响应,可以有一个或多个资源记录,提供了查询域名的解析结果。
authority,提供权威信息,指出哪个DNS服务器是某个域名的权威服务器。
additional info,提供额外的DNS记录,可能包括额外的NS记录或其他类型的记录。

下图展示了wireshark抓包抓取的DNS查询数据包的具体情况。
在这里插入图片描述
第一行的Transaction ID(事务ID)等同于Identification(标识)。
下一行Flags字段中的每一位都代表一个特定的标志。细节如下:
1.QR(Query/Response):这是最高位,如果是0,则消息是查询(Query);如果是1,则消息是响应(Response)。在0x0100中,这个位是0,表示这是一个查询。
2.Opcode:接下来的4位用于指定操作码。在这里,0000表示这是一个标准查询(Standard query),意味着一个普通的请求,用于获取资源记录。
3.AA (Authoritative Answer):如果设置(1),表示响应来自权威DNS服务器。在这里,这个位是0,表示这不是权威答案。
4.TC (Truncated):如果设置(1),表示消息被截断,可能是因为响应数据太大而无法在单个UDP数据包中发送。。在这里,这个位是0,表示消息没有被截断。
5.RD (Recursion Desired):如果设置(1),表示客户端希望服务器执行递归查询。。在这里,这个位是1,表示客户端希望进行递归查询。
6.RA (Recursion Available):如果设置(1),表示服务器支持递归查询。。在这里,这个位是0,表示服务器不支持递归查询。
7.Z:保留位,通常不使用。
8.AD (Authenticated Data):如果设置(1),表示响应是经过验证的。在这里,这个位是0,表示数据未经过验证。
9.CD (Checking Disabled):如果设置(1),表示客户端不希望进行DNSSEC验证。在这里,这个位是0,表示没有禁用检查。

下图展示了与上面DNS请求相对应的回复。
在这里插入图片描述

那我现在如何向DNS插入记录呢?假设现在有一个新的网站域名 “feimax.com”
首先,你需要在DNS注册商(例如net.cn)处注册feimax.com这个域名。通常情况下,你不需要自己设置NS记录,因为注册商会为你设置好。然后,你需要向DNS中插入A记录,将feimax.com指向你的主机的IP地址,这样当有人访问feimax.com时,DNS就能够将其解析为相应的IP地址。接着,你还需要插入MX记录,用于指定与feimax.com相关联的邮件服务器的名称。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。
如若转载,请注明出处:http://www.pswp.cn/diannao/92212.shtml
繁体地址,请注明出处:http://hk.pswp.cn/diannao/92212.shtml
英文地址,请注明出处:http://en.pswp.cn/diannao/92212.shtml

如若内容造成侵权/违法违规/事实不符,请联系英文站点网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

【HTML】图片比例和外部div比例不一致,最大程度占满

图片比例和外部div比例不一致&#xff0c;最大程度占满&#xff0c;并且图片比例不变 其中1.jpg,2.jpg,1.html在同一目录 |-----|- 1.jpg|- 2.jpg|- 1.html1.jpg2.jpg<!DOCTYPE html> <html lang"en"><head><meta charset"UTF-8" /&g…

如何使用python网络爬虫批量获取公共资源数据技术

如何快速批量地获取海量公共资源数据决定了科研的效率。Python网络爬虫是快速批量获取网络数据的重要手段&#xff0c;它按照发送请求、获得页面、解析页面、下载内容、储存内容等流程&#xff1f; 一&#xff1a;Python软件的安装及入门1 Python软件安装及入门1)Anaconda软件安…

Kiro vs Cursor: AI IDE 终极对比指南

概述 随着生成式 AI 革命性地改变了我们编写代码的方式&#xff0c;新一代 AI 驱动的集成开发环境 (IDE) 正在崛起。Kiro 和 Cursor 代表了这一运动的前沿&#xff0c;但它们采用了截然不同的方法。 核心理念对比 特性AWS KiroCursor核心理念结构化开发流程 (Spec-driven)对…

Python获取网页乱码问题终极解决方案 | Python爬虫编码处理指南

在Python网络爬虫开发中&#xff0c;乱码是最常见的问题之一。本文将深入探讨乱码产生的原因&#xff0c;并提供多种有效的解决方案&#xff0c;帮助您彻底解决Python获取网页内容时的乱码问题。常见网页编码格式编码类型使用场景Python解码方式UTF-8现代网站标准编码.decode(u…

Android MTK平台预置多张静态壁纸

执行 adb shell pm list package -f wallpaper 命令&#xff0c;查看壁纸应用路径&#xff1a; /product/app/MtkWallpaperPicker/MtkWallpaperPicker.apkcom.android.wallpaperpicker 结果中带 Mtk 就可确定MTK有对应用进行重构。其源码路径在 vendor/mediatek/proprietary/…

基于Django的个人博客系统开发(开题报告)

毕业论文(设计)开题报告论文(设计)题目 基于Django的个人博客系统开发 1.选题目的和意义 随着云服务器的普及化以及编程培训机构大量涌现,学习网站开发技术以及编程技术,通过租用个人云服务器部署代码,构建个人博客网站,创建学习文档,记录学习过程,与他人交流技术学…

C++ 分配内存释放内存

C 分配内存释放内存一、new、delete、malloc和free最简单的分配内存自定义对象分配和释放内存二、new、delete与虚析构的问题三、一维、二维、多维数值创建和释放一维二维多维四、new的缺点以及连续内存的优点一、new、delete、malloc和free 最简单的分配内存 int* p_m (int*…

奥比中光深度相机开发

一、开发环境准备 1.1 硬件要求 奥比中光深度相机&#xff08;如Astra Pro、Gemini等&#xff09;USB 3.0接口&#xff08;确保数据传输稳定&#xff09;支持OpenGL的显卡&#xff08;可选&#xff0c;用于点云可视化&#xff09; 1.2 软件环境 SDK安装&#xff1a; 从奥比…

标题 “Python 网络爬虫 —— selenium库驱动浏览器

一、Selenium 库核心认知 Selenium 库是 Web 应用程序测试与自动化操作的利器 &#xff0c;能驱动浏览器&#xff08;如 Edge、Firefox 等&#xff09;执行点击、输入、打开、验证等操作 。与 Requests 库差异显著&#xff1a;Requests 库仅能获取网页原始代码&#xff0c;而 …

从实践出发--探究C/C++空类的大小,真的是1吗?

文章目录测试代码VS2022正常运行编译失败GCC总结Author: NemaleSu Data: 2025/07/21 测试环境&#xff1a; Win11&#xff1a;VS2022Ubuntu22.04&#xff1a;gcc (Ubuntu 11.4.0-1ubuntu1~22.04) 11.4.0 相信众多cpper听过太多书籍、视频、文档、博客等资料&#xff0c;说C/C…

数据结构自学Day11-- 排序算法

一、排序算法的概念排序&#xff08;Sorting&#xff09;是指&#xff1a;将一组“无序”的数据&#xff0c;按照某种“顺序规则”排列成“有序”的过程。1、按排序顺序分类&#xff1a;升序&#xff1a;从小到大排列&#xff0c;如 1, 3, 5, 7, 9降序&#xff1a;从大到小排列…

电子元器件—三极管(一篇文章搞懂电路中的三极管)(笔记)(面试考试必备知识点)

三极管的定义及工作原理1. 定义三极管&#xff08;Transistor&#xff09;是一种具有三层半导体材料&#xff08;P-N-P 或 N-P-N&#xff09;构成的半导体器件&#xff0c;用于信号放大、开关控制和信号调制等应用。三极管有三个引脚&#xff1a;发射极&#xff08;Emitter&…

数据结构之克鲁斯卡尔算法

前言&#xff1a;和Prim算法一样&#xff0c;Kruskal 算法也是用来生成最小生成树的&#xff0c;这篇文章来学习一下Kruskal算法的实现 一、实现流程 初始化的时候&#xff0c;将所有的边用一个数组存储&#xff0c;并且按权值从小到大进行排序&#xff0c;每次选一个权值最小的…

MongoDB 查询时区问题

MongoDB默认时区是UTC&#xff0c;比北京时区晚八小时&#xff0c;北京时间UTC8h。 // 北京时间的 2024-10-01 08:00:00 // (>) 大于 - $gt // (<) 小于 - $lt // (>) 大于等于 - $gte // (< ) 小于等于 - $lte// Z代表UTC时区1、{"gmtCreate":{"$…

Windows VS2019 编译 Apache Thrift 0.15.0

随着微服务架构的普及,高效的跨语言远程过程调用(RPC) 成为了构建分布式系统的重要基础。Apache Thrift 是 Facebook 开源的一个轻量级、高性能的 RPC 框架,它允许开发者通过一个通用的接口定义语言(IDL)来定义服务接口和数据结构,并自动生成多种语言的客户端和服务端代…

搭建种草商城框架指南

一、引言在当今电商市场&#xff0c;种草商城以其独特的社交化购物模式受到越来越多用户的喜爱。搭建一个功能完善、体验良好的种草商城框架&#xff0c;需要综合考虑前端界面、后端服务、数据库设计等多个方面。本文将为你详细介绍搭建种草商城框架的关键要点和技术选型。二、…

docker--挂载

设置容器的挂载 需要注意 挂载行为会覆盖容器目标目录的原有内容(未验证)。 查看容器的挂载情况 在容器外部查看: docker inspect <容器名或容器ID> | grep -A n "Mounts" -A n 的含义 -A 是 --after-context 的缩写,表示显示匹配行及其后 n 行。 "Mo…

以Streamable HTTP方式访问mcp server的过程

一、mcp server 部署 使用fastmcp框架 部署 mcp server&#xff0c; 以下是源代码 # 引入 fastmcp 依赖包 from fastmcp import FastMCP# 新建fastmcp实例&#xff0c; 名字叫做 weather mcp FastMCP("weather")mcp.tool(name"weather", tags{"weath…

二次元 IP 虚拟数字人宣传:漫画角色动态直播与衍生周边预售联动

当漫画角色从静态画稿中走出&#xff0c;以动态直播的形式与粉丝实时互动&#xff0c;再顺势开启衍生周边预售 —— 虚拟数字人技术正重塑二次元 IP 的宣传逻辑。这种 “动态直播 周边预售” 的联动模式&#xff0c;不仅打破了次元壁&#xff0c;更让 IP 热度高效转化为商业价…

如何在服务器上获取Linux目录大小

目前我在管理一台hostease的服务器时遇到服务器磁盘空间不足的情况。随着在系统中添加更多文件&#xff0c;这些系统文件目录也变得越来越大。过大的目录也消耗了系统资源&#xff0c;导致系统运行缓慢。后来我通过下列的方法对服务器上的磁盘空间使用进行了逐一检查。在这篇综…