IEEE 754浮点数转换

一个小数的二进制是怎么样的呢?我们先看看一个二进制的小数怎么转换成十进制: \[ \begin{aligned} 11101.01011_{10} &= 1 \times 2^{4} + 1 \times 2^{3} + 1 \times 2^{2} + 0 \times 2^{1} + 1 \times 2^{0} + 0 \times 2^{-1} + 1 \times 2^{-2} + 1 \times 2^{-3} + 1 \times 2^{-4} + 1 \times 2^{-5} \\ &= 16 + 8 + 4 + 0 + 1 + 0 + \frac{1}{2} + 0 + \frac{1}{16} + \frac{1}{32} \\ &= 29.34375 \end{aligned} \] [阅读更多...]

浅谈CDC在微服务中的应用

CDC(Change Data Capture)是一种通过监测数据变更(变更包括新增、修改、删除等)而对变更的数据进行进一步处理的一种设计模式,通常应用在数据仓库以及和数据库密切相关的一些应用上,比如数据同步、备份、审计、ETL等。实际上,早在二十多年前,CDC就已经用来将应用系统的数据变更实时发送到数据仓库,进一步转换后传递到数据分析系统1,这样能够在极小地影响生产的情况下,有效而及时地将数据传递到消费方。而在微服务架构逐渐流行的今天,这种古老的技术是否能够焕发新的生机?

CDC Flow in SQL Server [阅读更多...]

KDBX4 文件格式解析

最近因为开始开发我自己的密码管理软件,因此对一些开源的密码管理软件做了一下研究,这其中一个比较著名的就是KeePass。KeePass将密码存在一个文本文件中,最新的格式是KDBX4,官方的KeePass是在.Net平台上开发的,也有不少其他平台的移植版本,当然KDBX解析的库也比较多,可惜即便是官方文档也没有详细的描述。几经折腾找到了一个比较好的实现Keepassxc,这是一个基于c++和QT开发的跨平台版本,兼容Keepass的文件格式,我把代码做了精简就得到一个KDBX的操作库,顺便调试了一下KDBX的文件格式,看看它是怎么存密码的。 [阅读更多...]

Android Develop:设置应用图标

前前后后各种原因耽搁了大半年,终于还是下定决心开始做我的Okapia android应用了,笔者一直从事的是Java后端和Web开发,基本上没有安卓开发的项目经验,正所谓万事开头难,一边学一边做。所以我计划把做的过程中遇到的一些问题都整理记录下来,供读者参考。 [阅读更多...]