技术圈开发者交流群:

Go 多模块工作区模式的最佳实践

在使用 Golang 做编程的学习和工作中,经常会将一个项目拆分成多个模块,模块之间保持着一定层级的依赖关系。往往修改完上游模块后,必须发布以后,下游模块更新后才能使用修改后的上游模块,如果在下游模块使用时发现问题需要再次修改上游模块,然后再发布,下游模块再更新,如此往复,费时费力,大大降低开发和调试效率。

工作区(workspaces) 模式是 Go1.18 中引入的新功能,让多个模块并行开发和调试。无需在 go.mod 中使用 replace 来本地使用开发上游模块。

在没有工作区之前,假设有两个模块mod1mod2mod1依赖mod2,如果mod2中做了修改,mod1要想使用mod2修改后的功能,有两种方式:

GoLang 2024年11月24日 2150

Golang 开发游戏服务端的框架推荐

游戏的种类也很多,各种3A大作、手机游戏、小游戏等。就游戏服务端而言,由于游戏本身差异,很难有一个大而全的游戏服务端框架,为满足日益变化的业务需求,很多企业都是自主开发定制自己的框架,或者从很小的一个http+rpc基础开始,不断扩展来满足的各自的业务需求。

非要说推荐几个Golang的游戏服务端框架,也不是没有,这里更加Gibhub的 star 数来推荐几个还不错的框架。

下面这些都是有一定 star 并且还在活跃的项目:

GoLang 2024年10月21日 1294

在 Go 语言中如何进行 AES-ECB-256 加解密

AES(高级加密标准),是一种对称加密算法,由美国国家标准与技术研究院(NIST)于2001年发布,用于取代早期的DES加密算法,支持128位、192位和256位密钥长度,广泛应用于数据安全领域。

相比其他的对称加密如DES,由于DES密钥长度只有56位如今的算力甚至可以在5分钟内破解,而AES最高级别达到了256位密钥长度,如果采用穷举法,目前来看AES是一种”无法“被破解的加密存在。

不过在 Go 中通常需要使用crypto/aescrypto/cipher包实现AES加密解密。

GoLang 2024年09月20日 2109

在 Linux 下安装 OpenJDK 并配置 Maven 环境

OpenJDK 是 Java 开源实现的官方版本,涵盖多个版本分支和衍生发行版。

其衍生版本有:AdoptOpenJDK、Amazon Corretto、Azul Zulu、BellSoft Liberica、Red Hat OpenJDK等。

AdoptOpenJDK 社区维护的开源版本,已合并到 Eclipse AdoptOpenJDK 项目,现更名为 Adoptium,下面以 为例。

从 Eclipse Adoptium 下载页面(https://adoptium.net/zh-CN/temurin/releases/) 找到 JDK 21 对应的 Linux 版本(例如 jdk-21.0.1+9_linux-x64_bin.tar.gz),可以使用下载工具下载后拷贝进 Linux,这里直接从镜像站下载:

Java 2024年08月02日 612

在 Linux 中如何开启 ssh 远程连接

无论你是什么方向的开发者,在日常工作中必不可少的要和 Linux 系统打交道。在打交道之前,就必须先远程连接上去,应该很少人人会使用VNC远程连接吧,更何况很少作为开发的Linux系统不会安装图形库界面吧,那就必须得使用命令行SSH远程连接了。

要安装SSH,肯定的直接在机器上操作,物理机你就接个键盘、显示器,虚拟机直接用界面连接操作。

首先需要安装openssh-server,如果已经安装可跳过下面的命令。

PHP 2024年07月20日 230

在 Laravel 中使用 Vite 来构建静态资源

之前做Laravel项目,一直使用的是Laravel Mix打包静态资源。但是随着Vite的横空出世,Laravel已经默认使用Vite来打包静态资源了。

在此之前,你需要创建一个Laravel项目,并准备PHPNode.js环境。

LaravelVite插件是laravel-vite-plugin。项目默认的package.json中的依赖项已经包含了,只需要安装一下即可。

npm install
PHP 2024年06月28日 1229

在 Laravel 中结合 Vite 搭建 Vue 应用

Laravel 是一个优雅的 PHP WEB框架,在早期的版本中,一般是采用Mix搭配webpack来构建前端资源。

Vue 是一个渐进式 JavaScript 框架,Vite 是下一代前端开发和构建工具。那么这个组合起来,堪称绝美

下面是我所使用的版本:

  • PHP 8.2
  • Laravel 11.8.0
  • Node 20.13
  • Vite 5.0
  • Vue 3.4
PHP 2024年05月20日 6882

Laravel 框架中如何打印 sql 语句到日志中

在开发过程中,难免需要对 sql 语句的问题排查,我们可以把程序执行中运行的 sql 语句记录到日志中。

甚至,还可以记录 sql 语句的执行时间,对执行时间过长的 sql 的语句增加预警等。

PHP 2024年04月19日 986

Go 语言包管理利器:go mod

包管理工具已是编程语言的必备的工具,用于解决项目中复杂的依赖关系,提供包的版本控制、安装、更新等工具。Java 中有 MavenPython 中的 pip,还有 PHPcomposer 等,那么 Go 目前已经有非常成熟的包管理工具:go mod

在一个还没有使用go mod的项目中,需要使用go mod init初始化。

go mod init example.com/group/demo

上面命令初始化了一个包名为example.com/group/demo的,产生了go.mod文件:

GoLang 2024年03月15日 5742

Kratos:适用于云原生时代的终极 Go 微服务框架

微服务是一种软件技术架构,是将一个大型的单个应用或服务拆分成多个微服务,可扩展单个组件而不是整个应用程序堆栈,从而满足服务等级需求。

Kratos 一套轻量级 Go 微服务框架,包含大量微服务相关框架及工具,是一个 Web 应用程序框架,具有富有表现力、优雅的语法。

它致力于给开发者提供完整的微服务研发体验,通过整合,可以产出一套完整的微服务治理体系,从而让开发者更加专注于业务交付。

GoLang 2024年02月02日 2974

排行

解决方案

网站建设

专业企业官网建设,塑造企业形象,传递企业价值

系统开发

系统软件开发,用心思考,用心设计,用心体验

技术支撑

打破技术瓶颈,让不堪重负的项目起死回生

业务中台

构建全渠道一体化运营能力,实现全链路数字化

文案策划

文案撰写、营销策划,专注品牌全案

新媒体运营

一站式解决企业互联网营销痛点和难题

以技术的力量,改变互联网

联系我们
鄂ICP备19028750号-1 @copyright 2025 tech1024.com