1.NSData NSData是Objective-C语言中数据的基本类型,其成分可以理解为字节指针和长度的封装的类,来看看源代码 @interface NSData : NSObject <NSCopying, NSMutableCopying, NSSecureCoding> @property (readonly) NSUInteger length; /* The -bytes method returns a pointer to a contiguous region of mem…
Archiving Objective-C Objects with NSCoding For the seasoned Cocoa developer, this is a piece of cake. For newer developers, this can be a real pain, especially if you don’t know what you’re looking for. I get this question a decent amount, so I figu…
//NSData遵循NSCopying NSCoding协议,它提供面向对象的数组存储为字节 //适用与读写文件,而读写文件的时候需要一个缓冲区,而NSDate就提供了这么一个缓存区 //定义一个char类型的字符串 const char * string = "Hi there ,this is a C string"; //建立缓冲区,把字符串添加进去 NSData * data = [NSData dataWithBytes:string length:strlen(string…
用户自定义协议client/server代码示例 代码参考链接:https://github.com/sogou/workflow message.h message.cc server.cc client.cc 关于user_defined_protocol 本示例设计一个简单的通信协议,并在协议上构建server和client.server将client发送的消息转换成大写并返回. 协议的格式 协议消息包含一个4字节的head和一个message body.head是一个网络序的整数,指明b…
上面已经说完了SQLite和FMDB以及两者的区别,本篇将讲述iOS中另一个存储方式,CoreData的使用.通读下来大约10分钟,后续还会根据项目中问题,不断更新. 一.预备知识 在了解CoreData,大家有必要了解对象关系映射(英语称object Relational Mapping,简称ORM). 1.ORM ORM是通过使用描述对象和数据库之间映射的元数据,可以实现将对象自动持久化到关系数据库当中.ORM的存在为了解决面向对象与数据库科恩干存在不匹配的一种技术. 二.初识CoreDat…
  让App聊起来 IM开发从入门到填坑Demo IM的实现方式 拿来主义,使用第三方IM服务 IM的第三方服务商国内有很多,底层协议基本上都是基于TCP的,类似有网易云信.环信.融云.极光IM.LeanCloud.云通讯IM(腾讯).云旺IM(阿里).容联云.小能.美洽等等,技术也相对比较成熟,提供后台管理和定制化的UI,拿来主义,半小时集成. 缺点也很明显:定制化程度太高,需要二次开发,很多东西我们不可控,关键是太贵了.如果IM对于APP只是一个辅助功能,如客服系统.消息推送等,也基本够用.…
在深入学习zookeeper我想先给大家介绍一个和zookeeper相关的应用实例,我把这个实例命名为远程调用服务.通过对这种应用实例的描述,我们会对zookeeper应用场景会有深入的了解. 远程调用是系统与系统之间的通信机制,它的另一种理解就是进程间的通信.做分布式系统的开发,远程调用技术是其核心技术.远程调用技术可以将一组计算机系统形成一个网络系统,对外提供整体服务,那么这一群的计算机系统就构成了一个更大型,性能更高的计算机系统. 我在前面的博客里介绍了一种分布式网站的架构设计,其中就有一…
1.前言 这两年多一直从事网易云信 iOS 端 IM SDK的开发,期间不断有兄弟部门的同事和合作伙伴过来问各种技术细节,干脆统一介绍下一个IM APP的方方面面,包括技术选型(包括通讯方式,网络连接方式,协议选择)和常见问题.(原文链接:http://www.52im.net/thread-133-1-1.html) 分享者:项望烽,毕业于浙江大学,目前是网易云信 iOS 端研发负责人. 2.学习交流 - 即时通讯开发交流群: 215891622 [推荐] - 移动端IM开发推荐文章:<新手入…
评注: 开源的分布式监控系统 转:http://www.infoq.com/cn/articles/distributed-real-time-monitoring-and-control-system?utm_campaign=rightbar_v2&utm_source=infoq&utm_medium=articles_link&utm_content=link_text 2011年底,我加入大众点评网,出于很偶然的机会,决定开发CAT,为各个业务线打造分布式实时监控系统,C…
古之立大事者,不惟有超世之才,亦必有坚忍不拔之志 -- 苏轼·<晁错论> 从公司的项目源码中看到了这个东西,觉得挺好用的,写篇博客做下小总结.下面的操作以C++为编程语言,protoc的版本为libprotoc 3.2.0. 一.Protobuf? 1. 是什么? Google Protocol Buffer(简称 Protobuf)是一种轻便高效的结构化数据存储格式,平台无关.语言无关.可扩展,可用于通讯协议和数据存储等领域. 2. 为什么要用? - 平台无关,语言无关,可扩展: - 提供了…