Go语言教程

     

离开Java/C#并不喜欢在Go中看到DDD

168 2K

我注意到,在 Gophers 的小圈子里,他们离开 Java/C# 的动机是渴望一种更简单、更直接的编程方法,以避免与 DDD 和其他强调松散耦合的范式相关的复杂性和不可预测性。他们表示,之所以转用 .

Golang链模式

112 3K

链模式( Chain Pattern)是用于编写更好、更健壮的代码的众多设计模式之一。这种模式的工作原理类似于链式生产,链中的每个环节都负责一项具体任务。当链启动时,第一个执行其任务,然后,如果没有错.

Go神分享最佳实践与设计模式

265 4K

在日常Go编程工作中,这些才是真正的亮点:Go-local 模式与一些类似 GoF设计模式的结合,在一定程度上习以为常地融入了 Go:1、使用函数值进行有状态处理,有时在struct体上使用方法表达式.

GoRoutine和通道并发教程

81 10K

GoRoutine 是一个与其他 goroutine 同时执行的函数。我们使用 goroutines 来启动多个线程,这有助于我们实现并发性。并发性是指程序在重叠的时间段内独立运行多个任务的能力。fu.

Go中切片slice的两种性能优化方法

108 2K

研究 Go 中的优化技术,优化一些似乎不太高效的最佳实践,主要是关于切片slice和映射map的。下面是我遇到的几个例子,作为开场白:1、在每次迭代时重新分配切片/映射: go for { queue.

Python易用性与Go简单性比较

115 4K

Python 和 Go 有着截然不同的特质,可以相互补充:Python is Easy. Go is Simple. Simple != Easy有一种常见的误解是,简单和容易指的是同一件事。毕竟,如.

River:Go中快速可靠的事务性后台作业

144 2K

使用像 PostgreSQL 这样的关系数据库作为作业队列是一种可以接受的方法,一些公司在生产中成功使用了这种方法。虽然 Redis 等更传统的队列可能更适合高吞吐量低延迟用例,但数据库可以为作业处理.

20个Golang最佳实践

225 28K

在本教程中,我们将探讨 Golang 中的 20 个最佳编码实践。它将帮助您编写有效的 Go 代码。#20:使用正确的缩进良好的缩进使您的代码具有可读性。一致地使用制表符或空格(最好是制表符)并遵循 .

Flyscrape:可定制脚本的Web抓取工具

165 2K

Flyscrape是一个用 Go 编写的开源网络抓取工具。它允许使用 JavaScript 脚本从网站中提取结构化数据。Flyscrape 专为速度、灵活性和简单性而设计。特点: 它作为独立的二进制文.

为什么使用Golang而非Rust开发桌面应用?

495 2K

MoonGuard 团队选择 Golang 而不是 Rust 作为他们的 Krater 桌面应用程序,因为 Golang 中更容易进行内存管理、类型安全和 ORM 支持。使用 Rust 和 Tauri.

如何解决Go Docker容器高延迟暂停问题?

199 3K

在容器编排器中运行时,设置 CPU 限制非常重要,以确保容器不会消耗主机上的所有 CPU。然而,Go 运行时不知道容器上设置的 CPU 限制,并且会愉快地使用所有可用的 CPU,导致高延迟。原因: 绝.

使用Go构建一个Postgres流平台

165 3K

使用 Go 通道从拉推模型转向更高效的流方法。这通过重叠拉取和推送阶段来提高性能,减少总体处理时间和延迟。Go通道提供数据同步、资源管理和并发处理。它们允许 goroutine 安全地通信和交换数据。.

Go中悲观锁、乐观锁+2PC实现分布式事务

266 1 7K

在本文中,我将在基本的酒店预订系统中使用 Go 实现2PC(两阶段提交),并使用悲观锁定和乐观锁定。在此系统中,我们将重点创建预订流程并将使用 PostgreSQL 数据库。您可以在这里找到源代码!为.

Dapr v1.12 正式发布:发件箱模式是亮点

377 3K

Dapr 是一种可移植、事件驱动的运行时,使任何开发人员都可以轻松构建在云和边缘运行的弹性、无状态和有状态应用程序,并支持多种语言和开发框架。Dapr 1.12.0 发布!以下是 v1.12 版本的亮.

本周Github有趣的项目、工具和库:pgroll等

196 3K

有趣的项目、工具和库pgrollPostgres 零停机迁移变得简单。 零停机迁移(无数据库锁定,无重大更改)。 保持新旧模式版本同时工作。 需要时自动柱回填。 迁移过程中出现问题时即时回滚。 针对现.

InfluxDB正式从Go切换到Rust

519

InfluxDB 是一个用 Rust 编写的开源时间序列数据库,使用 Apache Arrow、Apache Parquet 和 Apache DataFusion 作为基础构建模块。从Go切换到Ru.

Rust 与 Go Web开发实战比较

315 1 58K

这两种语言都可以用来编写快速可靠的 Web 服务。另一方面,它们实现这一目标的方法截然不同,很难找到对两种语言都公平的良好比较。这篇文章是我试图向您概述 Go 和 Rust 之间的差异,重点是 Web.

Go-memoize:缓存函数调用结果的开源工具

148

这是一个简单、简洁的 Go 记忆器。缓存昂贵的函数调用。Go-memoize 已经投入生产几年了。在内存中缓存昂贵的函数调用,并具有可配置的超时和清除间隔:import (    "time"    .

DevOps术语名词解释

131

DevOps 术语表(排名不分先后):DevOps:一个开发人员与运营人员和谐共处的神奇领域,一切移动都已自动化,Terraform 仍然获得 MPL 2 许可。DevOps工程师:一个放弃了解决问题.

go-ecommerce-microservices:Golang电子商务微服务案例

451 1 7K

这是一个实用的电子商务微服务,它使用CQRS、事件源、垂直切片架构和事件驱动架构构建。点击标题一个实际的电子商务示例,使用Golang和不同的软件架构和技术构建,如微服务架构,垂直切片架构,CQRS模.

rem:复古的Golang ORM

405 3K

rem是Retro Entity Mapper三个字母简写。一种新的Golang ORM。特点: PostgreSQL 和 MySQL 方言。SQLite 即将推出。 使用相同模型语法的数据和架构迁移.

go-clean-architecture:Golang整洁架构示例

475

遵循鲍勃叔叔的简洁clean架构原则构建的 REST API 示例clean架构规则: 独立于框架。该架构不依赖于某些功能丰富的软件库的存在。这允许您使用此类框架作为工具,而不必将您的系统塞入其有限的.

20个Golang自动化DevOps库

686 1 4K

探索 20 个用于简化任务和提高生产力的重要库。Golang,也称为 Go,是一种静态类型、编译型编程语言,由 Google 的 Robert Griesemer、Rob Pike 和 Ken Tho.

Golang六边形架构源码和分析

752 10K

维护软件的成本比开发软件的成本高得多。为了使维护软件具有成本效益,我们需要一种架构,使每个开发人员都能轻松理解代码库的每个部分并鼓励并行工作,因为大型软件通常有一个团队在背后支持。六边形架构旨在通过提.

Go 1.21新功能快速指南

701 3K

Go 1.21 将于 2023 年 8 月发布。该版本主要关注映射maps、切片slices和通道channels的辅助函数。让我们看看 Go 1.21 新增了什么:Min, Max, 和Clear函.

Go中操作数据库的5种方法

433 11K

如果您的应用程序是一顿饭,那么数据库模型就像一种乏味的碳水化合物,可以填饱您的肚子,但永远不会满足。因此,Go 拥有如此多的工具来完成这项工作也就不足为奇了。有选择固然很好,但选择太多,可能会让人不知.

全球按国家/地区划分的平均程序员薪资 [2022]

2261 16K

不同国家/地区软件工程师的平均工资是多少?查找美国、欧盟、印度等国家的开发人员平均工资。我们比较了软件工程不断发展和繁荣的十几个国家的数据。这就是您今天将学到的内容。在这篇文章中,您将找到 20 多个.

GoFaceRec:基于 Go 的深度学习人脸识别工具

820 2K

GoFaceRec是一个用 Go 构建的人脸识别工具,利用 MTCNN 进行人脸检测和 QMagFace 进行人脸识别。该项目的诞生是出于将深度学习模型的力量引入 Go 社区的愿望。经过一番努力,我得.

go 值得作为第一语言学习吗?

508 2K

Reddit网友提问:我对后端开发感兴趣,正在考虑 Python、Javascript 和 Golang。我更喜欢 Go,但有人说他正在失去人气,Go 初级开发人员是一个神话,因为 Go 开发人员通常.

ram-dl :用Go编写的下载RAM内存的工具

530 2K

ram-dl是一个允许您将RAM上传到系统或从系统下载的工具。它主要是作为 r3map 的技术演示,r3map是一个支持挂载和迁移的高效分布式mmap库,而 go-nbd是一个纯Go NBD服务器和客.