<?xml version="1.0" encoding="utf-8" ?><rss version="2.0"><channel><title><![CDATA[luo222的专栏]]></title><description><![CDATA[]]></description><link>https://blog.youkuaiyun.com/luo222</link><language>zh-cn</language><generator>https://blog.youkuaiyun.com/</generator><copyright><![CDATA[Copyright &copy; luo222]]></copyright><item><title><![CDATA[六步之内必有火焰图]]></title><link>https://blog.youkuaiyun.com/luo222/article/details/134748018</link><guid>https://blog.youkuaiyun.com/luo222/article/details/134748018</guid><author>luo222</author><pubDate>Sat, 02 Dec 2023 09:56:12 +0800</pubDate><description><![CDATA[火焰图 C++]]></description><category></category></item><item><title><![CDATA[arm平台适配总结]]></title><link>https://blog.youkuaiyun.com/luo222/article/details/123644001</link><guid>https://blog.youkuaiyun.com/luo222/article/details/123644001</guid><author>luo222</author><pubDate>Mon, 21 Mar 2022 19:58:50 +0800</pubDate><description><![CDATA[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平台不一致。

]]></description><category></category></item><item><title><![CDATA[bazel 构建问题总结]]></title><link>https://blog.youkuaiyun.com/luo222/article/details/123314557</link><guid>https://blog.youkuaiyun.com/luo222/article/details/123314557</guid><author>luo222</author><pubDate>Sun, 06 Mar 2022 18:37:36 +0800</pubDate><description><![CDATA[bazel的介绍，自行搜索。本文总结一下bazel使用过程中遇到的问题。

1.编译宏的启用

定义一个宏 “INCLUDE_XXX”


# 默认关闭

config_settting(

name = "include_xxx",

values = { "define": "include_xxx=false"}

)



cc_library(

  …

  defines = []

      + select({

         “//xxx...]]></description><category></category></item><item><title><![CDATA[怎样把svn版本号和当前时间戳写入打包文件]]></title><link>https://blog.youkuaiyun.com/luo222/article/details/105975225</link><guid>https://blog.youkuaiyun.com/luo222/article/details/105975225</guid><author>luo222</author><pubDate>Thu, 07 May 2020 16:50:33 +0800</pubDate><description><![CDATA[小厂，没有专门的版本管理人员和规范的发布流程。很多人都在发布版本，随意发布版本，每次给出去的都是同一个名字的包。给运维（或者第三方对接人员造成困惑），到底哪个包是最新的（同样的名字无法区分）。如果我们能把打包时间戳和对应svn版本号获取到，并写入包中，我们就能方便的包的版本，也方便内部责任追溯。本文以windows平台为例（linux自行尝试），演示怎么获取版本号（git自行尝试）...]]></description><category></category></item><item><title><![CDATA[SPARK ML笔记]]></title><link>https://blog.youkuaiyun.com/luo222/article/details/101906280</link><guid>https://blog.youkuaiyun.com/luo222/article/details/101906280</guid><author>luo222</author><pubDate>Sun, 23 Feb 2020 23:02:10 +0800</pubDate><description><![CDATA[SPARK ML 笔记环境搭建hadoop安装（单节点）scala及spark安装新的改变功能快捷键合理的创建标题，有助于目录的生成如何改变文本的样式插入链接与图片如何插入一段漂亮的代码片生成一个适合你的列表创建一个表格设定内容居中、居左、居右SmartyPants创建一个自定义列表如何创建一个注脚注释也是必不可少的KaTeX数学公式新的甘特图功能，丰富你的文章UML 图表FLowchart流程图...]]></description><category></category></item><item><title><![CDATA[一个分布式程序猿的一些存货]]></title><link>https://blog.youkuaiyun.com/luo222/article/details/104466450</link><guid>https://blog.youkuaiyun.com/luo222/article/details/104466450</guid><author>luo222</author><pubDate>Sun, 23 Feb 2020 20:27:23 +0800</pubDate><description><![CDATA[近来深感职业发展进入瓶颈，想要突破却屡屡碰壁。索性把自己的总结的一些东西以头条图文的方式分享给大家。发布两天获得头条推荐量2.2W、阅读数1千有余、收藏数百余，另有十多位后台私信向我索要原始思维导图。现罗列出来：

莫烦机器学习系列视频观后整理

redis数据结构整理

关于IO面试的总结

nginx数据结构整理

大数据利器之kylin总结

分布式服务架构总结

《数据密集型应用系统设计》...]]></description><category></category></item><item><title><![CDATA[《数据密集型应用系统设计》读书笔记]]></title><link>https://blog.youkuaiyun.com/luo222/article/details/104437000</link><guid>https://blog.youkuaiyun.com/luo222/article/details/104437000</guid><author>luo222</author><pubDate>Fri, 21 Feb 2020 23:22:06 +0800</pubDate><description><![CDATA[去年读过&lt;&lt;数据密集型应用系统设计》，全书是关于数据库设计相关的一些理论知识。本人看过两三遍，然后总结如下图：



转自本人头条号，如果对你有帮助，加个关注，点个赞呗。

http://mp.toutiao.com/preview_article/?pgc_id=6795891179826184716
...]]></description><category></category></item><item><title><![CDATA[关于IO面试的总结]]></title><link>https://blog.youkuaiyun.com/luo222/article/details/104436946</link><guid>https://blog.youkuaiyun.com/luo222/article/details/104436946</guid><author>luo222</author><pubDate>Fri, 21 Feb 2020 23:18:48 +0800</pubDate><description><![CDATA[最近行情不好，聊了几家。本人从事分布式（数据库）开发工作五年有余，前两日面试中，谈到IO的优化问题，本人竟一时语塞。IO确实涉及到很多方面，每个方面都可以做一些优化。本人从网络、系统、应用程序、硬件、工具等层面做了一些总结。直接上图：







转自本人头条号

http://mp.toutiao.com/preview_article/?pgc_id=679587396172591975...]]></description><category></category></item><item><title><![CDATA[netty总结]]></title><link>https://blog.youkuaiyun.com/luo222/article/details/104436867</link><guid>https://blog.youkuaiyun.com/luo222/article/details/104436867</guid><author>luo222</author><pubDate>Fri, 21 Feb 2020 23:13:32 +0800</pubDate><description><![CDATA[最近看了一些开源代码，很多库都用到了netty。最近几日总结了netty一些相关知识。闲话少说，老规矩，直接上图：



转自本人的头条号：

https://www.toutiao.com/i6795889593548800524/
...]]></description><category></category></item><item><title><![CDATA[OTP升级（20.3到21.3)]]></title><link>https://blog.youkuaiyun.com/luo222/article/details/103635116</link><guid>https://blog.youkuaiyun.com/luo222/article/details/103635116</guid><author>luo222</author><pubDate>Fri, 20 Dec 2019 17:11:03 +0800</pubDate><description><![CDATA[最近两天升级了公司的OTP版本，在升级过程中遇到的问题及解决办法：

1. 获取调用堆栈的方式改变，直接通过try/catch 获取
2. erlang的启动机制加载机制改变，在启动脚本中设置HOME的值
3. erlang:system_info(check_io)，返回值类型变化


当然21.3涉及到的升级内容不止以上内容，更多参看官方文档。


...]]></description><category></category></item><item><title><![CDATA[AI环境搭建]]></title><link>https://blog.youkuaiyun.com/luo222/article/details/103488049</link><guid>https://blog.youkuaiyun.com/luo222/article/details/103488049</guid><author>luo222</author><pubDate>Wed, 11 Dec 2019 10:35:39 +0800</pubDate><description><![CDATA[1. 安装anoconda 3.5.1
2. conda create -n tensorflow python=3.7.0
3. pip install tensorflow==1.15.0 -i http://mirrors.aliyun.com/pypi/simple/ --trusted-host mirrors.aliyun.com
4. python -m pip install ...]]></description><category></category></item><item><title><![CDATA[filebeat+elasticsearch日志内容提取]]></title><link>https://blog.youkuaiyun.com/luo222/article/details/103385278</link><guid>https://blog.youkuaiyun.com/luo222/article/details/103385278</guid><author>luo222</author><pubDate>Wed, 04 Dec 2019 14:26:23 +0800</pubDate><description><![CDATA[我们知道elastisearch节点分五种类型：master(主节点)、data（数据存储，CRUD）、ingest(预处理）、coordinating（协调节点）、tribe(部落节点，用于跨集群）。有些时候我们需要对原始的日志做一些加工（比如格式转换、内容提取等），这个时候就需要使用pipeline，pipeline是在ingest节点上执行的。   

   在...]]></description><category></category></item><item><title><![CDATA[erlang lists 按key分组]]></title><link>https://blog.youkuaiyun.com/luo222/article/details/100523109</link><guid>https://blog.youkuaiyun.com/luo222/article/details/100523109</guid><author>luo222</author><pubDate>Tue, 03 Sep 2019 17:32:49 +0800</pubDate><description><![CDATA[在应用场景中，我们经常需要对 tuple 组成的lists进行分组，本文参考网上的方案，实现了多元组的group by。

1. 原生版本(来自网络，原文链接已找不到，如果有线索，请联系本人）

源码：

group_by([])-&gt;
  [];
group_by(KVList) -&gt;
  Fun = fun({K,V}, D) -&gt; dict:append(K, V, ...]]></description><category></category></item><item><title><![CDATA[RocksDB 学习笔记]]></title><link>https://blog.youkuaiyun.com/luo222/article/details/99699207</link><guid>https://blog.youkuaiyun.com/luo222/article/details/99699207</guid><author>luo222</author><pubDate>Sun, 18 Aug 2019 15:47:47 +0800</pubDate><description><![CDATA[RocksDB是FaceBook起初作为实验性质开发的一个高效数据库软件，旨在充分实现快存上存储数据的服务能力。RocksDB的主要设计点是在快存和高服务压力下性能表现优越，支持point lookup 和 range scan。RockesDB是一个嵌入式的K-V（任意字节流）存储,支持Get(key)、Put（Key）、Delete（Key）和NewIterator()。Ro...]]></description><category></category></item><item><title><![CDATA[erlang、c 跨语言调用设计]]></title><link>https://blog.youkuaiyun.com/luo222/article/details/79755711</link><guid>https://blog.youkuaiyun.com/luo222/article/details/79755711</guid><author>luo222</author><pubDate>Fri, 16 Aug 2019 21:34:57 +0800</pubDate><description><![CDATA[我们的代码仓库里面存在很多C语言的库，基于运行效率或工作量的考虑，我们不想
使用erlang重写相关库，我们想在erlang中像使用erlang库一样方便地使用C库，
vcall（erlang版）正是在这种背景下出现的。vcall(erlang版本）后面简称
vcall。
使用vcall时，我们只需要调用register接口批量
或单个注册我们要使用的函数，接下来我们就可以像使用erlang库提供...]]></description><category></category></item><item><title><![CDATA[TiDB中的raft协议及优化]]></title><link>https://blog.youkuaiyun.com/luo222/article/details/99662402</link><guid>https://blog.youkuaiyun.com/luo222/article/details/99662402</guid><author>luo222</author><pubDate>Fri, 16 Aug 2019 00:31:10 +0800</pubDate><description><![CDATA[Raft 是一个 replication log + State Machine 的模型，我们只能通过 leader 进行写入，leader 会将 command 通过 log 的形式复制到 followers，当集群的大多数节点都收到了这个 log，我们就认为这个 log 是 committed，可以 apply 到 State Machine 里面。

TiKV 的 Raft 主要移植 etc...]]></description><category></category></item><item><title><![CDATA[libra交易的生命周期]]></title><link>https://blog.youkuaiyun.com/luo222/article/details/98793389</link><guid>https://blog.youkuaiyun.com/luo222/article/details/98793389</guid><author>luo222</author><pubDate>Thu, 15 Aug 2019 01:32:21 +0800</pubDate><description><![CDATA[描述交易的生命周期，从客户端提交开始到交易在Libra区块链确认（引用官方图片）：

接收交易
1.  客户端将交易提交给验证器 ，验证器的准入控制（AC）组件接收该交易。
AdmissionControlClient：submit_transaction -&gt; AdmissionControlClient:submit_transaction_opt-&gt;
AdmissionContr...]]></description><category></category></item><item><title><![CDATA[游戏建筑可用性标识算法设计]]></title><link>https://blog.youkuaiyun.com/luo222/article/details/99449719</link><guid>https://blog.youkuaiyun.com/luo222/article/details/99449719</guid><author>luo222</author><pubDate>Tue, 13 Aug 2019 17:16:41 +0800</pubDate><description><![CDATA[问题描述

建筑（AABB相同）之间可以相交，建筑与城堡（AABB包围盒大于建筑）之间可以相交（包含建筑在城堡中的情况），建筑（AABB相同）之间可以相交，建筑与城堡（AABB包围盒大于建筑）之间可以相交（建筑在城堡中），如果建筑A满足一下情况视为建筑可用：
1.建筑A直接与城堡B相交
2.建筑A1直接与建筑A2相交，A2与A3相交... 建筑An与城堡

算法设计

把建筑和城堡抽象成有向有环图...]]></description><category></category></item><item><title><![CDATA[TiDB 学习-整体架构]]></title><link>https://blog.youkuaiyun.com/luo222/article/details/99352913</link><guid>https://blog.youkuaiyun.com/luo222/article/details/99352913</guid><author>luo222</author><pubDate>Tue, 13 Aug 2019 00:09:07 +0800</pubDate><description><![CDATA[这段时间学习了TIDB，现抽空整理了一下。

TiDB整体架构



TiDB 主要分三部分： TiDB Servers（SQL 层）、PD servers、TiKV Cluster（即存储引擎层）

TiDB 存储的数据包括三部分：表的元数据，表的row，索引数据。对于 Index，TiDB 不止需要支持 Primary Index，还需要支持 Secondary Index。TiDB 对每个表...]]></description><category></category></item><item><title><![CDATA[etcd源码学习笔记]]></title><link>https://blog.youkuaiyun.com/luo222/article/details/98849114</link><guid>https://blog.youkuaiyun.com/luo222/article/details/98849114</guid><author>luo222</author><pubDate>Thu, 08 Aug 2019 10:45:50 +0800</pubDate><description><![CDATA[架构与实现：

https://studygolang.com/articles/2058

启动：

https://yq.aliyun.com/articles/622694?spm=a2c4e.11155435.0.0.3de42452iFParY

https://www.codercto.com/a/4662.html

https://jin-yang.github.io/post/g...]]></description><category></category></item></channel></rss>