51工具盒子

依楼听风雨
笑看云卷云舒,淡观潮起潮落

Golang笔记

服务器监控应用(2):使用 Golang 开发客户端

服务器监控应用(2):使用 Golang 开发客户端

厉飞雨 阅读(166) 评论(0) 赞(9)

对于数据采集和数据上报这种事情我再熟悉不过了,因为 CMDB 就是我们公司的产品之一,数据采集就是 CMDB 里面最基础的一环。 我们公司的产品都是使用 Python 脚本进行数据采集,因为开发速度快,调试方便,变更也很方便,但是需要一个执行环境,一般这种都是依靠一个安装在主机上面的 agent 提供的。而这次之所以采用 Go 来开发客户端就是考虑到用 Go 开发的客户端可以...

Golang字典树实现域名匹配

Golang字典树实现域名匹配

厉飞雨 阅读(136) 评论(0) 赞(10)

字典树 {#menu_index_1} =================== 定义 {#toc_0} ----------- 字典树,顾名思义,是关于"字典"的一棵树。即:它是对于字典的一种存储方式(所以是一种数据结构而不是算法)。这个词典中的每个"单词"就是从根节点出发一直到某一个目标节点的路径,路径中每条边的字母连起来就是一个单...

golang一个Command执行多条命令

golang一个Command执行多条命令

厉飞雨 阅读(145) 评论(0) 赞(9)

由于业务需求,需要使用go语言来调用操作系统的命令行执行命令,有以下要求: * 能够指定用户执行 * 能够执行多条命令 首先针对第一点,指定用户执行,使用如下代码即可实现: ```lang-go cmd := exec.Command("sh", "-c", "whoami") osUser, err :...

golang使用gopacket包进行数据包捕获,注入和分析

golang使用gopacket包进行数据包捕获,注入和分析

厉飞雨 阅读(151) 评论(0) 赞(10)

使用golang实现网络抓包是非常容易的,可以使用谷歌的包github.com/google/gopacket。由于gopacket构建在libpcap之上,我强烈建议您了解该库的工作原理。您可以在C中学习如何使用libpcap进行更深入的了解。 1.libpcap > gopacket是基于 libpcap(数据包捕获函数库)的,该库提供的C函数接口用于捕捉经过指定...

Go 语言实现 2048 游戏

Go 语言实现 2048 游戏

厉飞雨 阅读(231) 评论(0) 赞(9)

相信大家都玩过 2048 这个游戏,这次我们将使用 Go 语言及调用相关包来完成一个简易版的 2048 游戏,快来一同尝试下吧! 执行代码 {#执行代码} ------------ |----------------------------------------------------------------------------------------------...

Go 语言实现 2048 游戏「中篇」

Go 语言实现 2048 游戏「中篇」

厉飞雨 阅读(154) 评论(0) 赞(9)

矩阵旋转操作是为了将其它三个方向的移动都转换为向上的移动操作。向下、向左、向右转换为向上操作时,数组需要进行翻转操作参考正文代码。 执行代码 {#执行代码} ------------ |---------------------------------------------------------------------------------------------...

探究 Go 语言 defer 语句的三种机制

探究 Go 语言 defer 语句的三种机制

厉飞雨 阅读(214) 评论(0) 赞(9)

Golang 的 1.13 版本 与 1.14 版本对 `defer` 进行了两次优化,使得 `defer` 的性能开销在大部分场景下都得到大幅降低,其中到底经历了什么原理? 这是因为这两个版本对 `defer` 各加入了一项新的机制,使得 `defer` 语句在编译时,编译器会根据不同版本与情况,对每个 `defer` 选择不同的机制,以更轻量的方式运行调用。 ### 堆...

我用 GO 语言封装了一个机器学习框架,并实现了一个小型的 GPT 模型来对对联

我用 GO 语言封装了一个机器学习框架,并实现了一个小型的 GPT 模型来对对联

厉飞雨 阅读(259) 评论(0) 赞(9)

### libgotorch 首先利用 libtorch 库封装了一个[libgotorch](https://51tbox.com/)库,已支持最新的 libtorch2.0.1 问题一:cgo 中返回的 tensor 对象在栈上,直接使用可能会有内存安全问题 我做了一层简单的封装来使其创建到堆上,但其引发的问题是需要手动管理内存,因此我编写了 mmgr 包在每一个 t...

Go 语言在极小硬件上的运用(三)

Go 语言在极小硬件上的运用(三)

厉飞雨 阅读(201) 评论(0) 赞(8)

在本系列的 [第一](https://51tbox.com/) 和 [第二](https://51tbox.com/) 部分中讨论的大多数示例都是以某种方式闪烁的 LED。起初它可能很有趣,但是一段时间后变得有些无聊。让我们做些更有趣的事情...... ...让我们点亮更多的 LED! ![STM32F030F4P6](http://static.51tbox.com/st...