从0到1彻底掌握Trae:手把手带你实战开发AI Chatbot,提升开发效率的必备指南!
我正在参加Trae「超级体验官」创意实践征文, 本文所使用的 Trae 免费下载链接: www.trae.ai/?utm_source…
前言
大家好,我是小Q,字节跳动近期推出了一款 AI IDE—— Trae,由国人团队开发,并且限时免费体验
接下来,让我们一同使用 Trae,来看看Trae与其它 AI IDE 对比效果如何
Trae是什么?
Trae是字节跳动推出的一款免费的AI集成的开发环境,集成了Claude3.5与GPT-4o等主流AI模型,提供AI问答、智能代码生成、智能代码补全,多模态输入等功能。支持界面全中文化,为中文开发者提供了高效的开发体验,关键还免费
如果已经了解过可以直接跳到Trae实战小节,带你使用Trae从0开始开发一个ChatBot
Trae安装
点击进入Trea官网下载
进入官网你会看到这个页面

点击Download即可进入下载


进入安装程序,它会让你选择主题以及语言,原生支持中文和英语,可以从其他IDE中导入数据如(VSCode),它会将你的插件以及设置等一键导入Trae,这样你就可以轻松切换到Trae

这步它会让你添加trae命令行,当你需要在命令行中使用Trae打开项目时
可以使用trae命令
trae . # 打开命令行所在目录
trae /developers/app/xxx # 打开指定项目

如果你授权登录的时候发生这种错误,那么就需要你科学上网
Trae核心功能
进入 Trea 就可以看得到,典型的布局,左侧文件导航区,中间代码编辑区,右侧是 AI 聊天交互区,不得不说,这个 UI 确实可以,看习惯了 VSCode 以及那些插件的主题,Trea 的 UI 界面很简洁、直观的设计,让人焕然一新

Trae的AI辅助功能有两种分别是Chat模式、Builder模式,接下来我会以介绍Trae基础功能的方式介绍Chat模式,之后使用Builder模式入门编写一个贪吃蛇小游戏,最后实战阶段
Chat模式
`Chat`顾名思义就是聊天,可以通过对话方式提问,AI 提供代码建议、错误修复和优化方案使用Chat模式
如果没有显示侧边栏,可以使用`Command`+`U`快捷键打开,点击上方的`Chat`即可进入`Chat`模式
输入框功能

通过上面这张图可以看到输入框有上下文、多模态输入、**模型切换(支持Claude3.5、GPT-4o)**等这些功能

如果你要使用Trae的上下文引用,在输入框使用#就可以展示上下文列表,当鼠标移动到文件上时,会展示一个树形结构的预览,这样在重复名称的文件较多时,也能快速定位所需文件,而无需查看后面长长的路径
代码操作功能

- 复制
- 插到光标所在处
- 添加到新文件,它会帮你创建一个文件并写入
- 应用到相应文件,它会将代码应用到相应的文件
它的代码片段右上角有四个操作按钮,不仅有“复制”和“应用到文件”的基本功能,相较于其他AI IDE还添加了插到光标所在处以及添加到新文件
行内输入框

当你需要精确操作时,将代码选中点击Command+I快捷键打开行内对话框,输入你的需求

它会直接在行内按照你的需求修改代码,并且有修改前与修改后对比,点击输入框下的接受or拒绝,表示是否接受此次修改

或者你是想要提问,在编辑器内选中代码,执行command + U即可将代码片段一起提问给 AI,比如当你不理解某段代码的含义时,就可以这样做,如果你要关闭行内输入框,点击esc即可
上下文功能

你还可以在输入框中使用#索引整个文件,将整个文件喂给AI,给 AI 提供更多的上下文,提高回答的准确率
如果你想提高ai回答的准确性,可以在设置中构建索引,构建度越高,ai回答的准确性也就越高,当构建度为100%的时候,回答的准确率是最高的,符合当前项目



有时候从 GitHub 上拉取代码,如想学习项目源码、快速了解该项目等等,使用#workspace引用整个项目,结合 AI 学习源码效率就会非常高
通过上面的简单介绍可以了解到Chat模式适合AI问答辅助学习等流程,而Builder模式则不同更像一个程序员帮你写代码,下面我通过一个案例来演示如何使用Builder模式
Builder模式
Builder模式可以从0帮你构建一个完整的项目,自动编写代码,在生成的过程中,它也会向你询问一些
意见,比如它生成了一行命令它会询问你“是否需要运行这行命令?”,你只需要点击即可
使用Builder模式
如何使用Builder模式呢?当然也是Command+U打开侧边栏,之后点击最上面的Builder,即可切换到Builder模式

发布需求
把你的需求告诉它,比如让它使用 Vue 3 开发一个贪吃蛇游戏
执行操作
接着点击运行它给出的初始化项目命令,命令行就会执行并初始化项目
接下来它会自动帮你创建文件,一步一步的完成编写代码、创建文件等操作,在这过程中可能需要你运行它给出的命令,你只需点击运行即可,如果在运行命令的过程中出现任何报错它也会自动帮你修复

预览效果

当编写完成后,它会让你运行启动命令,之后会给出一个预览按钮,点击预览之后会在 Trae 内打开一个 Webview 预览窗口,Webview是Trae内置的一个功能,非常方便开发人员进行预览测试,经测试这个贪吃蛇游戏没有任何bug
接受修改

如果你觉得这个文件没问题的话可以点击文件顶部的接受按钮,接受对该文件的修改

当然你觉得全部都没问题的话,可以直接点击点击全部接受,接受它所有的操作
这样就使用 Builder 模式开发了一个贪吃蛇游戏,在这个过程中,你只需要点击确认运行的按钮,其他事情(编写代码、创建文件、修复 bug)都由 AI 自动完成,无需动手写代码等。
Trae实战:开发ChatBot
接下来,在了解完Trae如何使用之后,我们现在将Trae运用到实际项目当中,真实体验一下Trae在项目中的效果,我们会使用Trae开发一个ChatBot,在这过程中我们会借助Trae的能力进行AI自动编写代码、Bug修复、描述问题、同时我们还会想它获取意见(比如结合项目应该使用什么XXX库)等等,帮助大家更好的了解Trae
初始化项目
编写一个完整的提示词可以精确的引导AI生成符合需求的结果,可以借助AI的能力优化提示词

## 角色
你是一位资深前端工程师,擅长使用 Vue 3 + Vite + TS + Tailwind CSS 开发现代 Web 应用。## 核心需求
开发一个聊天页面,包含以下功能:
1. **布局**:- 页面背景为白色,文字为黑色- 使用 `main` 标签包裹内容,宽度在屏幕 >780px 时为 780px,否则为 100%- `main` 标签有 20px 的横向内边距,高度为 100vh,内容超出时显示滚动条2. **输入区域**:- 底部固定定位,距离底部 20px- 包含一个 `textarea` 输入框和一个发送按钮- `textarea` 背景为白色,placeholder 为“你有什么要我帮助的吗?”- 发送按钮为蓝色背景,使用 SVG 图标- 输入区域整体有 1px 浅灰色边框,宽度为 100%(最大宽度为内容区域宽度)3. **聊天列表**:- 用户聊天气泡:蓝底白字,文字居右,宽度自适应内容- AI 聊天气泡:白底黑字,1px 浅灰色边框,文字居左,宽度自适应内容## 技术栈
- Vue 3 + Vite + pnpm
- Tailwind CSS(用于快速样式开发)
- 使用 SVG 图标(发送按钮)## 输出要求
1. 使用 Tailwind CSS 实现样式
2. 确保布局和样式完全符合需求
如果没有安装pnpm则将pnpm改为npm
你可以将技术栈改为你所想要使用的
使用Trae打开一个空目录,之后打开Builder模式,将上面的提示词发送给AI,当然你可以添加一张示例图片一起发送给AI,让AI更清楚的知道你想要的是什么

此时我们点击发送

它会要我们运行初始化命令,我们只需点击运行

就会在根项目目录下创建一个Vue3+Vite的项目,然后等待它创建文件,编写代码等操作

如果在运行的命令过程中,出现报错它会自动帮助我们修复,尝试其他命令

但是命令依旧是错误的(正确命令是:npx tailwindcss init),不过它自动帮我创建了一个tailwindcss配置文件
不过很快啊,它一下子就写好了,我们运行预览看看

报错了,当页面发生报错时AI会自动检测并指出问题及修复

它准确的发现是依赖问题并将依赖删除安装了正确的版本,之后重新运行,这样就完成了一个基本的聊天页面,样式还可以,还是比较符合的,到最后我会美化一下
将AI接入聊天
接下来我们需要将ai接入聊天我需要你为我的项目接入aibot具体要求如下:
1. **功能扩展**:- 在现有聊天页面中集成 LangChain.js,实现与 AI 的对话功能。- 支持流式响应(Streaming Response),提升用户体验。2. **环境配置**:- 使用 `.env` 文件管理 API 配置,包括 `API_BASE_URL` 和 `API_KEY`以及`Model`。- 确保环境变量在开发和生产环境中均可使用。3. **技术栈**:- Vue 3 + Vite + pnpm- Tailwind CSS(用于样式)- LangChain.js(用于 AI 对话逻辑)**输出要求**
1. `.env` 文件示例
2. LangChain.js 集成逻辑
3. 流式响应实现代码
将上面的提示词发送给ai

它会帮你修改代码逻辑,并创建一个env.环境变量文件,接着你输入你的api-key以及对应平台的base_url,我这里用的是deepseek的
-
VITE_OPENAI_API_KEY =api密钥
-
VITE_OPENAI_API_BASE_URL =请求url
-
VITE_OPENAI_MODEL=模型名称

重新运行看一下

完美,如果在这实现的过程中有bug可以寻求ai,接下来给他上一点点难度,让它添加一个切换不同平台ai模型的Dropdown

接着点击全部接受,表示接受全部修改
添加切换模型按下拉菜单
**角色**
你是一位资深前端工程师,擅长使用 Vue 3 + TypeScript + Tailwind CSS 开发现代 Web 应用。**核心需求**
1. **功能扩展**:- 在输入框上方添加一个 `Dropdown` 下拉框菜单,用于切换不同平台的 AI 模型。- 按钮大小为 30x30px,使用设置图标(SVG)。- 点击按钮后显示模型列表,点击列表项切换模型。2. **模型配置**:- 新建 `src/config/models.ts` 文件,存放不同平台的 AI 模型配置。- 从环境变量中读取 API 密钥、基础 URL 和模型名称。3. **环境变量**:- 修改 `.env` 文件,支持 DeepSeek 和 Zhipu 两种模型配置。4. **代码优化**:- 使用 TypeScript 实现强类型检查。- 封装 `Dropdown` 组件,提升代码复用性。**技术栈**
- Vue 3 + Vite + pnpm
- TypeScript
- Tailwind CSS(用于样式)
- Axios(用于 API 调用)**输出要求**
1. 完整的 Vue 组件代码(ChatPage.vue)
2. `Dropdown` 组件代码
3. `models.ts` 配置文件
4. 更新后的 `.env` 文件
将这些提示词发送给ai

紧接着他就开始修改了


修改了.env文件并创建了两个文件Dropdown下拉框和models模型配置

当它完成了之后我们将.env的修改为正确的api-key、baseUrl,当然这里你可以添加其他模型,我这里就拿着deepseek和智普个做示例了,因为deepseek便宜,智谱有免费模型😃,可以看出来我是个穷人😭

发现App.vue文件有一个报错,显然是这个没有从langchain中导入,考验一下ai,接着使用鼠标选中,在显示的操作上点击“添加到对话”询问它,它也给出了正确答案,但是不会自动帮我写入到文件当中,希望以后会更加智能

可以看到效果是出来了,但是位置不太对导致下拉框被挡住了,让它帮我修改一下Dropdown的弹出方向

新建一个对话继续选择Builder模式,避免上下文过多导致混乱或ai失忆

接着在输入框中输入#来引用文件选择File类型文件,当选择之后,它智能的直接选中了当前文件,回车即可

它精确的修改了相关代码,完成修改之后我们看看效果

成功完成了模型的切换

如果没有问题,点击输入框上的全部接受
格式渲染

现在渲染的格式并不正确,可以用markdown库来渲染,此时可以借助 Builder 的能力了,无需出手

它会安装一个markdown渲染器,并在项目中添加代码逻辑

效果是有了,可是我需要它高亮代码块,向它提出需求


它会安装一个highlight.js用于高亮代码,并添加相应的代码逻辑,可以看到代码成功的高亮

如果没有任何问题,接着点击全部接受
添加暗黑模式
接着给添加最后一个功能暗黑模式请你给这个项目添加暗黑模式
1. **暗黑模式切换**:- 新增一个切换按钮,圆形,大小为 45x45px,定位在 `main` 标签内容的右上角。- 按钮图标在 Light 模式下显示月亮(Moon),Dark 模式下显示太阳(Sun)。- 点击按钮切换 Light/Dark 模式。2. **主题颜色**:- 主题色:`#3662e3`(用于按钮、链接等)。- Light 模式背景色:`#fafafa`,文字颜色:`#09090b`。- Dark 模式背景色:`#09090b`,文字颜色:`#fafafa`。3. **技术栈**:- Vue 3 + Vite + pnpm- Tailwind CSS(用于样式)- SVG 图标(用于按钮)**输出要求**
1. 完整的 Vue 组件代码(DarkModeToggle.vue)
2. 更新后的 `main` 标签样式
3. 主题颜色配置
结果:

这样不行,我接着让他修改


实现了切换暗黑模式,不过布局被修改了

经过了几次交流修改,但结果并不是我所需要的,接着点击全部拒绝返回上一个版本
暗黑模式切换没问题,只是样式存在一些小问题,我自己简单修改一下,当然你可以将准确的需求给AI,让它进行修改

经过我的手动简单修改,最终修改成了我所需要的样子
自动滚动 To 底部
最后一个功能就是消息列表内容溢出时,内容区域自动滚动到底部我想要消息列表内容溢出时,内容区域自动滚动到底部
复制上面👆文本并使用#引用App.vue文件向它提需求

之后它会帮我创建一个scrollToBottom函数用于滚动到容器底部,并且在消息列表变化时调用该函数

不错效果是可以的
好了就到这里吧,源代码在 https://github.com/lian-1024/trae-demo-aibot
在这个项目中,我们使用Trae开发了一个功能齐全的ChatBot应用,通过Trae集成的AI能力,使得我们能够快速生成代码、自动修复Bug,并在开发过程中获得智能建议,大大提高了开发效率
Trae还能这么用?
Trae的作用不止这些,它还可以辅助你学习、面试、重复一些体力活等学习开源项目、学习源码
如果你需要快速了解该项目、学习项目源码等那Trae绝对是一个好帮手,他可以帮你快速总结项目以及解读代码

首先我们从github上拉取的项目,可以先打开设置,之后点击“开始构建”按钮,

这样AI给出与项目相关的回答,避免它abababab一大堆没用的内容

选择Chat模式并在输入框输入#并选择Workspace向AI发起问答


这样是不是一目了然了,不用你个个点开文件看,直接告诉你这个文件有什么作用以及用的什么技术栈


如果不理解该代码,使用鼠标将其选中并使用快捷键Command+U向AI发起问答,当然可以直接#引用整个文件,在学习源码时非常有用
写项目README.md

如果你像我一样懒得或者不知道怎么编写项目的README.md

切换到Builder模式,让它给该项目编写README.md文档
当然可以在这基础上你可以修改成符合你的要求
面试

你可以让ai帮你将这个项目写到你的简历上
并且你可以在此模板上进行修改


当然它还可以扮演面试官角色,询问你该项目相关的内容
好啦写总结啦
总结
在本篇文章的开头我们了解Trae是什么?Trae是字节跳动推出的一个强大的AI IDE,以及Chat模式和Builder模式这两个强大的核心功能,后面我们使用了Trae进行了实战
在实际项目中,根据我们的需求生成相应的代码,如果生成的代码可能并不符合我们的要求,这时我们可以点击输入框上的“拒绝”按钮,表示你不想要这次的修改,撤销修改

或者你可以优化提示词or 使用#提供更多上下文,让它更加“懂你”,生成你比较满意的代码
在编写的代码过程中

它可以很精确的知道你下一步需要做什么,此时你只需要点击Tab即可补全

向它提出“添加切换模型下拉框”需求,直接帮我编写了模型的配置文件以及环境变量,并帮我添加了一个下拉框的组件

可能有时候AI修改的不太符合,比如在添加暗黑模式这一节,它成功添加了暗黑模式,并且可切换,但它修改了不相关的代码,导致布局错误。在这种情况下,我们可以选择拒绝本次修改,接着优化提示词,为AI提供更精确的需求,或者进行手动修改
使用 Trae 可以实现相较于以往更为显著的效率提升,它提供了:
- Builder模式:在这个模式下它可以帮你编写项目、创建或删除文件、生成并运行终端命令、提取报错自动修复等
- Chat模式:在这个模式下它可以回答你的bug问题、讲解代码仓库、生成代码片段等
- 代码自动补全:根据你的代码,提供智能的补全建议、根据代码注释补全等
- 多模态:可以将你的报错代码或UI截屏发送给AI,提供相应的建议
- 上下文:你可以在文件中选中代码片段或在终端中选中报错日志以及使用
#选择文件或目录,指定AI的上下文以提供更符合正确的回答
这几个功能大大提高我们的开发效率
相较于 Cursor 昂贵的费用,Trae 是一个不错的选择,目前限时免费,并且由国人团队开发,全面支持中文环境,总的来说 Trae 给我的体验还是挺不错的呢,点击下方链接免费下载
免费Trae下载链接: https://www.trae.ai/
源码: https://github.com/lian-1024/trae-demo-aibot
相关文章:
从0到1彻底掌握Trae:手把手带你实战开发AI Chatbot,提升开发效率的必备指南!
我正在参加Trae「超级体验官」创意实践征文, 本文所使用的 Trae 免费下载链接: www.trae.ai/?utm_source… 前言 大家好,我是小Q,字节跳动近期推出了一款 AI IDE—— Trae,由国人团队开发,并且限时免费体…...
3200温控板电路解析
提示:文章 文章目录 前言一、背景二、2.12.2 三、3.1 总结 前言 前期疑问: 本文目标: 一、背景 最近重温3200温控板电路设计和芯片选型 3200代码仓 二、 2.1 按照顺序整理,主要是依靠自己想到的来整理 1、传感器是pt1000&…...
opencv图片颜色识别,颜色的替换
图片颜色识别 1. RGB颜色空间2. 颜色加法2.1使用numpy对图像进行加法2.2使用opencv加法(cv2.add) 3 颜色加权加法(cv2.addWeighted())4. HSV颜色空间5. 制作掩膜4. 与运算(cv2.bitwise_and)5.颜色的替换7 R…...
B实验-12
需要注意版本、页面源代码 两个文件一个目录:phpinfo robots phpmyadmin 实验12 靶机1 一个key在phpmyadmin,一个key在回收站 用两个扫描目录的工具扫,nmap给python版 情况1:弱口令 root root root 123456 …...
Python多技术融合在生态参量估算中的创新应用—以蒸散发与植被GPP估算为例
在全球气候变化背景下,精确估算陆地生态系统水碳通量成为生态研究的关键命题。本研究创新性地整合Python编程、遥感数据处理、机器学习算法及生态过程模型,构建了一套高效可靠的蒸散发(ET)与植被总初级生产力(GPP&…...
文件有几十个T,需要做rag,用ragFlow能否快速落地呢?
一、RAGFlow的优势 1、RAGFlow处理大规模数据性能: (1)、RAGFlow支持分布式索引构建,采用分片技术,能够处理TB级数据。 (2)、它结合向量搜索和关键词搜索,提高检索效率。 …...
【网工第6版】第5章 网络互联②
目录 ■ IPV6 ▲ IPV6报文格式 ◎ IPV6扩展报头(RFC2460) ◎ IPv6相关协议 ▲ IPV6地址分类 ◎ IPv6地址基础 ◎ IPv6地址举例 ◎ IPv6地址分类 ◎ 特殊地址对比IPv4 vs IPv6 ▲ 过渡技术 本章重要程度:☆☆☆☆☆ ■ IPV6 与IPv4…...
为什么Makefile中的clean需要.PHONY
原因一:避免Makefile检查时间戳 前置知识:makefile在依赖文件没有改变时不会执行编译命令 #第一次执行,OK [rootVM-16-14-centos ~]# make g -E main.cc -o main.i g -S main.i -o main.s g -c main.s -o main.o g main.o -o main#第二…...
Vue组件库开发实战:从0到1构建可复用的微前端模块
🔥 随着前端项目越来越复杂,如何开发一个可以随处使用的组件库变得尤为重要。本文将带你从0开始,实现一个完全独立的Vue组件库,包含样式隔离、主题定制等核心功能。 前言 在日常开发中,我们经常需要在不同项目间复用组…...
相机标定(输出相机内参和畸变参数)
相机标定 这里我用笔记本电脑自带的摄像头进行相机标定 仅作示例,实际工程中要用对应的摄像头进行标定 同时代码也要相应的修改,不过修改的主要是相机的初始化 粗略的说就是打开相机那部分要修改(依据实际情况相应修改) 最终的结果…...
单页面应用的特点,什么是路由,VueRouter的下载,安装和使用,路由的封装抽离,声明式导航的介绍和使用
文章目录 一.什么是单页面应用?二.什么是路由?生活中的路由和Vue中的路由 三.VueRouter(重点)0.引出1.介绍2.下载与使用(5个基本步骤2个核心步骤)2.1 五个基本步骤2.2 两个核心步骤 四.路由的封装抽离五.声明式导航1.导航链接特点一:能跳转特点二:能高亮 2.两个高亮类名2.1.区…...
数字ic后端设计从入门到精通2(含fusion compiler, tcl教学)
上篇回顾 上一篇文章需要讨论了net,pin的基础用法,让我们来看一下高级一点的用法 instance current_instance current_instance 是 Synopsys 工具(如 Fusion Compiler 或 Design Compiler)中用于在设计层次结构中导航的关键命令。它允许用…...
STM32---外部中断EXTI
目录 一、中断向量表 二、EXTI工作原理图 三、NVIC模块 四、GPIO设置为EXTI的结构 五、C语言示例代码 在STM32中,中断是一个非常重要的结构,他能让我们在执行主函数的时候,由硬件检测一些外部或内部产生的中断信号,跳转到中断…...
Itext进行PDF的编辑开发
这周写了一周的需求,是制作一个PDF生成功能,其中用到了Itext来制作PDF的视觉效果。其中一些功能不是很懂,仅作记录,若要学习请仔细甄别正确与否。 开始之前,我还是想说,这傻福需求怎么想出来的,…...
Hibernate的组件映射
在实际的开发中,使用的是非常多的,还有几种比较特殊的关系映射: 组件映射继承映射 先看一下组件映射: 组件映射中, 组件也是一个类, 但是这个类它不独立称为一个实体, 也就是说, 数据库中没有一个表格单独的和它对应, 具体情况呢, 看演示:...
C++ 操作符重载Operator
C可以重载大多数操作符,如算术运算符号,-号。 位操作符<<,>> 下标符号[]等都可以重载。 重载的意思,是让这些符号,按你定义的行为来执行代码,但是这种自定义,是有限制的,必须有一…...
Docker 镜像、容器和 Docker Compose的区别
前言:Docker 的镜像、容器和 Docker Compose 是容器化技术的核心组件,以下是对它们的详细解析及使用场景说明。 1、Docker 镜像(Image) 定义: 镜像是只读模板,包含运行应用程序所需的代码、…...
Linux深度探索:进程管理与系统架构
1.冯诺依曼体系结构 我们常见的计算机,如笔记本。我们不常见的计算机,如服务器,大部分都遵守冯诺依曼体系。 截至目前,我们所认识的计算机,都是由⼀个个的硬件组件组成。 输入设备:键盘,鼠标…...
一段式端到端自动驾驶:VAD:Vectorized Scene Representation for Efficient Autonomous Driving
论文地址:https://github.com/hustvl/VAD 代码地址:https://arxiv.org/pdf/2303.12077 1. 摘要 自动驾驶需要对周围环境进行全面理解,以实现可靠的轨迹规划。以往的方法依赖于密集的栅格化场景表示(如:占据图、语义…...
17.整体代码讲解
从入门AI到手写Transformer-17.整体代码讲解 17.整体代码讲解代码 整理自视频 老袁不说话 。 17.整体代码讲解 代码 import collectionsimport math import torch from torch import nn import os import time import numpy as np from matplotlib import pyplot as plt fro…...
把dll模块注入到游戏进程的方法_基于文件修改的注入方式
1、概述 本文主要是介绍两种基于文件修改的注入方式,一种是“DLL劫持”,另一种是“修改导入表”。这两种注入方式都是利用操作系统加载PE时的特点来实现的,我们在实现这两种注入方式时只需专注于注入dll的实现,而不用花费额外的精力去关注注入器的实现。要想深入了解这两种…...
4月21日星期一今日早报简报微语报早读
4月21日星期一,农历三月廿四,早报#微语早读。 1、女子伸腿阻止列车关门等待同行人员,被深圳铁路警方行政拘留; 2、北理工再通报:开除宫某党籍,免去行政职务,解除聘用关系; 3、澳门…...
Spark(20)spark和Hadoop的区别
Apache Spark 和 Apache Hadoop 都是广泛使用的开源大数据处理框架,但它们在设计理念、架构、性能和适用场景等方面存在显著区别。以下是它们的主要区别: ### **1. 架构设计** - **Hadoop**: - **HDFS(Hadoop Distributed File…...
Kubeflow 快速入门实战(二) - Pipelines / Katib / KServer
承接前文博客 Kubeflow 快速入门实战(一) Kubeflow 快速入门实战(一) - 简介 / Notebooks-CSDN博客文章浏览阅读441次,点赞19次,收藏6次。本文主要介绍了 Kubeflow 的主要功能和能力,适用场景,基本用法。以及Notebook,…...
【JavaEE初阶】多线程重点知识以及常考的面试题-多线程进阶(一)
本篇博客给大家带来的是多线程中常见的所策略和CAS知识点. 🐎文章专栏: JavaEE初阶 🚀若有问题 评论区见 ❤ 欢迎大家点赞 评论 收藏 分享 如果你不知道分享给谁,那就分享给薯条. 你们的支持是我不断创作的动力 . 王子,公主请阅🚀 要开心要快…...
ECA 注意力机制:让你的卷积神经网络更上一层楼
ECA 注意力机制:让你的卷积神经网络更上一层楼 在深度学习领域,注意力机制已经成为提升模型性能的重要手段。从自注意力(Self-Attention)到各种变体,研究人员不断探索更高效、更有效的注意方法。今天我们要介绍一种轻…...
基于定时器查询模式的LED闪烁(STC89C52单片机)
#include <reg52.h> sbit LED P0^0; sbit ADDR0 P1^0; sbit ADDR1 P1^1; sbit ADDR2 P1^2; sbit ADDR3 P1^3; sbit ENLED P1^4; void main() { unsigned char cnt 0; //定义一个计数变量,记录T0溢出次数 ENLED 0; //使能U3,选择…...
SAP系统生产跟踪报表入库数异常
生产跟踪报表入库数异常 交库21820,入库43588是不可能的 原因排查: 报表的入库数取值,是取移动类型321 (即系检验合格后过账到非限制使用)的数. 查凭证,101过账2次21807,321过账了2次21794,然后用102退1次21794.就是说这批物料重复交库了. 解决: 方案一:开发增强设…...
Kubernetes控制平面组件:调度器Scheduler(一)
云原生学习路线导航页(持续更新中) kubernetes学习系列快捷链接 Kubernetes架构原则和对象设计(一)Kubernetes架构原则和对象设计(二)Kubernetes架构原则和对象设计(三)Kubernetes控…...
08-DevOps-向Harbor上传自定义镜像
harbor创建完成,往harbor镜像仓库中上传自定义的镜像,包括新建项目、docker配置镜像地址、镜像重命名、登录harbor、推送镜像这几个步骤,具体操作如下: harbor中新建项目 访问级别公开,代表任何人都可以拉取仓库中的镜…...
