获得徽章 2
#青训营 x 字节后端训练营# In decentralized database systems, it is reported that serializability could still produce unexpected transaction orderings, leading to the stale read anomaly. To eliminate this anomaly, strict serializability imposes an additional ordering constraint, called the real-time order, which is required to be preserved among serializable transactions. Yet, preserving the real-time order in strict serializability often causes the performance to drop significantly. Because a weaker data consistency often yields better performance, in this paper, we model serializability from different consistency perspectives to properly leverage the performance and consistency. We first define a group of orderings, based on which we formulate multi-level serializability by preserving a certain set of ordering constraints among transactions. We then propose a bidirectional timestamp adjustment algorithm (abbreviated as BDTA) to support this.
展开
评论
#青训营 x 字节后端训练营# 在 Create React App 之前,必须安装一堆工具并将它们连接在一起,提供正确的预设以使用 JSX,为开发和生产环境进行不同的配置,为资源缓存提供正确的设置,配置 linter 等,想要正确完成这一系列工作非常困难。人们通过创建和共享可以克隆的“样板”存储库来解决了这个问题。然而,这产生了另外一个问题:一旦在项目中调整了克隆的样板文件,就很难再拉取样板的更新。这样,项目的设置会变得旧,要么放弃更新,要么花费大量精力让所有工具再次协同工作。在快速发展的生态系统中,这非常困难。
Create React App 通过将多个工具组合在一个包中解决了这个问题。现在,如果想用 React 开始一个新项目,有一个明确的推荐方法(Create React App)可以做到这一点! 然后,每隔一段时间,可以更新这个包,以获得所有底层工具的更新。这种模型变得很流行,以至于今天有很多工具都以这种方式工作。Vite 确实是拥有相似愿景的最佳工具之一,并且在在某些方面更进一步。
展开
评论
#青训营 x 字节后端训练营# 无论你是使用Windows,Linux还是Mac OS操作系统来开发Go应用程序,在安装好Go安装语言开发工具之后,都必须配置好Go语言开发所要求的 环境变量,才算初步完成Go开发环境的搭建。
但对于一些初学者来说,可能不太明白Go语言中常用的环境变量(Environment variables)的作用以及如何设置环境变量,今天我们来讲讲。

注意:Go提供的Windows操作系统安装包(.msi后缀)安装完成后,会自动配置几个常用的环境变量。

常用环境变量
Go语言中可以设置的环境变量有很多,每个环境变量都有其作用,不过很多我们可能都用不到,一般需要了解也是最重要的有以下几个:
awk复制代码$ go env //打印Go所有默认环境变量
$ go env GOPATH //打印某个环境变量的值
展开
评论
#青训营 x 字节后端训练营# xgen-编写XSD工具基础库,可将XML模式定义为多语言类型或声明的代码
GQLEngine-高性能Go语言的GraphQL服务端落地框架
Orange 一款基于Golang语言的Web开发框架
Go-admin -基于Golang快速搭建可视化数据管理后台的框架
Go-snowflake Go语言实现的snowflake算法,为分布式系统实现唯一ID,单机测试1s可生成20id
KubeVela 一个简单易用且高度可扩展的应用管理平台与核心引擎
TiDB 见识过mysql性能瓶颈之后你会想要选择的一款数据库
EasyMIDI EasyMidi是一个简单可靠的库,用于处理标准Midi文件(SMF)。
展开
评论
#青训营 x 字节后端训练营# 简短形式,使用 := 赋值操作符
我们知道可以在变量的初始化时省略变量的类型而由系统自动推断,声明语句写上 var 关键字其实是显得有些多余了,因此我们可以将它们简写为 a := 50 或 b := false。

a 和 b 的类型(int 和 bool)将由编译器自动推断。

这是使用变量的首选形式,但是它只能被用在函数体内,而不可以用于全局变量的声明与赋值。使用操作符 := 可以高效地创建一个新的变量,称之为初始化声明。
展开
评论
#青训营 x 字节后端训练营# 在 Go 编程语言中,数据类型用于声明函数和变量。

数据类型的出现是为了把数据分成所需内存大小不同的数据,编程的时候需要用大数据的时候才需要申请大内存,就可以充分利用内存。

Go 语言按类别有以下几种数据类型:

序号 类型和描述
1 布尔型
布尔型的值只可以是常量 true 或者 false。一个简单的例子:var b bool = true。
2 数字类型
整型 int 和浮点型 float32、float64,Go 语言支持整型和浮点型数字,并且支持复数,其中位的运算采用补码。
3 字符串类型:
字符串就是一串固定长度的字符连接起来的字符序列。Go 的字符串是由单个字节连接起来的。Go 语言的字符串的字节使用 UTF-8 编码标识 Unicode 文本。
4 派生类型:
包括:
(a) 指针类型(Pointer)
(b) 数组类型
(c) 结构化类型(struct)
(d) Channel 类型
(e) 函数类型
(f) 切片类型
(g) 接口类型(interface)
(h) Map 类型
展开
评论
#青训营 x 字节后端训练营#
Go语言开源项目

xgen-编写XSD工具基础库,可将XML模式定义为多语言类型或声明的代码
GQLEngine-高性能Go语言的GraphQL服务端落地框架
Orange 一款基于Golang语言的Web开发框架
Go-admin -基于Golang快速搭建可视化数据管理后台的框架
Go-snowflake Go语言实现的snowflake算法,为分布式系统实现唯一ID,单机测试1s可生成20id
KubeVela 一个简单易用且高度可扩展的应用管理平台与核心引擎
TiDB 见识过mysql性能瓶颈之后你会想要选择的一款数据库
EasyMIDI EasyMidi是一个简单可靠的库,用于处理标准Midi文件(SMF)。
展开
评论
#青训营 x 字节后端训练营#
零值
零值是指当你声明变量(分配内存)并未显式初始化时,始终为你的变量自动设置一个默认初始值的策略。
首先我们来看看官方有关零值(The zero value)的规范:

When storage is allocated for a variable, either through a declaration or a call of new, or when a new value is created, either through a composite literal or a call of make, and no explicit initialization is provided, the variable or value is given a default value. Each element of such a variable or value is set to the zero value for its type: false for booleans, 0 for numeric types, "" for strings, and nil for pointers, functions, interfaces, slices, channels, and maps. This initialization is done recursively, so for instance each element of an array of structs will have its fields zeroed if no value is specified.

据此我们可总结出:

对于值类型:布尔类型为 false, 数值类型为 0,字符串为 "",数组和结构会递归初始化其元素或字段,即其初始值取决于元素或字段。
对于引用类型: 均为 nil,包括指针 pointer,函数 function,接口 interface,切片 slice,管道 channel,映射 map。

通常,为你声明的变量赋予一个默认值是有用的,尤其是为你数组和结构中的元素或字段设置默认值,这是一种保证安全性和正确性的做法,同时也可以让你的代码保持简洁。
展开
评论
下一页
个人成就
文章被阅读 3,465
掘力值 418
收藏集
0
关注标签
0
加入于