Google 的开源技术protobuf 简介与例子

今天来介绍一下“Protocol Buffers ”(以下简称protobuf)这个玩意儿。本来俺在构思“生产者/消费者模式 ”系列的下一个帖子:关于生产者和消费者之间的数据传输格式。由于里面扯到了protobuf,想想干脆单独开一个帖子算了。   ★protobuf是啥玩意儿?   为了照顾...

2017-02-12 13:53:09

阅读数 599

评论数 0

SSH远程登录入门-原理

首先说明一下 SSH是什么 ? 很简单的,SSH就是一种协议,就像TCP,UDP之类的一样,只是一种通信的约定.进而产生的一个问题就是协议的实现方式是有很多种的,多个厂商(甚至你我)都可以实现这个协议. 然后这个协议的作用在哪里?好吧,我们从计算机的发展历史来说吧,早期的计算机在网络上是明文...

2017-01-14 17:01:00

阅读数 404

评论数 0

如何高效的访问内存

影响内存访问速度的因素主要有: 1.内存带宽:每秒读写内存的数据量,由硬件配置决定。 2.CACHE高速缓冲:CPU与内存之间的缓冲器,当命中率比较高时能大大提供内存平均访问速度。 3.TLB转换旁视缓冲:系统虚拟地址向物理地址转换的高速查表机制,转换速度比普通转换机制要快。我们能够优化的只...

2016-05-22 21:52:22

阅读数 217

评论数 0

操作系统进程与线程之进程篇

1.1进程模型进程就是一个正在运行的程序,它由程序计数器、寄存器、当前变量的值组成。在单CPU环境下,操作系统利用了多道程序设计,来使得进程在一个时间片内快速的进行切换,进而达到了并行的效果,这只是一种模拟的“并发”,因而称之为并行。 问题1:物理寄存器只有固定的几个,程序计数器也是每个C...

2016-05-15 22:10:58

阅读数 1554

评论数 1

Nginx的模块开发指南

原文:http://www.evanmiller.org/nginx-modules-guide.html 译文:http://blog.csdn.net/tab_tab_tab/article/details/51407418 解蝙蝠侠的漫画人物有助于充分认识Nginx、Web服务器。首先,...

2016-05-14 18:41:54

阅读数 7776

评论数 1

利用VS2013构搭linux0.11内核调试环境

VS2013的下载链接:链接:http://pan.baidu.com/s/1mh7iLfy 密码:ir2o linux 0.11的工程 链接:http://pan.baidu.com/s/1eRUvAUY 密码:ue3h 下载完成后然后从打开刚刚的Linux0.11工程。 再然后设置im...

2016-05-10 17:24:16

阅读数 342

评论数 0

操作系统进程与线程之线程篇

1.1为什么要引入多线程?从多个角度去分析下 - A.从用户角度分析 ,有得程序员需要写一个经常阻塞(比如I/O的程序),没人希望自己程序阻塞一次就挂起。 - B.从系统设计角度分析 ,许多系统搞出来的线程切换的速度都是远远大于进程切换速度的。而且线程切换好处是Cache里面的数据可以不抛...

2016-05-10 17:00:35

阅读数 575

评论数 0

KMP算法

串′ababaaababaa′的next数组为:011234223456 先从人的分析角度去分析怎么做。。。。 next数组下标从1开始计算 next[1] 肯定是 0 next[2] 肯定是 1 next[n] 的情况,将前面n-1个字符,计算从首尾开始组成最大的相同子串的长度,如果...

2016-05-06 23:51:12

阅读数 155

评论数 0

malloc是线程安全的吗

只在Linux下查看了malloc的使用情况: GCC版本4.6.1 libc-dev 3.0.0-14.23 //============================================================ libc中有非线程安全/线程安全两个...

2016-05-06 09:58:07

阅读数 1823

评论数 0

GO语言学习系列1

1.1GO语言的安装 链接:http://pan.baidu.com/s/1hsjkmSO 密码:5m1f 然后一路狂点安装。。。 最后在CMD中 已经成功安装。。。 1.2GO语言之顺序编程 呃,GO语言和C++之类的语言有点不同。 1.2.1声明:首先体现在变量的声明...

2016-05-03 20:23:40

阅读数 547

评论数 0

深度分析C++默认构造函数、拷贝构造函数

对于C++初学者来说,时常不难看到他们说: 1.任何class如果没有定义默认构造函数,那么就会由编译器来合成一个出来。 2.编译器合成来的构造函数会明确确定里面所有成员的值。(比如int类型成员会初始化成0) 呃,这当然是一部分C++新手的一厢情愿吧、其实C++里面对于构造函数的诞生与...

2016-05-02 01:11:36

阅读数 388

评论数 0

程序员的自我修养第三章笔记

windows可执行文件格式:PE-COFF linux的可执行文件格式:ELF — —!还有其他系统的可执行文件格式..强调一点吧,某系统的可执行文件不能执行在其他不同可执行文件格式系统的上面…比如windows和Linxu —> —>当然,不单可执行文件是用这个格式,动态库和...

2016-04-29 23:15:00

阅读数 214

评论数 0

程序员的自我修养笔记第二章

拿出我们最爱的代码#include <stdio.h> void main(){printf("hello world!\n");}然后使用各种IDE,点击编译,点击链接,点击执行。。看似简单的点击背后究竟执行了什么?隐藏在背后的编译器默默帮你做了多少的事情? 好...

2016-04-29 21:52:17

阅读数 191

评论数 0

几个玩具代码(不用main的编程)

打印编译时间#include <stdio.h> int main() { printf("本程序的编译时间为:%s %s\n",__DATE__,__TIME__); // printf("%d\n",__LINE__); ...

2016-04-29 13:27:55

阅读数 672

评论数 0

微型Top源码剖析

简单来说就是通过读取/proc下面的文件来进行,然后进行操作的。 感觉也就那回事 分别读取了 /proc/stat /proc/loadavg /proc/meminfo 还有就是/proc/进程ID/stat这几个文件 全部都是纯文本操作 其中 /proc/loadavg可以读取5...

2016-04-28 21:21:50

阅读数 850

评论数 0

【算法】字符串交替

给定两个字符串,打印所有由这两个字符串的字符交替组成的字符串,要求保持原有字符的相对顺序 例如 输入”AB“和”CD”打印 ABCD ACBD ACDB CABD CADB CDAB 好蛋疼的一说,其实也是用分治法,和本系列中的产生括号几乎有着惊人的相似。。。所以本人就直接基于那个...

2016-04-27 23:12:43

阅读数 198

评论数 0

【算法】打印N对合理括号组合

题目:打印N对合理括号组合,比如输入3 输出 ((())) ()(()) ()()() (())() (()()) void PrinAr(char *str,int pos,int left,int right) {//pos为写入的位置 if(NULL == str || l...

2016-04-27 22:45:42

阅读数 242

评论数 0

程序员的自我修养笔记第一章

1.2万变不离其宗 早期的计算机体系的硬件设计: 虽然经过N年变化变成这样: 看似复杂,却没有摆脱原来的框架模型,和原来的模型核心几个点:IO、内存、CPU始终没有没有改变。因此是可以看成是最早的模型,或者说标题= = 万剑不离其宗。。。 好吧。。。总的也就这么多。现在记录下这一节学...

2016-04-27 20:53:46

阅读数 274

评论数 1

C语言如何获得变量的物理地址以及简单的写时拷贝测试

基本的思路:linux下的/proc/self是对自身进程映射的文件夹,里面的pagemap允许查看到每个虚拟页映射到的物理页。#include <stdio.h> #include <unistd.h> #include <inttypes.h> intptr...

2016-04-27 14:49:16

阅读数 2544

评论数 1

Map Reduce – the Free Lunch is not over?

原文发表于 2006 年 11 月 15 日   微软著名的 C++大师 Herb Sutter 在 2005 年初的时候曾经写过一篇重量级的文章——The Free Lunch Is Over: A Fundamental Turn Toward Concurrency in Soft...

2016-04-27 10:57:53

阅读数 230

评论数 0

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