- 博客(170)
- 收藏
- 关注

原创 Transformer讲解大纲,写PPT的可参考
在这个信息如星辰般璀璨的时代,我们被无数的语言和文字包围。它们如同夜空中闪烁的繁星,每一颗都蕴藏着独特的故事和知识。然而,如何解读这些星辰的秘密,如何将它们的光芒汇聚成智慧的海洋,成为了我们这个时代的挑战。今天,我们将一起探索一种名为Transformer的神秘力量,它是解读语言星辰的钥匙,是连接信息宇宙的桥梁。在文本摘要任务中,Transformer就像是精炼知识的炼金术士,它能够从大量的文本中提炼出最核心的信息,生成简洁而准确的摘要。
2024-05-26 20:58:25
665
原创 基于大语言模型的自动化单元测试生成系统及测试套件评估方法
单元测试是软件测试生命周期中最基础的测试层级,对确保软件正确性至关重要。设计和创建单元测试是一个成本高昂且劳动密集型的过程,非常适合进行自动化。近年来,大语言模型(LLMs)已被应用于软件开发的各个方面,包括单元测试生成。尽管已有若干评估LLMs在测试代码生成能力的实证研究,但这些研究主要关注简单场景,例如为单个方法直接生成单元测试。这些评估通常涉及独立且小规模的测试单元,未能全面反映LLMs在真实软件开发场景中的表现。此外,先前的研究未能以适合实际应用的规模处理问题。
2025-04-19 19:42:05
1127
1
原创 【中文翻译】CODEI/O: Condensing Reasoning Patterns via Code Input-Output Prediction
推理是大型语言模型(LLMs)的一项基本能力。尽管先前的研究主要集中在提升如数学或代码生成等狭窄技能上,但由于训练数据的稀疏性和碎片化,提升其他推理任务的性能仍然具有挑战性。为了解决这个问题,我们提出了CoDEI/O,这是一种新颖的方法,通过将原始代码转换为代码输入输出预测格式,系统地压缩嵌入在上下文代码中的多样化推理模式。
2025-02-13 11:22:03
812
原创 DeepSeek:从入门到精通
DeepSeek作为一款强大的AI工具,不仅在功能上表现出色,还通过开源策略降低了使用门槛。无论你是学生、职场人士还是创意工作者,都能通过DeepSeek提升效率和创造力。通过掌握提示词设计和进阶应用技巧,你将能够更好地利用DeepSeek,开启人工智能的探索之旅。附上资料DS001,即可下载。
2025-02-12 20:38:48
730
原创 python单元测试及统计覆盖率
测试覆盖率衡量的是测试用例覆盖代码的程度。它通常以百分比来表示,反映了测试用例对源代码的覆盖情况。行覆盖率:测试用例执行到的代码行数占总行数的比例。分支覆盖率:测试用例覆盖到的代码分支占所有分支的比例。条件覆盖率:测试用例满足的条件表达式占所有条件表达式的比例。在Python中,有多种工具可用于测量和分析代码的测试覆盖率。这些工具帮助开发者了解测试用例覆盖了代码的哪些部分,以及哪些部分可能未被充分测试。是其中最受欢迎的工具之一,它不仅能测量多种覆盖率指标,还能生成易于理解的报告。
2024-08-15 20:55:14
1389
原创 在Linux中使用Python打印彩色文本
在Linux终端中,我们可以通过ANSI转义序列来控制文本的显示样式,包括颜色、亮度等。Python提供了灵活的方式来生成这些转义序列,使得在终端中打印彩色文本变得简单。通过使用ANSI转义序列,我们可以轻松地在Python脚本中添加颜色,使得输出更加生动和易于区分。这对于日志记录、错误消息显示等场景非常有用。
2024-07-21 16:15:25
442
原创 类的生命周期详解
面向对象编程(OOP)是一种编程范式,它使用“对象”来设计软件。对象可以包含数据(通常称为属性或字段)和代码(通常称为方法或函数)。OOP的核心概念包括封装、继承和多态性,它们共同构成了类的基础。示例:封装:一个银行账户类可能封装了账户余额和交易记录,同时提供存款和取款的方法。继承:一个车辆类可以被继承来创建更具体的类,如汽车、卡车或摩托车,每个子类都拥有车辆的通用属性和方法,同时添加自己的特定属性和方法。多态性。
2024-07-10 17:53:37
1388
原创 springboot中的定时任务编写
Spring Boot是由Pivotal团队(现在是VMware的一部分)开发的,基于Spring框架的一个模块化、快速开发和部署的框架。它旨在简化Spring应用的初始搭建以及开发过程,通过提供一系列默认配置来减少开发者的配置工作。定时任务是一种在预定时间自动执行的代码片段或程序。它们可以是一次性的,也可以是周期性的,用于执行自动化任务,如数据备份、发送通知、执行定时检查等。
2024-07-05 08:58:17
1278
原创 spring中IOC相关介绍
控制反转(Inversion of Control, IoC)是一种软件设计原则,其核心思想是将传统编程中的控制流程反转。在传统的编程模式中,组件之间的依赖关系由组件自身在运行时决定。而在IoC中,这种控制权被反转,由外部容器在运行前配置和决定。简单来说,IoC就是一种让对象的创建和依赖关系由外部控制的机制。@Bean在这个示例中,每次请求都会创建一个新的MyService实例。依赖注入是一种实现控制反转(IoC)的模式,它允许开发者将组件的依赖关系从组件本身转移到外部容器。
2024-07-03 20:18:34
783
原创 Python中的除法操作详解
Python提供了多种除法运算符,每种运算符都有其特定的用途和行为。了解这些运算符可以帮助你更有效地进行数学计算和程序设计。记住,选择正确的运算符对于编写清晰、准确的代码至关重要。
2024-07-01 17:54:00
2819
原创 Linux中彩色打印
Python是一种解释型、高级、通用的编程语言。它由Guido van Rossum于1989年底发明,第一个公开发行版发行于1991年。Python的设计哲学强调代码的可读性,其语法允许程序员用更少的代码行表达想法。Python的特点包括动态类型系统和垃圾收集,以及自动内存管理。如果您需要使用标准ANSI颜色代码之外的颜色,您可能需要使用其他库或工具来实现,或者自定义您的终端或IDE来支持更多的颜色。在本节中,我们探讨了如何使用Python的内置方法来实现彩色打印。
2024-06-29 22:55:44
991
原创 来聊聊nacos
Nacos是一个易于使用的平台,用于动态服务发现、配置管理和服务管理。它支持云原生环境,并与现有的微服务生态系统集成,如Spring Cloud和Dubbo。Nacos的设计目标是帮助开发者在微服务架构中更高效地进行服务的注册、发现和配置管理。
2024-06-28 22:18:47
975
原创 java中的枚举
Java中的switch语句是一种控制流语句,用于基于不同的情况执行不同的代码块。在Java 7之前,switch语句只能用于基本数据类型(如int、char等),或者字符串。从Java 7开始,switch语句也可以用于枚举类型,这使得基于枚举的代码更加清晰和易于维护。迭代枚举类型是Java中一种常见的操作,它允许开发者遍历枚举类型中的所有常量。Java为枚举类型提供了内置的迭代机制,使得遍历枚举变得异常简单和高效。单例模式是一种常用的软件设计模式,它确保一个类只有一个实例,并提供一个全局访问点。
2024-06-27 20:47:21
1230
原创 Apache POI操作excel
Apache POI是一个开源的Java库,用于处理Microsoft Office文档。自2001年首次发布以来,它已经成为Java社区中处理Office文档事实上的标准。Apache POI支持HSSF(用于旧版本的Excel格式,即.xls)和XSSF(用于Excel 2007及以后版本,即.xlsx)两种Excel格式,以及其他Office文档格式。
2024-06-26 19:21:55
1256
原创 前端中的深拷贝
浅拷贝和深拷贝。浅拷贝:创建一个新对象,但是这个对象的属性值是指向原始对象属性值的引用。如果原始对象的属性是基本类型,那么浅拷贝会复制这些值;如果属性是引用类型,那么新对象会复制引用,而不是引用的对象本身。深拷贝:创建一个新对象,并且递归地复制这个对象的所有子对象,直到所有的属性都是独立的副本。这意味着原始对象和复制对象之间不存在引用共享。
2024-06-24 22:28:11
1469
原创 如何解决vue中的路由守卫失效问题
路由守卫是前端开发中一个至关重要的概念,特别是在使用单页应用(SPA)框架如React、Vue或Angular时。它们充当了SPA中的“门卫”,控制着用户对不同页面的访问权限。路由守卫的核心功能是确保用户在访问特定页面之前满足一定的条件,比如登录状态、权限验证等。路由守卫是前端路由系统中的一个关键组件,用于在页面跳转前执行额外的逻辑,如权限验证、登录状态检查等。它们是SPA中保证页面访问安全和合理导航流程的基石。在诊断路由守卫问题时,我们需要系统地检查和验证每个可能影响路由守卫工作的因素。
2024-06-23 17:45:32
1705
原创 聊聊贪心算法
贪心算法是一种在每一步选择中都采取当前状态下最优(或最有利)的选择,以期望得到全局最优解的算法策略。它的核心思想是在每一步都做出局部最优的选择,从而希望这些局部最优选择的累积能够导致全局最优解。直观性:贪心算法的选择过程直观,易于理解和实现。简单性:算法结构简单,通常只需要线性或多项式时间复杂度。快速性:能够快速得到解决方案,适合于需要快速响应的场景。不保证全局最优:由于每一步只考虑局部最优,不保证最终解是全局最优的。
2024-06-22 21:52:53
845
原创 vue中的状态管理
状态管理是前端应用开发中的一个核心概念,它涉及到应用中数据的存储、共享、更新和维护。在Vue中,状态管理是指对应用程序中共享状态的集中式管理,以确保状态的一致性和可预测性。Vuex是Vue.js的官方状态管理库,专为Vue.js应用程序开发。它采用集中式存储管理应用的所有组件的状态,并以相应的规则保证状态以一种可预测的方式发生变化。在 Vuex Store 中,Mutations 通过一个对象定义,每个属性是一个 Mutation 的函数,函数名就是 Mutation 的类型。state: {
2024-06-22 21:05:11
2197
1
原创 Linux中的用户组
在Linux系统中,用户(User)是指具有登录系统权限的个体或服务。每个用户都有一个唯一的用户名和用户ID(UID)。用户组(Group)则是将具有相似权限需求的用户集合在一起的一种方式。每个用户组也有一个唯一的组名和组ID(GID)。
2024-06-21 12:46:45
1630
原创 Java虚拟机的堆内存管理
理解Java堆内存的分区对于优化Java应用程序的性能至关重要。新生代的Minor GC和老年代的Major GC各自承担着不同的角色,而方法区或元空间的合理使用则关系到类元数据的存储和管理。通过合理配置和监控这些内存区域,开发者可以显著提高Java应用的性能和稳定性。
2024-06-20 18:55:19
414
原创 常量池你了解多少
Java虚拟机(JVM)是一个可以执行Java字节码的虚拟计算机。它是Java平台的核心组成部分,允许Java程序在不同的操作系统和硬件平台上运行。JVM不仅提供了内存管理、垃圾回收等基础服务,还支持多种高级特性,如多线程、安全性和网络通信。常量池是JVM中的一个特殊内存区域,它存储了编译期生成的各种字面量和符号引用。字符串常量(如"Hello, World!")类和接口的全限定名字面量(如数字123或字符’a’)被声明为final的常量值。
2024-06-19 12:57:06
1129
1
原创 【论文翻译】DeepSeek-Coder-V2: Breaking the Barrier of Closed-Source Models in Code Intelligence
本翻译来自大模型翻译,如有不对的地方,敬请谅解引言开源社区通过开发诸如StarCoder(Li等人,2023b;Lozhkov等人,2024)、CodeLlama(Roziere等人,2023)、DeepSeek-Coder(Guo等人,2024)和Codestral(MistralAI,2024)等开源代码模型,在推进代码智能方面取得了显著进展。这些模型的性能已稳步接近闭源同类产品,为代码智能的进步做出了贡献。然而,当与像GPT4-Turbo(OpenAI,2023)、Claude 3 Opus(An
2024-06-18 13:45:27
3146
原创 vue中的模板语法
Vue.js,简称Vue,是一个用于构建用户界面的渐进式JavaScript框架。自从2014年首次发布以来,Vue因其简洁、易学和高效而迅速赢得了开发者的青睐。Vue的核心库只关注视图层,易于与其他库或现有项目整合,同时也可以支持通过各种插件和库构建复杂的单页应用(SPA)。Vue模板语法是一种声明式的标记语言,用于将组件的数据渲染进DOM。它允许开发者使用HTML作为模板,并通过Vue的指令来增强HTML的功能,实现数据和视图的动态绑定。Vue允许开发者创建自己的指令,以封装复杂的DOM操作逻辑。
2024-06-17 19:25:31
1545
原创 vue中的代码分割
代码分割是一种现代前端开发中的优化策略,它允许开发者将应用的代码库分割成多个小的、独立的模块,这些模块可以按需加载。与传统的单文件打包方式相比,代码分割可以显著减少应用的初始加载时间,因为它允许浏览器只加载用户当前需要的代码。此外,代码分割还有助于提高缓存效率,因为分割后的模块可以被独立缓存和复用。Vue Router是Vue官方的路由管理器,用于构建单页面应用。它允许你通过URL来控制页面的切换,而无需重新加载整个页面。Vue Router与Vue.js的整合非常紧密,使得路由的配置和使用变得简单直观。
2024-06-17 18:39:20
2552
原创 vue中的依赖管理
Vue.js是一个用于构建用户界面的渐进式框架。它从核心出发,易于学习和集成,同时提供丰富的生态系统支持,包括但不限于Vuex状态管理、Vue Router路由管理等。Vue的核心库只关注视图层,易于与其他库或现有项目整合。在Vue项目中,一个清晰和组织良好的文件结构是至关重要的。src:存放所有源代码。assets:静态资源,如图片、样式表等。components:Vue组件。router:路由配置文件。store:状态管理,使用Vuex。App.vue:根组件。main.js。
2024-06-16 13:14:30
1760
原创 vue中的自定义指令
Vue自定义指令提供了一种强大的方法来扩展Vue的功能。它们允许开发者直接对DOM元素进行低层次操作,而无需编写大量的模板或者JavaScript代码。自定义指令可以响应Vue的响应式系统,从而在数据变化时触发相应的DOM更新。Vue提供了一些内置指令,如v-modelv-ifv-for等,它们已经覆盖了很多常见的场景。然而,内置指令的功能是有限的,自定义指令则提供了更多的灵活性和控制力。动画和过渡:实现复杂的动画效果。DOM操作:在不使用额外库的情况下,直接操作DOM。表单验证。
2024-06-16 13:00:26
4249
1
原创 vue中的组件通信
Vue.js 是一个用于构建用户界面的渐进式框架,它易于上手,同时具备强大的功能。Vue的核心库只关注视图层,易于与其他库或现有项目整合。Vue的设计哲学是响应式和组件化,这使得开发者能够通过构建可复用的组件来快速开发复杂的应用。在Vue中,组件是自定义的可复用元素,它们可以包含HTML、CSS和JavaScript。组件系统是Vue的核心特性之一,它允许开发者通过组合简单的组件来构建复杂的应用。
2024-06-15 15:16:17
760
原创 grep命令知多少
命令的主要用途是搜索文件中的文本字符串。它可以在单个文件或一组文件中搜索特定的文本模式,并且可以根据需要输出匹配的行、忽略大小写、递归搜索目录等。是一个不可或缺的文本处理工具,它允许用户快速搜索文件中的文本模式。的搜索功能不仅限于文本文件,它还能够处理二进制文件,使其成为一个多功能的搜索工具。支持正则表达式、多种文件类型和复杂的搜索模式,使其成为一个功能强大的文本搜索工具。输出结果将包括所有包含"hello"或"HELLO"的行。这将在指定目录及其所有子目录中搜索包含"file"的文件。
2024-06-15 12:27:57
1037
原创 聊聊gmock的用法
Google Mock是由Google开发的一种用于C++的模拟(mocking)框架,它是Google Test测试框架的一部分。gmock允许开发者创建模拟对象,这些对象可以在单元测试中代替真实的依赖项,使得测试更加灵活和独立。通过使用gmock,开发者可以专注于测试代码逻辑的正确性,而不必担心外部依赖的复杂性。Mocking是一种测试技术,它允许测试者模拟(mock)一个对象或接口的行为,以便在测试中隔离被测试的代码。Mock对象通常用于替代真实的依赖项,使得测试可以独立于外部系统或组件运行。
2024-06-14 18:38:45
1439
原创 Google Test简介
在软件开发过程中,测试是保证代码质量和可靠性的关键环节。Google Test(gtest)是一个由Google开发的C++测试框架,它提供了一套丰富的测试功能,帮助开发者编写和维护高质量的代码。
2024-06-14 12:58:02
1142
原创 跨平台C++开发:编译器与平台差异的深度解析
C++编译器是软件开发过程中不可或缺的工具,它负责将C++源代码转换成可在特定硬件和操作系统上运行的机器代码。C++编译器的复杂性不仅体现在语言本身的丰富性,还体现在不同编译器实现之间的差异性。本节将详细介绍C++编译器的基本概念、主要编译器的特点以及它们之间的一些关键差异。
2024-06-13 12:53:57
1907
原创 Python中的全局解释器锁:深入解析与应对策略
这种机制在CPython(Python的官方和最常用的实现)中是通过在执行Python代码之前获取锁,在执行之后释放锁来实现的。然而,也有观点认为,GIL在某些情况下仍然有其存在的必要,例如在I/O密集型任务中,GIL的影响相对较小。全局解释器锁(GIL)是Python编程语言中的一个关键概念,它在Python的早期版本中被引入,以解决多线程编程中的一些复杂问题。许多开发者认为GIL限制了Python在多核处理器上的性能,但也有人指出,在某些情况下GIL的存在简化了多线程编程的复杂性。
2024-06-12 08:57:33
1277
原创 Python中的可变参数
args是Python中的一个特殊语法,它允许你向函数传递任意数量的位置参数。这些参数在函数内部被存储为一个元组(tuple)。使用*args可以增加函数的灵活性,使其能够接受不确定数量的参数。**kwargs是Python中处理命名参数的特殊语法,它允许你向函数传递任意数量的关键字参数。这些参数在函数内部被存储为一个字典。使用**kwargs可以使得函数的定义更加灵活,能够接受不定数量的命名参数。
2024-06-11 20:23:47
2883
原创 Python中的协程
使用async def关键字可以定义一个协程函数。这个关键字定义了一个异步函数,它可以包含await表达式。await asyncio.sleep(1) # 模拟异步操作。
2024-06-11 19:23:47
1324
原创 Python中的垃圾回收机制
尽管存在循环引用的问题,Python的垃圾回收器通过标记-清除算法与引用计数协同工作,以解决循环引用问题。标记-清除算法是Python垃圾回收机制中的一个重要组成部分,它与引用计数机制协同工作,以处理循环引用等复杂情况。当对象的引用被删除或超出作用域时,引用计数减少。引用计数是Python中实现垃圾回收的一种机制,它通过跟踪每个对象被引用的次数来决定何时释放内存。模块,允许创建对对象的弱引用,这种引用不会增加对象的引用计数。通过减少对长寿命对象的扫描,它减少了垃圾回收的开销,从而提高了程序的整体性能。
2024-06-10 15:30:12
1277
原创 递归下降解析器在Python中的实现与应用
解析器是编译器前端的核心组件之一,负责将源代码转换为编译器能够进一步处理的内部表示形式。解析过程通常包括词法分析和语法分析两个阶段。在本文中,我们将重点讨论语法分析阶段,特别是递归下降解析器的实现。构建解析器的第一步是定义语言的语法规则。这些规则通常以巴科斯-诺尔范式(BNF)或扩展巴科斯-诺尔范式(EBNF)的形式呈现。
2024-06-10 15:23:17
1709
原创 Python中命名空间的深入解析
在Python编程的世界里,变量和函数是我们构建程序的基石。然而,它们并不是孤立存在的。命名空间(Namespace)是Python中用于组织这些元素的一种机制。它像一个容器,将变量、函数、类等标识符(identifiers)封装起来,使得它们在特定的上下文中可见。print(PACKAGE_VARIABLE) # 输出: This is a package-level variable在这个示例中,我们通过文件定义了一个包级别的变量,并在其他模块中访问了这个变量。
2024-06-09 10:44:21
1369
大型代码语言模型的项目级提示生成pdf
2024-06-04
常见场景下使用的Linux命令大全
2024-05-28
zk实现的分布式锁相关代码
2024-05-27
pyhon实现的爱心图
2024-05-25
语法解析器tree-sitter依赖so文件
2024-05-24
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人