[置顶] protobuf入门教程

1、简介和安装2、消息类型3、proto3 与 proto2 的区别4、常用序列化/反序列化接口5、repeated限定修饰符6、枚举(enum)、包(package)7、导入定义(import)...
阅读(59) 评论(0)

[置顶] 为什么你要写博客?

我知道现在可能说这话有点不合时宜,毕竟博客时代都已经过去了,再号召大家用过就好像时的东西是不是有点逆流而上? 我曾经也问过自己这个问题,但是我觉得,博客时代过去跟我们要开博客是没有多大关系的,就好像你的读书时代已经过去你就不再读书一样。 判断一件事情值不值得去做有一个方法:在一张白纸的左边写不值得做的原因,然后在右边写值得做的原因,写完一比较,一权衡,自然能够得出结果。 大家都成年人了,你会觉得这样思考分析总结的过程才是正确的思考的方法吧? 所以,我在这里列出要写(独立)博客的原因,供大家去选择,然后填在你...
阅读(1300) 评论(4)

[置顶] 一步步学习Linux多任务编程

01、什么是系统调用? 02、Linux系统调用之I/O操作(文件操作) 03、文件描述符的复制:dup(), dup2() 04、进程的介绍 05、Linux可执行文件结构与进程结构 06、多进程实现多任务(一):fork() 07、多进程实现多任务(二):vfork() 08、进程的控制:结束进程、等待进程结束 09、Linux特殊进程之僵尸进程 10、Linux特殊进程之孤儿进程 11、Linux特殊进程之守护进程 12、进程替换:exec函数族...
阅读(5711) 评论(4)

[置顶] Linux高级网络开发奇妙之旅

01、Linux网络编程1——网络协议入门 02、Linux网络编程2——无连接和面向连接协议的区别 03、Linux网络编程3——编程准备:字节序、地址转换 04、Linux网络编程4——套接字的介绍 05、Linux网络编程5——C/S和B/S架构的区别 06、Linux网络编程6——UDP编程 07、Linux网络编程7——广播...
阅读(3127) 评论(9)

[置顶] 一步步学习Linux开发环境搭建与使用

00、Linux开发环境搭建与使用1——Linux简史 01、Linux开发环境搭建与使用2——Linux系统( ubuntu )安装方案 02、Linux开发环境搭建与使用3——通过虚拟机安装系统( ubuntu ) 03、Linux开发环境搭建与使用4——ubuntu更新设置 04、Linux开发环境搭建与使用4——Linux必备软件之Samba 05、Lin...
阅读(2539) 评论(5)

[置顶] 精品文章推荐

1、程序学习之道 2、关于程序员成长的一点思考 3、码农提高工作效率 4、即使不当码农,你也要知道的15种编程语言 5、创业团队成员的挑战与成长...
阅读(1348) 评论(4)

[置顶] C语言也能做界面:踏上GTK+学习之旅

00、背上行囊1——程序员学习之道 01、背上行囊2——GUI概述 02、背上行囊3——GTK简介 03、背上行囊4——GTK环境搭建( Linux ) 04、背上行囊5——GTK环境搭建( windows ) 05、踏上旅途1——一个简单的空白窗口 06、踏上旅途2——控件的添加 04、踏上旅途1——一个简单的空白窗口 05、踏上旅途2——控件的添加 06、踏上旅途3——布局容器之水平布局 07、踏上旅途4——布局容器之垂直布局 08、踏上旅途5——布局容器之表格布...
阅读(2290) 评论(3)

学校的作用

本文转自:http://www.ljsw.cc/thread-185146-1-1.html你有没有想过一个问题——学校的教学形式为什么都是老师在上面讲,学生围坐在下面听?这种形式,从小学到大学,从古至今,从中国的孔夫子到古希腊雅典的学园,都是这样。那这种形态的学校,为什么到今天还没有消失呢?在古代,孔夫子或者雅典学园时代,教育当然只能采取这种形式。那时候,师生之间传播信息几乎只有老师当面讲授这一个...
阅读(37) 评论(0)

placement new的用法及用途

本文转自:http://www.cppblog.com/kongque所谓placement new就是在用户指定的内存位置上构建新的对象,这个构建过程不需要额外分配内存,只需要调用对象的构造函数即可。举例来说:class foo{}; foo* pfoo = new foo;pfoo指向的对象的地址你是不能决定的,因为new已经为你做了这些工作。第一步分配内存,第二步调用类的构造函数。而place...
阅读(61) 评论(0)

protobuf入门教程(六):导入定义(import)

消息格式info.proto文件内容如下:syntax = "proto3";//指定版本信息,不指定会报错package infopack; //package声明符message info //message为关键字,作用为定义一种消息类型 { string addr = 1; //地址 string group = 2; //分组 }addressbook.proto...
阅读(44) 评论(0)

protobuf入门教程(五):枚举(enum)、包(package)

枚举(enum)消息格式当需要定义一个消息类型的时候,可能想为一个字段指定某“预定义值序列”中的一个值,这时候可以通过枚举实现。syntax = "proto3";//指定版本信息,不指定会报错message Person //message为关键字,作用为定义一种消息类型 { string name = 1; //姓名 int32 id = 2; //id...
阅读(73) 评论(0)

protobuf入门教程(四):repeated限定修饰符

限定修饰符说明repeated 代表可重复,我们可以理解为数组:syntax = "proto3";//指定版本信息,不指定会报错message Person //message为关键字,作用为定义一种消息类型 { string name = 1; //姓名 int32 id = 2; //id string email = 3; //邮件 }messa...
阅读(54) 评论(0)

protobuf入门教程(三):常用序列化/反序列化接口

C数组的序列化和反序列化#include "addressbook.pb.h" #include using namespace std;/* //C数组的序列化和序列化API //在/usr/local/include/google/目录下,查找包含"SerializeToArray"所有的文件,同时打印所在行 //sudo grep "SerializeToArray" -...
阅读(66) 评论(0)

protobuf入门教程(二):消息类型

操作流程1)在.proto文件中定义消息格式 2)使用protobuf编译器生成C++类 3)使用C++ API来读写消息C++编程指导:https://developers.google.com/protocol-buffers/docs/cpptutorial消息格式syntax = "proto3"; //指定版本信息,不指定会报错message Person //message为关键字...
阅读(51) 评论(0)

Protobuf 的 proto3 与 proto2 的区别

本文转自:https://solicomo.com/network-dev/protobuf-proto3-vs-proto2.html总的来说,proto3 比 proto2 支持更多语言但 更简洁。去掉了一些复杂的语法和特性,更强调约定而弱化语法。如果是首次使用 Protobuf ,建议使用 proto3 。1、在第一行非空白非注释行,必须写:syntax = “proto3”;2、字段规则移除...
阅读(79) 评论(0)

protobuf入门教程(一):简介和安装

1.1 简介1.1.1 什么是protobufprotobuf也叫protocol buffer是google 的一种数据交换的格式,它独立于语言,独立于平台。google 提供了多种语言的实现:java、c#、c++、go 和 python,每一种实现都包含了相应语言的编译器以及库文件。由于它是一种二进制的格式,比使用 xml 、json进行数据交换快许多。可以把它用于分布式应用之间的数据通信或者...
阅读(138) 评论(0)

MD5

MD5即Message-Digest Algorithm 5(信息-摘要算法5),用于确保信息传输完整一致。是计算机广泛使用的杂凑算法之一(又译摘要算法、哈希算法),主流编程语言普遍已有MD5实现。更多详情,请自行百度。理论上MD5是不可逆的,而且MD5本来也不是作加密使用,而是用来校验数据的完整性。譬如,我们用迅雷下载电影,就有个MD5校验:平时,我们在云盘上,秒传文件,可以通过MD5校验实现:...
阅读(87) 评论(0)

Base64

用记事本打开exe、jpg、pdf这些文件时,我们都会看到一大堆乱码,因为二进制文件包含很多无法显示和打印的字符。所以,如果要让记事本这样的文本处理软件能处理二进制数据,或者使用json保存二进制信息,需要先把数据先做一个Base64编码,统统变成可见字符,再保存。在Base64中的可打印字符包括大写英文字母A-Z、小写英文字母a-z、阿拉伯数字0-9,这样共有62个字符,此外两个可打印符号在不同的...
阅读(75) 评论(0)

redis有序集合中是否存在某个成员

redis命令使用参考网页:http://redis.cn/commands.html 有序集合中redis没有命令直接判断有序集合中是否存在某个成员,但可以借助ZLEXCOUNT 命令实现:zset [member [member zset:有序集合键名称 member :查询集合中的某个成员 存在返回1,不存在返回0...
阅读(398) 评论(0)

QTableWidget的使用

QTableWidget是Qt程序中常用的显示数据表格的空间。QTableWidget只能使用标准的数据模型,并且其单元格数据是QTableWidgetItem的对象来实现的(也就是不需要数据源,将逐个单元格内的信息填好即可)。QTableWidgetItem用来表示表格中的一个单元格,整个表格都需要用逐个单元格构建起来。程序实现效果图如下: 实现代码如下://表头相关设置 //设置列数,...
阅读(141) 评论(0)

http session介绍

无状态协议HTTP协议(http://www.w3.org/Protocols/)是“一次性单向”协议,即为无状态协议。无状态协议是指协议对务处理没有记忆能力。缺少状态意味着如果后续处理需要前面的信息,则它必须重传,这样可能导致每次连接传送的数据量增大。另一方面,在服务器不需要先前信息时它的应答就较快。 http协议不像建立了socket连接的两个终端,双方是可以互相通信的,http的客户端只能通过...
阅读(214) 评论(0)

Token验证介绍

什么是TokenToken 的中文有人翻译成 “令牌”,我觉得挺好,意思就是,你拿着这个令牌,才能过一些关卡。Token是一个用户自定义的任意字符串。在成功提交了开发者自定义的这个字符串之后,Token的值会保存到服务器后台。只有服务器和客户端前端知道这个字符串,于是Token就成了这两者之间的密钥,它可以让服务器确认请求是来自客户端还是恶意的第三方。传统身份验证的方法HTTP 是一种没有状态的协议...
阅读(224) 评论(0)

《C和指针》:存储类型

存储类型变量的存储类型是指存储变量值的内存类型。变量的存储类型决定变量何时创建、何时销毁以及它的值将保持多久。有三个地方可以用于存在变量:普通内存、运行时堆栈、硬件寄存器。变量的缺省(默认)存储类型取决于它的声明位置。凡是在任何代码块之外声明的变量问题存储于静态内存中,也就是不属于堆栈的内存,这类变量称为静态变量。对于这类变量,你无法为它们指定其他存储类型。静态变量在程序运行之前创建,在程序的整个执...
阅读(438) 评论(0)

《C陷阱与缺陷》:缓冲输出和内存分配

程序输出有两种方式:一种是即时处理方式,另一种是先暂存起来,然后再大块写入的方式,前者往往造成较高的系统负担。因此,C语言实现通常都允许程序员进行实际的写操作之前控制产生的输出数据量。这种控制能力一般是通过库函数 setbuf 实现的。如果 buf 是一个大小适当的字符数组,那么: setbuf(stdout,buf);语句将通知输入/输出库,所有写入到 stdout 的输出都应该使用 buf 作为...
阅读(238) 评论(0)

《C陷阱与缺陷》:更新顺序文件

许多系统中的标准输入/输出库都允许程序打开一个文件,同时进行写入和读出的操作:FILE * fp; fp = fopen(file, "r+"); 上面的例子代码打开了文件名由变量 file 指定的文件,对于存取权限的设定表明程序希望对这个文件进行输入和输出操作。编程者也许认为,程序一旦执行上述操作完毕,就可以自由地交错进行读出和写入操作。遗憾的是,事实总是难随人愿,为了保持与过去不能同时进行读...
阅读(119) 评论(0)

《C陷阱与缺陷》:如何理解(*(void(*)())0)()?

有一次,一个程序员与我交谈一个问题。他当时正在编写一个独立运行于某种微处理器上的C程序。当计算机启动时,硬件将调用首地址为0位置的子例程。为了模拟开机启动时的情形,我们必须设计出一个C语句,以显式调用该子例程。经过一段时间的思考,我们最后得到的语句如下:(* ( void(*)() ) 0) ();像这样的表达式恐怕会令每个C程序员的内心都“不寒而栗”。然而,他们大可不必对此望而生畏,因为构造这类表...
阅读(276) 评论(0)
277条 共14页1 2 3 4 5 ... 下一页 尾页
    本人录制的视频资源
    个人资料
    • 访问:430516次
    • 积分:7999
    • 等级:
    • 排名:第2463名
    • 原创:242篇
    • 转载:61篇
    • 译文:11篇
    • 评论:256条
    相关声明
    博客专栏
    最新评论