自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 常用的Bash编程知识点

随便记录一些常用的bash编程知识点,比较杂乱,想到什么记录什么。

2023-08-25 00:33:31 60

原创 读书笔记-设计模式

目录设计模式的几大原则创建型-工厂和抽象工厂模式单例模式创建者模式(builder)Facade Pattern外观者模式装饰器decorater patternadaptor模式设计模式的几大原则1、开闭原则(Open Close Principle)开闭原则的意思是:对扩展开放,对修改关闭。在程序需要进行拓展的时候,不能去修改原有的代码,实现一个热插拔的...

2019-10-13 22:30:41 276

原创 读书笔记-高性能mysql

mysql架构和历史目录mysql架构和历史mysql中的锁:创建高性能的索引提到锁首先要和并发以及维护锁的资源开销联系起来。按照读写可以分为读锁(共享锁)和写锁(排它锁)。读锁之间不互斥,写锁之间互斥,并且读锁和写锁之间之间也存在一定的互斥关系,例如被加了写锁的资源不可读。ps:在给定的资源上,被锁定的数据量越少,系统所能支持的并发越高。表锁:锁定一张表...

2019-10-13 22:20:02 142

原创 读书笔记-代码整洁之道

目录有意义的命名函数注释代码格式有意义的命名命名要有可阅读性,希望尽可能一眼能看出变量的意义。避免使用魔数。也尽量避免使用多个单词的首字母取简。 去掉没用意义的前缀,例如在整个类的成员定义里面都加上xxx类标识的前缀。 尽量不要使用Data,Info这种没有意义的词语,如果定义用户类,就定义User别定义UserInfo。 类名使用名词,方法名使用动词。例如避免Man...

2019-10-13 22:09:17 131

原创 读书笔记-从paxos到zookeeper

1. 分布式架构目录1. 分布式架构2. 2PC和3PC 分布式系统的概念:分布式系统是一个硬件或者软件组件分布在不同的网络计算机上,彼此之间仅通过消息传递来进行通信和协调的系统。《分布式系统概念与设计》 分布式系统的特征:分布性,对等性(没有主从之分),并发性,缺乏全局时钟,总会有故障发生 ACID: atomicity:原子性。最小操作单元,操作不会被...

2019-10-13 22:06:05 84

原创 读书笔记-程序员的自我修养(编译,链接与库)

目录编译和链接目标文件里有什么可执行文件的装载和进程静态链接动态链接linux共享库的组织编译和链接预编译: gcc -E hello.c -o hello.i 预编译过程主要是处理#打头的预编译指令。 它会删除所有的#define,并展开所有宏定义 处理所有条件的预编译指令,例如#if,#elif, #ifdef, #els...

2019-10-13 21:51:44 177

原创 python HTMLParse模块

HTMLParser是Python自带的模块,实现HTML文件的分析。使用时需要定义一个从类HTMLParser继承的类,重定义函数:handle_starttag( tag, attrs)handle_startendtag( tag, attrs)handle_endtag( tag)来实现自己需要的功能。tag是的html标签,attr

2016-12-18 15:27:28 776

转载 python os模块常用命令

python编程时,经常和文件、目录打交道,这是就离不了os模块。os模块包含普遍的操作系统功能,与具体的平台无关。以下列举常用的命令1. os.name()——判断现在正在实用的平台,Windows 返回 ‘nt'; Linux 返回’posix'2. os.getcwd()——得到当前工作的目录。3. os.listdir()——指定所有目录下所有的文件和目录名。例:

2016-12-18 15:01:57 317

转载 python atexit模块和register函数

模块简介: 从模块的名字也可以看出来,atexit模块主要的作用就是在程序即将结束之前执行的代码,atexit模块使用register函数用于注册程序退出时的回调函数,然后在回调函数中做一些资源清理的操作 注意:1,如果程序是非正常crash,或通过os._exit()退出,注册的回调函数将不会被调用。2,也可以通过sys.exitfunc来注册回调

2016-12-04 12:26:18 11689

原创 python join函数的用法

Python中有join()和os.path.join()两个函数,具体作用如下:    join():    连接字符串数组。将字符串、元组、列表中的元素以指定的字符(分隔符)连接生成一个新的字符串    os.path.join():  将多个路径组合后返回一、函数说明1、join()函数语法:  'sep'.join(seq)参数说明sep:分隔符

2016-12-04 11:56:23 554

原创 python3字符串编码总结-str bytes

python3中,str包含unicode字符,而bytes包含原始8位值。而在python2中,str包含原始8位值,unicode包含unicode字符。注意这点差异。以python3为例:src = ‘你好世界’此时的str为 str类型,如果需要把它转乘byte类型,可以通过:src =  src.encode('utf-8')此时src已经是byte类型了,如果想

2016-11-05 09:59:53 397

转载 svn代码回滚(命令行)

首先保证我们拿到的是最新代码,运行Linux代码  svn up Index/   然后找出要撤销的确切版本:Linux代码  svn log --limit 10 Index/tpl/css/global.css   根据log怀疑是16976版本改坏的,比较一下:Linux代码  

2015-12-29 19:06:30 605

转载 jsoncpp库的使用方法

1、 编译jsoncpp  从(http://jsoncpp.sourceforge.net/)下载源码包“jsoncpp-src-0.5.0.tar.gz”,解压后在其解压后目录中运行$ scons platform=linux-gcc  编译出来的库文件在其libs/ linux-gcc-4.4.2目录下,有libjson_linux-gcc-4.4.2_libmt.so和libj

2015-11-30 16:07:56 443

转载 反向代理的概念

总结:正向代理:客户端知道服务端,通过代理端连接服务端。代理端代理的是客户端。反向代理:所谓反向,是对正向而言的。服务端知道客户端,客户端不知道服务端,通过代理端连接服务端。代理端代理的是服务端。代理对象恰好相反,故名反向代理。正向代理的概念正向代理,也就是传说中的代理,他的工作原理就像一个跳板,简单的说,我是一个用户,我访问不了某网站,但是我能

2015-11-22 18:25:55 217

转载 Nginx配置详解

#nginx进程数,建议设置为等于CPU总核心数。worker_processes 8;#全局错误日志定义类型,[ debug | info | notice | warn | error | crit ]error_log ar/loginx/error.log info;#进程文件pid ar/runinx.pid;#

2015-11-22 18:03:52 209

转载 C++中typedef的用法

ypedef的四个用途和两个陷阱---------------------------------用途一:定义一种类型的别名,而不只是简单的宏替换。可以用作同时声明指针型的多个对象。比如:char* pa, pb; // 这多数不符合我们的意图,它只声明了一个指向字符变量的指针, // 和一个字符变量;以下则可行:typedef char* PCHAR; // 一般

2015-11-22 17:29:13 236

转载 C++中const的使用

const是一个C语言的关键字,它限定一个变量不允许被改变。使用const在一定程度上可以提高程序的安全性和可靠性。const的使用是c语言中一个比较微妙的地方,请看下面几个问题。 问题:const变量 和 常量  为什么下面的例子在使用一个const变量来初始化数组,ANSI C的编译器会报告一个错误呢?   const int n = 5;int

2015-11-18 20:41:01 228

转载 Linux下常见的编译问题

错误提示:Makefile:2: *** 遗漏分隔符 。 停止。原因makefile中 gcc语句前 缺少一个 tab分割符错误提示: bash: ./makefile: 权限不够原因 makefile 是文本文件不可执行,即使是root,也会权限不够我们应该在命令行下使用make, 该指令会自动搜寻所在目录下的makefile文件,如果使用其他名称如(makefile.am)

2015-11-18 20:09:50 319

转载 C++如何巧妙定义宏

写好C语言,漂亮的宏定义很重要,使用宏定义可以防止出错,提高可移植性,可读性,方便性等等。下面列举一些成熟软件中常用得宏定义。 1、防止一个头文件被重复包含#ifndef COMDEF_H#define COMDEF_H//头文件内容#endif 2、重新定义一些类型,防止由于各种平台和编译器的不同,而产生的类型字节数差异,方便移植。

2015-11-18 15:30:05 461

转载 C++堆栈区别

一、预备知识—程序的内存分配    一个由C/C++编译的程序占用的内存分为以下几个部分    1、栈区(stack)—   由编译器自动分配释放   ,存放函数的参数值,局部变量的值等。其    操作方式类似于数据结构中的栈。    2、堆区(heap)   —   一般由程序员分配释放,   若程序员不释放,程序结束时可能由OS回    收   。注意它与数据结构中的堆是两

2015-11-18 14:59:34 284

转载 curl 查看访问web站点的响应时间

1. curl 查看web站点rt[html] view plaincopycurl -o /dev/null -s -w %{time_namelookup}::%{time_connect}::%{time_starttransfer}::%{time_total}::%{speed_download}"\n" "http://www.t

2015-11-10 19:02:47 308

转载 信号量与互斥锁

信号量与普通整型变量的区别:①信号量(semaphore)是非负整型变量,除了初始化之外,它只能通过两个标准原子操作:wait(semap) , signal(semap) ; 来进行访问;②操作也被成为PV原语(P来源于Dutch proberen"测试",V来源于Dutch verhogen"增加"),而普通整型变量则可以在任何语句块中被访问; 信号量与互斥锁之间的区别

2015-11-10 18:59:50 328

转载 前台进程与后台进程

1. & 最经常被用到   这个用在一个命令的最后,可以把这个命令放到后台执行2. ctrl + z     可以将一个正在前台执行的命令放到后台,并且暂停3. jobs     查看当前有多少在后台运行的命令4. fg     将后台中的命令调至前台继续运行 如果后台中有多个命令,可以用 fg %jobnumber将选中的命令调出,%jobnumber是通过job

2015-11-10 16:13:15 1666

空空如也

空空如也

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

TA关注的人

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