搭建部署一个轻量级的IBM区块链应用

后面的工作可能会用到区块链,为免到时活找上门来的时候一脸懵,那自然要先了解为好。要想对一个陌生的东西有所了解,相比抱着书本硬啃,我认为还是直接动手,搭一个能看能用能拆的项目来的直观。在搜索资料的过程中,我发现了这个基于区块链的保险应用,一个由IBM推出的基于HyperLedger Fabric的开源项目(项目背景与架构可参见github介绍)。该项目除了有较为完备的区块链应用架构,还有完整的web界面,易于操作理解,对于新入门的学习者比较合适。在此对这个项目的部署过程进行记录。一、Dockerd...阅读全文

简书 2020-08-30 10:32:41 calledbo

变量的基本类型与零值 golang

最佳实践规范 go程序编写规范: 首行命名这个文件属于哪个包 往下再导入其他包 定义常量 定义全局变量 定义结构 定义接口 方法体 基本类型 布尔型,bool,只有两个值,true 和 false,长度为一个字节,和 php 不同可以用 0 和 1 来代表。 整形, int/uint ,根据运行平台的不同可能为 32 位 int 或者 64 位 int。 8 位整形( 1 个字节长度), int8/uint8,取值范围在 2 的 8 次方。还有 16 (长度为2个字节),32(4),64()8。...阅读全文

简书 2020-08-30 10:32:40 与子笑

初探 golang

学习一门语言我认为安装部署可以先跳过,把时间精力放在逻辑上和基础知识点上会更好,部署环境以后再说。 看了几集的视频教程后,我本地已经安装好 go 的运行环境了,也了解了一点点基础知识,几天后回想起来对一些知识点比较模糊,记性不好所以有必要重头学过把各个知识点记录一下。 golang 一共只有 25 个关键字,相比 php 的关键词数量来说,一半都不到。 go 的一般结构通过 package 来组织的,很好理解就是包,如果要用 php 思维来理解的话,可以理解成一个功能类,引入进来就可以用这个包里...阅读全文

简书 2020-08-30 10:32:40 与子笑

golang defer避免资源泄漏

写过c语言的同学都知道,如果稍加不小心,我们就会造成资源内存的泄漏,如果在golang语言中避免这个问题呢?或者说减少资源泄露的可能性?答案就是defer. 在打开资源语句的下一行,就可以直接用 defer语句来注册函数结束后执行关闭资源的操作。比如数据库连接、文件、锁等,这些资源需要在用完之后释放掉,否则会造成内存泄漏。我们就可以在打开之后,使用defer避免资源泄漏。 f, err :=os.Open(filename) if err != nil{ panic(err) } if f !=...阅读全文

简书 2020-08-30 00:32:46 追梦人在路上不断追寻

C++/GoLang 实现 自底向上的归并排序

上一篇文章写了一个自顶向下的归并排序,把一个完整的数组不断二分,然后再合并。其实换一种思路:把数组中相邻的N个元素看成是已经二分好了的,直接进行合并,就省掉了二分那一步骤 自底向上的归并排序示意图 C++实现: template<typename T> void mergeSortButton2Top(T arr[], int n) { for (int size = 1; size <= n; size += size) { for (int i = 0; i+size < n; i+=2*s...阅读全文

简书 2020-08-29 23:32:44 NothingLeft了

HTTPS 原理与小战

HTTPS 原理与小战 实事求是,不敢写实战,还是改成小战吧。 原理 HTTP + SSL (Secure Socket Layer) 一次浏览器访问,当访问 baidu.com 时浏览器自动添加 schema http:// 和 端口 :80。 这个过程它可能会走这样的路线: 操作系统 -> 路由器 -> ISP -> 电信/联通 -> 城市出口 -> 海底光缆 -> ... -> 联通/电信 -> ISP -> 路由器 -> Server,这个过程中的每一个网元都有风险。 这就像本地写了一个...阅读全文

Golang圣经练习题大纲

> 本文参考 [嗨客网](https://haicoder.net) Java [实战](https://haicoder.net/case/index.html) # **前言** 本篇文章给大家安利一些关于 Java 基础的练习题,每道题都附有答案链接,答案解题的每个步骤到运行结果都十分详细,十分适合小白拿来练习,也十分适合准备面试的各位复习下 Java 基础,这篇文章我会不断更新,题目都是对应 Java 基础中的各个知识点,大家在学习了Java 基础之后,做几道相关的练习题,...阅读全文

Go语言中文网 2020-08-29 20:32:16 haicoder_ibai

Golang LeetCode练习题及答案(一)

> 本文参考 [嗨客网](https://haicoder.net) Golang [实战](https://haicoder.net/case/index.html) # **Golang LeetCode练习题及答案(一)** # **前言** 本篇文章是关于一部分 Golang LeetCode 的题目以及详细的解题思路,每道题都附有答案链接,答案解题的每个步骤到运行结果都十分详细,十分适合小白拿来练习,也十分适合准备面试的各位练手,这篇文章我会不断更新。题目都是对应 ...阅读全文

Go语言中文网 2020-08-29 18:58:18 haicoder_ibai

Golang赫夫曼树及其编码

赫夫曼树 在树这种数据结构中,从树中的一个结点到另一个结点之间的分支构成这两个结点之间的路径,路径上分支的数目叫做路径长度,从根结点到每个结点的路径长度之和叫做树的路径长度。如果一个结点带有权重,则路径长度和该结点权重的乘积叫做该结点的带权路径长度(WPL),一棵树的带权路径长度为树中所有叶子结点的带权路径长度之和。 赫夫曼树(霍夫曼树),又称最优树或者最优二叉树。假设有n个权值{, ,...,},通过这n个权值构造n个结点,每个结点的权值为(1<=i<=n),然后以这n个结点为叶子结点构造一棵...阅读全文

简书 2020-08-29 17:32:42 心中的日月_pyihe

css字体通用反爬

css字体反爬通用方案 在爬大众点评的时候 我们也许会遇到下面这种情况, 我们看到的信息明明是正确的,爬虫拿下来就是乱码了 我们打开开发者模式 image.png 发现源码就是乱码的 查看css image.png 我们把这个css style取消 image.png 这下问题找到了 是css 使用的font文件做了手脚. 将字符的对应font文字图像成正确的信息 image.png 从上图看 就是在字体文件内  的字体就是工(字体图像) 找到问题了, 我们现在用golang读取字体文件 读取...阅读全文

简书 2020-08-29 16:32:49 ArtioL

从最近的面试中学到了什么

面试经过 我第一场面试是面试的斗鱼,挺紧张的,不知道会面试我什么内容,后面面试完就释然了,听hr说面试官说很肯定我的技术,我还因此沾沾自喜。也没对那些问到我不会的东西去熟悉学习。同一天下午是腾讯面试,面试官一上来就是五道面试题,但是当时太紧张了,感觉自己表现不好。但是面试还是过了。 刚开始面试的节奏挺紧的,也都过了,腾讯三面也进入评估了,但是因为还有其他人对比评估,后边被刷掉了,说是工作经验的问题,因为大部分都是三年工作之后跳槽,我工作两年也挺吃亏的,就被刷了。后面hr帮我推给了其他部门,但是那...阅读全文

简书 2020-08-29 16:32:40 yellowone

大学到毕业两年的现在

毕业后一直在火烈鸟上班,上班节奏还是很空闲的,就有时间去学东西看书。但是根据学生时代的经验,光学不考试的话,很难对自己的不足有认知,不知道自己的不足就难进步。加上最近,因为经济上的压力,也想谋求更好地发展,开始了面试。 7月8号是我近年来第一次面试,到现在8月28号,被面试了十几轮了,面试了斗鱼(三面),金山(珠海三面,广州一面,另一个部门两面),腾讯(四面),YY(一面),主要还是哪个hr找了我,我就去面面试试看,从一开始还挺紧张,到现在也享受被面试的感觉了。 然后开始回想自己的成长经历,感觉...阅读全文

简书 2020-08-29 16:32:40 yellowone

Golang标准库CHM格式文档

&emsp;&emsp;上手Go后,想熟悉golang标准库来做一些项目。在学习和使用golang标准库的时候,发现golang标准库文档不太友好。主要是导航区域和内容区域无法同屏浏览,在包和包间、包内不同对象间来回切换的时候效率比较低下。在官网上也没找到像MSDN和Python Manuals这样的CHM格式库文档。 &emsp;&emsp;于是有了下面这个项目:爬取golang官方标准库文档生成CHM格式的电子书。 &nbsp; **1、主要解决的问题:** -...阅读全文

Go语言中文网 2020-08-29 08:28:58 chenyifa

关于Golang的那些事(二) -- 变量与声明

关于变量名: 和Node.js一样,给变量起名需要保证第一个字符为字母或者下划线,后面可以跟任意数量的字符、数字和下划线,并且大小写敏感,Go也有它自己的关键字,这些关键字不能用作变量名,否则系统无法识别它是变量名还是有特殊的意义的,具体的关键字可以参考官方文档:https://golang.org/ref/spec#Keywords,在风格上,和Node.js推荐的风格一致,都是使用驼峰写法,也就是第一个单词都是小写,后面的单词第一个字母大写,其他字母小写,而不是采取很古老的蛇形写法,蛇形写法...阅读全文

简书 2020-08-28 23:32:40 llkevin13579

golang 单元测试框架实践

一、简介日常开发中, 测试是不能缺少的,每次手动测试非常费时费力,通过单元测试可以达到一次实现多次利用;单元测试主要是通过模拟业务中的参数,调用我们的函数,然后获取执行结果,再判断结果是否符合规则;同时还可以对某一个方法进行性能分析在Go 标准库中有一个叫做 testing 的测试框架, 可以用于单元测试和性能测试. 它是和命令 go test 集成使用的,测试文件是以后缀 _test.go 命名的, 通常和被测试的文件放在同一个包中.规则:单元测试代码的go文件必须以_test.go结尾,Go...阅读全文

Segmentfault 2020-09-02 15:32:34 汤青松

golang 单元测试框架实践

一、简介 日常开发中, 测试是不能缺少的,每次手动测试非常费时费力,通过单元测试可以达到一次实现多次利用; 单元测试主要是通过模拟业务中的参数,调用我们的函数,然后获取执行结果,再判断结果是否符合规则;同时还可以对某一个方法进行性能分析 在Go 标准库中有一个叫做 testing 的测试框架, 可以用于单元测试和性能测试. 它是和命令 go test 集成使用的,测试文件是以后缀 _test.go 命名的, 通常和被测试的文件放在同一个包中. 规则: 单元测试代码的go文件必须以_test.go...阅读全文

简书 2020-08-28 22:32:42 汤青松daxia

linux c编程之高效线程池如何实现无琐化

大多数线程池实现都离不开锁的使用,如互斥量pthread_mutex*结合条件变量pthread_cond*。众所周知,锁的使用对于程序性能影响较大,虽然现有的pthread_mutex*在锁的申请与释放方面做了较大的优化,但是,线程池的实现是可以做到无锁化的。1.常见线程池实现原理 如上图所示,工作队列由主线程和工作者线程共享,主线程将任务放进工作队列,工作者线程从工作队列中取出任务执行。共享工作队列的操作需在互斥量的保护下安全进行,主线程将任务放进工作队列时若检测到当前待执行的工作数目小于工...阅读全文

简书 2020-08-28 20:32:41 linux大本营

golang 关于字符串转json struct 时 空值和0值的坑

直接上代码 //查询订单返回详情 type productResult struct { Kid string `json:"kind,omitempty"` //这种类型表示androidpublisher服务中的inappPurchase对象。 PurchaseTimeMillis string `json:"purchaseTimeMillis,omitempty"` //产品购买的时间毫秒数 PurchaseState int `json:"purchaseState,omitempty...阅读全文

简书 2020-08-28 19:32:39 顶尖少爷