自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

qiubingcsdn的博客

植根于内心的修养 无需提醒的自觉 以约束为前提的自由 以及为他人着想的善良

  • 博客(154)
  • 资源 (1)
  • 问答 (2)
  • 收藏
  • 关注

原创 cobra 开启自动补全功能

cobra 开启自动补全功能因工作原因,需要将一个由 cobra 写的命令行工具,支持在 bash 和 zsh 环境开启命令行自动补全功能。网上搜了一圈,大部分都是把 cobra github 的介绍翻译一下就完了。而且没有对命令行补全的功能进行讲解。所以就写一篇文章补充一下。cobra 基础:不单独介绍,网络很多的,也可以参考 Golang之使用Cobra前提初始化 cobra 项目:mkdir sulenn-cobra && cobra init --pkg-name

2020-07-05 18:49:41 2359

原创 设计模式 - 简单工厂 - go语言实现

定义:在创建一个对象时不向客户暴露内部细节,并提供一个创建对象的通用接口。类图:简单工厂把实例化的操作单独放到一个类中,这个类就成为简单工厂类,让简单工厂类来决定应该用哪个具体子类来实例化。这样做能把客户类和具体子类的实现解耦,客户类不再需要知道有哪些子类以及应当实例化哪个子类。客户类往往有多个,如果不使用简单工厂,那么所有的客户类都要知道所有子类的细节。而且一旦子类发生改变,例如增加子类,那...

2020-03-31 18:17:01 299

原创 设计模式 -观察者 - go语言实现

作用:定义对象之间的一对多依赖,当一个对象状态改变时,它的所有依赖都会收到通知并且自动更新状态。主题(Subject)是被观察的对象,而其所有依赖者(Observer)称为观察者。类图:主题(Subject)具有注册和移除观察者、并通知所有观察者的功能,主题是通过维护一张观察者列表来实现这些操作的。观察者(Observer)的注册功能需要调用主题的 registerObserver() 方...

2020-03-30 22:03:53 344

原创 设计模式 - 责任链 - go语言实现

责任链:使多个对象都有机会处理请求,从而避免请求的发送者和接收者之间的耦合关系。将这些对象连成一条链,并沿着这条链发送该请求,直到有一个对象处理它为止。案例:在main中实例化责任链对象,责任链对象根据传入类型进行判断,如果是“1”则由自己处理。如果是其它,且责任链对象中存在下一个对象,则由下一个对象处理。package mainimport "fmt"type Handler in...

2020-03-30 16:21:44 364

原创 go语言反转字符串

今天做笔试题。有一道coding是反转字符串。以为是送分题,但是用go语言只ac了80%,于是记录一下。题目:反转一个给定的字符串并输出错误coding(只考虑了8位的编码形式,如中文的字符串输入就没有考虑):package main/** * 反转字符串,输入Douyu,输出uyuoD * @param str string字符串 任意字符串 * @return string字符...

2020-03-22 17:53:10 1458 1

原创 牛客网做算法题时go语言读取标准输入的方法

最近由于面试需要使用牛客网的 OJ 系统,感觉特别不习惯。之前都是在 leetcode 上做算法题,所以对需要自己处理输入输出的方式特别不熟悉,捣鼓了好一小会。这里做一个小记录,也是一个分享吧。算法题demo:a+b每行包含两个整数a和b对于每行输入对应输出一行a和b的和输入1 5输出6方法一:使用fmt.Scan按空格读取fmt.Scan 只识别空格,同时会将换行判...

2020-03-15 20:54:51 3483 1

原创 记录 go 协程和 channel 中有意思的一个问题

首先观察以下代码,判断输出内容或是否报错:package mainimport "fmt"func main() { var ch chan int var count int go func() { ch <- 1 }() go func() { count++ close(ch) }() <-ch fmt.Println(count)}该...

2020-03-08 09:46:23 197

原创 go语言去除字符串尾部所有空格

刷 leetcode 的一个算法题。https://leetcode-cn.com/contest/weekly-contest-172/problems/print-words-vertically/. 要求只删除字符串尾部的所有字符串. google 只搜出通过 strings.Trim() 方法删除前后空格或者删除字符串前边和后边的固定子字符串。方法,从字符串后端开始计算空格数量,然后用切...

2020-01-26 10:07:47 3944

原创 testfixtures 简介

写测试用例的, github 地址: go-testfixtures/testfixtures用于 go 语言开发 web 网站, 针对 SQL 数据库编写轻松的测试用例思想源于 “Ruby on Rails”, 示例数据保存在 Fixture 文件夹中. 在执行测试之前,先清理测试数据库,同时将示例数据加载到数据库中.该方法针对真实的数据库运行测试,而不是只依赖于模拟. 因为模拟的方式可能...

2020-01-17 10:44:06 1086

原创 Libravatar简介

Libravatar是一款用于进行联合头像托管的免费软件使用场景: 如果你有一张图像,在各个平台网站上大量使用。你希望博客评论,状态更新,git提交或公开进行的其他任何需要使用图片的操作都使用这张图像。但是如果每一个平台都需要上传该图像显然很浪费时间. 而 Gravar 可以做到上传一次图片,然后其它网站轻松的访问它. Libravatar 则是基于该理念.具体如何操作可以参考:https:/...

2020-01-16 16:04:04 691

转载 fabric 中 peer 和 couch 容器内部数据存放目录地址

peer container:/var/hyperledger/productioncouch container:/opt/couchdb/data参考:fabric数据持久化

2020-01-11 09:54:55 570

原创 Web hooks/web 钩子详解

webhook是在特定情况下触发的一种api(回调),用于在项目发生相关事件时通知外部服务器。这些回调由第三方的用户、开发人员自己定义、维护、管理,就好像允许别人挂载一条网线到你的Web网站或者应用程序的钩子上,来实时地收到你的推送信息比方说我的网站有一个api http://dev.lovelucy.info/incoming,负责接受一个 Post 请求。每次有push 事件时 GitHub...

2020-01-11 09:49:51 3668

原创 火焰图片和视频数据集

火焰图片数量共:3203张火焰视频数量共:9个所有数据集已托管至 github:https://github.com/sulenn/fire-dataset

2020-01-06 18:22:52 4953 1

原创 从源码安装 gitea,页面初始配置时出现“数据库设置无效: Error 1049: Unknown database 'gitea' ”错误

从源码安装 gitea。参考从源代码安装系统:ubuntu 18.04问题:当通过http://0.0.0.0:3000/install 进入到初始配置页面,输入用户名、数据库用户密码和数据库名称之后回车,出现错误 数据库设置无效: Error 1049: Unknown database 'gitea'解决方法:进入 mysql,手动创建一个名为 gitea 的数据库。create da...

2020-01-03 22:38:08 2674 1

转载 fabric 中 peer 和 couch 容器中网络和数据存放目录地址

peer container:/var/hyperledger/productioncouch container:/opt/couchdb/data参考:fabric数据持久化

2019-11-20 11:10:23 505

翻译 翻译 - Proof of Previous Transactions (PoPT): An Efficient Approach to Consensus for JCLedger

Proof of Previous Transactions (PoPT): An Efficient Approach to Consensus for JCLedgerAbstractJCLedger 是基于区块链的分布式账本,用于 JointCloud,可以提高不同云之间交换资源的可靠性和便利性。其实现最大的挑战是共识机制。现存的共识机制,如:PoW 和 Pos,需要大量的计算资源,且低...

2019-10-14 16:05:35 647

原创 aliyun 部署 fabric chaincode 后出错 fatal error: unexpected signal during runtime execution

错误描述:阿里云部署 fabric 网络,实例化 chaincode 中有一段代码逻辑需要用到 http.post 和服务器进行通信。该段代码会出现随机性崩溃,崩溃导致 chaincode container 直接退出。问题分析:aliyun 服务器软件网络配置导致 go 语言的DNS解析出现问题。解决方案:修改自己阿里云ecs机器里面的 /etc/resolv.conf,把里面的 opti...

2019-10-05 20:50:14 5754 1

原创 geth 中 miner 模块 - unconfirmed_test 测试文件详解

unconfirmed_test 详解这是一个测试文件,主要用来测试 unconfirmed.go 中的相关功能。本篇需要先对 unconfirmed.go 文件中的源码内容有一定的了解还是按照老套路来解析(源码从上到下)当前源码版本为:1.9.0-unstable//首先是 noopChainRetriever 空结构体的类型定义,在不增加多余内存的目的下实现 unconfirmed.g...

2019-05-28 17:04:15 514

原创 geth 中 miner 模块 - unconfirmed 文件详解

unconfirmed 详解如文件名所描述的一样,该文件用于描述存储本地节点挖掘出来的尚未被全网所确认的区块。判断一个区块被全网确认的方法是,最新的区块链中包含该区块,并且该区块后面至少连接了 7 个区块。所有的 unconfirmed 区块会被放入一个环形链表中,一旦被确认就会从链表中剔除。此外,如果最终发现一个区块既不在区块链中,也不在区块链中区块的叔块中,那么该区块也会从环形链表中剔除。...

2019-05-28 16:05:42 500

原创 本地自动化编译、部署和调用智能合约

本地自动化编译、部署和调用智能合约因为师门工作需要,我必须完成如题所示的相关工作。但是在网上搜了半天,确发现没有一个博文完全贴合我的需求。要么是内容不全,要么是手动编译、部署和调用智能合约。于是只能自己慢慢摸索,在遇到 n 多坑,排了 n 多雷之后,终于成功了。遂向大家分享一下经验,有需自取。欢迎打扰、讨论。(补充:如有大牛,请自行绕过…)1. 环境要求具体环境如何安装,请 google,小...

2019-04-30 09:19:22 1191

原创 ubuntu18.04 设置开机启动脚本,自动打开应用程序

设置开机启动脚本终端中执行:gnome-session-properties弹出 启动应用程序首选项 菜单填入名称和命令最后重启系统即可参考:ubuntu18.04设置开机自启动程序...

2019-03-27 10:32:13 5041

转载 文件系统根目录上磁盘空间不足 - ubuntu日志清理

由于ubuntu日志文件syslog 和 kern.log 时刻在增长,一会儿就使得根目录文件夹不够用了,需使用如下命令清理sudo -iecho > /var/log/syslogecho > /var/log/kern.log转载至:https://www.cnblogs.com/aituming/p/4603454.html...

2019-03-24 13:23:56 7703 1

原创 drizzle 和 react 学习

GETTING STARTED WITH DRIZZLE AND REACT本文翻译至:https://truffleframework.com/tutorials/getting-started-with-drizzle-and-react 版本为:2018-08-28Drizzle 是 Truffle Suite 的最新成员,也是我们的第一个前端开发工具。 Drizzle 的核心是将合约数...

2019-02-25 20:55:44 1806

原创 ubuntu18.04下配置mac os主题效果

ubuntu18.04下配置mac os主题效果最终效果为:安装gnome-tweak-tool查看当前 gnome-tweak-tool 版本gnome-shell --version执行:sudo apt-get install gnome-tweak-tool安装主题cdmkdir .themescd .themesgit clone https://gitzab...

2019-02-12 01:56:48 1540

原创 ubuntu16.04系统下刻录ubuntu系统盘

ubuntu16.04系统下刻录ubuntu系统盘工具:UNetbootin安装unetbootin运行命令:sudo add-apt-repository ppa:gezakovacs/ppasudo apt-get updatesudo apt-get install unetbootin刻录步骤dash 下搜索打开 unetbootin点击顶部的版本选项,选择U...

2019-02-11 00:07:56 2494

转载 摄影知识 - 入门学习

摄影知识 - 入门学习自从去过 雨崩 和 稻城 等地之后,我就一直心心念,想着买一个单反。主要用于记录旅途中遇见的景、看见的人。苦于手头拮据,索性先了解一些相关知识,为之后购买、择机打好基础。此外,由于是新手入门,参考资料多为他人的博文和视频资料,如有错误,望批评指正。以下内容主要分为:单反微单摄影三要素之后有新内容,会陆续补充先推一个视频,讲的很清楚,适合像我一样的...

2019-02-02 20:48:52 3814

原创 ETHEREUM PET SHOP

ETHEREUM PET SHOP个人博客:sulenn本文翻译至:https://truffleframework.com/tutorials/pet-shop 版本为:2017-07-20本教程将构建一个名为 “宠物商店追踪系统” 的 dapp本教程需要对以太坊和智能合约有一定的基础,了解 Html 和 JavaScript注意:关于以太坊基本内容,可以阅读 Ethereum Ov...

2019-01-30 22:33:27 473

原创 使用Hexo + github搭建个人博客

sulenn个人博客个人博客所用框架: hexo ,主题: Clean Blog,作者: Klughertz Jonathan1. 安装Hexo检查电脑中是否已安装下列应用程序:Node.jsGit如果已安装,则运行下列指令使用 npm 安装 Hexonpm install -g hexo-cli如果未安装,请参考 安装2. 建站分别执行下列命令,在指定文件夹中新建所需...

2019-01-20 21:42:10 122

原创 利用Hexo在github搭建个人博客

利用Hexo在github搭建个人博客参考至 Hexo安装Hexo由于我的系统已经安有 Node.js 和 Git,所以就直接使用npm 安装Hexonpm install -g hexo-cli如果没有安装 Node.js 和 Git的朋友可以参考 网址1建站依次执行如下指令hexo init &lt;folder&gt;cd &lt;folder&gt;npm insta...

2018-12-31 22:31:51 105

原创 错误:Could not compile source code. 测试以太坊代币发行

出错:粘贴https://www.ethereum.org/token#the-code中代码至Ethereum Wallet时报错 Could not compile source code. Defining constructors as functions with the same name as the contract is deprecated. Use &quot;construct...

2018-11-29 21:26:14 868

原创 goland中"cannot find package "core" in any of"问题的解决方法

问题: 解决方法:file-&amp;gt;settings-&amp;gt;Go-&amp;gt;GOPATH-&amp;gt;PROJECT GOPATH中添加当前项目工程的路径

2018-11-24 19:19:45 16653 1

原创 goland中"import "core" is a program, not an importable package"问题的解决方法

问题出现原因:从github上clone的代码,本来所有go文件都在一个文件夹中,这里把go文件分成了coin和core两个文件夹。coin和core文件目录中go文件设置了同样的packege main,导致报错解决方法:把core文件目录下所有的go文件中"package main"改成" package core"即可参考:https://studygolang.com/articles...

2018-11-24 18:59:59 10393 1

原创 论述"增减法"的公平性

协调者:管理着一张使用情况表,每个用户(工作站)在表中都有一个条目(称为惩罚点),初值为0。 工作站 惩罚点 1 x 2 y 3 z ... ...  惩罚点计算:1.当有重要...

2018-11-07 21:44:03 752

原创 Python实现"N叉树的前序遍历"的两种方法

给定一颗n叉树,返回对它节点值的前序遍历例如,给定一个3叉树:返回它的前序遍历为:[1,3,5,6,2,4]注意:递归很简单,请尝试用迭代的方法完成1、迭代def preorder(self, root): """ :type root: Node :rtype: List[int] """ if not ...

2018-11-06 13:09:26 2241

原创 Python实现"键盘行"的一种方法

给定一个单词列表,返回可以使用美式键盘打出的所有单词,其中返回的任意单词必须满足由键盘上唯一一行打印,键盘如下所示Example 1:Input: [“Hello”, “Alaska”, “Dad”, “Peace”]Output: [“Alaska”, “Dad”]注意:你可以多次使用键盘上同意字符输入字符串只包含单词表的字母1.分三行枚举字符表中大小写字母def fin...

2018-11-03 23:23:24 449

转载 shell(希尔)排序算法

shell排序是插入排序(插入排序:https://blog.csdn.net/mars_xiaolei/article/details/77334970)的优化。 在待排序的元素数据量较大时,如果一个序列已经基本有序(序列中小数普遍位于大数的前面),那么我们在插入排序的时候,就可以在较少的比较操作之后使整体有序。shell排序会在插入排序操作之前尽量将待排数组变为基本有序的数组。先取一个小于n...

2018-10-29 14:35:53 234

原创 Python实现"岛屿的周长 "的三种方法

给定一个二维整数的网格地图,网格中1代表陆地,0代表水域。网格单元的连接方式是水平和垂直。网格完全被水域包围,其中有一个岛屿。这个岛屿内部没有水域。每个单元格是长度为1的正方形。网格本身是长和宽不超过100的矩阵。请确定这个岛屿的周长Example:[[0,1,0,0],[1,1,1,0],[0,1,0,0],[1,1,0,0]]Answer: 16Explanation: The...

2018-10-28 16:01:57 1090

原创 Python实现"数字的补数"的两种方法

给定一个整数,返回它的补数.补数策略针对整数的二进制位注意:给定的整数最大为32位假设二进制不包含前导0Example 1:Input: 5Output: 2Explanation: The binary representation of 5 is 101 (no leading zero bits), and its complement is 010. So you need...

2018-10-27 14:33:46 2863

原创 Python实现"N叉树的层序遍历"的一种方法

给定一颗n叉树,返回按层级访问树节点的值。(从左到右,一层接一层)例如,给定一颗三叉树返回格式为:[[1],[3,2,4],[5,6]]注意:树深最大为1000节点总数最多为50001、注意题中,当前结点的子树是以列表的形式存放,所以代码对树层级结点的存放格式为双层列表def levelOrder(self, root): &quot;&quot;&quot; :ty...

2018-10-26 16:31:59 2241

原创 python实现"字符串中的单词数"的两种方法

计算字符串中单词的数量,单词是一个连续无空格符的字符序列字符串不包含任何非打印字符Example:Input: “Hello, my name is John”Output: 51、注意题意要求为“连续无空格符的字符序列”,意思就是只要字符序列无空格符都可以算是单词def countSegments(self, s): """ :type s: st...

2018-10-26 00:20:10 6433

后缀表达式的实现

菜鸟新手后缀表达式的实现!仅供同为菜鸟的新手参考,大神勿喷,谢谢!

2015-11-16

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

TA关注的人

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