白话比特币和它的原理机制

比特币是一种P2P(Peer to Pee有点点对点)形式的数字货币。这个虚拟货币的最大特点是点对点。本文主要包括:比特币交易,比特币挖矿,挖矿的原理,矿池的原理,协调矿工,比特币的分叉: 软分叉,硬分叉,等内容进行分析,最后举例说明了比特币类加密数字货币: 莱特币(LTC)、质数币(Primecoin, XPM)、Zcash、门罗币(Monero,XMR)等 ...

应用数据库常见的数据切分方式

应用数据库常见的数据切分方式 数据切分简单来说,就是指通过某种特定的条件,将我们存放在同一个数据库中的数据分散存放到多个数据库(主机)上面,以达到分散单台设备负载的效果。 垂直拆分,数据的切分(Sharding)根据其切分规则的类型,可以分为两种切分模式。一种是按照不同的表(或者Schema)来切分到不同的数据库(主机)之上,这种切可以称之为数据的垂直(纵向)切分。 ...

微服务的常见架构方式

微服务的常见架构方式,在互联网产品愈发庞大复杂的情况下,系统架构往往影响着整个项目,单纯的单体架构已经不能满足系统需求了,那我们如何开展微服务架构呢?我们这里以: 整洁架构、六边形架构、DDD分层架构 三种架构进行分析DDD分层架构,在下面这张图中,从上到下依次是:用户接口层、应用层、领域层和基础层。那 DDD 各层的主要职责是什么呢? ...

DDD领域驱动设计的概念解析

在学习 DDD领域驱动设计 的过程中,这种方法包括特别的抽象概念,晦涩难懂,本文结合作者理解,对其方法论中的一些概念进行解析。 我们按照层次进行概念划分的话,大概是: 事件风暴、领域事件、限界上下文 领域、子域、核心域、通用域、支撑域 聚合、聚合根 实体、值对象 贫血模型、充血模型、失血模型 以上是基本包含所有概念,其实概念就是事物的共同本质特点的抽象,可以理解 DDD 这个方法论,帮我们对业务、类等的相同的特征进行了抽象、找出公共特征进行归类,利用分治思想帮助架构设计,从而保证了模块之间的高内聚和低耦合。 ...

小程序结合Jenkins实现CICD

在将公司前后端大多数项目都接入了 CI 流程后,发布效率快的一批。但是我最近发现我司在微信小程序这的发布,居然还是手动??? 程序员天生就对重复的事情敏感,这些事情得想个法弄成自动的。 但是在微信小程序出现,上传体验版/生成开发版都需要利用微信开发者工具,最开始是依赖于人手动去点 ide 上的上传按钮,再然后就是,微信开放出了命令行调用接口 之前看了一些利用 Mac Os + Jenkins 做 CI,这个方案并不能够适用所有项目组,我们重点还是希望通过服务器进行 CI,于是就去翻找小程序文档以及网上文章, 天无绝人之路,发现小程序的文档多了 CI 这一项 ...