自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(104)
  • 收藏
  • 关注

原创 关于货币流动的一点思考

关于货币流动的一点思考货币的发行以中国为例,央行控制市场中货币数量的方法主要包括向商业银行购买外汇和提供贷款。其中提供贷款又可细分为MLF、PSL等公开市场操作投放和再贷款、再贴现投放。最近比较火热的消息就是降准,降低银行准备金,银行可以对外贷出更多的货币。增加的货币数量,通过货币乘数,转化为真正的货币增量。货币乘数:假设甲有1000元的现金,存在商业银行A活期存款帐户。银行按照中央银行的要求,把其中10%(100元)交纳法定准备金,存入中央银行。剩下的900元可以全部贷出去,贷给乙。乙把这些钱

2021-12-10 16:51:43 11619

翻译 libp2p概览

Introduction to libp2pWhy do we need libp2p?libp2p 是一个模块化的网络堆栈,从 IPFS 演变为一个独立的项目。 为了解释为什么 libp2p 是去中心化网络中如此重要的一部分,我们需要退后几步,了解它的来源。 libp2p 的初始实现始于 IPFS(一种对等文件共享系统)内部。让我们从探索 IPFS 旨在解决的网络问题开始。Web 2.0我们越来越喜欢互联网,并将其用于日常生活的方方面面,例如学习、与朋友和家人联系、购物、管理财务等等。我们已经变

2021-12-08 10:13:39 2598 2

翻译 Merkle DAGs

Merkle DAGs: Structuring Data for the Distributed WebData has structure!CID 的功能类似于数据块的指纹,主要由加密哈希组成数据本身。我们可以使用此标识符作为唯一且简洁的名称来指向该数据。由于名称是唯一的,我们可以将其用作链接,将基于位置的标识符(如 URL)替换为基于数据本身内容的标识符。然而,链接不仅仅用于识别特定内容;它们是表示、组织和遍历结构化信息的基本工具。在我们日常生活中的各种对象和系统中——电话簿、书目、思维导图、分

2021-12-07 10:13:59 372

翻译 去中心网络上的内容寻址

Content Addressing on the Decentralized WebIdentifying and retrieving data on the webHow we identify and retrieve data集中式网络和分散式网络之间最重要的区别之一是我们识别和检索两者数据的方式。我们用一个简单的例子来说明:您的两个朋友 Lars 和 Courtney 为您爱猫的孩子推荐了同一本书,但他们以截然不同的方式向您描述这本书:Lars:“去纽约市百老汇 828 号的 St

2021-12-06 16:46:24 296

原创 编译btccom版本的dogecoin钱包

configure,检查依赖git clone https://github.com/btccom/dogecoin.git# 安装依赖sudo apt-get install libboost-system-dev libboost-filesystem-dev libboost-chrono-dev libboost-program-options-dev libboost-test-dev libboost-thread-dev./autogen.sh./configure # 检查依

2021-09-10 18:38:02 272

原创 安装Hathor钱包

安装安装过程wget https://github.com/HathorNetwork/hathor-wallet/archive/v0.19.1.tar.gztar -zxvf v0.19.1.tar.gzcp hathor-wallet-0.19.1/ hathord尝试下载源码,发现上面的这些是它的轻钱包,没有任何 RPC 服务全节点git clone [email protected]:HathorNetwork/hathor-core.gitcd hathor-core/po

2021-09-07 11:22:18 265

原创 Eth2 升级概览

文章目录Overview以太坊面临的问题Blockchain trilemma可拓展性:提升 TPS 的技术发展Eth2 架构路线Eth2 的各个阶段信标链(The Beacon Chain)融合(The Merge)2021/2022分片(Shard Chains)~ 2022参考Overview以太坊面临的问题以太坊(Ethereum)自从 2015 年诞生以来,已经取得了巨大的成功,占据了整个区块链世界的半壁江山。但也正因为如此,巨大的流量和使用需求,使得整个以太坊网络,变得越发的拥堵和昂贵。不

2021-09-02 14:39:17 5907

原创 Stratum mining protocol

Stratum-mining 是一个池化的挖矿协议。它通过允许客户端生成工作来替代基于网络的矿池服务器。它与 MPOS 兼容,因为它符合 pushpool 的标准。最终目标是在这些标准的基础上提出更稳定的解决方案。在 2012 年末, Stratum 协议被扩展为支持矿池化挖矿,以替代过时的 getwork 协议。挖矿服务规范最初是通过 Slush 的矿池网站公布的。此后不久, BTC Guild 提供了替代的“备忘单”样式文档。由于该扩展缺少描述官方标准的正式 BIP ,它仅通过讨论和实施得到进一步发展

2021-08-13 18:39:19 1458

原创 从0开始服务化-0-调用链-Zipkin

ZipkinZipkin 是一个分布式跟踪系统,用于收集、管理和查找跟踪数据。它可以把分布式链路调用的顺序串起来,并计算链路中每个 RPC 调用的耗时,可以很直观的看出在整个调用链路中延迟问题。 Zipkin 的设计基于 GoogleDapper 论文实现的。ZipkinServer 提供了 UI 操作,可以非常方便地查看和搜索跟踪数据,直观的查看到链调用依赖关系。该项目包括一个无依赖库和一...

2019-12-12 16:39:54 474

原创 CAP原则

OverviewCAP 原则又称 CAP 定理,指的是在一个分布式系统中, Consistency(一致性)、Availability(可用性)、Partition tolerance(分区容错性),三者不可得兼,最多只能同时满足其中的 2 个。一致性(Consistency)在分布式系统中的所有数据备份,在同一时刻是否同样的值。(严格的一致性,所有节点访问同一份最新的数据副本)...

2019-12-12 11:25:01 1124

原创 Spring-cloud-feign添加统一的Header

OverviewSpring Cloud OpenFeign DocGithub业务需求请求某些机密服务,需要做加密操作,所以需要添加统一的签名 Header 。Code@Slf4j@Componentpublic class testFeignInterceptor implements RequestInterceptor { public void apply(...

2019-12-10 15:04:23 1646

原创 不同的对象占用内存大小问题

对象头对象头默认 16 bytes对齐填充Java对象占用空间是8字节对齐的,即所有Java对象占用bytes数必须是8的倍数。2w个有10个属性属性全是 Stringpublic final class String implements java.io.Serializable, Comparable<String>, CharSequence { ...

2019-11-15 10:33:16 366

转载 现代网络负载均衡与代理

现代网络负载均衡与代理什么是网络负载均衡与代理?负载均衡 vs 代理L4(连接 /session)负载均衡L7(应用层)负载均衡L7 负载均衡和 OSI 模型负载均衡器的功能服务发现健康检查负载均衡粘性 sessionTLS 终端观测性安全性和 DoS 防御配置控制层负载均衡器拓扑结构类型中间代理边缘代理嵌入式的客户端库Sidecar 代...

2019-10-17 11:59:21 661

原创 从0到1,完整的CI-CD流程

1. 项目的基本配置OverView项目使用 dev , qa , prod 三套不同的环境,具体可以参考项目代码。2. 完整的Build脚本2.1. 使用maven打包docker-compose-maven.ymlversion: "3.7"networks: build:services: maven: image: maven:3...

2019-09-20 16:08:07 1858

原创 使用Jenkins实现自动部署

创建一个简单的 Pipeline新建任务配置一个简单的 Pipelinenode { stage('Clone') { echo "1.Clone Stage" } stage('Test') { echo "2.Test Stage" } stage('Build') { echo "3.B...

2019-08-09 20:27:55 429

原创 使用DockerCompose构建部署Yapi

OverViewYApi 是一个可本地部署的、打通前后端及QA的、可视化的接口管理平台 https://hellosean1025.github.io/yapi准备一个自己的 Mongo因为这些数据都是要落地的,建议单独准备一个DB。自己构建镜像自己构建的镜像可以保证镜像的安全,或者可以魔改一下代码再构建镜像。下载 Yapi./download.sh 1.8.1构建镜像...

2019-08-08 19:16:18 1457 1

原创 SpringBoot-CAS在前后端分离中的实践

CasCAS is an open and well-documented authentication protocol. The primary implementation of the protocol is an open-source Java server component by the same name hosted here, with support for a plet...

2019-04-24 15:49:37 8330 11

原创 SpringBoot缓存之Caffeine

SpringBoot缓存之CaffeineSpringboot 对缓存的支持Spring Framework 支持透明地向应用程序添加缓存。从本质上讲,抽象将缓存应用于方法,从而根据缓存中可用的信息减少执行次数。缓存逻辑是透明应用的,不会对调用者造成任何干扰。只要通过 @EnableCaching 批注启用了缓存支持,Spring Boot 就会自动配置缓存基础结构。比如:import o...

2019-04-11 12:00:56 3246

原创 Kafka-Streams-Wiondowing

Wiondowing 使您可以控制如何对具有相同键的记录进行分组以进行有状态操作。Note相关操作是分组,它将具有相同密钥的所有记录分组,以确保数据被正确分区(“键入”)以用于后续操作。分组后,窗口允许您进一步对键的记录进行子分组。例如,在连接操作中,窗口状态存储用于存储到目前为止在定义的窗口边界内接收的所有记录。在聚合操作中,窗口状态存储用于存储每个窗口的最新聚合结果。在指定的窗口保留期后...

2018-11-30 18:34:53 946

原创 流式Json数据生成器

Overview在看法流式应用处理时,经常需要一些流式数据来测试,自己生成这些数据比较麻烦,可以使用 json-data-generator 来帮助生成。项目地址Github配置 Kafka 数据jackieChan.config需要生成的 kafka 数据配置。{ "workflows": [{ "workflowName": "jackie...

2018-11-21 10:51:17 1754

原创 Springboot+Kafka

1. OverviewKafka DocumentationSpring for Apache Kafka2. Kafka 搭建Mac 安装 Kafka3. 初试依赖&lt;dependency&gt; &lt;groupId&gt;org.springframework.kafka&lt;/groupId&gt; &lt;artifactId&gt;sp...

2018-11-20 14:25:12 650

原创 Mac 安装 Kafka

brew 安装brew install kafka注意:安装会依赖 zookeeperzookeeper -&amp;gt; /usr/local/Cellar/zookeeper/3.4.13kafka -&amp;gt; /usr/local/Cellar/kafka/2.0.0启动background service:brew services start zookeeper...

2018-11-15 17:43:12 502

原创 SpringBoot 获取配置文件属性(全5种,附项目Demo)

一. 使用 @PropertySource + Environment@PropertySource 指定配置文件位置, Environment 读取配置文件属性。@Configuration@PropertySource(value = {&quot;classpath:test.properties&quot;})public class TestConfig { @Autowired ...

2018-10-30 21:21:34 21576 1

原创 SpringBoot2.x-Actutor-micrometer-自定义Mertics

前言SpringBoot2.x使用Actuator来做应用监控示例注册 Metrics实现 MeterBinder 接口的 bindTo 方法,将要采集的指标注册到 MeterRegistry@Componentpublic class JobMetrics implements MeterBinder { public Counter job1Coun...

2018-08-17 17:40:00 5690 1

原创 SpringBoot2.x-定时任务

TimerTimer 是 jdk 1.3 之后自带的 java.util.Timer 类。这个类允许你按一定的规则调度一个 java.util.TimerTask 任务。主要是按照一定速率去执行任务,不支持 cron 表达式。示例public class TimerTest { public static void main(String[] args) { ...

2018-08-15 15:18:37 2618

原创 使用Docker-Compose组合多个镜像

Docker for Mac官网安装官网地址,直接下载 .dmg 文件安装即可,更多介绍。使用 Homebrew 安装 brew cask install dockerCheck versions$ docker --versionDocker version 18.03, build c97c6d6$ docker-compose --versiondock...

2018-08-02 21:49:53 10768 1

原创 Springboot-2.x-scaffold

SpringBoot2.x 脚手架,适用于新项目 init。OverviewSpringBoot 2.x应用监控:ActuatorSwagger 2.8统一异常处理数据库连接池:HikariCPMybatisRedisMongoDB基本概念spring-boot-starter-parent使用 Maven 可以继承 spring-boot-starte...

2018-06-19 11:29:34 910

原创 HikariCP配置详解+多数据源

SpringBoot 2.0 开始推 HikariCP ,将默认的数据库连接池从 tomcat jdbc pool 改为了 hikari , HikariCP 在性能和并发方面确实表现不俗(号称最快的连接池)。如果你使用 spring-boot-starter-jdbc 或 spring-boot-starter-data-jpa ,会自动添加对 HikariCP 的依赖,也就是说此时使用 ...

2018-06-19 11:00:55 34121 4

原创 使用IDEA自带的 Editor REST Client 来测试 REST API

Overview开发 REST API 的时候,必然少不了测试。测试 API 可以采用以下方式:Chrome 请求不方便构造 POST 请求Postman 等 Post 工具ß需要下载工具,好处是可以记录请求,批量测试Swagger项目集成,方便操作,同时也提供给前端使用Editor REST ClientIDEA自带,操作方便,不需要要切换到浏览器页面...

2018-06-13 11:39:29 8116 2

原创 SpringBoot2.x使用Actuator来做应用监控

ActuatorSpring-boot-actuator module 可帮助您在将应用程序投入生产时监视和管理应用程序。您可以选择使用 HTTP 端点或 JMX 来管理和监控您的应用程序。Auditing, health, and metrics gathering 也可以自动应用于您的应用程序。添加依赖,开启监控&lt;dependencies&gt; &lt;depen...

2018-06-12 20:16:13 9541 2

原创 SpringBoot2.x中的应用监控:Actuator+Prometheus+Grafana

Prometheus 是 Cloud Native Computing Foundation 项目之一,是一个系统和服务监控系统。它按给定的时间间隔从配置的目标收集指标,评估规则表达式,显示结果,并且如果观察到某些条件为真,则可触发警报。特性多维度 数据模型(由度量名称和键/值维度集定义的时间序列)灵活的查询语言 来利用这种维度不依赖分布式存储;单个服务器节点是自治的时间序列采集通...

2018-06-12 16:36:23 11954 5

转载 深入浅出分布式缓存的通用方法

深入浅出分布式缓存的通用方法 看到一篇好文,直接转载不方便,用 Markdown 重写了一遍。原文地址:https://mp.weixin.qq.com/s/vc2D2Nrj45Q2QbC00xt6RA缓存编程的具体方法各种分布式缓存如Redis,都提供了不同语言的客户端API,我们可以使用这些API直接访问缓存,也可以通过注解等方法使用缓存。1、编程法编程法指通过...

2018-05-20 16:30:00 642

原创 从0开始完成DApp(二)-深入篇

从0开始完成DApp(二)-深入篇Step1:安装 MetaMask 钱包智能合约的部署需要钱包的参与。 以太坊轻钱包MetaMask安装Step2:通过 Remix 学习和尝试 Solidity 语言DApp 的开发语言是 Solidity使用Remix部署智能合约了解整个流程 使用remix-ide开发以太坊智能合约(代币发行)Step3:使用 Tru...

2018-05-17 17:18:40 379

原创 OpenZeppelin集成:编写健壮安全的智能合约

OpenZeppelin集成:编写健壮安全的智能合约因为智能合约往往涉及金钱,保证Soldity代码没有错误,以及足够的安全是非常根本的。Zeppelin Solutions,一个智能合约审查服务商,已经意识到相关的需求。建立在他们的合约审查经验之上,他们把一些最佳实践整理到了OpenZeppelin。开箱即用的前端开发的主要精力应该放在智能合约上。为达到这个目的,Truffle ...

2018-05-17 16:09:31 1065

原创 Truffle框架和Ganache本地私链

Truffle框架和Ganache本地私链安装Truffle Truffle是一个世界级的开发环境,测试框架,以太坊的资源管理通道,致力于让以太坊上的开发变得简单。Github源码地址 https://github.com/trufflesuite/truffle安装Npm和NodeJS安装Trufflenpm install -g truffle...

2018-05-16 17:23:07 4602

原创 从0开始完成DApp(一)- 基础篇

从0开始完成DApp(一)- 基础篇区块链基础比特币白皮书ethereum-overview以太坊白皮书以太坊黄皮书Solidity语言英文官方网站代码库GitHubsolidity中文翻译Truffle框架英文官方网站代码库GitHubtruffle中文翻译OpenZeppelin英文官方网站基于OpenZeppelin建立安全加密代币OpenZep...

2018-05-14 15:56:27 715

原创 Elasticsearch+Logstash+kibana搭建可视化日志分析平台

Elasticsearch+Logstash+kibana搭建可视化日志分析平台Elasticsearch安装关闭防火墙(开放对应端口也可以) systemctl stop firewalld 安装 JDK8Elasticsearch 需要 Java 8 的环境。# yum -y list java*# yum -y install ...

2018-05-11 16:23:53 1466 1

原创 volatile关键字的作用和原理

volatile关键字的作用和原理关键字作用volatile 保证可见性一旦一个共享变量(类的成员变量、类的静态成员变量)被volatile修饰之后,那么就具备了两层语义:保证了不同线程对这个变量进行操作时的可见性,即一个线程修改了某个变量的值,这新值对其他线程来说是立即可见的。禁止进行指令重排序。volatile 不能确保原子性public class Volati...

2018-04-18 17:19:10 3066

原创 缓存穿透、缓存击穿、缓存雪崩

缓存穿透、缓存击穿、缓存雪崩缓存穿透原因缓存穿透指查询一个一定不存在的数据。由于缓存是命中时被动写的,并且出于容错考虑,如果从存储层查不到数据则不写入缓存,这将导致这个不存在的数据每次请求都要到存储层去查询,失去了缓存的意义。在流量大时,可能 DB 就挂掉了,如果有人利用不存在的 key 频繁攻击我们的应用,这就是漏洞。解决方案缓存不存在的数据如果一个查询返回的数据...

2018-04-12 15:06:56 329

原创 深入理解JVM:内存区域

深入理解JVM:内存区域运行时数据区域 Java虚拟机在执行Java程序的过程中会把它所管理的内存划分为若干个不同的数据区域。注:白色 区域为 线程私有(生命周期与线程相同),蓝色 区域为 线程共享。程序计数器(Program Counter Register)程序计数器是一块较小的内存空间,可以被看做是当前线程所执行的字节码的行号指示器。每条线程都需要一个独立...

2018-03-29 11:55:17 343

空空如也

空空如也

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

TA关注的人

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