- 博客(1516)
- 资源 (68)
- 收藏
- 关注

原创 C/C++学习总结
文章目录Markdown常用语法一、面试二、编程语言1.C/C++(1)C和C++进阶的学习笔记总结目录(2)Linux系统编程(3)C语言开源项目(4)C++开源项目(5)Linux运维2.java3.python4.数据结构与算法三、分布式四、Docker,OpenStack五、Github和开源项目学习六、个人简历七、关于测试八、镜像地址或网站九、自勉之语Markdown常用语法 (1)优快云 Markdown空行:  (2)分割线:用三个以上的星号、减号、底线来建立一个分
2020-08-16 20:14:00
2357
1
原创 开源大模型使用总结
2.推荐使用的大模型:gemini-2.0-flash-hinking-exp以及gemini-2.0-pro-exp。3.使用cherry studio调用,添加API以及添加模型。(3)打开cherry-studio,将API密钥copy过来。(2)在cherry-studio中设置密钥以及模型。添加模型id到cherry-studio。4.可以在cursor的设置如下。2.在cursor中配置API。在cursor中增加模型。1.创建API key。选择免费的bge-m3。(1)创建API密钥。
2025-03-25 22:27:04
372
原创 AI agent(MCP)尝鲜小结
如果你要调用采集工具,那就接个 Pupprteer MCP Servers。它在能力上类似Manus,但形式上则是采用自由画布+工作流进行呈现的。如果你要实现文生图能力,那就接一个Magic MCP Servers。cherry studio已经支持MCP!AI agent功能位置。
2025-03-25 07:50:09
374
原创 Cursor从小白到专家
在使用 Accept All 时需谨慎:虽然 Accept All 可以快速应用所有建议,但在应用之前最好仔细检查 Cursor 提供的建议是否符合你的需求,避免引入不必要的错误。composer模式下,cursor不仅会进行长篇代码的编写,更改还会帮你把生成的代码直接弄到文件里,不用我们手动复制粘贴。chat模式下,cursor会根据我们的开发需求给出相应的代码,但是需要我们手动创建相关的文件并把代码复制进去。接着就是根据cursor的提示,以及你自己的需求一步步完善这个插件的代码。
2025-03-22 23:44:28
520
原创 Cursor的五种高级用法
只需使用 Composer(Ctrl+I),描述你想要实现的功能,Cursor 就能生成相应的代码。你可以让它生成大纲,然后根据大纲写出完整文稿。让 AI 为代码添加注释,或者直接告诉它你想要的改动。无论是数据清洗、格式转换,还是生成测试数据,都可以通过简单的自然语言指令完成,无需编写复杂的代码。只需导入相关文档,让 AI 理解平台的功能和节点,然后让它设计一个工作流并生成配置文件。eg:微调,把hugging face上的数据集修改成标准格式的数据集。打开dify,通过导入的方式打开工作流。
2025-03-22 22:31:29
351
原创 Cursor基本使用教程
智能代码补全:Cursor 能预测下一个编辑操作,帮助快速完成代码。自然语言编辑:可以使用自然语言指令来编写或修改代码,简化开发过程。代码库理解:Cursor 能够理解整个代码库,提供相关建议和答案。隐私与安全:提供隐私模式,确保代码仅存储在本地,并已通过 SOC 2 认证。兼容性:支持导入个人喜爱的扩展、主题和快捷键,提供熟悉的开发环境。
2025-03-22 15:25:07
494
原创 AI创业指南
发现需求->AI产品设计->制作MVP->验证MVP->商业模式验证->迭代优化。找到一个问题,洞察到一个别人根本没注意到的需求,这是最重要的一步。AI会帮你分析用户需求、市场竞争情况,甚至告诉你是否值得尝试。将AI当作产品经理和市场调研员,帮你完善想法并做初步判断。利用社交平台的精准流量分发机制,找到你的目标用户。根据用户反馈不断改进产品,提高获客效率和变现效率。让AI帮你创建最小可行产品,快速验证你的想法。找到1000个目标用户,验证产品是否满足需求。关注产品的点击率、留存率等关键指标。
2025-03-22 13:25:01
289
原创 【AI】AI编程助手:Cursor、Codeium、GitHub Copilot、Roo Cline、Tabnine
代码生成 - 定义代码风格,如私有变量前缀规则测试生成 - 指定测试框架等测试相关要求代码审查 - 设置代码审查重点提交信息生成 - 规范提交信息格式官网文档讲解很详细,有需要可以直接看官网:https://code.visualstudio.com/docs/copilot/copilot-customization自定义模式让你能够调整 Roo Code 的角色、指令和权限:1)内置模式Code – 默认的多用途编码助手Architect – 提供高级系统架构和设计见解。
2025-03-20 23:51:18
1289
原创 Linux 检测内存泄漏方法总结
gcc和clang编译选项:主要是-fsanitize=address。如果 malloc 数量远大于 free,说明可能有 内存泄漏。
2025-02-28 09:08:00
519
原创 【C++】手搓variant
在 visit 函数中,std::common_type 确保 Lambda 适用于所有 Ts,并且它的返回类型是 所有返回值类型的公共类型。std::common_type<T1, T2, …>::type 计算出 所有 T1, T2, T3, …即,Lambda 作用于 T1 &, T2 &, T3 &, …封装个简单variant,为了防止类型是int,但是赋得的却是double类型的。它的作用是 推导出 Lambda 作用于所有 Ts 类型的返回值的公共类型。是 Variant 的所有可能类型。
2025-02-20 08:42:41
126
原创 【C/C++】printf后并不会立即显示?文件流的缓冲机制探究
模式触发输出的条件终端输出情况_IONBF(无缓冲)每次调用putchar()立即输出依次出现_IOLBF(行缓冲)遇到\n时刷新缓冲区Hello直到\n才一次性出现_IOFBF(全缓冲)缓冲区满了,或程序结束时才刷新可能什么都看不到,除非手动flush()
2025-02-20 08:41:03
153
原创 【C++20】编译期检测所有未定义行为和内存泄露
数组指针加法,超出了数组的范围也会报错,clang++会直接报错,gcc只在解引用的时候报错。std::end(a) 返回数组 a 尾后位置(即 &a[32],超出数组范围的一个位置)。使用 std::begin() 和 std::end() 初始化 std::vector。= std::end(a) 避免访问 a[32] 这个非法位置。std::begin(a) 返回数组 a 的首地址(即 &a[0])。结合 std::begin() 和 std::end()下面的会死循环,int越界是未定义行为。
2025-02-20 08:39:34
189
原创 AI效率工具总结
(1)提问+同时上传简历:我是前端开发工程师,我现在要找工作,我想你帮我优化一下简历,量化我的成果,要让面试官看到简历就想让我去面试的那种。TalenCat 简历生成器(CV Maker)是一款专业且易于使用的在线简历制作工具。(2)打开TalentCat,导入生成的简历(通过markdown填写)Deepseak提问方法:我是谁+我要干啥+我的目标是啥。
2025-02-13 11:26:28
534
原创 对rust的全局变量使用drop方法
全局变量的生命周期应该和main的程序生命周期是一样长的,所以可以在main中创建一个CleanUp局部对象,为CleanUp()实现Drop特征,在Drop()特征中,完成释放全局变量的资源的功能。Rust 的静态变量不会在程序退出时自动调用 Drop,因为它们的生命周期与进程绑定。
2024-12-13 11:58:36
433
原创 Android系统(android app和系统架构)
Android的Intent机制最核心的设计思想,就是引入了组件管理服务作为连接组件的管理者。该服务可以通过组件的配置信息了解系统中每个组件的类别和功能,从而帮助调用组件寻找符合其需求的实现组件,通过组件管理服务提供的Intent匹配策略,降低了组件间的耦合度,提高了平台的灵活性,installd进程 的执行权限为 root,所有实际的应用安装,卸载等操作都是通过这个服务进行的。下面的可视窗口,有的显示器较小,有的显示器较大,Android会帮助我们自动完成这种适配。官方文档(RTFM)
2024-12-12 17:51:56
495
原创 Python中使用logging模块
import os# 获取当前时间戳(精确到微秒)# 将时间戳转换为可读的格式seconds = int(current_time) # 获取秒部分# 格式化输出return f"global_logger = None def get_current_time() : # 获取当前时间戳(精确到微秒) import time。
2024-12-04 09:26:08
203
原创 rust高级特征
关联类型(associated types)是一个将类型占位符与 trait 相关联的方式,这样 trait 的方法签名中就可以使用这些占位符类型。trait 的实现者会针对特定的实现在这个类型的位置指定相应的具体类型。如此可以定义一个使用多种类型的 trait,直到实现此 trait 时都无需知道这些类型具体是什么。struct Dog;//调用实现Animal trait的baby_name函数println!编译。
2024-11-13 07:00:31
1019
原创 Rust面向对象特性
在 Rust 中,静态派遣(Static Dispatch)和动态派遣(Dynamic Dispatch)是两种不同的调用方法,用于处理类型不确定的情况,尤其是在使用泛型和 trait 时。这意味着方法不会获取对象的所有权,它只会借用 self,允许你在方法内部使用对象,但调用方法后,self 仍然可用。通过这种方式,Screen 的 components 不再需要使用 Box,而是直接使用泛型参数 T,这样可以在编译时确定具体类型,避免了动态分发的开销。
2024-11-12 17:54:08
1057
原创 rust智能指针
特性引用 (&T 和 &mut T)智能指针(如 Box、Rc)所有权引用没有所有权,只是借用数据智能指针拥有数据的所有权内存管理不负责内存管理负责内存管理,通常有自动销毁机制生命周期有明确的生命周期生命周期取决于智能指针本身数据存储位置引用通常指向栈或堆上的数据智能指针通常分配堆上的内存操作只提供对数据的访问提供更多的操作功能,如引用计数、自动清理等线程安全不保证线程安全一些智能指针(如 Arc)是线程安全的MyBox(x)
2024-11-12 11:11:54
1143
原创 Cargo工作空间
在$HOME/.cargo/bin目录下定制一些cargo-xyc的命令,可以使用cargo xyc的命令方式去运行。addder项目中与add-one项目中引入的第三包是一样的,那么此包只会在workspace空间中存在一次。如果adder项目空间中如果想引入同样的依赖包,只需要在对应的Cargo.toml中添加同样的配置就行;只需要在add-one中的Cargo.toml文件中引入外部依赖包,那么项目空间只会下载一次;工作空间的包不会自动依赖,需要在add项目中Cargo.toml中显式指定。
2024-11-12 10:15:57
1078
原创 发布rust crate
opt-level 设置控制 Rust 会对代码进行何种程度的优化。这个配置的值从 0 到 3。越高的优化级别需要更多的时间编译,所以如果你在进行开发并经常编译,可能会希望在牺牲一些代码性能的情况下编译得快一些。dev一般用户本地测试,release用于发布。使用cargo login进行登录。
2024-11-11 18:07:59
533
原创 编写一个命令行程序
/ 解析配置println!});// 执行任务,捕获错误并打印文件名println!// run 函数返回 Result 类型// 尝试读取文件内容,并在错误时返回带有文件名的错误信息})?;// 打印文件内容println!Ok(())// 创建一个自定义错误类型实现 Error 和 Displaywrite!| ^^^^^
2024-11-11 11:02:23
296
原创 Rust常用数据结构教程 Map
HashMap类型储存了一个键类型K对应一个值类型V的映射。·一般结构体: #[derive(Debug, PartialEq, Hash, Eq)]·因为要满足哈希函数,所以HashMap对键有特殊要求。·当你查找时,有序可以提供你的性能 (比如二分查找法)·HashMap的数据和Vec一样在heap上。·因为需要对键值排序所以需要Key实现。·键值对数据又称字典数据类型。·存储数据为键值对类型。内部基于BTree创建。·当你需要有序map时。·注意:有序是有代价的。
2024-11-05 13:05:21
708
原创 Rust常用数据结构教程 序列
如果您希望对分配多少内存以及何时分配内存有非常细粒度的控制,那么链表是一个不错的选择。可变数组(vector)数组存储在heap上,在运行时(runtime)可以增加或减少数组。与Vec 类似,与Vec 不同的是,它对容器的两端进行 移除和插入。·首选Vec:当你不知道用什么的时候,试试Vec,性能强悍有保证。Vec的buf是存储在heap上的,其他存储在栈上。VecDeque的两端插入、删除都是O(1)级别的。·当你想要一个长度实时变化的数据存储单元时。·当你希望内存中各个元素的存储地址是连续时。
2024-11-05 12:32:09
580
原创 Rust常用数据结构教程 String与&str,元组和数组
String具有所有权,而&str只是切片引用·String的数据必须存储在heap上,而&str要看引用所代指可以在stack和data section上,也可以在heap上。
2024-11-05 09:38:59
754
原创 Rust常用数据结构教程 Rust中的数据结构
复合数据类型Compound types复合类型是通过组合基础类型,用来表达更加复杂的数据结构,即使用其他类型定义的类型,因而复合类型又称之为派生类型。
2024-11-05 09:24:42
325
原创 2024 Rust现代实用教程 closures闭包
闭包的语法相对简洁灵活,同时也具有强大的功能。闭包在 Rust 中被广泛用于函数式编程、并发编程以及简化代码等方面。2.结构体会声明一个cal丨function,而闭包就是函数,cal丨function会包含闭包的所有代码。你可以将闭包分配给一个变量,然后使用该变量,就像它是一个函数名,来调用闭包。Fn继承至FnMut,FnMut继承至FnOnce。3.结构体会生产一些属性去捕获闭包外的参数。闭包是一种可以捕获其环境中变量的匿名函数。1.Rust编译器将闭包放入一个结构体。2.可变引用FnMut。
2024-11-04 11:18:30
618
原创 2024 Rust现代实用教程Iterator迭代器
/ 入栈// 出栈// 不可变引用// 返回可变引用// 所有权转移!!println!println!("{:?*item *= 2;println!("{:?println!// println!("{:?编译及运行...| ^^^Item 1Item 2Item 3246。
2024-11-03 13:29:22
1197
原创 2024 Rust现代实用教程 Trait特质
在Rust中,特质(Traits)是一种定义方法签名的机制任何类型都可以实现特质,只要它们提供了特质中定义的所有方法。这使得你可以为不同类型提供相同的行为。特点:Example:编译并运行二、Trait Object与Box1.Trait Object在运行时动态分配的对象2可以在集合中混入不同的类型对象3.有一些小小的性能损耗dyn 是 Rust中的关键字,用于声明特质对象(trait object)的类型。特质对象是实现了特定特质(trait)的类型的实例,但其具体类型在编译时是未知的。因此,为
2024-11-01 16:25:32
589
原创 2024 Rust现代实用教程Generic泛型
在Rust中,泛型也可以用于函数,使得函数能够处理多种类型的参数,提高代码的重用性和灵活性。泛型是一种编程语言的特性,它允许在代码中使用参数化类型,以便在不同地方使用。相同的代码逻辑处理多种数据类型,而无需为每种类型编写单独的代码!1.泛型定义结构体\枚举。2.泛型与结构体中的方法。1.提高代码的重用性。2.提高代码的可读性。3.提高代码的抽象度。
2024-11-01 15:48:58
606
muduo_server_learn.zip
2020-03-12
Docker学习资料总结.7z
2020-02-08
VS code的linux服务器端的离线安装教程
2019-11-09
Scientific.Toolworks.Understand.v4.0.811.Incl.Keygen-AMPED.zip
2019-09-07
vscode的remote ssh中需要的ubuntu服务器中的sshd配置文件
2022-06-19
postgresql数据库插件PG-Strom中Scan算子执行流程分析
2022-03-16
CUDAppt.zip
2021-12-28
Shell编程ppt[C++教程网cppcourse[1].com].zip
2020-05-06
跟我一起学C++.zip
2020-05-06
NetworkProgramming-master.zip
2020-05-06
cpptools-osx.vsix
2019-12-05
VSCode Cpptools最新版1.40.2版本.7z
2019-12-04
VSCode Cpptools.7z
2019-12-04
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人