随笔分类 - 30 - 学习笔记
仅记录一些个人学习笔记及心得,并不发表在首页。(个人用)
摘要:为什么要在密码里加点“盐” 盐(Salt) 在密码学中,是指通过在密码任意固定位置插入特定的字符串,让散列后的结果和使用原始密码的散列结果不相符,这种过程称之为“加盐”。 以上这句话是维基百科上对于 Salt 的定义,但是仅凭这句话还是很难理解什么叫 Salt,以及它究竟起到什么作用。 第一代密码
阅读全文
摘要:一,私钥、公钥与比特币地址 由随机数生成私钥 比特币软件使用操作系统底层的随机数生成器来产生256位的熵(随机性),也就是说首先在1-2256之间生成一个随机数,然后用SHA256算法生成一个256位的二进制数(即64位的十六进制)。 由私钥生成公钥 通过椭圆曲线算法可以由私钥生产公钥,这个过程是不
阅读全文
摘要:前言: 在并发访问情况下,可能会出现脏读、不可重复读和幻读等读现象,为了应对这些问题,主流数据库都提供了锁机制,并引入了事务隔离级别的概念。数据库管理系统(DBMS)中的并发控制的任务是确保在多个事务同时存取数据库中同一数据时不破坏事务的隔离性和统一性以及数据库的统一性。 乐观并发控制(乐观锁)和悲
阅读全文
摘要:概念: “云计算”是一种信息技术(IT)模式,通常通过互联网对系统资源和高级别服务(比如业务服务)的共享池提供按需访问。 ...这么说吧,这里面其实有两方面概念,包含“云”和“计算”。“云”是提供资源服务的网络,“计算”是网络中的各种资源,包括操作系统、存储空间、运行平台、数据库里、应用软件等等,这
阅读全文
摘要:1. LRU 1.1. 原理 LRU(Least recently used,最近最少使用)算法是内存管理中的一种页面置换算法,根据数据的历史访问记录来进行淘汰数据,其核心思想是“如果数据最近被访问过,那么将来被访问的几率也更高”。 1.2. 实现 最常见的实现是使用一个链表保存缓存数据,详细算法实
阅读全文
摘要:Go 语言范围(Range) Go 语言中 range 关键字用于 for 循环中迭代数组(array)、切片(slice)、通道(channel)或集合(map)的元素。在数组和切片中它返回元素的索引和索引对应的值,在集合中返回 key-value 对的 key 值。 实例 以上实例运行输出结果为
阅读全文
摘要:Go 语言切片(Slice) Go 语言切片是对数组的抽象。 Go 数组的长度不可改变,在特定场景中这样的集合就不太适用,Go中提供了一种灵活,功能强悍的内置类型切片("动态数组"),与数组相比切片的长度是不固定的,可以追加元素,在追加时可能使切片的容量增大。 定义切片 你可以声明一个未指定大小的数
阅读全文
摘要:Go 语言结构体 Go 语言中数组可以存储同一类型的数据,但在结构体中我们可以为不同项定义不同的数据类型。 结构体是由一系列具有相同类型或不同类型的数据构成的数据集合。 结构体表示一项记录,比如保存图书馆的书籍记录,每本书有以下属性: Title :标题 Author : 作者 Subject:学科
阅读全文
摘要:Go 语言指针 我们都知道,变量是一种使用方便的占位符,用于引用计算机内存地址。 Go 语言的取地址符是 &,放到一个变量前使用就会返回相应变量的内存地址。 什么是指针 一个指针变量指向了一个值的内存地址。 类似于变量和常量,在使用指针前你需要声明指针。指针声明格式如下: var-type 为指针类
阅读全文
摘要:Go 语言数组 Go 语言提供了数组类型的数据结构。 数组是具有相同唯一类型的一组已编号且长度固定的数据项序列,这种类型可以是任意的原始类型例如整形、字符串或者自定义类型。 相对于去声明number0, number1, ..., and number99的变量,使用数组形式numbers[0],
阅读全文
摘要:Go 语言循环语句 输出 1-100 素数: Go 语言实现99乘法表 另一个方法输出 1-100 素数: Go 语言函数 函数定义 Go 语言函数定义格式如下: 函数定义解析: func:函数由 func 开始声明 function_name:函数名称,函数名和参数列表一起构成了函数签名。 par
阅读全文
摘要:位运算符 位运算符对整数在内存中的二进制位进行操作。 下表列出了位运算符 &, |, 和 ^ 的计算: Go 语言支持的位运算符如下表所示。假定 A 为60,B 为13: 以下实例演示了位运算符的用法: 以上实例运行结果: 赋值运算符 下表列出了所有Go语言的赋值运算符。 其他运算符 下表列出了Go
阅读全文
摘要:golang 使用 iota golang 使用 iota iota是golang语言的常量计数器,只能在常量的表达式中使用。 iota在const关键字出现时将被重置为0(const内部的第一行之前),const中每新增一行常量声明将使iota计数一次(iota可理解为const语句块中的行索引)
阅读全文
摘要:Go 语言数据类型 在 Go 编程语言中,数据类型用于声明函数和变量。 数据类型的出现是为了把数据分成所需内存大小不同的数据,编程的时候需要用大数据的时候才需要申请大内存,就可以充分利用内存。 Go 语言按类别有以下几种数据类型: (a) 指针类型(Pointer) (b) 数组类型 (c) 结构化
阅读全文
摘要:Go 语言基础语法 上一章节我们已经了解了 Go 语言的基本组成结构,本章节我们将学习 Go 语言的基础语法。 Go 标记 Go 程序可以由多个标记组成,可以是关键字,标识符,常量,字符串,符号。如以下 GO 语句由 6 个标记组成: 6 个标记是(每行一个): 行分隔符 在 Go 程序中,一行代表
阅读全文
摘要:Go 语言结构 在我们开始学习 Go 编程语言的基础构建模块前,让我们先来了解 Go 语言最简单程序的结构。 Go Hello World 实例 Go 语言的基础组成有以下几个部分: 包声明 引入包 函数 变量 语句 & 表达式 注释 接下来让我们来看下简单的代码,该代码输出了"Hello Worl
阅读全文
摘要:摘要:转用一门新语言通常是一项大决策,尤其是当你的团队成员中只有一个使用过它时。今年 Stream 团队的主要编程语言从 Python 转向了 Go。本文解释了其背后的九大原因以及如何做好这一转换。 转用一门新语言通常是一项大决策,尤其是当你的团队成员中只有一个使用过它时。今年 Stream 团队的
阅读全文

浙公网安备 33010602011771号