【100天精通python】Day47:python网络编程_Web编程基础
目录
1 网络编程与web编程
1.1 网络编程
1.2 web编程
2 Web开发概述
3 Web开发基础
3.1 HTTP协议
3.2 Web服务器
3.3 前端基础
3.4 静态服务器
3.5 前后端交互的基本原理
4 WSGI接口
4.1 CGI 简介
4.2 WSGI 简介
4.3 定义 WSGI 接口
4.4 运行 WSGI 服务
4.5 WSGI接口的优势
5 web 框架
5.1 什么是web 框架
5.2 python 中常用的web框架
1 网络编程与web编程
1.1 网络编程
网络编程是指使用编程语言(如Python)来实现网络通信的过程。它涵盖了底层的网络协议和通信细节,可以用于构建各种类型的网络应用程序。网络编程主要涉及socket编程,通过创建socket对象实现网络连接、发送和接收数据等操作。网络编程可以用于构建各种类型的网络应用,如聊天程序、文件传输、远程命令执行等。
1.2 web编程
Web编程则更加专注于开发基于Web的应用程序,即使用HTTP协议进行通信的应用程序。Web编程侧重于开发网站、Web应用或Web服务。它包括前端开发和后端开发两个方面:
- 前端开发:前端开发涉及使用HTML、CSS和JavaScript等技术实现用户界面的设计和交互逻辑。前端开发者通常负责实现网页的布局、样式和用户交互部分。
- 后端开发:后端开发涉及编写服务器端代码,处理HTTP请求并生成响应。后端开发者通常使用编程语言(如Python、Java、PHP等)和框架(如Django、Flask)来构建服务器端逻辑,处理数据库操作、业务逻辑等。
Web编程的目标是构建能够在浏览器中访问和使用的应用程序,包括Web网站、Web应用和Web服务。它通常通过HTTP协议进行通信,并使用各种技术和框架来简化开发过程。
综上所述,网络编程是更广泛的范畴,涵盖网络通信的各个方面;而Web编程则是一种特定的应用领域,侧重于开发基于Web的应用程序。
2 Web开发概述
Web开发涵盖了创建和维护在互联网上运行的网站和Web应用程序所需的一系列技术和流程。主要内容如下:
前端开发: 前端开发涉及构建用户在浏览器中看到和与之交互的界面。它通常使用HTML(超文本标记语言)、CSS(层叠样式表)和JavaScript来创建页面布局、样式和交互效果。
后端开发: 后端开发处理服务器端的逻辑和数据处理。这包括与数据库交互、处理业务逻辑、用户认证、安全性等。后端开发可以使用各种编程语言和框架,如Node.js、Python(Django、Flask)、Java(Spring Boot)等。
数据库: 数据库用于存储和管理应用程序的数据。常见的数据库类型包括关系型数据库(如MySQL、PostgreSQL)和NoSQL数据库(如MongoDB、Redis)。
前后端通信: 前端和后端通过HTTP协议进行通信。前端发送请求并接收响应,后端处理请求并提供数据或执行所需的操作。
版本控制: 版本控制系统(如Git)用于跟踪和管理代码的变化,使开发团队能够协同工作并追踪代码的历史记录。
响应式设计: 响应式设计确保网站在不同设备和屏幕尺寸上都能正常显示和工作,提供一致的用户体验。
安全性: Web开发中的安全性是至关重要的。开发人员需要注意防止跨站脚本攻击(XSS)、跨站请求伪造(CSRF)、SQL注入等安全问题。
性能优化: 优化Web应用程序的性能包括压缩资源、减少HTTP请求、使用缓存、延迟加载等方法,以确保用户获得快速且流畅的体验。
部署和托管: 部署是将开发完成的应用程序发布到生产环境的过程。应用程序可以托管在云服务提供商(如AWS、Azure、Heroku)或自己的服务器上。
测试: 测试是确保应用程序在各种情况下都能正常工作的关键步骤。这包括单元测试、集成测试、端到端测试等。
3 Web开发基础
3.1 HTTP协议
HTTP(超文本传输协议)是用于在客户端和服务器之间传输数据的协议。它是Web通信的基础,支持请求和响应模型。HTTP协议定义了数据的格式、传输方法以及如何与服务器通信。以下是一个简单的HTTP请求和响应的示例:
HTTP请求示例:
GET /index.html HTTP/1.1
Host: www.example.com
User-Agent: Mozilla/5.0
HTTP响应示例:
HTTP/1.1 200 OK
Content-Type: text/html
Content-Length: 123
<html>
<head>
<title>Welcome to Example</title>
</head>
<body>
...
</body>
</html>
3.2 Web服务器
Web服务器是一台计算机或软件,它接收来自客户端(例如浏览器)的HTTP请求,并发送相应的HTTP响应。它负责托管和提供Web应用程序的资源。流行的Web服务器软件包括Apache、Nginx和Microsoft IIS。
以下是一个简单的Python代码示例,使用内置的HTTP服务器创建一个简单的Web服务器:
import http.server
import socketserverPORT = 8000Handler = http.server.SimpleHTTPRequestHandlerwith socketserver.TCPServer(("", PORT), Handler) as httpd:print("Serving at port", PORT)httpd.serve_forever()
3.3 前端基础
前端开发涉及创建用户在浏览器中看到和与之交互的界面。前端基础包括HTML(结构)、CSS(样式)和JavaScript(交互)。
1. HTML(超文本标记语言): HTML是一种用于创建网页结构的标记语言。它由一系列的标签组成,这些标签定义了网页中的不同元素,如标题、段落、图像等。HTML提供了一种结构化的方式来展示内容。
以下是一个简单的HTML示例,用于创建一个包含标题和段落的网页:
<!DOCTYPE html>
<html>
<head><title>HTML Example</title>
</head>
<body><h1>Welcome to My Website</h1><p>This is a sample paragraph.</p>
</body>
</html>
2. CSS(层叠样式表): CSS用于为HTML元素添加样式,如布局、颜色、字体等。它允许开发人员将样式从内容中分离出来,从而实现更好的可维护性和样式一致性。
以下是一个简单的CSS示例,用于设置标题和段落的样式:
/* 在 <head> 部分引入样式表 */
<style>h1 {color: blue;font-size: 24px;}p {font-size: 16px;line-height: 1.5;}
</style>
3. JavaScript: JavaScript是一种用于添加交互和动态行为的脚本语言。它可以改变网页的内容、样式和行为,使用户能够与页面进行互动。
以下是一个简单的JavaScript示例,用于在点击按钮时改变标题的内容:
<!DOCTYPE html>
<html>
<head><title>JavaScript Example</title>
</head>
<body><h1 id="title">Hello, World!</h1><button onclick="changeText()">Click Me</button><script>function changeText() {var titleElement = document.getElementById("title");titleElement.innerHTML = "Button Clicked!";}</script>
</body>
</html>
3.4 静态服务器
静态服务器是一种Web服务器,其主要功能是提供静态资源,如HTML文件、CSS样式表、JavaScript脚本、图像、视频等。这些资源在服务器上提前准备好,并以原样发送给客户端,无需经过服务器端的处理。静态服务器通常用于托管和提供不需要动态生成的内容,以提高性能和效率。
(1) 为什么使用静态服务器:
静态服务器适用于不需要根据用户请求进行数据处理或数据库查询的场景。由于静态资源不会在每次请求时改变,因此可以通过静态服务器直接发送这些资源,从而提高响应速度和性能。
(2)静态服务器的功能:
- 提供静态资源:静态服务器主要用于托管和提供静态资源,如HTML、CSS、JavaScript、图像和其他文件。
- 缓存管理:静态服务器通常支持缓存机制,允许浏览器在多次请求同一资源时重复使用本地缓存。
- 压缩和优化:静态服务器可以对资源进行压缩和优化,减少文件大小,从而提高加载速度。
(3)静态服务器示例(Node.js + Express):
下面是一个使用Node.js和Express框架创建静态服务器的简单示例。假设您有一个名为 public 的文件夹,其中包含了您的静态资源(如HTML、CSS、图像等)。您可以通过以下代码创建一个静态服务器:
const express = require('express');
const app = express();// 指定静态资源目录
app.use(express.static('public'));const PORT = 3000;
app.listen(PORT, () => {console.log(`Static server is running on port ${PORT}`);
});
3.5 前后端交互的基本原理

在前后端交互中,基本原理是通过HTTP协议进行数据的传输和通信。以下是前后端交互的基本步骤:
客户端发送请求:前端通过浏览器发送HTTP请求到服务器。请求可以是不同的类型,如GET、POST等,以及附带着请求参数或表单数据。
服务器处理请求:服务器接收到请求后,根据请求的URL路径和参数,找到相应的处理逻辑(后端代码)。服务器可能会访问数据库、执行业务逻辑等。
服务器返回响应:后端处理完成后,生成一个HTTP响应,并将数据或结果返回给前端。响应可以包含不同的内容,如HTML页面、JSON数据等。
客户端处理响应:前端收到服务器的响应后,根据响应的内容和状态码进行处理。如果是HTML页面,前端可能会渲染页面;如果是JSON数据,前端可能会进行数据解析和展示。
在前后端交互过程中,还可以使用其他技术来增强交互能力,例如:
Ajax:通过异步JavaScript和XML(或JSON)请求,前端可以在不刷新整个页面的情况下与服务器交换数据。这样可以实现部分局部更新,提升用户体验。
WebSocket:WebSocket提供了一种双向通信的机制,使得服务器可以主动推送数据给客户端,而不需要客户端发起请求。这对于实时数据推送和聊天应用非常有用。
总结起来,前后端交互的基本原理是通过HTTP协议进行请求和响应的传输,并且可以借助其他技术来增强交互能力。后端负责处理请求、提供数据或结果,前端负责发送请求、接收响应并进行展示。
4 WSGI接口
4.1 CGI 简介
CGI 的全称是“通用网关接口”(Common Gateway Interface),它是一种用于在Web服务器上执行外部程序或脚本的标准接口。通过CGI,Web服务器可以与外部程序(通常是脚本语言如Perl、Python、PHP等)进行通信,并将来自用户的请求传递给这些程序,然后将程序的输出发送回给用户的浏览器。
以下是有关CGI的一些重要信息:
动态网页生成: 在早期的互联网发展阶段,网页通常是静态的,即在服务器上预先创建并存储的。但随着互联网的发展,人们需要能够根据用户的请求动态生成内容,这就导致了CGI的出现。
HTTP 请求和响应: 当用户在浏览器中请求一个CGI 脚本,Web 服务器会解析请求中的CGI 路径,并将请求中的信息传递给脚本。脚本可以处理这些信息,生成动态内容,并将其作为HTTP响应发送回服务器,最终传递给用户浏览器。
编程语言: CGI 脚本可以用多种编程语言编写,例如Perl、Python、PHP、Ruby 等。这些脚本语言允许开发者处理数据、生成 HTML、与数据库交互等操作,从而实现复杂的网页功能。
安全性考虑: 由于CGI 脚本涉及与外部程序的交互,存在一些安全风险。不正确的实现可能导致安全漏洞,例如跨站脚本攻击(XSS)或代码注入。因此,在开发和部署CGI 脚本时,安全性应当是重要的考虑因素。
替代技术: 尽管CGI 是早期动态网页生成的标准方法,但随着技术的发展,出现了更高效、更安全的替代技术,如FastCGI 和WSGI(用于Python)。这些技术试图减少CGI 的开销,提高性能,并提供更好的安全性。
总的来说,CGI 是互联网发展的重要阶段之一,它为动态网页生成打开了大门,为网站提供了更多的交互性和功能。然而,随着时间的推移,出现了更先进的技术来代替传统的CGI 方法。
4.2 WSGI 简介
WSGI 的全称是“Web Server Gateway Interface”,它是一种用于在Python Web 应用程序和 Web 服务器之间进行通信的规范接口。与传统的 CGI 相比,WSGI 更加高效和灵活,可以在不同的 Web 服务器和应用程序框架之间进行交互。
4.3 定义 WSGI 接口
WSGI 定义了一种标准的接口,用于在 Web 服务器和 Python Web 应用程序之间传递请求和响应。它由两个主要部分组成:应用程序和服务器。
-
应用程序: WSGI 应用程序是一个可调用的对象(通常是一个函数或实现了
__call__方法的类实例),它接收两个参数:一个环境字典和一个可用于发送响应的回调函数。环境字典包含有关请求的信息,例如请求方法、路径、查询参数等。回调函数用于将响应数据发送回服务器。 -
服务器: WSGI 服务器负责调用应用程序,并将请求的环境字典和回调函数传递给应用程序。服务器还负责处理底层的网络连接、处理多个请求等。
4.4 运行 WSGI 服务
要运行一个 WSGI 服务,你需要一个符合 WSGI 规范的应用程序和一个 WSGI 服务器。下面是一个简单的示例,演示如何创建一个简单的 WSGI 应用程序并使用内置的 WSGI 服务器运行它:
# hello_app.py
def simple_app(environ, start_response):status = '200 OK'headers = [('Content-type', 'text/plain')]start_response(status, headers)return [b'Hello, WSGI world!']# 使用内置的 WSGI 服务器运行应用程序
from wsgiref.simple_server import make_serverif __name__ == '__main__':server = make_server('localhost', 8000, simple_app)print("Serving on http://localhost:8000")server.serve_forever()
在这个示例中,simple_app 是一个符合 WSGI 规范的应用程序。我们使用 Python 内置的 wsgiref.simple_server 模块创建了一个简单的 WSGI 服务器,并将应用程序传递给它。运行脚本后,你可以在浏览器中访问 http://localhost:8000,将会看到 "Hello, WSGI world!" 的响应。
4.5 WSGI接口的优势
- 可移植性: 使用WSGI接口编写的应用程序可以在不同的WSGI服务器上运行,从而实现跨不同服务器的可移植性。
- 可互操作性: WSGI使不同的应用程序和服务器能够以一致的方式进行通信,促进了Web生态系统中不同组件的互操作性。
- 性能: WSGI服务器通常能够更高效地处理HTTP请求,提供更好的性能。
总之,WSGI(Web Server Gateway Interface)是一个定义了Python Web应用程序与服务器之间通信的接口标准,通过统一的接口使得开发人员能够更灵活地构建和部署Web应用程序。
5 Web 框架
5.1 什么是Web 框架
Web 框架(Web Framework)是一种软件工具集,旨在简化和加速 Web 应用程序的开发过程。它提供了一组预先设计好的模块、函数、类和工具,帮助开发者更轻松地构建和维护功能丰富的 Web 应用程序。通过使用 Web 框架,开发者可以避免从头开始编写大量的重复性代码,从而集中精力处理业务逻辑和应用程序的核心功能。
以下是一些 Web 框架的常见特点和优势:
路由和 URL 处理: Web 框架通常提供路由功能,允许开发者将不同的 URL 映射到相应的处理函数或视图上。这使得 URL 结构更加清晰,能够轻松处理不同的请求。
模板引擎: 模板引擎允许开发者将 HTML 和动态数据结合起来,以生成动态的 Web 页面。它们通常提供条件语句、循环、变量替换等功能,帮助开发者有效地生成页面内容。
数据库交互: Web 框架通常提供数据库抽象层,简化了与数据库的交互。这使开发者能够更轻松地执行数据库查询、插入、更新和删除操作。
表单处理: Web 应用程序中经常需要处理用户提交的表单数据。Web 框架通常提供机制来验证表单数据、处理提交并生成响应。
安全性: Web 框架通常提供内置的安全机制,如防止跨站脚本攻击(XSS)和 SQL 注入。这有助于开发者编写更安全的应用程序。
会话管理: 许多 Web 应用程序需要跟踪用户的会话状态。Web 框架通常提供会话管理功能,以便开发者可以方便地管理用户会话和状态。
中间件支持: 中间件是一种机制,允许开发者在请求和响应的处理过程中插入自定义逻辑。这有助于实现一些横切关注点,如日志记录、认证和授权等。
RESTful API 支持: 许多 Web 框架提供支持构建 RESTful API 的功能,使开发者能够轻松地创建基于 HTTP 方法的 API 端点。
扩展性: 好的 Web 框架通常允许开发者通过插件、扩展和自定义中间件来增强和定制框架的功能。
5.2 python 中常用的web框架
在Python中,有很多常用的Web框架可供选择。以下是一些常见的Python Web框架:
1. Flask:Flask是一个微型的、灵活的Web框架,它具有简洁的语法和强大的扩展能力。它非常适合构建小型的、轻量级的应用程序。
2. Django:Django是一个全功能的Web框架,它提供了许多开箱即用的功能,如数据库ORM、用户认证、缓存等。Django的设计理念是“松散耦合”的组件,使得开发过程更高效。
3. Pyramid:Pyramid是一个轻量级的Web框架,它注重灵活性和可扩展性。它使用了一种类似于插件的机制,使得开发者可以选择性地增加或删除框架的功能。
4. Bottle:Bottle是一个小巧且容易上手的Web框架,它具有最少的依赖关系,并且只有一个单独的源文件。Bottle非常适合构建小型的、快速的应用程序。
5. Tornado:Tornado是一个高性能的Web框架,它采用了非阻塞式I/O和事件驱动的方式来处理请求。Tornado适合处理高并发的情况,例如聊天应用程序和实时数据推送。
相关文章:
【100天精通python】Day47:python网络编程_Web编程基础
目录 1 网络编程与web编程 1.1 网络编程 1.2 web编程 2 Web开发概述 3 Web开发基础 3.1 HTTP协议 3.2 Web服务器 3.3 前端基础 3.4 静态服务器 3.5 前后端交互的基本原理 4 WSGI接口 4.1 CGI 简介 4.2 WSGI 简介 4.3 定义 WSGI 接口 4.4 运行 WSGI 服务 4.5…...
DockerCompose介绍与使用
DockerCompose介绍与使用 1、DockerCompose介绍 DockerCompose用于定义和运行多容器 Docker 应用程序的工具。 通过 Compose可以使用 YAML 文件来配置应用程序需要的所有服务。一个使用Docker容器的应用,通常由多个容器组成,使用Docker Compose不再需要…...
Windows Qt 5.12.10下载与安装
Qt 入门实战教程(目录) C自学精简实践教程 目录(必读) 1 Qt5.12.10下载 qt-opensource-windows-x86-5.12.10.exe 官方离线安装包 Download Source Package Offline Installers | Qt 下载巨慢(也可能很快) 只能下载到最新的&…...
RustDesk最新版本编译与打包
本文环境 主要参考: https://www.yuque.com/shikangsi/efy0cp/wei3g1?https://blog.csdn.net/hualuohuakai2014/article/details/121605631 问题 flutter 生成 bridge 文件。 先安装工具,再生成ffi文件。 PS C:\Users\Administrator> cargo ins…...
Gin 框架入门实战系列(一)
GIN介绍 Gin是一个golang的微框架,封装比较优雅,API友好,源码注释比较明确,具有快速灵活,容错方便等特点 对于golang而言,web框架的依赖要远比Python,Java之类的要小。自身的net/http足够简单,性能也非常不错 借助框架开发,不仅可以省去很多常用的封装带来的时间,…...
【测试】pywinauto的简单使用(安装、常用对象、元素控件、鼠标操作、键盘操作)
1.说明 pywinauto是一个用于自动化Python 模块,适合Windows系统的软件(GUI),可以通过Pywinauto遍历窗口(对话框)和窗口里的控件,也可以控制鼠标和键盘输入,所以它能做的事情比之前介…...
Java基础十八(正则表达式 + 日期时间)
1. 正则表达式 1.1 普通字符 字符描述示例[abc]匹配 […] 中所有字符[hlo] 匹配字符串 "hello world" 中所有的 h l o 字母[^ABC]匹配除了 […] 中所有字符[hlo] 匹配字符串 "hello world" 中除了 h l o 的所有字母[^a-z]匹配除了 […] 中所有字符[hlo] 匹…...
Linux C 多进程编程(面试考点)
嵌入式开发为什么要移植操作系统? 1.减小软硬件的耦合度,提高软件的移植性 2. 操作系统提供很多库和工具(QT Open CV),提高开发效率 3.操作系统提供多任务机制,______________________? (提高C…...
c++一级
与7无关的数 #include<iostream> #include<iomanip> using namespace std; int main() { int n,a,sum0,c0; cin>>n; for(int i1;i<n;i){ if(i%7!0){ ai; c0; …...
Code Lab - 34
GAT里面有一些地方看的不是太懂(GAT里Multi Attention的具体做法),暂时找了参考代码,留一个疑问 1. 一个通用的GNN Stack import torch_geometric import torch import torch_scatter import torch.nn as nn import torch.nn.fun…...
后端返回文件流,前端怎么导出、下载(8种方法可实现)
在前端导出和下载后端返回的文件流时,可以使用以下几种方法: 使用window.open()方法: 在前端使用window.open()方法打开一个新的窗口或标签页,并将后端返回的文件流作为URL传递给该方法。浏览器会自动下载该文件。例如:…...
什么是 ThreadLocal?
ThreadLocal 是 Java 中的一个类,用于在多线程环境下,为每个线程提供独立的变量副本。每个线程可以通过 ThreadLocal 存储和获取数据,而不会影响其他线程的数据。这在某些情况下非常有用,特别是当多个线程需要访问共享数据,但又希望保持数据的隔离性时。 ThreadLocal 主要…...
CANOCO5.0实现冗余分析(RDA)最详细步骤
在地理及生态领域会常使用RDA分析,RDA的实现路径也有很多,今天介绍一下CANOCO软件的实现方法。 1.软件安装 时间调整到2010年 2.数据处理 得有不同的物种或者样点数值,再加上环境因子数据。 3.软件运行 4.结果解读 结果解读主要把握这几点…...
【tkinter 专栏】掷骰子游戏
文章目录 前言本章内容导图1. 需求分析2. 系统功能结构3. 设计流程4. 系统开发环境5. 系统预览6. 窗口布局7. 功能实现用户和电脑选择骰子的点数大小摇骰子过程实现判断游戏结果单击开始按钮进行游戏源代码汇总前言 本专栏将参考《Python GUI 设计 tkinter 从入门到实践》书籍…...
19 NAT穿透|python高级
文章目录 网络通信过程NAT穿透 python高级GIL锁深拷贝与浅拷贝私有化import导入模块工厂模式多继承以及 MRO 顺序烧脑题property属性property装饰器property类属性 魔法属性\_\_doc\_\_\_\_module\_\_ 和 \_\_class\_\_\_\_init\_\_\_\_del\_\_\_\_call\_\_\_\_dict\_\_\_\_str…...
2023常见前端面试题
以下是一些2023年秋招常见的前端面试题及其答案: 1. 请解释一下什么是前端开发? 前端开发是指使用HTML、CSS和JavaScript等技术来构建网页和用户界面的过程。前端开发人员负责将设计师提供的视觉设计转化为可交互的网页,并确保网页在不同设备…...
登录校验-JWT令牌-生成和校验
目录 JWT-生成 具体代码 运行结果如下 JWT-校验 具体代码 运行结果如下 小结 JWT-生成 具体代码 /*** 测试JWT令牌的生成*/Testpublic void TestJWT() {// 设置自定义内容Map<String, Object> claims new HashMap<>();claims.put("id", 1);claims…...
GIT 常用指令
基础指令 $ git init #初始化仓库,在该文件夹创建的为workspace$ git add . #已暂存 [.通配符,全部添加]$ git commit -m "log add file" #提交到仓库,并写了日志 ”log add file“$ git status #查看状态,可查看被修改的文件…...
多目标优化
https://zhuanlan.zhihu.com/p/158705342 概念 单目标优化只有一个优化目标,所以可以比较其好坏。 但是多目标优化,在需要优化多个目标时,容易存在目标之间的冲突,一个目标的优化是以其他目标劣化为代价的,所以我们要…...
odoo的优势
plus,主要是为了能尽早通过开发者审核,加入到chatgpt4 api的开发中去,接入到我们odoo aiCenter中。4的回答,明显比3.5的更聪明了。 可能是由于国内的特殊情况吧,我们的chatgpt模块很受欢迎,我也被问了不少…...
C++:std::is_convertible
C++标志库中提供is_convertible,可以测试一种类型是否可以转换为另一只类型: template <class From, class To> struct is_convertible; 使用举例: #include <iostream> #include <string>using namespace std;struct A { }; struct B : A { };int main…...
Debian系统简介
目录 Debian系统介绍 Debian版本介绍 Debian软件源介绍 软件包管理工具dpkg dpkg核心指令详解 安装软件包 卸载软件包 查询软件包状态 验证软件包完整性 手动处理依赖关系 dpkg vs apt Debian系统介绍 Debian 和 Ubuntu 都是基于 Debian内核 的 Linux 发行版ÿ…...
蓝牙 BLE 扫描面试题大全(2):进阶面试题与实战演练
前文覆盖了 BLE 扫描的基础概念与经典问题蓝牙 BLE 扫描面试题大全(1):从基础到实战的深度解析-CSDN博客,但实际面试中,企业更关注候选人对复杂场景的应对能力(如多设备并发扫描、低功耗与高发现率的平衡)和前沿技术的…...
鸿蒙中用HarmonyOS SDK应用服务 HarmonyOS5开发一个生活电费的缴纳和查询小程序
一、项目初始化与配置 1. 创建项目 ohpm init harmony/utility-payment-app 2. 配置权限 // module.json5 {"requestPermissions": [{"name": "ohos.permission.INTERNET"},{"name": "ohos.permission.GET_NETWORK_INFO"…...
A2A JS SDK 完整教程:快速入门指南
目录 什么是 A2A JS SDK?A2A JS 安装与设置A2A JS 核心概念创建你的第一个 A2A JS 代理A2A JS 服务端开发A2A JS 客户端使用A2A JS 高级特性A2A JS 最佳实践A2A JS 故障排除 什么是 A2A JS SDK? A2A JS SDK 是一个专为 JavaScript/TypeScript 开发者设计的强大库ÿ…...
LangChain知识库管理后端接口:数据库操作详解—— 构建本地知识库系统的基础《二》
这段 Python 代码是一个完整的 知识库数据库操作模块,用于对本地知识库系统中的知识库进行增删改查(CRUD)操作。它基于 SQLAlchemy ORM 框架 和一个自定义的装饰器 with_session 实现数据库会话管理。 📘 一、整体功能概述 该模块…...
Python+ZeroMQ实战:智能车辆状态监控与模拟模式自动切换
目录 关键点 技术实现1 技术实现2 摘要: 本文将介绍如何利用Python和ZeroMQ消息队列构建一个智能车辆状态监控系统。系统能够根据时间策略自动切换驾驶模式(自动驾驶、人工驾驶、远程驾驶、主动安全),并通过实时消息推送更新车…...
Kubernetes 网络模型深度解析:Pod IP 与 Service 的负载均衡机制,Service到底是什么?
Pod IP 的本质与特性 Pod IP 的定位 纯端点地址:Pod IP 是分配给 Pod 网络命名空间的真实 IP 地址(如 10.244.1.2)无特殊名称:在 Kubernetes 中,它通常被称为 “Pod IP” 或 “容器 IP”生命周期:与 Pod …...
零知开源——STM32F103RBT6驱动 ICM20948 九轴传感器及 vofa + 上位机可视化教程
STM32F1 本教程使用零知标准板(STM32F103RBT6)通过I2C驱动ICM20948九轴传感器,实现姿态解算,并通过串口将数据实时发送至VOFA上位机进行3D可视化。代码基于开源库修改优化,适合嵌入式及物联网开发者。在基础驱动上新增…...
k8s从入门到放弃之HPA控制器
k8s从入门到放弃之HPA控制器 Kubernetes中的Horizontal Pod Autoscaler (HPA)控制器是一种用于自动扩展部署、副本集或复制控制器中Pod数量的机制。它可以根据观察到的CPU利用率(或其他自定义指标)来调整这些对象的规模,从而帮助应用程序在负…...
