自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(75)
  • 资源 (2)
  • 收藏
  • 关注

原创 Linux下Docker安装SonarQube(PostgreSQL)

1.安装Postgresql1.1 下载 PostgreSQL镜像docker pull postgres1.2 启动容器docker run -d -p 5432:5432 -v /data/postgres:/var/lib/postgresql/data -e POSTGRES_PASSWORD=123456 -e ALLOW_IP_RANGE=0.0.0.0/0 --name postgres postgres参数说明:POSTGRES_PASSWORD 是数据库初始密码ALLOW

2021-07-02 12:13:21 1520 4

原创 Linux安装MySQL5.7(详细而简单)

vim /etc/yum.repos.d/mysql-community.repo将以下代码复制进去# Enable to use MySQL 5.7[mysql57-community]name=MySQL 5.7 Community Serverbaseurl=http://repo.mysql.com/yum/mysql-5.7-community/el/7/$basearch/enabled=1gpgcheck=0gpgkey=file:///etc/pki/rpm-gpg/R..

2020-07-19 06:32:20 520 1

原创 RabbitMQ的安装和使用(Linux)

1. 安装相关依赖 yum -y install make gcc gcc-c++ kernel-devel m4 ncurses-devel openssl-devel注意:进行下面步骤之前一定要做的事情登陆RabbitMQ官网查询erlang与rabbitmq匹配版本版本一定要匹配!!!版本一定要匹配!!!版本一定要匹配!!!2. 安装Erlang下载 wget http://erlang.org/download/otp_src_21.3.tar.gz 解压 ta

2020-07-19 00:45:57 469 1

原创 打印从1到最大的n位数(Golang)《剑指offer》

题目描述题目:输入数字n,按顺序打印从1到最大的n位十进制数。比如输入3,则打印出1,2,3一直到最大的3位数999。func Print1ToMaxOfDigits(n int) { if n <= 0 { return } number := make([]int, n) for i := 0; i < 10; i++ { number[0] = i pr...

2019-09-22 19:59:17 526

原创 旋转数组的最小数字(Golang)《剑指offer》

题目描述:题目:把一个数组最开始的若干个元素搬到数组的末尾,我们称之为数组的旋转。输入一个递增排序的数组的一个旋转,输出旋转数组的最小元素。例如:数组{3,4,5,1,2}为{1,2,3,4,5}的一个旋转,该数组的最小值为1。注意:本题中应充分考虑特殊情况func finMinNum(nums []int) int { if len(nums) == 0 { return -1 ...

2019-08-02 17:33:43 349

原创 重建二叉树(Golang)《剑指offer》

题目描述:输入某个二叉树的前序遍历和中序遍历的结果,请重建该二叉树。假设输入的前序遍历和中序遍历的结果中都不含重复的数字。例如:输入前序遍历序列{1,2,4,7,3,5,6,8}和中序遍历序列{4,7,2,1,5,3,8,6},则重建如图所示的二叉树并输出它的头节点。主要代码如下:type BinaryTreeNode struct { Value int LeftNode...

2019-07-20 18:32:06 549

原创 LeetCode 128. 最长连续序列(Golang)

给定一个未排序的整数数组,找出最长连续序列的长度。要求算法的时间复杂度为 O(n)。示例:输入: [100, 4, 200, 1, 3, 2]输出: 4解释: 最长连续序列是 [1, 2, 3, 4]。它的长度为 4。func longestConsecutive(nums []int) int { if len(nums) <= 1 { return len(nums)...

2019-07-11 10:42:57 474

原创 EKT搭建私链

1.首先,打开终端,将目录切换到EKT路径下,输入命令make,此命令会编译EKT项目cmd包下的两个main.go文件2.编译完成之后,会在EKT目录下产生一个bin目录,将路径切换到bin目录中,新建一个创世区块文件genesis.json,内容类似下面这样{ "version": "v2.0", //版本号 "dbPath": "db/", //数据库路径 ...

2019-01-02 22:41:09 1450

原创 LeetCode 234. 回文链表(Golang)

请判断一个链表是否为回文链表。示例 1:输入: 1-&gt;2输出: false示例 2:输入: 1-&gt;2-&gt;2-&gt;1输出: true进阶:你能否用 O(n) 时间复杂度和 O(1) 空间复杂度解决此题?思路:遍历链表,将所有节点按顺序存储到map集合中,通过map的键从两头开始遍历对比,值不相等返回false。func isPalindrome(head...

2018-11-06 22:10:48 503

原创 LeetCode 17. 电话号码的字母组合(Golang)

给定一个仅包含数字 2-9 的字符串,返回所有它能表示的字母组合。给出数字到字母的映射如下(与电话按键相同)。注意 1 不对应任何字母。示例:输入:&amp;quot;23&amp;quot;输出:[&amp;quot;ad&amp;quot;, &amp;quot;ae&amp;quot;, &amp;quot;af&amp;quot;, &amp;quot;bd&amp;quot;, &amp;quot;b

2018-10-29 22:02:53 629

原创 LeetCode 11. 盛最多水的容器(Golang)

给定 n 个非负整数a1,a2,...,an,每个数代表坐标中的一个点 (i, ai) 。在坐标内画 n 条垂直线,垂直线 i 的两个端点分别为 (i, ai) 和 (i, 0)。找出其中的两条线,使得它们与 x 轴共同构成的容器可以容纳最多的水。说明:你不能倾斜容器,且 n 的值至少为 2。图中垂直线代表输入数组 [1,8,6,2,5,4,8,3,7]。在此情况下,容器能够容纳水(表示为蓝...

2018-10-29 22:00:13 359

原创 LeetCode 8. 字符串转整数 (atoi)(Golang)

实现 atoi,将字符串转为整数。该函数首先根据需要丢弃任意多的空格字符,直到找到第一个非空格字符为止。如果第一个非空字符是正号或负号,选取该符号,并将其与后面尽可能多的连续的数字组合起来,这部分字符即为整数的值。如果第一个非空字符是数字,则直接将其与之后连续的数字字符组合起来,形成整数。字符串可以在形成整数的字符后面包括多余的字符,这些字符可以被忽略,它们对于函数没有影响。当字符串中的第一...

2018-10-29 21:56:19 991

原创 LeetCode 628. 三个数的最大乘积(Golang)

给定一个整型数组,在数组中找出由三个数组成的最大乘积,并输出这个乘积。示例 1:输入: [1,2,3]输出: 6示例 2:输入: [1,2,3,4]输出: 24注意:1.给定的整型数组长度范围是[3,104],数组中所有的元素范围是[-1000, 1000]。2.输入的数组中任意三个数的乘积不会超出32位有符号整数的范围。func maximumProduct(nums ...

2018-10-22 21:41:16 305

原创 LeetCode 441. 排列硬币(Golang)

你总共有 n 枚硬币,你需要将它们摆成一个阶梯形状,第 k 行就必须正好有 k 枚硬币。给定一个数字 n,找出可形成完整阶梯行的总行数。n 是一个非负整数,并且在32位有符号整型的范围内。示例 1:n = 5硬币可排列成以下几行:¤¤ ¤¤ ¤因为第三行不完整,所以返回2.示例 2:n = 8硬币可排列成以下几行:¤¤ ¤¤ ¤ ¤¤ ¤因为第四行不完整...

2018-10-22 21:37:36 272

原创 LeetCode 258. 各位相加(Golang)

给定一个非负整数 num,反复将各个位上的数字相加,直到结果为一位数。示例:输入: 38输出: 2 解释: 各位相加的过程为:3 + 8 = 11, 1 + 1 = 2。 由于 2 是一位数,所以返回 2。进阶:你可以不使用循环或者递归,且在 O(1) 时间复杂度内解决这个问题吗?func addDigits(num int) int { for num &amp;gt; 9 { s...

2018-10-22 21:34:00 283

原创 LeetCode 19. 删除链表的倒数第N个节点(Golang)

给定一个链表,删除链表的倒数第 n 个节点,并且返回链表的头结点。示例:给定一个链表: 1-&gt;2-&gt;3-&gt;4-&gt;5, 和 n = 2.当删除了倒数第二个节点后,链表变为 1-&gt;2-&gt;3-&gt;5.说明:给定的 n 保证是有效的。进阶:你能尝试使用一趟扫描实现吗?/** * Definition for singly-linked list...

2018-10-15 19:16:48 906

原创 LeetCode 414. 第三大的数(Golang)

给定一个非空数组,返回此数组中第三大的数。如果不存在,则返回数组中最大的数。要求算法时间复杂度必须是O(n)。示例 1:输入: [3, 2, 1]输出: 1解释: 第三大的数是 1.示例 2:输入: [1, 2]输出: 2解释: 第三大的数不存在, 所以返回最大的数 2 .示例 3:输入: [2, 2, 3, 1]输出: 1解释: 注意,要求返回第三大的数,...

2018-10-13 18:26:50 255

原创 LeetCode 338. 比特位计数(Golang)

给定一个非负整数 num。对于 0 ≤ i ≤ num 范围中的每个数字 i ,计算其二进制数中的 1 的数目并将它们作为数组返回。示例 1:输入: 2输出: [0,1,1]示例 2:输入: 5输出: [0,1,1,2,1,2]进阶:给出时间复杂度为O(n*sizeof(integer))的解答非常容易。但你可以在线性时间O(n)内用一趟扫描做到吗?要求算法的空间复杂度为O...

2018-10-11 23:13:05 348

原创 LeetCode 104. 二叉树的最大深度(Golang)

给定一个二叉树,找出其最大深度。二叉树的深度为根节点到最远叶子节点的最长路径上的节点数。说明: 叶子节点是指没有子节点的节点。示例:给定二叉树 [3,9,20,null,null,15,7], 3 / \ 9 20 / \ 15 7返回它的最大深度 3 。/** * Definition for a binary tree node. * ...

2018-10-11 23:07:22 379

原创 LeetCode 83. 删除排序链表中的重复元素(Golang)

给定一个排序链表,删除所有重复的元素,使得每个元素只出现一次。示例 1:输入: 1-&amp;gt;1-&amp;gt;2输出: 1-&amp;gt;2示例 2:输入: 1-&amp;gt;1-&amp;gt;2-&amp;gt;3-&amp;gt;3输出: 1-&amp;gt;2-&amp;gt;3/** * Definition for singly-linked list. * type

2018-10-11 23:05:13 363

原创 LeetCode 82. 删除排序链表中的重复元素 II(Golang)

给定一个排序链表,删除所有含有重复数字的节点,只保留原始链表中 没有重复出现 的数字。示例 1:输入: 1-&amp;gt;2-&amp;gt;3-&amp;gt;3-&amp;gt;4-&amp;gt;4-&amp;gt;5输出: 1-&amp;gt;2-&amp;gt;5示例 2:输入: 1-&amp;gt;1-&amp;gt;1-&amp;gt;2-&amp;gt;3输出: 2-

2018-10-11 23:02:45 374

原创 LeetCode 80. 删除排序数组中的重复项 II(Golang)

给定一个排序数组,你需要在原地删除重复出现的元素,使得每个元素最多出现两次,返回移除后数组的新长度。不要使用额外的数组空间,你必须在原地修改输入数组并在使用 O(1) 额外空间的条件下完成。示例 1:给定 nums = [1,1,1,2,2,3],函数应返回新长度 length = 5, 并且原数组的前五个元素被修改为 1, 1, 2, 2, 3 。你不需要考虑数组中超出新长度后面的...

2018-10-11 23:00:56 475

原创 LeetCode 21. 合并两个有序链表(Golang)

将两个有序链表合并为一个新的有序链表并返回。新链表是通过拼接给定的两个链表的所有节点组成的。示例:输入:1-&amp;gt;2-&amp;gt;4, 1-&amp;gt;3-&amp;gt;4输出:1-&amp;gt;1-&amp;gt;2-&amp;gt;3-&amp;gt;4-&amp;gt;4/** * Definition for singly-linked list. * type ListNode

2018-10-11 22:57:09 1551

原创 LeetCode 20. 有效的括号(Golang)

给定一个只包括 ‘(’,’)’,’{’,’}’,’[’,’]’ 的字符串,判断字符串是否有效。有效字符串需满足:左括号必须用相同类型的右括号闭合。左括号必须以正确的顺序闭合。注意空字符串可被认为是有效字符串。示例 1:输入: &quot;()&quot;输出: true示例 2:输入: &quot;()[]{}&quot;输出: true示例 3:输入: &quot;(]&quot;输出: false

2018-10-11 22:54:58 857 4

原创 LeetCode 9. 回文数(Golang)

判断一个整数是否是回文数。回文数是指正序(从左向右)和倒序(从右向左)读都是一样的整数。示例 1:输入: 121输出: true示例 2:输入: -121输出: false解释: 从左向右读, 为 -121 。 从右向左读, 为 121- 。因此它不是一个回文数。示例 3:输入: 10输出: false解释: 从右向左读, 为 01 。因此它不是一个回文数。进阶:你...

2018-10-11 22:52:12 434

原创 LeetCode 7. 反转整数(Golang)

给定一个 32 位有符号整数,将整数中的数字进行反转。示例 1:输入: 123输出: 321示例 2:输入: -123输出: -321示例 3:输入: 120输出: 21注意:假设我们的环境只能存储 32 位有符号整数,其数值范围是 [−231, 231 − 1]。根据这个假设,如果反转后的整数溢出,则返回 0。func reverse(x int) int { ...

2018-10-11 22:49:09 642

原创 LeetCode 2. 两数相加(Golang)

给定两个非空链表来表示两个非负整数。位数按照逆序方式存储,它们的每个节点只存储单个数字。将两数相加返回一个新的链表。你可以假设除了数字 0 之外,这两个数字都不会以零开头。示例: 输入:(2 -&amp;amp;gt; 4 -&amp;amp;gt; 3) + (5 -&amp;amp;gt; 6 -&amp;amp;gt; 4) 输出:7 -&amp;amp;gt; 0 -&amp;amp;gt; 8 原因:342 + 465 = 807

2018-10-11 22:40:48 525

原创 Solidity智能合约案例——投票存在的问题

通过对Solidity官方文档的学习,发现投票案例代码有些不够严谨,简要做以下说明。1. 调用者问题在vote函数中,如果是一个没有投票权的地址(假设A地址)调用了vote 函数,代码也能顺利执行。 首先,A地址虽然没有被chairperson 赋予投票权,但是代码也能正常获取Voter 对象sender ,只不过sender的所有属性值是对应类型的默认值,函数可以继续执行。表1 ...

2018-08-12 17:16:28 1286 1

原创 Ubuntu命令卸载软件

1.打开一个终端,输入dpkg --list ,按下Enter键,终端输出以下内容,显示的是你电脑上安装的所有软件。 2.在终端中找到你需要卸载的软件的名称,列表是按照首字母排序的。 3.在终端上输入命令sudo apt-get --purge remove 包名(--purge是可选项,写上这个属性是将软件及其配置文件一并删除,如不需要删除配置文件,可执行sudo apt-get r...

2018-07-01 20:31:06 280350 24

原创 HyperLedger Fabric - 超级账本(10)简单的资产链码(chaincode)

应用程序是一个基本样本链代码,用于在分类账上创建资产安装Go及Docker, Docker-compose, 并配置Go相应的环境变量创建目录为chaincode应用程序创建一个目录作为其子目录$ mkdir -p $GOPATH/src/test $ cd $GOPATH/src/test新建文件新建一个文件,用于编写Go代码$ touch test.g...

2018-06-26 12:46:25 1642

原创 HyperLedger Fabric - 超级账本(9)区块链应用开发

简介数字货币曾是区块链技术的唯一应用场景对智能合约的支持突破了场景限制, 丰富了区块链应用的适用范围, 可以支持多行业、大规模的商业应用区块链应用区块链应用: 一般由若干部署在区块链网络中的智能合约, 以及调用这些智能合约的应用程序组成用户专注于与业务本身相关的应用程序智能合约则封装了与区块链账本直接交互的相关过程, 被应用程序调用智能合约开发智能合约本质...

2018-06-26 11:45:52 1946

原创 HyperLedger Fabric - 超级账本(8)Node测试

node测试关闭网络$ sudo ./byfn.sh -m down进入到fabric-samples/fabcar目录中$ cd ../fabcar/$ ls 如果是完整的环境,目录中应该包含如下文件: enrollAdmin.js invoke.js package.json query.js registerUser.j...

2018-06-26 11:42:27 910

原创 HyperLedger Fabric - 超级账本(7)Fabric CA 应用与配置

简介Fabric CA项目是超级账本Fabric内的MemberService组件, 对网络内各个实体的身份证书的管理, 主要实现:负责Fabric网络内所有实体(Identity)的身份管理, 包括身份的注册、注销等负责证书管理, 包括ECerts(身份证书)、TCerts(交易证书)等的发放和注销服务端支持基于客户端命令行的RESTful API的交互方式Fabric CA...

2018-06-25 16:13:17 2415 2

原创 HyperLedger Fabric - 超级账本(6)转换配置&添加组织到channel

configtxlator转换配置/添加Org组织到channel设置环境进入到fabric-samples/first-network目录中, 执行.byfn.sh -m down关闭网络,清理之前的任何环境$ cd $HOME/hyfa/fabric-samples/first-network/$ sudo ./byfn.sh -m down重新生成默认的BYFN构件...

2018-06-25 08:39:54 5511

原创 HyperLedger Fabric - 超级账本(5)使用多通道

使用多通道$ cd ~/hyfa/fabric-samples/chaincode-docker-devmode$ sudo docker-compose -f docker-compose-simple.yaml down $ cd ../first-network创建一个应用通道的配置交易务必替换$CHANNEL_NAME或设置CHANNEL_NAME为可在整个...

2018-06-22 11:29:07 2624

原创 HyperLedger Fabric - 超级账本(4)链码的概念与使用

概念:Chaincode: 链上代码, 简称链码, 一般是指用户编写的应用代码链码被部署在Fabric网络节点上, ​ Peer 节点​ – 背书节点​ – commit节点​ – Leader节点​ – 锚节点运行在隔离沙盒(当前为Docker容器)中, 并通过gRPC协议与相应的Peer节点进行交互, 以操...

2018-06-22 11:26:11 3305 2

原创 HyperLedger Fabric - 超级账本(3)测试链码

测试链码确定进入CLI容器中$ sudo docker exec -it cli bashPeer加入应用通道后, 可以执行链码相关操作,进行测试链码在调用之前, 必须先经过安装和实例化两个步骤, 部署到Peer节点上.检查环境变量是否正确设置echo $CHANNEL_NAME设置环境变量export CHANNEL_NAME=mychannel...

2018-06-22 11:13:03 1105

原创 HyperLedger Fabric - 超级账本(2.2)启动网络 - 手动

启动网络手动实现实现步骤生成组织关系和身份证书确定是在 fabric-samples/first-network 路径下$ cd hyfa/fabric-samples/first-network/为fabric网络生成指定拓扑结构的组织关系和身份证书$ sudo ../bin/cryptogen generate --config=./crypto-c...

2018-06-20 17:11:47 1829

原创 HyperLedger Fabric - 超级账本(2.1)启动网络 - 自动

进入对应目录$ cd fabric-samples/first-network在first-network目录下有两个自动化脚本byfn.sh和eyfn.sh, 这两个脚本的启动顺序是先执行byfn.sh再执行eyfn.sh(eyfn.sh不是必须的,eyfn.sh的作用稍后介绍)查看帮助信息:$ ./byfn.sh --helpup:启动down:清除网络restart:...

2018-06-20 11:16:31 1123

原创 HyperLedger Fabric - 超级账本(1)环境搭建

环境搭建快速入门: http://hyperledger-fabric.readthedocs.io/en/release-1.1/getting_started.html前提安装git$ sudo apt update$ sudo apt install git安装curl$ sudo apt install curl安装vim$ ...

2018-06-19 11:19:56 1354

Kademlia算法

此文档是以太坊P2P(Peer to Peer)算法的理论介绍,有助于读者更好地理解以太坊的P2P机制与原理。

2018-08-07

C#网络应用编程(第3版)习题答案

C#网络应用编程(第3版)习题答案,本资源与C#网络应用编程(第3版)课本完全对应!

2018-04-04

空空如也

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

TA关注的人

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