【100天精通python】Day47:python网络编程_Web编程基础

news2024/11/20 10:32:54

目录

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应用程序所需的一系列技术和流程。主要内容如下:

  1. 前端开发: 前端开发涉及构建用户在浏览器中看到和与之交互的界面。它通常使用HTML(超文本标记语言)、CSS(层叠样式表)和JavaScript来创建页面布局、样式和交互效果。

  2. 后端开发: 后端开发处理服务器端的逻辑和数据处理。这包括与数据库交互、处理业务逻辑、用户认证、安全性等。后端开发可以使用各种编程语言和框架,如Node.js、Python(Django、Flask)、Java(Spring Boot)等。

  3. 数据库: 数据库用于存储和管理应用程序的数据。常见的数据库类型包括关系型数据库(如MySQL、PostgreSQL)和NoSQL数据库(如MongoDB、Redis)。

  4. 前后端通信: 前端和后端通过HTTP协议进行通信。前端发送请求并接收响应,后端处理请求并提供数据或执行所需的操作。

  5. 版本控制: 版本控制系统(如Git)用于跟踪和管理代码的变化,使开发团队能够协同工作并追踪代码的历史记录。

  6. 响应式设计: 响应式设计确保网站在不同设备和屏幕尺寸上都能正常显示和工作,提供一致的用户体验。

  7. 安全性: Web开发中的安全性是至关重要的。开发人员需要注意防止跨站脚本攻击(XSS)、跨站请求伪造(CSRF)、SQL注入等安全问题。

  8. 性能优化: 优化Web应用程序的性能包括压缩资源、减少HTTP请求、使用缓存、延迟加载等方法,以确保用户获得快速且流畅的体验。

  9. 部署和托管: 部署是将开发完成的应用程序发布到生产环境的过程。应用程序可以托管在云服务提供商(如AWS、Azure、Heroku)或自己的服务器上。

  10. 测试: 测试是确保应用程序在各种情况下都能正常工作的关键步骤。这包括单元测试、集成测试、端到端测试等。

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 socketserver

PORT = 8000

Handler = http.server.SimpleHTTPRequestHandler

with 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协议进行数据的传输和通信。以下是前后端交互的基本步骤:

  1. 客户端发送请求:前端通过浏览器发送HTTP请求到服务器。请求可以是不同的类型,如GET、POST等,以及附带着请求参数或表单数据。

  2. 服务器处理请求:服务器接收到请求后,根据请求的URL路径和参数,找到相应的处理逻辑(后端代码)。服务器可能会访问数据库、执行业务逻辑等。

  3. 服务器返回响应:后端处理完成后,生成一个HTTP响应,并将数据或结果返回给前端。响应可以包含不同的内容,如HTML页面、JSON数据等。

  4. 客户端处理响应:前端收到服务器的响应后,根据响应的内容和状态码进行处理。如果是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的一些重要信息:

  1. 动态网页生成: 在早期的互联网发展阶段,网页通常是静态的,即在服务器上预先创建并存储的。但随着互联网的发展,人们需要能够根据用户的请求动态生成内容,这就导致了CGI的出现。

  2. HTTP 请求和响应: 当用户在浏览器中请求一个CGI 脚本,Web 服务器会解析请求中的CGI 路径,并将请求中的信息传递给脚本。脚本可以处理这些信息,生成动态内容,并将其作为HTTP响应发送回服务器,最终传递给用户浏览器。

  3. 编程语言: CGI 脚本可以用多种编程语言编写,例如Perl、Python、PHP、Ruby 等。这些脚本语言允许开发者处理数据、生成 HTML、与数据库交互等操作,从而实现复杂的网页功能。

  4. 安全性考虑: 由于CGI 脚本涉及与外部程序的交互,存在一些安全风险。不正确的实现可能导致安全漏洞,例如跨站脚本攻击(XSS)或代码注入。因此,在开发和部署CGI 脚本时,安全性应当是重要的考虑因素。

  5. 替代技术: 尽管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_server

if __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接口的优势

  1. 可移植性: 使用WSGI接口编写的应用程序可以在不同的WSGI服务器上运行,从而实现跨不同服务器的可移植性。
  2. 可互操作性: WSGI使不同的应用程序和服务器能够以一致的方式进行通信,促进了Web生态系统中不同组件的互操作性。
  3. 性能: WSGI服务器通常能够更高效地处理HTTP请求,提供更好的性能。

        总之,WSGI(Web Server Gateway Interface)是一个定义了Python Web应用程序与服务器之间通信的接口标准,通过统一的接口使得开发人员能够更灵活地构建和部署Web应用程序。

5 Web 框架

5.1 什么是Web 框架

        Web 框架(Web Framework)是一种软件工具集,旨在简化和加速 Web 应用程序的开发过程。它提供了一组预先设计好的模块、函数、类和工具,帮助开发者更轻松地构建和维护功能丰富的 Web 应用程序。通过使用 Web 框架,开发者可以避免从头开始编写大量的重复性代码,从而集中精力处理业务逻辑和应用程序的核心功能。

以下是一些 Web 框架的常见特点和优势:

  1. 路由和 URL 处理: Web 框架通常提供路由功能,允许开发者将不同的 URL 映射到相应的处理函数或视图上。这使得 URL 结构更加清晰,能够轻松处理不同的请求。

  2. 模板引擎: 模板引擎允许开发者将 HTML 和动态数据结合起来,以生成动态的 Web 页面。它们通常提供条件语句、循环、变量替换等功能,帮助开发者有效地生成页面内容。

  3. 数据库交互: Web 框架通常提供数据库抽象层,简化了与数据库的交互。这使开发者能够更轻松地执行数据库查询、插入、更新和删除操作。

  4. 表单处理: Web 应用程序中经常需要处理用户提交的表单数据。Web 框架通常提供机制来验证表单数据、处理提交并生成响应。

  5. 安全性: Web 框架通常提供内置的安全机制,如防止跨站脚本攻击(XSS)和 SQL 注入。这有助于开发者编写更安全的应用程序。

  6. 会话管理: 许多 Web 应用程序需要跟踪用户的会话状态。Web 框架通常提供会话管理功能,以便开发者可以方便地管理用户会话和状态。

  7. 中间件支持: 中间件是一种机制,允许开发者在请求和响应的处理过程中插入自定义逻辑。这有助于实现一些横切关注点,如日志记录、认证和授权等。

  8. RESTful API 支持: 许多 Web 框架提供支持构建 RESTful API 的功能,使开发者能够轻松地创建基于 HTTP 方法的 API 端点。

  9. 扩展性: 好的 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适合处理高并发的情况,例如聊天应用程序和实时数据推送。

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

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

vue3:使用:图片生成二维码并复制

实现在 vue3 中根据 url 生成一个二维码码&#xff0c;且可以复制。 注&#xff09;复制功能 navigator.clipboard.write 只能在安全的localhost 这种安全网络下使用。https中需要添加安全证书&#xff0c;且在域名&#xff08;例&#xff1a;https://www.baidu.com&#xff0…

c#多线程—基础概念到“双色球”项目实现(附知识点目录、代码、视频)

总结&#xff1a;视频中对于多线程讲的非常透彻&#xff0c;从线程基础概念—>.net不同版本出现的线程方法—>多线程常出现问题—>双色球项目实践&#xff0c;每个知识点都有代码实操&#xff0c;受益匪浅。附上学习笔记和实操代码。 视频 目录 一、线程、进程概念及优…

新建Spring Boot项目

使用IDEA 来创建: 文件-新建-项目 填写项目元数据 选择依赖项 此处可以先选 web-spring web 关于这些依赖项&#xff0c;更多可参考&#xff1a; IDEA创建Spring boot项目时各依赖的说明&#xff08;Developer Tools篇&#xff09;[1] 项目结构介绍 展开项目&#xff0c;此时…

redis应用 2:延时队列

我们平时习惯于使用 Rabbitmq 和 Kafka 作为消息队列中间件&#xff0c;来给应用程序之间增加异步消息传递功能。这两个中间件都是专业的消息队列中间件&#xff0c;特性之多超出了大多数人的理解能力。 使用过 Rabbitmq 的同学知道它使用起来有多复杂&#xff0c;发消息之前要…

socket的TCP和UDP样例

【70天稳扎稳打学完JavaEE初阶】 TCP和UDP的区别及相关的不同应用 UDP实现回显功能一、UdpEchoServer服务器二、UdpEchoClient 客户端写一个 翻译服务器&#xff08;继承服务器&#xff09; UDP示例二&#xff1a;展示服务器本地某个目录的下一级子文件列表服务UDP服务器UDP客户…

什么是ChatGPT水印,ChatGPT生成的内容如何不被检测出来,原理什么?

太长不看版 1. 什么是ChatGPT水印&#xff1f; ChatGPT水印是AI以伪随机方式生成的独特tokens序列。该序列用来作为水印&#xff0c;以区分AI生成内容和人类原创内容。 2. 如何规避ChatGPT水印&#xff1f; 一种规避方法是使用其他AI模型改写ChatGPT生成的文本。这会破坏水…

Nat. Mach. Intell 2020 | drugVQA+:准VAQ系统预测药物-蛋白质相互作用

论文标题&#xff1a;Predicting drug–protein interaction using quasi-visual question answering system 论文地址&#xff1a;Predicting drug–protein interaction using quasi-visual question answering system | Nature Machine Intelligence 代码&#xff1a;GitH…

继承AndroidView Model的错误

ViewModelProvider(this)[RegisterViewModel::class.java] 一行简单的代码&#xff0c;总是报这个错误 Caused by: java.lang.NoSuchMethodException: com.xinfa.registerlogin.viewmodel.LoginViewModel. [class android.app.Application] 经过一下午的思索&#xff0c;终于找…

科普:什么是DNS劫持?

DNS劫持又叫做域名劫持&#xff0c;指攻击者利用其他攻击手段&#xff0c;篡改了某个域名的解析结果&#xff0c;使得指向该域名的IP变成了另一个IP&#xff0c;导致对相应网址的访问被劫持到另一个不可达的或者假冒的网址&#xff0c;从而实现非法窃取用户信息或者破坏正常网络…

我们的第一个 Qt 窗口程序

Qt 入门实战教程&#xff08;目录&#xff09; Windows Qt 5.12.10下载与安装 为何使用Qt Creator开发QT 本文介绍用Qt自带的集成开发工具Qt Creator创建Qt默认的窗口程序。 本文不需要你另外安装Visual Studio 2022这样的集成开发环境&#xff0c;也不需要你再在Visual St…

【单片机】有人WH-LTE-7S1 4G cat1 模块连接服务器,教程,记录

文章目录 4G cat1 模块封装引脚名称功能拓扑图串口模块调试WH-LTE-7S1 4G cat1 模块 我买的这个模块内置了电信卡&#xff0c;不用插电话卡就能用&#xff0c;要插也行&#xff0c;在背面。 ⚫ 5-16V 宽电压供电 ⚫ LTE Cat 1&#xff0c;搭载 4G 网络&#xff0c;低时延&…

2023年腾讯云轻量应用服务器优缺点大全

2023年腾讯云轻量应用服务器优缺点大全&#xff0c;腾讯云轻量应用服务器性能如何&#xff1f;轻量服务器CPU内存带宽配置高&#xff0c;CPU采用什么型号主频多少&#xff1f;轻量应用服务器会不会比云服务器CVM性能差&#xff1f;腾讯云服务器网详解CPU型号主频、内存、公网带…

《存储IO路径》专题:IO虚拟化初探

大家好&#xff0c;欢迎来到今天的科技小课堂。今天我们要聊聊的是一项非常有趣且实用的技术——I/O虚拟化&#xff08;Input/Output Virtualization&#xff0c;简称IOV&#xff09;。想象一下&#xff0c;如果把物理硬件资源比作一道丰盛的大餐&#xff0c;那么IOV就是那位神…

Java 若依框架系统工具生成代码,前后端以及菜单添加使用示例

前言 若依框架不多介绍&#xff0c;目前比较流行的一款开源的后台管理框架&#xff0c;主要技术栈 后台spingboot、spingcloud 前端vue2 vue3版本的都有&#xff0c;可以去官方下载看看。 若依框架提供代码生成的功能&#xff0c;方便我们把简单的增删改查前后端代码生成直接…

【JAVA基础——JAVA8版本特性】

JAVA基础 版本特性 文章目录 JAVA基础Java8Lambda表达式lambda表达式类型 函数式接口接口默认方法与静态方法接口默认方法接口静态方法 方法引用OptionalStream流生产Stream Source的方式流的方法parallelStream流 Date/Time API其他特性重复注解扩展注解参数名字保留在字节码…

绿色能源迎来跨越式增长新时代

当今世界&#xff0c;百年未有之大变局加速演进&#xff0c;新一轮科技革命和产业变革深入发展&#xff0c;全球气候治理呈现新局面&#xff0c;新能源和信息技术紧密融合&#xff0c;生产生活方式加快转向低碳化、智能化&#xff0c;能源体系和发展模式正在进入非化石能源主导…

ROS中使用Navigation报错信息

在ROS中使用遇到了几个Navigation报错信息&#xff0c;在这里进行下记录&#xff1a; [ WARN] [1688134727.429227824]: The origin for the sensor at (7.35, 13.12) is out of map bounds. So, the costmap cannot raytrace for it. 解决办法&#xff1a; [ WARN] [16881…

flink on yarn with kerberos 边缘提交

flink on yarn 带kerberos 远程提交 实现 flink kerberos 配置 先使用ugi进行一次认证正常提交 import com.google.common.io.Files; import lombok.extern.slf4j.Slf4j; import org.apache.commons.io.FileUtils; import org.apache.flink.client.cli.CliFrontend; import o…

Gorilla LLM:连接海量 API 的大型语言模型

如果你对这篇文章感兴趣&#xff0c;而且你想要了解更多关于AI领域的实战技巧&#xff0c;可以关注「技术狂潮AI」公众号。在这里&#xff0c;你可以看到最新最热的AIGC领域的干货文章和案例实战教程。 一、前言 在当今这个数字化时代&#xff0c;大型语言模型&#xff08;LLM…

史上最全AP、mAP详解与代码实现

文章目录 前言一、mAP原理1、mAP概念2、准确率3、精确率4、召回率5、AP: Average Precision 二、mAP0.5与mAP0.5:0.951、mAP0.52、mAP0.5:0.95 三、mAP代码实现1、真实标签json文件格式2、模型预测标签json文件格式3、mAP代码实现4、mAP结果显示 四、模型集成mAP代码1、模型mai…