自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(63)
  • 资源 (15)
  • 收藏
  • 关注

转载 《数据密集型应用系统设计》读书笔记

去年读过<<数据密集型应用系统设计》,全书是关于数据库设计相关的一些理论知识。本人看过两三遍,然后总结如下图:转自本人头条号,如果对你有帮助,加个关注,点个赞呗。http://mp.toutiao.com/preview_article/?pgc_id=6795891179826184716...

2020-02-21 23:22:06 372 3

转载 关于IO面试的总结

最近行情不好,聊了几家。本人从事分布式(数据库)开发工作五年有余,前两日面试中,谈到IO的优化问题,本人竟一时语塞。IO确实涉及到很多方面,每个方面都可以做一些优化。本人从网络、系统、应用程序、硬件、工具等层面做了一些总结。直接上图:转自本人头条号http://mp.toutiao.com/preview_article/?pgc_id=679587396172591975...

2020-02-21 23:18:48 295

转载 netty总结

最近看了一些开源代码,很多库都用到了netty。最近几日总结了netty一些相关知识。闲话少说,老规矩,直接上图:转自本人的头条号:https://www.toutiao.com/i6795889593548800524/...

2020-02-21 23:13:32 137 1

原创 六步之内必有火焰图

火焰图 C++

2023-12-02 09:56:12 398

原创 arm平台适配总结

cmake获取平台信息:set(PLATFORM = $(strip $(shell echo `uname -m`)))1. 编译参数arm平台不支持“-m32"和“-m64"这样的编译参数。取而代之用 “-mabi=ilp32“ 和 “-mabi=lp64” 代替。还可以在指定 cpu的架构版本,如:bazel build --cxxopt="-march=armv8-a" --cpu aarch64 ...2. 内存对齐arm平台默认的内存pagesize 和 x86平台不一致。

2022-03-21 19:58:50 1452

原创 bazel 构建问题总结

bazel的介绍,自行搜索。本文总结一下bazel使用过程中遇到的问题。1.编译宏的启用定义一个宏 “INCLUDE_XXX”# 默认关闭config_settting(name = "include_xxx",values = { "define": "include_xxx=false"})cc_library( … defines = [] + select({ “//xxx...

2022-03-06 18:37:36 915

原创 怎样把svn版本号和当前时间戳写入打包文件

小厂,没有专门的版本管理人员和规范的发布流程。很多人都在发布版本,随意发布版本,每次给出去的都是同一个名字的包。给运维(或者第三方对接人员造成困惑),到底哪个包是最新的(同样的名字无法区分)。如果我们能把打包时间戳和对应svn版本号获取到,并写入包中,我们就能方便的包的版本,也方便内部责任追溯。本文以windows平台为例(linux自行尝试),演示怎么获取版本号(git自行尝试)...

2020-05-07 16:50:33 385

原创 SPARK ML笔记

SPARK ML 笔记环境搭建hadoop安装(单节点)scala及spark安装新的改变功能快捷键合理的创建标题,有助于目录的生成如何改变文本的样式插入链接与图片如何插入一段漂亮的代码片生成一个适合你的列表创建一个表格设定内容居中、居左、居右SmartyPants创建一个自定义列表如何创建一个注脚注释也是必不可少的KaTeX数学公式新的甘特图功能,丰富你的文章UML 图表FLowchart流程图...

2020-02-23 23:02:10 144

原创 一个分布式程序猿的一些存货

近来深感职业发展进入瓶颈,想要突破却屡屡碰壁。索性把自己的总结的一些东西以头条图文的方式分享给大家。发布两天获得头条推荐量2.2W、阅读数1千有余、收藏数百余,另有十多位后台私信向我索要原始思维导图。现罗列出来:莫烦机器学习系列视频观后整理redis数据结构整理关于IO面试的总结nginx数据结构整理大数据利器之kylin总结分布式服务架构总结《数据密集型应用系统设计》...

2020-02-23 20:27:23 205

原创 OTP升级(20.3到21.3)

最近两天升级了公司的OTP版本,在升级过程中遇到的问题及解决办法:1. 获取调用堆栈的方式改变,直接通过try/catch 获取2. erlang的启动机制加载机制改变,在启动脚本中设置HOME的值3. erlang:system_info(check_io),返回值类型变化当然21.3涉及到的升级内容不止以上内容,更多参看官方文档。...

2019-12-20 17:11:03 1116

原创 AI环境搭建

1. 安装anoconda 3.5.12. conda create -n tensorflow python=3.7.03. pip install tensorflow==1.15.0 -i http://mirrors.aliyun.com/pypi/simple/ --trusted-host mirrors.aliyun.com4. python -m pip install ...

2019-12-11 10:35:39 166

原创 filebeat+elasticsearch日志内容提取

我们知道elastisearch节点分五种类型:master(主节点)、data(数据存储,CRUD)、ingest(预处理)、coordinating(协调节点)、tribe(部落节点,用于跨集群)。有些时候我们需要对原始的日志做一些加工(比如格式转换、内容提取等),这个时候就需要使用pipeline,pipeline是在ingest节点上执行的。 在...

2019-12-04 14:26:23 2254

原创 erlang lists 按key分组

在应用场景中,我们经常需要对 tuple 组成的lists进行分组,本文参考网上的方案,实现了多元组的group by。1. 原生版本(来自网络,原文链接已找不到,如果有线索,请联系本人)源码:group_by([])-> [];group_by(KVList) -> Fun = fun({K,V}, D) -> dict:append(K, V, ...

2019-09-03 17:32:49 352

原创 RocksDB 学习笔记

RocksDB是FaceBook起初作为实验性质开发的一个高效数据库软件,旨在充分实现快存上存储数据的服务能力。RocksDB的主要设计点是在快存和高服务压力下性能表现优越,支持point lookup 和 range scan。RockesDB是一个嵌入式的K-V(任意字节流)存储,支持Get(key)、Put(Key)、Delete(Key)和NewIterator()。Ro...

2019-08-18 15:47:47 2476

原创 erlang、c 跨语言调用设计

我们的代码仓库里面存在很多C语言的库,基于运行效率或工作量的考虑,我们不想使用erlang重写相关库,我们想在erlang中像使用erlang库一样方便地使用C库,vcall(erlang版)正是在这种背景下出现的。vcall(erlang版本)后面简称vcall。使用vcall时,我们只需要调用register接口批量或单个注册我们要使用的函数,接下来我们就可以像使用erlang库提供...

2019-08-16 21:34:57 325

原创 TiDB中的raft协议及优化

Raft 是一个 replication log + State Machine 的模型,我们只能通过 leader 进行写入,leader 会将 command 通过 log 的形式复制到 followers,当集群的大多数节点都收到了这个 log,我们就认为这个 log 是 committed,可以 apply 到 State Machine 里面。TiKV 的 Raft 主要移植 etc...

2019-08-16 00:31:10 1662

原创 libra交易的生命周期

描述交易的生命周期,从客户端提交开始到交易在Libra区块链确认(引用官方图片):接收交易1. 客户端将交易提交给验证器 ,验证器的准入控制(AC)组件接收该交易。AdmissionControlClient:submit_transaction -> AdmissionControlClient:submit_transaction_opt->AdmissionContr...

2019-08-15 01:32:21 217 1

原创 游戏建筑可用性标识算法设计

问题描述建筑(AABB相同)之间可以相交,建筑与城堡(AABB包围盒大于建筑)之间可以相交(包含建筑在城堡中的情况),建筑(AABB相同)之间可以相交,建筑与城堡(AABB包围盒大于建筑)之间可以相交(建筑在城堡中),如果建筑A满足一下情况视为建筑可用:1.建筑A直接与城堡B相交2.建筑A1直接与建筑A2相交,A2与A3相交... 建筑An与城堡算法设计把建筑和城堡抽象成有向有环图...

2019-08-13 17:16:41 114

原创 TiDB 学习-整体架构

这段时间学习了TIDB,现抽空整理了一下。TiDB整体架构TiDB 主要分三部分: TiDB Servers(SQL 层)、PD servers、TiKV Cluster(即存储引擎层)TiDB 存储的数据包括三部分:表的元数据,表的row,索引数据。对于 Index,TiDB 不止需要支持 Primary Index,还需要支持 Secondary Index。TiDB 对每个表...

2019-08-13 00:09:07 443

原创 etcd源码学习笔记

架构与实现:https://studygolang.com/articles/2058启动:https://yq.aliyun.com/articles/622694?spm=a2c4e.11155435.0.0.3de42452iFParYhttps://www.codercto.com/a/4662.htmlhttps://jin-yang.github.io/post/g...

2019-08-08 10:45:50 551

原创 libra启动流程

libra启动流程libra 启动流程分两步:启动libraSwarm和交互客户端(可选)LibraSwarm启动流程libra启动分4步:生成libra 配置node启动等待node启动完成等待node连接成功libra_swarm/main.rs:main ->LibraSwarm::launch_swarm-> LibraSwarm::launch_swarm_...

2019-08-07 00:12:12 287

原创 redis 涉及到的算法

数据分片:一致性hash算法数据统计:Hyperloglog/bitmap地理位置:GeoHash集群状态广播:Gossip选举算法:Raft

2019-07-31 15:55:12 1807

原创 erlang 代码动态编译

有时候,我们希望调用的时候再生成对应beam,dynamic_compile满足了我们这种需求。原版的dynamic_compile没有支持erlang 语言的所有特征,本人对它稍加改造,支持所有特征(相同宏的多处不同定义除外)。git:https://github.com/luoqngAwd245/dynamic_compile...

2019-07-30 17:39:48 383 3

原创 libra协议实现(学习笔记)

准入控制是Libra的公共API接口,它用于接收来自客户端的公共gRPC请求。接受两种类型的请求: 提交交易;更新最新分布式账本字节码验证程序用于检查堆栈使用、类型、资源及引用的安全性CFG构建,通过将指令集拆解为一组基本块,构造一个控制流程图。引用在字节码语言中是一等的。函数可以通过以下几种方式获得新的引用:输入参数。 获取局部变量中地址值。 获取全局发布地址值。...

2019-07-19 00:22:48 521

原创 libra 学习笔记

libra协议核心概念交易和状态libra协议两个核心基本概念-交易和状态。在任何时间点,区块链都有一个“状态”。状态(或称为分布式账本状态)表示链上数据的当前快照。 在执行了交易后会更改区块链的状态。Libra 区块链的客户端通过提交交易来请求更改分布式账本的状态,在区块链上一个签名交易包含如下部分:发送人地址 — 交易发起人的帐户地址。 发送人的公钥 — 用于签署交易的私...

2019-07-17 01:04:12 332

原创 redis 学习笔记

数据类型 数据结构(及对应源码文件) 常用命令 命令备注 基本命令 DEL 删除 DUMP 序列化 EXISTS 是否存在 EXPIRE EXPIRE keyseconds,设置过期时间 EXPIREAT EXPIREATkey timestamp设置过期时间 PEXIPIRE ...

2019-07-16 13:57:17 92

原创 rust 复习笔记8

高级类型类型别名创建类型同义词从不返回的 !,这类函数称为发散函数动态大小类型的黄金规则:必须将动态大小类型的值置于某种指针之后。泛型函数默认只能用于在编译时已知大小的类型。然而可以使用如下特殊语法来放宽这个限制:fn generic<T: ?Sized>(t: &T) { // --snip-- }宏宏(Macro)指的是 Rust 中一系列的功能...

2019-07-14 01:21:18 120

转载 makefile教程

该篇文章为转载,是对原作者系列文章的总汇加上标注。支持原创,请移步陈浩大神博客:http://blog.csdn.net...

2019-07-12 14:31:59 127

原创 跨语言调用FFI

函数调用约定与CPU架构和操作系统有关,涉及到跨语言调用时最好了解一下。常见函数调用约定,参考1,参考2,参考3。四年前做 erlang调用C++的时候,由于各个系统下的函数调用约定涉及到的函数压栈不同,我需要为同一个功能在不同操作系统下写三份代码(主要时函数声明和调用约定的不同)。后来无意中搜索到 libffi,只需要按函数声明的参数顺序及类型传参,真正实现了一份代码,到处编译。ffi ...

2019-07-12 11:11:46 844

原创 rust复习笔记7

模式匹配近几年工作中大量使用erlang开发,除了天然支持分布式外,erlang的模式匹配最值得称道。其他语言golang,scala也提供模式匹配,总觉得表达不够丰富,用起来也别扭,当然有可能是与自己对这两门语言本身理解不深有关。直到遇到rust,才找回那种自由的感觉。模式是 Rust 中特殊的语法,它用来匹配类型中的结构,无论类型是简单还是复杂。结合使用模式和match表达式以及其他结...

2019-07-12 00:54:13 180

原创 elasticsearch笔记

中文分词直接下载ik 解压到 elasticsearch 安装目录/plugin 下,过程百度。测试代码:curl -H "Content-Type: application/json" 'http://$ip:9200/$index_name/_analyze?pretty=true' -d '{"analyzer" : "ik_max_word", "text":"这里是luo22...

2019-07-08 17:24:16 166

原创 rust复习笔记6

并发编程如下是将要涉及到的内容:如何创建线程来同时运行多段代码。 消息传递(Message passing)并发,其中通道(channel)被用来在线程间传递消息。 共享状态(Shared state)并发,其中多个线程可以访问同一片数据。 Sync和Sendtrait,他们允许 Rust 的并发保证能被扩展到用户定义的和标准库中提供的类型中。channel 允许多个放送者,...

2019-07-07 23:07:22 103

原创 rust复习笔记5

构建命令行程序获取命令行参数的值,我们需要一个 Rust 标准库提供的函数,也就是std::env::args。当所需函数嵌套了多于一层模块时,通常将父模块引入作用域,而不是其自身。std::fs来处理文件获取环境变量的方法,env::var(环境变量名)标准库提供了eprintln!宏来打印到标准错误流闭包闭包的定义以一对竖线(|)开始,在竖线中指定闭包的参数...

2019-07-07 20:53:11 193

原创 rust复习笔记4

泛型当使用泛型定义函数时,我们在函数签名中通常为参数和返回值指定数据类型的位置放置泛型。以这种方式编写的代码将更灵活并能向函数调用者提供更多功能,同时不引入重复代码。泛型可以用于结构体,枚举,结构体方法。结构体定义中的泛型类型参数并不总是与结构体方法签名中使用的泛型是同一类型。traittrait告诉 Rust 编译器某个特定类型拥有可能与其他类型共享的功能。可以通过 tr...

2019-07-04 01:02:43 124

原创 rust 复习笔记3

vectorvector的两种创建方式:let v: Vec<i32> = Vec::new();let v = vec![1, 2, 3];增加元素 push用索引或者get方法来访问vector中的项可以使用枚举在vector中存不同类型的数据字符串字符串不支持索引, 可用 chars() 方法遍历每个元素,用bytes()方法遍历原始字节。哈希...

2019-07-03 14:43:26 88

原创 zab协议学习

Zookeeper 是一个为分布式应用提供高效且可靠的分布式协调服务。在解决分布式一致性方面,Zookeeper 并没有使用 Paxos ,而是采用了 ZAB 协议。参考文章:https://www.cnblogs.com/stateis0/p/9062133.htmlhttps://www.jianshu.com/p/2bceacd60b8a参考代码(erlang):http...

2019-07-02 16:30:41 107

原创 P2P KADEMLIA算法学习

KADEMLIA 作为构建p2p 网络的重要协议,花了两天时间终于搞懂了。现给出学习参考链接。原理参考文章:http://blog.sina.com.cn/s/blog_5384aaf00100a88k.htmlbt协议簇,参考系列文章:https://www.cnblogs.com/bymax/p/4973639.htmlhttps://www.cnblogs.com/Lit...

2019-07-02 16:01:03 225

原创 rust复习笔记2

所有权所有权(系统)是 Rust 最为与众不同的特性,它让 Rust 无需垃圾回收(garbage collector)即可保障内存安全。所有运行的程序都必须管理其使用计算机内存的方式。一些语言中具有垃圾回收机制,在程序运行时不断地寻找不再使用的内存;在另一些语言中,程序员必须亲自分配和释放内存。Rust 则选择了第三种方式:通过所有权系统管理内存,编译器在编译时会根据一系列的规则进行检查...

2019-07-02 00:23:11 232

原创 rust复习笔记1

2015年rust1.0刚出来的时候,接触过一段时间的rust,并用rust重写过公司的场景模块管理(octree)。时隔三年rust日臻成熟,重拾rust。本文就当重新温习rust。rustcrust自带的编译工具。rustfmt 自动格式化工具!表示宏调用而不是普通函数cargorust构建系统和包管理器cargo.tml [dependencies] 添加 依赖库...

2019-07-01 00:27:00 429

原创 kafka 总结

1.使用http协议向kafka发数据confluent ,参考资料https://blog.csdn.net/xianzhen376/article/details/51281420?t=1466961306713不借助confluent,通过http向kafka发送数据https://www.cnblogs.com/leixingzhi7/p/6486010.html2.彻...

2019-06-26 21:23:24 73

Writing Clean Code.pdf

Writing Clean Code.pdf

2012-05-12

单元测试之道C#版

本教程中提供了一些单元测试的方法,使用于初学者。

2012-05-08

Python基础教程(第2版)

很好的python入门学习资料,谁用谁知道。

2012-05-08

简单的2d图形系统

本程序中可以通过鼠标选取点绘制任意多边形,可以对多边形进行拖动,绕任意点旋转,填充,选择。

2011-10-14

图形学_二维网格

通过鼠标在平面选取点生成一系列的三角形,本资源中包含了大量的算法

2011-10-14

半边结构(opengl).rar

用半边结构表示几何图形的拓扑关系,用opengl显示图形。

2011-09-05

COM技术入门教程.chm

本资源是学习COM的基础入门教程,主要包括COM的基本原理、COM+和DCOM。

2011-08-26

Com技术内幕.pdf

学习COM 的入门教程。本书另有源码,本人已上传。

2011-08-22

COM技术内幕代码.rar

《COM技术内幕》一书的源码。是学习COM的不可多得的资料。

2011-08-22

acm模板(ACM/ICPC代码库)

吉林大学计算机科学与技术学院的讲义:ACM/ICPC代码库

2011-04-23

层流冷却过程中带钢温度场数值模拟

关于层流冷却过程中带钢温度场的数值模拟,解压后为pdf格式

2010-11-21

UG下用户CAD系统的界面二次开发研究

如名称所示。本资源是关于ug二次开发中的界面开发有关资料。有一定参考价值。

2010-11-12

OPENGL参考手册(RAR)

内容详细,讲解细致。是一本学习opengl的不可多得的参考用工具书。

2010-11-08

红蜻蜓抓图精灵(rar)

一款实用、绿色的抓图软件。拥有多种模式抓图、图片编辑等功能。值得一试!

2010-11-08

精通GDI+编程(pdf)

本资源为电子教程,格式为pdf.适用于初学者GDI+的初学者

2010-11-05

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除