BLCL的博客小馆

首页

关于

归档

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..

更多
loading..
PythoniOS消息推送

一日一技:iOS下的开源免费消息推送服务

我们在部署代码到线上以后,可能会需要在一些情况下给自己发报警通知。如果是公司的线上业务,一般会有公司内部的各种通知工具。但如果是自己的个人服务,我们应该怎么推送消息呢?有些同学可能使用过叮叮或者飞书机器人,但是这些机器人要发送通知还需要拉个群,稍微有点麻烦。有些同学可能使用的是Telegram,但使用它需要梯子也不太方便。如果你的手机是iPhone,那么你可以使用一个开源免费超级轻量级的消息推送服务:Bark.使用Bark只需要简单调用接口即可给自己的iPhone发送推送。它只依赖苹果APNs,及时、稳定、可靠。不会消耗设备的电量, 基于系统推送服务与推送扩展,APP本体并不需要运行。能够使用点对点加密,实现隐私安全,确保即使是Bark的开发者在内的所有人都无法窃取你的隐私。使用Bark非常简单,首先在A..

更多
backupesdata

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 数..

更多
loading..
开源apisixapache

如何参与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,不会返..

更多
loading..
Palword

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..

更多
stdout

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..

更多
loading..

在 RouterOS 中配置 MSS Clamping 解决部分网站图片无法加载的问题

换成自己用 RouterOS 拨号之后,经常发现有的图片加载不出来,网上一顿冲浪之后发现可能是在 RouterOS 中没有正确配置 MTU 及 MSS,导致部分包被丢弃,也就是传说中的 PMTU 黑洞。 症状最常见的就是微信公众号的图片始终加载不出来,就像这样(自己当时没截图,借用知乎文章的图): 说来也很奇怪,我在 iOS 的微信上是能正常加载的,但是换到我妈的 Android 微信就会出现这样的情况,之前一直以为是我妈的手机出毛病了…… PMTU 黑洞所谓 MTU,指的是一条链路上可以通过的三层数据包的最大尺寸(包含 IP 包头)。以太网默认的 MTU 是 1500 字节。但是从我的设备到目标服务器之间的路径上可能存在 MTU 小于 1500 的链路,那么这条路径上最小的 MTU,就是整条链路的..

更多
loading..
NVH

NVH、振动测量和模态分析入门

Foreword 从一个产品发生共振,影响产品的稳定性,探索如何解决这个问题,想着先测量出来共振的点,然后加强结构。继而发现仅仅测量知道了共振结果,但是对于设计来说并不知道如何改进设计才能解决问题,这还不够,还需要有理论上的指导,进一步提高结构优化的效率,直接引入了一个之前不曾接触过的领域——NVH。 NVH NVH,Noise,Vibration,Harshness,针对噪声、振动、平顺性进行分析的领域,主要还是汽车制造领域用的比较多,航空和一些零部件、电机等等领域,也是他们经常分析的内容。 到了NVH那就不仅仅是测量,还有设计,仿真,需要从理论到实验,最终落地的一整套流程来完善和提高设计水平。对于汽车、电机、大型航空件,他们的材料等性能是比较明确的,结构的线性程度也比较高,再加上企业本身实力雄..

更多
1789101175