AI大模型(二):AI编程实践

一、软件安装

1. 安装 Visual Studio Code

VSCode官方下载:Visual Studio Code - Code Editing. Redefined

根据自己的电脑系统选择相应的版本下载

 安装完成!

2. 安装Tongyi Lingma

打开VSCode,点击左侧菜单栏【extensions】,在extensions的搜索框里输入【tongyi】,点击【Install】安装

TONGYI Lingma是阿里推出免费的AI编程辅助工具,目前对日常编程支持度很好。

TONGYI Lingma安装成功!

 TONGYI Lingma 账号登录,会跳转到阿里云,输入手机账号密码登录即可。

3. 安装 Github Copilot

二、AI编程实践

 需求:制作一个简单的客服机器人

假装自己是一个产品经理,从未写过代码,看AI能否帮我们解决这个问题。

ChatGPT-4o Mini :【我是一个新手,我想制作一个简单的客服机器人,请问应该如何设计?】

 

ChatGPT-4o Mini  回答的完整内容:

制作一个简单的客服机器人是一个非常有趣的项目,尤其对新手来说,它能帮助你了解自然语言处理、自动化以及如何与用户交互。以下是设计一个基本客服机器人的步骤:

### 1. **确定机器人的功能与范围**
首先要明确你想让机器人执行哪些任务,通常客服机器人会具备以下一些功能:
- **回答常见问题**:提供自动化的回答,如产品信息、订单状态、退换货政策等。
- **收集信息**:收集用户的基本信息或问题描述。
- **转接人工客服**:当机器人无法解答时,将对话转接给人工客服。

### 2. **选择技术和工具**
对于一个新手来说,可以使用一些现成的开发平台,省去复杂的技术难题:

#### 选项1:**使用聊天机器人平台**
如果你不想从头开始编写代码,可以选择一些现成的机器人平台,它们提供了可视化的设计界面,可以帮助你快速创建简单的客服机器人:
- **Dialogflow**(由Google提供)
- **Rasa**(开源,适合有一定编程基础的用户)
- **ManyChat**(专注于社交平台如Facebook Messenger的聊天机器人)
- **Chatbot.com**(支持无编程开发)

这些平台大多数都提供自然语言理解(NLU)模块,可以帮助你理解用户的意图,并根据预设的规则进行应答。

#### 选项2:**使用编程语言和库**
如果你有一定的编程基础,可以使用以下工具:
- **Python**:Python非常适合做简单的聊天机器人,常用的库有:
  - **NLTK**:自然语言处理库。
  - **spaCy**:更强大的自然语言处理库。
  - **ChatterBot**:一个简单易用的Python库,适合聊天机器人。
  - **Flask/Django**:用于部署和搭建Web接口。

### 3. **设计聊天流程**
客服机器人通常会有一个基本的对话流,下面是一个简单的例子:
- **欢迎语**:如“您好!有什么我可以帮您的吗?”
- **用户输入**:用户询问问题或描述问题。
- **匹配意图**:机器人通过自然语言理解技术,识别用户问题的意图。
- **生成回复**:根据匹配到的意图,机器人给出相应的答复。
- **结束或转接人工客服**:如果问题解决了,机器人可以结束对话,或者当无法解决时,转接人工客服。

### 4. **设计对话内容**
根据你想要解决的客户服务问题,提前准备一些常见问题和答案。比如:
- **“你们的工作时间是什么?”**
  - 回复:我们每天9:00AM到6:00PM为您服务。
  
- **“如何查询订单状态?”**
  - 回复:您可以通过输入订单号查询订单状态。

你也可以使用**预设模板**和**关键词匹配**来快速响应一些常见问题。

### 5. **集成与测试**
如果你使用的是平台或框架,你可能需要将机器人集成到网站、APP或社交媒体平台中(如微信、Facebook Messenger)。如果是通过编程实现,则需要创建一个服务器来接收用户请求,并返回机器人的回答。

- **集成到网站**:你可以使用像**Flask**或**Django**这样的小型Web框架来开发Web接口,并将机器人集成到网页中。
- **集成到社交平台**:如微信、Slack、Telegram等,很多平台都有API,你可以将机器人部署到这些平台进行交互。

### 6. **用户反馈与优化**
- **日志记录**:记录用户的对话日志,可以帮助你了解机器人在哪些地方回答不准确或无法回答的问题。
- **机器学习训练**:通过用户反馈和新的对话数据,定期训练和优化机器人的语言理解能力。

### 7. **部署与维护**
将机器人部署到实际环境中后,要定期进行监控和优化,确保其稳定运行。可以设置定期的更新和维护,添加新的功能和解决新的问题。

---

### 小结
制作一个简单的客服机器人,可以通过以下步骤完成:
1. 确定机器人的功能与范围。
2. 选择合适的技术或平台(如Dialogflow、Rasa等)。
3. 设计聊天流程与常见问题。
4. 集成机器人到网站或社交平台。
5. 进行测试、优化与维护。

通过不断学习和优化,客服机器人能够变得更加智能和高效。希望这个大纲能帮助你开始你的项目!如果你有具体的问题或者需要更详细的帮助,可以继续问我!

 

可以看出回答的内容很泛, 接着我们来缩小范围。

继续问【我只想要用户提交问题,然后通过大模型回答问题的客服机器人,应该如何实现?】

ChatGPT-4o Mini  回答的完整内容:

如果你的目标是构建一个简单的客服机器人,用户提交问题后通过大语言模型(如OpenAI的GPT)回答问题,实际上可以按照以下步骤实现。这个设计的核心就是通过一个大模型来理解和回答用户的问题,而不涉及复杂的流程管理、意图识别等。

### 1. **选择合适的API接口**
由于你希望通过大模型回答用户问题,最简单的方式是调用现有的大模型API,比如OpenAI的API(如GPT-4、GPT-3.5等),通过该接口与模型交互,获取问题的答案。

- **OpenAI GPT API**:可以用来发送用户的提问,并获取GPT模型的回答。
- **其他大模型API**:例如Anthropic的Claude、Google的PaLM等也有类似功能。

### 2. **搭建一个简单的Web接口**
为了让用户能够提交问题,你需要一个简单的Web接口。在这里,我假设你使用Python和Flask来实现这个Web应用。

#### 步骤1: 安装必要的库
首先,确保你安装了Flask和OpenAI的Python客户端库:

```bash
pip install flask openai
```

#### 步骤2: 获取OpenAI API密钥
- 注册OpenAI账户,并生成API密钥:[OpenAI API](https://platform.openai.com/)
- 获取API密钥后,保存在一个安全的地方。

#### 步骤3: 编写Flask应用
接下来,编写一个简单的Flask应用,允许用户提交问题并通过OpenAI的API获取答案。

```python
import openai
from flask import Flask, request, jsonify

# 设置OpenAI的API密钥
openai.api_key = 'your-openai-api-key'

# 初始化Flask应用
app = Flask(__name__)

@app.route('/')
def index():
    return '''<form method="post" action="/ask">
                  <label for="question">请输入您的问题:</label><br>
                  <input type="text" id="question" name="question" size="50"><br><br>
                  <input type="submit" value="提交">
                </form>'''

@app.route('/ask', methods=['POST'])
def ask():
    user_question = request.form['question']
    
    # 使用OpenAI的API来回答用户的问题
    response = openai.Completion.create(
        engine="gpt-4",  # 可以选择使用不同的模型,如gpt-3.5、gpt-4
        prompt=user_question,
        max_tokens=150,
        temperature=0.7
    )
    
    answer = response.choices[0].text.strip()
    
    # 返回答案
    return jsonify({
        'question': user_question,
        'answer': answer
    })

if __name__ == '__main__':
    app.run(debug=True)
```

这个Flask应用的简单结构如下:
- **根页面 (`/`)**:显示一个提交问题的表单。
- **`/ask` 路由**:接收用户提交的问题,调用OpenAI的API生成回答,并将回答返回给用户。

#### 步骤4: 运行Flask应用
在终端中运行Flask应用:

```bash
python app.py
```

Flask应用会启动并在本地服务器上运行。你可以通过浏览器访问 `http://127.0.0.1:5000/`,输入问题,提交后会看到机器人的回答。

### 3. **部署到云平台**
如果你希望让其他用户也能使用这个机器人,你可以将这个应用部署到云平台上,常见的选择有:
- **Heroku**:适合快速部署Python应用。
- **Vercel** 或 **Netlify**:这些平台也支持Python后台服务,尤其适合简单的Web应用。
- **AWS、Google Cloud、Azure**:如果你有更多的技术要求,选择这些云平台也可以。

以**Heroku**为例,你可以按照以下步骤进行部署:
1. **创建一个`requirements.txt`** 文件,列出需要的Python库:
   ```text
   Flask==2.1.2
   openai==0.27.0
   ```
2. **创建一个`Procfile`**,告诉Heroku如何启动你的应用:
   ```text
   web: python app.py
   ```
3. **将代码推送到GitHub**,然后连接到Heroku进行部署。

### 4. **扩展与优化**
尽管这个设计已经可以让用户提交问题并得到回答,但你可以根据需要做一些扩展和优化:

- **缓存回答**:可以考虑使用缓存(如Redis),避免重复的问题每次都调用API,从而提高效率并减少费用。
- **输入限制与过滤**:在实际使用中,需要过滤掉一些不当或恶意的输入,确保机器人不会回答敏感内容。
- **日志记录**:记录用户的提问和机器人的回答,方便后期分析和优化。
- **UI优化**:可以设计更友好的用户界面,例如使用JavaScript、React等实现更动态的交互体验。

### 小结
简单的客服机器人可以通过调用大模型(如OpenAI的GPT)实现。基本步骤包括:
1. 获取OpenAI的API密钥并安装相关库。
2. 使用Flask等框架搭建Web接口,允许用户提交问题。
3. 使用OpenAI的API返回问题的答案。
4. 部署到云平台让更多用户访问。

这样,你就能快速实现一个基于大模型的客服机器人,用户只需要提交问题,系统就能自动生成回答。如果你有任何问题或需要进一步的帮助,随时告诉我!

 

希望再具体一点,于是接着问

【那么怎么实现服务器端部分,如何写一个后端服务器】

ChatGPT-4o Mini  回答的完整内容:

要实现一个简单的后端服务器,你可以使用 **Python** 和 **Flask** 来快速构建服务器端部分。Flask 是一个轻量级的 Web 框架,适合用来搭建小型应用。下面我将详细介绍如何从零开始实现后端服务器,使其能够处理用户提交的问题,并通过 OpenAI 的 API 获取答案。

### 1. **搭建后端服务器**

#### 1.1 安装必要的库

首先,你需要安装以下 Python 库:
- **Flask**:用于构建 Web 服务器。
- **OpenAI**:用于与 OpenAI API 进行交互,获取 GPT 模型的回答。

打开终端,执行以下命令安装:

```bash
pip install flask openai
```

#### 1.2 获取 OpenAI API 密钥

- 注册 OpenAI 账号并生成 API 密钥:[OpenAI API](https://platform.openai.com/).
- 保存你的 API 密钥,并确保它在代码中可用。

#### 1.3 编写 Flask 后端代码

接下来,我们将创建一个 Flask 应用来处理用户请求,并通过 OpenAI API 返回相应的答案。

**`app.py`**:

```python
import openai
from flask import Flask, request, jsonify

# 设置OpenAI的API密钥
openai.api_key = 'your-openai-api-key'  # 请替换为你自己的API密钥

# 初始化Flask应用
app = Flask(__name__)

# 首页路由,显示一个简单的HTML表单,供用户提交问题
@app.route('/')
def index():
    return '''
        <form method="POST" action="/ask">
            <label for="question">请输入您的问题:</label><br>
            <input type="text" id="question" name="question" size="50"><br><br>
            <input type="submit" value="提交">
        </form>
    '''

# 提问路由,处理用户提交的问题并通过OpenAI API获取答案
@app.route('/ask', methods=['POST'])
def ask():
    user_question = request.form['question']
    
    # 调用OpenAI的API来生成问题的答案
    try:
        response = openai.Completion.create(
            engine="gpt-4",  # 你可以选择不同的模型,如 "gpt-3.5-turbo" 或 "gpt-4"
            prompt=user_question,
            max_tokens=150,
            temperature=0.7
        )
        
        # 获取模型的回答
        answer = response.choices[0].text.strip()
        
        # 返回JSON格式的回答
        return jsonify({
            'question': user_question,
            'answer': answer
        })
    except Exception as e:
        # 如果发生错误,返回错误信息
        return jsonify({'error': str(e)})

if __name__ == '__main__':
    # 启动Flask应用,默认端口为5000
    app.run(debug=True)
```

#### 代码说明:
1. **Flask基础应用**:我们创建了一个简单的 Flask 应用,并定义了两个路由:
   - **`/`**:显示一个简单的表单,用户可以在其中输入问题。
   - **`/ask`**:处理 POST 请求,接受用户提交的问题,调用 OpenAI API 获取回答。
   
2. **调用 OpenAI API**:使用 `openai.Completion.create` 方法向 OpenAI API 提交用户的问题并获取回答。此处我们使用 `gpt-4` 模型,你可以根据需求选择不同的模型(如 `gpt-3.5`)。

3. **返回回答**:Flask 会将 API 返回的回答(`answer`)作为 JSON 返回给用户。如果发生错误,会返回错误信息。

### 2. **运行后端服务器**

1. **确保你有一个有效的 OpenAI API 密钥**,并将其替换到代码中的 `openai.api_key` 位置。

2. 在终端中运行 Python 文件:

```bash
python app.py
```

Flask 会启动一个本地服务器,默认情况下,服务器会运行在 `http://127.0.0.1:5000/`。

3. 打开浏览器,访问 `http://127.0.0.1:5000/`,你将看到一个简单的表单,用户可以在此表单中输入问题并提交。

4. 提交问题后,后台将调用 OpenAI API 并返回相应的答案。

### 3. **部署到线上环境**

当你完成本地开发后,可能需要将后端应用部署到生产环境,以便其他用户能够访问。你可以使用以下平台进行部署:

#### 3.1 使用 **Heroku** 部署

Heroku 是一个非常适合小型应用的云平台,支持快速部署。以下是将 Flask 应用部署到 Heroku 的步骤:

1. **创建一个 `requirements.txt`**,列出所有依赖的库:
   ```text
   Flask==2.1.2
   openai==0.27.0
   ```

2. **创建一个 `Procfile`**,告诉 Heroku 如何启动你的应用:
   ```text
   web: python app.py
   ```

3. **初始化 Git 仓库**(如果你还没有初始化 Git):
   ```bash
   git init
   git add .
   git commit -m "Initial commit"
   ```

4. **将应用推送到 Heroku**:
   - 登录 Heroku:`heroku login`
   - 创建应用:`heroku create`
   - 将代码推送到 Heroku:`git push heroku master`

5. 完成后,你的应用将部署到 Heroku,并可以通过 Heroku 提供的 URL 进行访问。

#### 3.2 使用 **AWS**、**Google Cloud** 或 **Azure** 部署

如果你需要更多的控制权,或者希望应用托管在企业级云平台上,你可以使用 AWS、Google Cloud、Azure 等平台来部署你的 Flask 应用。这些平台的部署方法稍微复杂一些,通常涉及创建虚拟机、安装环境、配置 Web 服务器(如 Nginx 或 Apache)等。

### 4. **扩展功能**

你可以在此基础上继续扩展你的后端功能:
- **问题缓存**:为了减少 API 调用次数,可以缓存重复的问题及其答案。例如,可以使用 Redis 缓存用户问题的答案。
- **输入验证与清理**:可以添加一些对用户输入的检查和过滤机制,避免恶意或无意义的问题。
- **日志记录**:记录用户的提问和机器人的回答,以便后期分析与优化。

### 小结

通过 Flask 和 OpenAI API,你可以快速构建一个简单的后端服务器,实现用户提交问题并通过 GPT 模型获取答案的功能。关键步骤包括:
1. 安装 Flask 和 OpenAI SDK。
2. 编写处理问题的后端代码,使用 OpenAI API 获取答案。
3. 运行和部署服务器,提供 Web 界面供用户提问。

如果你有任何问题,或者需要进一步的帮助,请随时向我提问!

 

可以看到它的结果比前面更具体了。接下来我们按它的步骤进行操作,看能否成功呢?

GPT提示:【1.1 安装必要的库】

我的实操: 【1.1 安装必要的库】


GPT提示:【1.2 获取 OpenAI API 密钥】

我的实操: 【1.2 获取 OpenAI API 密钥】

此处省略截图


GPT提示:【1.3 编写 Flask 后端代码】

我的实操: 【1.3 编写 Flask 后端代码】

在VSCode软件的项目文件夹下,新建app.py文件,该文件写入如下代码。

import openai
from flask import Flask, request, jsonify

# 设置OpenAI的API密钥
openai.api_key = 'your-openai-api-key'  # 请替换为你自己的API密钥

# 初始化Flask应用
app = Flask(__name__)

# 首页路由,显示一个简单的HTML表单,供用户提交问题
@app.route('/')
def index():
    return '''
        <form method="POST" action="/ask">
            <label for="question">请输入您的问题:</label><br>
            <input type="text" id="question" name="question" size="50"><br><br>
            <input type="submit" value="提交">
        </form>
    '''

# 提问路由,处理用户提交的问题并通过OpenAI API获取答案
@app.route('/ask', methods=['POST'])
def ask():
    user_question = request.form['question']
    
    # 调用OpenAI的API来生成问题的答案
    try:
        response = openai.Completion.create(
            engine="gpt-4",  # 你可以选择不同的模型,如 "gpt-3.5-turbo" 或 "gpt-4"
            prompt=user_question,
            max_tokens=150,
            temperature=0.7
        )
        
        # 获取模型的回答
        answer = response.choices[0].text.strip()
        
        # 返回JSON格式的回答
        return jsonify({
            'question': user_question,
            'answer': answer
        })
    except Exception as e:
        # 如果发生错误,返回错误信息
        return jsonify({'error': str(e)})

if __name__ == '__main__':
    # 启动Flask应用,默认端口为5000
    app.run(debug=True)

"""
代码说明:
1. Flask基础应用:我们创建了一个简单的 Flask 应用,并定义了两个路由:
    /:显示一个简单的表单,用户可以在其中输入问题。
    /ask:处理 POST 请求,接受用户提交的问题,调用 OpenAI API 获取回答。

2. 调用 OpenAI API:使用 openai.Completion.create 方法向 OpenAI API 提交用户的问题并获取回答。此处我们使用 gpt-4 模型,你可以根据需求选择不同的模型(如 gpt-3.5)。

3. 返回回答:Flask 会将 API 返回的回答(answer)作为 JSON 返回给用户。如果发生错误,会返回错误信息。
"""

代码运行:

 

GPT提示:【2. 运行后端服务器

我的实操: 【2. 运行后端服务器

打开浏览器,访问 http://127.0.0.1:5000/


好了,这就基本实现了通过chatgpt的指导,让一个不会编程的人,完成制作客服机器人的需求。

如果还想要调整前端界面,让其交互更美观,或是部署到线上环境,可以继续参照上述示例,让GPT生成对应代码,然后我们再逐步copy验证。

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

linux c 语言回调函数学习

动机 最近在看 IO多路复用&#xff0c;包括 select() poll () epoll() 的原理以及libevent&#xff0c; 对里面提及的回调机制 比较头大&#xff0c;特写此文用例记录学习笔记。 什么是回调函数 网上看到的最多的一句话便是&#xff1a;回调函数 就是 函数指针的一种用法&am…

Python 正则表达式的一些介绍和使用方法说明(数字、字母和数字、电子邮件地址、网址、电话号码(简单)、IPv4 )

## 正则表达式的概念和用途 正则表达式&#xff08;Regular Expression&#xff0c;简称Regex&#xff09;是对字符串操作的一种逻辑公式&#xff0c;由一些事先定义好的特定字符以及这些特定字符的组合所构成。这些特定字符及其组合被用来描述在搜索文本时要匹配的一个或多个…

DreamClear:字节跳动开源了高性能图像修复技术,中科院加持,商业免费使用

哇&#xff0c;字节跳动开源了DreamClear项目&#xff0c;采用的是Apache-2.0开源协议&#xff0c;可以商用&#xff0c;并且用户可以自由地使用、复制、修改和分发该软件&#xff0c;甚至可以用于私有项目中。这对于开发者和企业来说是个好消息&#xff0c;因为它们可以利用这…

Flutter:android studio无法运行到模拟机的问题

提示如下错误信息&#xff1a; Entrypoint is not a Dart filenot applicable for the "main.dart" configurat点击运行按钮提示让填写以下信息 或者出现无法选择模拟机的情况 发下下列问题&#xff1a; 无法运行的项目默认根目录地址&#xff1a; 可以正常运行…

FromData格式提交接口时入参被转成JSON格式问题

本地上传文件后通过事件提交文件&#xff0c;一般先通过前端组件生成文本流&#xff0c;在通过接口提交文本流&#xff0c;提交文本流一般使用FormData的入参形式传入&#xff0c;接口请求头也默认"Content-Type": “multipart/form-data”&#xff0c;但是某些场景统…

<AI 学习> 下载 Stable Diffusions via Windows OS

注意&#xff1a; 不能使用 网络路径 不再支持 HTTPS 登录&#xff0c;需要 Token 1. 获得合法的授权 Stability AI License — Stability AI 上面的链接打开&#xff0c;去申请 许可 2. 拥有 HuggingFace 账号 注册&#xff1a;https://huggingface.co/ 3. 配置 Tok…

MySQL缓存使用率超过80%的解决方法

MySQL缓存使用率超过80%的解决方法 一、识别缓存使用率过高的问题1.1 使用SHOW GLOBAL STATUS命令监控1.2 监控其他相关指标二、分析缓存使用率过高的原因2.1 数据量增长2.2 查询模式变化2.3 配置不当三、解决缓存使用率过高的方法3.1 调整Buffer Pool大小3.1.1 计算合理的Buff…

39.安卓逆向-壳-smali语法3(方法)

免责声明&#xff1a;内容仅供学习参考&#xff0c;请合法利用知识&#xff0c;禁止进行违法犯罪活动&#xff01; 内容参考于&#xff1a;图灵Python学院 本人写的内容纯属胡编乱造&#xff0c;全都是合成造假&#xff0c;仅仅只是为了娱乐&#xff0c;请不要盲目相信。 工…

《FreeRTOS任务基础知识以及任务创建相关函数》

目录 1.FreeRTOS多任务系统与传统单片机单任务系统的区别 2.FreeRTOS中的任务&#xff08;Task&#xff09;介绍 2.1 任务特性 2.2 FreeRTOS中的任务状态 2.3 FreeRTOS中的任务优先级 2.4 在任务函数中退出 2.5 任务控制块和任务堆栈 2.5.1 任务控制块 2.5.2 任务堆栈…

RHCE的学习(18)

第二章 变量和引用 深入认识变量 在程序设计语言中&#xff0c;变量是一个非常重要的概念。也是初学者在进行Shell程序设计之前必须掌握的一个非常基础的概念。只有理解变量的使用方法&#xff0c;才能设计出良好的程序。本节将介绍Shell中变量的相关知识。 什么是变量 顾名思义…

AG32 FPGA部分简单开发

环境 Quartus 13.0&#xff08;Quartus 不能使用Lite 版本&#xff0c;需要使用Full 版本&#xff09;AGM SDKSupra&#xff08;快捷方式在SDK目录下&#xff0c;具体路径为AgRV_pio\packages\tool-agrv_logic\bin&#xff09; FPGA编程 在AG32芯片中&#xff0c;拥有异构双…

__VUE_PROD_HYDRATION_MISMATCH_DETAILS__ is not explicitly defined

VUE_PROD_HYDRATION_MISMATCH_DETAILS 未明确定义。您正在运行 Vue 的 esm-bundler 构建&#xff0c;它期望这些编译时功能标志通过捆绑器配置全局注入&#xff0c;以便在生产捆绑包中获得更好的tree-shaking优化。 Vue.js应用程序正在使用ESM&#xff08;ECMAScript模块&#…

Spring——事务

事务 JdbcTemplate 简介 Spring框架对JDBC进行封装&#xff0c;使用JdbcTemplate方便实现对数据库操作 准备工作 ①搭建子模块 搭建子模块&#xff1a;spring-jdbc-tx ②加入依赖 <dependencies><!--spring jdbc Spring 持久化层支持jar包--><dependenc…

集合类源码浅析のJDK1.8ConcurrentHashMap(下篇)

文章目录 前言一、分段扩容1、addCount2、transfer3、helpTransfer 二、查询二、删除总结 前言 主要记录ConcurrentHashMap&#xff08;笔记中简称CHM&#xff09;的查询&#xff0c;删除&#xff0c;以及扩容方法的关键源码分析。 一、分段扩容 1、addCount 扩容的逻辑主要在…

H5页面多个视频如何只同时播放一个?

目录 背景1. 首先介绍下 muted 属性2. 监听播放和暂停操作3. 视频播放完毕后返回桌面&#xff0c;再进入H5页面发现视频封面丢失置灰解决思路&#xff1a; 背景 页面模块同时有个四个视频模块&#xff0c;发现可以同时播放四个视频&#xff0c;但是理想的是每次只播放一个。 …

D69【 python 接口自动化学习】- python 基础之数据库

day69 Python 执行 SQL 语句 学习日期&#xff1a;20241115 学习目标&#xff1a; MySQL 数据库&#xfe63;- Python连接redis 学习笔记&#xff1a; redis数据库的用途 使用Python访问redis数据库 使用Python对redis数据库进行读写操作 总结 1. redis是一款高性能的键…

jmeter常用配置元件介绍总结之逻辑控制器

系列文章目录 安装jmeter jmeter常用配置元件介绍总结之逻辑控制器 逻辑控制器1.IF控制器2.事务控制器3.循环控制器4.While控制器5.ForEach控制器6.Include控制器7.Runtime控制器8.临界部分控制器9.交替控制器10.仅一次控制器11.简单控制器12.随机控制器13.随机顺序控制器14.吞…

21.<基于Spring图书管理系统②(图书列表+删除图书+更改图书)(非强制登录版本完结)>

PS&#xff1a; 开闭原则 定义和背景‌ ‌开闭原则&#xff08;Open-Closed Principle, OCP&#xff09;‌&#xff0c;也称为开放封闭原则&#xff0c;是面向对象设计中的一个基本原则。该原则强调软件中的模块、类或函数应该对扩展开放&#xff0c;对修改封闭。这意味着一个软…

springboot实现简单的数据查询接口(无实体类)

目录 前言&#xff1a;springboot整体架构 1、ZjGxbMapper.xml 2、ZjGxbMapper.java 3、ZjGxbService.java 4、ZjGxbController.java 5、调用接口测试数据是否正确 6、打包放到服务器即可 前言&#xff1a;springboot整体架构 文件架构&#xff0c;主要编写框选的这几类…

【已解决】 Tomcat10.1.x使用JSTL标签库

IDEA创建Java EE项目&#xff0c;使用Spring Spring MVC MyBatis框架&#xff0c;使用maven管理依赖。项目当前的环境是&#xff1a; Tomat 10.1.28Maven 3.6.3JDK 17 项目的功能&#xff1a;读取数据库的report表中的数据&#xff0c;返回一个List集合对象reportList在JSP…