自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(50)
  • 资源 (8)
  • 收藏
  • 关注

原创 分布式共识算法

分布式共识算法可以分为CFT(Crash Fault Tolerance)与BFT(Byzantine Fault Tolerance)。CFTCFT算法如Paxos、Raft,只能容忍分布式节点中存在故障,不能容忍分布式节点中有节点作恶。适用于机器节点之间的通信,比如Raft,需要进行选主,如果选出的主发起恶意信息攻击,那么所有节点都会跟随主的propose进行commit;或者从节点控制伪造投票节点数量使自己在新term成为主节点恶意操控集群等。现在也有些改进的BFT On Raft、BFT On

2022-01-08 22:01:47 14524 1

原创 关于分布式集群资源调度的一些事

2021-12-18 21:37:43 527

原创 TiKV源码分析(一)RaftKV层

关于TiDB与TiKV学习总结TiKVTiKV知识点TiKV关于TiKV主要的研究点在KV的存储,TiDB将SQL转成了KV数据对,TiKV就是将KV数据进行存储并提供查询,对于多节点中每节点的数据一致性和Percolator事务prewrite/commit等就是主要要解决的事情,从而实现稳定的分布式存储。TiKV知识点Google Spanner、TrueTime APIService:gRPC(接TiDB)(kv_get/kv_scan/kv_prewrite/kv_commit A

2021-09-12 23:25:11 975

原创 TiDB源码分析

关于TiDB与TiKV学习总结TiDB+TiKVTiDB知识点TiKV知识点TiDB+TiKV这是一篇总结篇,是读了PingCAP系列文章以及部分源码对该块知识点进行的总结。TiDB知识点TiDB的主要工作是负责解析SQL协议,将其转换为所需查询的数据所在Region下传读写操作至TiKV,通过TiKV来查找具体的数据,TiKV负责Raft管理Log日志进行分布式kv的管理,以及基于Percolator进行事务一致性处理,MVCC实现多版本读取提供SI隔离级别,Google F1Nested

2021-08-31 22:13:10 906

原创 关于读写性能优化

最近把很多以前零零散散的知识缕了一下,深刻意识到带着问题场景去学习的重要性。ROUND1:关于数据库中最常见的读写和存储引发的一系列乱学一开始我们使用read/write,后来有了pread/pwrite,再后来有了readv/writev/preadv/pwritev,现在还有了io-uring。同时还有在SSD上的顺序读写上下功夫,NVMe协议的SSD具有多队列加速读写,虚拟化qemu-kvm还有virtio/vhost的解决方案,配合SPDK协议用用户态设备驱动避免频繁的内核上下文切换以及轮询

2021-07-24 22:00:36 684

原创 Linux杂录

Linux大概也是过了一遍了,现在来做一个总结,路线:内核控制路径->中断->进程调度与进程描述符->内存描述符与虚拟内存->文件系统与块设备->内存分配。(很多东西借助了其他博客)进程的进程调度算法、文件的IO调度算法、内存的伙伴和slab算法等。内核控制路径分为异常(包括系统调用)、中断、内核线程。抽象来说内核线程就是内核自己的一些日常工作;有时候上面的用户态...

2020-05-17 14:40:02 450

原创 TCP/IP层梳理

很久没更新了,这半年的时间把TCP/IP内核协议栈以及部分内核源码认认真真的捡起来看了一遍,虽然经常看的头痛不过好在慢慢能够看懂,再之后就连以前看了很多遍都没理解的东西也能看懂了比如epoll源码。过年在家把《wireshark网络分析就这么简单》和《wireshark网络分析的艺术》(林沛满著)仔细读了一遍,决定把一些内容记录下来,结合之前读过的内核协议栈源码深入地理解一下。可结合htt...

2020-02-08 01:28:18 332

原创 源码分析JRTPLIB之PollThread

读下PollThread源码和ThreadPool源码(https://github.com/progschj/ThreadPool)可以发现采用的线程间通信都是用的全局变量stop。这里提一下PollThread应该不是指的线程池,而是一种线程内部的管理机制。这两个都采用了同一种思想就是通过读取全局变量来控制线程的情况,当有函数修改了全局变量要求线程停止,其他处理函数读取到这个变量...

2019-08-24 15:16:06 1156

原创 源码分析JRTPLIB之Transmitter

先从rtptransmitter.h和rtpudpv4transmitter.h开始讲起1.关于setsockopt:以前只知道setsockopt很强大现在才知道原来socket的缓存区也可以设size = params->GetRTPReceiveBuffer();//在438行if (setsockopt(rtpsock,SOL_SOCKET,SO_RCVBUF,(cons...

2019-08-09 00:22:58 603

原创 从新版教务爬虫到JS逆向

看提到的原博链接即可新版正方教务爬虫:https://blog.csdn.net/Koevas/article/details/88384604代码可运行login_getPublickey.htmllogin_slogin.html的RSA和hex2b64JS逆向:百度翻译爬虫:https://blog.csdn.net/hwh1996/article...

2019-06-04 17:38:36 569

原创 关于一个单双击长按状态机和一个client+server

client.py:server.py:(注意b" "和encode()和端口重用)报错了端口会被占用的,只能尽量保证它不要报错状态机:(注意if/else的bug)每个状态机都有按下和松开的情况,除了S_INIT,触发它的只有按下, 所以不用考虑它的松开的情况,并且我们这里只用count来记录。第一次的判断肯定是pinValue,第二次if判断的也就是...

2019-05-05 15:10:24 220

原创 一些环境的搭建

全是Python3的:众所周知python和python3不是同一门语言一些经验总结:1.dpkg -L xx-dev # 查看某个dev包的内容2.sudo pip3 install opencv-contrib-python==3.4.4.19 # 安装特定版本的软件3.No mudule named 'pip._vendor.pkg_resources' ...

2019-05-05 15:10:03 540

原创 RabbitMQ基础一

教程:http://www.01happy.com/python-pika-rabbitmq-summary/用的ubuntu16.04和python3,对于一些问题重新改过一些地方。可实际运行。RabbitMQReceive.py //参数在这个文件里传,也就是python3 RabbitMQReceive.py sad.*import timeimport pikaimpor...

2019-04-08 21:34:00 188

原创 关于python的模块发布和写成service

关于Service写法:2019/04/18更新:把python程序写成xx.service就可以使用sudo systemctl [start|restart|stop] xx.service的方式运行它了,就跟之前我们耳熟能详的nginx一个调用法。一个service需要有三个模块:[Unit]、[Service]、[Install]。这里我们可以去下面三个地方看看别人软件里service...

2019-04-06 16:37:41 1197

原创 CRT的入口函数和python进线程池

https://www.cnblogs.com/findumars/p/5208462.html我们写的程序在编译器上编译成为一个模块(可能是obj文件或者其他形式),然后连接器会将一些所需要的库文件和刚才编译器生成的文件进行连接,最终生成一个exe文件,在所连接的库文件中就包含CRT运行时库,在运行时库里有一个已经定义如下的函数:(1)mainCRTStartup(wmainCRTStartu...

2019-03-31 16:31:03 400

原创 我的Git使用记录

要写一篇目前我用过的git命令,现在才会用git对不起!!2019/4/23在分支基础上新建一个分支:(现在我要在motion分支的基础上新建一个修改了button情况的分支,取名就叫button)在这里我修改过sound.py,因此需要要么还原回去以前的修改要么提交现有的修改,在这里我选择了修改回去。之后我们需要把motion分支的内容pull下来,然后新建一个button分支,...

2019-03-13 17:48:43 258

原创 树莓派+8x32的MAX7219点阵模块显示字符串

https://blog.csdn.net/zyaiwmy/article/details/70224250?utm_source=blogxgwz1按照上面这篇文章进行配置了驱程,修改了一下示例代码,效果如下:这里记一下项目的github地址:https://github.com/rm-hull/luma.led_matrix下面为按自己需求实现的代码import rei...

2019-03-08 21:08:04 2452 3

原创 每天修Linux系统---关于libjpeg.so.8 && 简单的安装opencv的方法

问题如图:为了修这个东西我真的是费尽心力,天天念叨,就差卸载opencv重装。重装之前试了一下结果世界都亮了哥!!!解决方案如图:cv2没有报错了!!!!!!也不知道是不是运气好能直接find到,如果你们遇到这个问题没有find到你们再找别的解决方案吧。这里说下原因,我应该是下了个什么东西里面含有libjpeg.so.62,下载了以后会自动卸载libjpeg.so.8(这太不人...

2019-03-03 20:37:55 5129

原创 CCNA学习指南----4,5章笔记

这两章很有意思,也是重点,讲了子网分配、路由汇总、路由故障排查等。故障排查就是常见的4处ping。4.1子网划分优点(这一节提到的点是CIDR)本章实现IP编址方案和IP服务,以满足中型企业分支机构网络的网络需求描述了私有和公有IP地址的工作原理以及好处。在LAN环境下实现静态和动态编址。减少网络流量优化网络性能简化管理有助于覆盖大型地理区域,WAN链路比LAN链路昂贵得多,速度也更...

2019-02-28 21:45:41 1438

原创 CCNA学习指南-----1-3章笔记

网络互联:1.2交换机划分冲突域,路由器(路由器也叫三层交换机)划分广播域,集线器不划分任何域,因此只有集线器的网络只有一个冲突域。一个广播域中可以有很多冲突域。冲突域越多,广播域的广播速度越慢。在同一个广播域中的主机可直接通过广播查找目的主机的IP,不在同一广播域的则需要用到DNS解析。集线器可用交换机替换。路由器功能:分组交换、分组过滤、网络间通信、路径选择串行接口连接到wan。...

2019-02-26 16:16:00 685

原创 CUDA基础

https://blog.csdn.net/dcrmg/article/details/54446393https://www.cnblogs.com/qingsunny/p/3384779.html文章内容基本取自于别人的博客,仅在此记录笔记以作为自己对CUDA的入门学习。CPU被称为host,GPU被称为device。Host和Device可以通过global memory、const...

2019-02-26 15:50:15 414

原创 关于回调函数

回调函数:https://segmentfault.com/a/1190000008293902?utm_medium=referral&utm_source=tuicool1.函数指针结构体-》定义加减乘除函数-》结构体指针初始化指向加减乘除函数-》函数指针调用函数2.定义加减乘除函数-》定义库函数-》使用回调函数#include <stdio.h>#in...

2019-02-24 23:12:35 181

原创 Iptables与网络协议栈

Iptables:关于filter和nat:以下内容来自于: http://www.zsythink.net/?s=iptables,建议看原作者的链接 ,讲的特别好,我这里只是记录笔记。2019/03/24更新:关于iptables的netfilter后续,常用ACL(访问控制列表)来控制路由器接口对某个ip段或tcp段的访问,也就是告诉路由器哪些数据允许出入,哪些数据拒绝出入。一个...

2019-01-18 16:05:15 1121

原创 Sub-process usr/bin/dpkg returned an error code 1&&神经棒1.0环境搭建

依赖报错:https://blog.csdn.net/F8qG7f9YD02Pe/article/details/82920498神经棒sdk安装:https://blog.csdn.net/lancevivi/article/details/79917568,一根神经棒跑上述代码没问题。遇到的问题就是如图:(其实之前就遇到了,当时没看懂就没管)解决方法:对于“python-”...

2019-01-13 22:01:14 155

原创 字节对齐的malloc

简单的malloc:int *mallocedMemory = (int *)malloc(1024+15);//这里的15是作为padding出现的这个例子中是1024的话刚刚好可以分为16,但如果是类似1025~1039这种区间的话就更需要这种padding,以避免每16位分着分着分到其他内存中去。alignedMemory = (int *)(((int)mallocedMemor...

2019-01-09 12:30:30 1150

原创 linux网络编程之RTP协议

以下内容取自:本机通信:https://www.cnblogs.com/lidabo/p/4160138.html(RTP协议传输)https://www.cnblogs.com/lidabo/p/4160145.html(RTP协议传输)非本机:http://velep.com/archives/934.html(关于服务器ip的传输方法)下载ffmpeg出错了于是从csdn上下载了...

2018-12-31 15:58:24 883

原创 树莓派上的tensorflow视频识别+远程视频流传输

1.下载models:第一步:git clone https://github.com/tensorflow/models.git models-master这篇文章配置一定要注意一定不要把models-master文件夹cp至/usr/local/lib中去,直接在~/路径下的models-master进行之后的步骤,其中的bashrc也需要把路径改为/home/pi/models-mas...

2018-12-25 19:38:18 3729 1

原创 树莓派做wifi热点+opencv安装和调用CSI摄像头及遇到的问题

wifi AP让树莓派作为wifi热点,按照https://blog.csdn.net/qq_21768483/article/details/82944874配置下来可以用,其中wifi的密码长度为4会跳出一个error,最好密码长一点。网速还挺好。里面install的几个软件是很强大的,可以去看一下。之后也的确每次开机都能自动连接wifi了。这里说一下/etc/rc.local,适...

2018-12-23 17:33:30 1962

原创 mailx+crontab+性能调优

1.下载mailx:sudo apt-get install heriloom-mailx2.打开配置文件:sudo vi /etc/s-nail.rc,在最后一行加上如下内容(password需要在qq邮箱中开启SMTP/POP3服务):3.输入下列命令即可收到邮件:标题为hello,内容为hi。4.使用定时器:crontab -e,输入以下内容(输入后可通过cron...

2018-12-17 11:21:38 264

原创 树莓派3b(二)

这次主要做了:树莓派用GPIO控制灯泡,还有用linux虚拟机通过USB转TTL向树莓派串口写消息以及控制树莓派。控制灯泡那个整体还算OK:有控制自身携带的ACT LED:https://blog.csdn.net/u011031257/article/details/80816239,整体做下来没有问题,zero也没有关系可以做下去出结果,控制的是电源红灯旁边那个黄灯。其他的GPIO实验还要买...

2018-12-10 16:58:43 362

原创 文本分类方法论速成

写这篇的原因是辅修论文,写的大数据相关的金融论文,写到最后除了论文题目里有个保险,其他就再也没跟金融有关了。由于有点偏医学,所以最后用的方法是逻辑回归,朴素贝叶斯和TextCNN,主要是做了医疗大数据分类的处理,像电子病历的处理,运动app数据整合等等。在最后发现毕竟不是真的做大数据这一块的,很多细节,像二分类变量的向量处理考虑的都不细致,应该是说根本没考虑。最后写了1w9,我真是个天才。下面...

2018-12-05 21:21:35 272

原创 树莓派3b(一)

按照网址https://blog.csdn.net/your_elephant/article/details/50831837和https://blog.csdn.net/stemq/article/details/51814858装了树莓派系统,有几个问题:1.我没有显示屏,所以用的电脑做显示屏,需要知道树莓派的ip,这里直接修改了dhcpcd.conf,具体在第三步中。2.还有一个要...

2018-12-05 21:12:43 209

原创 阿里云ACA笔记

我的那份试题偏应用多一些,也就是多考察实验里的内容,以及一些linux上的常识。试题里有记忆的部分做一些笔记:1.SLB基本都是前端为https(443),后端为http(80),如果想让后端ECS如果用户走http进来能强制转化为https的服务,需要进行配置不能直接实现。在nginx中可以进行端口rewrite。a.如果是 https 的请求直接由 443 端口转到后端我的真实网站 4...

2018-11-02 11:52:11 4049 4

原创 C语言深度解剖----重点部分笔记

第一章:关键字auto:所有变量在编译器默认缺省情况下都是auto的register:请求编译器尽可能的将变量存在CPU内部寄存器而不是通过内存寻址访问以提高效率。尽可能是因为一个CPU的寄存器也就那么几个或几十个,如果定义了很多register变量是不可能全部放入的。用&符号是去内存中取址,取不到放在编译器中的地址。CPU不直接和内存打交道而是通过寄存器去进行交流。因此&符...

2018-10-28 15:46:25 558

原创 深度探索C++模型----除第七章笔记

第三章:Data语意学3.1 Data Member的绑定主要讲Alignment,之前做笔试题遇到过挺多的,大概就是不满计算机一个字节的会加入padding填充满这一个字节。3.2 Data Member的布局3.3 Data Member的存取静态数据&非静态数据Point3d origin;origin.x=0.0;//x的存取成本分x是否为静态数据以及Point3d是否...

2018-10-22 23:11:32 258

原创 深度探索C++对象模型-----第一章笔记

第一章:关于对象1.1 C++模式 关于操作符重载的问题:type& operator[](int index){    assert(index < dim && index >= 0);    return _coords[index];}type operator[](int index)const{    assert(in...

2018-10-19 09:23:25 238

原创 最近遇到的部分知识点总结

一.多路复用循环UDP服务器:socket(...);bind(...);while(1){    recvfrom(...);    process(...);    sendto(...);}并发TCP服务器:socket(...);bind(...);listen(...);while(1){    accept(...);    //if(fo...

2018-10-13 23:44:08 340

原创 剑指offer-笔记

里面挺多细节的东西,每隔一段时间还要来复习一下。1.求链表中的倒数第k个节点用两个指针,第一个指针先走k-1步。第二个指针从头开始走,两个指针一起走,这样当第一个指针走向尾节点时第二个指针指向的就是倒数第k个节点。代码安全性:ListNode* FingKthToTail(ListNode* pListHead,unsigned int k){ if(pListHead=...

2018-09-21 18:06:37 237

原创 linux网络设备和一些知识点总结

FTP客户端和服务器之间的沟通需要四步:1.启动FTP2.建立控制连接(根据客户给出的服务器IP地址向提供FTP服务的21号端口主动建立连接请求,控制连接在用户退出之前一直存在)3.建立数据连接和进行文件传输(客户端会生成一个临时TCP端口号和IP地址,使用服务器上的20端口向客户端主动建立请求,客户端接收并三次握手后就建立了另一条TCP连接--数据连接,客户端将文件写入传输进程网络流...

2018-08-25 22:45:28 1381

原创 加密与解密-笔记

Intel使用的是小端存储,也叫作逆序存储RISC架构使用的是大端,如IBM的Power-PCpediy的ASCII码是70h 65h 64h 69h 79hUnicode的十六进制是0070h 0065h 。。。Intel处理器中:7000 6500 。。。百科上的句柄:句柄相当于应用程序每一个模块的指针。控件句柄是一个唯一的整数指向这个控件,windows会有一个句柄表,通过这个句柄...

2018-08-03 17:47:33 1324

TiDB+TiKV源码Github下载

资源保存

2021-08-11

opengl实现模型读取以及光照,移动等

这是一个用opengl实现的人物模型读取以及地面,以及光照,贴图,shader。

2018-02-28

asp上实现文件的上传以及下载

用asp的web窗体实现的文件上传以及下载,主要使用asp自带的fileupload控件以及response中请求头的使用

2018-02-26

基于MFC的图像旋转融合滤波等

其中opencv310可以到http://download.csdn.net/download/parallel2333/10259298中下载,注意将活动平台改为x64

2018-02-26

opencv的3.1.0的版本

opencv310的可用版本,使用vs的x64平台编译,其中还有java和python的opencv310版,可以直接复制到python2.7或者java中使用

2018-02-26

asp.net+sql server实现的简易服装管理系统网站

这是基于asp.net+sql server的一个简易的服装管理系统网站,使用的是web窗体,包含了asp基础操作,以及后台的增删改查。

2018-02-25

操作系统分页调度

里面实现了基础的操作系统页面调度功能,随机生成虚拟页面以及物理地址并且使用了全局传参,及计算页面hit以及miss率并且写入文件,实现方法有待参考。

2018-02-25

three.js教程

three.js的官方入门教程,全套教程及很多实例,对学习three.js有很大帮助

2017-11-23

空空如也

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

TA关注的人

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