- 博客(52)
- 收藏
- 关注
原创 通义千问联网搜索功能深度解析
摘要:本文对比了通义千问(Qwen)两种API对接方式的差异。官方API直连方案通过直接调用DashScope的/text-generation/generation端点并设置enable_search参数,可成功触发联网搜索功能;而使用OpenAI兼容接口(/compatible-mode/v1)时,即使传递了enable_search参数,服务端也可能忽略该参数。关键区别在于官方API能正确处理联网搜索参数,而兼容接口可能不支持该功能。要实现可靠联网搜索,必须使用官方API端点并正确配置参数。
2025-09-22 11:08:38
608
原创 JavaScript聊天消息添加和显示时间戳的完整流程
本文介绍了在聊天应用中实现消息时间戳功能的完整流程:1.消息构造时自动添加ISO格式时间戳;2.消息存入数组并持久化到本地存储;3.渲染时处理时间显示,包括新消息和历史消息兼容。关键点包括:使用toISOString()生成标准时间戳、localStorage数据持久化、DOM渲染时格式化显示时间,以及通过补丁机制兼容历史数据。文中提供了核心代码示例,并强调时间戳格式校验和参数传递完整性等注意事项。该方案确保新旧消息都能正确显示时间信息,同时保持数据一致性。
2025-09-11 16:19:45
763
原创 MySQL 高级特性与性能优化:深入理解函数、视图、存储过程、触发器
本文深入解析MySQL高级特性,包括内置函数(聚合、数学、字符串、日期、窗口函数等)、视图创建与操作、存储过程/函数编写、触发器实现、索引优化策略、事务管理(ACID特性)和锁机制。重点介绍了性能优化方法,如执行计划分析、索引失效规避等,并提供了典型SQL示例。文章强调合理使用这些功能可显著提升数据库效率,建议根据业务需求选择适当的内置函数,灵活运用视图简化查询,优化存储过程提升维护性,以及通过事务和锁机制确保数据一致性。
2025-09-11 16:15:12
1050
原创 Django项目中缺失工具:运行manage.py任务...(带你一步步解决问题)
摘要:Django项目运行manage.py任务报错"缺失工具"通常由环境配置、文件路径或依赖问题导致。主要解决方法包括:1)确保Python环境配置正确,激活虚拟环境并安装Django;2)检查manage.py文件是否存在且路径正确;3)安装项目所需依赖包;4)核对settings.py配置和环境变量;5)检查文件执行权限;6)在IDE中确认解释器和目录设置正确。若以上方法无效,可在IDE设置中手动绑定manage.py和settings.py文件路径,这通常是最有效的解决方案。
2025-09-10 10:58:04
911
原创 Django配置全解析:从新手到精通,一篇讲透settings.py
《Django settings.py配置详解:从入门到精通》 本文系统讲解Django核心配置文件settings.py的关键配置项。主要内容包括: 配置系统总览 作为项目的"大脑"控制所有行为 三大原则:Python代码实现、模块化组织、多环境支持 核心配置项解析 BASE_DIR:项目根目录定位 DEBUG:开发/生产环境开关 ALLOWED_HOSTS:访问权限控制 INSTALLED_APPS:功能模块注册 DATABASES:数据库连接配置 静态文件、中间件、模板等关键配置
2025-09-10 10:49:30
870
原创 MySQL 多表操作与复杂查询:深入理解多表关系和高级查询
本文深入探讨MySQL中的多表操作和复杂查询技术。在多表操作部分,详细介绍了三种表关系(一对一、一对多、多对多)的实现方式,以及外键约束的应用和多种连接查询(内连接、左右外连接等)的语法。在复杂查询部分,重点讲解了子查询、聚合函数和自关联查询的使用方法,并提供了实际应用示例。文章最后总结了各类操作的特点,并给出了合理使用多表关系、优化查询性能等最佳实践建议。这些技术能有效帮助开发者构建复杂数据库模型,实现高效数据查询。
2025-09-09 21:09:14
578
原创 Django配置全解析:从新手到精通,一篇讲透settings.py
《Django settings.py配置详解:从入门到精通》 本文系统讲解Django核心配置文件settings.py的关键配置项。主要内容包括: 配置系统总览 作为项目的"大脑"控制所有行为 三大原则:Python代码实现、模块化组织、多环境支持 核心配置项解析 BASE_DIR:项目根目录定位 DEBUG:开发/生产环境开关 ALLOWED_HOSTS:访问权限控制 INSTALLED_APPS:功能模块注册 DATABASES:数据库连接配置 静态文件、中间件、模板等关键配置
2025-09-09 09:20:30
974
原创 Django入门:框架基础与环境搭建
摘要:本文介绍了如何从零开始使用Django框架开发Web应用。Django是一个全栈Python框架,提供ORM、Admin面板等功能,适合快速开发博客、电商等网站。文章详细讲解了Django的MTV设计模式、环境搭建步骤,并通过创建博客应用实例演示了模型定义、视图编写、URL配置和模板渲染的完整流程。使用Django可以简化数据库操作、提高开发效率,让开发者更专注于业务逻辑实现。最后还提供了PyCharm集成开发环境的配置建议和测试数据添加方法。
2025-09-08 17:35:41
1125
原创 从零到一:打造一人公司智能管理利器——AI驱动的创业新助手(项目代码详解)
本文介绍了一个专为一人公司或小团队设计的智能管理系统AI_Company。该系统融合AI能力,帮助处理HR、财务等琐事,让创业者专注核心业务。项目采用Django+Vue3前后端分离架构,包含用户权限管理、智能HR助手等功能模块。文章详细讲解了技术栈选型、环境搭建、核心模块实现和前后端交互逻辑,包括JWT认证、RBAC权限控制、AI集成等关键技术的具体实现代码。该系统旨在通过自动化工具提升一人公司运营效率,实现"一人即公司"的高效管理目标。
2025-09-08 08:44:52
1680
原创 数据库入门:从零开始构建你的第一个数据库
这篇博客介绍了数据库的基础操作知识。从创建数据库和表开始,讲解了如何使用SQL语句进行数据插入、更新和删除等基本操作,以及如何添加约束和索引来确保数据完整性。文章还介绍了常用的数据查询方法,包括基本查询、排序和聚合查询等功能。适合数据库初学者和开发者学习基础的数据库管理技能,掌握数据存储、访问和维护的基本方法。
2025-08-07 21:09:17
491
原创 Vue3 中的 Pinia:现代状态管理的大佬
本文介绍了Vue3推荐的状态管理库Pinia。Pinia作为轻量级状态管理工具,可高效实现跨组件状态共享。文章详细讲解了Pinia的安装初始化、Store创建及使用方式,对比了选项式API和组合式API的应用场景,并探讨了其响应式特性、模块化设计等高级功能。同时提供了最佳实践建议:小型项目推荐Provide/Inject,中大型项目优先使用Pinia。Pinia凭借其轻量易用、调试友好等优势,成为Vue3状态管理的理想选择。
2025-08-07 16:02:38
942
原创 流式输出 vs 非流式输出
摘要:文章对比分析了流式与非流式数据传输的核心差异与实现方式。流式输出采用分块实时传输,具有低延迟、低内存占用特点,适合AI聊天、实时监控等场景;非流式输出则一次性传输完整数据,更适合小型JSON或静态配置。技术实现上,后端通过SSE/WebSocket实现流式传输,前端使用EventSource处理实时数据;而非流式采用传统HTTP请求。性能测试显示,处理10MB数据时流式响应仅70ms,远快于非流式的9200ms。文章建议根据数据规模、实时性需求和内存限制选择合适方案,并提供了生产环境中的超时控制和数据
2025-08-06 22:49:09
390
原创 Vue3 组件传参全解析:父子、非父子组件间的数据传递
Vue3组件传参方式全解析:从父子组件到全局状态管理。父子组件通过props(父传子)和emit(子传父)实现通信,v-model简化双向绑定。跨层级组件使用provide/inject。非父子组件推荐Pinia进行全局状态管理,也可选用mitt事件总线或浏览器存储。最佳实践建议:小型项目用provide/inject,中大型项目首选Pinia。合理选择传参方式可显著提升开发效率和代码可维护性。(149字)
2025-08-05 22:43:13
861
原创 Vue3核心语法进阶(Props)
Props 就是父组件传给子组件的数据,相当于“父子之间的传话筒”。买什么?—— 牛奶买几瓶?—— 2 瓶什么牌子?—— 蒙牛这些信息,就是Props!-- 父组件 App.vue --><template><BuyMilkitem="牛奶"count="2"brand="蒙牛"/>-- 子组件 BuyMilk.vue -->// 接收父组件传来的数据</script><template>
2025-08-05 22:42:23
958
原创 Vue3核心语法进阶(Hook)
Vue3自定义Hook与Props详解:提升代码复用与组件通信 本文介绍了Vue3中的两个核心概念:自定义Hook和Props。 自定义Hook: 本质是以use开头的函数,封装可复用的逻辑 优势:逻辑复用、代码解耦、易于测试 示例:用户信息Hook(useUser)和本地存储Hook(useLocalStorage) 最佳实践:命名规范、合理拆分、类型支持 Props详解: 父子组件通信的单向数据流机制 定义方式:数组简单写法或推荐的对象写法 核心特性:只读性,修改需通过emit通知父组件 语法糖:v-m
2025-08-04 23:31:36
816
原创 Vue3核心语法进阶(生命周期)
Vue3生命周期详解:从创建到销毁的完整指南 本文将Vue3组件的生命周期比作人的一生,分为三大阶段:创建(出生)、更新(成长)和销毁(退休)。重点介绍了核心生命周期钩子函数:setup()(替代Vue2的beforeCreate/created)、onMounted()(DOM挂载完成)、onUpdated()(数据更新后)和onUnmounted()(组件销毁前清理资源)。文章还提到了其他钩子如onBeforeUpdate和keep-alive相关的onActivated/onDeactivated,并
2025-08-04 23:04:49
2118
2
原创 Vue3核心语法进阶(computed与监听)
本文深入讲解Vue3中的计算属性(computed)和监听器(watch/watchEffect)的使用方法。计算属性部分介绍了只读和可读写两种形式的实现,展示了如何通过getter/setter响应数据变化。监听器部分详细说明了如何监听ref/reactive定义的数据,包括基本类型、对象类型及其属性的变化,并对比了手动监听(watch)和自动监听(watchEffect)的区别。文章通过具体代码示例,演示了深度监听、多数据监听等高级用法,帮助开发者掌握Vue3响应式系统的核心功能。
2025-08-02 22:42:31
945
原创 Vue3核心语法基础
Vue3 CompositionAPI 学习指南摘要 Vue3 的 CompositionAPI 解决了 Vue2 中功能代码分散的问题,通过 setup() 函数将所有相关逻辑集中管理。核心特性包括: 响应式处理:ref 用于基本类型,reactive 用于对象类型 语法糖:<script setup> 简化代码结构 解构响应式对象:使用 toRef/toRefs 保持解构后的响应性 计算属性:computed 实现自动更新 实战案例:通过待办事项和个人资料卡示例演示完整应用 进阶功能:购物车
2025-08-02 21:44:51
753
原创 教你一步步学会ai人工智能助手对话(超级详解)
本文介绍了一个零成本AI助手项目的开发过程,主要包括注册登录功能和对话功能实现。前端使用HTML/CSS/JavaScript构建响应式界面,后端采用Python的FastAPI框架与SQLite数据库。项目实现了用户名密码注册登录、邮箱验证码登录两种方式,包含密码强度校验、验证码发送等安全措施。数据库设计包含用户表、会话表和消息表,支持用户历史对话管理。后端提供RESTful API接口,通过Axios实现前后端通信,并采用密码哈希存储保障安全性。项目还展示了SMTP邮件服务的集成方法,用于发送验证码邮件
2025-07-23 17:20:42
986
原创 前端页面 Javascript运算符与循环
本文介绍了JavaScript中的运算符和循环结构。运算符部分包括:1)算术运算符(+、-、*、/、%等);2)比较运算符(==、===、>、<等);3)逻辑运算符(&&、||、!);4)赋值运算符(=、+=等);5)位运算符。重点讲解了类型转换在运算符中的影响,如==与===的区别。循环部分详细说明了:1)for循环的三部分结构;2)while和do...while循环的区别;3)for...in遍历对象属性;4)for...of遍历可迭代对象;5)控制语句break和cont
2025-07-07 17:33:52
1037
原创 前端页面Javascript数组
JavaScript数组是存储多值的数据结构,支持多种数据类型。文章详细介绍了数组的声明方式(数组字面量和Array构造函数)、初始化方法(逐项赋值和fill方法),以及常见操作(增删改查、遍历、排序、合并等)。还探讨了数组转换、复制比较、稀疏/密集数组、类数组对象等高级特性,并列举了实际应用场景。通过示例代码展示了各种数组方法的使用,帮助开发者全面掌握JavaScript数组的操作技巧。
2025-06-20 20:20:27
799
1
原创 前端页面Javascript进阶DOM与BOM
DOM是文档对象模型,用于操作HTML和XML文档。文章系统介绍了DOM基础知识,包括节点类型、元素访问方法(如getElementById、querySelector等)、元素创建与修改(createElement、innerHTML等)、删除元素(removeChild、remove)和事件处理(addEventListener)。还提供了实际案例,如表单验证和性能优化技巧(使用文档片段)。掌握这些DOM操作技能对构建交互式网页至关重要,需要不断练习以提升开发效率。
2025-06-19 19:54:04
374
原创 Python FastAPI详解
FastAPI是一款现代高性能Python Web框架,具有以下核心优势:1)基于ASGI支持异步处理,性能接近Node.js/Go;2)自动生成交互式API文档;3)通过类型提示和Pydantic实现强类型校验;4)内置安全机制。开发流程包括:安装框架、创建FastAPI实例、定义路由(如@app.get)和处理函数、使用Pydantic模型校验请求体。可通过uvicorn启动服务,支持自动重载。典型代码结构包含依赖导入、应用实例化、路由定义三部分,结合异步编程(async/await)处理高并发场景,特
2025-06-17 22:52:26
885
原创 前端页面Javascript函数
函数声明使用function关键字来定义一个函数。这是最常见的定义函数的方式。");// 输出 "Hello, Alice!JavaScript 函数是编程的核心概念之一,它提供了一种封装和复用代码的方式。通过理解函数的定义、调用、参数、返回值、作用域、闭包以及高阶函数等概念,我们可以更加高效地使用函数来解决各种编程问题。希望这篇文章能帮助你全面掌握 JavaScript 函数的相关知识。函数可以通过声明、表达式和箭头函数三种方式定义。
2025-06-16 22:11:28
721
原创 Python 进程与协程与线程(详解)
特性并行(Parallelism)并发(Concurrency)执行方式同时执行交替执行资源占用需要更多硬件资源需要较少硬件资源适用场景CPU 密集型任务I/O 密集型任务调度方式操作系统或硬件调度软件调度(如事件循环)实现方式多进程或多线程协程或事件驱动核心概念同时性交替性。
2025-05-25 10:45:18
1174
原创 网页 CSS美化2(详解)
盒子模型是网页布局的基础,将页面中所有元素都看作是一个盒子,盒子都包含以下几个属性:width 宽度 height高度 border边框 padding内边距 margin 外边距。
2025-05-24 14:08:46
1331
原创 Python中的数据库
这段代码展示了如何使用 Python 的sqlite3模块来创建数据库、创建表、插入数据、查询数据并关闭连接。下面单独将数据库中的增删改查进行讲解增删改查增(插入数据):使用向数据库中添加新记录。# 连接数据库# 游标# 插入数据)',('小牛',18,'A')))',('小羊',19,'B')))',('小狗',20,'C'))#关闭连接插入代码使用execute方法执行了一条 SQL 插入命令,向students表中插入了一条记录。?'小狗'是学生的姓名。20是学生的年龄。'C'
2025-05-23 09:39:29
1050
原创 Python 计算机网络TCP网络应用程序开发
客户端程序import socket # 导入socket模块,用于创建和管理网络连接# 创建socket对象# socket.AF_INET表示使用IPv4地址# socket.SOCK_STREAM表示使用TCP协议# 建立与服务器的连接# connect_ex()方法用于建立连接,返回值为0表示连接成功,非0表示连接失败# '127.0.0.1'是服务器的IP地址,9099是服务器监听的端口号# 检查连接是否成功print("连接成功")# 发送数据。
2025-05-20 08:25:49
1114
原创 前端页面 JavaScript数据交互
学习JavaScript为前端设置动态效果,实现交互。JavaScript是一种广泛应用于网页开发的脚本语言,
2025-05-19 16:59:43
749
原创 Python 闭包与装饰器
闭包是指有权访问另一个函数作用域中变量的函数。简单来说,即使该函数已经执行完毕,其作用域内的变量也不会被销毁,而是会被闭包所引用,从而可以在函数外部继续访问这些变量。
2025-02-14 16:32:44
977
原创 Python 面向对象的三大特征
本篇讲解面向对象的三大特征(封装,继承,多态),还有比较细致的(类属性类方法,静态方法),分步骤讲解,比较适合理清楚三大特征的思路。
2025-02-13 14:18:47
2409
2
原创 Python 面向对象(类,对象,方法,属性,魔术方法)
编程思想:面向过程关注的是解决问题的步骤和过程,而面向对象关注的是对象及其之间的交互。代码组织:面向过程的代码以函数为中心,函数之间的调用关系构成程序的执行流程;面向对象的代码以类和对象为中心,通过对象之间的消息传递来实现程序的功能。可维护性和可扩展性:面向过程的代码在处理复杂问题时,随着功能的增加,函数之间的调用关系会变得复杂,导致代码的可维护性和可扩展性降低;面向对象通过封装、继承和多态等特性,可以更好地组织代码,提高代码的可维护性和可扩展性。
2025-02-11 20:43:58
1226
1
原创 Python 高阶函数(详解)
1、当定义函数时,函数的参数是一个函数,那么定义的这个函数可以称为高阶函数。2、调用高阶函数时需要特别注意,由于高阶函数中参数类型是个函数,因此在进行调用时,我们只需要传递函数的名字即可,而不是进行函数调用。3、函数作为参数的类型时,可以是内置的函数,如abs,也可以是其它模块下的函数,如sqrt,也可以是自定义的函数,如num_num,像上面代码中num_num函数的函数体只有一行代码,可以用lambda表达式的方式写。
2025-02-10 22:49:30
1492
1
原创 Python 异常捕获(详解)
上一篇感觉太多了,应该看完文件和os模块就不太想看最后的异常捕获了,所以这一章单独拿出来写异常捕获,而且里面大部分代码我都有进行详细的解释,各位肯定可以读懂滴拉~~
2025-01-15 18:12:38
1409
原创 Python 文件和异常捕获(详解)
虽然mode文件操作模式很多,但是我们只需要记住3个字符即可。r、w、ar+、w+、a+,代加号,功能全,既能读,⼜能写(区别在于指针到底指向不同)rb、wb、ab,代b的字符,代表以二进制的形式对其进行操作,适合读取文本或二进制格式⽂件,如图片、音频、视频等格式rb+、wb+、ab+,代加号,功能全,既能读,又能写(区别在于指针到底指向不同)
2025-01-14 10:06:56
1426
原创 Python 模块,包(详解)
由以上运⾏结果可知,当我们把⼀个变量赋予给另外⼀个变量时,其两者指向的内存地址相同。就说明a和b指向了同⼀块内存空间如果当我把a赋值给了b,然后又将a改变,a和b会有什么样的变化呢?
2025-01-07 00:03:57
1186
原创 Python 元组(详解)
有序性(索引下标),异构,可重复,元组的元素不可改变!(可以作为字典的键(key)),可切片,可遍历,元组可以解包基本语法:元组名=(元素)元组可以存储多个数据且元组内的数据是不能修改的.元组:元组是不可变的,适合存储不应改变的数据。所以它们可以用作字典的键,元组适合存储不改变的数据,数据库里面的地名,城市名,等等。由于元组中的数据不允许直接修改,所以其操作⽅法⼤部分为查询⽅法。元组[索引] 根据 索引下标 查找元素index():查找某个数据,如果数据存在返回 对应的下标,否则报错。
2024-12-25 14:57:48
788
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人