有趣的是,Rust 语言自身提供的并发功能很少。我们之前讨论的几乎所有有关并发的内容,都是标准库的一部分,而不是 Rust 语言自身。
虽然利用消息传递处理并发是一种很好的方式,但并不是唯一的。
虽然利用消息传递处理并发是一种很好的方式,但并不是唯一的。
本文来自一篇博客:How to really learn Go。作者不仅讲述了学习 Go 语言的方法、方向、目标,还分享了一些人生哲学。读完很是受用,故此想翻译过来,翻译的如有不好,请读者指出,建议读者看看原文。
随着业务的不断向上抽象和简化,规则引擎作为架构的核心之一,直接决定了系统架构的可用性、易用性、服务性能等。
对于后端服务而言,高可用非常重要,服务升级不能影响正常流量,就如同给正在高速上飞驰的汽车换轮子一样。本文以Nginx和Golang为例,介绍程序热重启的原理和流程。
对于后端服务而言,高可用非常重要,服务升级不能影响正常流量,就如同给正在高速上飞驰的汽车换轮子一样。本文以Nginx和Golang为例,介绍程序热重启的原理和流程。
go chassis是一个go语言微服务开发框架,专注于云原生应用的开发,我们主要的使用场景是云服务开发。我们将自己在云服务开发过程中沉淀的能力融入到了开发框架中,以帮助开发团队快速编写云原生应用。
我们用一个系列来讲解从需求到上线、从代码到k8s部署、从日志到监控等各个方面的微服务完整实践,整个项目使用了go-zero开发,基本包含了go-zero以及go-zero作者开发的一些中间件,所用到的技术栈基本是go-zero的自研组件。
毫不夸张的说,不理解《依赖倒置》的程序员只能写功能,没法写出框架来!
本章节我将专注于开发第一个微服务系统,我们将学会如何用go chassis开发微服务并完成微服务之间的调用
作者:Mikael
上篇文章讲到 go-zero 架构设计和项目设计。本篇文章接着这个项目设计,将生成的 app 模块 中 gateway 和 RPC 进行改造。废话不多说,让我们开始!
令牌桶算法是网络流量整形(Traffic Shaping)和速率限制(Rate Limiting)中最常使用的一种算法。典型情况下,令牌桶算法用来控制发送到网络上的数据的数目,并允许突发数据的发送。
Golang的反射最为人诟病的就是它极差的性能,接下来我们尝试使用各种不常见的方法,来优化它的性能。
毫不夸张的说,不理解《依赖倒置》的程序员只能写功能,没法写出框架来!
前言: 实体具有业务属性、业务逻辑和业务行为,是是实实在在的业务对象。在事件风暴中,我们可以根据命令、操作与事件将业务上紧密结合在一起的多个实体与值对象进行聚合形成聚合根。
作为领域模型中最重要的环节之一的Repository,其通过对外暴露接口屏蔽了内部的复杂性,又有其隐式写时复制的巧妙代码设计,完美的将DDD中的Repository的概念与代码相结合!
Rust 的另一个主要目标是可以安全和高效的编写并发程序。
本篇文章将介绍如何使用 Go 语言 和 HTML5 来开发一个 MacOS App。
—— 从 Ti 星球出发,Explore the Sky,这个世界还有多少种可能?
GDB有啥用?想了解Go代码底层的话,它是一大利器,更别说定位问题啥的。
最简单的Go Dockerfile编写姿势,没有之一!
go使用openTelemetry为标准,用jaeger作为链路追踪系统
通过对前面Linux的Namespace、Cgroups、Union File System的学习,对Docker实现的基础知识有了一点点了解,接下来就跟着作者开始编写
作者:Mikael
上篇文章讲到 go-zero 架构设计和项目设计。本篇文章接着这个项目设计,将生成的 app 模块 中 gateway 和 RPC 进行改造。废话不多说,让我们开始!
作为领域模型中最重要的环节之一的Repository,其通过对外暴露接口屏蔽了内部的复杂性,又有其隐式写时复制的巧妙代码设计,完美的将DDD中的Repository的概念与代码相结合!
在 Go 里面写一个 struct 时,经常会遇到要给 struct 里面的各个字段提供设置功能。这个问题看起来很简单很容易,实际上困扰了不少人,连 Go 的三巨头之一 Rob Pike 都曾经为之苦恼了一段时间,后来找到了最佳实践后还为此开心地写了一篇 Blog。
毫不夸张的说,不理解《依赖倒置》的程序员只能写功能,没法写出框架来!
前言: 实体具有业务属性、业务逻辑和业务行为,是是实实在在的业务对象。在事件风暴中,我们可以根据命令、操作与事件将业务上紧密结合在一起的多个实体与值对象进行聚合形成聚合根。
作为领域模型中最重要的环节之一的Repository,其通过对外暴露接口屏蔽了内部的复杂性,又有其隐式写时复制的巧妙代码设计,完美的将DDD中的Repository的概念与代码相结合!
编程不易;即使是最好的程序员也无法编写每次都能完全按照预期工作的程序。因此,软件开发过程的一个重要部分是测试。为我们的代码编写测试是确保质量和提高可靠性的好方法。
GIN-VUE-ADMIN是一个基于vue和gin开发的全栈前后端分离的开发基础平台,拥有jwt鉴权,动态路由,动态菜单,casbin鉴权,表单生成器,代码生成器等功能,提供了多种示例文件,让大家把更多时间专注在业务开发上。
目录说到文件操作,应该是任何一种语言的基本操作。那么,Golang 是如何操作文件的呢? 操作文件,我们可以理解成对数据库的操作————增、删、改、查,它们分别对应创建文件、删除文件、修改文件内容、查询文件信息。我们就分别从这四个维度介绍 Golang