[计算机网络]一. 计算机网络概论第一部分
作者申明:作者所有文章借助了各个渠道的图片视频以及资料,在此致谢。作者所有文章不用于盈利,只是用于个人学习。
1.0推荐动画
【网络】半小时看懂<计算机网络>_哔哩哔哩_bilibili
1.1计算机网络在信息时代的作用
在当今信息时代,计算机网络已经成为社会、经济、科技和文化发展的重要基石。计算机网络不仅改变了人们的生活方式和沟通方式,还在各行各业中发挥着至关重要的作用。以下是计算机网络在信息时代的主要作用:
1. 信息获取与共享
- 互联网信息获取:
- 计算机网络,尤其是互联网,使得人们可以随时随地获取全球范围内的信息。通过搜索引擎、门户网站和在线数据库,人们可以轻松访问各种信息资源,包括新闻、学术文献、天气预报、股票行情等。
- 信息共享与协作:
- 计算机网络促进了信息共享和协作。通过电子邮件、即时通讯工具(如微信、Slack)、文件共享平台(如Google Drive、Dropbox)等,人们可以方便地共享信息和文件,进行远程协作。
- 开放教育资源:
- 在线教育平台(如Coursera、edX、网易公开课)提供了丰富的开放教育资源,使得人们可以免费或低成本地获取优质的教育资源,提升个人技能和知识水平。
2. 通信与社交
- 即时通信:
- 计算机网络使得即时通信成为可能。通过电子邮件、即时通讯工具(如微信、QQ、WhatsApp)、视频会议工具(如Zoom、Microsoft Teams)等,人们可以随时随地进行实时沟通和交流。
- 社交网络:
- 社交网络平台(如Facebook、Twitter、微博、微信)改变了人们的社交方式,使得人们可以方便地与朋友、家人和同事保持联系,分享生活点滴,参与社交活动。
- 远程工作与学习:
- 计算机网络支持远程工作和学习,使得人们可以在家中或任何有网络连接的地方进行工作和学习。特别是在疫情期间,远程工作和学习成为常态,计算机网络发挥了重要作用。
3. 电子商务与经济活动
- 电子商务:
- 计算机网络促进了电子商务的发展,使得人们可以在线购物、支付和交易。通过电子商务平台(如淘宝、京东、Amazon),人们可以方便地购买各种商品和服务。
- 在线支付与金融服务:
- 计算机网络支持在线支付和金融服务,使得人们可以在线进行银行转账、支付账单、投资理财等操作。通过在线支付平台(如PayPal、支付宝、微信支付),人们可以方便地进行跨境支付和交易。
- 数字经济:
- 计算机网络推动了数字经济的发展,催生了数字货币(如比特币、以太坊)、区块链技术、共享经济(如Uber、Airbnb)等新兴经济模式。
4. 技术创新与科学研究
- 云计算:
- 计算机网络支持云计算技术的发展,使得企业和个人可以按需获取计算资源(如计算能力、存储空间、软件服务等)。云计算降低了IT成本,提高了资源利用率,促进了技术创新。
- 大数据与人工智能:
- 计算机网络促进了数据共享和传输,使得大数据技术得以发展。通过对海量数据的分析和挖掘,企业可以获得有价值的信息和 insights,从而进行精准营销、风险控制、产品优化等。
- 科学研究:
- 计算机网络支持全球范围内的科学研究合作,使得科学家可以共享数据、工具和资源,进行跨学科、跨地域的合作研究。例如,天文学、生物学、物理学等领域的研究都依赖于大规模的数据传输和处理。
5. 文化与娱乐
- 数字媒体:
- 计算机网络促进了数字媒体的发展,使得人们可以在线观看电影、电视剧、综艺节目、直播等。通过流媒体平台(如Netflix、YouTube、腾讯视频),人们可以方便地获取各种数字媒体内容。
- 在线游戏:
- 计算机网络支持在线游戏的发展,使得人们可以在线进行多人游戏、竞技游戏、社交游戏等。通过游戏平台(如Steam、腾讯游戏),人们可以方便地与全球玩家互动和竞技。
- 虚拟现实与增强现实:
- 计算机网络支持虚拟现实(VR)和增强现实(AR)技术的发展,使得人们可以体验沉浸式的虚拟环境和增强现实体验。例如,VR游戏、VR教育、AR导航等应用都依赖于计算机网络的支持。
6. 社会与公共服务
- 电子政务:
- 计算机网络支持电子政务的发展,使得政府可以在线提供各种公共服务(如办理证件、缴纳税费、申请补贴等)。电子政务提高了政府服务效率,方便了市民办事。
- 智慧城市:
- 计算机网络是智慧城市建设的基础,支持智能交通、智能安防、智能医疗、智能环保等应用。例如,智能交通系统可以通过计算机网络实时监控和管理交通流量,提高交通效率和安全性。
- 医疗健康:
- 计算机网络支持远程医疗和健康监测,使得人们可以在线进行医疗咨询、预约挂号、远程诊断等。通过医疗健康平台(如平安好医生、春雨医生),人们可以方便地获取医疗服务。
7. 安全与隐私保护
- 网络安全:
- 计算机网络支持网络安全技术的发展,使得企业和个人可以保护自己的网络系统和数据安全。例如,防火墙、入侵检测系统(IDS)、加密技术等都是计算机网络的重要组成部分。
- 隐私保护:
- 计算机网络支持隐私保护技术的发展,使得人们可以更好地保护自己的个人信息和隐私。例如,匿名化技术、数据脱敏技术、隐私保护协议等都是计算机网络的重要应用。
总结
计算机网络在信息时代的作用是全方位的,涵盖了信息获取与共享、通信与社交、电子商务与经济活动、技术创新与科学研究、文化与娱乐、社会与公共服务以及安全与隐私保护等多个方面。计算机网络不仅改变了人们的生活方式和工作方式,还在推动社会进步和经济发展中发挥着至关重要的作用。
随着技术的不断发展,计算机网络的作用将会更加重要,未来我们将看到更多创新的应用和更广泛的影响。希望这个总结能够帮助您更好地理解计算机网络在信息时代的作用。
1.2互联网发展的三个阶段
1)第一阶段:从单个网络的ARPANET向互联网发展的过程
所有的链接在ARPANET上的主机都直接与就近的节点交换机相连。
2)第二阶段:三级结构的互联网
是一个三级计算机网络:主干网,地区网,校园网(企业网)。
3)第三阶段:全球范围的多层次的ISP结构的互联网
在互联网发展的第三阶段,全球互联网架构逐渐演变为一个多层次、多样化的ISP(互联网服务提供商)结构。这种结构不仅连接了全球范围内的用户和设备,还通过不同层次的ISP实现了网络的高效管理和扩展。这一阶段的互联网架构旨在满足全球用户日益增长的带宽需求、提供更可靠的服务,并支持复杂的网络应用。
ISP(Internet Service Provider)
提供互联网服务的人或公司或部门(eg:中国移动,中国电信,中国联通)
三层ISP结构的互联网的概念示意图
你上传的图片展示了一个具有三层ISP结构的互联网示意图,描述了不同网络节点之间的连接关系。以下是对图片内容的简明介绍:
1. 网络层级结构
- 内容提供者:
- 例如:Google、Netflix、Facebook等大型互联网公司。
- 连接: 直接连接到主干ISP,通过主干ISP将内容分发给全球用户。
- 主干ISP(Tier 1 ISP):
- 全球互联网的核心骨干网络,拥有跨洲际的海底光缆和光纤网络。
- 连接: 连接多个地区ISP,并通过IXP(互联网交换点)与不同网络进行数据交换。
- 地区ISP(Tier 2 ISP):
- 覆盖一个国家或地区,提供区域性的网络连接。
- 连接:
- 上层连接到主干ISP。
- 下层连接到本地ISP。
- 本地ISP(Tier 3 ISP):
- 提供“最后一公里”接入服务,覆盖城市或特定区域。
- 连接:
- 上层连接到地区ISP。
- 下层直接连接到用户,包括大公司、校园网、公司A、主机B等。
2. 数据流动路径
- 图片中提供了一个具体的数据传输路径示例:
- 主机A -> 本地ISP -> 地区ISP -> 主干ISP -> 地区ISP -> 本地ISP -> 主机B
- 这意味着数据从主机A出发,经过本地ISP、地区ISP、主干ISP,再反向经过地区ISP和本地ISP,最终到达主机B。
3. 关键节点解释(node include IXP , University , company and so on.)
- IXP(互联网交换点):
- 不同网络之间进行数据交换的物理位置。
- 在图片中,IXP连接了地区ISP,促进了不同网络之间的数据交换。
- 大公司、校园网、公司A、主机B:
- 这些都是本地ISP的直接用户或网络节点。
- 校园网和公司网络通过本地ISP接入互联网。
4. 总结与作用
- 多层次结构: 图片展示了互联网的多层次ISP结构,从内容提供者到主干ISP,再到地区ISP和本地ISP,最终连接到用户。
- 数据流动: 数据通过不同层级的ISP进行传输,最终到达目标用户。
- 网络互联: IXP作为不同网络之间的连接点,促进了数据的高效交换。
5. 引导问题(如果你想进一步探讨)
- 你对这种三层ISP结构的优缺点有什么看法?
- 你认为这种结构在面对全球互联网流量增长时会有哪些挑战?
- 你对IXP的作用和重要性有什么了解?
以Bilibili为例讲解三层ISP结构的互联网
以Bilibili为例讲解三层ISP结构的互联网
我们可以更具体地以Bilibili为例,来理解三层ISP结构的互联网是如何运作的。Bilibili作为一个大型视频分享平台,其内容分发和数据传输过程很好地展示了互联网的多层次ISP结构。
1. Bilibili的角色
- 内容提供者(Content Provider):
- Bilibili是一个视频分享平台,拥有大量用户上传的视频内容和自制的原创内容。
- Bilibili需要将这些视频内容分发给全球用户,尤其是中国用户。
2. 数据流动路径
当一个用户(例如,一个使用中国电信宽带的用户)想要观看Bilibili的视频时,数据流动路径如下:
1.
Bilibili的数据中心:
-
- Bilibili将视频内容存储在位于主干ISP网络中的数据中心。
- 为了提高视频加载速度和用户体验,Bilibili通常会使用CDN(内容分发网络)技术,将内容缓存到靠近用户的网络节点。
2.
主干ISP(Tier 1 ISP):
-
- Bilibili的数据中心连接到中国电信的主干网络。
- 中国电信作为主干ISP,拥有覆盖全国的光纤网络,并与全球其他主干ISP互联互通。
3.
地区ISP(Tier 2 ISP):
-
- 数据从中国电信的主干网络流向用户所在地区的地区ISP(例如,上海市的中国电信地区网络)。
- 地区ISP负责将数据从主干网络传输到本地网络。
4.
本地ISP(Tier 3 ISP):
-
- 数据从地区ISP流向用户所在城市的本地ISP(例如,用户所在小区的宽带接入点)。
- 本地ISP直接连接到用户设备。
5.
用户设备:
-
- 最终,数据通过本地ISP到达用户的设备,用户可以观看Bilibili的视频。
3. 具体案例分析
3.1 Bilibili的内容分发
- CDN技术:
- Bilibili使用CDN技术,将视频内容缓存到靠近用户的网络节点(例如,地区ISP的服务器)。
- 例如,当用户在上海观看Bilibili的视频时,视频内容可能已经缓存在上海地区的CDN节点上,用户可以直接从本地获取数据,减少数据传输延迟。
- 主干ISP连接:
- Bilibili需要与主干ISP(如中国电信、中国联通)建立高速连接,以确保视频内容能够快速、稳定地分发到全国用户。
- Bilibili的数据中心通过主干ISP的网络,将内容传输到各个地区的CDN节点。
3.2 中国电信的网络架构
- 主干网络:
- 中国电信的主干网络连接了全国各省、市,并通过海底光缆与全球其他主干ISP互联互通。
- Bilibili的数据中心通过中国电信的主干网络,将视频内容传输到全国各地。
- 地区网络:
- 在各省,中国电信设有地区网络,负责将数据从主干网络传输到本地网络。
- 例如,上海市的中国电信地区网络会将Bilibili的视频内容传输到上海市的各个本地ISP。
- 本地接入:
- 中国电信在各个城市和地区提供宽带接入服务,用户通过本地ISP连接到中国电信的地区网络,最终连接到主干网络。
- 例如,用户所在小区的宽带接入点连接到上海市的中国电信地区网络。
4. IXP的作用
- **互联网交换点(IXP)**是不同网络之间进行数据交换的物理位置。
- 在中国,Bilibili和中国电信可以通过IXP进行数据交换。
- 例如,Bilibili的数据中心可以通过IXP与中国联通、中国移动等不同ISP进行数据交换,实现跨网络的数据传输。
5. 案例总结
- Bilibili作为内容提供者,通过主干ISP(如中国电信)将视频内容分发给全国用户。
- 中国电信作为主干ISP和地区ISP,提供了从主干网络到本地网络的完整网络架构,确保用户能够快速、稳定地访问Bilibili的内容。
- CDN技术和IXP作为关键的技术和设施,进一步优化了数据分发和传输效率。
6. 实际应用中的挑战
- 带宽需求: 随着Bilibili用户数量的增加和视频质量的提升,对带宽的需求越来越高。中国电信需要不断扩展和维护其网络基础设施,以满足不断增长的带宽需求。
- 网络拥堵: 在高峰时段,用户访问量激增,可能会导致网络拥堵。中国电信需要通过流量工程和负载均衡技术,优化网络性能,确保用户能够获得流畅的观看体验。
- 网络安全: Bilibili和中国电信都需要加强网络安全防护,防止DDoS攻击、数据泄露等安全事件。
1.3互联网的组成
1)边缘部分
由所有链接在互联网上的主机组成,这部分是用户直接使用的,用来进行通信(传送数据,音频或视频)和资源共享。(包括个人电脑、智能手机、平板电脑、物联网设备(如智能家居设备))
主要功能
- 用户直接使用: 边缘部分的设备是用户直接操作和使用的终端设备,用户通过这些设备访问互联网。
- 通信: 用户可以通过边缘设备进行各种通信活动,例如:
- 发送和接收电子邮件
- 进行视频通话(如通过Zoom、Skype)
- 观看在线视频(如通过Bilibili、YouTube)
- 社交媒体互动(如通过微信、微博)
- 资源共享: 边缘设备可以访问和共享互联网上的各种资源,例如:
- 浏览网页
- 下载文件
- 访问云存储服务(如Google Drive、Dropbox)
- 使用在线应用程序(如Google Docs、Office 365)
2)核心部分
由大量的网络和连接这些网络的路由器组成。这部分是为边缘部分提供服务的。(提供连通性和交换)
主要功能
- 提供连通性: 核心部分的核心功能是将不同的网络连接起来,确保数据能够在全球范围内的网络中传输。
- 数据交换: 核心部分通过路由器和其他网络设备进行数据包的转发和交换。
- 当你访问一个网站或使用一个在线服务时,数据包会从你的设备(边缘部分)发送到核心部分,再通过核心部分传输到目标服务器(可能是另一个边缘设备)。
- 路由选择: 核心部分使用路由协议(如BGP,边界网关协议)来决定数据包的传输路径。路由器会根据网络拓扑结构和路由表选择最优的路径来传输数据。
1.4CS模式(用户-服务器模式)
1. 基本概念
- 客户(Client):
- 客户是服务请求方,它主动向服务器发起请求。
- 客户程序运行在用户的设备上,比如你的手机、电脑等。
- 客户程序需要知道服务器的地址才能发起请求。
- 服务器(Server):
- 服务器是服务提供方,它被动地等待客户请求并提供服务。
- 服务器程序通常运行在强大的硬件设备上,并使用高级操作系统。
- 服务器不需要知道客户的地址,因为它只负责响应请求。
2. 工作流程
1.客户发起请求:
-
- 客户程序运行后,主动向服务器发起服务请求。例如,你打开浏览器访问Bilibili网站,你的浏览器(客户程序)会向Bilibili的服务器发送请求。
2.服务器响应请求:
-
- 服务器接收到请求后,进行处理并返回结果。例如,Bilibili的服务器接收到你的请求后,会返回视频数据给你的浏览器。
3.数据传输:
-
- 客户和服务器之间的数据传输需要通过网络核心部分提供的服务,比如路由器、交换机等网络设备。
3. 主要特点
客户程序的特点:
- 主动发起通信: 客户程序主动向服务器请求服务。
- 轻量级: 客户程序不需要复杂的硬件或操作系统,通常运行在用户设备上。
- 需要知道服务器地址: 客户程序必须知道服务器的地址才能发起请求。
服务器程序的特点:
- 被动等待请求: 服务器程序一直运行,等待来自客户的请求。
- 处理多个请求: 服务器可以同时处理多个客户的请求。
- 需要强大硬件支持: 服务器程序通常运行在强大的硬件设备上,并使用高级操作系统。
- 不需要知道客户地址: 服务器只负责响应请求,不需要知道客户的地址。
4. 应用场景
- Web服务: 浏览器(客户)向Web服务器请求网页,服务器返回网页数据。
- 文件下载/上传: 客户程序向文件服务器请求下载或上传文件。
- 邮件服务: 邮件客户端(客户)向邮件服务器发送或接收邮件。
- 数据库访问: 应用程序(客户)向数据库服务器请求数据。
5. 总结
- 客户-服务器模式是互联网中一种常见的通信模式,客户主动请求服务,服务器被动响应请求。
- 客户和服务器通过网络核心部分提供的服务进行通信。
- 这种模式广泛应用于Web服务、文件传输、邮件服务、数据库访问等场景。
1.5对等连接
如果C 向D请求服务的时候,C是客户,D是服务器。它们之间是对等的。D向C请求的时候,D是客户,C是服务器。
1. 基本概念
- 对等连接(P2P):
- P2P是一种分布式网络架构,每个节点(计算机)在网络中都是平等的。
- 每个节点既可以作为客户端(请求服务),也可以作为服务器(提供服务)。
- 节点之间可以直接通信,不需要依赖中央服务器。
2. 工作方式
- 节点平等:
- 在P2P网络中,每个节点都运行相同的软件,既可以请求资源,也可以提供资源。
- 例如,在文件共享网络中,每个用户既是下载者(客户端),也是上传者(服务器)。
- 直接通信:
- 节点之间可以直接建立连接,进行数据传输,不需要通过中央服务器中转。
- 例如,计算机E可以直接与计算机F通信,计算机C可以直接与计算机D通信。
- 去中心化:
- P2P网络是去中心化的,没有单一的中央服务器控制整个网络。
- 网络的可靠性和稳定性由所有节点共同维护。
3. 主要特点
- 资源利用率高:
- 每个节点都可以贡献自己的资源(如带宽、存储空间),提高了整体网络的资源利用率。
- 高弹性:
- P2P网络具有很高的弹性,单个节点的故障不会影响整个网络的运行。
- 节点可以随时加入或离开网络,网络会自动调整。
- 可扩展性强:
- P2P网络可以很容易地扩展,随着更多节点的加入,网络容量和性能都会提高。
4. 应用场景
- 文件共享:
- 早期的P2P应用主要用于文件共享,如BitTorrent、eMule等,用户可以互相下载和上传文件。
- 分布式计算:
- P2P网络可以用于分布式计算,将计算任务分配给网络中的多个节点共同完成。
- 即时通讯:
- 一些即时通讯软件(如Skype)也使用P2P技术来提高通信效率和可靠性。
- 区块链:
- 区块链技术本质上也是一种P2P网络,所有节点共同维护一个分布式账本。
5. P2P网络的优势
- 去中心化: 没有单点故障,网络更稳定可靠。
- 高资源利用率: 每个节点都可以贡献资源,提高了整体效率。
- 可扩展性强: 节点可以随时加入或离开,网络可以动态调整。
- 成本低: 不需要昂贵的中央服务器,降低了运营成本。
6. 总结
- 对等连接(P2P)是一种分布式网络架构,每个节点既是客户端也是服务器,节点之间可以直接通信。
- P2P网络具有去中心化、高资源利用率、高弹性和可扩展性强等特点。
- P2P技术广泛应用于文件共享、分布式计算、即时通讯和区块链等领域。
1.6互联网的核心部分(路由器)
互联网的核心部分起到特殊作用是路由器(router),它是一种专用的计算机(但是不是主机)。路由器是实现分组交换(packet switching)的关键构建。
1)网段
路由器的每个端口指定的区域叫做网段。
1.7电路交换
1)步骤
建立连接->通话->释放连接
2)交换(switching)
交换就是按照某种方式动态地分配传输路线的资源。在使用电路交换之前,必须先拨号请求建立联系。
3)以打电话为举例
在使用电路交换打电话的之前,必须先拨号请求建立连接。当被叫用户听到交换机送来的振铃声并摘机后,从主机端到被叫端之间就建立了一条连接,也就是一条专用的物理通路。这条连接就保证了双方的通话时需要的通信资源,而这些资源在双方通信时不会被其他用户占用。此后双方才可以进行通话。在通话的时间内,通话的两个用户始终占用端到端的通信资源。
4)缺点
线路的传输效率往往很低。
5)学习链接
网络是如何通信的| 分组交换|电路交换_哔哩哔哩_bilibili
相关文章:
[计算机网络]一. 计算机网络概论第一部分
作者申明:作者所有文章借助了各个渠道的图片视频以及资料,在此致谢。作者所有文章不用于盈利,只是用于个人学习。 1.0推荐动画 【网络】半小时看懂<计算机网络>_哔哩哔哩_bilibili 1.1计算机网络在信息时代的作用 在当今信息时代&…...
第十三章:数据库技术
文章目录: 一:基础 1.概念 2.特点 3.常见数据库品牌 4.数据库应⽤系统 4.1 C/S 4.2 B/S 5.数据模型的分类 6.名词解析 7.关系运算 二:Access 1.基础 2.操作 2.1 建立表 2.2 维护表 2.3 创建查询 2.4 创建窗体 2.5 创建报表…...
中等难度——python实现电子宠物和截图工具
import io # 文件处理 import nt # windows nt 库直接获取对应的磁盘空间 import time # 时间 import zlib # 加解密 import ctypes # 调用 import struct # 处理字节二进制 import base64 # 编解码 import threading # 线程 import tkinter as tk # tk from datetime…...
构建优雅、高效的 Nodejs 命令行工具 - Archons
目录 项目简介安装基本用法样例创建一个简单的命令行工具使用archons上下文创建进度条 最后 项目地址: https://github.com/noctisynth/archons Bug反馈或功能请求:https://github.com/noctisynth/archons/issues 项目简介 Archons意思是“执政官”,我使…...
源码编译安装httpd 2.4,提供系统服务管理脚本并测试
1.安装httpd wget https://downloads.apache.org/httpd/httpd-2.4.62.tar.gzbmcv tar -zxvf httpd-2.4.62.tar.gz cd httpd-2.4.62 2.安装依赖包 sudo yum install -y gcc make apr-devel apr-util-devel pcre-devel sudo yum groupinstall "Development Tools"…...
【爬虫】某某查cookie逆向
代码仅供技术人员进行学习和研究使用,请勿将其用于非法用途或以任何方式窃取第三方数据。使用该代码产生的所有风险均由用户自行承担,作者不对用户因使用该代码而造成的任何损失或损害承担任何责任。 加密参数 加密参数主要是cookie,其中只有…...
【华为路由/交换机的ssh远程设置】
华为路由/交换机的ssh远程设置 R1(client):10.1.1.1 R2(server):10.1.1.2 R2服务端配置: 生成本机密钥 查看生成的密钥 设置AAA授权验证方式,并设置支持SSH协议 创建本地用户&…...
Linux:System V - 共享内存
1.System V共享内存的原理 通过为用户提供系统调用接口,让用户可以申请一块空间,进程A/B也可以通过系统调用接口将创建好的内存通过页表映射进进程的地址空间。完成让不同的两个进程看见同一份资源的目的。如果未来不想继续通信,取消进程和内…...
闪豆多平台视频批量下载器
1. 视频链接获取与解析 首先,在哔哩哔哩网页中随意点击一个视频,比如你最近迷上了一个UP主的美食制作视频,想要下载下来慢慢学。点击视频后,复制视频页面的链接。复制完成后,不要急着关闭浏览器,因为接下来…...
《鸿蒙Next微内核:解锁人工智能决策树并行计算的加速密码》
在当今人工智能飞速发展的时代,提升运算速度是推动其进步的关键。鸿蒙Next以其独特的微内核特性,为设计决策树的并行计算框架提供了新的思路和契机。 鸿蒙Next微内核特性概述 鸿蒙Next的微内核架构将核心功能模块化,仅保留进程管理、内存管…...
AWS Lambda
AWS Lambda 是 Amazon Web Services(AWS)提供的无服务器计算服务,它让开发者能够运行代码而不需要管理服务器或基础设施。AWS Lambda 会自动处理代码的执行、扩展和计费,开发者只需关注编写和部署代码,而无需担心底层硬…...
Python入门教程丨2.3 流程控制、算法效率分析及优化
流程控制是用于控制程序执行顺序的机制,它决定了程序中的语句按照何种顺序被执行。 本节课将详细讲解 Python 流程控制的三大核心结构:顺序、条件和循环,并配备一些小案例。 1. 顺序结构:从头到尾依次执行 顺序结构是程序中最基…...
NVIDIA发布个人超算利器project digital,标志着ai元年的开启
上图NVIDIA公司创始人兼首席执行官 黄仁勋(Jensen Huang) 这些年被大家熟知的赛博朋克风格一直都是未来的代言词,可以承载人类记忆的芯片,甚至能独立思考的仿生人,现在,随着NVIDIA的project digital发布之后…...
spring-mvc源码分析v3.3.0
分析下springboot内嵌tomcat启动流程,即springboot-mvc <dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-web</artifactId><version>3.3.0</version> </dependency>环境…...
反爬风控设计之请求头顺序检测
本次主要讲解请求头的顺序检测的反爬实现, 如下使用Django写的headers请求头顺序检验算法: def index(request):# 获取请求头的顺序request_order list(request.META.keys())print(request_order)# 定义标准请求头顺序standard_order ["HTTP_HO…...
力扣 查找元素的位置
二分查找经典例题。 题目 要是只是从数组中用二分查找对应的元素,套一下模板一下就可以得出了,然后这题就在于其中会有多个目标元素,要用不同的方式在找到第一个元素时再做偏移。 时间复杂度:O(log n),空间复杂度&am…...
Android-V lmkd 中的那些属性值
源码基于:Android V 相关博文: Android lmkd 机制详解(一) Android lmkd 机制详解(二) Android lmkd 机制从R到T 1. 汇总 属性名说明默认值 ro.lmk.debug 启动 lmkd 的debug 模式,会打印一…...
LabVIEW 程序中的 R6025 错误
R6025错误 通常是 运行时库 错误,特别是与 C 运行时库 相关。这种错误通常会在程序运行时出现,尤其是在使用 C 编译的程序或依赖 C 运行时库的程序时。 可能的原因: 内存访问冲突: R6025 错误通常是由于程序在运行时访问无效内…...
vmware虚拟机配置ubuntu 18.04(20.04)静态IP地址
VMware版本 :VMware Workstation 17 Pro ubuntu版本:ubuntu-18.04.4-desktop-amd64 主机环境 win11 1. 修改 VMware虚拟网络编辑器 打开vmware,点击顶部的“编辑"菜单,打开 ”虚拟化网络编辑器“ 。 选择更改设置&#…...
mybatis延迟加载、缓存
目录 一、所需表 二、延迟加载 1.延迟加载概念 2.立即加载和延迟加载的应用场景 3.多对一延迟加载查询演示 (1)实体类 User Account (2)AccountMapper接口 (3)AccountMapper.xml (4)UserMapper接口 (5)UserMapper.xml (6)在总配置文件(mybatis-config.xml)中开启延…...
云上贵州多彩宝荣获仓颉社区先锋应用奖 | 助力数字政务新突破
在信息技术应用创新的浪潮中,仓颉社区吸引了众多企业和开发者的积极参与,已有多个应用成功落地,展现出蓬勃的创新活力。仓颉编程语言精心遴选了在社区建设、应用创新、开源共建、技术布道等方面做出突出贡献的优秀项目应用,并颁发…...
设计模式02:结构型设计模式之适配器模式使用情景及其基础Demo
1.适配器模式 用途:接口兼容评价:复杂、冗余、难以调试,个人认为直接在旧系统那里封装一个新实现调用旧实现就好了场景:系统A、B、C想调用同一个功能接口,但是实现细节存在差异时(其实就是入参和出参转化处…...
镭速大文件传输视频文件预览实现原理
镭速可以支持视频预览,在测试过程中需要大量不同格式的视频,如果直接去找各种格式的视频不太现实,所以就会用到一个视频格式转换的工具ffmpeg,本文将介绍ffmpeg的基本使用方法。FFmpeg 是一个免费开源的音视频处理工具,…...
Mac上安装Label Studio
在Mac上安装Anaconda并随后安装Label Studio,可以按照以下步骤进行: 1. 在Mac上安装Anaconda 首先,你需要从Anaconda的官方网站下载适用于Mac的安装程序。访问Anaconda官网,点击“Download Anaconda”按钮,选择适合M…...
git操作(Windows中GitHub)
使用git控制GitHub中的仓库版本,并在Windows桌面中创建与修改代码,与GitHub仓库进行同步。 创建自己的GitHub仓库 创建一个gen_code实验性仓库用来学习和验证git在Windows下的使用方法:https://github.com/Martianing/gen_code git初始设置…...
低代码平台:技术复杂性的系统简化
在传统开发模式下,应用构建需要经历需求分析、代码开发、测试部署等多环节,流程繁琐且耗时,往往成为企业技术创新的瓶颈。低代码平台通过模块化和自动化技术重新定义开发流程,使开发者能够在较短时间内实现复杂的应用功能…...
物联网网关Web服务器--lighttpd服务器部署与应用测试
以下是在国产ARM处理器E2000飞腾派开发板上部署 lighttpd 并进行 CGI 应用开发的步骤: 1、lighttpd简介 Lighttpd 是一款轻量级的开源 Web 服务器软件,具有以下特点和功能: 特点 轻量级:Lighttpd 在设计上注重轻量级和高效性&a…...
Flutter+vsCode 安装问题记录
VSCode在安装完AndroidSDK以及相关插件后,运行Flutter项目时选择模拟器提示:avdmanager is missing from the Android SDK,确保环境变量中存在ANDROID_HOME,且执行了flutter config --android-sdk 地址后,如果还提示&a…...
【CompletableFuture实战】
CompletableFuture实战 前言 前言 过去的一年,匆匆忙忙,换了一次工作,写博客的习惯就落下了,总之,有点懈怠。希望今年能重拾信心,步入正规! CompletableFuture的用法网上资料颇多,…...
【k8s面试题2025】3、练气中期
体内灵气的量和纯度在逐渐增加。 文章目录 在 Kubernetes 中自定义 Service端口报错常用控制器Kubernetes 中拉伸收缩副本失效设置节点容忍异常时间Deployment 控制器的升级和回滚日志收集资源监控监控 Docker将 Master 节点设置为可调度 在 Kubernetes 中自定义 Service端口报…...
【高可用自动化体系】自动化体系
架构设计的愿景就是高可用、高性能、高扩展、高效率。为了实现架构设计四高愿景,需要实现自动化系统目标: 标准化。 流程自助化。 可视化:可观测系统各项指标、包括全链路跟踪。 自动化:ci/cd 自动化部署。 精细化:…...
Spring boot框架下的RocketMQ消息中间件
1. RocketMQ 基础概念 1.1 核心概念 以下是 RocketMQ 核心概念在 Spring Boot 的 Java 后端代码中的实际使用方式: Producer(生产者) 定义:Producer 是负责发送消息到 RocketMQ 的组件。它可以将消息发送到指定的 Topic。 实…...
http转化为https生成自签名证书
背景 项目开发阶段前后交互采用http协议,演示环境采用htttps协议 ,此处为个人demo案例 组件 后端:springBoot 前端:vue web 服务:tomcat 部署环境:linux 生成自签名证书 创建目录 存储证书位置 # mkdir -p…...
关于2025年智能化招聘管理系统平台发展趋势
2025年,招聘管理领域正站在变革的十字路口,全新的技术浪潮与不断变化的职场生态相互碰撞,促使招聘管理系统成为重塑企业人才战略的关键力量。智能化招聘管理系统平台在这一背景下迅速崛起,其发展趋势不仅影响企业的招聘效率与质量…...
CentOS 9 Stream 上安装 Node.js 18.20.5
要在 CentOS 9 Stream 上安装 Node.js 18.20.5,可以按照以下步骤操作: 1. 安装依赖 首先,确保你已经更新了系统并安装了必要的依赖包。 sudo dnf update -y sudo dnf install -y gcc-c make2. 安装 Node.js 18.20.5 Node.js 官方提供了一…...
NSIS 创建一键安装程序
nsis 安装redis 、mysql 、jdk navicat、 notepad、 使用NSIS 创建一键安装程序 分为两步 下载 NSIS编写 一键安装代码 1.16脚本 ; 请求管理员权限运行安装程序 RequestExecutionLevel admin; 该脚本使用 HM VNISEdit 脚本编辑器向导产生; 安装程序初始定义常量 !define PRO…...
NanoKVM简单开箱测评和拆解,让普通电脑实现BMC/IPMI远程管理功能
Sipeed推出了NanoKVM,简直是没有BMC的台式机和工作站的福音。有了这个就可以轻松实现以往服务器才有的远程管理功能。 NanoKVM 简介 Lichee NanoKVM 是基于 LicheeRV Nano 的 IP-KVM 产品,继承了 LicheeRV Nano 的极致体积 和 强大功能。 NanoKVM 包含…...
【混合开发】CefSharp+Vue桌面应用程序开发
为什么选择CefSharpVue做桌面应用程序 CefSharp 基于 Chromium Embedded Framework (CEF) ,它可以将 Chromium 浏览器的功能嵌入到 .NET 应用程序中。通过 CefSharp,开发者可以在桌面应用程序中集成 Web 技术,包括 HTML、JavaScript、CSS 等…...
2024最新版JavaScript逆向爬虫教程-------基础篇之Chrome开发者工具学习
目录 一、打开Chrome DevTools的三种方式二、Elements元素面板三、Console控制台面板四、Sources面板五、Network面板六、Application面板七、逆向调试技巧 7.1 善用搜索7.2 查看请求调用堆栈7.3 XHR 请求断点7.4 Console 插桩7.5 堆内存函数调用7.6 复制Console面板输出 工…...
下定决心不去读研了。。。
大家好,我是苍何。 之前发表过一篇文章,表达了自己读研的困惑和纠结,得到了大家很多的建议,也引起了很多人的共鸣,在留言区分享了自己的故事,看着这些故事,我觉得都够苍何写一部小说了。 可惜苍…...
Java21 正则表达式
在 Java 21 中,正则表达式主要通过 java.util.regex 包提供支持,其核心组件包括 Pattern、Matcher 和 String 类中自带的方法(如 replaceAll 和 matches)。以下是关于正则表达式在 Java 21 中的详细介绍及一些新的特性或用法。 核…...
Docker安装PostGreSQL docker安装PostGreSQL 完整详细教程
Docker安装PostGreSQL docker安装PostGreSQL 完整详细教程 Docker常用命令大全Docker 运行命令生成Docker 上安装 PostGreSQL 14.15 的步骤:1、拉取 PostGreSQL 14.15 镜像2、创建并运行容器3、测试连接4、设置所有IP都可以运行连接进入容器内 修改配置文件关闭容器…...
leetcode:205. 同构字符串(python3解法)
难度:简单 给定两个字符串 s 和 t ,判断它们是否是同构的。 如果 s 中的字符可以按某种映射关系替换得到 t ,那么这两个字符串是同构的。 每个出现的字符都应当映射到另一个字符,同时不改变字符的顺序。不同字符不能映射到同一个字…...
【Javascript Day9】对象定义、数组中对象元素排序、对象在内存中存储方法、对象构建联系
目录 . 取值运算符 > 用于对象属性或方法的调用操作 [] 取值运算符 > 可用于数组下标或者对象属性的取值操作 数组对象的排序 对象在内存中存储方式 对象的三种定义方式 1. 字面量对象 2. 基于Object构造对象 3. 自定义对象构造器创建对象 对象的构建练习 . 取值…...
运维作业一
1、shell 脚本写出检测 /tmp/size.log 文件如果存在显示它的内容,不存在则创建一个文件将创建时间写入。 2、写一个 shel1 脚本,实现批量添加 20个用户,用户名为user01-20,密码为user 后面跟5个随机字符。 首先,获得随机字符,需下载pwgen&am…...
数仓建模(三)建模三步走:需求分析、模型设计与数据加载
本文包含: 数据仓库的背景与重要性数据仓库建模的核心目标本文结构概览:需求分析、模型设计与数据加载 目录 第一部分:需求分析 1.1 需求分析的定义与目标 1.2 需求分析的步骤 1.2.1 业务需求收集 1.2.2 技术需求分析 1.2.3 成果输出…...
C语言的网络编程
C语言的网络编程 引言 随着互联网的快速发展,网络编程已经成为计算机科学与技术领域中不可或缺的一部分。C语言作为一种底层语言,以其高效、快速和灵活的特性,广泛应用于网络编程中。本文将深入探讨C语言在网络编程中的应用,包括…...
EE213 Lab3 virtuoso NAND NOR INV XOR HA designlayout(min size layout method)
目录 0 前言 1 设计目标 2 减小面积的layout画法 3 NAND 4 NOR 5 INV 6 XOR 7 HA 0 前言 记录一下来到skd上的强度比较大的一门课,数字集成电路2的lab设计还是蛮好的,该帖非详细教程只是单纯的写一些思虑并用作笔记,新手小白欢迎交…...
Qt——QTableWidget 限制单元格输入范围的方法(正则表达式输入校验法、自定义代理类MyItemDelegrate)
【系列专栏】:博主结合工作实践输出的,解决实际问题的专栏,朋友们看过来! 《项目案例分享》 《极客DIY开源分享》 《嵌入式通用开发实战》 《C++语言开发基础总结》 《从0到1学习嵌入式Linux开发》...
mono3d汇总
lidar坐标系 lidar坐标系可以简单归纳为标准lidar坐标系和nucense lidar坐标系,参考链接。这个坐标系和车辆的ego坐标系是一致的。 标准lidar坐标系 opendet3d,mmdetection3d和kitt都i使用了该坐标系 up z^ x front| /| /left y <------ 0kitti采…...