HonorJoey Blog

Thinking will not overcome fear but action will.

Golang多版本管理神器gvm

gvm安装和遇到的问题解决

缘起 最近编译 GRPC 遇到了点坑,编译各种报错,经搜索调研发现用 mod 模式编译时对版本要求1.13及以上,。比如我的 go1.12.4 就无法编译,必须得 go1.13.xx 版本才能编译。为了解决这种尴尬的场景只能再在主机安装个 go1.13.xx 版本,那么有没有什么优雅的方式来实现本机多版本 Golang 版本的管理呢,能很方便的进行不同版本的切换,这也是本文的目的,推荐一款...

用Dockerfile制作Go语言工程镜像

通过Dockerfile实现Go工程镜像,并部署运行

新建工程 本示例采用echo开源框架实现http服务。 在空文件夹下新建main.go并将以下代码复制进去。 代码: package main import ( "github.com/labstack/echo" "log" "net/http" ) func main() { e := echo.New() e.GET("/", hand...

Go查询以太坊代币余额

用Go语言实现查询以太坊代币余额

Go语言实现查询以太坊代币余额 代码: import ( "fmt" "github.com/ethereum/go-ethereum/accounts/abi/bind" "github.com/ethereum/go-ethereum/common" "github.com/ethereum/go-ethereum/ethclient" "gi...

SQL优化(一)-优化SQL语句的一般步骤

介绍优化SQL语句的一般步骤

本示例通过MySQL官方案例库sakila,下载地址https://dev.mysql.com/doc/index-other.html。 压缩包包括三个文件sakila-schema.sql、sakila-data.sql、sakila.mwb,分别是sakila库的结构创建、数据插入、sakila的MySQL Workbench数据模型(可以在MySQL工作台打开查看数据库模型)。 ...

数据结构与算法-链表(二)

常见的链表操作

单链表反转 思路 迭代:在遍历列表时,将当前节点的 next 指针改为指向前一个元素。由于节点没有引用其上一个节点,因此必须事先存储其前一个元素。在更改引用之前,还需要另一个指针来存储下一个节点。不要忘记在最后返回新的头引用! 复杂度分析 时间复杂度:O(n),假设 n 是列表的长度,时间复杂度是 O(n)。 空间复杂度:O(1)。 代码(Go) //Definitio...

数据结构与算法-链表(一)

用链表实现LRU缓存淘汰策略

常见链表结构 单链表 链表由一个个结点组成,节点存储了结点的数据和下一个结点的地址,如图所示,我们将这个记录下一个结点地址的指针叫做后继指针next,尾结点不再存储地址,而是null。 双向链表 双向链表在单链表的基础上除了存储下一个结点的地址外,还存储上一个结点的地址,即前驱指针prev。 循环链表 循...

Ubuntu挂载硬盘分区

给Ubuntu挂载新的硬盘分区

查看硬盘信息 cat /proc/partitions example 7 0 91140 loop0 7 1 18412 loop1 259 0 524288000 nvme0n1 259 1 20971520 nvme1n1 259 2 20970479 nvme1n1...

MacOS 新装软件打开遇到问题

MacOS 从网上下载应用安装打开闪退,或无法打开。

问题1 从网上下载的软件,出现xxx.app已损坏。 解决 打开认可开发者 macOS如果想安装第三方应用需要到系统偏好设置 > 安全性与隐私 > 通用中开启允许App Store 和被认可的开发者选项 打开任何来源 macOS如果想安装第三方未签名的应用需要在终端中执行命令行 sudo spctl --master-disable 开启任何来源选项,系统偏好设置 ...

以太坊的密码学(四)-以太坊地址

介绍以太坊地址的生成及其校验

以太坊地址 以太坊地址是唯一标识符,从公钥或者合约通过单向哈希函数Keccak-256计算而来。 在之前的例子中,我们从私钥开始,通过椭圆曲线乘法运算获得了一个公钥。 私钥k: k = f8f8a2f43c8376ccb0871305060d7b27b0554d2cc72bccf41b2705608452f315 公钥K(x和y坐标组合后以十六进制的方式显示): K = 6e145c...

MacOS的vim不能使用

MacOS 使用vim是出现一个错误不能使用, 本文是解决办法

问题 使用vim时不能正常使用,报错 dyld: Library not loaded: /usr/local/opt/ruby/lib/libruby.2.3.0.dylib Referenced from: /usr/local/bin/vim Reason: image not found Trace/BPT trap: 5 解决 brew reinstall ruby vim