自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

昨天的你

梦想吉他走天涯,我却要去写代码

  • 博客(37)
  • 资源 (2)
  • 问答 (1)
  • 收藏
  • 关注

原创 百度之星 度度熊的午饭时光

度度熊最期待每天的午饭时光,因为早饭菜品清淡,晚饭减肥不敢吃太多(胖纸的忧伤T.T)。百度食堂的午餐超级丰富,祖国各大菜系应有尽有,度度熊在每个窗口都有爱吃的菜品,而且他还为喜爱的菜品打了分,吃货的情怀呀(>.但是,好吃的饭菜总是很贵,每天的午饭预算有限,请帮度度熊算一算,怎样打饭才能买到的最好吃的饭菜?(不超过预算、不重样、午餐等分最高的情况下,选择菜品序号加和最小,加和相等时字典序最小

2017-08-06 11:10:06 556

转载 一个简单的Makefile教程

转:http://www.paeonia.me/Blog/2012/05/13/%E4%B8%80%E4%B8%AA%E7%AE%80%E5%8D%95%E7%9A%84makefile%E6%95%99%E7%A8%8B/写Makefile是一个非常便利的编译方法,由于以前习惯把所有的代码都集中在一个文件中,体现不出make的优势,当把源代码拆分成若干个源文件,Makefile就显得必要

2017-07-16 20:23:56 745

转载 google代码风格(C++)

from    http://code.google.com/p/google-styleguide/  版本: 3.133原作者:Benjy WeinbergerCraig SilversteinGregory EitzmannMark MentovaiTashana Landray翻译:YuleFoxyospaly项目主页:

2017-07-03 10:55:16 3817

转载 glog 入门教程

glog的简单入门,glog虽然在配置参数方面比较麻烦,但是在小规模程序中,由于其简单灵活,也许会有优势。glog 是google的开源日志系统,相比较log4系列的日志系统,它更加轻巧灵活,而且功能也比较完善。 结合之前看的一些资料, 这里简单对其做个简介。 1, 安装:最新版本:0.3.1  http://code.google.com/p/google-glo

2017-06-28 11:04:20 20935

原创 kafka C++ 生产者 消费者

使用的是rdkafka这个库,可以到网上下载.下面是生产者和消费者C++编程客户端.#include #include #include #include #include #include #include #include #include "rdkafka.h" const int PRODUCER_INIT_FAILE

2017-06-23 11:03:46 21177 3

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

这篇Blog仍然是以Google的官方文档为主线,代码实例则完全取自于我们正在开发的一个Demo项目,通过前一段时间的尝试,感觉这种结合的方式比较有利于培训和内部的技术交流。还是那句话,没有最好的,只有最适合的。我想写Blog也是这一道理吧,不同的技术主题可能需要采用不同的风格。好了,还是让我们尽早切入主题吧。          一、生成目标语言代码。      下面的命令帮助我们将M

2017-06-22 10:27:16 261

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

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

2017-06-22 10:24:11 393

转载 kafka集群搭建

Kafka初识1、Kafka使用背景在我们大量使用分布式数据库、分布式计算集群的时候,是否会遇到这样的一些问题:我们想分析下用户行为(pageviews),以便我们设计出更好的广告位我想对用户的搜索关键词进行统计,分析出当前的流行趋势有些数据,存储数据库浪费,直接存储硬盘效率又低 这些场景都有一个共同点:数据是由上游模块产生,上游模块,使用上游模块的

2017-06-13 15:25:13 696

原创 数据库 事务

本篇讲诉数据库中事务的四大特性(ACID),并且将会详细地说明事务的隔离级别。  如果一个数据库声称支持事务的操作,那么该数据库必须要具备以下四个特性:⑴ 原子性(Atomicity)  原子性是指事务包含的所有操作要么全部成功,要么全部失败回滚,这和前面两篇博客介绍事务的功能是一样的概念,因此事务的操作如果成功就必须要完全应用到数据库,如果操作失败则不能对数据库有任何影响

2017-05-06 09:56:09 253

转载 EM算法

从最大似然到EM算法浅解zouxy09@qq.comhttp://blog.csdn.net/zouxy09        机器学习十大算法之一:EM算法。能评得上十大之一,让人听起来觉得挺NB的。什么是NB啊,我们一般说某个人很NB,是因为他能解决一些别人解决不了的问题。神为什么是神,因为神能做很多人做不了的事。那么EM算法能解决什么问题呢?或者说EM算法是因为什么而来到这个世界

2017-05-01 20:05:58 400

转载 poll&&epoll实现分析(二)——epoll实现

本博文来自:http://blog.chinaunix.net/xmlrpc.php?r=blog/article&id=4238524&uid=28541347Epoll实现分析——作者:lvyilong316通过上一章分析,poll运行效率的两个瓶颈已经找出,现在的问题是怎么改进。首先,如果要监听1000个fd,每次poll都要把1000个fd 拷入内核,太不科学了,内

2017-04-07 13:34:04 335

原创 Mysql数据库引擎

Mysql针对不同的存储需求可以选择最优的存储引擎。各引擎对比如下: MyISAM 特性: 1.不支持事务; 2.表级锁定: 读写互相阻塞:不仅会在写入的时候阻塞读取,MyISAM还会在读取的时候阻塞写入,但读本身并不会阻塞另外的读 3.只会缓存索引; 适用场景: 1.不需要事务支持; 2.并发相对较低; 3.数据修改相对较少,以读为主; 4.数据一致性要求不是非常高;Inn

2017-03-31 22:39:39 247

原创 B树,B+树,B*树

B-树 B-树,即为B树。 B树结点可以有很多子女,一颗含n个结点的B树的高度也为O(lgn),B树可以在O(lgn)时间内,实现各种如插入,删除等动态几何操作。 如下图所示,即是一棵B树,一棵关键字为英语中辅音字母的B树,现在要从树种查找字母R(包含n[x]个关键字的内结点x,x有n[x]+1]个子女(也就是说,一个内结点x若含有n[x]个关键字,那么x将含有n[x]+1个子女)。所有的叶结

2017-03-31 21:42:09 420

原创 多维数组与指针

C语言中有个数组,一维数组还好不会有什么问题,二维就有很大问题了,其中,多级指针与“多维”数组更是让很多人云里雾里 。写下此篇,一步一步剖析多维数组。 首先,一维数组都知道: char a[3]; a:是数组名,会转化为数组的起始地址; a + n: 表示数组的起始地址偏移 对象的n个长度; *(a + n): 获取数组的第n个对象的内容; a[n]: 等价于*(a+n); &a:

2017-03-18 17:32:36 503 1

原创 C++ 对齐规则

1.什么叫对齐?在C/C++中,数据结构或类的成员变量,并不是按照它们的大小,一个一个紧凑地排列在空间上的。它们是按照一种特定的方法排列的,有可能在两个成员变量之间插入一个或个byte,以保证每个成员变量的起始位置是都是从某些特定的位置开始的。这就是对齐。单纯从语言上描述对齐有些枯燥难以理解,下文将配以例子说明C/C++是基于什么样的规则对齐的2.为什么要对齐?1.在大多数平台上,

2017-03-17 11:04:41 2587

原创 吃豆子 卡牌组合技 公平的匹配赛

#include#include#include#include#include#include#include#include#includeusing namespace std; int data[20] = { 0 };int da[20][10000007] = { 0 };int sum = 0; int main(){

2017-03-11 21:55:41 290

原创 C++ 重载输入运算符不能访问私有变量

#include using namespace std;#include#include class Student{public: Student(void) = default; Student(int num, string name): number(num), name(name) { } ; void SetNumber(in

2017-01-17 22:28:58 2290 3

原创 TCP epoll模型

待续

2017-01-16 15:53:39 270

原创 UNIX网络编程 TCP套接字选项

一直想写一下TCP通信的事, 套接字选项: SO_DEBUG:当给一个TCP套接字开启本选项时, 内核将为TCP在该套接字发送和接收的所有分组保留详细跟踪信息。 SO_DONTROUTE:本选项规定外出的分组将绕过底层协议的正常路由机制。 SO_KEEPALIVE:本选项的功用是检测对端主机是否崩溃或变得不可达。 SO_LINGER :顾名思义是延迟延缓的意思,这里是延缓面向连接的soc

2017-01-10 11:43:32 599

转载 TCP的那些事儿(下)

这篇文章是下篇,所以如果你对TCP不熟悉的话,还请你先看看上篇《TCP的那些事儿(上)》 上篇中,我们介绍了TCP的协议头、状态机、数据重传中的东西。但是TCP要解决一个很大的事,那就是要在一个网络根据不同的情况来动态调整自己的发包的速度,小则让自己的连接更稳定,大则让整个网络更稳定。在你阅读下篇之前,你需要做好准备,本篇文章有好些算法和策略,可能会引发你的各种思考,让你的大脑分配很多内存和计算资

2017-01-10 09:24:30 346

转载 TCP 的那些事儿(上)

TCP是一个巨复杂的协议,因为他要解决很多问题,而这些问题又带出了很多子问题和阴暗面。所以学习TCP本身是个比较痛苦的过程,但对于学习的过程却能让人有很多收获。关于TCP这个协议的细节,我还是推荐你去看W.Richard Stevens的《TCP/IP 详解 卷1:协议》(当然,你也可以去读一下RFC793以及后面N多的RFC)。另外,本文我会使用英文术语,这样方便你通过这些英文关键词来查找相

2017-01-10 09:22:47 220

原创 UNIX多线程编程(4) 线程私有变量

线程除了共享变量之外,有时候我们需要线程有自己独立的变量。

2017-01-06 16:17:08 218

原创 UNIX多线程编程(3) 线程同步

好了,这篇讲解多线程的同步问题。 互斥是同步的一种,linux下提供了多种方式来处理线程同步,最常用的是互斥量,条件变量和信号量。本文首先使用互斥锁,信号量来实现同步版本,然后在深层次的分析下互斥锁和信号量的实现机制和原理。#include<stdio.h>#include<stdlib.h>#include<pthread.h>#include <unistd.h>#include <s

2017-01-04 22:30:54 392

原创 UNIX多线程编程(2) 线程互斥

本文接着上篇《UNIX多线程编程(1)》讲解多线程的同步与互斥问题。 首先来看下关于线程同步互斥的概念性的知识,相信大家通过前面的文章,已经对线程同步互斥有一定的认识了,也能模糊的说出线程同步互斥的各种概念性知识,下面再列出从《计算机操作系统》一书中选取的一些关于线程同步互斥的描述。相信先有个初步而模糊的印象再看下权威的定义,应该会记忆的特别深刻。1.线程(进程)同步的主要任务答:在引入多线程后,

2017-01-04 22:25:58 451

原创 UNIX多线程编程(1) 创建多线程

线程概念 线程是指运行中的程序的调度单位。一个线程指的是进程中一个单一顺序的控制流,也被称为轻量级线程。它是系统独立调度和分配的基本单位。同一进程中的多个线程将共享该系统中的全部系统资源,比如文件描述符和信号处理等。一个进程可以有很多线程,每个线程并行执行不同的任务。 线程与进程比较 ① 和进程相比,它是一种非常“节俭”的多任务操作方式。在Linux系统中,启动一个新的进程必须

2017-01-04 17:51:05 574

原创 剑指offer刷题笔记(4)

hehe

2016-12-28 19:30:39 253

原创 剑指offer刷题笔记(3)

haha

2016-12-28 19:29:19 309

原创 剑指offer刷题笔记(2)

45.圆圈中最后剩下的数字  知识点:链表的遍历  注意for循环中m-1,才是找到要删除的点  创新解法还不会class Solution {public:    int LastRemaining_Solution(int n, int m)    {        if (n             return -1;        list numbers

2016-12-28 14:43:20 240

原创 剑指offer刷题笔记(1)

明年就要春招找实习了,今天考研最后一天,有的人考研快结束了,我的考研生活才刚刚开始,奋战一百天,BAT搬砖不是梦。39.二叉树深度            知识点:二叉树遍历(后序遍历),其实前序遍历也是可以的class Solution {public:    int TreeDepth(TreeNode* pRoot)    {        if (

2016-12-25 16:01:28 505

原创 linux多线程服务器编程 muduo库学习笔记二

知识点:Linux多线程服务器端编程 8.2接着上一篇,这里用定时器创建了一个事件,在TimerQueue构造函数中可以看到,每当计时到时时,Poller响应,调用定时器channel的回调函数,这里被绑定了handleRead()函数。handleRead()函数处理已经超时的所有Timer, 处理Timer的回调函数, 然后重置到时的Timer。这里调用addTimer插入一个Timer事

2016-07-14 15:55:36 644

原创 linux多线程服务器编程 muduo库学习笔记

知识点: linux多线程服务器编程 8.0章我认为Eventloop的作用主要是保证每个线程之多有一个EventLoop对象。书上的代码不完整,自己补充了下 eventloop.h#ifndef EVENTLOOP_H#define EVENTLOOP_H #include #include #include #include #include #includ

2016-06-15 16:58:45 810

原创 C++ 字符数组

字符数组初始化方法://1 大{}号法 初始化列表//数组初始化有2种方法 默认元素个数、指定元素个数char buf1[] = {'a', 'b', 'c', 'd', 'e'}; //若没有指定长度,默认不分配零//若指定长度,不够报错;buf长度多于初始化个数,会自动补充零char buf2[6] = {'a', 'b', 'c', 'd', 'e'}; 如果

2016-06-14 10:23:06 726

原创 c++学习笔记 内存四区 函数调用模型 指针强化

这篇文章来自传智播客C提高视频的做的笔记。栈:由编译器自动分配释放,存放函数的参数值,局部变量的值等。  堆:一般由程序员分配释放,若程序员不释放,程序结束时可能由操作系统回收。数据区:        全局区:全局变量和静态变量的存储是放在一块的,吃实话的全局变量和静态便令在一块区域,未初始化的全局变量和未初始化的静态变量在相邻的另一块区域。        常量区:字符串常量和

2016-06-14 10:11:56 884

原创 高并发服务器关键技术之线程池

知识点:UNIX网络编程30章 ,UNIX网络编程26章书上30.12有一个预先创建线程服务器程序的例子,虽然比较简单,但是流程很清晰。Thread可看作是一个线程结构,不过书上只有两个变量,等下后面一个复杂点的程序在线程结构上加了很多的内容: typedef struct tp_thread_info_s { pthread_t thread_id; //thr

2016-05-30 17:22:05 563

原创 实现高并发服务器三种简化模型 线程 进程 IO复用

知识点:UNIX网络编程第四章, 第五章,第六章多进程模型: #include#include#include#include#include#include#include#include#define SERV_PORT 3000#define MAXLINE 1024void str_echo(int sockfd){ ssize_t n; char b

2016-05-24 18:30:19 539

原创 UNIX网络编程 1-2章学习笔记

第一章   第一章通过一个实例从服务器读取当地时间和日期,详细介绍了基本函数的功能及其使用。第二章这一章主要讲了TCP的三次握手连接建立和四次握手终止,TCP的TIME_WAIT状态。1.TCP三次握手详细过程通过wireshark软件抓取包解析如下:

2016-05-23 09:52:25 400

原创 百度之星2016初赛

Problem DescriptionF(x, m)F(x,m) 代表一个全是由数字xx组成的mm位数字。请计算,以下式子是否成立:F(x,m)\ mod\ k\ \equiv \ cF(x,m) mod k ≡ cInput第一行一个整数TT,表示TT组数据。 每组测试数据占一行,包含四个数字x,m,k,cx,m,k,c1\leq x\

2016-05-22 12:39:38 822

Linux程序设计第四版及源代码英文原版(附加勘误表)

Linux基础学习经典书籍beginning linuxprogramming最新版英文高清版,附有书中源代码,只需copy,解决程序过长手动输入的烦恼

2015-08-31

Beginning Linux Programming 4th Edition code

linux程序设计第四版源代码,附加勘误表

2015-08-20

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

TA关注的人

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