- 博客(55)
- 收藏
- 关注
原创 浅析ModelEngine:从开发者视角看AI开发平台的技术博弈与选型实践
本文深度评测了主流AI开发平台(ModelEngine、Dify、Coze、Versatile)的技术架构与功能特性。重点分析了ModelEngine的三大创新点:知识库动态构建能力、结构化提示词工程和多智能体协作系统,并通过构建"智能技术博客助手"案例展示了其工程化优势。对比显示,ModelEngine在复杂场景支持、推理性能优化方面表现突出,适合企业级应用开发;Dify以低门槛见长,Coze深耕字节生态,Versatile侧重企业全栈方案。文章建议开发者根据项目复杂度、团队技术栈和部
2025-11-24 23:21:32
1062
原创 Rust 注释与文档注释:从代码可读性到 API 文档化的工程实践
Rust通过创新的文档注释系统将注释提升为工程工具链的核心。其文档注释(///或//!)不仅生成API文档,还支持Markdown格式和代码测试,确保文档与实现同步。与普通注释不同,文档注释专注于公开API的描述,并通过cargo doc工具生成结构化文档。实践表明,通过模块文档、函数文档、代码示例和文档测试等标准用法,Rust实现了"文档即测试"的开发模式。文档注释还推动了API设计审查,采用"先写文档再写代码"的方式提升接口质量。Rust的注释系统将文档从附属品转
2025-10-30 17:43:40
920
原创 Rust 闭包的定义与捕获:从语法糖到所有权语义的深度探索
摘要:本文深入探讨Rust闭包系统的设计原理与实践应用。Rust闭包通过自动推导捕获机制实现零成本抽象,将函数式编程便利性与所有权系统完美结合。文章解析了闭包作为匿名结构体的本质、三种trait(Fn/FnMut/FnOnce)的层次关系,以及move关键字的使用场景。通过事件处理框架案例,展示了闭包在实践中的组合应用,并对比了泛型参数(单态化)与trait对象(动态分发)的性能权衡。最后指出,理解闭包的捕获机制和类型语义是编写高效、安全Rust代码的关键。
2025-10-30 17:38:46
792
原创 Rust where 子句的语法:从可读性到表达力的深度剖析
摘要: Rust的where子句是提升泛型代码可读性和表达能力的关键语法特性。它将复杂的类型约束从函数签名中分离,支持关联类型约束、生命周期管理等高级用法。通过实际案例展示了where子句在构建数据处理管道时的应用方式,包括多重约束、条件实现等场景。文章分析了where子句相对于尖括号语法的优势,特别是处理复杂类型关系时的清晰表达,并提供了使用建议:简单约束用尖括号,复杂场景用where子句。最终指出where子句是Rust类型系统的重要组成部分,能帮助开发者构建既安全又灵活的API。
2025-10-30 17:34:45
607
原创 Rust 泛型参数的使用:从类型抽象到编译期优化的深度实践
Rust泛型系统通过单态化实现零成本抽象,在编译期展开为具体类型实现以获得最佳性能。文章深入探讨了泛型参数的高级应用,包括类型约束设计、关联类型与泛型参数的选择、性能优化策略等核心主题。通过对象池和缓存系统的实践案例,展示了生命周期参数、多重trait bound、条件编译等关键技术。同时分析了单态化带来的代码膨胀问题及"泛型分割"等优化技巧,揭示了Rust在类型安全与性能优化之间的平衡艺术。
2025-10-30 17:30:16
400
原创 Rust基础语法之trait定义与实现
摘要:Rust的Trait系统是类型系统的核心抽象机制,通过零成本抽象和编译期多态实现高性能。不同于传统面向对象语言,Trait采用"组合优于继承"理念,支持关联类型、生命周期约束等高级特性。文章通过构建序列化框架示例展示了Trait的实践应用,包括基础定义、泛型约束和动态分发(Trait对象)的权衡选择。高级技巧部分介绍了关联类型在复杂抽象中的应用。Trait系统使Rust在保持类型安全的同时达到C语言级性能,是设计高性能系统的关键工具。
2025-10-30 17:20:28
363
原创 docker入门之一:docker基础概念与安装
google go语言开发,基于Linux内核的cgroup,namespace,以及AUFS类的Union FS等技术,对进程进行封装隔离,属于操作系统层面的虚拟化技术。由于隔离的进程独立于宿主和其他的隔离的进程,因此称其为容器。
2023-04-18 09:30:34
419
原创 攻防世界-unserialize3
这是一个利用反序列字符串来进行绕过的题,根据提示我们要构造code参数,但是需要绕过wakeup函数查找资料得知wakeup为魔法函数,在进行unserialize反序列化的时候,首先就要查看有无该函数有的话 就会先执行他:绕过: 通过测试发现可以通过增加对象的属性个数来进行绕过,根据源码编辑php脚本输出序列化字符串: 将对象属性由1变为2得到**由此可以构造payload拿到flag:...
2022-07-13 17:12:15
1102
原创 Java实训项目之编写计算器(练习书中例题)
编写了一个例题后始终觉得自己的效率太低了:下面是源码:编写一个测试类:public class Example8_9 { public static void main(String [] args){ NumberView win = new NumberView(); win.setBounds(100,100,600,360); win.setTitle("计算器"); }}编写监听器(注册监视器):import javax.sw
2022-04-30 17:34:19
825
原创 java实训项目之编写一个程序,从键盘读入一段英文(多行),找出其中所有的英文单词,统计每个单词出现的次数,并按照单词出现次数由大到小排序后输出(可读取本机文件文本)。
import java.io.BufferedReader;import java.io.File;import java.io.FileNotFoundException;import java.io.FileReader;import java.io.IOException;import java.io.InputStreamReader;import java.util.ArrayList;import java.util.Collections;import java.util.C.
2022-04-16 20:09:57
2269
3
原创 Java实例项目之输出九九乘法表
源码如下:package Main;public class jiujiuchenfabiao { public static void main(String[] args) { // TODO 自动生成的方法存根 for(int i=1;i<=9;i++) { for(int j=1;j<=9;j++) { System.out.print(j+"×"+i+"="+i*j+"\t"); }
2022-02-16 14:54:04
271
原创 Java实例项目之输出菱形
前言:本例题根据C语言中输出菱形改变而来,这也让我想到了我的第一个博客的来源。下面是源码:package L;public class lingxing { public static void main(String[] args) { // TODO 自动生成的方法存根 print(8); // 输出 8 行的菱形 } public static void print(int size) { if (size % 2 == 0) {
2022-02-16 14:44:57
398
原创 java(数据结构)for循环遍历查找
package L;import java.util.Scanner;public class suzu { public static void main(String[] args) { // TODO 自动生成的方法存根 Scanner in = new Scanner(System.in); int [] data = {2,3,4,5,6,7,8,9}; int x = in.nextInt(); boolean found = false; for( int.
2022-02-14 22:48:50
980
原创 Java实例项目之整钱拆分与break的高级用法
前言:学习了翁恺老师的Java课程,真的让我受益良多,下面是一个整钱拆分问题,大概思路与C中的百钱百鸡问题类似,都是运用多重循环,穷举所有的可能,关键点在于每一次的循环次数;下面是初始源码:package L;import java.util.Scanner;public class couyingbi { public static void main(String[] args) { // TODO 自动生成的方法存根 Scanner in = new Scanner(
2022-02-10 11:30:29
515
原创 Java实例项目之输出100以内的素数
前言:越学到后面,就越发现Java的学习与C的学习有很多共同之处,许多C中的题目用Java同样也能 实现。导读:下面是源码:package L;import java.util.Scanner;public class susu { public static void main(String[] args) { // TODO 自动生成的方法存根 Scanner in= new Scanner(System.in); for(int n=2;n<100;n+
2022-02-10 09:58:37
1841
原创 Java实例项目之获取当前时间
前言:这是我在书本上发现的好玩的项目下面是源码:package L;import java.text.SimpleDateFormat;import java.util.Date;public class fcial { public static void main(String[] args) { // TODO 自动生成的方法存根 SimpleDateFormat sdf = new SimpleDateFormat();// 格式化时间 sdf.a
2022-02-07 19:53:35
407
原创 C语言复习之杨辉三角
前言:学习了良久的Java(其实也就十几天)也不能忘了温故C语言,下面是源码:#include<stdio.h>int main(){ int a[10][10]; int i; int j; int k; for (i = 0; i < 9; i++) { for (j = 0; j < 9; j++) { a[i][j] = 1; } } for (i = 1; i < 9; i++) { for (j = 1;
2022-02-06 20:28:38
796
原创 Java实例项目之猜数游戏
前言:本篇博客记载的是翁恺老师上课关于猜数游戏的课堂笔记,以及一些关于我对这个程序的理解;这个题目最核心的关键点就是int number = (int)(Math.random()*100+1);怎么理解上面的这句代码...
2022-02-05 11:24:08
208
原创 Java实例项目之判断数据位数
tips:值得注意的是这里要用到循环大概思路与C语言中的位数判断没有本质区别源码如下:package L;import java.util.Scanner;public class E { public static void main(String[] args) { // TODO 自动生成的方法存根 Scanner in = new Scanner(System.in); System.out.println("请输入你需要判断的数:");
2022-02-04 21:38:07
650
原创 Java实例项目之比较大小并输出(三位数)
前言:就像C语言一样,Java中也有比较大小的例题package A;import java.util.Scanner;public class D { public static void main(String[] args) { // TODO 自动生成的方法存根 Scanner in = new Scanner(System.in); System.out.println("请输入x:"); int x = in.nextIn
2022-02-04 20:20:52
913
原创 Java实例项目之自动售票机原理(待完善)
第一步:投币第二步:判断金额 输出true 或者false第三步:打印车票和找零 package Z;import java.util.Scanner;public class zidongshoupiaoji { public static void main(String[] args) {// 初始化 Scanner in = new Scanner(System.in);// 读入投币金额 System.out.print("请投币:"); in.
2022-02-04 14:15:40
1363
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人
RSS订阅