51工具盒子

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

开源软件

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

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

厉飞雨 阅读(436) 评论(0) 赞(12)

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

给 VSCode 做了个 RSS 阅读器插件

给 VSCode 做了个 RSS 阅读器插件

厉飞雨 阅读(411) 评论(0) 赞(17)

一直比较喜欢使用 RSS 订阅一些新闻和技术博客, 但总觉得 Windows 上除了雷鸟外没有什么好用的阅读器. 后来突然想到既然平时 VSCode 用得这么多, 为什么不给它写个 RSS 阅读插件呢, 而且 VSCode 扩展性这么强, 又天生支持 HTML 渲染. 于是清明节这几天就搞出了这个: [luyuhuang/vscode-rss](https://github.c...

记一次基于 Django 的传销站点渗透

记一次基于 Django 的传销站点渗透

厉飞雨 阅读(263) 评论(0) 赞(14)

前言 --- 这是一个传销项目,最开始目标用的PHP+MYSQL+THINKPHP搭建的,当时网上找到源码然后审计拿到了后台,getshell实在无力,代码翻烂了都没找到能拿shell的点,所以当时准备给数据分析部门的爬后台数据然后交差的。 然,天有不测风云,刚准备采集,目标不知道为什么关站了,然后换了程序,换成了基于 Django 的 Python 程序,而且目测还在开发...

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

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

厉飞雨 阅读(522) 评论(0) 赞(12)

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

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

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

厉飞雨 阅读(468) 评论(0) 赞(14)

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

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

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

厉飞雨 阅读(556) 评论(0) 赞(14)

在本文的 [第一部分](https://51tbox.com/) 的结尾,我承诺要写关于接口的内容。我不想在这里写有关接口或完整或简短的讲义。相反,我将展示一个简单的示例,来说明如何定义和使用接口,以及如何利用无处不在的 `io.Writer` 接口。还有一些关于反射reflection和半主机semihosting的内容。 ![STM32F030F4P6](http://s...

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

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

厉飞雨 阅读(522) 评论(0) 赞(16)

Go 语言,能在多低下的配置上运行并发挥作用呢? 我最近购买了一个特别便宜的开发板: ![STM32F030F4P6](http://static.51tbox.com/static/2024-12-23/col/ce9afa1e0446eb8d703d54478b040a9a/f1647455e1924e18ba74aae7123604c2.jpg.jpg) 我购买它的...

你没听说过的 Go 语言惊人优点

你没听说过的 Go 语言惊人优点

厉飞雨 阅读(382) 评论(0) 赞(17)

在这篇文章中,我将讨论为什么你需要尝试一下 Go 语言,以及应该从哪里学起。 Go 语言是可能是最近几年里你经常听人说起的编程语言。尽管它在 2009 年已经发布了,但它最近才开始流行起来。 ![](http://static.51tbox.com/static/2024-12-23/col/39b09905a327c4e8e385889239baf8f3/46c93dc8...

从零开始学习 Go 语言的切片

从零开始学习 Go 语言的切片

厉飞雨 阅读(568) 评论(0) 赞(14)

这篇文章受到了我与同事讨论使用切片slice作为栈stack的一次聊天的启发。后来话题聊到了 Go 语言中的切片是如何工作的。我认为这些信息对别人也有用,所以就把它记录了下来。 ### 数组 {#toc_1} 任何关于 Go 语言切片的讨论都要从另一个数据结构也就是数组array开始。Go 的数组有两个特性: 1. 数组的长度是固定的;`[5]int` 是由 5 个 `i...