- 博客(59)
- 收藏
- 关注
原创 【前端高频面试题】- 常问合集篇
核心概念铺垫每个 JS 对象(除null)都有__proto__属性(隐式原型),指向其原型对象(prototype)。每个函数(含构造函数)都有prototype属性(显式原型),其值是一个对象,包含该函数实例共享的属性和方法。原型对象中还有属性,指向对应的构造函数(如原型链定义:当访问对象的某个属性/方法时,JS 会先在对象自身查找;若找不到,会通过__proto__向上查找其原型对象;若原型对象中也没有,继续向上查找原型的原型,直到找到(原型链顶端,其__proto__为null。
2025-09-19 09:52:35
1031
原创 【前端高频面试题】- 基础篇
原型每个函数(如构造函数)都有prototype属性(原型对象),该对象包含实例可共享的属性和方法;每个实例对象都有__proto__属性(隐式原型),指向其构造函数的prototype。原型链当访问实例的某个属性/方法时,若实例本身没有,会通过__proto__向上查找构造函数的prototype;若仍没有,继续向上查找prototype的__proto__,直到找到(其__proto__为null),这条查找链就是原型链。作用:实现属性和方法的共享,减少内存占用(如所有数组实例共享的。
2025-09-19 09:40:04
991
原创 【前端高频面试题】- Git + HTTP协议篇
RESTful API 是基于 HTTP 协议设计的“资源型 API 规范”,核心是“以资源为中心”(而非以“操作”为中心),通过 HTTP 方法表达对资源的操作(如 GET 查询、POST 创建),使 API 简洁、易理解、可扩展。
2025-09-18 19:11:50
671
原创 【前端高频面试题】 - TypeScript 篇
泛型定义:泛型是“类型参数化”的语法,允许在定义函数、接口、类时不指定具体类型,而是在使用时动态传入类型(类似函数的参数传递),语法用<T>(T 为类型占位符,可自定义名称)。为什么需要泛型(解决两个核心问题):类型安全:避免使用any导致的类型丢失(如用any定义数组,无法约束数组元素类型)。代码复用:一套逻辑支持多种类型(如一个“获取数组第一个元素”的函数,可同时支持 string 数组、number 数组)。实习常用例子。
2025-09-18 11:55:10
2366
原创 【前端高频面试题】- React篇
定义:JSX(JavaScript XML)是 JavaScript 的语法扩展,允许在 JavaScript 代码中嵌入类似 HTML 的标签,用于描述 React 组件的 UI 结构。注意:JSX 不是 HTML,也不是模板语言,最终会被 Babel 编译为函数调用,生成虚拟 DOM 对象。使用 JSX 的原因直观易读:类似 HTML 的语法,开发者无需切换“JS 逻辑”和“HTML 结构”思维,降低学习和开发成本。融合 JS 逻辑:JSX 中可直接通过{}
2025-09-18 11:38:29
1071
原创 【前端高频面试题】- Vue篇
定义:将多个组件共享的datamethods、生命周期等,抽取到一个 Mixin 对象中,组件通过引入使用。优点逻辑复用:减少重复代码(如表单验证、数据请求逻辑);灵活:支持多 Mixin 引入、Mixin 嵌套。缺点命名冲突:组件和 Mixin 中同名选项(如data属性、methods方法),组件会覆盖 Mixin(生命周期钩子会合并执行,Mixin 先执行);逻辑隐式:组件引入 Mixin 后,逻辑来源不清晰,不利于维护(大型项目易混乱);替代方案。
2025-09-17 22:08:40
1377
原创 【前端高频面试题】 - JavaScript 篇
本文总结了JavaScript前端高频面试题,涵盖以下核心内容: 变量类型与检测:区分基本类型(6种)和引用类型,介绍typeof、instanceof和Object.prototype.toString的检测方法及适用场景。 变量提升:解释var、let、const的变量提升差异,重点说明let/const的暂时性死区特性。 this指向:分6种场景(全局、函数调用、方法调用、构造函数、call/apply/bind、箭头函数)说明this绑定规则。 闭包:定义闭包的形成条件(函数嵌套+变量引用+外部调用
2025-09-17 21:43:14
1152
原创 【前端高频面试题】-HTML篇
回答:语义化核心就是“用有明确含义的标签描述内容”,比如用<nav>表示导航栏,不是用这种没意义的容器。好维护:团队看代码时,这些标签一看就知道是啥结构,不用猜class名;助SEO:搜索引擎爬虫能通过语义标签识别重点内容,比如<article>里的文章、<h1>的标题,能提升页面排名;无障碍:屏幕阅读器会读标签含义,比如读到<aside>会提示“侧边辅助区”,视障用户更容易操作;简代码:不用额外加class标记结构,比如直接用<footer>,少写冗余代码。
2025-09-16 22:21:12
1071
原创 区域性肿瘤数据可视化平台毕设【上】
本论文聚焦于开发一个区域性肿瘤数据可视化平台,旨在应对恶性肿瘤这一重大公共卫生问题。基于2022年中国癌症监测数据,新发癌症病例和死亡病例分别达到4,824,700例和2,574,200例,凸显了数据分析与可视化在疾病研究中的重要性。研究采用Vue.js+Element UI前端框架与Node.js+Express后端服务,集成ECharts可视化引擎,构建动态交互式分析工具。系统采用前后端分离架构,前端负责数据展示和用户交互,后端提供API接口和数据处理逻辑。通过组件化开发和多维度动态交互系统,支持数据上
2025-05-12 13:14:22
408
原创 将DeepSeek预设指定角色
基础大模型是没有目的性的, 你聊什么给什么, 但是如果我们开发的事一个智能票务助手, 我需要他以一个票务助手的角色跟我对话, 并且在我跟他说"退票"的时候, 让大模型一定要告诉我“车次”和"姓名" ,这样我才能去调用业务方法(假设有一个业务方法,需要根据车子和姓名才能查询具体车票),进行退票。
2025-04-24 09:22:41
926
原创 JAVA接入DeepSeek持久化保持聊天记录
LangChain 提供了多种 Memory 存储方案,支持不同的后端数据库,如 Redis、PostgreSQL、MongoDB 等。此时由于一打开会话就去获取历史会话,因为我们没有接入数据库 所以没有记忆会话信息 所以页面显示的是500报错。如果要对记忆的数据进行持久化呢?因为现在的数据其实是存在内存中, 重启就丢了。默认是—InMemoryChatMemoryStore—通过一个map进行存储。可以配置一个ChatMemoryStore。然后配置ChatMemoryStore。
2025-04-24 09:21:03
682
原创 Java实现DeepSeek聊天信息记忆分离
现在我们再来想另一种情况: 如果不同的用户或者不同的对话肯定不能用同一个记忆,要不然对话肯定会混淆,此时就需要进行区分。首先我们发起第一个聊天,然后告诉大模型我们是小红,并且传多一个参数userId=2。
2025-04-23 15:54:56
450
原创 LangChain4j 整合SpringBoot开发
将deepseek的streamingChatLanguageModel配置信息配置到application.properties中。对比一下官方的DeepSeek聊天工具,我们可以看出它的聊天信息是一个一个文字显示出来的,那么这种功能是如何实现的呢?所以对⼤模型来说,没有第⼀次的“ 你是谁 ” 的记录,⼤模型⾃然就⽆法理解 “ 再说⼀次 ” 的含义。这是因为,在⽬前的代码中,每次调⽤就是⼀次新的会话。但是如果要我们每次把之前的记录自己去维护, 未免太麻烦, 所以提供了ChatMemory。
2025-04-23 15:52:21
21673
原创 SpringBoot接入ImageModel⽂⽣图模型
这里采用阿里的万象大模型来生成。在使用之前先检查是否有注册阿里万象大模型的账号,如果没有需要注册一个:https://bailian.console.aliyun.com/?
2025-04-22 09:53:59
407
原创 SpringBoot项目接入DeepSeek
如图所示代码没有多大的变化, 前面我们说因为 Deepseek 的 API 设计与 OpenAI 的 API 兼容,所以使用OpenAI的那一套就行。只不过deepseek好像没有默认的apikey,所以只能填入你自己的apikey了,具体可以去deepseek官网查看。DeepSeek API 使用与 OpenAI 兼容的 API 格式,通过修改配置,您可以使用 OpenAI SDK 来访问 DeepSeek API,或使用与 OpenAI API 兼容的软件。,即可调用 DeepSeek-R1。
2025-04-22 09:50:56
536
原创 Java 整合大模型之LangChain4j
LangChain是⼀个⼤模型的开发框架,使⽤ LangChain 框架,程序员可以更好的利⽤⼤模型的能⼒,⼤⼤提⾼编程效率。如果你是⼀个 Java 程序员,那么对 LangChain 最简单直观的理解就是, LangChain 是⼤模型领域的Spring。LangChain 不光提供了⼀整套快速接⼊各种开放⼤模型的⼯具,更重要的是,他集成了当今程序员使⽤⼤模型能⼒最好的⽅案。
2025-04-21 12:22:19
23526
原创 Maven工程
Maven 是一个项目管理工具,它包含了一个项目对象模 型 (POM:Project Object Model),一组标准集合,一个项目生命周期(Project Lifecycle),一个依赖管 理系统(Dependency Management System),和用来运行定义在生命周期阶段(phase)中插件(plugin)目标 (goal)的逻辑。
2025-04-21 12:21:15
1001
原创 SpringBoot项目合集
多条件查询单个用户:http://localhost:8085/user/selectByMore?多条件模糊查询单个用户:http://localhost:8085/user/selectByLike?根据username查询单个用户:http://localhost:8085/user/selectByUsername/admin。分页查询:http://localhost:8085/user/selectPage?分页查询:http://localhost:8085/user/selectPage?
2025-04-02 19:37:13
1179
原创 《项目实训1》课程设计
回顾本学期,在参与图书管理系统项目中成长显著。从课程知识学习开始,掌握数据库设计基本原则,依据需求分析构建合理 E - R 图,像本系统中精准梳理图书、读者、管理员及借阅关系,为后续代码实现夯实基础。在前端编程技能上,使用HTML、CSS和JavaScript来构建用户界面。在这个过程中,我学习了如何使用Bootstrap框架来快速设计响应式布局,以及如何通过AJAX与后端进行数据交互。
2025-03-28 09:27:43
1165
原创 《嵌入式系统》课程设计
经过团队的共同努力,本项目成功研发出一款基于嵌入式系统的智能多媒体影音系统,其成果与亮点颇丰。在功能层面,数码相册模块不仅实现了对 BMP 格式数码照片的高效读取与清晰呈现,还为用户提供了便捷的浏览体验,支持无缝切换至上一张或下一张照片,以及随时退出相册的功能,使用户能够随心所欲地欣赏和管理个人照片集。
2025-03-28 09:22:11
1630
原创 Springboot+MybatisPlus 项目+代码生成器
在 dependencies 里面添加一些mybatis-plus 相关的依赖。运行mybatis-generator目录中的CodeGenerator文件。将 springboot 的parent 中的版本修改为3.1.6。2.数据库名称、数据库用户及密码。1.修改包名称、目录名称。
2025-03-27 17:09:49
1931
原创 《WordBook词典APP》Android课程设计
在WordBook词典App项目中,我协助林铭洪进行Android客户端的开发,并主要负责性能测试和代码审查。这个项目让我对应用的性能优化有了更深的认识,我也学会了如何通过代码审查来提高代码质量。与林铭洪的合作非常愉快,我们相互支持,共同推进项目进度。这次项目不仅提升了我的技术能力,也让我更加相信团队合作的力量。通过这次经历,我学会了如何在团队中发挥自己的作用,同时也认识到了沟通和协作在项目成功中的重要性。
2025-03-27 11:48:27
1033
原创 Java【扫雷游戏】课设
另外还有一种模式,假如玩家想要自己定义扫雷的难度可以自己设置雷数和尺寸,只要打开“自定义”配置弹窗,在之后的弹框里按提示输入雷数和尺寸,行数最大为24,列数最大为30,如果玩家设置的雷数超过了范围(比如雷数大于格子的总数或小于零),系统会默认雷数为行数减一与列数减一的乘积。玩家点开游戏之后可以点击菜单栏选择扫雷游戏的难度,不同的难度就代表了不同的地雷总数和尺寸,自定义的难度也会设置雷数和尺寸,设置的这些数据全部存放在几个变量之中,当雷区要初始化的时候程序会调用这么变量属性,然后通过一个循环来完成初始化。
2025-03-26 13:29:37
1239
原创 C语言【英汉词典】课程设计
总之,本次C语言英汉词典的项目开发和团队合作,让我们进一步认识到了项目开发的流程和团队协作的重要性,并切实提高了我们的技术水平和工作实践能力,最终取得了比较令人满意的成果。在未来的开发过程中,我们会继续保持团队精神,合理安排任务,加强时间的紧迫感,积极学习新技术,以更好地实现我们的目标。在论文的部分,我负责了3.2系统实现部分,包括了英译汉、汉译英、查找单词、删除单词、增加单词、刷新界面、退出等,我们使用了现有的技术和知识,还进行了一定的创新和探索,在解决问题时更加高效地使用了语言和算法的技巧。
2025-03-26 13:16:58
1240
原创 后端登录注册实现【模板】
同时注意entity层中的User实体类的属性要对应数据库表的字段(我数据库表字段为create_time和avatar_url,我原本在User中使用驼峰起名为createTime和avatarUrl,但是后端返回数据data中,这两个都为null,后来才改为一一对应,后续加强学习,找找原因)里面的注册接口与新增用户接口基本一致。
2024-12-26 17:14:35
508
原创 SpringBoot增删改查导入导出操作【模板】
创建数据库并添加一个表注意勾选以下依赖项目创建完成后进行创建controller、mapper 、service、entity包,和resources目录下的mapper包4. 配置数据库连接并进行测试在 中配置数据库连接信息:进行检测数据库是否已连接在 entity 包中创建 :注意一般有lombok依赖后,可以直接使用@Data注解,而省略getter和setter方法(下面我的@Data注解使用不了)6. 创建 MyBatis Mapper在 包中创建 :同时,创建 文件,存放在
2024-12-17 09:40:40
800
原创 SpringBoot 解决跨域问题【模板】
注意,加完这个配置类后一定要 重启后台!在Springboot项目里加上这个配置文件。1、添加跨域工具包CorsConfig。访问,前端无需再配置跨域。
2024-12-06 11:01:49
500
原创 【数据库原理】课程笔记
概念数据模型也称概念模型或信息模型,是对现实世界中问题域内事务(特性)的描述,是以用户观点实现世界的模型(图形表示)。主要用于描述事物的概念化结构,使数据库的设计人员在设计初期,避开计算机系统及DBMS具体技术问题,以图形化方式表事物(实体)数据特征(属性)及其之间的联系等,**常用的是实体-联系模型(E-R图)**。
2024-07-03 16:01:00
1571
原创 【Mybatis知识点学习】
预编译是提前对SQL语句进行预编译,而后再调用SQL,注入的参数就不会再进行SQL编译。而SQL注入是发生在编译的过程中,因为恶意注入了某些特殊字符,最后被编译时SQL时轻而易举的通过,从而导致数据泄露。而预编译机制则可以很好的防止SQL注入。而SQL注入是发生在编译的过程中,因为恶意注入了某些特殊字符,最后被编译时SQL时轻而易举的通过,从而导致数据泄露。在程序中紧密的联系并不是一件好的事情,因为两种事物之间联系越紧密,你更换其中之一的难度就越大,扩展功能和debug的难度也就越大。
2024-05-19 13:55:15
920
原创 JavaSE知识点查漏补缺
修饰符 返回值类型 方法名(参数类型 参数名,...){方法体...return 返回值;线程就是独立的执行路径在程序运行时,即使没有自己创建线程,后台也会有多个线程,比如主线程,GC线程main()称之为主线程,为系统的入口,用于执行整个程序在一个进程中,如果开辟了多个线程,线程的运行是由调度器(cpu)安排调度的,调度器是与操作系统紧密相关的,先后顺序是不能人为干预的对同一份资源操作时mm会存在资源抢夺的问题,需要加入并发控制。
2024-05-16 21:38:29
930
原创 【Java一些注解知识】
@RequestMapping("/users")指定了这个控制器处理的URL路径为"/users",即所有以"/users"开头的请求都会交给这个控制器处理。当有一个GET请求发送到"/users/123"时,Spring框架会调用UserController类中的getUserById方法,并将123作为id参数传入。- @GetMapping("/{id}")指定了处理GET请求的方法getUserById,其中{id}是一个占位符,表示在实际请求中会传入一个id作为参数。
2024-05-10 00:10:14
432
原创 【Maven工具】
仓库组(group):用来聚合代理仓库和宿主仓库,为这些仓库提供统一的服务地址,以便 Maven 可以更加方便地获得这些仓库中的构件。Maven 私服是一种特殊的远程仓库,它是架设在局域网内的仓库服务,用来代理位于外部的远程仓库(中央仓库、其他远程公共仓库)。请求外部的远程仓库,将所需构件下载并缓存到 Maven 私服,若外部远程仓库不存在所需构件,则 Maven 直接报错。Maven 还可以从仓库组中下载构件,仓库组会从其包含的宿主仓库和代理仓库中获取构件。
2024-04-15 09:07:39
1135
原创 【Git项目部署到本地仓库】
如果您已经将更改推送到了远程仓库,您需要强制推送这些重写历史的更改到远程仓库。如果在仓库级别没有特定配置,那么它会回退到全局设置,如果全局设置也没有,那么通常不会有输出。但请注意,这是一个重写历史的操作,可能会影响到与其他仓库的协同工作,因此在使用之前请确保您了解可能带来的后果。要将项目传到本地仓库,你需要先在本地创建一个新的git仓库,然后将项目文件添加到该仓库中。在命令行中,导航到您想要创建Git仓库的目录,例如,如果您的项目在。命令来设置它们,以确保您的提交有正确的标识信息。
2024-03-29 12:40:39
1894
原创 【Hexo + Github 搭建自己的专属博客】
在Windows上使用Git,可以从Git官网直接,然后按默认选项安装即可。安装完成后,在开始菜单里找到,蹦出一个类似命令行窗口的东西,就说明Git安装成功!在Git中绑定Github账号,打开“Git Bash”,在命令框中依次输入两行命令:由于Hexo是基于Node.js驱动的一款博客框架,所以安装NodeJSoad/并配置环境变量。以上环境准备好了就可使用npm开始安装Hexo安装Hexo完成后,在指定文件夹下打开。
2024-03-27 20:20:02
1786
原创 【Ubuntu】常用命令
结束指定进程时使用,就比如某个软件不响应了,这时候kill就相当于windows系统中的任务管理器中的“结束进程”按钮。创建任意格式的文件,包括源代码、文本等等,通过后缀来决定。ll , 以列表形式显示当前路径下的所有文件的详细信息(包括隐藏文件和缓存文件等)。如果你的电脑是公司的,还可以将cd命令换成rm -rf,让以后的同事替你背锅。更推荐使用apt命令而不是apt-get命令,它的命令更精简而且易用。删除文件,后面接上要删除的文件名。特别的,如果想把某目录下所有文件都复制,可以使用参数-r。
2024-03-19 23:36:41
1059
Java实现贪吃蛇小游戏
2024-01-22
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人
RSS订阅