年度归档: 2023 年

20 篇文章

Golang|Gorm如何实现CreateOrUpdate?
前言 在数据库的CURD过程中,我们偶尔会遇到这样的需求,一条记录发到后端,如果已经存在,就更新这条记录,如果不存在,就插入这条数据。比如我遇见的这个云同步便签的功能, 用户点击保存会有两种情况,一是新建的便签,二是已有的标签经过编辑后保存,所以我们希望在同一个接口兼容这两种操作。 如何实现? 如果正常来说,我第一个想到的是这样 func Crea…
数据结构|浅谈数组与链表
很多编程语言的标准库中都实现了很多数据结构,方便开发者快速上手,避免重复造轮子,例如Java中的XXXList,Go的slice以及container包中的list包。他们大多是基于数组与链表这两个基本数据结构的封装,也是两种不同的数据存储方式,这两种数据结构究竟有何异同? 数组 在内存中,数组由一段连续的内存组成,且长度固定,如图所示。 查找元素…
C语言|MinGW使用EasyX图形库
起因 某23学弟要用C语言画点东西,刚好想起自己刚学C语言的时候遇到过同样的问题,所以,花点时间尝试了一下。 库文件下载 点击下载 下载后是这个样子 其中include是库文件,lib32/lib64是头文件,我们需要做的就是把这两个文件夹下的文件移动到MInGW相应的目录。至于是32还是64取决于你的MinGW是32还是64。 运行 之后我们创建…
Golang|将你的Golang程序编译为WASM
起因 最近接触到了一个go的2D游戏库,而且之前接触过WASM的概念,所以尝试将golang编译为wasm。 过程 编译(GO1.21) 和go的其他交叉编译设置一样,我们需要将GOOS设置为js,将GOARCH设置为wasm。 $env:GOOS="js" $env:GOARCH="wasm" go build -o test.wasm 运行 将…
WordPress搭建问题分享
环境 ubuntu22.04 docker:24.0.6 mariadb:5.5 WordPress最新镜像 数据库无法连接的问题 由于我的数据库与WordPress均使用docker运行,WordPress无法直接通过127.0.0.1:3306链接到数据库, 因此我们需要进入数据库所在容器,查看他的Ip地址,这个Ip地址与WordPress处于…
Java|面向对象程序设计的课程设计
起因 大一下学期我们进行了为期两天的JAVA实训,某峰教育的实训讲师似乎并没有了解到我们的学习进度,第一天的时间并没有学到多少东西,第二天他教我们做了一个基于Swing的小游戏,他大概长这个样子。 小组作业 接下来就是选择自己的题目进行小组开发,因为这个小游戏已经被我开发的差不多了,所以我打算换一个选择,自己做一个小聊天demo。 成果 实现 基本…
一行指令操作米家台灯1s
如何以更加简约自由的方式操作米家台灯1s 米家的物联网生态做的非常完善了,但是我非常希望摆脱米家APP,通过更加开放的方式去进行操控。 Home Assistant 作为老牌智能家居第三方控制方案,虽然也能满足需求,但在使用设备并不多的情况下下,反而显得有些大材小用了。 根据网上公开的资料,早期米家生态设备使用 miIO 协议 进行通信,从2019…
如何优雅地网上冲浪
代理服务器 当我们访问各种网站时,经常会遇到一些阻碍(不用多说),所以一个帮我们绕过阻碍的工具就必不可少。 Clash Clash 是一个使用 Go 语言编写,基于规则的跨平台代理软件核心程序。clash官网 在linux下使用docker安装clash 在服务器上创建以下目录结构: svc ├── docker-compose.yml └── s…
Golang|文件的压缩与解压缩
最近在收java课作业的时候,实在懒得一个一个人解压,收作业真的是很麻烦的事,所以想做一个作业提交平台挂到服务器上,实现自动解压自动保存,再一键整合压缩交给老师,所以研究了一下使用go操作文件压缩与解压缩的方式。 压缩 参数 dirToZip:想要压缩的文件,例如./test,即为压缩test目录下的所有文件 zipFilePath:想要压缩的文件…
Rammap自动化–吃掉无用内存!
简介 Rammap是一款专门用于内存管理的工具。它的原理是通过清理内存中无用的数据,来释放更多的空间和资源供其他程序使用。具体来说,Rammap会扫描内存中的所有数据,并将其中的无用数据清除。这些无用数据可能是已经关闭的程序留下的一些缓存、垃圾数据、内存泄漏等。通过清理这些无用数据,Rammap可以有效地提高系统的性能和稳定性。同时,Rammap也…