Golang Web 项目常见布局
官方布局来源:Golang 官方文档 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 project-root-directory/ go.mod internal/ auth/ ... metrics/ ... model/ ... cmd/ api-server/ main.go metrics-analyzer/ main.go ... ... the project's other directories with non-Go code 总结:只是一个简单的布局,cmd/ 作为入口,不同的应用使用不同的目录;internal/ ..
更多修复 GoLand 调试 WSL2 中的项目时卡住的问题
问题在使用 GoLand 调试 WSL2 中的项目时,调试窗口会卡住,无法 Step Into,并且出现以下信息:1 2 2024-01-29T15:18:59+08:00 warning layer=rpc Listening for remote connections (co nnections are not authenticated nor encrypted) 方法 1:关闭镜像网络模式这实际上是 WSL2 的镜像网络模式造成,它无法监听调试工具 delve 使用的 0.0.0.0 地址。可以在 %UserProfile%/.wslconfig 注释掉 networkingMode=mirrored 来关闭它。方法 2:修改 delve在 GitHub 上下载 delve 源码。然后找到 d..
更多一日一技:iOS下的开源免费消息推送服务
我们在部署代码到线上以后,可能会需要在一些情况下给自己发报警通知。如果是公司的线上业务,一般会有公司内部的各种通知工具。但如果是自己的个人服务,我们应该怎么推送消息呢?有些同学可能使用过叮叮或者飞书机器人,但是这些机器人要发送通知还需要拉个群,稍微有点麻烦。有些同学可能使用的是Telegram,但使用它需要梯子也不太方便。如果你的手机是iPhone,那么你可以使用一个开源免费超级轻量级的消息推送服务:Bark.使用Bark只需要简单调用接口即可给自己的iPhone发送推送。它只依赖苹果APNs,及时、稳定、可靠。不会消耗设备的电量, 基于系统推送服务与推送扩展,APP本体并不需要运行。能够使用点对点加密,实现隐私安全,确保即使是Bark的开发者在内的所有人都无法窃取你的隐私。使用Bark非常简单,首先在A..
更多ES 6/7 数据备份恢复
使用工具https://github.com/elasticsearch-dumphttps://hub.docker.com/r/elasticdump/elasticsearch-dump参数说明更多请参考: https://github.com/elasticsearch-dump/elasticsearch-dump?tab=readme-ov-file#options123456--parallel 并发度--direction load: 恢复, dump: 导出(默认)--input 数据来源--match 正则匹配需要导出的索引--includeType= 导出类型, 支持六种: data,mapping,analyzer,alias,settings,template--output 数..
更多如何参与Apache顶级开源项目
我们在日常工作中经常会使用到很多的开源项目,开源也是一个在工作和学习中都离不开的内容。一般来说,开源项目可以选择直接开源,也可以选择捐赠给某些基金会,例如Linux Foundation、CNCF和ASF等等。以ASF为例,如果一个项目想要成为顶级项目,则需要先通过孵化器孵化,孵化结束毕业才能成为顶级项目。最近我因为一些原因参与了云原生网关APISIX开源项目,这里做一下介绍。搭建环境首先我们需要下载源代码并且构建开发流程,根据官网介绍,我们把项目代码fork到自己的仓库并clone到本地,随后在本地仓库中将原始的项目设置为上游upstream,之后新建分支进行开发即可~ git clone git@github.com:RitterHou/apisix.git~ cd apisix~ git remot..
更多Golang 1.21 语言规范改动
内置函数新增内置函数 min、max 来返回参数中的最小值、最大值。新增内置函数 clear 把切片中的所有元素都设置为零值,或把 map 中的所有元素都删除。包初始化顺序新的语言规范对包初始化顺序给出了明确的定义。实际上就是按照深度优先搜索的顺序来初始化。类型推断优化了泛型函数的类型推断,并在规范中做出了明确的定义。变量循环捕获为了修复一直以来的变量循环捕获问题,可以先通过以下命令来找出受影响的代码:1 go build -gcflags=all=-d=loopvar=2 . all= 表示包括依赖包。然后通过以下命令来启用:1 GOEXPERIMENT=loopvar go build main.go nil panic在 Go 1.21 之前的版本,如果传入 panic 函数的参数是 nil,不会返..
更多Palworld幻兽帕鲁专业服务器搭建
Foreword 幻兽帕鲁,宝可梦版方舟,还缝合了一点塞尔达,The Survivalists,有意思,啥时候GF能做个这样的宝可梦游戏啊 本身支持小服务器4人联机,也支持大服务器32人联机,刚好有独立服务器,可以开一个玩一下。 服务器需求 CPU,4cores RAM,8G Network,Port UDP 8211 这是推荐配置,我直接8c,16g,防止出问题,使用Ubuntu来安装 linux 首先安装steamcmd sudo add-apt-repository multiverse; sudo dpkg --add-architecture i386; sudo apt update sudo apt install steamcmd 安装PalServ..
更多FastAPI/Starlette 长连接感知断开
之前写过如何 在服务器重启的时候感知长连接,最近发现折腾复杂了。 https://github.com/encode/starlette/discussions/1776 测试代码: import asyncio async def async_streamer(): try: while True: yield b"--boundary\r\nContent-Type: text/plain\r\nContent-Length: 1\r\n\r\n1\r\n" await asyncio.sleep(0) except asyncio.CancelledError: print("caught cance..
更多在 RouterOS 中配置 MSS Clamping 解决部分网站图片无法加载的问题
换成自己用 RouterOS 拨号之后,经常发现有的图片加载不出来,网上一顿冲浪之后发现可能是在 RouterOS 中没有正确配置 MTU 及 MSS,导致部分包被丢弃,也就是传说中的 PMTU 黑洞。 症状最常见的就是微信公众号的图片始终加载不出来,就像这样(自己当时没截图,借用知乎文章的图): 说来也很奇怪,我在 iOS 的微信上是能正常加载的,但是换到我妈的 Android 微信就会出现这样的情况,之前一直以为是我妈的手机出毛病了…… PMTU 黑洞所谓 MTU,指的是一条链路上可以通过的三层数据包的最大尺寸(包含 IP 包头)。以太网默认的 MTU 是 1500 字节。但是从我的设备到目标服务器之间的路径上可能存在 MTU 小于 1500 的链路,那么这条路径上最小的 MTU,就是整条链路的..
更多NVH、振动测量和模态分析入门
Foreword 从一个产品发生共振,影响产品的稳定性,探索如何解决这个问题,想着先测量出来共振的点,然后加强结构。继而发现仅仅测量知道了共振结果,但是对于设计来说并不知道如何改进设计才能解决问题,这还不够,还需要有理论上的指导,进一步提高结构优化的效率,直接引入了一个之前不曾接触过的领域——NVH。 NVH NVH,Noise,Vibration,Harshness,针对噪声、振动、平顺性进行分析的领域,主要还是汽车制造领域用的比较多,航空和一些零部件、电机等等领域,也是他们经常分析的内容。 到了NVH那就不仅仅是测量,还有设计,仿真,需要从理论到实验,最终落地的一整套流程来完善和提高设计水平。对于汽车、电机、大型航空件,他们的材料等性能是比较明确的,结构的线性程度也比较高,再加上企业本身实力雄..
更多