mysql 数据表导出为 markdown(附 go 语言 gorm 的实际使用) 通常业务系统开发中,数据库的设计与维护是至关重要的环节。而数据库的文档化则是确保团队成员之间有效沟通、快速理解系统架构的基础。mysql_markdown 工具将 mysql 数据库表导出为 markdown。
minio 使用 PostPolicy 方式上传文件 PostPolicy是一种用于生成预签名的POST请求的方法,允许客户端直接向S3兼容的存储服务(如MinIO)上传文件,而不需要通过后端服务器中转。可以在PostPolicy中设置各种条件,如文件大小限制、文件名前缀等。本篇简单介绍了下minio直接从客户端上传文件的另一种方式PostPolicy,并附上了示例代码。用户拿到sts临时凭证后随意上传文件,这个没法控制,如果真有人拿到了临时凭证恶意上传大文件,导致oss服务不能用了,那只有通过法律的铁拳来打击了。
云手机简述(概况,使用场景,自己部署云手机) 云手机(Cloud Phone)是一种基于云计算技术的虚拟手机服务,它将手机的操作系统和应用程序托管在云端服务器上,用户可以通过互联网连接来访问和操作这些虚拟手机。与传统的智能手机不同,云手机不需要依赖物理硬件,用户可以使用多种设备(如智能手机、平板电脑、笔记本电脑等)通过互联网访问和使用云手机服务。
Gitlab 中几种不同的认证机制(Access Tokens,SSH Keys,Deploy Tokens,Deploy Keys) Gitlab 中几种不同的认证机制解析,并介绍了在做 CI 时,Docker 镜像中如何用 Go 拉取私有仓库的代码。
MinIO实战攻略:轻松构建私有云存储解决方案 OSS(Object Storage Service)通常指的是对象存储服务,它是一种数据存储架构,用于存储和检索非结构化数据,如图片、视频、文档和备份等。对象存储服务与传统的块存储和文件存储不同,它将数据作为对象来存储,每个对象都包含数据、元数据和一个唯一的标识符。在对象存储系统中,数据被组织成一个扁平的结构,而不是传统的文件系统中的层级结构。高扩展性:可以轻松地扩展存储容量,以适应不断增长的数据量。高可用性:通常提供冗余存储,确保数据在硬件故障时仍然可用。
【记录】go 设置 http 请求超时 平常自己使用http发送请求设置超时,都是直接给对象设置Timeout属性,很少使用这种对单个Request设置超时的。其实还是个熟练度问题,平常源码读的比较少。有空读读源码不仅可以在使用代码的时候更得心应手,也能够学习借鉴源码的代码设计实现。对自己平常经常需要使用的库,还是建议都过一遍源码,很不错的一个打发空闲时间的方式。
AI 编程辅助工具介绍 2023 被称为“AI元年”,人工智能、AI大模型概念迅速点燃市场。对程序员来说,如果能让 AI 帮助我们编码,那工作效率不得起飞!本篇简单介绍一下当前主流的 AI 编码工具。目前的 AI 辅助编程工具还在飞速发展,本地部署训练的效果都不如 GitHub Copilot 等大厂的产品好用。短期内建议使用云服务产品来做代码辅助,长期考虑,可以先本地部署了解下其原理(硬件不行的就不要再考虑了),尝试自己生成模型。
go module 名称与 GitHub/Gitlab 地址不同时的引用方式(module declares its path as: github.com/someone/repo ) 本篇介绍了go引用第三方库时,当module名称和引入仓库地址不同的情况下的解决方式:使用mod的replace特性。使用replace将替换成网站地址即可。module declares its path as: github.com/someone/repo but was required as: github.com/you/repo 的解决方式
golang 发起 http 请求,获取访问域名的 ip 地址(net, httptrace) 本篇介绍了在go中如何获取访问域名的ip地址,通过go官方net包可获取。如果有记录http请求的域名ip这种需求,可以使用go 1.17后添加的httptrace包来插入钩子获取请求的ip地址。当然了,httptrace的作用不止于此,它可以搜集http客户端请求整个生命周期中的信息,本篇未做详细介绍,感兴趣的可自行探索。
电子邮件发送接收原理(附 go 语言实现发送邮件) 本文阐述了电子邮件发送接收原理。大体流程:用户A-> 邮箱服务器 (-> 其他邮箱服务器) -> 用户B。最后介绍了下使用golang来发送邮件,配置好服务器后还是很方便的。
docker 已经配置了国内镜像源,但是拉取镜像速度还是很慢(gcr.io、quay.io、ghcr.io) docker拉取镜像慢,通常配置了国内镜像源后,速度可以得到极大的改善。但若是配置了镜像源后,拉取镜像还是非常慢,那就需要自己想想办法搭个梯子直接从外网拉取镜像。
git submodule 子模块的基本使用 使用了submodule后,若不主动更新,项目会一直使用固定版本的submodule模块,需手动更新(若是在go或者其他有包管理的项目中,建议还是使用开发语言工具去做这种类似的第三方包管理会比较方便。
linux 性能分析之内存分析(free,vmstat,top,ps,pmap等工具使用介绍) linux 的内存分析工具的简单使用。/proc/meminfo,free,vmstat,top,ps,pmap
flutter 初识(开发体验,优缺点) flutter的上手难度还行,不过我做上述的小应用,还是花了一天的时间(主要还是要熟悉其框架结构以及基础语法,数据请求等),整体开发体验还不错,中文社区也挺强大的,基本上问题一搜都能有解答。这里要吐槽一下,我做的应用有个解压缩的功能,遇到了gbk编码问题,flutter对中国用户真是不怎么友好,这个问题花了好半天才解决(可能是我太菜了 =-=!跨平台提供了便利性,同样也提高了复杂性,对开发者的知识广度还是有需求的。
低代码平台的使用学习 低代码平台是一种开发工具或环境,它们旨在简化应用程序的开发过程,减少编码量,提高开发效率,同时降低对传统编程知识的依赖。通过低代码平台,开发人员可以使用图形化界面和拖拽功能,而不需要手写大量代码,从而更快地构建应用程序。总的来说,低代码平台在适合的场景下可以显著提高开发效率和降低开发成本,对于快速原型、中小规模项目以及业务人员参与开发的情况非常有用。但对于复杂的、高性能要求以及高度定制化的项目,传统的编程方法可能更为适用。
go 中的代码漏洞检查 govulncheck是go官方提供的一个二进制工具,用于检查go代码或二进制文件是否存在已知的安全漏洞。是go官方提供的一个漏洞检查工具。go团队从多处采集漏洞并存入自己的漏洞库,然后通过工具对代码或二进制文件进行漏洞扫描。很棒的一款工具,建议在日常的开发流程中(CI/CD,代码审查等)引入漏洞检查,能够帮助我们通过go来构建高质量、高安全性的程序。
探索 APK 文件的内部:了解 Android 应用程序的组织结构 APKAndroidpackage) 是构建和发布Android应用程序的关键组成部分,APK文件是应用程序的打包格式,它将应用程序的代码、资源和清单信息组合在一起,以便在设备上进行安装和运行。简称 ”“,其本质上就是一个zip压缩包。