自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(22)
  • 收藏
  • 关注

原创 乐观锁、悲观锁、读写锁、互斥锁之间的关系

乐观锁、悲观锁同一维度的概念,都是从数据访问的角度来说。所以经常出现在数据库相关问题中、即当数据同时被多个对象访问了,应该持什么态度来对数据进行保护悲观锁认为,数据被访问,对方很可能要修改这个数据。所以在此思想的引导下,数据被访问时,不管是读还是写,步步加锁。严格排斥其他对象的访问。乐观锁认为,数据被访问,对方不大可能要修改这个数据。所以在此思想的引导下,一个对象读这个数据,不会排斥其他的访问(包括读和写),只有在自己写的时候,通过cas的方式,确定自己写的时候,没人动过这个数据。有人动过,则取消重

2020-12-10 18:10:52 1973 1

原创 数据库事务的ACID四大特性及脏读,不可重复读,幻读等

数据库事务的ACID四大特性及脏读,不可重复读,幻读等事务(transaction)到底是个啥?transaction有事务、交易的含义,翻译成事务,很难理解。如果理解为交易,就很清楚了。想想如果要完成一笔交易,肯定一手交钱一手交货,这两个行为都得完成,否则交易不成立,钱和货都要归为原主。事务其实就是一系列行为组成的,这些行为要么全部完成,要么全部取消。事物的ACIDA 原子性(Atomicity) 一个事务是一个整体,就像一颗原子不可分割一样,事务里的行为不能单独存在。C

2020-12-10 16:56:57 495

原创 golang中的闭包

什么是闭包?闭包可认为是一种放在特殊位置上的函数。这个位置可能是另一个函数的参数、返回值。go语言支持这种特殊的用法。这种用法也带来一些效果闭包的特性如下函数,是个典型的闭包package mainimport ( "fmt")func test02() func() int { x := 0 fmt.Println("初始化后的自由变量值:", x) return f...

2019-09-25 22:59:04 307

原创 双系统导致 ubuntu提示分区为 只读文件系统

这是因为window的休眠机制导致的。当在window的点击【关机】后,微软为了保证开机速度,实际并没有真正关机,而是进入类似深度休眠的状态。此时即便开机进入ubuntu,ubuntu也没有分区的管理权限。正确方法:进入window——【重启】——进入Ubuntu错误:进入window——【关机】——开机按钮——进入ubuntu...

2019-09-16 22:59:33 905

原创 Lerix的git学习笔记(13)_分支开发工作流设计

分支开发工作流设计分支在开发并不是必要的,传统版本控制软件的分支实现过于低效甚至不被人所用。但是git实现了高效安全的分支功能,我们可以充分利用它,这里介绍几种工作模式,供你更合理的使用分支。长期分支长期分支通常用来接收短期分支的合并内容。也就是短期分支被合并后就会因没有价值而被删除,而长期分支会不断更新。实际开发中,经常会建立多个长期分支,接收不同稳定性的合并内容比如:master分支...

2019-09-16 22:51:56 194

原创 Lerix的git学习笔记(12)_分支管理

分支管理查看所有分支git branch输出 iss53* master*代表当前所在分支查看每个分支的最后一次提交git branch -v查看已合并未删除的分支git branch --merged查看未合并的分支git branch --no-merged删除分支(仅可删除已合并分支)git branch -d test强制删除未合并的分支git...

2019-08-15 04:01:02 114

原创 Lerix的git学习笔记(11)_分支的创建和合并

分支的创建和合并单纯创建一个分支git branch iss53 [<commit id>]可以指定id来从某个节点创建分支。创建分支并切换到那个分支git checkout -b iss53等同于git branch iss53git checkout iss53在新分支上工作并提交新内容后,切换回master分支git checkout master注意...

2019-08-15 04:00:24 246

原创 Lerix的git学习笔记(10)_git 分支介绍

git 分支介绍分支分支是版本管理中的基本概念,简单理解就是从当前的提交路径中,分支出一个新的提交路径。原版本路径继续沿原来的迭代路径进行提交新内容,分支出来的提交路径按自己的节奏,提交新内容。成为一个新的仓库。比如当你开发到一个阶段,需要添加一个新功能需求,但这个新功能可能引起已有功能的不稳定,那你就可以建立一个分支,在分支的基础上进行开发。这样一旦出了问题,并不会影响原主分支的内容。而开...

2019-08-15 03:59:46 227

原创 Lerix的git学习笔记(9)_git别名

git别名可以把常用的git命令通过配置文件设置别名。git config --global alias.co checkoutgit config --global alias.br branchgit config --global alias.ci commitgit config --global alias.st status设置完后git status 可以写成 git ...

2019-08-15 03:59:05 154

原创 Lerix的git学习笔记(8)_git标签

git标签git可以给历史中的某一个提交打上标签,标识其重要的里程碑式的阶段节点。列出标签git tag查看标签git show v1.1创建标签两种类型的标签创建附注标签git tag -a v1.1 -m 'my version 1.1'为上次commit打上附注标签 V1.1,并记录本次操作日志。创建轻量标签git tag v1.1.1为之前的提交打标签...

2019-08-15 03:58:20 127

原创 Lerix的git学习笔记(7)_远程仓库操作

远程仓库操作克隆 git clone https://github.com/schacon/ticgit查看已连接的远程仓库 git remote -v输出结果: origin https://github.com/lerixhe/golang-study.git (fetch) origin https://github.com/lerixhe/golang...

2019-08-15 03:57:27 187

原创 Lerix的git学习笔记(6)_ 操作撤销、版本回退与HEAD指针

操作撤销、版本回退与HEAD指针撤销上次提交并重新提交commitgit commit --amend此选项像是一个追加操作,因为她并不完全撤销上一次的提交信息。把文件从暂存区撤回到未暂存状态git reset HEAD <file>丢弃工作区的修改git checkout -- <file>两种情况:回到暂存区的版本,如果没有暂存过,回到git...

2019-08-15 03:56:39 319

原创 Lerix的git学习笔记(5)_查看提交历史

查看提交历史简单查看需要在对应的工作目录中,使用以下命令;git log如下输出:Author: Lerix <185734549@qq.com> Date: Fri Mar 29 14:13:16 2019 +0800写04章commit 67eab61eb5901940f9ddc0d62475ffd84f5ce521Author: Lerix &l...

2019-08-15 03:55:12 162

原创 Lerix的git学习笔记(4)_工作区的文件状态及转化

工作区的文件状态及转化查看工作目录内的文件状态首先进入到对应的工作目录,使用下面的命令,可查看对应目录的文件状态git status几种状态的解释:untracked files:未跟踪的文件,指本工作目录内未受git版本管理的文件。change to be commited:列出发生更改且进入暂存状态的文件,可随时提交changers not stages for co...

2019-08-15 03:53:16 223

原创 Lerix的git学习笔记(3)_初始化配置(精华)

初始化配置并建立仓库配置用户git config --global user.name "Your Name"git config --global user.email "mail@example.com"配置尾行格式由于windos中使用回车换行CRLF,而linux使用换行LF,必须保持一直才可正确显示。建议window下的设置如下:git config --global co...

2019-08-15 03:52:10 197

原创 Lerix的git学习笔记(2)_安装git

安装git最早Git是在Linux上开发的,很长一段时间内,Git也只能在Linux和Unix系统上跑。不过,慢慢地有人把它移植到了Windows上。现在,Git可以在Linux、Unix、Mac和Windowslinux下安装判断git是否安装gitDebian系列(含ubuntu系列)安装sudo apt-get install git在Mac OS X上安装Git如果你正...

2019-08-15 03:50:20 202

原创 Lerix的git学习笔记(1)_git介绍

git 介绍Git是什么?Git是目前世界上最先进的分布式版本控制系统,由C编写那什么是版本控制系统?版本控制软件提供完备的版本管理功能,用于存储、追踪目录(文件夹)和文件的修改历史,是软件开发者的必备工具,是软件公司的基础设施。——百度百科简而言之:存储、追踪文件和文件夹的修改历史git的特点——Git与SVN的主要差别git在使用上与其他版本控制系统命令形式非常接近,但是在底...

2019-08-15 03:49:09 169

原创 解决“end" and "transfer" are only available for objects of type "address payable", not "address".”

最近写只能合约过程中,使用transfer()函数给某地址转账,结果一直提示这个错误。测试源代码如下:address public addr1 = 0xCA35b7d915458EF540aDe6068dFe2F44E8fa733c;function contrTransfer() public payable{ // transfer函数由被转账方调用,注意把函数设置为pay...

2019-07-13 01:37:23 2059

原创 solidity环境搭建 (下)之VSCode

solidity环境搭建 (下)之VSCode安装solidity和node的插件需要根据自己的IDE,安装对应的插件包。VScode推荐solidity\Solidity Extend插件注意:其实solidity插件安装好后,打开sol文件,直接F5就可实现编译,但是为了了解原理,建议自己写编译脚本而且这里有个大坑(4小时):插件编译后默认输出文件到VScode的工作区的第一个文件夹,...

2019-07-11 22:43:22 8442

原创 solidity环境搭建

# solidity环境搭建solidity环境搭建(上)在线IDE本地环境安装nodejs更换node源为淘宝镜像solidity环境搭建(上)在线IDEhttp://remix.ethereum.org/本地环境安装nodejs建议安装lts版本,这里安装node --versionv10.16.0自带的npm版本npm -v6.9.0更换node源为淘宝镜像...

2019-07-11 22:42:27 1500

原创 使用vscode作为golang开发环境,无法跳转代码定义

最近使用vscode作为go的开发环境,按照IDE的默认提示安装的各项插件,其中一个叫godef的插件用来控制golang的代码定义跳转。用下来发现一个问题,对于go标准库中的函数,都能很好的跳转,但是对于go的内置函数均存在无法跳转的问题。如: new() , make(), close()多方查找资料确认是godef的bug,无解。然而vscode提供切换整套插件的开关,通过开关把god...

2019-04-11 23:03:42 23363 6

原创 csdn的markdown语法

使用vscode作为golang开发环境,无法跳转代码定义新的改变功能快捷键合理的创建标题,有助于目录的生成如何改变文本的样式插入链接与图片如何插入一段漂亮的代码片生成一个适合你的列表创建一个表格设定内容居中、居左、居右SmartyPants创建一个自定义列表如何创建一个注脚注释也是必不可少的KaTeX数学公式新的甘特图功能,丰富你的文章UML 图表FLowchart流程图导出与导入导出导入你...

2019-04-11 22:48:45 713

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除