自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

ivalue的博客

博客搬家了:https://github.com/ivalue2333/doc

  • 博客(82)
  • 收藏
  • 关注

原创 Linux 指令个人笔记

这里记录一些经常用到的Linux指令,其实这是矛盾的,既然是经常用到,那自然是能很熟练的使用,不用借着文字的描述来辅助操作。然而记忆始终是可能失踪的,于是这墨写的字迹总能在无处可寻时给予一些实体的帮助。首先是参考的一些网址http://man.linuxde.net/http://www.runoob.com/linux/linux-command-manual.html Li...

2018-09-01 16:06:47 802

原创 关于进程,线程,协程,一点心得

1:进程进程(Process)是计算机中的程序关于某数据集合上的一次运行活动,是系统进行资源分配和调度的基本单位,是操作系统结构的基础。在当代面向线程设计的计算机结构中,进程是线程的容器,一个进程中至少会有一个主线程。程序是指令、数据及其组织形式的描述,进程是程序的实体。所谓多进程,大多数下指的是多个进程,但是实质是每个进程里面运行了一个主线程,所以归根结底是一个“多线程”。这里理解的关键...

2018-08-22 15:55:19 826

原创 Python程序运行时间和进程池的详解

python==2.7elasticsearch==6.2.01:背景介绍,最近有一个需求,从ELK日志系统前一天的日志中提取url,url要求去重,然后呢,我用了cosine相似度和字典树匹配两种方案来去重,比较之下,字典树的效果还是要好很多的。现在遇到的瓶颈是有点慢,慢了当然就是想多多线程多进程咯,不过好像python的多线程不怎么能提高效率,于是考虑多进程。 2:运行时间...

2018-04-27 20:26:31 1818

原创 docker较为完整的入门手册

 1:Docker是一个开源的应用容器引擎,让开发者可以打包他们的应用以及依赖包到一个可移植的容器中,然后发布到任何流行的Linux机器上,也可以实现虚拟化。容器是完全使用沙箱机制,相互之间不会有任何接口。2:沙箱Sandboxie(又叫沙箱、沙盘)即是一个虚拟系统程序,允许你在沙盘环境中运行浏览器或其他程序,因此运行所产生的变化可以随后删除。它创造了一个类似沙盒的独立作业环境,在其内...

2018-04-19 15:41:52 4523

原创 Python基础

python的优势不在于运行效率,而在于开发效率和高可维护性。针对特定的问题挑选合适的工具,本身也是一项技术能力。Python2.71:Tornado Tornado是一种Web服务器软件的开源版本。Tornado和现在的主流 Web服务器框架(包括大多数Python的框架:它是非阻塞式服务器,而且速度相当快。得利于其非阻塞的方式和对epoll的运用,Tornado每秒可以处理数以千计的连接,因此...

2018-04-17 19:36:46 235

原创 web安全初探

1:拖库(拼音:tuōkù;英文:Drag);拖库一词多用于数据库程序员专业人士使用,语意:从数据库导出数据。很多时候数据库的资料需要导出来在别的地方使用,并且数据库资料可以导出好几种格式,例如:TXT,XLS等格式。“拖库”的通常步骤为:第一,黑客对目标网站进行扫描,查找其存在的漏洞,常见漏洞包括SQL注入、文件上传漏洞等。第二,通过该漏洞在网站服务器上建立“后门(webshell)”,通过该后...

2018-04-13 20:23:39 220

原创 对称加密和非对称加密(to be continued)

1:对称加密对称加密的加密方和解密方需要约定一个相同的秘钥(加密秘钥和解密秘钥相同),数据发信方将原始数据和加密秘钥一起经过加密算法处理后,将复杂的加密结果发送给接收方。收信方使用同一份秘钥,相同的算法的逆算法来对密文进行解密特点:算法公开,计算量小,加密速度快,加密效率高缺点:双方使用同一份秘钥,安全性得不到保证,每对用户每次使用对称加密算法时,都需要使用其他人不知道的惟一钥匙,这会...

2018-04-13 13:25:36 226 1

原创 KMP详解

参考的话:这一篇就足够了http://jakeboxer.com/blog/2009/12/13/the-knuth-morris-pratt-algorithm-in-my-own-words/知乎上的解答https://www.zhihu.com/question/21923021多了next数组一个观点:IT从业者还是不要惧怕English,因为你所需要的绝大多数资源都是...

2018-09-29 13:24:57 336

原创 Coding Principle

1:代码注释规范作用:方便个人阅读,方便grouper维护。在代码开头,应该注视本文件的作用在函数上部,注释输入,输出及函数功能关键代码需要注释在类上部,应该注释类的作用 2:日志规范作用:开发中发现不可预知的问题,线上排错日志分类,如nginx日志可简单分为access.log及error.log日志级别,也如nginx日志可分为 debug, info,...

2018-09-28 20:40:56 283

原创 lua-引用传递和值传递

function test1(tt) tt = {1, 3, 5}endfunction test2(tt) tt[1] = 2 tt["a"] = "hello"endt = {4, 5, 6}test1(t)for k,v in pairs(t) do print(v)endprint("------")t = {4, 5, 6...

2018-09-27 14:01:06 6143

原创 C数据类型

#include <iostream>#include <cstdlib>int main() { // 基础 int a = 5; int b = 2; float c = a / b; printf("%f\n", c); // 在printf中计算会出现意想不到的问题 printf("%f\n", (a...

2018-09-26 21:11:39 194

原创 wrk源文件阅读

1:wrk是一个开源的基准测试工具https://github.com/wg/wrk2:代码详解int main(int argc, char **argv) { char *url, **headers = zmalloc(argc * sizeof(char *)); struct http_parser_url parts = {}; // 在这里解析...

2018-09-25 16:50:43 734

原创 不用第三个变量,直接交换两个变量的值

#include <iostream>using namespace std;void swap_a(int &a , int &b) { a = a + b; b = a - b; a = a - b;}void swap_b(int &a, int &b) { a = a ^ b; b = a ...

2018-09-21 13:55:17 219

原创 CPP容器-set

Sets是一个储存元素的容器,其中每个元素最多只出现一次,元素遵循一个特定的顺序。元素一旦被放入次容器将不能被修改(修改元素的值),但是可以对元素进行插入和移除操作。Set内部的元素遵循严格弱排序,因此在寻找元素的时候比unordered_map稍微慢一些,但是可以直接通过指针操作子分组,set是一个典型的二分搜索树的应用。 begin()--返回指向第一个元素的迭代器clear()-...

2018-09-18 14:08:55 4183

原创 CPP容器-map

map是STL的一种关联式容器,他提供一对一的Hash映射,因此使用中也常常可pair数据结构结合使用,map内部自建一棵红黑树,这棵树具有对数据自动排序的功能,所以在map内部所有的数据都是有序的,也基于此,不能直接改变元素的key,因为这会破坏正确次序,要修改元素的key,必须先移除该key的元素,然后插入拥有新的key/value的元素;任何两个元素没有相同的key值https://bl...

2018-09-18 13:25:51 6642

原创 CPP容器-deque

参考:https://blog.csdn.net/hero_myself/article/details/52312644容器deque和vector非常相似,操作函数基本一致。它采用动态数组来管理元素,提供随机存取,可以在头尾两端进行快速安插和删除元素操作。Vector是单向开口的连续线性空间,deque则是一种双向开口的连续线性空间。deque对象在队列的两端放置元素和删除元素是高效的...

2018-09-18 10:37:31 845

原创 CPP容器-list

List是stl实现的双向链表,与向量(vectors)相比, 它允许快速的插入和删除,但是随机访问却比较慢。list不支持随机存取,要访问第n个元素,必须先遍历前n-1个元素才能访问第n个元素。因此,list没有下标[]操作,也没有at()接口。list的迭代器没有重载+n操作,但是重载了++, -- Lst1.assign() 给list赋值Lst1.back() 返回最后...

2018-09-18 09:59:48 4316

原创 CPP容器-vector

vector(向量): C++中的一种数据结构,确切的说是一个类.它相当于一个动态的数组,当程序员无法知道自己需要的数组的规模多大时,用其来解决问题可以达到最大节约空间的目的. 相关函数1.push_back 在数组的最后添加一个数据2.pop_back 去掉数组的最后一个数据3.at 得到编号位置的数据4.begin 得到数组头的指针5.end 得到数组的最后一个单元...

2018-09-18 09:36:16 2149

原创 C++--容器

c++中有两种类型的容器:顺序容器和关联容器,顺序容器主要有:vector、list、deque等。其中vector表示一段连续的内存地址,基于数组的实现,list表示非连续的内存,基于链表实现。deque与vector类似,但是对于首元素提供删除和插入的双向支持。关联容器主要有map和set。map是key-value形式的,set是单值。map和set只能存放唯一的key值,multimap和...

2018-09-17 20:14:38 201

原创 C++--虚函数表和虚函数表指针

参考https://www.tuicool.com/articles/iUB3Ebihttps://blog.csdn.net/haoel/article/details/1948051

2018-09-17 13:42:32 446

原创 lua-深复制table

--categroty 工具方法--src 源字符串--dest 目标字符串function _M.table_copy(src, dest) for k, v in pairs(src) do if type(v) == "table" then dest[k] = {} _M.table_copy(v,...

2018-09-17 11:55:19 978

原创 lua--switch的语法实现

function test1() print("test1") print(test1)endfunction test2(val) print(val)endlocal switch = { test1 = test1, t2 = test2,}local t1 = switch["test1"]t1()print(t1)print("------")...

2018-09-17 09:24:13 7316

原创 perf及火焰图的使用,性能分析

1:perfperf是一个性能分析工具,systemtap是一個运行时程序或系统信息采集工具,使用前需要了解其动态追踪语言,(了解动态追踪:https://blog.csdn.net/wm_1991/article/details/51982617), systemtap功能强大,但是学习成本也高,用于分析复杂问题。 2:perf下载https://centos.pkgs.or...

2018-09-14 20:22:50 2518

原创 lua-ipairs, pairs遍历table

1:ua 5.3 手册http://www.lua.org/manual/5.3/manual.html2:ipairs (t)Returns three values: an iterator function, the table t, and 0, so that the constructionfor i,v in ipairs(t) do body endwill...

2018-09-13 10:50:17 703

原创 lua-点号,冒号,self

1:self类似c++中的this指针,指向当前正在使用这个table的实例2:”.”点号就是基本的table索引的方式3:”:”冒号,记住一点就是省略self这个参数的作用,无论是在定义函数,还是在调用函数都是这个作用。冒号只能用于函数调用和定义,不能用于其他的情况local mt = {}mt.num = 100function mt.add_num(n) mt....

2018-09-13 10:05:14 176

原创 lua-table使用笔记

参考:https://www.cnblogs.com/Dong-Forward/p/6063365.html1:lua的table你可以先理解为既是一个数组也是一个字典2:table判空function isTableEmpty (t) if t == nil or next (t) == nil then return true else ...

2018-09-12 21:30:33 200

原创 Makefile详解

一篇好文http://bbs.chinaunix.net/forum.php?mod=viewthread&tid=408225

2018-09-12 20:02:51 124

原创 C++值传递(包含指针传递),引用传递

参考:http://blog.sina.com.cn/s/blog_673ef8130100imsp.html1:指针传递指针传递参数本质上是值传递的方式,它所传递的是一个地址值。值传递过程中,被调函数的形式参数作为被调函数的局部变量处理,即在栈中开辟了内存空间以存放由主调函数放进来的实参的值,从而成为了实参的一个副本。值传递的特点是被调函数对形式参数的任何操作都是作为局部变量进行,不会影...

2018-09-11 17:16:29 313

原创 C++回顾--多态(操作符重载)

1:重载的运算符是带有特殊名称的函数,函数名是由关键字 operator 和其后要重载的运算符符号构成的。与其他函数一样,重载运算符有一个返回类型和一个参数列表。如:Box operator+(const Box&);2:需要注意的点2.1重载运算符函数的参数个数,应该与参与这个运算符的运算对象数量一样多,但是如果是成员函数,则参数数量要少一个,因为第一个参数是this。...

2018-09-11 16:24:24 230

原创 mysql中的字符集和排序规则

mysql中的字符集和排序规则字符集:字符是各种文字和符号的总称,字符集就是字符的集合。常见字符集名称:ASCII字符集、GB2312字符集、BIG5字符集、GB18030字符集、Unicode字符集等。计算机要识别各种字符集文字,就需要字符编码。所以有些字符集一个字符是2个字节,有些字符集一个字符是3个字节。排序规则:举例utf_bin和utf_general_ci这两者到底有什么区...

2018-09-11 14:53:06 1080

原创 Python日期转换

python中时间日期格式化符号:%y 两位数的年份表示(00-99)%Y 四位数的年份表示(0000-9999)%m 月份(01-12)%d 月内中的一天(0-31)%H 24小时制小时数(0-23)%I 12小时制小时数(01-12)%M 分钟数(00-59)%S 秒(00-59) %a 本地简化星期名称%A 本地完整星期名称%b 本地简化的月份...

2018-09-11 14:52:25 1366

转载 RSA加密及openssl的使用

 1:rsa加密原理:欧拉公式,本质,大数分解在现有计算力下,很难再极短时间内找到解参考:https://blog.csdn.net/jizhen_tan/article/details/79253851秘钥长度,指的是模值的位长度,主流为1024,2048...RSA秘钥:(公钥+模值),(私钥+模值),成对出现公钥指数:普遍为65537(0x10001,5bits)有意...

2018-09-11 14:43:11 6497 2

原创 C++回顾--多态(模板)

1:群体数据自定义类型的数据由多个基本类型或者自定义类型的元素所组成,被称为群体数据。2:参数化多态将程序所处理的对象的类型参数化,使得一段程序可以用于处理多种不同类型的对象。模板就是C++支持参数化多态的工具。3:函数模板定义形式template <class T> 或者 template <typename T>类型名 函数名(参数表){...

2018-09-09 17:01:35 670

原创 C++回顾--多态(虚函数)

希望通过这篇文章将C++的多态,这里主要是继承派生所引起的多态效益。1:定义:多态就是相同的消息,不同的对象接收,会导致不同的行为2:多态的分类2.1:重载多态(如函数重载),强制多态(如类型转换),包含多态(主要是通过虚函数来实现),参数多态(类模板相关)2.2:实现的角度来分,分为编译时多态和运行时多态编译时多态是指在编译期间确定了同名的操作的具体操作对象,后者是运行时才确...

2018-09-08 14:13:20 91

原创 C++回顾--基础

1:声明:让编译器“认识”这个标识符       定义:给变量分配内存2:变量的存储类型auto:采用堆栈方式分配内存空间,属于暂时性存储,其存储空间可以被若干变量多次覆盖register:存放在通用寄存器中extern:在所有函数和程序段中都可以引用static:在内存中是以固定地址存放,在整个程序运行过程中都有效应该和变量的作用域和可见性结合理解3:枚举  ...

2018-09-08 13:32:13 254

原创 最大公约数,最小公倍数

1:最大公约数greatest common divisor最大公因数,也称最大公约数、最大公因子,指两个或多个整数共有约数中最大的一个。2:求解最大公约数2-1:辗转相除法:辗转相除法是求两个自然数的最大公约数的一种方法,也叫欧几里德算法。2-2:更相减损法:《九章算术》:“可半者半之,不可半者,副置分母、子之数,以少减多,更相减损,求其等也。以等数约之。”第一步:任意给...

2018-09-06 20:51:39 1081

原创 C标准输入,多行输入导致读取错误的问题

1:问题遇到的问题是在读取多行输入时,出现读取的结果和预期不匹配的问题。2:原因2.1:回车符被写入了标准输入stdio(输入缓冲区)2.2:scanf会读取回车符3:过程键盘敲入字符,当敲下回车键之后,c程序会先将缓冲区清空,然后将这些字符和回车符('\n')写入缓冲区中, 再然后scanf()和getchar函数会从缓冲区中读取字符(%d%c)。4:实例4-1...

2018-09-06 14:53:49 920

原创 C语言练习

参考:https://bingyishow.top/Technical-article/16.html

2018-09-06 11:42:09 2212

原创 Lua-Json解析的性能问题

1:环境基于openresty建站openresty版本1.11.2.5LuaJIT 版本2.1.0Luarocks版本2.4.4通过Luarocks安装cjson()openresty官网说自带cjson模块,这个没有测试,反正我这里是通过Luarocks安装cjson。2:解析Json采用ngx.say输出json,在body_filter_by_lua_file中...

2018-09-06 10:23:44 2559

原创 Nginx-webpy快速搭建反向代理服务及web服务

1:webpy的简易web服务目录 /data/webpy结构requirements.txtrun.pyrun.sh-static-templates(加”-”表示目录)run.pyurls = ["/", "_index","/json", "_json"]1:Location 中的 “/”nginx的反向代理httpupstream ...

2018-09-05 11:10:16 729

空空如也

空空如也

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

TA关注的人

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