Blog

Thinking will not overcome fear but action will.

Libra与数字人民币(下)

DC/EP与数字人民币

前言 上一篇介绍了Libra相关知识,本文介绍中国的数字货币:DC/EP和数字人民币。 一、概念 自2008 年比特币问世,世界上雨后春笋般地出现了数字货币、加密货币、稳定币、代币、虚拟货币等各种概念,众多的货币概念容易使人难以区分、产生误解,因此我们首先对一些基本概念进行说明。 数字货币:是以数字形式存在并基于网络记录价值归属和实现价值转移的货币。 加密货币:是一种使用密码学原理来确...

Libra与数字人民币(上)

Libra介绍与分析

前言 2019年6月由Facebook主导的加密货币项目Libra横空出世,引起整个金融世界的紧张,数字货币也成为当年最热门的词语之一,下面我们将对Libra进行介绍和分析。 一、各国对Libra的态度 法国财政部长Bruno Le Maire:Facebook加密货币不具备成为主权货币的能力,各国政府有权向Facebook要求一些担保,这将明确Libra不会成为现有主权货币的竞争对手,稳...

令人头疼的错误码(上)

第一篇

前言 业界错误码的规范很多,但是阅读发现这些规范各不相同,甚至很多点相悖。前段时间查了很多资料、咨询过阿里百度等几家公司的同学整理出一份材料和同事分享交流过一轮,下面是一些汇总,这里是希望各路大神们不吝赐教,一起整理出一份最佳实践。 什么是错误码 我并没有找到错误码的明确定义,各公司对错误码的定义相同,个人比较倾向于亚马逊官方文档给出的定义:通过对错误码定义,能够简单的帮助用户或开发者...

MySQL杂谈系列

binlog和redo log

前言 这是今年3月份整理的一篇博客,在做业务过程中又有了一些新的理解,所以重新进行了梳理,增加了部分示例和绘图,尽管这里分析的是MySQL的binlog 和redo log,但是这里的两段式提交的思想在做支付场景的业务的时候经常用到。 基础知识 在介绍binlog 和redo log之前,先介绍一下MySQL的总体架构,这也是后面学习的基础: 连接器:主要负责与客户端(jd...

那些坑人的乱码问题(下)

MySQL的乱码问题

前言 关于编码问题前面一共整理4篇博客,这是终篇。我使用MySQL时经常会遇到乱码问题,尤其是涉及到中文和emoji表情符号时,然而当我查询资料时发现大多数资料几乎雷同,寥寥几句仅贴了几个参数的定义,并没有案例来详细说明,因此我利用几个周末时间整理出这个编码系列博客,希望能对和我同样深受编码困扰的人提供些帮助,当然能力有限,里面很多观点是我根据各种资料的推测,并没有在相关文档中找到确切的描...

那些坑人的乱码问题(中)

Unicode字符集-emoji表情

Unicode编码 上篇中已经讲了编码的基本概念,本来是直接写MySQL的编码问题的,但是觉的Unicode字符集和UTF编码太重要了,以至于不能忽略这部分内容。 Unicode出现原因这里不再赘述,再次强调对于 Unicode的一些误解,它仅仅只是一个字符集,不是编码,规定了符号对应的二进制代码,至于这个二进制代码如何存储则没有任何规定。它的目标就是为每个字符规定一个用来表示该字符的数...

那些坑人的乱码问题(上)

编码基本概念-扫盲篇

前言 手持两把锟斤拷,(GBK与UTF-8) 口中疾呼烫烫烫。(VC++) 脚踏千朵屯屯屯,(VC++) 笑看万物锘锘锘。(HTML) 为什么会有锟斤拷、烫烫烫乱码?全角符号和半角符号区别是什么?为什么旧系统的手机收到新emoji表情会显示为���?这些都是编码问题的范畴,相信很多人和我一样,平时在访问网页、打开文档、从数据库读取数据时经常会莫名其妙的出现乱码,不胜其烦,本文从简单的概念...

聊聊数字签名(下)

数字签名案例分析

前言 上篇文章浅尝辄止,想了一个场景来讲述对称密钥以及非对称密钥解决了什么问题,以及各自有什么优缺点,本文用实际的案例来分析签名能解决什么问题,以及该如何正确的签名。 案例分析 阅读了支付宝、微信支付、腾讯云、阿里云的开放文档,发现他们签名方式几乎一致,在不同的场景分别使用MD5和数字证书签名,甚至在不同的时间节点进行相同类型的升级,下面是我各大平台的开放文档中找到的作为案例分析。 ...

聊聊数字签名(上)

对称加密和非对称加密

为什么要加密 假设你是一个公司的老板,由于公司发展良好,所以成立了很多分公司,你需要和分公司使用信件通信,信件需要通过多个站点才能送到对方手中,你们寄的信件有这样两个特点: 1:你给分部写的信是发号施令,内容是可以公开的; 2:分部给你写的信是汇报工作,内容是需要保密的。 在初期信件一直可以安全送达,直到有一天,有个站点混入了一个坏人,这个坏人经常偷偷的看你们的信件,甚至还恶作剧修改...

聊聊计算机的数字表示方法(下)

浮点数原理及其精度问题讨论

前言 上篇已经讲了原码、反码和补码的出现解决了计算机对整数的存储和计算问题,而小数的存储和计算又是另外一套机制,对于人类而言,整数和小数的计算一样简单,然而对于计算机来说小数运算比整数运算要复杂的多。本文从浮点数原理出发,聊聊浮点数的精度问题,对网上的一些结论进行回答。 正文 在正式开讲之前,我们必须先同步几个概念: 移码 同原码、反码、补码一样,移码也是一种数字的编码方式。按照百...