BLW,下一个千倍收益DeFi黑马,机构提前布局

摘要:市场回归理性,BLW蓄势待发!这个夏天由DeFi引爆,但这仅仅只是开始自今年7月17号聚合平台yearn.finance平台币YFI上线以来,短短几天时间,YFI从3美元拉升至4500美元,最高峰值达44000美元,同期价格是特币11600美元的4倍,锁仓量突破10亿美元,最高峰值到达13.23亿美元,以太坊链上转账费达到历史新高50万美元。YFI的暴涨将沉寂许久区块链行情被完全释放,随之诞生了Uniswap、玉米、寿司和泡菜等一系列DeFi明星生态落地,暴发新一轮“农民种田潮”,截止目前...阅读全文

简书 2020-10-12 17:33:15 比特币教父pro

20.Golang设计模式之观察者模式

观察者模式 GitHub代码链接 当对象存在一对多关系时,使用观察者模式(Observer Pattern)。 什么是观察者模式 定义对象间的一对多的依赖关系,当一个对象的状态发送变化时,所有依赖于它的对象都得到通知并被自动更新。 解决了什么问题 解决了一个对象状态改变给其他对象通知的问题,而且要考虑到易用和低耦合。保证高度的协作。 优点 观察者和被观察者是抽象耦合的。 建立一套触发机制 缺点 如果一个对象有很多直接或者间接的观察者的话,将所有观察者都通知到会花费很多时间。 如果观察者和被观察者...阅读全文

简书 2020-10-12 17:32:47 ShawnLee_123

最详细的Linux TCP/IP 协议栈源码分析

一.linux内核网络栈代码的准备知识1. linux内核ipv4网络部分分层结构:BSD socket层: 这一部分处理BSD socket相关操作,每个socket在内核中以struct socket结构体现。这一部分的文件主要有:/net/socket.c /net/protocols.c etc INET socket层:BSD socket是个可以用于各种网络协议的接口,而当用于tcp/ip,即建立了AF_INET形式的socket时,还需要保留些额外的参数,于是就有了struct s...阅读全文

简书 2020-10-12 16:36:27 linux大本营

go语言的hello world

一、安装Go 使用 Go 语言之前,首先要安装 Go。Go 为 Linux、Mac、Windows 等不同的平台分别提供了相应的安装包:https://golang.google.cn/doc/install,根据自己的操作系统选择对应的安装包点击下载,然后按照引导流程安装即可。安装完成后,通过 go version 查看 Go 语言的版本来验证是否安装成功,以 Mac 为例,对应的版本信息如下: 查看go版本 对于windows来说, 命令是一样的.二、开发工具选择在本地安装完 Go 环境之后...阅读全文

简书 2020-10-12 16:35:13 woodsMaple

Go基础系列:WaitGroup用法说明

正常情况下,新激活的goroutine的结束过程是不可控制的,唯一可以保证终止goroutine的行为是main goroutine的终止。也就是说,我们并不知道哪个goroutine什么时候结束。但很多情况下,我们正需要知道goroutine是否完成。这需要借助sync包的WaitGroup来实现。WatiGroup是sync包中的一个struct类型,用来收集需要等待执行完成的goroutine。下面是它的定义:type WaitGroup struct { // Has unexporte...阅读全文

Segmentfault 2020-10-16 09:32:32 code

服务发现技术选型那点事儿

简介: 相对于 2016 年,现在我们最少有十多种的方式能实现服务发现,这的确是个好时机来进行回顾和展望,最终帮助我们进行技术选型与确定演进方向。 image 引子——什么是服务发现 近日来,和很多来自传统行业、国企、政府的客户在沟通技术细节时,发现云原生所代表的技术已经逐渐成为大家的共识,从一个虚无缥缈的概念渐渐变成这些客户的下一个技术战略。自然,应用架构就会提到微服务,以及其中最重要的分布式协作的模式——服务发现。模式(pattern)是指在特定上下文中的解决方案,很适合描述服务发现这个过程...阅读全文

简书 2020-10-12 11:34:08 阿里云云栖号

基于 TiSpark 的海量数据批量处理技术

作者介绍:杨哲轩,PingCAP 资深解决方案架构师。 熟悉 TiSpark 的人都知道,TiSpark 是 Spark 的一个插件,它其实就是给予了 Spark 能够去访问 TiDB 底层分布式存储引擎 TiKV 或者 TiFlash 的能力。之前我们一直在解决读的问题,写问题并没有付出太多的时间去解决。今天就给大家揭秘,我们是怎样使用 TiSpark 去实现海量数据批处理,然后写入到 TiDB 里面去的。 传统批处理 vs TiSpark 的批处理 在介绍 TiSpark 之前,我们首先来回...阅读全文

简书 2020-10-12 11:33:23 PingCAP

Go发起HTTP2.0请求流程分析(前篇)

来自公众号:新世界杂货铺前言继Go中的HTTP请求之——HTTP1.1请求流程分析之后,中间断断续续,历时近一月,终于才敢开始码字写下本文。阅读建议HTTP2.0在建立TCP连接和安全的TLS传输通道与HTTP1.1的流程基本一致。所以笔者建议没有看过Go中的HTTP请求之——HTTP1.1请求流程分析这篇文章的先去补一下课,本文会基于前一篇文章仅介绍和HTTP2.0相关的逻辑。(*Transport).roundTrip(*Transport).roundTrip方法会调用t.nextProt...阅读全文

Segmentfault 2020-10-15 12:32:31 新世界杂货铺

go中的定时器重复执行问题

### 请大家帮忙看看一个定时器的问题,谢谢。 #### 问题描述: 在win10下测试正常,在win10的linux子系统下测试正常,在centos7服务器上异常,问题表现为除了按照指定时间执行外,还在之前的几秒钟执行一次,时间不固定。 #### 代码如下: ``` package main import ( "io/ioutil" "log" "net/http" "os" "runtime" "strconv" "time" ) var ...阅读全文

Go语言中文网 2020-10-12 10:55:33 liuzhuang

go-carbon 1.2.0 版本发布了,完善优化对ORM的多场景支持

carbon 是一个轻量级、语义化、对开发者友好的Golang时间处理库,支持链式调用和gorm、xrom等主流orm如果您觉得不错,请给个star吧github:github.com/golang-module/carbongitee:gitee.com/go-package/carbon安装使用// 使用github库 go get -u github.com/golang-module/carbon import ( "github.com/golang-module/carbon") /...阅读全文

Segmentfault 2020-10-15 11:32:35 够过瘾

JSP的学习总结

JSP的基本构成:HTML文件+Java片断+JSP标签三大指令:page指令、include指令、taglib指令。page指令:1.language属性:设置当前页面中编写JSP脚本使用的语言,默认值为java。<%@page language="java"%>2.contentType属性:设置页面响应的MIME类型,通常被设置为text/html。 <%@page contentType="text/html"%>还可以设置JSP字符的编码:<%@page contentType="te...阅读全文

简书 2020-10-12 09:32:40 不差不多

Golang标准库——hash

hash hash包提供hash函数的接口。 type Hash type Hash interface { // 通过嵌入的匿名io.Writer接口的Write方法向hash中添加更多数据,永远不返回错误 io.Writer // 返回添加b到当前的hash值后的新切片,不会改变底层的hash状态 Sum(b []byte) []byte // 重设hash为无数据输入的状态 Reset() // 返回Sum会返回的切片的长度 Size() int // 返回hash底层的块大小;Write...阅读全文

简书 2020-10-12 00:32:38 DevilRoshan

Golang标准库——html

html html包提供了用于转义和解转义HTML文本的函数。 func EscapeString func EscapeString(s string) string EscapeString函数将特定的一些字符转为逸码后的字符实体,如"<"变成"<"。 它只会修改五个字符:<、>、&、'、"。 UnescapeString(EscapeString(s)) == s总是成立,但是两个函数顺序反过来则不一定成立。 func UnescapeString func UnescapeString(...阅读全文

简书 2020-10-12 00:32:38 DevilRoshan

Golang中长连接的使用

问题 在最近一次上线中,检查日志发现,存在很多的HTTP请求异常,具体报错内容为: dial tcp Host:Port: connect: cannot assign requested address 在查看监控,发现CPU、服务器连接均较高,CPU负载100%、连接数达到7w左右,基本可以判断为连接数过多,本机的端口基本被占满,无法发起新的HTTP请求导致,因为连接会占用CPU资源,故而CPU也被占满。 问题解决 其后经过服务器升级、代码检查、持久化连接等,终于找到问题原因,主要是一个不用...阅读全文

简书 2020-10-11 23:32:40 Reaburoa

Golang是如何操作excel的?

关键术语介绍为了方便开源库的快速上手,我们先来了解 excel 中的几个关键术语,如下图所示,①为sheet,也就是表格中的页签;②为row,代表 excel 中的一行;③为cell,代表 excel 中的一个单元格。正常情况下,创建一个表格的基本流程是打开 wps 点击新建,这时会默认创建一个 sheet,然后在该 sheet 中的第一行填写表头,接下来根据表头逐行填充内容,最后将文件另存为到硬盘的某个位置。这与 Golang 开源库创建 excel 的流程基本相同,下面演示一个极简表格的创建...阅读全文

Segmentfault 2020-10-15 11:32:35 平也

Golang是如何操作excel的?

关键术语介绍为了方便开源库的快速上手,我们先来了解 excel 中的几个关键术语,如下图所示,①为sheet,也就是表格中的页签;②为row,代表 excel 中的一行;③为cell,代表 excel 中的一个单元格。正常情况下,创建一个表格的基本流程是打开 wps 点击新建,这时会默认创建一个 sheet,然后在该 sheet 中的第一行填写表头,接下来根据表头逐行填充内容,最后将文件另存为到硬盘的某个位置。这与 Golang 开源库创建 excel 的流程基本相同,下面演示一个极简表格的创建...阅读全文

Segmentfault 2020-10-15 09:32:33 平也

【Golang】Map的底层实现 & 为什么遍历Map总是乱序的

文章开始前,先闲话一下,最近写的一篇关于Golang内存管理的文章竟然有了100多次的浏览,高居我所有文章的榜首,所以我再趁热打铁,写一些关于Golang的学习心得和分享。 Golang中Map的底层结构 其实提到Map,一般想到的底层实现就是哈希表,哈希表的结构主要是Hashcode + 数组。 存储kv时,首先将k通过hashcode后对数组长度取余,决定需要放入的数组的index 当数组对应的index已有元素时,此时产生一个【哈希冲突】。一般来说哈希冲突的解决方式为链表法,即在冲突的位置...阅读全文

简书 2020-10-11 20:33:55 千杉沐雪

Golang标准库——go(4)

token types token token包定义代表Go编程语言的词法标记的常量以及对标记的基本操作(打印,谓词)。 Constants const ( LowestPrec = 0 // non-operators UnaryPrec = 6 HighestPrec = 7 ) 一组用于基于优先级的表达式解析的常量。 非运算符的优先级最低,其后依次是从优先级1开始到一元运算符的运算符。 最高优先级用作选择器,索引以及其他运算符和定界符标记的“包罗万象”优先级。 type File type...阅读全文

简书 2020-10-11 17:32:39 DevilRoshan

19.Golang设计模式之备忘录模式

备忘录模式 GitHub代码链接 备忘录模式(Memento Pattern)保存对象的某一个状态,以便在适时的时候回复对象。 什么是备忘录模式 备忘录模式就是在不破坏封装的前提下,捕获一个对象的内部状态,并且在对象之外保存这个状态,这样可以在以后将这个对象恢复的原先保存的状态。 解决了什么问题 很多时候,我们需要记录一个对象的内部状态,这样允许用户取消不确定或者错误的操作。可以在以后恢复到保存前的状态。 优点 打游戏时可以存档 Windows的ctrl + z 数据库的事物管理 缺点 消耗资源...阅读全文

简书 2020-10-11 16:32:38 ShawnLee_123