- 博客(26)
- 资源 (1)
- 收藏
- 关注
原创 zookeeper源码学习笔记(一)
zookeeper保障顺序写入,如下图,leader发送Commit消息时,Follower A和Follower B的并不一定一致的。A的客户端和B的客户端看到的内容不完全一致。zookeeper主分支的代码,是可以编译和工作的。因此,在学习源代码的过程中,可以学习server、client的代码。zookeeper的实现中,P是一定的,A在zookeeper集群leeder故障时,也是不能保障的(即便在短时间选举了新的leader)。因此,zookeeper解决的顺序写入,保障数据写入顺序是一致的。
2023-10-15 21:35:07
878
1
原创 OS X 下载编译bitcoin源代码
1. OS X 编译源代码最近对区块链技术非常感兴趣,非常向理解这个创造了很多奇迹并且持续创造更多奇迹的技术面貌。它是如何实现安全保证的,是如何保障交易进行的,它对未来的世界会带来什么样的改变。做了多年的工程师,第一个习惯就是下载源代码,然后编译。git clone https://github.com/bitcoin/bitcoin.git如果没有按装Xcode和Brew,
2018-01-12 15:42:39
2409
原创 Linux Signal handling(信号处理)Arm64
本文基于Arm64架构详述Linux的信号处理过程,Linux把信号处理分为俩个部分,第一部分是信号发送,第二部分是信号处理。信号发送部分主要是设置相应进程的信号阻塞位;信号处理则是接收到信号的进程调用信号处理函数。信号发送在内核代码中:kernel/signal.cstatic int send_signal(int sig, struct siginfo *in
2017-07-16 18:37:08
2756
原创 AWK 输出重复的行 去掉重复的行
AWK是一个非常强大的文本处理工具。今天尝试着去掉文件中的重复的行, 开始采用了“cat filename | sort -u" 命令, 但是这个命令有很大的缺点,改变了原来行的顺序。 用diff命令,很难查看到文件的差别。偶然看到一个兄弟写的一个很简单的AWK命令,既能不改变原文本行的相对顺序,并且能够输出/去掉重复的行,而且命令非常简单。awk 'a[$0]++'
2017-05-15 16:15:29
5626
原创 Python ProcessPoolExecutor logging Not pickle able
近几天用Python写一个并发的计算引擎,遇到一些问题,经过一段时间的调试终于解决了。特记录如下,以供参考。 python3.5, loggiing的问题。1. 简单的代码:import loggingimport concurrent.futuresimport pandas as pdimport numpy as npclass Work: def __init
2017-01-19 13:28:32
1939
原创 Hibernate.cfg.xml 详解
在Hibernate 连接本地MySQL 服务器中,讲述了如何建立Hibernate和MySQL服务器的连接。其中有一个Hibernate.cfg.xml的文件,没有进行说明。1 Hibernate.cfg.xml 的内容org.hibernate.dialect.MySQLDialectcom.mysql.jdbc.Driverjdbc:mys
2016-09-29 17:01:17
409
原创 Hibernate 连接本地MySQL 服务器
1. 为什么写这篇博客我并不是一个博客爱好者,在工作过程中也很少写博客。在网上,总是从别人的博文汲取营养,似乎有些无耻。 前两个礼拜,把2年前阅读的技术书籍又重新读了一遍,觉得认知又有了新的进步。数据库操作是网络编程的基本组成部分,而我作为一个非计算机科班出身,且没有任何数据库常识的门外汉, 在阅读程序代码时,有诸多不便。但我是一个不肯轻易放弃的人,为了理解Dao和map文件的
2016-09-23 16:12:51
1344
原创 Tensorflow source build on MAC EI Capitain
1 前言自2015年,google公开Tensorflow以来,一直想认真的学习一下。由于网络封锁,ubuntu版本太低,一直没有成功的编译过Tensorflow。对于一个拥有极强好奇心的我而言,总是一种时时会浮上心头的黑云,让我感到不快和隐痛。转机出现于2016年4月,公司给每一个软件工程师换了Mac。 Tensorflow的编译环境是Ubuntu和Mac OS,外部环境具备
2016-05-20 17:19:29
494
原创 ARMv8 中断机制
1. 中断向量表/* * Exception vectors. */ .align 11ENTRY(vectors) ventry el1_sync_invalid // Synchronous EL1t ventry el1_irq_invalid //
2014-11-06 17:15:18
4534
原创 QCOM GIC 分析(ARM64)
1 Device Tree Node interrupt-controller@f9000000 { compatible = "qcom,msm-qgic2"; interrupt-controller; #int
2014-11-06 16:17:28
1501
原创 Linux Systems Call 基于Arm v8
System Call 的声明今天在阅读内核代码时,很想看一下sys_mknod都作了一些什么。查找了半天,没有找到函数的定义。只是找到了函数的声明, 和系统调用表内会把它包含。arch/arm64/kernel/sys.c#define __SYSCALL(nr, sym) [nr] = sym,/* * The sys_call_tab
2014-10-16 17:46:26
1941
原创 Arm v8 中断处理
ARM v8的工作模式ARM v8支持的工作状态, EL0(用户态),EL1(内核态),EL2(虚拟机/可选),EL3(监控态 Monitor/可选)。每一个工作状态,有不同的访问权限。CPU运行在ELx,中断类型有同步的和异步的。同步中段有1种,syn;异步中断有3种,irq、fiq、err. 外部中断通过irq告知CPU。ARM v8的中断处理基于ARM的SoC大都采用GI
2014-10-15 17:00:36
5491
原创 Android eMMC 分区详解
1. fastboot flash boot boot.img 当使用上述命令写入编译的Image时,fastboot做了些什么?基于那些信息把Image写到哪里呢? Android的每一款产品,都有一个partition.xml描述,有关分区的信息。下面是一个例子。2. eMMC 分区表Partition#Name#Size#Strat
2014-08-25 17:59:20
11051
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人