《以太坊官方文档》Ethereum Clients—Choosing a client

翻译:Ethereum ClientsChoosing a client

在这个项目的早期,就已经有多种跨多种不同操作系统的客户端实现。客户端实现的多样性是整个以太系统的巨大胜利。这就让我们验证了(在黄页中指定的)协议是清晰的。这也为新的革新敞开了大门。这让我们保持诚实。但是,这样也会让用户非常困扰,因为这会导致没有一个通用的以太安装包可以提供给用户。

截止2016年9月,优秀的实现有以下几种:

阅读全文

《以太坊官方文档》什么是以太坊(What is Ethereum?)

什么是以太坊

以太坊是一个开放的区块链平台,他允许任何人构建和使用运行在区块链技术上的去中心化应用。与比特币相似,没有人可以控制或者拥有以太坊 – 以太坊是一项由世界各地人一起构建的开源项目。但是与比特币协议不同,以太坊设计得适应性强和灵活。在以太坊平台创建新应用很容易,使用以太坊Homestead release(以太坊第二版本),所有人可以安全地使用这些应用。

阅读全文

《Python官方文档》5.数据结构

数据结构

本章会更细节的讲一些你已经学过的东西,同时也会加一些新的内容。

阅读全文

Netty(二) 从线程模型的角度看 Netty 为什么是高性能的?

前言

在之前的 SpringBoot 整合长连接心跳机制 一文中认识了 Netty。

但其实只是能用,为什么要用 Netty?它有哪些优势?这些其实都不清楚。

本文就来从历史源头说道说道。

阅读全文

初谈架构

工作了很多年,架构也做了五六年。今天突然在思考什么是架构,为什么要做架构,架构怎么来做,架构到底是设计的还是演进的?以下就这些思考做一下总结,其中不当之处欢迎不吝赐教。

1.什么是架构?

个人认为架构是服务于商业目标的,商业目标规范了一定的业务需求,性能需求,安全需求,扩展性需求及其他的非功能性需求。在设计架构的过程中,需要根据对应的需求去决定使用什么样的技术,使用什么样的技术需要根据团队现有的技能水平及当前技术发展的阶段去进行取舍。架构就是根据明确的商业目标进行合理的规划,对不同的方案进行抉择,解决问题的过程。

阅读全文

分布式消息中间件 RocketMQ:概述与源码编译篇

一、前言

Apache RocketMQ 是一个分布式消息中间件,其具有低延迟、高性能和可靠性、万亿级容量、灵活的可扩展性特性;它是阿里巴巴在2012年开源的分布式消息中间件,目前已经捐赠给 Apache 软件基金会,并于2017年9月25日成为 Apache 的顶级项目。 阅读全文

Guava 源码分析(Cache 原理【二阶段】)

前言

在上文「Guava 源码分析(Cache 原理)」中分析了 Guava Cache 的相关原理。

文末提到了回收机制、移除时间通知等内容,许多朋友也挺感兴趣,这次就这两个内容再来分析分析。

在开始之前先补习下 Java 自带的两个特性,Guava 中都有具体的应用。

阅读全文

Apache Pulsar介绍

Apache Pulsar

What is Pulsar

“Pulsar is a distributed pub-sub messaging platform with a very flexible messaging model and an intuitive client API.”

Pulsar是pub-sub模式的分布式消息平台,拥有灵活的消息模型和直观的客户端API。

Pulsar由雅虎开发并开源的下一代消息系统,目前是Apache软件基金会的孵化器项目。

阅读全文

《以太坊官方文档》翻译邀请

从本月开始并发网开始组织翻译区块链相关技术,欢迎大家踊跃参加,另外如果你有区块链技术相关文章也欢迎发布在并发网上。本月组织翻译《以太坊官方文档》。

如何领取

通过评论领取想要翻译的文章,每次领取一章或一节(根据内容长短),翻译完后再领取其他章节。领取完成之后,译文最好在一个星期内翻译完成,如果不能完成翻译,也欢迎你邀请其他同学和你一起完成翻译。请谨慎领取,很多文章领取了没有翻译,导致这篇文章最终没有翻译。

阅读全文

Spring&Mybaits数据库配置解惑

一、前言

一般我们会在datasource.xml中进行如下配置,但是其中每个配置项原理和用途是什么,并不是那么清楚,如果不清楚的话,在使用时候就很有可能会遇到坑,所以下面对这些配置项进行一一解说 阅读全文

《Python3.6官方文档》– 第十一章

第二部分涵盖了更高阶的模块,支持更专业的编程需求,这些模块很少出现在小的脚本中。

格式化输出

reprlib 提供一系列repr() 对很大或深度层叠的容器进行定制化的压缩展示。

import reprlib

reprlib.repr(set('supercalifragilisticexpialidocious'))

pprint 提供更成熟的控制,将内建对象和用户定义对象更易读地打印出来,当结果长于一行时,”pretty printer”添加行数和缩进来将数据结构更清楚地展现出来。

阅读全文

一次线上问题排查所引发的思考

前言

之前或多或少分享过一些内存模型对象创建之类的内容,其实大部分人看完都是懵懵懂懂,也不知道这些的实际意义。

直到有一天你会碰到线上奇奇怪怪的问题,如:

  • 线程执行一个任务迟迟没有返回,应用假死。
  • 接口响应缓慢,甚至请求超时。
  • CPU 高负载运行。

这类问题并不像一个空指针、数组越界这样明显好查,这时就需要刚才提到的内存模型、对象创建、线程等相关知识结合在一起来排查问题了。

正好这次借助之前的一次生产问题来聊聊如何排查和解决问题。

阅读全文

MySQL 中基于 XA 实现的分布式事务

五、MySQL 中基于 XA 实现的分布式事务

5.1 XA协议

首先我们来简要看下分布式事务处理的XA规范

 

image.png

阅读全文

《架构方法论》分层架构

原文链接  作者;方腾飞

软件架构有多种架构模式,其中分层架构是目前最流行,应用最广泛的架构模式。那么什么是分层架构?为什么要采用分层架构?一个系统应该分几层合适?分层架构的好处有哪些?这些问题将是这篇文章要探讨的。大家可以在阅读本文之前先思考下这些问题,然后再看看本文的观点,看完之后欢迎通过评论进行交流。

什么是分层架构?

分层架构是将软件模块按照水平切分的方式分成多个层。一个系统由多层组成,每层由多个模块组成。那么到底分几层合适?我认为根据不同的复杂度分成不同的层次,最基本的是分层架构是三层,即表现层,领域层和数据持久层。而《领域驱动设计》Eric Evans建议分四层分别是表现层,应用层、领域层和基础层,业务逻辑在领域层,基础层比持久层的范围更大,不仅可以提供持久层服务,还可以提供缓存等服务。四层中的应用层是对三层架构中领域层进行进一步拆分。但是无论怎么分层,业务逻辑永远在领域层。

阅读全文

何为脏读、不可重复读、幻读

2.0 前言

事务的隔离性是指多个事务并发执行的时候相互之间不受到彼此的干扰的特性,隔离性是事务ACID特性中的I,根据隔离程度从低到高分为Read Uncommitted(读未提交),Read Committed(读已提交),Repeatable Read(可重复读),Serializable(串行化)四种隔离级别。在具体介绍事务隔离性前先介绍几个名词,以便说明数据库在并发操作时候可能存在的问题,以便展开来探讨这四种隔离级别对应存在哪些问题,哪些隔离级别解决了哪些问题。 阅读全文

return top