自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(419)
  • 收藏
  • 关注

原创 【自己动手写操作系统】bochs & nasm 的安装

bochs的安装

2023-01-07 23:00:14 475 1

原创 prometheus-简介

前言这是一个介绍prometheus系列的文章,主要的参考资料是prometheus的官方文档。本章首先介绍基本的概念。Prometheus 是什么?prometheus是一个开源的监控系统和报警工具集合(翻译自官方文档)。主要有以下特点:支持多维度的时序数据PromQL:一个灵活的查询语言不依赖分布式存储,单个节点也能工作一种pull 模型来收集metrics通过gateway来支持push模型收集metrics支持对目标的静态配置和服务发现支持多种可视化工具可能这些描述不是那么

2022-05-15 17:04:43 804

原创 Influxdb源码分析-TSM Engine WAL

TSM Engine WAL 部分

2022-05-03 19:23:42 998 3

原创 Influxdb源码分析-Shard和TSM Engine Cache

Influxdb Shard结构和Shard Cache分析

2022-05-03 18:05:01 877 1

原创 Influxdb源码解析-Store

influxdb 存储查询的抽象:store结构简介

2022-05-03 16:08:29 787

原创 influxdb源码解析-tsi index

tsi index

2022-05-03 11:34:37 964 2

原创 influxdb源码解析-Inmem Index

前言​ 这是一个分析inlfuxdb源码的系列。在上一章分析了series 模块。对于series,influxdb提供了series file来作为series 逻辑的统一封装。series 作为influxdb 里面的一个重要模块,被很多其他模块依赖。本章内容分析的是influxdb 的index模块。influxdb安装和使用influxdb概念详解1influxdb概念详解2influxdb源码编译influxdb启动分析influxdb源码分析-meta部分infludb源码分析

2022-04-30 23:39:13 1357

原创 influxdb源码解析-series

influxdb series 模块介绍

2022-04-23 23:44:21 1745 1

原创 influxdb源码解析-数据写入细节

前言  ~~  这是一个分析inlfuxdb源码的系列。在此之前,已经分析了数据的基本模型,以及写入流程。在上一章数据写入部分,我们分析的是数据写入的基本流程,怎么从一个http的请求解析数据,然后计算shardgroup,shard等元数据信息,最后写入到具体的shard上。这一章分析数据写入的细节。influxdb安装和使用influxdb概念详解1influxdb概念详解2influxdb源码编译influxdb启动分析influxdb源码分析-

2022-04-23 15:35:18 1308 1

原创 influxdb源码解析-数据写入

influxdb 数据写入详解

2022-04-18 23:16:53 989

原创 influxdb源码解析-meta部分

  ~~  在前面几章,介绍了influxdb的基本概念,经常的用法,以及怎么编译源码,以及服务启动部分。influxdb概念详解1influxdb安装和使用influxdb概念详解2influxdb源码编译influxdb启动分析老规矩还是回顾一下influxdb的基本存储模型:可以看到meta,data,wal是几个比较重要的模块。在上一章我们看到了influxdb在启动的时候,装配server模型,然后启动server。其中依赖了metaCli

2022-04-17 16:31:23 839

原创 influxdb源码解析-服务启动

前言  ~~  在前面几章,介绍了influxdb的基本概念,经常的用法,以及怎么编译源码。influxdb概念详解1influxdb安装和使用influxdb概念详解2influxdb源码编译本章就开始源码的分析。分析之前,还是回顾一下influxdb的基本结构,从存储的角度来看,可以这样分:rp代表retentionpolicy。服务启动在cmd/influxd/main.go中,main函数:func main() { rand.Se

2022-04-16 17:16:23 1512 1

原创 InfluxDB源码编译

前言   ~~~   influxDB是基于golang实现的一个时序数据库,在前面的几篇文章了,介绍了influxDB的基本概念和基本操作。这一篇开始分析influxDB的具体实现,首先从代码编译开始。编译准备   ~~~   由于influxDB是golang实现的,所以确保本地的golang环境是正常的,比如goroot,gopath这些都是正常配置,然后到github上拉取代

2022-04-05 18:47:53 1897 2

原创 influxDB概念详解2

前言   ~~~   在上一章节influxDB概念详解1,解释了influxDB的一些基本概念,主要是tag,measurement,series等一些基本的概念。有些概念和我们常用的DBMS有点像。上一节介绍的概念大多数都是时序领域一些常用的概念,或者说大家公认的。在influxDB里面,还有很多自己特有的概念,大多数都是和influxDB存储和查询模型相关的。这一节主要是介绍这些概念。   ~~~ 

2022-04-03 17:48:24 2665

原创 从JDK源码角度分析Java线程

前言   ~~~   在2018年的夏天,我开始了Java学习之路。当时我才学完C++,面向对象,数据结构。还没学到操作系统和网络,所以当我学到Java的并发之后,发现了线程这个概念。并且学会了怎么使用线程,我当时以为这是Java独有的,直到学完操作系统才知道,原来线程是操作系统级别的概念,那么一个疑惑就出现了,Java线程和操作系统线程,有什么关系呢?PS:创作不易,求个关注!!基础知识   ~~~&nbsp

2022-03-18 21:47:08 774

原创 从源码的角度来解释进程

全文大纲进程是操作系统中最基础的概念。《Linux内核设计》中对进程的定义"进程就是处于执行期的程序"。进程其实就是一个程序的执行过程。从计算机诞生哪天开始,到现在其实架构都是冯诺依曼存储指令集的模式,没有改变。代码从编辑->编译 之后,会生成一个中间文件,有可能是二进制文件或者是一个能够被一些虚拟机识别的文件,这个文件会在特定的环境下,被载入到内存完成程序的执行,而程序在执行过程中,就被视为一个进程。进程的生命周期进程一般处于这四种状态中的某一种,那么当我们启动一个进程是如何启动的呢?在

2022-03-07 15:01:16 531

原创 Java后端开发学习路线

前言最近春招开始了,很多校招同学想从事Java开发的工作,但是不是很了解这里可以把我之前的学习路线分享一下。有困难的同学私聊加群,一起学习备战春招。基本大纲上述这些,简单的说一下都有哪些重点和资料。Java基础Java基础指的是对Java语言的理解,主要包括Java语法,面向对象基础,Java关键字的使用和理解,集合类和常用类,异常机制,Java IO等。关于这方面,有一个课程可以推荐:Java300集这个课程是尚学堂出品的,很经典,讲的也很通俗易懂。可以根据自己的情况选择一些章节。这个课程

2022-03-05 18:48:25 1597

原创 读书回顾和展望

时间真快好久没有写技术相关的东西了,其实不是我变懒了,也不是没有时间,主要是觉得自己没有什么可以写。随着认知的慢慢增多,看了很多优秀的分享,每次提笔写的时候,总有一种"眼前有景道不得,崔颢题诗在上头"的感觉。这是因为,相比之下自己的认知还是太少了,所以唯一能做的就是多读书。今天的这篇文章,不谈技术,谈谈自己最近的想法。第一个就是时间真快!经常看到一个有人说,疫情加速了时间的流逝,似乎20/21年没什么存在感,感觉就像没有经过一样。我也有这样的感觉,但是每当仔细回想,还是能回忆起很多关于这两年的事情。

2022-02-20 21:52:53 1246

原创 Debugger Tool In Action

This Blog will show useful debugger toolIntroductionDebugger tool for c/c++Env infoDemo codeCompile Source CodeStart gdbSome actionList source coderunbreakpointcontinueprint /whatisbacktracequitSummaryDebugger for GoHow to InstallDebugger for JavaJDBArthas

2021-11-07 18:23:22 169 1

原创 2021读书计划

说点废话工作之后,发现要学的东西越来越多。可能还是学生时代太懒了,没有仔细的静下心去读几本计算机方面的优秀书籍。现在幡然醒悟,还是要读点书,看点优秀的作品的。从七月份就在陆陆续续的读一些书,定个小目标:把自己读过的书每两周做一个总结。计划如下。读书计划✅ 自己动手写docker✅ Kafka权威指南LevelDB源码[ing]...

2021-09-25 22:21:17 131

原创 时序数据库-InfluxDB概念详解1

InfluxDB相关概念在influxDB中,有很多概念,例如DataBase,Measurement,point,Field等等。这些概念都是什么含义,本篇文章将会对常用的基本概念和操作做一个总结。Database和MeasurementDataBase和Measurement都是对数据的一个归类,只不过粒度不同。这个举个例子就明白了,文件和文件夹的概念,DataBase是一个文件夹,里面存放放了很多文件,每个文件就可以理解为一个Measuremen。关于这个概念,如果了解其他关系型数据库例如MyS

2021-07-31 19:22:46 1844 1

原创 Go项目报错:xx not in GOROOt

执行go mod tidy 报错解决方案根本原因是sdk里面没有这个东西,升级一下就好了。可以直接升级到最新版:16.即可解决

2021-07-19 11:00:15 217

原创 Go语言基础教程-数据传递和指针

Go语言基础教程学习链接学习入口

2021-07-18 21:35:35 159

原创 什么2022了你还不会Go?快来学!

Go语言基础教程![学习链接面向零基础人群。来了包学会,后续会逐步更新到CSDN,目前在微信公众号上更新!速来学习:Go语言基础教程

2021-07-17 21:37:07 139

原创 自己动手写RPC-传输协议和序列化方式

介绍在RPC中,传输协议是必不可少的。协议其实规定了客户端和服务端怎么理解数据。有同学可能不是很理解序列化的意思,其实序列化的意思可以简单理解为怎么把一个结构化的数据给转化为字节数组。因为在网络传输的过程中,都是通过字节为基本单位传输的。下面介绍接种常见的序列化方式。概念定义序列化:把结构化数据转为字节数组反序列化:把字节数组转为结构化数据主要介绍JSON,Protobuf,Hession,Thrift环境说明本次演示的平台:MacOS;开发工具:IDEA;构建方式:Maven;语言:Jav

2021-07-11 15:33:41 356 2

原创 自己动手写RPC-Thrift协议

介绍RPC其实在开发中十分的常用。RPC现在有很多种,比如dubbo,thrift等。首先来学习一下thrift开发工具:Idea+macos环境准备安装一下thrift,其实这是一个工具,有点类似于编译器。在mac上比较简单brew install thrift安装完了之后执行一下命令,看看是不是安装好了。thrift --version如果能正确输出版本就是正常,如果不行就需要查看原因。如果是linux系统可以下载源码自己编译一个二进制文件出来(这个方式特别的费劲,我编译了一半放弃了

2021-07-10 23:08:40 201 1

原创 字节提前批面试!!!!

重磅!!!字节校招提前批开始啦!!!,是不是蠢蠢欲动呢?提前批有啥好处?提前批的好处快速拿到Offer!提前批的面试流程一般很快,基本一周就有结果。快速拿到Offer。拿到Offer就可以躺平,拒绝秋招继续卷?Argue拿到Offer之后可以Argue其他的Offer,这个你懂的!实习机会拿到Offer可以提前来实习,实习待遇丰厚投递那么还等什么呢,抓紧来投递吧!!!可以直接联系我面试辅导,保驾护航。字节等你来内推码:9JVEWJR投递链接:https://jobs.toutiao.

2021-07-08 20:53:55 260 1

原创 NIO-IO那点事1

从盘古开天辟地开始讲IO操作指的是数据从磁盘或者(socket)加载到操作系统可以直接操作的地区,比如内存,缓存等。现代IO模型主要有以下五种:阻塞IO非阻塞IO多路复用信号驱动IO异步IO或许会有人问:什么是IO模型?(这种同学建议出门左拐)IO模型其实指的是IO的方式。在很早之前IO操作都是通过CPU完成的,也就是当你发起系统调用的时候:read/writeCPU会通过指定的文件描述符找到文件,然后把数据从磁盘搬过来。后来发现这种苦力活可以直接交给其他人来做:DMA(Direc

2021-03-31 20:30:28 157 1

原创 深度学习-手写数字识别

前言图像分类是计算机视觉里面最基本的任务。其中手写数字识别几乎等同于cv的helloWorld,本篇博客会把这个demo实现一下。实现方式有两种,第一种就是使用最基本的神经网络,第二种是使用leNet。这里就不再从零开始,直接使用封装好的库函数:tensorflow+keras。环境tensorflow:2.31keras:2.31numpy:1.20.1NN代码from tensorflow.keras.utils import to_categoricalfrom tensorfl

2021-03-26 18:47:21 460

原创 InfluxDB-Influx安装和使用

时序数据库首先简单介绍一下时序数据库的概念,时序数据库就是按照时间顺序存储的数据的数据库。在这个数据库里,时间是一个主要维度,存储的数据大多都是按照时间变化而变化的数据。目前开源的有很多,本次先介绍一下InfluxDb。InfluxDB的安装其实InfluxDB更倾向于运行在Linux服务器上,这个东西很像一个比较比较简易的KV存储器。下载连接下载解压之后,直接双击Influx.exe 即可启动,启动成功以后可以看到:这是服务端日志页面。然后另外开一个窗口,作为客户端连接:执行influx.e

2021-03-25 17:48:44 2447 1

原创 Go-Gin参数绑定

Gin参数绑定在web层,对于前端传参后端如何解析是一个比较重要的问题。对于Http协议来讲,网络请求有很多方法:GET,POST,DELETE,PUT。。。那么参数绑定怎做呢?回忆杀首先回忆一下Java怎么解析参数古老的Servlet相信很多人都是写过Servlet的,其实Servlet使用的是最原始的也是最强有力的工具:Request对象。对于当前一次会话,都会有一个Request对象,这个对象有点类似于上下文:例如我们这样获取参数。spring MVC在Servlet的基础上,Sp

2021-03-25 13:43:38 1288

原创 Go-Gin安装

Gin 简介Gin是Go语言的一个Web框架,非常的简便灵活。Gin安装这里我们采用GMod的形式管理包,首先配置一下代理:这个两个环境变量,在Linux直接写道.bash_profile里面,在Windows直接找到环境变量里面写进去。然后在当前项目里面init配置:go mod initgo get github.com/gin-gonic/gin如果记得配置GoPath 很多人写了好久的代码都不知道GoPATH是干啥的,说一下我的理解。其实这个地方有点类似于Mvn Repository

2021-03-24 15:17:25 529

原创 【新的阶段】

启程不出意外,这大概是MatrixYg最后一篇文章了。最近一段时间比较忙,也没怎么更新。现在一切基本都稳定下来了,也是时候好好总结一下。起因这个账号起源于18年的夏天,就像网上现在很火的一句话:“你还记得18年的夏天吗,那个夏天有xx,xx,xx还有xx,除了很热,我还是很喜欢的。”没错,18年的夏天,是一个很难忘的夏天。那个夏天几乎令我窒息。发生了一件事让我不得不去重新审视未来的道路。我选择了工作,于是开始拼命学习各种技能,我从那时候开始也立志要进入阿里。时隔两年我做到了后来发生了很多事,让我获得

2020-06-07 21:12:04 1968 5

原创 春招实习总结

前言春招随着阿里offer的到来就结束了,其他公司基本就没面了。其实我是想继续锻炼技术的,但是随着某天W某说我是浪费面试官的时间和浪费自己的时间我就突然觉醒,他说的对,其实要说只是面一个实习或者校招,对我现在来说,自信点不是大的问题。所以就没必要去面了又不去,这样其实拒绝的时候还是挺尴尬的,搞不好还被人记住了。成绩面试就面了四家大厂,也是国内现在top级的大厂。字节是去年就面了的,而且直到...

2020-05-03 00:16:22 1025 1

原创 Go的中间件

中间件中间件这个东西其实指的很多,比如消息队列。可以说但凡是在业务逻辑之前的,都可以被说是中间件。比如鉴权,日志这些。go语言里面对中间件的使用比较有意思。先看一个简单的逻辑:一个简单的http请求package mainimport ( "log" "net/http")func hello(wr http.ResponseWriter,r *http.Request){ ...

2020-05-02 01:26:32 2326

原创 四月

闲话(1) 博客丢了半个月没更新了,其实不是不想更,而是基本上没有时间。说实话,这个月挺忙的。明天就是劳动节了,一如既往,节前其实公司一般都是不会允许上新服务的,所以大家都是在自测阶段。好吧,终于松了一口气。(2)其实这个月是真的感受到了压力,工作的压力。这个月我有好几个晚上都没有睡觉,就是通宵写代码,查错。你可能会说,为了公司的事情你值得吗?你也不是个正式员工,只是个实习生为啥还要这么拼。我...

2020-04-30 20:50:09 399

原创 阿里春招面试

前言:阿里其实是我想去的地方,昨天offer call了。部门是新零售。许愿offer。 其实春招我基本就结束了,就面了三个地方:阿里,腾讯,美团。腾讯和美团目前都拿到了Offer,阿里还在等待。纵观所有的面试中,其实感觉对于我最大帮助的有两个,第一就是算法能力,这个让我在笔试还是面试手撕代码都很轻松,基本上没有碰到难题,都是一眼秒。第二就是实习经历,在字节学到了很多东西,见识了很多新技...

2020-04-11 15:40:01 1280

原创 【2014 ACM/ICPC Asia Regional Shanghai Online】

1.最近开始刷刷题,没找到什么好的方法,就把之前的比赛一场一场拿出来刷刷。2.the Sum of Cube。三次方求和,很简单,三次方求和就是pow(C(n+1,2),2).但是由于这个数比较大,高精度搞一下。我用JAVA 直接AC的。import java.math.BigInteger;import java.util.Scanner;public class Main {...

2020-04-06 13:45:58 432 1

原创 美团春招技术三面

前言首先说一下最近的事情,最近公司里的需求很多,逐渐熟悉了业务就被当做了一个正式员工来用?开始参与到一些比较核心的业务模块的开发,用了很多技术组件。都不是很熟悉,就需要时间去调研然后做开发,每天搞到两点多,怕因为自己耽误了进度。。。。其中印象最深的是函数计算,一种比微服务更加细粒度的计算服务。其实这个之前就听说过,Amazon 的Lamada,这个是一个函数计算平台,公司也有对应的函数计算平台...

2020-03-26 23:28:39 1210

原创 ZooKeeper学习 一:安装

ZooKeeperzooKeeper是一个分布式协调工具,用处十分的广泛,基本上可以总结一下几点。(1)分布式状态下配置信息的维护:在程序运行时我们需要维护一些配置信息,例如数据库的信息,这些可以作为配置文件让程序读取,但是在分布式状态下,如果一个配置更新了,可能和他相关的其他集群也要更新自己的信息,这个配置信息的维护变得比较困难。使用ZooKeeper可以简化这个操作。(2)分布式锁的实...

2020-03-22 15:49:58 250

空空如也

空空如也

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

TA关注的人

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