自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

小码农的博客

夫苟其挫而不退矣,则小逆之后,必有小顺。大逆之后,必有大顺。

  • 博客(300)
  • 资源 (1)
  • 收藏
  • 关注

原创 linux 工作中常用命令 慢慢登记防止忘记

linux常用命令

2020-06-24 17:18:16 337 1

原创 Go 收藏积累 慢慢登记防止忘记

个人推荐:http://godeye.org/index.php?a=course&id=6http://mikespook.com/learning-go/http://coolshell.cn/articles/8460.htmlhttp://coolshell.cn/articles/8489.htmlhttps://code.google.com/p/go-zh/http://b...

2016-04-21 13:27:00 1030

原创 vscode Comment Translate插件反应慢

由于translate.google.com在大陆使用的人少较少,所以谷歌那边关闭了。Comment Translate插件就是调用这个翻译的接口。有个弊端万一ip更变就需要重新改一下了。需要修改host来提一下速。首先获取一下对应域名的ip。加入下面两行,保存即可。

2024-07-19 15:21:01 209

原创 C++ CMake 预定义宏与变量

项目根目录(项目定义所在的 CMakeLists.txt 所在的目录)当前处理的 CMakeLists.txt 或包含文件的完整路径。当前处理的 CMakeLists.txt 或包含文件的目录。当前处理的 CMakeLists.txt 输出的构建目录。当前处理的 CMakeLists.txt 所在的路径。顶层 CMakeLists.txt 所在的目录。生成共享库时的链接器标志。生成静态库时的链接器标志。构建输出目录的顶层路径。C++ 编译器的路径。查找头文件的默认路径。查找库文件的默认路径。

2024-06-27 10:14:59 460

原创 c++ cmake学习

【代码】c++ cmake学习。

2024-06-26 18:38:14 364

原创 linux docker设置代理

调整对应的代理地址,进行重启即可。如果没有自己创建一下就行了。

2024-06-25 11:01:24 170

原创 vscode C++ sence cache path

需要调整一下C++的cache 目录 默认会放到C盘的appdata里面去 C磁盘空间小调整配置切换到别的盘。

2024-06-24 11:47:42 139

原创 C++ vcpkg库管理工具win11安装

由于我使用的是visual studio 2022编辑器 需要运行下面的命令让它帮忙集成一下这个库。没有报错就运行一下vcpkg.exe试试,出现如下显示表示安装成功。这样就可以用了,如果使用的是cmake 需要复制上面那个引号里的内容。运行.\bootstrap-vcpkg.bat 让它自己安装即可。后续安装库执行命令如下,最好给下载代码的目录加个环境变量。往下拉到 Table of Contents。安装下面说的步骤进行一步一步的操作。首先下载一下对应的仓库代码。进去对应的目录进入cmd。

2024-06-03 14:27:06 238

原创 golang Pool实战与底层实现

我们从上面的源码分析了解Pool的数据结构、Get、Put这些基本操作原理,在项目中我们可以使用比特位来减少内存的占用,从源码分析我们得知Go官方设计不允许进行Pool复制(君子协议), 还学到了一个延迟处理下标的小技巧。

2023-12-01 13:48:59 823

原创 golang WaitGroup的使用与底层实现

源码分析了解WaitGroup的数据结构、Add、Done和Wait这些基本操作原理,在项目中我们可以使用比特位来减少内存的占用,从源码分析我们得知Go官方设计不允许进行WaitGroup复制(君子协议)与并发调度同一个WaitGroup操作。

2023-11-30 10:46:07 825

原创 golang channel执行原理与代码分析

从源码的角度分析channel的数据结构、发送数据、接收数据和关闭这些基本操作, 业务中对性能要求比较高建议不要使用chan。

2023-11-29 10:19:58 3192

原创 golang panic关键词执行原理与代码分析

从上面的源码我们可以了解到panic的大致逻辑,当使用panic关键词时,将painc加入到G的_panic链表中去. 调度时 defer func() {recover()}(),会改写_painc中的recovered字段,可恢复的panic必须要recover的配合。而且这个recover必须位于同一goroutine的直接调用链上,否则无法对 panic 进行恢复,未写完有些细节点还是没读懂,后续查阅资料补充。

2023-11-25 09:02:43 626

原创 linux如何获取CPU使用率

编程性 : 一个程序可以通过文件与其他程序通信,使得程序之间的交互、测试、集成等行为变得更容易,并且可以针对不同的应用场景,使用适用的编程语言来编写代码,提升灵活性和开发效率。Linux 将资源抽象为文件表示,那么和 CPU 相关的数据是否也会被抽象为文件,进而保存在某个文件中呢?统一接口: 使用相同的 API 可以对所有类型的文件进行操作,例如读取、写入、移动、删除、修改权限等。简化管理: 使用相同的工具和方式来管理文件和设备的操作,例如备份、复制、移动、删除、链接等。

2023-11-25 09:00:22 682

原创 golang defer关键词执行原理与代码分析

从上面的源码我们可以了解到defer的大致逻辑,当使用defer关键词时,会将当前要延迟的函数加入到G的延迟链表中去,当我们的函数执行完成后会触发deferreturn调度将G中的延迟链表循环执行一遍,来达到延迟执行的目的。

2023-11-25 08:57:51 549

原创 Golang 定义常量错误

【代码】Golang 定义常量错误。

2023-11-03 21:45:00 173

原创 golang 摄像头截图命令版本

需要安装ffmpeg 使用ffmpeg命令进行画面生成对应的jpg图片。

2023-10-24 21:00:00 654

原创 golang 长时间使用activeMq订阅

【代码】golang 长时间订阅activeMq。

2023-07-12 21:00:00 199

原创 ffmpeg 3.4 windows编译安装

windows 安装ffmpeg 3.4

2023-06-15 23:00:00 1534 2

原创 golang gocv 0.32版本windows安装 opencv4.7 依赖

windows opencv4.7源码包安装

2023-06-09 21:00:00 1830

原创 rust 中protobuf生成与使用

由于我们的项目中没有pb的这个目录 需要手动创建一下,我们的整体结构如下。修改Cargo.toml文件 我们需要加一下 我们需要的依赖包。查看在我们刚刚创建的pb文件夹下是否有一个hello.rs文件。进入到这个文件夹中 创建我们的proto文件。新建一个hello.proto文件内容如下。然后运行cargo build 结果如下。在pb目录创建mod.rs文件 内容如下。初始化的项目结构是这个样子的。首先创建一个项目proto。执行cargo run。

2023-05-26 20:45:00 2324 1

原创 rust 数据类型集合

指明目前Rust并没有确定扩容的策略,以后可能会改变),然后将原vec中的元素拷贝到新内存位置处,同时更新vec的胖指针中的元数据。当向vec插入新元素时,如果没有空闲容量,则会重新申请一块内存,大小为原来vec内存大小的两倍(Rust有两种字符串类型:str和String。str和String的联系和区别。vec使用枚举存储多个类型。

2023-05-25 21:00:00 238

原创 rust 智能指针

Rust中基本数据类型(如整数、浮点数、布尔值等)通常存储在栈上。而动态分配的数据,如Box和Vec等,存储在堆上。

2023-05-25 20:45:00 1331

原创 rust cargo expand报错

cargo expand 命令需要 Rust 的 Nightly 版本才能正常工作,而默认的 Rust 版本是 Stable。在 Nightly 版本中,rustc 工具支持 -Z 选项,而该选项在 Stable 版本中是禁用的,因此需要切换到 Nightly 版本,或在 Stable 版本中使用类似 cargo expand 的其他工具。

2023-05-23 21:00:00 348

原创 rust cargo工具常用插件列表

【代码】rust cargo工具常用插件列表。

2023-05-23 20:45:00 840

原创 rust cargo工具 命令行指令

【代码】rust cargo工具 命令行指令。

2023-05-15 20:15:00 98

原创 rust 操作符

操作符 作用 实例 + 加法、字符串拼接 1+2, "Hello " + “world!” - 减法、负数 4-1, -3 * 乘法 3*4 / 除法 10/2 % 取模运算 12%5 == 判断相等 3==5 != 判断不相等 3!=5 < 判断小于 4<5 <= 判断小于等于 4<=4 > 判断大于 5&

2023-05-11 20:30:00 130

原创 rust 常用自动实现代码宏

【代码】rust 常用自动实现代码宏。

2023-05-10 22:00:00 521

原创 rust vec常用方法列表

【代码】rust vec常用方法列表。

2023-05-10 21:30:00 507

原创 rust slice常用方法列表

【代码】rust slice常用方法列表。

2023-05-10 21:15:00 237

原创 rust println!格式化输出

格式 格式说明 样例代码 输出效果 {} 将任何实现了std::fmt::Display trait的类型格式化为字符串输出 println!("Hello, {}!", "world"); Hello, world! {:?} 以调试模式打印任何实现了std::fmt::Debug trait的类型 println!("Debug: {:?}", [1, 2, 3]); Debug: [1, 2, 3] {:#?} 在调试模式下将

2023-05-09 21:30:00 946

原创 rust常用宏列表

【代码】rust常用宏列表。

2023-05-09 21:15:00 139

原创 rust 中的类型与取值范围

类型 取值范围 bool true 或 false char 单个 Unicode 字符 i8 -128 到 127 i16 -32768 到 32767 i32 -2147483648 到 2147483647 i64 -9223372036854775808 到 9223372036854775807 i128 -170141183460469231731687303715884105728 到 1701411834604692

2023-05-09 21:00:00 753

原创 rust 内置关键词与作用

关键词 作用 as 类型转换 break 跳出循环 const 定义常量 crate 声明当前模块 enum 定义枚举类型 extern 定义外部模块,用于与其他语言的代码交互 fn 定义函数 for 迭代循环 impl 给一个类型实现方法或 Trait if 条件语句 in 确定循环迭代的范围 let 声明变量 loop 无限循环 match 模式匹配 mo

2023-05-09 20:45:00 303

原创 rust cargo配置国内源

C:\Users\用户名\.cargo\config。

2023-05-05 20:30:00 488

原创 rust vscode编辑器常用插件与配置

插件的完整手册地址:https://rust-analyzer.github.io/manual.html。会实时编译和分析你的 Rust 代码,提示代码中的错误,并对类型进行标注。基于 AI 的自动补全,可以帮助你更快地撰写代码。Rust 使用 toml 做项目的配置管理。帮助你分析当前项目的依赖是否是最新的版本。插件: rust test lens。插件:rust-analyzer。插件: rust syntax。插件: better toml。搜索open user set。插件: crates。

2023-05-05 20:15:00 1823

原创 golang json Marshal遇到的字符转义

json Marshal 字符转义

2023-03-07 18:53:12 617

原创 ubuntu 源

ubuntu 源

2023-02-27 14:12:17 86

原创 Go redis原子锁

Go redis原子锁

2023-01-17 20:00:00 193

原创 GeoHash 的编码方法

在进行第一次二分区时,经度范围[-180,180]会被分成两个子区间:[-180,0) 和[0,180](左、右分区)。第一次二分区:把经度区间[-180,180]分成了左分区[-180,0] 和右分区[0,180],此时,经度值 116.37 是属于右分区[0,180],用 1 表示第一次二分区后的编码值。第三次二分区:对[90,180]进行二分区,分成[90,135]和[135, 180],经度值 116.37 落在了分区后的左分区[90, 135] 中,所以,第三次分区后的编码值就是 0。

2023-01-13 11:17:22 705

原创 go mod 命令

go mod命令

2023-01-03 20:45:00 466

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除