自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

小码农的博客

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

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

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

linux常用命令

2020-06-24 17:18:16 303 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 1012

原创 golang Pool实战与底层实现

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

2023-12-01 13:48:59 742

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

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

2023-11-30 10:46:07 748

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

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

2023-11-29 10:19:58 3120

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

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

2023-11-25 09:02:43 536

原创 linux如何获取CPU使用率

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

2023-11-25 09:00:22 626

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

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

2023-11-25 08:57:51 527

原创 Golang 定义常量错误

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

2023-11-03 21:45:00 137

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

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

2023-10-24 21:00:00 593

原创 golang 长时间使用activeMq订阅

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

2023-07-12 21:00:00 154

原创 ffmpeg 3.4 windows编译安装

windows 安装ffmpeg 3.4

2023-06-15 23:00:00 1407

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

windows opencv4.7源码包安装

2023-06-09 21:00:00 1762

原创 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 1943 1

原创 rust 数据类型集合

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

2023-05-25 21:00:00 207

原创 rust 智能指针

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

2023-05-25 20:45:00 1293

原创 rust cargo expand报错

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

2023-05-23 21:00:00 292

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

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

2023-05-23 20:45:00 797

原创 rust cargo工具 命令行指令

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

2023-05-15 20:15:00 88

原创 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 112

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

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

2023-05-10 22:00:00 476

原创 rust vec常用方法列表

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

2023-05-10 21:30:00 422

原创 rust slice常用方法列表

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

2023-05-10 21:15:00 206

原创 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 921

原创 rust常用宏列表

【代码】rust常用宏列表。

2023-05-09 21:15:00 115

原创 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 690

原创 rust 内置关键词与作用

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

2023-05-09 20:45:00 231

原创 rust cargo配置国内源

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

2023-05-05 20:30:00 470

原创 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 1477

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

json Marshal 字符转义

2023-03-07 18:53:12 568

原创 ubuntu 源

ubuntu 源

2023-02-27 14:12:17 72

原创 Go redis原子锁

Go redis原子锁

2023-01-17 20:00:00 169

原创 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 677

原创 go mod 命令

go mod命令

2023-01-03 20:45:00 453

原创 Dockerfile 最佳实践

Dockerfile 最佳实践

2022-12-13 21:30:00 495

原创 golang 摄像头截图gocv版本

依赖 gocv.io/x/gocv 开源库。开源库基本使用cgo。gocv安装参考官网。

2022-11-16 20:15:00 1197

原创 golang 摄像头截图vdk版本

视频流生成图片部分 开源库使用cgo调用ffmpeg 需要安装对应的依赖软件。依赖 github.com/deepch/vdk 开源库。

2022-11-16 20:00:00 940

原创 RPC学习笔记

屏蔽远程调用跟本地调用的区别,让我们感觉就是调用项目内的方法;隐藏底层网络通信的复杂性,让我们更专注于业务逻辑。

2022-08-19 09:24:12 591

原创 golang gc优化积累

函数尽量不要返回map, slice对象, 这种频繁调用的函数会给gc 带来压力。小对象要合并。函数频繁创建的简单的对象,直接返回对象,效果比返回指针效果要好。避不开,能用sync.Pool 就用,虽然有人说1.10 后不推荐使用sync.Pool,但是压测来看,确实还是用效果,堆累计分配大小能减少一半以上。类型转换要注意,官方用法消耗特别大,推荐使用雨痕的方式。避免反复创建slice。...

2022-03-15 11:10:40 839

原创 golang ring buffer

package mainimport ( "errors" "fmt")func main() { rb, _ := NewRingBuffer(10) for i := 1; i < 5; i++ { rb.Write(i) } for i := 0; i < 10; i++ { fmt.Println(rb.Read()) }}type RingBuffer struct { data []int size int6.

2022-03-02 09:42:58 229

空空如也

空空如也

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

TA关注的人

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