自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 目录 index

文章目录算法理论类gitchat训练营学习笔记算法思想学习深度学习数据结构与算法工具使用类并发并行相关网络相关协议相关swig数据库mongomysql技巧类c++python其他刷题类leetcode*未归档**未完成*没有打勾的是要重新整理的算法理论类gitchat训练营学习笔记算法思想学习 六篇笔记,几乎纯理论,还涉及到一些数学问题1 2 3 4 5 6深度学习...

2020-04-06 18:09:02 142

原创 linux命令grep sed sort uniq的常用技巧

grep sed sort uniq 的常用技巧

2023-01-30 16:35:19 571 1

原创 mongodb的使用

mongodb的使用

2023-01-30 16:06:06 372

原创 MongoDB的安装

mongodb的服务端与可视化客户端的安装

2023-01-30 16:03:22 105

原创 linux命令awk的一些常用技巧

awk是强大的文本处理工具,既可以应对文本分割,也可以对数据进行统计,上手后十分方便快捷这里简单记录一下使用心得和技巧,以备不时之需常用的内置变量awk中的若干内置变量可以直接在脚本中使用而不需要声明,其中一部分可以直接使用option设置来修改分割方式RS(record-separator) FS(filed-separator)这两个是分割控制符,用来控制record和field的分割方式,默认RS为换行FS为空格。对应到脚本中,默认循环遍历对应的每一个record,输出的$1$2对应.

2021-03-09 19:18:12 592

原创 tc_mem_chunk 的使用

tars源码学习笔记2释放空间入参为地址时:mmca的deallocate中,会先计算要释放的的内存是否在自己的范围内,不在的话递归下去调用下一个mmca的deallocate。如果在自己的范围内的话,会先计算地址在哪一个mca负责的空间内。因为在初始化的时候说过每一个mca管理的分块的数量是一样的,然后是用数量乘块大小来计算出每一个mca的空间,所以在内存空间中,mca是根据块大小由小到大排列的,而且所有大小相同的块是连续在一起的。也是这个原因可以遍历vBlockSize累加计算出pAdd.

2020-12-23 11:33:05 159

原创 tars源码学习-内存管理

tars源码学习笔记1内存分配器原始内存块 TC_MemChunkTC_MemChunk(简称mc):内部有两个指针,一个指向header,一个指向所管理的内存空间,管理的内存空间的具体信息都在header里,而且header占的空间也在自己的管辖范围内提前分出来(后面也是类似结构)。所管理的内存空间会按照指定数值大小分块管理,称为block。头部结构tagChunkHead:记录管理区域内的信息:每个block大小、block数量、第一个空闲block的index、总计的空闲bloc.

2020-12-21 10:51:03 177

原创 CRTP 静态多态

CRTP对于RAII的虚函数的效率问题,是因为没有办法确定指针的具体类型,才采用了运行时动态判断,但是这样会导致效率降低。看过一篇知乎的文章说使用benchmark测得普通函数与虚函数的差距在8-10倍,具体原因跟很多方面有关。CRTP就是为了优化掉这个问题而提出的一种模式,将原来的虚继承改为了继承“定制的“模版类。这样的话原本虚函数的调用,改为了使用强转指针类型并调用其成员函数的方式实现了,对于类型的判断从原本的“运行时“变成了“编译时“。下面附上四个例子来一步步看看怎么实现:https://git

2020-09-08 15:18:35 563 1

原创 Makefile 基础学习笔记

Makefile 基础学习笔记makefile 有三部分组成,一部分是变量,一部分是依赖关系,一部分是执行命令<变量1> = <值><依赖者>: <被依赖者1> <被依赖者2> <命令1> <命令2>变量变量一般为全大写,使用的时候用 $(xxx) 的方式有多种赋值方式=赋值:表示使用<值>进行赋值,若<值>中有使用变量2,则变量2用在makefile展开完成后的最终

2020-07-06 15:33:36 150

原创 Redis读书笔记 - 集群篇

集群篇这一篇内容书上讲的有点水很细节的东西没有讲到,只是原理,细节的东西再在别的地方再找找。主从同步实现了读写分离,主写从读,优化点在大量的读操作被从均摊。通常情况下主服务支持读写,从服务数据由主服务同步来,对外为只读,构成一主多从结构。可以在启动前配置文件中修改,也可以启动后使用slaveof命令修改。主从同步的方式分为了两种:增量同步主节点:一边处理指令,一边异步将指令...

2020-05-06 11:01:36 189

原创 Redis读书笔记 - 原理篇

高性能原理线程IO模型redis保证服务高效的原因是因为它是单线程程序,因此在对内存数据处理时候不需要锁以及线程间来回切换的浪费。为了处理客户端的并发连接,redis使用基于事件驱动的io多路复用来管理多个socket。使用select系统调用处理要响应的事件(read,write,accept),循环调用select,并附带超时时间timeout阻塞在这里。如果有事件来,则处理事...

2020-04-19 21:04:07 156

原创 Redis读书笔记 - 基础使用篇

文章目录五种基础用法kv键值对(string)listhashsetzset常用场景分布式锁消息队列延时队列有趣的工具位图HLL 基数估算布隆过滤器 4.0限流 4.0地理计算 3.2遍历要注意的点五种基础用法kv键值对(string)键值对读写“get {k}”, “set {k} {v}”可以批量读写“mget {k1} {k2}”, “mset {k1} {v1} {k2} ...

2020-04-16 16:05:51 405 1

原创 [leetcode刷题] 和为s的连续正数序列

题目传送门1.滑动窗口因为结果是连续序列,所以可用头哨兵尾哨兵来唯一确定一个序列。序列的和也可以计算出。因此有n*n个序列需要去判断。但是当知道了某序列的值已经比target要大,则相同起点更长的序列不需要判断,所以可以剪枝掉一部分,因此有滑动窗口一说。具体流程:序列初始为[1]其值为1(如果是0会错)。小于target时头走一步(可根据增量来计算出新序列的值)大于target时尾走...

2020-04-06 18:19:48 146

原创 [leetcode刷题] 通过前序遍历和中序遍历的结果还原二叉树

题目传送门通过前序遍历和中序遍历的结果还原二叉树前序遍历是先输出val在进入left,left结束之后是right而中序遍历是先进入left,left结束之后再输出val因为这个特点:1.对于所有的preorder[0]来说都是当前树的root。2.在通过这个root的值在inorder里找到相应的idx,所有idx左边的都是left的输出结果,可求出 inorderL 和 inor...

2020-04-06 18:18:47 292

原创 线程与进程的对比

在理论知识上讨论进程与线程

2020-04-06 18:16:24 289

原创 [算法]算法学习06

狼羊草问题建立全量的状态集合,以及状态转移的流程,从一种状态搜索到另一种状态,并不是很难。24点计算器问题是给定四个数字,检查能否通过在其中使用四则运算得到24.通过枚举每种排列方式,然后枚举各种计算符号,以及枚举每种计算顺序可以得到结果。这里我感觉可以有新的解法:1.先对24质因数分解,并记录住分解后的下家。2.然后遍历着从四个数字中取两个,看是否能通过四则运算得到分解后的结果。...

2019-06-12 18:55:39 140

原创 [深度学习]深度学习学习笔记02

损失函数神经网络通过不断修改自身的参数来尽量达到每条训练数据都正确,都更加接近正确,所以要定义损失函数,用来量化当前成绩与满分之间的差距。均方差def mean_squared_error(y, t): return 0.5 * np.sum((y-t)**2) # 就是求每一项的方差,然后累加起来再除以二交叉熵def cross_entropy_error(y, t):...

2019-06-12 17:48:45 155

原创 [深度学习]深度学习学习笔记01

感知机接收多个输入信号,输出一个信号,每个输入信号都有相对应的权重,根据所有的输入值乘权重得到最后输出的结果。设输入信号{x} = [x1, x2, … ,xn] = X相应的权重{w} = [w1, w2, … ,wn] = W乘积为 x1w1 + x2w2 + … +xnwn再加上一个偏置b,最终为 x1w1 + x2w2 + … +xnwn + b最终计算得得值可以写为 XT ...

2019-06-06 17:46:08 209

原创 [python]pandas数据分组相关

数据的分组先初始化数据import pandas as pdimport numpy as npdata = {'year':[2016,2016,2017,2017,2017,2018,2018,2019], 'num':[2,5,4,7,8,90,78,5], 'name':['a','b','c','d','e','f','g','h']}df = ...

2019-06-05 19:05:45 580

原创 [算法]算法学习02

动态规划分四步,子问题结构,状态,状态转移方程,边界收尾。重点在对于子问题的定义,以及状态的转移。动规的题难有定式,日常积累些典型例题且学会解决问题的思考方式就好。穷举就是简单粗暴的一个个试。有两个优化的点:启发,例如每一个尝试都有响应概率,先可概率大的来。剪枝,根据某些条件判断出必不可能的点,从而减小穷举的范围。以上两种方法为策略方向入手。结果方向入手,可以退而求其次,不一定到最...

2019-06-01 17:54:43 145

原创 [算法]算法学习01

贪婪可以理解为最简单基础的求解方式,特点是"短视性",从这个特点入手很容易理解每一步取其最优的原理。虽然最终结果不一定是最好的,但是一定是较好的而且是最简便的。因此在不过分追求最优结果或者对速度的要求高于结果的情况下,贪婪是不错的选择。分治可以理解为大事化小小事好搞,与贪婪的每一步的"串联"不同,分治考虑的是分成每一部分处理。常见就是二分查找与快排,因为涉及到二分,大部分为递归实现,且速...

2019-06-01 17:54:00 190

原创 [算法]算法学习05

穷举法装配线与工作站问题问题太长了就不粘了,大概就是这样一个有向图,每条边都有各自的权重,求起点到终点的最短路径。起点为根节点建立树,其相邻一步到达的节点为子节点。搜索所有可行路径,记录到达终点的最小值。用三个水桶等分 8 升水的问题问题:好莱坞电影《虎胆龙威 3》中,布鲁斯·威利斯饰演的纽约警探约翰·麦克莱恩被恐怖分子点名挑战,让他在指定的时间内完成各种危险指令,否则就威胁炸掉整个...

2019-06-01 17:46:22 144

原创 [算法]算法学习04(方程求解)

方程求解二分法对于任何连续函数,f(a)<0 f(b)>0 ,则在(a,b)中存在零点。因此可以通过检查f((a+b)/2)的正负性来确定下一次迭代的区间。推出条件即f((a+b)/2)==0,但是这是二分法逼近,难以达到浮点数的精确的值,因此只要判断区间小于无穷小即可。const double PRECISION = 0.000000001;typedef double...

2019-06-01 16:40:55 2360

原创 [算法]算法学习03

迭代法可以理解为“已知数列的递推公式求第n项”的问题,一般使用循环或者递归实现。最常见的例子比如递归求 n!。递推公式为 A(n) = n * A(n-1)def f(n): if n==1: return n else : return n * f(n-1)迭代法分为三部分:1.迭代的结构(递归函数的结构)2.变化的量(当前的参数n以及下一次迭代时候的n-1)3.迭代...

2019-05-30 19:41:01 136

原创 [c++]字符串匹配kmp算法

本来是想写一个split函数,暴力比较的,后来写完后加上了kmp算法(忽略一大堆头文件…在别的代码里写的…)#include <stdio.h>#include <sys/epoll.h>#include <sys/socket.h>#include <sys/types.h>#include <netinet/in.h>#i...

2019-05-10 10:33:38 321

原创 [c++] 学习epoll的历程(附调试用demo)

最近在看epoll查阅了很多文章,,,之所以不好理解是因为涉及到的东西太多组合方式也各不一样,在此处罗列一下。。。两个fd一个是 listenfd=socket(…) 得到的,用来监听socket的fd另一个是 connfd=accpt(…) 得到的,用来交互数据的fd,是在有cli连接到socket的时候生成的两者不同都要分别进行各自的设置两种状态阻塞与非阻塞这个是针对fd进行的设...

2019-05-08 12:31:22 1601 1

原创 [linux]protoc的安装

下载protoc再GitHub上下载对应版本:https://github.com/google/protobuf/releasestar -zxvf protobufcd protobuf./configure --prefix=/usr/local/protobufmakemake checkmake install配置环境变量vim /etc/profile...

2019-05-08 10:07:32 15846 2

原创 [c++][python] swig的简单使用

1.写逻辑1.1 编写要实现某功能的类(cpp)编写要封装的类,最好接口都是简单的数据类型便于处理,要有独立的头文件// myfunc.hclass Test(){public: Test(); ~Test(); void test();};// myfunc.cpp#include "myfunc.h"#include <iostream&gt...

2019-05-08 10:01:34 232

原创 [c++]线程池简单例子(with barrier)

简单实现了一版线程池,为了弄epoll匆匆写的,,,,,如果有什么问题的话也麻烦指出来,,,多谢

2019-05-07 18:27:23 344

原创 [c++]socket的简单实现

socket使用的demo(并没有设置非阻塞)server:#include <sys/socket.h>#include <netinet/in.h>#include <arpa/inet.h>#include <stdio.h>#include <stdlib.h>#include <unistd.h>...

2019-05-06 12:30:56 358

原创 [python]模块-multiprocessing-多进程模块(2)

共享类# 定义要共享的类class MyRedisLockMgr(object): ...

2019-04-29 18:57:56 170

原创 [python]pandas使用的demo

干货:import numpy as npnp.set_printoptions(suppress=True) # 设置输出不用科学计数法import pandas as pdpd.set_option('display.float_format', lambda x : '%.2f' % x) # 设置输出浮点数为小数, 不用科学计数法# 初始化df = pd.DataFr...

2019-04-28 10:38:01 549

原创 [mongodb]mongodb的yum安装

官方教程:https://docs.mongodb.com/manual/tutorial/install-mongodb-on-red-hat/#先创yum的仓库文件vi /etc/yum.repos.d/mongodb-org-4.0.repo#放入下面的内容[mongodb-org-4.0]name=MongoDB Repositorybaseurl=https://repo...

2019-04-15 16:29:48 218

原创 [mysql] mysql的yum安装

官方教程:https://dev.mysql.com/doc/mysql-yum-repo-quick-guide/en/#下载rpm并安装上wget https://dev.mysql.com/get/mysql80-community-release-el7-2.noarch.rpmrpm -Uvh mysql80-community-release-el7-2.noarch.rpm...

2019-04-15 14:55:48 93

原创 [c++] 函数作为参数传入函数进行调用的例子

#include <cstdio> ...

2019-04-11 10:30:42 250

原创 [c++] 文件操作相关的例子

#include <cstdio> ...

2019-04-11 10:27:30 96

原创 [c++] 多线程demo

#include <cstdio> ...

2019-04-11 10:21:04 394

原创 [python]模块-multiprocessing-多进程模块(1)

python语言中因为有全局锁所以多线程并不能带来效果的提升,所以要采用多进程模块去掉用多个cpu同时工作达到速度的提升。multiprocessing 里有很多有用的模块Process最基础的启动一个进程的方法。import multiprocessing#定义子进程def func1(data,idx): print str(data),idxdata=‘h...

2018-08-07 21:55:26 177

空空如也

空空如也

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

TA关注的人

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