当前位置: 首页 > news >正文

面向AI 的前端发展及初识大模型

AI带来的开发范式迁移

随着AI的涌现,对前端的发展也有着非常大的影响,总结过去前端的发展路径,目前应该属于又一次的大规模的开发范式迁移阶段。上一个阶段是从jqueryReact/Vue/Angular迁移(jquery之前的就不讨论了)。每一次的开发范式迁移不仅仅是技术上的升级,也是开发思维的转变。这里简单回顾一下上一次的开发范式迁移对前端的影响。

上一次的开发范式迁移:从 jQuery 到 React/Vue

范式jQuery(命令式编程)React/Vue(声明式编程)
核心思想手动操作 DOM,逐步更新 UI声明 UI 结构,自动管理 DOM
数据管理依赖全局变量或手动更新组件内部状态管理(React useState,Vue reactive
事件绑定$('#btn').on('click', function() {...})<button @click="handleClick">(Vue) 或 onClick={handleClick}(React)
组件化需要手动拆分 HTML + JS 逻辑组件化开发(React 组件、Vue 组件)
性能优化直接操作 DOM,易造成性能瓶颈虚拟 DOM + 计算属性,减少不必要的 DOM 变更
代码组织面向过程,逻辑分散组件驱动,逻辑集中

什么是开发范式的迁移

用一张图来说明什么是开发范式的迁移。
在这里插入图片描述

目前我们应该正处于第二次的开发范式迁移的阶段,随着AI的出现,也涌现了一批新的开发技术,比如:v0( Vercel 团队推出,主要用于 React 和 Next.js 项目。
通过 AI 生成 UI 组件,帮助开发者快速搭建页面。)还有bolt。
那以后前端该怎么发展呢?我认为目前有两个方向,一个是制造AI工具的前端,还有一个是使用AI工具的前端如下图所示:
在这里插入图片描述

制造AI工具的前端

要成为这一类角色有两个前提,一个是本身具有很高的前端造诣,另一个是很熟悉相关的AI技术,可以把AI技术很好的带入到前段这个领域,在前端各个流程中能有效的把AI引入进来赋能,也有可能会因为AI的引入而改变目前的工作流程,因为AI或者说大模型的应用是专业的知识 + 特定的领域 = 最佳实践(这个后续会聊,会使用RAG实践一个私有组件库生成业务组件的示例)

使用AI工具的前端多才

这个就是上图中说的使用AI工具的前端,这里的“多才”指的是以前端技能为核心能力,同时掌握与前端相邻以及平行工种的工作技能。
相邻:UI、测试、后端
平行工种:其他段的前端

因为目前国内的现状是前端碎片化比较严重,有实力的公司会组件大前端团队,而一般的公司为了节约成本就会使用跨端方案,比如UniApp、Taro、React Native、Flutter;而由于各端的业务逻辑大体一致,实现某一端之后可以尝试使用AI将代码转为其他段的代码,只要AI的转换成本比调试夸端的成本低那就可行。

理解大模型

作为大模型的使用者,我们不用太关心内部的实现细节,我们完全可以把大模型当做黑盒,关注的是输入和输出。

大模型的对话角色

  1. System: 系统角色,通常代表大模型的底层运行环境、框架或规则设定等。它负责管理和协调模型的整体运行,包括初始化模型参数、设置运行条件、分配计算资源等

  2. Assistant:大模型在与用户交互过程中所扮演的主要角色。它基于模型所学到的知识和算法,对用户输入的信息进行理解、分析和处理,然后生成相应的回答、建议、内容等,以回应用户的请求

  3. User:即使用大模型的人或其他主体(如其他软件系统等)。用户通过输入文本、指令、数据等信息与大模型进行交互,向模型提出问题、请求生成内容、寻求建议或进行其他类型的任务。

  4. Tool:在大模型的应用场景中,Tool 通常指的是模型可以调用的外部工具或功能模块。这些工具可以是专门用于特定任务的软件组件、算法库、数据库查询接口、知识图谱查询工具等,用于辅助模型更好地完成用户的任务。

Token

我们输入的文本需要被转换成大模型可理解的符号,这个符号就是Token,这里需要注意,Token和我们输入的文本字符和单词不是一一对应的关系,不同语言Token的表达效率也是不一样的,比如同样一句话,中文可能是10个Token,日语可能就是12个Token,而大模型一般都是按照Token来计费的,所以我们因该用“更少的Token去表达相同的意思”。另外不同大模型他们的分词器不一样,所以同样一句话他们的Token也是不一样的。比如这里通义千问分词器 和openAI分词器。我查了一下文档,以open AI为例子,1个token约等于4个英文字符。100个token大约等于75个英文单词。

大模型几个重要的参数

一般大多数的大模型都有 Temperature、Top_p、frequency_penalty、presence_penalty;用来
控制输出的随机性、创造性和重复性。这几个参数作用如下:

参数作用低值效果高值效果
Temperature(温度)控制随机性确定性高,回答保守更随机,适合创意内容
Top_p(核采样概率)控制候选词范围只选最可能的词,保守更多候选词,创造性更强
Frequency_penalty(频率惩罚)减少重复词容易重复同一词避免重复,表达更丰富
Presence_penalty(存在惩罚)鼓励新词出现词汇重复较多引入更多新概念、新词汇

举个例子,比如此时我输入了:“我喜欢吃” → 预测下一个token
可能的token及其概率:

  • “饭” (0.3)
  • “菜” (0.2)
  • “水果” (0.15)
  • “零食” (0.1)
Temperature

如果此时Temperature设置的是低温(取值低),把就会强化高概率选项,减少多样性,此时预测下一个值为‘饭’的概率就高。反之如果是高温取值,就会使概率分布平缓,此时各个值的概率就比较平均,增加多样性。

Top_p

设定累积概率阈值,从高到低概率依次选择的token,直到总和达到设定值。比如当Top_p=0.75时,选择:“饭”(0.3) + “菜”(0.2) + “水果”(0.15) + “零食”(0.1) = 0.75那其他选项被排除了。

Frequency Penalty 概率惩罚

高值是降低已出现token的再次出现概率,迫使模型选择新的表达方式。
上述例子中,我喜欢吃, 如果"喜欢"已经出现过:
原始概率:“喜欢”(0.3) → 惩罚后:(0.1) (降低了”喜欢“的概率)
-> 我喜欢吃饭,我也爱吃烧烤。(可能使用爱吃,而不是喜欢字眼)

Presence Penalty 存在惩罚

高值是为了降低已出现主题的相关token概率
还是上面这个例子,原始句子为 我喜欢吃xx如果被推测为我喜欢吃饭那已经出现过食物相关的主题,就会转向新的主题,比如下一句预测可能是我喜欢吃放,周末常去夜市撸串 (引入周末和夜市场景)

提示词

在我们使用大模型整体上的流程是下面这样,首先我们需要选择一个合适的大模型,在各个领域都有各个领域合适的大模型。比如擅长处理图片的,擅长处理编程的。
随后我们就需要用专业的知识来明确我们的需求。随后我们需要使用提示词来优化我们的输入最后得到比较高质量的输出。如果用一个公式来表达的话大概是这样:特定领域内 + 用专业的知识明确需求 + 好的提示词 = 高质量的输出
在这里插入图片描述

上面聊到,对于大模型的使用者而言,我们可以把大模型当做是黑盒,只需要关注输入和输出即可。对于输入,根据对话角色的分类,也包括四类提示词:

  • System Prompt
  • User Prompt
  • Assistant Prompt
  • Tool Prompt
什么是提示词工程

所谓的提示词工程就是通过不断的优化输入,提升模型的输出质量,这里的质量包含三个维度:

  1. 正确性维度:返回信息的准确度和可信度,白话文就是让人感觉”说的对“
  2. 稳定性维度:在不同场景和时间下产生可预期的一致表现,白话文就是让人感觉"靠得住"
  3. 质量维度:输出内容的专业、完整和有价值白话文就是让人感觉"说到点子上"

一个好的提示词可以最大程度的发挥出大模型的能力,但不可能超越大模型本身的能力,举个例子:
GPT3.5 能力5分 + 技巧3分 = 8分
GPT4 能力10分 + 技巧2分 = 12分
一个好的提示词的目的是为了对抗Token生成的随机性,让大模型更好的按照自己的意愿来完成任务。

提示词载体

在特定场景下一个好的载体非常重要,有利于提升模型的逻辑理解能力。举个例子,就和我们写文章一样,文章也有很多载体,比如散文、诗歌、白话文。常见提示词载体:自然语言、XML、MD、JSON、伪代码…
选好载体之后就是要写我们的提示词。还是对比写文章一样:
在这里插入图片描述
不同场景下不同的提示词载体有不同的优势。比如普通用户就比较适合自然语言,直接把自己的诉求输入给大模型,然后得到大模型的输出,这样门使用槛比较低。而比如markdown结构性非常强,天生就是用来表达文章结构的。json的结构化非常好,被用做数据交换的格式。而xml结构清晰,层次分明,有利于程序的解析。

提示词结构-CO-STAR结构

一个好的提示词应该符合CO-STAR结构,新加坡政府组织的首届 GPT-4 提示工程大赛的获奖提示词框架。一条提示词要包含如下模块:

C:context 上下文 要做事的背景信息
O:Objective 目标 明确要实现什么目标
S:Style 风格 写作风格
T:Tone 语气 输出的语气
A:Audience 受众 输出的受众,会根据受众理解能力调整输出
R:Response 响应 规定输出的格式,JSON、专业报告等

现在也有很多提示词框架来帮助我们输出更好的提示词,比如LangGPT,全称是Language For GPT like llm,创作者是中国的提示词布道师李继刚;他的核心理念就是将复杂任务分解成结构化的指令,举一个例子。

<role>你是一位专业的中英双语翻译专家
</role><task>将用户输入的文本在中英文之间互译
</task><rules>- 保持原文的意思和语气- 翻译要自然流畅- 专业术语需准确翻译- 如遇到歧义词,提供多种可能的翻译
</rules><workflow>1. 分析源文本的上下文和语境2. 进行翻译3. 校对和优化译文4. 对专业术语或歧义处提供解释说明
</workflow>
提示词模块

LangGPT为例子,模块按需组装,常见模块:

role:设定AI助手的专业背景和行为模式,明确特定场景
task:具体执行的任务,原始需求
constraints:对内容输出的限定条件
global:定义贯穿整个会话的全局变量

举一个例子

<global>$style = "有美感"$language = "中文"$topic = "爱情"
</global><role>你是一位经验丰富的浪漫主义诗人
</role><task>撰写一首关于{$topic}的诗歌
</task><constraints>- 字数限制: 200词- 风格要求: {$style}  - 语言: {$language}
</constraints>
提示词内容

模块内容本身也可以是多种载体,以 技术写作 为例:

<global>
$style = "专业简洁"
$length = "中等"
$format = "markdown"
</global><role>
你是一位经验丰富的技术写作专家,擅长{$style}风格写作
</role><task>
创建技术文档和教程
</task><constraints>
- 文章长度: {$length}
- 输出格式: {$format}
- 语言: 中文
</constraints><workflow>
1. 分析需求阶段:IF 用户提供主题:分析主题关键点ELSE:请求用户明确主题END IF2. 内容规划阶段:- 创建大纲- 确定重点内容- 设计示例代码3. 写作阶段:FOREACH 章节 IN 大纲:- 撰写内容- 添加示例- 进行解释END FOREACH4. 审查阶段:- 检查专业术语使用- 确保格式统一- 优化表达方式
</workflow><output_format>
# {标题}
## 概述
{概述内容}## 主要内容
{详细内容}## 示例
{示例代码和说明}## 总结
{关键点总结}
</output_format>
提示词的重要性

一个好的提示词非常重要,有些公司就是以提示词作为产品进行售卖,其产品的核心就是可以根据用户的原始需求生成一个好的提示词。比如copycoder就是一个典型的例子,还有很多招聘需求也是需要提示词工程师,这都表面了一个好的提示词的重要性。
在这里插入图片描述

怎么写好提示词

写提示词的步骤:

  1. 我们需要先确定特定场景下的最佳实践
  2. 判断最佳实践的复杂度:
  • 简单:自然语言输出
  • 中等:MD格式输出
  • 复杂:选定提示词载体和结构(默认LangGPT)
  1. 按需选一个提示词生成工具,输入步骤1的输出,比如有:
    月之暗面 Kimi × LangGPT 提示词专家
    OpenAI 商店 LangGPT 提示词专家
    Claude提示词工具

相关文章:

面向AI 的前端发展及初识大模型

AI带来的开发范式迁移 随着AI的涌现&#xff0c;对前端的发展也有着非常大的影响&#xff0c;总结过去前端的发展路径&#xff0c;目前应该属于又一次的大规模的开发范式迁移阶段。上一个阶段是从jquery到React/Vue/Angular迁移&#xff08;jquery之前的就不讨论了&#xff09…...

Java入门的基础学习

Java的基础语法知识 一 初始Java二 Java数据类型和变量1.字面常量2.数据类型基本数据类型引用数据类型 3.变量整型变量浮点型变量字符型变量布尔型变量 4.类型转化和提升类型转化类型提升 三 运算符1.算数运算符2.关系操作符3.逻辑运算符&#xff1a;&&&#xff0c;||&…...

万字详解 MySQL MGR 高可用集群搭建

文章目录 1、MGR 前置介绍 1.1、什么是 MGR1.2、MGR 优点1.3、MGR 缺点1.4、MGR 适用场景 2、MySQL MGR 搭建流程 2.1、环境准备2.2、搭建流程 2.2.1、配置系统环境2.2.2、安装 MySQL2.2.3、配置启动 MySQL2.2.4、修改密码、设置主从同步2.2.5、安装 MGR 插件 3、MySQL MGR 故…...

脚本无法获取响应主体(原因:CORS Missing Allow Credentials)

背景&#xff1a; 前端的端口号8080&#xff0c;后端8000。需在前端向后端传一个参数&#xff0c;让后端访问数据库去检测此参数是否出现过。涉及跨域请求&#xff0c;一直有这个bug是404文件找不到。 在修改过程当中不小心删除了一段代码&#xff0c;出现了这个bug&#xff0…...

GD32F450 使用

GB32F450使用 1. 相关知识2. 烧写程序3. SPI3.1 spi基础3.2 spi代码 4. 串口4.1 串口引脚4.2 串口通信代码 问题记录1. 修改晶振频率 注意&#xff1a;GD32F450 总共有三种封装形式&#xff0c;本文所述的相关代码和知识&#xff0c;均为 GD32F450IX 系列。 1. 相关知识 参数配…...

神经网络代码入门解析

神经网络代码入门解析 import torch import matplotlib.pyplot as pltimport randomdef create_data(w, b, data_num): # 数据生成x torch.normal(0, 1, (data_num, len(w)))y torch.matmul(x, w) b # 矩阵相乘再加bnoise torch.normal(0, 0.01, y.shape) # 为y添加噪声…...

Android 数据库查询对比(APN案例)

功能背景 APN 数据通常存储在数据库中&#xff0c;由TelephonyProvider提供。当用户进入APN设置界面时&#xff0c;Activity会启动&#xff0c;AOSP源码通过ContentResolver查询APN数据。关键分析点在于这个查询操作是否在主线程执行&#xff0c;因为主线程上的耗时操作会导致…...

神卓 S500 异地组网设备实现监控视频异地组网的详细步骤

一、设备与环境准备 硬件清单 主设备&#xff1a;神卓 S500 异地组网路由器 1子设备&#xff1a;神卓 S500 或兼容设备 N&#xff08;需通过官网认证&#xff09;监控设备&#xff1a;支持 RTSP/ONVIF 协议的 NVR、摄像头网络要求&#xff1a;各网点需稳定联网&#xff08;推荐…...

golang安装(1.23.6)

1&#xff0e;切换到安装目录 cd /usr/local 2&#xff0e;下载安装包 wget https://go.dev/dl/go1.23.6.linux-amd64.tar.gz 3&#xff0e;解压安装包 sudo tar -C /usr/local -xzf go1.23.6.linux-amd64.tar.gz 4&#xff0e;配置环境变量 vi /etc/profile export PATH$…...

leetcode35.搜索插入位置

题目&#xff1a; 给定一个排序数组和一个目标值&#xff0c;在数组中找到目标值&#xff0c;并返回其索引。如果目标值不存在于数组中&#xff0c;返回它将会被按顺序插入的位置。 请必须使用时间复杂度为 O(log n) 的算法。 示例 1: 输入: nums [1,3,5,6], target 5 输出…...

LeetCode第57题_插入区间

LeetCode 第57题&#xff1a;插入区间 题目描述 给你一个 无重叠的 &#xff0c;按照区间起始端点排序的区间列表。在列表中插入一个新的区间&#xff0c;你需要确保列表中的区间仍然有序且不重叠&#xff08;如果有必要的话&#xff0c;可以合并区间&#xff09;。 难度 中…...

人工智能之数学基础:线性代数中矩阵的运算

本文重点 矩阵的运算在解决线性方程组、描述线性变换等方面发挥着至关重要的作用。通过对矩阵进行各种运算,可以简化问题、揭示问题的本质特征。在实际应用中,我们可以利用矩阵运算来处理图像变换、数据分析、电路网络等问题。深入理解和掌握矩阵的运算,对于学习线性代数以…...

SQL Server 创建用户并授权

创建用户前需要有一个数据库&#xff0c;创建数据库命令如下&#xff1a; CREATE DATABASE [数据库名称]; CREATE DATABASE database1;一、创建登录用户 方式1&#xff1a;SQL命令 命令格式&#xff1a;CREATE LOGIN [用户名] WITH PASSWORD ‘密码’; 例如&#xff0c;创…...

MySQL双主搭建-5.7.35

文章目录 上传并安装MySQL 5.7.35双主复制的配置实例一&#xff1a;172.25.0.19&#xff1a;实例二&#xff1a;172.25.0.20&#xff1a; 配置复制用户在实例 1 &#xff08;172.25.0.19&#xff09;上执行&#xff1a;在实例 2 &#xff08;172.25.0.20&#xff09;上执行&…...

RNN实现精神分裂症患者诊断(pytorch)

RNN理论知识 RNN&#xff08;Recurrent Neural Network&#xff0c;循环神经网络&#xff09; 是一种 专门用于处理序列数据&#xff08;如时间序列、文本、语音、视频等&#xff09;的神经网络。与普通的前馈神经网络&#xff08;如 MLP、CNN&#xff09;不同&#xff0c;RNN…...

Python中字符串的常用操作

一、r原样输出 在 Python 中&#xff0c;字符串前加 r&#xff08;即 r"string" 或 rstring&#xff09;表示创建一个原始字符串&#xff08;raw string&#xff09;。下面详细介绍原始字符串的特点、使用场景及与普通字符串的对比。 特点 忽略转义字符&#xff1…...

uniapp 本地数据库多端适配实例(根据运行环境自动选择适配器)

项目有个需求&#xff0c;需要生成app和小程序&#xff0c;app支持离线数据库&#xff0c;如果当前没有网络提醒用户开启离线模式&#xff0c;所以就随便搞了下&#xff0c;具体的思路就是&#xff1a; 一个接口和多个实现类&#xff08;类似后端的模板设计模式&#xff09;&am…...

Spring Cloud Gateway 整合Spring Security

做了一个Spring Cloud项目&#xff0c;网关采用 Spring Cloud Gateway&#xff0c;想要用 Spring Security 进行权限校验&#xff0c;由于 Spring Cloud Gateway 采用 webflux &#xff0c;所以平时用的 mvc 配置是无效的&#xff0c;本文实现了 webflu 下的登陆校验。 1. Sec…...

【异地访问本地DeepSeek】Flask+内网穿透,轻松实现本地DeepSeek的远程访问

写在前面&#xff1a;本博客仅作记录学习之用&#xff0c;部分图片来自网络&#xff0c;如需引用请注明出处&#xff0c;同时如有侵犯您的权益&#xff0c;请联系删除&#xff01; 文章目录 前言依赖Flask构建本地网页访问LM Studio 开启网址访问DeepSeek 调用模板Flask 访问本…...

Windows对比MacOS

Windows对比MacOS 文章目录 Windows对比MacOS1-环境变量1-Windows添加环境变量示例步骤 1&#xff1a;打开环境变量设置窗口步骤 2&#xff1a;添加系统环境变量 2-Mac 系统添加环境变量示例步骤 1&#xff1a;打开终端步骤 2&#xff1a;编辑环境变量配置文件步骤 3&#xff1…...

React实现无缝滚动轮播图

实现效果&#xff1a; 由于是演示代码&#xff0c;我是直接写在了App.tsx里面在 文件位置如下&#xff1a; App.tsx代码如下&#xff1a; import { useState, useEffect, useCallback, useRef } from "react"; import { ImageContainer } from "./view/ImageC…...

Ubuntu20.04确认cuda和cudnn已经安装成功

当我们通过官网安装cuda和cudnn时&#xff0c;终端执行完命令后我们仍不能确定是否已经安装成功。接下来教大家用几句命令测试。 cuda 检测版本号 nvcc -V如果输出如下&#xff0c;则安装成功。 可以看到版本号是11.2 cudnn检测版本号 有两种命令&#xff1a;如果你的cudn…...

sqlilab 46 关(布尔、时间盲注)

sqlilabs 46关&#xff08;布尔、时间盲注&#xff09; 46关有变化了&#xff0c;需要我们输入sort&#xff0c;那我们就从sort1开始 递增测试&#xff1a; 发现测试到sort4就出现报错&#xff1a; 我们查看源码&#xff1a; 从图中可看出&#xff1a;用户输入的sort值被用于查…...

AI时代保护自己的隐私

人工智能最重要的就是数据&#xff0c;让我们面对现实&#xff0c;大多数人都不知道他们每天要向人工智能提供多少数据。你输入的每条聊天记录&#xff0c;你发出的每条语音命令&#xff0c;人工智能生成的每张图片、电子邮件和文本。我建设了一个网站(haptool.com)&#xff0c…...

模型优化之强化学习(RL)与监督微调(SFT)的区别和联系

强化学习&#xff08;RL&#xff09;与监督微调&#xff08;SFT&#xff09;是机器学习中两种重要的模型优化方法&#xff0c;它们在目标、数据依赖、应用场景及实现方式上既有联系又有区别。 想了解有关deepseek本地训练的内容可以看我的文章&#xff1a; 本地基于GGUF部署的…...

Buildroot 添加自定义模块-内置文件到文件系统

目录 概述实现步骤1. 创建包目录和文件结构2. 配置 Config.in3. 定义 cp_bin_files.mk4. 添加源文件install.shmy.conf 5. 配置与编译 概述 Buildroot 是一个高度可定制和模块化的嵌入式 Linux 构建系统&#xff0c;适用于从简单到复杂的各种嵌入式项目. buildroot的源码中bui…...

蓝牙接近开关模块感应开锁手机靠近解锁支持HID低功耗

ANS-BT101M是安朔科技推出的蓝牙接近开关模块&#xff0c;低功耗ble5.1&#xff0c;采用UART通信接口&#xff0c;实现手机自动无感连接&#xff0c;无需APP&#xff0c;人靠近车门自动开锁&#xff0c;支持苹果、安卓、鸿蒙系统&#xff0c;也可以通过手机手动开锁或上锁&…...

计算机毕业设计SpringBoot+Vue.js基于工程教育认证的计算机课程管理平台(源码+文档+PPT+讲解)

温馨提示&#xff1a;文末有 CSDN 平台官方提供的学长联系方式的名片&#xff01; 温馨提示&#xff1a;文末有 CSDN 平台官方提供的学长联系方式的名片&#xff01; 温馨提示&#xff1a;文末有 CSDN 平台官方提供的学长联系方式的名片&#xff01; 作者简介&#xff1a;Java领…...

企业知识库搭建:14款开源与免费系统选择

本文介绍了以下14 款知识库管理系统&#xff1a;1.Worktile&#xff1b;2.PingCode&#xff1b;3.石墨文档&#xff1b; 4. 语雀&#xff1b; 5. 有道云笔记&#xff1b; 6. Bitrix24&#xff1b; 7. Logseq等。 在如今的数字化时代&#xff0c;企业和团队面临着越来越多的信息…...

蓝桥杯(握手问题)

小蓝组织了一场算法交流会议&#xff0c;总共有 50 人参加了本次会议。在会议上&#xff0c;大家进行了握手交流。按照惯例他们每个人都要与除自己以外的其他所有人进行一次握手 (且仅有一次)。 但有 7个人&#xff0c;这 7 人彼此之间没有进行握手 (但这 7 人与除这 7 人以外…...

如何使用 Jenkins 实现 CI/CD 流水线:从零开始搭建自动化部署流程

如何使用 Jenkins 实现 CI/CD 流水线:从零开始搭建自动化部署流程 在软件开发过程中,持续集成(CI)和持续交付(CD)已经成为现代开发和运维的标准实践。随着代码的迭代越来越频繁,传统的手动部署方式不仅低效,而且容易出错。为了提高开发效率和代码质量,Jenkins作为一款…...

c++字符编码/乱码问题

基本概念 c11版本引入了char16_t和char32_t两个类型&#xff0c;他们的特点分别如下&#xff1a; char16_t 16位的unicode字符类型用于表示UTF-16编码大小&#xff1a;2字节字面量前缀&#xff1a;u char32_t 32位unicode字符类型用于表示UTF-32编码大小&#xff1a;4字节…...

侯捷 C++ 课程学习笔记:深入理解类与继承

文章目录 每日一句正能量一、课程背景二、学习内容&#xff1a;类与继承&#xff08;一&#xff09;类的基本概念1. 类的定义与实例化2. 构造函数与析构函数 &#xff08;二&#xff09;继承1. 单继承与多继承2. 虚函数与多态 三、学习心得四、总结 每日一句正能量 有种承担&am…...

初始化列表

一&#xff1a;声明&#xff0c;定义&#xff0c;赋值的区别 ①&#xff1a;声明 这里&#xff0c;int _year; int _month;int _day; 是成员变量的声明&#xff0c;它们告诉编译器&#xff1a; 类 Date中有三个成员变量_year和 _month和_day。 它们的类型分别都是 int 此…...

7.1 - 定时器之中断控制LED实验

文章目录 1 实验任务2 系统框图3 软件设计 1 实验任务 本实验任务是通过CPU私有定时器的中断&#xff0c;每 200ms 控制一次PS LED灯的亮灭。 2 系统框图 3 软件设计 注意事项&#xff1a; 定时器中断在收到中断后&#xff0c;只需清除中断状态&#xff0c;无需禁用中断、启…...

Pytest之fixture的常见用法

文章目录 1.前言2.使用fixture执行前置操作3.使用conftest共享fixture4.使用yield执行后置操作 1.前言 在pytest中&#xff0c;fixture是一个非常强大和灵活的功能&#xff0c;用于为测试函数提供固定的测试数据、测试环境或执行一些前置和后置操作等&#xff0c; 与setup和te…...

【分库分表】基于mysql+shardingSphere的分库分表技术

目录 1.什么是分库分表 2.分片方法 3.测试数据 4.shardingSphere 4.1.介绍 4.2.sharding jdbc 4.3.sharding proxy 4.4.两者之间的对比 5.留个尾巴 1.什么是分库分表 分库分表是一种场景解决方案&#xff0c;它的出现是为了解决一些场景问题的&#xff0c;哪些场景喃…...

合并两个有序链表:递归与迭代的实现分析

合并两个有序链表&#xff1a;递归与迭代的实现分析 在算法与数据结构的世界里&#xff0c;链表作为一种基本的数据结构&#xff0c;经常被用来解决各种问题。特别是对于有序链表的合并&#xff0c;既是经典面试题&#xff0c;也是提高编程能力的重要练习之一。合并两个有序链…...

HTML AI 编程助手

HTML AI 编程助手 引言 随着人工智能技术的飞速发展&#xff0c;编程领域也迎来了新的变革。HTML&#xff0c;作为网页制作的基础语言&#xff0c;与AI技术的结合&#xff0c;为开发者带来了前所未有的便利。本文将探讨HTML AI编程助手的功能、应用场景以及如何利用它提高编程…...

备战蓝桥杯Day11 DFS

DFS 1.要点 (1)朴素dfs 下面保存现场和恢复现场就是回溯法的思想&#xff0c;用dfs实现&#xff0c;而本质是用递归实现&#xff0c;代码框架: ans; //答案&#xff0c;常用全局变量表示 int mark[N]; //记录状态i是否被处理过 …...

Oracle 认证为有哪几个技术方向

Oracle 认证技术方向&#xff0c;分别是数据库管理、开发、云平台&#xff0c;每个方向都有不同的学习等级 数据库运维方向 Oracle Certified Professional&#xff08;OCP&#xff09;&#xff1a;19c OCA内容已和OCP合并 OCP 19c属于oracle认证专家&#xff0c;要求考生掌握深…...

25物理学研究生复试面试问题汇总 物理学专业知识问题很全! 物理学复试全流程攻略 物理学考研复试调剂真题汇总

正在为物理考研复试专业面试发愁的你&#xff0c;是不是不知道从哪开始准备&#xff1f; 学姐告诉你&#xff0c;其实物理考研复试并没有你想象的那么难&#xff01;只要掌握正确的备考方法&#xff0c;稳扎稳打&#xff0c;你也可以轻松拿下高分&#xff01;今天给大家准备了…...

网络安全技术与应用

文章详细介绍了网络安全及相关技术&#xff0c;分析了其中的一类应用安全问题——&#xff30;&#xff23;机的安全问题&#xff0c;给出了解决这类问题的安全技术——&#xff30;&#xff23;防火墙技术。 &#xff11; 网络安全及相关技术 自&#xff12;&#xff10;世纪…...

APISIX Dashboard上的配置操作

文章目录 登录配置路由配置消费者创建后端服务项目配置上游再创建一个路由测试 登录 http://192.168.10.101:9000/user/login?redirect%2Fdashboard 根据docker 容器里的指定端口&#xff1a; 配置路由 通过apisix 的API管理接口来创建&#xff08;此路由&#xff0c;直接…...

深度剖析数据分析职业成长阶梯

一、数据分析岗位剖析 目前&#xff0c;数据分析领域主要有以下几类岗位&#xff1a;业务数据分析师、商业数据分析师、数据运营、数据产品经理、数据工程师、数据科学家等&#xff0c;按照工作侧重点不同&#xff0c;本文将上述岗位分为偏业务和偏技术两大类&#xff0c;并对…...

HarmonyOS学习第11天:布局秘籍RelativeLayout进阶之路

布局基础&#xff1a;RelativeLayout 初印象 在 HarmonyOS 的界面开发中&#xff0c;布局是构建用户界面的关键环节&#xff0c;它决定了各个组件在屏幕上的位置和排列方式。而 RelativeLayout&#xff08;相对布局&#xff09;则是其中一种功能强大且灵活的布局方式&#xff0…...

问题修复-后端返给前端的时间展示错误

问题现象&#xff1a; 后端给前端返回的时间展示有问题。 需要按照yyyy-MM-dd HH:mm:ss 的形式展示 两种办法&#xff1a; 第一种 在实体类的属性上添加JsonFormat注解 第二种&#xff08;建议使用&#xff09; 扩展mvc框架中的消息转换器 代码&#xff1a; 因为配置类继…...

怎么排查页面响应慢的问题

一、排查流程图 -----------------| 全局监控报警触发 |-----------------|▼-----------------| 定位异常服务节点 |-----------------|------------------▼ ▼ ----------------- ----------------- | 基础设施层排查 | | 应用层代码排查 | | (网…...

第二十四:5.2【搭建 pinia 环境】axios 异步调用数据

第一步安装&#xff1a;npm install pinia 第二步&#xff1a;操作src/main.ts 改变里面的值的信息&#xff1a; <div class"count"><h2>当前求和为&#xff1a;{{ sum }}</h2><select v-model.number"n">  // .number 这里是…...

SpringBoot——生成Excel文件

在Springboot以及其他的一些项目中&#xff0c;或许我们可能需要将数据查询出来进行生成Excel文件进行数据的展示&#xff0c;或者用于进行邮箱发送进行附件添加 依赖引入 此处demo使用maven依赖进行使用 <dependency><groupId>org.apache.poi</groupId>&…...