Golang的结构体类型struct

作者:matrix 被围观: 465 次 发布时间:2023-06-24 分类:Golang | 一条评论 »

熟悉面向对象语言的话,Golang的struct结构体有点像面向对象编程中的类。但这两者不是完全一样,只能说都有继承、封装、多态的特点。 结构体(struct) 结构体可以将零个或多个任意类型的值聚合在一起,能描述多个数据类型 type Person struct { name string age int value string address string } 成员方法和接收者 func (p *Person) setName(name string) { p.name = name } 说明: setName 为声明的方法 p *Person为接......

GitHub Action自动release发布版本 + docker镜像打包

作者:matrix 被围观: 351 次 发布时间:2023-06-23 分类:零零星星 | 无评论 »

https://github.com/Hootrix/keyword_alert_bot 针对keyword_alert_bot项目早就有添加docker镜像的想法,这次趁着有机会就完成这个feature,也算是使用下GitHub的CI/CD。 我的想法是利用github action功能,推送代码更新后自动打包docker镜像且安装所有依赖。打包的时候把最新版本号写入到代码中(当前日期作为版本号)。使用者把docker镜像pull后可以轻松运行整个bot。 流水线配置 项目的 .github/workflows/main.yml路径下新建文件: name: CI......

构建自己的Python包到Pypi

作者:matrix 被围观: 773 次 发布时间:2023-04-28 分类:Python | 4 条评论 »

安装构建工具 首先确保安装了setuptools 和wheel。如果没有就运行以下命令安装: $ pip3 install setuptools wheel twine 配置项目 目录结构可参考: https://github.com/Hootrix/text-box-wrapper 项目中包含以下文件: setup.py:包含项目的元数据和依赖关系。 README.md:项目的描述文件。 LICENSE:选择一个许可证并将其放在此文件中。 wrapper.py:自己定义的文件,包含功能代码 __init__.py 包定义,以及可引入的方法 配置setup.py s......

go build 交叉编译

作者:matrix 被围观: 738 次 发布时间:2023-02-10 分类:Golang | 无评论 »

Golang支持跨平台编译,比起python只能编译为当前平台的二进制文件要好太多。 go build help $ go help build usage: go build [-o output] [build flags] [packages] ... 默认编译(输出当前平台二进制文件) $ go build -ldflags="-s -w" main.go && upx -9 ./main 说明: upx 该工具用于压缩二进制文件 -9 表示最高压缩率(选择范围为1-9) 跨平台编译 Mac/Linux系统下: 输出Linux可执行文件: $ CGO_ENABLE=0 GOOS=linux GOARCH......

golang的变量声明

作者:matrix 被围观: 1,084 次 发布时间:2023-01-31 分类:Golang | 一条评论 »

变量声明 Golang属于强类型语言,且定义的变量一定要被使用不然会编译报错。 Golang可以使用:=的语法糖来自动实现类型推断,一般都在非全局变量中使用。var的声明多用在全局变量声明。 变量赋值后必须使用,否则编译失败 例外: _变量 表示占位变量。不能赋值和调用,仅为占位作用。 var a int = 16 var a = 16 //类型自动推断 //等同于短变量声明 a := 16 //多变量快捷声明 var a, b int var a, b, c = 16, true, "str" //可以不同类型 变量作用......

使用gost搭建隧道

作者:matrix 被围观: 1,004 次 发布时间:2022-12-31 分类:零零星星 | 无评论 »

很多时候需要搭建简单的socket代理或者其他中转隧道,方便学习开发。 gost是用golang实现的隧道代理工具,功能强大,也有docker环境可以快速使用。 github https://github.com/go-gost/gost docker镜像 ginuerzh/gost gogost/gost 两个docker镜像应该都可信,来源于作者/官方 前置条件 外网服务器 + 中转服务器(可选) + 域名 + 域名SSL证书 下面用中转/直连方案实现隧道代理,记录下~ 服务端(outside server) 外网落地服务器 a. 直连方......

tailwind + daisyui 开发初始化

作者:matrix 被围观: 2,223 次 发布时间:2022-10-18 分类:零零星星 | 2 条评论 »

环境: Mac + vscode + docker 创建项目和容器镜像 基于nodejs的docker镜像安装tailwindcss,daisyui 新建目录tailwind-project $ mkdir -p ./tailwind-project/src/ ./tailwind-project/dist/ $ cd ./tailwind-project/ $ docker run -it --rm -v $(pwd):/data -w /data node:latest sh -c 'npm install -D tailwindcss tailwindcss-cli ;npm i daisyui;npx tailwindcss-cli init;bash' install -D 参数表示dev daisyui为组件库 可取消......

简单好用的SLA探活工具 - EaseProbe

作者:matrix 被围观: 2,014 次 发布时间:2022-10-02 分类:零零星星 | 一条评论 »

SLA探活的需求很广泛,简单的可以自己实现。但是专门独立的探活工具倒是极少~ EaseProbe由GO编写,不需要其他依赖支持直接使用二进制程序运行。 这几天测试用来给api接口、ssl证书、web 200探活,好用~ github仓库 https://github.com/megaease/EaseProbe 支持HTTP、TCP、SSH、ssl证书、各种数据库/消息中间件服务探活,和email、SLAck、Discord、Telegram、飞书...的通知。还支持消息通知和定时发送报表,可以自定义分类告警渠道 配置config.......