自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 linux下解压命令大全

.tar 解包:tar xvf FileName.tar打包:tar cvf FileName.tar DirName(注:tar是打包,不是压缩!)———————————————.gz解压1:gunzip FileName.gz解压2:gzip -d FileName.gz压缩:gzip FileName.tar.gz 和 .tgz解压:tar zxvf

2013-08-05 19:56:09 700

原创 纠错集(持续更新)

1.linux下两种常见的压缩包压缩方法:bz2文件 time tar -jcvf j.tar.bz2 workspace/ 340M 56.8% real 13m20.975s user 11m13.872s sys 0m5.985s  gz文件 time tar -zcvf z.tar.gz workspace/ 348M 58.1% real

2013-08-01 12:03:18 1119

原创 linux常用命令。(持续更新)

1.gdb:flash builder模拟客户端运行程序,这时服务器挂在内存中运行,如果此时发送了请求而程序中的某个模块没有正确运行,就需要进行调试,gdb就是很好的工具,常用的命令是,gdb + 可执行文件, gdb -c core文件 + 可执行文件,要产生core文件首先要使用命令ulimit -c unlimited,还有一种方法就是使用gdb -p + 进程号,这种方法特别适用在此处,因

2013-07-22 13:24:05 1424

原创 运维工程师必会的109个Linux命令

1       文件管理1.1     basename1.1.1     功能说明从文件名中去掉路径和扩展名  例:basename include/stdio.h .hOutput "stdio".1.1.2     选项--help     显示此帮助信息并离开--version 显示版本信息并离开1.2     cat

2013-01-01 11:43:45 2199

转载 linux硬盘分区格式化及挂载

linux硬盘分区格式化及挂载1、硬盘的接口类型硬盘的接口一般分为两种,一种是IDE并行接口,一种是SATA串行接口, 在linux上面IDE接口的硬盘被识别为/dev/hd[a-z]这样的设备,其中hdc表示光驱设备,这是因为主板上面一般有两个IDE插槽,一个IDE插槽可以接两个硬盘,而光驱是接着IDE的第二个插槽上面的第一个接口上面。其他诸如SCSI,SAS,SATA,USB等

2017-02-16 18:42:43 1049 1

转载 MySQL日志管理详解

这篇文章主要介绍了MySQL日志管理详解,本文讲解了日志种类、日志功能、MySQL中日志相关常用的服务器变量说明等内容,需要的朋友可以参考下:日志文件对于一个服务器来说是非常重要的,它记录着服务器的运行信息,许多操作都会写日到日志文件,通过日志文件可以监视服务器的运行状态及查看服务器的性能,还能对服务器进行排错与故障处理,MySQl中有六种不同类型的日志。一、日志种类

2016-12-15 11:40:58 734

转载 服务器TIME_WAIT和CLOSE_WAIT详解和解决办法

在服务器的日常维护过程中,会经常用到下面的命令:netstat -n | awk '/^tcp/ {++S[$NF]} END {for(a in S) print a, S[a]}'    它会显示例如下面的信息:TIME_WAIT 814CLOSE_WAIT 1FIN_WAIT1 1ESTABLISHED 634SYN_RECV 2LAS

2016-11-09 20:30:15 447

转载 Twitter-Snowflake,64位自增ID算法详解

Twitter分布式自增ID算法Snowflake     在分布式系统中,需要生成全局UID的场合还是比较多的,twitter的snowflake解决了这种需求,实现也还是很简单的,除去配置信息,核心代码就是毫秒级时间41位 机器ID 10位 毫秒内序列12位。    在上面的字符串中,第一位为未使用(实际上也可作为long的符号位),接下来的41位为毫秒级时间,然后5位

2016-11-09 09:59:31 659

转载 C++11中值得关注的几大变化

声明:本文源自 Danny Kalev 在 2011 年 6 月 21 日发表的《The Biggest Changes in C++11(and Why You Should Care)》一文,几乎所有内容都搬了过来,但不是全文照译,有困惑之处,请参详原文(http://www.softwarequalityconnection.com/2011/06/the-biggest-changes

2016-10-09 18:00:17 343

转载 理解MySQL——索引与优化

写在前面:索引对查询的速度有着至关重要的影响,理解索引也是进行数据库性能调优的起点。考虑如下情况,假设数据库中一个表有10^6条记录,DBMS的页面大小为4K,并存储100条记录。如果没有索引,查询将对整个表进行扫描,最坏的情况下,如果所有数据页都不在内存,需要读取10^4个页面,如果这10^4个页面在磁盘上随机分布,需要进行10^4次I/O,假设磁盘每次I/O时间为10ms(忽略数据传输时间),

2016-04-12 17:07:23 320

原创 C++程序后台运行代码

int InitDaemon(){ pid_t pid; // 1.转变为后台进程 if ((pid = fork() ) != 0 ) exit( 0); // 2.离开原先的进程组 setsid(); // 3.禁止再次打开控制终端 if ((pid = fork() ) != 0 ) exit( 0); // 4.关闭打开的文件描述符,避免浪费系统资源

2016-01-19 14:44:27 3291

转载 Linux ssh exit,启动的后台进程不会停止

一般情况下,想要通过终端长时间运行任务,需要使用nohup 或者 screen,如果不使用会怎么样呢?来测试一下 描述:场景1:ssh登录机器,通过添加(&),启动任务到后台,通过exit命令退出,任务依然存在 场景2:ssh登录机器,通过添加(&),启动任务到后台,直接关闭ssh终端(GUI 直接叉掉窗口),任务终止 测试方法,执行以下命令

2016-01-12 16:53:32 1237

转载 关于线程池的“惊群效应”

什么是惊群        举一个很简单的例子,当你往一群鸽子中间扔一块食物,虽然最终只有一个鸽子抢到食物,但所有鸽子都会被惊动来争夺,没有抢到食物的鸽子只好回去继续睡觉, 等待下一块食物到来。这样,每扔一块食物,都会惊动所有的鸽子,即为惊群。对于操作系统来说,多个进程/线程在等待同一资源是,也会产生类似的效果,其结 果就是每当资源可用,所有的进程/线程都来竞争资源,造成的后果:1)系统对用

2015-12-30 14:28:49 656

转载 __builtin_expect 解惑

转自:http://my.oschina.net/moooofly/blog/175019最近看 GLib 的代码遇到这个东东,网上搜索一圈,发现很多人都写过这个,自己今天才研究到,汗颜一下,扫盲一个点,留此记录为证! 首先看一篇最官方的讲解: ====== likely() and unlikely() What are they ?       In L

2015-12-14 17:44:44 344

转载 Protocol Buffer技术详解(数据编码)

该篇Blog的内容将完全取自于Google的官方文档,只是为一些相对难以理解的技术点加入了适当的注解。但因技术能力有限,如解释有误,欢迎指正。      这是一篇让你对Protocol Buffer知其然亦知其所以然的文档,即便你在并不了解这其中的技术细节和处理机制的情况下,仍然能够在你的应用程序中正常的使用Protocol Buffer,然而我相信,通过对这些细节和机制的深入了解,不仅可以让

2015-12-10 17:33:48 495

转载 Protocol Buffer技术详解(C++实例)

下面是读写RetrieveBuddiesResp对象的C++测试代码和说明性注释。      这篇Blog仍然是以Google的官方文档为主线,代码实例则完全取自于我们正在开发的一个Demo项目,通过前一段时间的尝试,感觉这种结合的方式比较有利于培训和内部的技术交流。还是那句话,没有最好的,只有最适合的。我想写Blog也是这一道理吧,不同的技术主题可能需要采用不同的风格。好了,还是让我们尽早切

2015-12-10 17:32:35 364

转载 Protocol Buffer技术详解(语言规范)

该系列Blog的内容主体主要源自于Protocol Buffer的官方文档,而代码示例则抽取于当前正在开发的一个公司内部项目的Demo。这样做的目的主要在于不仅可以保持Google文档的良好风格和系统性,同时再结合一些比较实用和通用的用例,这样就更加便于公司内部的培训,以及和广大网友的技术交流。需要说明的是,Blog的内容并非line by line的翻译,其中包含一些经验性总结,与此同时,对于一

2015-12-10 17:28:02 416

转载 使用google protobuf RPC实现echo service

这篇文章将讲述如何使用google的protobuf库实现一个RPC service,就实现一个最简单的service吧:echo.文章对应的代码都可以在eventrpc中找到,写下这篇文章时的svn revision是138.1) 定义协议首先需要为这个service定义proto文件, 如下:package echo;message EchoRequest{ requir

2015-11-27 18:50:20 6519 1

转载 nm命令中符号类型详解

nm命令介绍的很多,但大多不介绍其函数符号标志的含义。最近在调试动态库时常用到,其中用的最多的用法:nm -A * |grep “aaa” | c++filt  // -A 为了显示文件, c++filt转换为可读风格,好像有个参数也能实现类似功能其他内容整理如下(原作者未知):nm用于列出目标文件的符号清单,如果没有指定目标文件,则默认为“a.out”。nm的格式如下:n

2015-11-24 17:42:44 11699

转载 如何搭建自己CDN服务器

如何搭建自己CDN服务器目前在免费CDN市场上,360因为“免费”而越做越大,加速乐做的很早。但因免费的节点不多,好多用户都被强走了。安全宝现在也还不错。目前国内的免费CDN市场已呈现三足鼎立趋势。可为什么我还需要自己搭建CDN服务器来实现网站加速呢?原因有三1.要用国内的CDN服务器域名都需要备案。2.免费的CDN服务器的稳定性和加速效果都不是很行。3.付费的CDN服务器

2015-06-11 15:03:30 1087

转载 LINUX安全运维之:文件系统的权限修改与安全设置

这篇文章主要为大家介绍了LINUX系统的文件系统的权限修改与安全设置,系统运维人员有时候可能会遇到通过root用户都不能修改或者删除某个文件的情况,产生这种情况的大部分原因可能是这个文件被锁定了,怎么修改文件系统的权请看下文:  一、锁定系统重要文件  系统运维人员有时候可能会遇到通过root用户都不能修改或者删除某个文件的情况,产生这种情况的大部分原因可能是这个文件被锁定了。在Lin

2015-03-25 11:30:19 868

转载 C++ 11右值引用

C++ 11中引入的一个非常重要的概念就是右值引用。理解右值引用是学习“移动语义”(move semantics)的基础。而要理解右值引用,就必须先区分左值与右值。       对左值和右值的一个最常见的误解是:等号左边的就是左值,等号右边的就是右值。左值和右值都是针对表达式而言的,左值是指表达式结束后依然存在的持久对象,右值是指表达式结束时就不再存在的临时对象。一个区分左值与右值的便捷方法是

2015-03-25 11:12:23 428

原创 服务器硬启动之后导致文件系统变成Read-only file system

首先介绍下操作系统,ubuntu 14.04.1。     之前因为服务器故障然后shutdown一次,然后启动完之后发现数据库不能正常启动了,然后引申出一系列的问题。这里做个归纳总结。    首先,数据库是postgresql(以下简称post),每次启动的时候都会先去执行目录查找postmaster.pid文件,这个文件是post启动后生成的临时文件,当post关闭后会自动删除。所

2015-03-24 19:28:06 12498

转载 nginx源码学习资源

nginx源码学习是一个痛苦又快乐的过程,下面列出了一些nginx的学习资源。 首先要做的当然是下载一份nginx源码,可以从nginx官方网站下载一份最新的。看了nginx源码,发现这是一份完全没有注释,完全没有配置文档的代码。 现在你最希望要的是一份注释版的nginx源码,可以从下面的链接中下载一份:https://github.com/jianfengye/nginx

2015-03-11 14:48:31 461

转载 apache lighttpd nginx三种服务器的比较

一.软件介绍(apache  lighttpd  nginx)1. lighttpdLighttpd是一个具有非常低的内存开销,cpu占用率低,效能好,以及丰富的模块等特点。lighttpd是众多OpenSource轻量级的web server中较为优秀的一个。支持FastCGI, CGI, Auth, 输出压缩(output compress), URL重写, Alias等重要功

2015-03-11 14:44:00 807

转载 如何利用多核CPU来加速你的Linux命令 — awk, sed, bzip2, grep, wc等

你是否曾经有过要计算一个非常大的数据(几百GB)的需求?或在里面搜索,或其它操作——一些无法并行的操作。数据专家们,我是在对你们说。你可能有一个4核或更多核的CPU,但我们合适的工具,例如 grep, bzip2, wc, awk, sed等等,都是单线程的,只能使用一个CPU内核。借用卡通人物Cartman的话,“如何我能使用这些内核”?要想让Linux命令使用所有的CPU内核,

2014-09-09 16:53:16 513

转载 C++中的前置声明(Forward Declaration)

今天写模块类文件的一个收获是,在定义头文件时,能依赖前置声明的就不要依赖定义,同时在适当的情况下应该用类型的前置声明来减少头文件的导入。例如,在头文件中定义类的一个指针成员时,该指针是工程中另外定义的类型class Account的一种指针Account* m_Account;。那么在该头文件的类声明之前加上前置声明:[cpp] view plaincopy

2014-08-09 09:46:43 713

转载 Valgrind 安装与使用

调不尽的内存泄漏,用不完的ValgrindValgrind 安装1. 到www.valgrind.org下载最新版valgrind-3.2.3.tar.bz22. 解压安装包:tar –jxvf valgrind-3.2.3.tar.bz23. 解压后生成目录valgrind-3.2.34. cd valgrind-3.2.35. 运行./autog

2014-08-07 17:09:13 563

转载 游戏运营数据解读之----ARPU[国外称之为ARPPU]

为了严谨,今天把ARPU的定义和国外的ARPPU统一起来,本文中后续涉及到的ARPU叫法代表了ARPPU。在很多国内外的游戏公司的财报中,我们经常看到ARPU这个指标,在游戏公司的产品运营数据分析中ARPU也是一个非常重要的数据指标,很多时候我们要和APA(付费用户数),PUR(付费比率)结合起来,衡量游戏整体的收益情况。这里要和大家说一下ARPU,从定义,计算,ARPU影响因素,分析概要来解

2014-08-04 14:53:39 2563

转载 GDB调试精粹

一、列文件清单list / l列出产生执行文件的源代码的一部分

2014-07-18 15:00:30 497

转载 linux /proc/cpuinfo文件分析

/proc/cpuinfo文件分析  在Linux系统中,提供了proc文件系统显示系统的软硬件信息。如果想了解系统中CPU的提供商和相关配置信息,则可以通过/proc/cpuinfo文件得到。本文章针对该文件进行简单的总结。  基于不同指令集(ISA)的CPU产生的/proc/cpuinfo文件不一样,基于X86指令集CPU的/proc/cpuinfo文件包含如下内容:proce

2014-07-18 11:22:30 634

转载 gdb中设置共享库断点问题

假设我的可执行程序是A,共享库为B.so    我用gdb调试A,想在B的某个源文件(比如C.cpp,C.cpp与A不在同一个目录下)中设置断点,使用下面的命令行    break   C.cpp:123    提示说“No   source   file   named   C.cpp”    我尝试用下面各种方法设置C.cpp的路径也不行:    1.   使用gdb的-d

2014-07-10 15:52:10 2555 1

原创 综合对比各个设计模式的思想

模式大体上分为3类,分别从对象的创建、对象的结构和对象的行为这3个方面来总结软件开发人员在设计方面的经验。(1)创建型模式。简单工厂模式(Simple Factory):定义一个具体的工厂类来负责创建一些类的实例,而这些被创建的类都应该有一个共同的父类,这样就可以实现面向抽象而不是面向具体编程。客户类和工厂类分开,客户类任何时候需要某种产品,只需向工厂请求即可,客户类无需修改就可以接纳新产

2014-07-08 18:38:51 571

原创 面向对象的设计原则

1.单一职责原则(SRP)单一职责原则的核心思想就是:系统中的每一个对象都应该只有一个单独的职责,而所有对象所关注的就是自身职责的完成。它的英文缩写是SRP,英文全称是Single Responsibility Principle。其实单一职责原则的意思就是开发人员经常说的"高内聚、低耦合"。也就是说,每个类应该只有一个职责,对外只能提供一种功能,而引起类变化的原因应该只有一个。在设计模式

2014-07-08 18:35:28 415

原创 设计模式分类

《设计模式》一书原先把设计模式分为创建型模式、结构型模式、行为型模式,把它们通过授权、聚合、诊断的概念来描述。若想更进一步了解关于面向对象设计的背景,参考接口模式、内聚。若想更进一步了解关于面向对象编程的背景,参考繼承,接口,多型。模式名称描述《设计模式》中提及《代碼大全》中提及[1]創建型模式抽象工厂模式为一个产品族提供了统一的创建接口。当

2014-07-07 14:55:16 431

转载 gdb参数详解(整理过)

名称        gdb - GNU 调试器提要        gdb    [-help] [-nx] [-q] [-batch] [-cd=dir] [-f] [-b bps]              [-tty=dev] [-s symfile] [-e prog] [-se prog] [-c              core] [-x cmds] [-d dir

2014-07-04 09:55:22 478

转载 开篇-模式和原则

前言正式接触使用设计模式近两年了,一直想写点东西来巩固所学,但是迟迟没有动作,总想时间和见识再多一些的时候再动笔,但是拖得越久越感觉合适的时机永远不会有,只有不断实践才能换来进步,也许再不写就永远也写不出来了,于是我终于开始了。谈到设计模式,应该还没有人能超越GOF的开山之作,所以谈不上什么创新,归根结底还是重复前人的论述和思想,更多的只能是整理和个人的一些心得体会。因为从设计模式诞生以来

2014-06-30 15:38:33 444

转载 类关系(UML&设计模式)

类之间存在的6种关系: 依赖 关联 聚合 组合 实现(接口) 继承(泛化) 其中,聚合和组合是关联的两种具体关系,关联包含组合和聚合。关系强弱:依赖是关系最弱的,关联是强依赖,聚合是强关联,组合是强聚合。注意:继承比起接口,可以扩展,接口最好不要扩展。 各种关系图与代码: 1.依赖:  代码:Public class A

2014-06-30 10:25:49 481

转载 Linux系统调用 .

Linux系统调用摘要:本期重点和大家讨论系统调用机制。其中涉及到了一些及系统调用的性能、上下文深层问题,同时也穿插着讲述了一些内核调试方法。并且最后试验部分我们利用系统调用与相关内核服务完成了一个搜集系统调用序列的特定任务,该试验具有较强的实用和教学价值。 什么是系统调用   顾名思意,系统调用说的是操作系统提供给用户程序调用的一组“特殊”接口。用户程序可以通过这组“特殊”接口来

2014-06-27 17:24:33 583

转载 Linux内存管理(下)

Linux内存管理(下)物理内存管理(页管理)Linux内核管理物理内存是通过分页机制实现的,它将整个内存划分成无数4k(在i386体系结构中)大小页,从而分配和回收内存的基本单位便是内存页了。利用分页管理有助于灵活分配内存地址,因为分配时不必要求必须有大块的连续内存[1],系统可以东一页、西一页的凑出所需要的内存供进程使用。虽然如此,但是实际上系统使用内存还是倾向于分配连续的内存块,

2014-06-27 16:45:18 447

空空如也

空空如也

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

TA关注的人

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