自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(53)
  • 资源 (26)
  • 收藏
  • 关注

原创 C++实现线程安全的的双缓冲实例

业务场景:多线程的业务系统不断写入数据到内存中,同步线程不断读取数据并同步redis设计方案:由于业务非常适合map的结构,因此采用了双层maptypedef std::map<int,int> EventCountMap;typedef std::map<int,EventCountMap> RuleEventCountMap;为了实现读写分离,采用双...

2018-07-22 13:23:52 3779 1

原创 每天吃多少才不会胖?食物和卡路里对照表

对于想减肥塑身的同好们,想必最关心的一个问题就是人一天吃多少卡路里不会长胖?下面就是我搜罗的食物卡路里一览表,希望对大家有用。

2016-01-31 15:30:44 33634

原创 Linux文件系统详解(文件系统层次、分类、存储结构、存储介质、文件节点inode)

本文按照自己的理解从硬件磁盘到文件系统的逐层网上的思路开展,从操作系统的角度详解Linux文件系统层次、文件系统分类、文件系统的存储结构、不同存储介质的区别(RAM、ROM、Flash)、存储节点inode。

2015-04-24 08:50:18 41787 9

原创 VirtualBox磁盘扩容

在Win10上用VirtualBox创建虚拟机时以为分配10G的磁盘空间足够了,谁知道装完环境之后都快满了,但是又不想删掉重开一个虚拟机,因此就需要扩充磁盘空间。首先关闭虚拟机。我的VirtualBox安装目录为:C:\Program Files\Oracle\VirtualBox虚拟机磁盘vdi所在目录为:D:\ubuntu18.vdicmd打开命令行,首先进入VirtualBox安装目录,然后执行命令:VBoxManage.exe modifyhd "D:\ubuntu18.vd...

2021-11-01 14:18:59 4474

原创 hive 解析json对象的数组,并完成列传行

参考链接:https://blog.csdn.net/lfq1532632051/article/details/63262519直接上例子,下面是我要处理的 json 数据格式{ "IP": "192.168.1.1", "appName": "sichuan_yunyingyong", "customEvent": [ { "eventName": "xx1", "du": "xx", ...

2020-10-21 15:48:05 548

原创 Linux CPU调度策略

在谈调度策略前,我们先做一些假设。 每个任务都运行相同的时间 所有任务到达的时间都是一样的 一旦运行了,任务就会运行到完成。 所有的任务只占用cpu资源 任务的运行时间是已知的 这里的大部分假设都是不切合实际的,但是这个假设帮助我们更好的去理解和描述调度器。 我们定义周转时间为完成时间减去任务到达时间。 Tturnaround = Tcom...

2020-03-07 12:15:34 3840

原创 C++友元函数友元类

C++面向对象的特性,需要很多特殊的设计,来满足各种使用需求,比如:1。类的实例化对象希望共享一些属性和方法,类似于C语言的公共头文件,而设计了静态成员,区别于C语言的地方是,静态数据成员必须进行初始化。2。针对指向常对象的指针和指向对象的常指针,而设计了常对象,常成员,通过常成员函数来访问常数据成员。3。针对基类指针根据派生类不同而希望实现多种形态的需求,设计了虚函数。那么...

2020-03-07 12:13:47 294

原创 C++静态数据的初始化

in$ cat static.cpp #include <iostream> using namespace std; class ClassA { public: ClassA() { cout << "ClassA Constructor!" << endl; } void Func() { ...

2020-03-07 12:12:32 1645

原创 linux管道pipe父子进程通信的示例

父进程打开的文件描述符在子进程仍然保持打开,文件描述符的引用计数+1,不仅如此,父进程用户根目录、当前目录等变量的引用计数也会+1.即使调用exec函数,文件描述符也不会关闭,除非设置了SOCK_CLOEXEC属性。#include <stdio.h>#include <stdlib.h>#include <string.h>#include &...

2020-03-07 12:08:25 516

原创 C++ STL remove和erase的区别及使用

remove是一个函数,头文件是algorithm;erase是每个容器的成员函数。在介绍之前先介绍v.begin()和v.end():v.begin()指的是第一个元素;v.end()值得最后一个元素的下一个位置;vector<int>::iterator it;it=remove(v.begin(),v.end(),4);//删除值为4的元素。每删除一...

2020-03-07 12:04:51 1582

转载 windows VsCode golang环境配置

安装完vscode,打开.go文件时,vscode会推荐安装go扩展插件,但是vscode中有些go的插件总是提示安装fail。如golint插件,解决办法如下:cd $GOPATH/src/golang.org/x/git clone https://github.com/golang/tools.git进入到%GOPATH%下,执行    go install github.co...

2019-02-21 13:17:34 1165

原创 C++设计模式(一)单例模式

C++单例模式也称为单件模式、单子模式。使用单例模式,保证一个类仅有一个实例,并提供一个访问它的全局访问点,该实例被所有程序模块共享。有很多地方需要这样的功能模块,如系统的日志输出等。单例模式有许多种实现方法,a. 懒汉式:使用的时候才创建,多线程访问的时候线程不安全(双检锁)b. 饿汉式:类文件加载的时候已经创建好了对象,如果对象一直没有使用,则类对象浪费空间特点与选择:如果要进...

2018-08-04 13:24:10 5720 3

原创 centos7 Golang vim IDE

接触Golang之后使用过许多的编辑器比如lite,sublime3,goland,lite更适合在windows环境使用,对于非destop版本的Linux就不太适用了,在linux下还是直接上神器vim了,为了快速开发自然要安装许多便捷的插件首先vim的插件安装有两种形式,一直直接自己安装到~/.vim/plugin目录下 另外一种是使用插件管理器Vundle(还有其他的插件管理器)开始之前准...

2018-06-17 14:26:38 3397 1

转载 Qt 基本数据类型转换(int,float,double,datetime,string)

转发:http://blog.csdn.net/tgzjz/article/details/45074237在由int, float, double 这样的基本数据类型转换为QString的方法大致如下:以int为例:[cpp] view plain copyint tmp = 125;    QString str_

2016-08-20 16:17:20 20941

原创 Apache [error] server reached MaxClients setting, consider raising the MaxClients setting

最近公司有个客户报了一个问题,就是运行一段时间后在apache的日志/var/log/httpd/error_log文件中有一条错误信息[Fri Jul 29 15:45:37 2016] [error] server reached MaxClients setting, consider raising the MaxClients setting检查了一下,这是由于并发链接数太多导致

2016-07-30 12:45:58 1516

转载 linux下编译qt5.6.0静态库——configure配置

转自:http://www.cnblogs.com/oloroso/p/5407779.htmllinux下编译qt5.6.0静态库linux下编译qt5.6.0静态库configure生成makefile安装选项Configure选项第三方库:附加选项:QNX/Blackberry 选项:Android 选项:生成makefile

2016-07-22 10:28:34 8587 4

原创 把静态编译的QT添加到QTCreator当中创建新工程

How to integrate static version of Qt additionally to QtCreatorOpen QtCreator and go to the Tools / Options menu. Select Qt4:Add a new version by pressing the plus button enter a name and

2016-07-21 21:51:09 2737

原创 MinGW静态编译windows QT5.x

MinGW静态编译windows QT关于静态编译windows 版本的QT参考官网的链接: [http://wiki.qt.io/Building_a_static_Qt_for_Windows_using_MinGW][6]

2016-07-21 19:50:36 531

原创 centos Apcache 防DDOS攻击mod_evasive安装配置

今天服务器受到严重的DDOS攻击,导致远程控制几乎都无法进去,系统基本死机,从网络上找到关于APACHE的防DDOS工具,参考之后发现无法安装,转载过来后做了一些实验和修改。下面给出使用了Apache的防模块mod_evasive,具体安装配置如下:一、下载模块--------需要提前安装apxs - Apache 扩展工具yum  install httpd-devel

2016-07-20 16:57:46 1600

转载 OpenGL,glx,glaux,glut,freeglut,glew,glfw,mesa

转自:http://www.lai18.com/content/1297257.html一、OpenGLOpenGL函数库相关的API有核心库(gl),实用库(glu),辅助库(aux)、实用工具库(glut),窗口库(glx、agl、wgl)和扩展函数库等。gl是核心,glu是对gl的部分封装。glx、agl、wgl 是针对不同窗口系统的函数。glut是为跨平台的OpenGL

2016-07-16 15:34:29 1961

原创 php匹配字符串URL并替换为超链接

//注意,这里把上面的正则表达式中的单引号用反斜杠转义了,不然没法放在字符串里$regex = '@(?i)\b((?:[a-z][\w-]+:(?:/{1,3}|[a-z0-9%])|www\d{0,3}[.]|[a-z0-9.\-]+[.][a-z]{2,4}/)(?:[^\s()]+|(\([^\s()]+|(\([^\s()?«»“”‘’]))@';var_dump( preg_ma

2016-07-13 15:44:55 3839

转载 javascript 正则匹配url并添加<a>标签

//写的url正则匹配var reg = /((http|ftp|https):\/\/)?[\w\-_]+(\.[\w\-_]+)+([\w\-\.,@?^=%&:/~\+#]*[\w\-\@?^=%&/~\+#])?/g;//获取需要处理的HTMLvar str = $('.content').html();//正则替换str=str.rep

2016-07-13 11:07:23 4051

原创 Mac sublime text3 快捷键

For Mac打开/前往⌘T前往文件⌘⌃P前往项目⌘R前往 method⌘⇧P命令提示⌃G前往行⌘KB开关侧栏⌃ `pyth

2016-04-29 09:37:24 2091

原创 Mac 安装homebrew

Homebrew官网 http://brew.sh/index_zh-cn.htmlHomebrew是神马linux系统有个让人蛋疼的通病,软件包依赖,好在当前主流的两大发行版本都自带了解决方案,Red hat有yum,Ubuntu有apt-get 神马,你用mac os,不好意Mac os木有类似的东东,泪奔中几经折腾总算找到了第三方支持:Homebrew,Homebre

2016-04-29 09:34:35 50574 2

原创 常用的vim命令

多行注释:1. 进入命令行模式,按ctrl + v进入 visual block模式,然后按j, 或者k选中多行,把需要注释的行标记起来2. 按大写字母I,再插入注释符,例如//3. 按esc键就会全部注释了取消多行注释:1. 进入命令行模式,按ctrl + v进入 visual block模式,按字母l横向选中列的个数,例如 // 需要选中2列

2016-04-29 09:31:46 492

原创 解决安装ECshop时PHP版本大于5.2时的问题

随着PHP5.5 的普及,ECSHOP系统又爆出了新的错误。PHP发展到PHP5.5版本以后,有了很多细微的变化。而ECSHOP官方更新又太慢,发现这些问题后也不及时升级,导致用户安装使用过程中错误百出。1.说了半天,这个新错误到底是什么呢,它的完整错误提示信息是这样的:Deprecated: preg_replace(): The /e modifier is depreca

2016-02-26 14:52:41 3899

原创 git fetch 与git pull 区别

Git中从远程的分支获取最新的版本到本地有这样2个命令:1. git fetch:相当于是从远程获取最新版本到本地,不会自动merge    git fetch origin mastergit log -p master..origin/mastergit merge origin/master    以上命令的含义:   首先从远程的origin的master主分支下载最新的版本到

2016-01-31 17:38:51 451

原创 程序员接私活那点事儿

周末闲来无事,整理文档的同时发现了非著名程序员的一篇好文章,让接私活的我颇有同感,现结合自身经验整理如下,希望对各位技术和精力有余的程序员有所帮助!程序员都很累,但是热爱程序的人又累得其所,所以虽然很多程序员都很忙,加班是常事,但是钱哪有挣够的啊,闲不住的程序员总想着干点私活赚点外快。私活可能确实是比做个小软件加上广告来钱来的快,但是以目前或将来的趋势真心不适合单独的个人开发者来做,为什么这么说,且听我一一道来!

2016-01-31 16:29:59 1180

原创 linux之链表和哈希表应用浅析一

1. Linked Lists Linux使用一种软件工程技术将它的数据结构连接在一起。多数情况下它使用链表数据结构。如果每一个数据结构描述一个物体或者发生的事件的单一的实例,比如一个进程或一个网络设备,核心必须能够找出所有的实例。在链表中,根指针包括第一个数据结构或单元的地址,列表中的每一个数据结构包含指向列表下一个元素的指针。最后元素的下一个指针可能使0或NULL,表示这是列表的结尾。

2016-01-31 16:01:25 1189

原创 Linux操作系统Swapping(交换)

Memory Management (内存管理)内存管理子系统是操作系统的重要部分。从计算机发展早期开始,就存在对于大于系统中物理能力的内存需要。为了克服这种限制,开发了许多种策略,其中最成功的就是虚拟内存。虚拟内存通过在竞争进程之间共享内存的方式使系统显得拥有比实际更多的内存。虚拟内存不仅仅让你的计算机内存显得更多,内存管理子系统还提供: Large Address Spaces

2016-01-31 15:58:10 6673 1

原创 Linux进程管理

进程执行操作系统中的任务。程序是存放在磁盘上的包括一系列机器代码指令和数据的可执行的映像,因此,是一个被动的实体。进程可以看作是一个执行中的计算机程序。它是动态的实体,在处理器执行机器代码指令时不断改变。处理程序的指令和数据,进程也包括程序计数器和其他CPU的寄存器以及包括临时数据(例如例程参数、返回地址和保存的变量)的堆栈。当前执行的程序,或者说进程,包括微处理器中所有的当前的活动。Linux是

2016-01-31 15:54:28 430

原创 周末私家菜谱

如能在清闲的周末亲自烹制一桌色、香、味俱全的佳肴也是一件无比享受的事情,再与家人小酌两杯,岂不美哉!

2016-01-31 15:13:40 742

原创 从汇编语言角度理解C语言栈帧

在C语言的调用约定中,栈是现实函数的局部变量、参数和返回值地址的关键因素。函数执行前、执行过程以及执行后程序分别干了什么事情?在整个过程中唯一不变的就是基址指针寄存器,位于返回地址和函数变量之间,通过+N*4(%ebp)可以访问函数参数和返回地址,通过-N*4(%ebp)可以访问局部变量。函数执行前:程序将函数的参数逆序压栈,接着发出一条Call指令,表明程

2016-01-08 13:46:06 1562 1

原创 软件项目开发的标准化文档编写

在项目开发过程中,应该按要求编写好十三种文档,文档编制要求具有针对性、精确性、清晰性、完整性、灵活性、可追溯性。   ◇ 可行性分析报告:说明该软件开发项目的实现在技术上、经济上和社会因素上的可行性,评述为了合理地达到开发目标可供选择的各种可能实施方案,说明并论证所选定实施方案的理由。   ◇ 项目开发计划:为软件项目实施方案制订出具体计划,应该包括各部分工作的负责人员、开发的进度

2016-01-08 13:44:09 2556 1

原创 软件版本之Alpha、Beta、RC、GA、Release解惑

Alpha:                    Alpha是内部测试版,一般不向外部发布,会有很多Bug.除非你也是测试人员,否则不建议使用.是希腊字母的第一位,表示最初级的版本,alpha 就是α,beta 就是β ,alpha 版就是比beta还早的测试版,一般都是内部测试的版本。     Beta:                   该版本相对于α版已有了很大的改进,消除了

2016-01-08 13:42:30 1905

原创 阿里云CentOS6.5挂载数据盘以及搭建LAMP环境

系统约定 软件配置:软件源代码包下载位置/data/download软件源代码包存放位置源代码包软件源代码包下载位置/usr/local/srcApache 源码包编译安装位置存放/usr/local/apach

2016-01-08 13:17:45 1849

原创 Notepad++常用快捷键

在windows下写Code的时候发现了两款比较好用的代码编辑工具,Sublime Text和Notepad++。前者比较适合web开合,后者则针对其他,两者都有比较强大的代码处理功能。用起来感觉比Eclipse这种大型工具简单方便许多,本文结合实际使用经验罗列了Notepad++的一些快捷键,用起来炫酷无比

2015-05-11 11:07:41 658

原创 linux 查看当前用户id、whoami用户列表、用户组、用户权限/etc/passwd、/etc/group、/etc/shadow以及切换用户身份、su、sudo、/etc/sudoers

在网上上搜索了几个帖子,结合自身经验,详细说明了用户、用户组、用户权限、切换用户等常用命令(id、whoami、sudo、su)和配置文件(/etc/passwd、/etc/group、/etc/sudoers),一篇文章满足你的需求。

2015-04-30 09:32:00 35490 2

原创 shell变量(环境变量、参数变量)实例详解

Shell脚本中普通变量、环境变量、参数变量实例讲解

2015-04-25 10:31:27 2057

原创 shell条件判断之if实例详解

条件判断if在shell脚本中的使用非常频繁,本文结合实例详细说明if的常见用法

2015-04-25 10:27:55 5714

Writing Efficient Programs

Writing Efficient Programs

2016-12-26

Boost程序库完全开发指南.pdf

Boost程序库完全开发指南.pdf

2016-12-26

Packt.Learning.Apache.Thrift

Packt.Learning.Apache.Thrift

2016-12-26

Win7-64-Qt5.6.1开发环境下载和安装

QT5.6作为下一个长期支持的版本,赶紧入手

2016-07-26

Essential COM中文PDF

对于COM是为什么、COM怎么来的讲解得非常清楚。开头一段的步步引导的写法堪称经典

2016-07-26

sed与awk第二版

介绍sed与awk的圣经

2016-07-15

The Docker Book

The first book of docker

2015-10-08

图解HTTP完整版

本书以图文方式讲解HTTP方法、协议格式、报文结构、首部字段等具体含义,还分别讲解HTTP通信过程中代理、网关、隧道等的作用。 绝对完整版,请放心下载

2015-06-07

图解网络硬件 PDF完整版

绝对完整,请放心下载 日本亚马逊首席分析师写给站长的书 一书掌握网站分析技巧:社交媒体分析3方法、发现网站问题10步骤、获取流量11策略 《图解网站分析(修订版):让流量倍增的网站优化方法》详细讲解了如何利用从网站上获取的各种数据了解网站的运营状况,如何从数据中攫取最有用的信息,如何优化站点,创造更大的网站价值,适合各类网站运营人员阅读。

2015-05-30

深入理解Linux虚拟内存管理

深入理解Linux虚拟内存管理,从各个层次详解Linux内核虚拟内存的管理机制。

2015-04-29

存储技术原理分析 基于Linux 2.6内核源代码 part2

大多数Linux爱好者在阅读Linux内核源代码时会产生这样的困惑,我们很少能找到针对Linux操作系统,甚至某个单独的内核模块,在设计和开发方面的文档。仅有Linux社区的一些高手们对一些关键算法或者一些设计考虑的讨论。此外,当前大多数的源码分析书籍,都只是就函数或代码进行解释,没有给出整体和全面的视角。对于处于新手上路或者技术小成级别的读者,只能获得局部和片面的认识,在理解这些讨论和阅读内核源码时会非常困难,常常产生挫败感。 本书就是你的福音!!! 注意:由于上传限制,文档不得不分割为两部分。 这是part2,part1见:http://download.csdn.net/detail/yuexiaxiaoxi27172319/8644121

2015-04-29

存储技术原理分析 基于Linux 2.6内核源代码

大多数Linux爱好者在阅读Linux内核源代码时会产生这样的困惑,我们很少能找到针对Linux操作系统,甚至某个单独的内核模块,在设计和开发方面的文档。仅有Linux社区的一些高手们对一些关键算法或者一些设计考虑的讨论。此外,当前大多数的源码分析书籍,都只是就函数或代码进行解释,没有给出整体和全面的视角。对于处于新手上路或者技术小成级别的读者,只能获得局部和片面的认识,在理解这些讨论和阅读内核源码时会非常困难,常常产生挫败感。 本书就是你的福音!!! 注意:由于上传限制,文档不得不分割为两部分。

2015-04-29

设计模式[中文版]

就我而言,我认为四人帮编著的《设计模式》是一本极为有用的书。虽然此书并不像其他建议一样有关“元”编程,但它强调封装诸如模式一类的优秀编程技术,因而鼓励其他人提出新模式和反模式(antipatterns),并运用于编程对话中。—— Chris Jester-Young

2015-03-29

重构:改善既有代码的设计[中文pdf]

改进现有代码的设计。—— Martin 我必须承认,我最喜欢的编程语录是出自这本书:任何一个傻瓜都能写出计算机能理解的程序,而优秀的程序员却能写出别人能读得懂的程序。—— Martin Fowler

2015-03-29

计算机程序的构造和解释

这是一本会启发你的书,它会燃起你编写出色程序的热情;它还将教会你认识并欣赏美;它会让你有种敬畏,让你难以抑制地渴望学习更多的东西。其他书或许会让你成为一位更出色的程序员,但此书将一定会让你成为一名程序员。

2015-03-29

U盘量产工具、扩容检测

还在为U盘不能使用而发愁吗,这是我整理的各种U盘量产工具和扩容检测工具,总有一款适合你

2013-10-21

彻底搞定C指针

详细介绍C语言的指针使用,感觉非常清晰,读完以后,明白了以前很多混乱的东西,拿来分享了,希望对大家有用。

2013-10-21

在与 SQL Server 建立连接时出现与网络相关的或特定于实例的错

在与 SQL Server 建立连接时出现与网络相关的或特定于实例的错误。未找到或无法访问服务器。请验证实例名称是否正确并且 SQL Server 已配置为允许远程连接。 (provider: 命名管道提供程序, error: 40 - 无法打开到 SQL

2013-08-13

ubuntu11.10编译linux3.0.73内核

ubuntu 11.10下成功编译linux3.0.73

2013-08-09

linux 下 MySQL的C语言的基本操作

本文完成一个基于 MySQL 的小型数据库设计,实现数据库的构建、数据的查询、插入、 与修改等功能

2012-10-26

MySQL5.5中文参考手册

这是MySQL参考手册的翻译版本,关于MySQL参考手册,请访问dev.mysql.com。 原始参考手册为英文版,与 英文版参考手册相比,本翻译版可能不是最新的。 它涉及MySQL 5.5至5.5.2-alpha版本。

2012-10-23

linux命令行查看图片

在 Linux 中,我们已经见到了不少的图片查看程序,有的简单,有的笨重,有 GUI 的,也有 CLI 的……如果你常常与终端为伴,那么不妨优先考虑基于命令行的图片查看程序。最近,Toy 发现的 pho 就是一款非常不错的轻巧型命令行图片查看器,现推荐给大家。

2012-09-27

linux下强大的视频播放工具mplayer.txt解释

MPlayer 是我在 Linux 系统中用到的相当好的媒体播放程序,它因支持播放广泛的音/视频文件格式而著称。本文所要探讨的,除却一般的使用方法之外,更包括一些鲜为人知的提示和诀窍。相信在阅读此文后,你的多媒体播放体验将会增色不少。

2012-07-24

操作系统第三版 汤小丹 课后习题答案

计算机操作系统【第一章】 1. 设计现代OS的主要目标是什么? 方便性,有效性,可扩充性和开放性. 2. OS的作用可表现为哪几个方面? a. OS作为用户与计算机硬件系统之间的接口; b. OS作为计算机系统资源的管理者; c. OS作为扩充机器. 3. 试说明推动多道批处理系统形成和发展的主要动力是什么? 不断提高计算机资源利用率和系统吞吐量的需要;

2010-11-24

空空如也

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

TA关注的人

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