若能与你化作星座,一起描绘星空中的梦想。|

janbar

园龄:4年5个月 粉丝:29 关注:10

随笔分类 -  golang

摘要:在公网访问内网http服务可以用内网穿透工具,例如frp和nps等优秀工具。但我发现这类工具会在服务器启动不止一个端口,对于有些网络审查来说很容易发现在进行内网穿透。因此我想是否可以只在服务器启动一个http服务来完成内网穿透,公网服务只开放一个http服务端口即可。因此我完成了相关代码:点击跳转查 阅读全文
posted @ 2024-12-18 16:14 janbar 阅读(741) 评论(1) 推荐(1) 编辑
摘要:源码如下 package main import ( "archive/zip" "bytes" "encoding/base64" "fmt" "image" "image/color" "image/png" "log" "math/rand" "strings" "time" "github. 阅读全文
posted @ 2024-03-02 22:13 janbar 阅读(201) 评论(0) 推荐(1) 编辑
摘要:安装: go install github.com/jan-bar/interesting/findModVer@latest 执行:findModVer d:\myproject 结果如下图所示: 根据结果可以找到哪个依赖导致google.golang.org/grpc v1.45.0使用了这个版 阅读全文
posted @ 2023-10-21 14:38 janbar 阅读(576) 评论(0) 推荐(0) 编辑
摘要:当需要比较两个`[]byte`数组是否相等时有好几种方案,下面可以看出前三种方案都是优化过的,效率高的方案。 ```go package main import ( "bytes" "crypto/rand" mr "math/rand" "testing" ) func StringEqual(n 阅读全文
posted @ 2023-06-13 21:16 janbar 阅读(67) 评论(0) 推荐(0) 编辑
摘要:项目 项目仓库:goOpenCv 连连看 麻将 单机版麻将 腾讯麻将小程序 总结 通过学习opencv图像匹配,完成游戏作弊,感觉没用的知识又增加了。 阅读全文
posted @ 2023-04-22 12:27 janbar 阅读(57) 评论(0) 推荐(0) 编辑
摘要:已经实现蒙特卡洛树算法的通用逻辑,只需要对应结构体实现相关接口就可以直接使用该算法。 优化算法主要优化GetActions生成下一步动作,要尽可能少,去掉无意义的动作。 以及优化ActionPolicy从众多动作挑选比较优秀的动作。对应五子棋就是执行该动作后当前局面评分最高。 package mai 阅读全文
posted @ 2023-04-01 20:47 janbar 阅读(213) 评论(0) 推荐(0) 编辑
摘要:四川麻将胡牌规则,参考腾讯麻将“血流成河”规则 详细代码如下: package main import ( "bytes" "fmt" "strings" ) func main() { var ( tile = []string{ "56756744422222m", // 超过4张牌,记为4张 阅读全文
posted @ 2023-03-04 21:01 janbar 阅读(337) 评论(2) 推荐(0) 编辑
摘要:检查Chrome浏览器标签,通过Chrome导出的收藏夹文件,挨个使用http get请求检查url是否有效 package main import ( "bufio" "errors" "flag" "fmt" "io" "net" "net/http" "net/url" "os" "strin 阅读全文
posted @ 2023-02-02 15:02 janbar 阅读(94) 评论(0) 推荐(0) 编辑
摘要:在golang中可以使用a := b这种方式将b赋值给a,只有当b能进行深拷贝时a与b才不会互相影响,否则就需要进行更为复杂的深拷贝。 下面就是Go赋值操作的一个说明: Go语言中所有赋值操作都是值传递,如果结构中不含指针,则直接赋值就是深度拷贝;如果结构中含有指针(包括自定义指针,以及切片,map 阅读全文
posted @ 2023-01-29 15:36 janbar 阅读(381) 评论(0) 推荐(0) 编辑
摘要:项目地址 这个项目是很久以前的,当时go能力有限,写的不尽人意。刚好最近有加密文件的需求,所以就完善了相关逻辑。 之前的方案还依赖 Seek(offset int64, whence int) (int64, error) ,看了go很多源码,都说Seek不可靠。所以目前改为纯Reader和Writ 阅读全文
posted @ 2022-12-20 17:16 janbar 阅读(389) 评论(0) 推荐(1) 编辑
摘要:官方资料 官方解释: https://pkg.go.dev/cmd/go#hdr-Build_constraints ,go help buildconstraint 也能看到描述 根据官方描述,go1.16开始建议使用go:build方式,与+build相比更容易被人阅读。 有关go:build注 阅读全文
posted @ 2022-12-12 17:04 janbar 阅读(372) 评论(0) 推荐(1) 编辑
摘要:服务端 package main import ( "errors" "fmt" "log" "net" "net/rpc" "net/rpc/jsonrpc" "os" ) // 算数运算结构体 type Arith struct { } // 算数运算请求结构体 type ArithReques 阅读全文
posted @ 2022-12-01 19:50 janbar 阅读(89) 评论(0) 推荐(0) 编辑
摘要:记录一下ipv4和ipv6与int互转通用处理方式,由于ipv6转的int比较大,因此需要使用big.Int来保存 另外记录一下将ip返回转换为CIDR表达方式 点击运行 package main import ( "fmt" "math/big" "net/netip" ) func IpRang 阅读全文
posted @ 2022-11-05 18:28 janbar 阅读(321) 评论(0) 推荐(0) 编辑
摘要:项目地址 xmind 基于go语言的xmind接口 使用方法参考: example 本库主要加载xmind文件为json结构,保存文件时也用的json结构而不是xml结构 本库只做了最基本的主题添加功能,类似标签/备注/图片等其他功能不考虑,有想法的自行实现 本库做了通用加载和通用保存方法,可以更灵 阅读全文
posted @ 2022-08-20 14:53 janbar 阅读(955) 评论(0) 推荐(1) 编辑
摘要:问题 当我使用kubeadm部署成功k8s集群时在想默认生成的证书有效期是多久,如下所示 /etc/kubernetes/pki/apiserver.crt #1年有效期 /etc/kubernetes/pki/front-proxy-ca.crt #10年有效期 /etc/kubernetes/p 阅读全文
posted @ 2022-07-11 15:30 janbar 阅读(793) 评论(0) 推荐(0) 编辑
摘要:Github地址 前言 最近有需要研究阴历和阳历互相转换的问题。因此找到两个库carbon和solarlunar 但是感觉计算出来的总是不太放心,而且也会占用计算资源。我的想法是通过接口获取现成的阴历和阳历数据,存到本地数据库,这样查询的时候一步到位。 方案 我通过百度搜索万年历,抓取网页请求得到百 阅读全文
posted @ 2021-09-16 14:18 janbar 阅读(809) 评论(0) 推荐(0) 编辑
摘要:介绍 官方SDK地址 本项目会将官方dll编译到可执行程序中,运行时无需考虑dll问题。 根据官方介绍,使用SDK前需要运行everything程序。 执行go build -tag ASCII时编译ascii相关接口,否则编译unicode接口。 可以参考examples/search.go示例代 阅读全文
posted @ 2021-09-09 18:59 janbar 阅读(493) 评论(0) 推荐(0) 编辑
摘要:前言 以往我安装go环境都是去网站上下载对应文件,然后本地解压。 每次发布新版本都要搞一次,太麻烦了,所以想找找多版本管理工具。 找到一个操作非常简单又能完全满足我的要求的库https://github.com/voidint/g。 美中不足的是在window下安装和切换时使用软连接需要管理员权限。 阅读全文
posted @ 2021-09-02 15:17 janbar 阅读(927) 评论(2) 推荐(0) 编辑
摘要:前言 由于redis的keys命令是线上禁用,所以就有了SCAN、SSCAN、HSCAN和ZSCAN四个命令。 但是这四个命令也不是每次返回全部匹配结果,因此需要一遍遍执行下去,而且每次返回的cursor要作为下一个的参数。 因此查找也不太方便,我写了一个简单的方法,用来查找scan的所有结果。关于 阅读全文
posted @ 2021-08-26 22:55 janbar 阅读(1140) 评论(0) 推荐(0) 编辑
摘要:前言 今天看到一个超级简单的算法题,但是我当时思路往递归,逐级筛选里面想了。结果百度查查答案,超级简单。 真是惭愧惭愧,不过我还是坚持用递归实现了,因为用递归的方案,可以适用于任何给定数据和指定位数。 传统解法 如下所示,因为题目是找1、2、3、4组合的三位数,因此可以用三重循环,遍历所有组合,筛选 阅读全文
posted @ 2021-07-18 14:24 janbar 阅读(1417) 评论(0) 推荐(0) 编辑

FAVOURITE

点击右上角即可分享
微信分享提示
*✧⁺˚⁺ପ(๑・ω・)੭ु⁾⁾ 好好学习天天向上
进入亮色模式
进入亮色模式

FAVOURITE