自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(89)
  • 资源 (3)
  • 收藏
  • 关注

转载 IM服务器的架构

一、 总的构架结构示意图: 如上图所示,目前系统总的分成六个模块,分别为网络/协议解析模块,用户帐号管理模块,消息处理模块,动作处理模块,数据均衡处理模块,客户状态处理模块 。 正常流程应该这么实现,以一个或者几个线程运行网络/协议解析模块,然后他根据具体的包类型分发给具体的命令处理模块,每个具体的命令处理模块 至少应该分别运行于不同的线程。 从上面的结构图可以看出,其中客户状态模块和

2015-10-23 20:16:57 432

转载 主流IM协议简介

四种主流的IM协议, XMPP协议、即时信息和空间协议(IMPP)、空间和即时信息协议(PRIM)、针对即时通讯和空间平衡扩充的进程开始协议SIP(SIMPLE)。 XMPP协议:在这四种协议中,XMPP是最灵活的。XMPP是一种基于XML的协议,它继承了在XML环境中灵活的发展性。因此,基于XMPP的应用具有超强的 可扩展性。经过扩展以后的XMPP可以通过发送扩展的信息来处理用户的需

2015-10-23 20:16:14 383

转载 IM即时通讯实现原理

即时通讯(Instant Messenger,简称IM)软件多是基于TCP/IP和UDP进行通讯的,TCP/IP和UDP都是建立在更低层的IP协议上的两种通讯传输协议。前 者是以数据流的形式,将传输数据经分割、打包后,通过两台机器之间建立起的虚电路,进行连续的、双向的、严格保证数据正确性的文件传输协议。而后者是以数 据报的形式,对拆分后的数据的先后到达顺序不做要求的文件传输协议。QQ就是使

2015-10-23 20:15:40 643

转载 SQLite做为本地缓存应注意的几大方面

今天我们要介绍的就是如何利用SQLite作为本地缓存的方法。其拥有适应于本地数据缓存和应用程序等诸多优点。AD:【线下活动】三大新锐HTML 5企业汇聚51CTO—大话移动前端技术今天看到了园友陆敏计的一篇文章>, 写到了SQLite的诸多优点,尤其适应于本地数据缓存和应用程序。转自陆兄的内容,来夸夸Sqlite:SQLite官方网站:

2015-10-22 16:54:03 8495

转载 iOS开发本地缓存(数据离线缓存、读取、释放)

为了节约流量,同时也是为了更好的用户体验,目前很多应用都使用本地缓存机制,其中以网易新闻的缓存功能最为出色。我自己的应用也想加入本地缓存的功能,于是我从网上查阅了相关的资料,发现总体上说有两种方法。一种是自己写缓存的处理,一种是采用ASIHTTPRequest中的ASIDownloadCache。方法一:一般将服务器第一次返回的数据保存在沙盒里面。这样在手机断网的情况下可以从本

2015-10-22 16:40:59 426

转载 IOS HTTP,TCP/IP

原文地址:HTTP,TCP/IP" style="text-decoration:none; color:rgb(62,115,160)">IOS HTTP,TCP/IP作者:IOS荣天一,HTTP请求行中的方法用于HTTP的动作方式,常用的方法有GET、HEAD和POST。        不同的请求对象对应GET的结果是不同的,对应关系如下:对象           

2015-10-22 16:40:18 408

转载 const的常见用法

const用法主要是防止定义的对象再次被修改,定义对象变量时要初始化变量 下面我就介绍一下几种常见的用法1.用于定义常量变量,这样这个变量在后面就不可以再被修改 const int Val = 10;  //Val = 20; //错误,不可被修改 2. 保护传参时参数不被修改,如果使用引用传递参数或按地址传递参数给一个函数,在这个函数里

2015-10-21 19:06:42 334

转载 从Java转iOS第一个项目总结(常用第三方,工具介绍)

本人14年12月份,从网站开发组转到了移动开发组,自己的java两年半工作经验变成了Objective-C零经验。2015年1月份新启动了一个移动项目,年后因为人事变动,自己从辅助开发变成了"核心"开发,目前项目基本接近尾声,下面进行总结,希望对一些人能有帮助, 另外也希望iOS大牛进行指导。AD:【线下活动】三大新锐HTML 5企业汇聚51CTO—大话移动前端技术

2015-10-21 12:03:25 1707

转载 iOS开发-AVFoundation 视频流处理

框架首先我们从整体对所需框架做个初步了解。AVFoundation在相关框架栈中的的位置:为了捕捉视频,我们需要这样几种类(与其它的子类)。AVCaptureDevice 代表了输入设备,例如摄像头与麦克风。AVCaptureInput 代表了输入数据源AVCaptureOutput 代表了输出数据源AVCaptureSession 用于

2015-10-21 12:01:46 780

转载 Mantle 初步使用

最近接触到了Mantle这个东西,感觉很不错,在此与各位分享一下。前言在开发的过程中,我们常常会从网络获取数据,而数据通常又为JSON格式。 这时比较常见的做法是把JSON数据转为Model对象,这样我们可以从Model对象的属性读取数据。 但是常常会面临如下一些问题:每次都要用 -initWithDictionarty:(NSDictionary *)dict

2015-10-21 11:59:35 361

转载 Objective-C 协议(protocol)

协议(protocol)是Objective-c中一个非常重要的语言特性,从概念上讲,非常类似于JAVA中接口. 一个协议其实就是一系列有关联的方法的集合(为方便后面叙述,我们把这个协议命名为myProtocol)。协议中的方法并不是由协议本身去实现,相反而是由遵循这个协议的其他类来实现。换句话说,协议myProtocol只是完成对协议函数的声明而并不管这些协议函数的具体实现。声明一个协议的语

2015-10-20 16:53:30 315

转载 iOS设计模式——MVC(Model-View-Controller)

Modol View Controller(MVC)是一种最早的也是最成功的可重用的设计模式,70年代的时候首次在smaltalk编写的程序中成功使用。基于MVC设计模式,Cocoa整体架构可以划分为三个子系统:Model, View, Controller,我们可以相应的理解为:数据模型,视图和控制器。Modol View和Controller的角色要想理解MVC设计模式中每个子

2015-10-20 16:52:40 624

转载 iOS设计模式——委托(delegate)

委托(delegate)也叫代理是iOS开发中常用的设计模式。我们借助于protocol(参考博文:objective-c协议(protocol))可以很方便的实现这种设计模式。什么是代理?苹果的官方文档给了很清晰的解释:Delegation is a simple and powerful pattern in which one object in a program acts

2015-10-20 16:51:50 250

转载 iOS设计模式——Category

什么是CategoryCategory模式用于向已经存在的类添加方法从而达到扩展已有类的目的,在很多情形下Category也是比创建子类更优的选择。新添加的方法同样也会被被扩展的类的所有子类自动继承。当知道已有类中某个方法有BUG,但是这个类是以库的形式存在的,我们无法直接修改源代码的时候,Category也可以用于替代这个已有类中某个方法的实体,从而达到修复BUG的目的。然而却没有什么便

2015-10-20 16:48:16 256

转载 iOS设计模式——单例模式

单例模式用于当一个类只能有一个实例的时候, 通常情况下这个“单例”代表的是某一个物理设备比如打印机,或是某种不可以有多个实例同时存在的虚拟资源或是系统属性比如一个程序的某个引擎或是数据。用单例模式加以控制是非常有必要的。单例模式需要达到的目的1. 封装一个共享的资源2. 提供一个固定的实例创建方法3. 提供一个标准的实例访问接口单例模式的创建本文以创建一个MySinglet

2015-10-20 16:47:05 211

转载 Github上的热门iOS开源项目:AFNetworking、MagicalRecord、BlocksKit以及XVim

Github上的热门iOS开源项目:AFNetworking、MagicalRecord、BlocksKit以及XVim发布于:2013-06-07 17:59阅读数:14071内容涉及网络通信、网络调试以及一些跟Xcode相关的插件“”阅读器1. AFNetworking  AFNetworking是

2015-10-19 19:03:56 282

转载 iOS版PhoneGap原理分析

PhoneGap是著名的跨平台Hybrid框架,旨在让开发者使用HTML、Javascript、CSS开发跨平台的App。本文将对iOS版本的PhoneGap的原理进行分析。“”阅读器iOS版PhoneGap本文转自sjpsega's Blog PhoneGap,著名的跨平台Hybrid框架,旨在让开发者使用H

2015-10-19 19:02:46 295

转载 谈谈用SQLite和FMDB而不用Core Data

凭良心讲,我不能告诉你不去使用Core Data。它不错,而且也在变好,并且它被很多其他Cocoa开发者所理解,当有新人加入你的组或者需要别人接手你的项目的时候,这点很重要。更重要的是,不值得花时间和精力去写自己的系统去代替它。真的,使用Core Data吧。 为什么我不使用Core DataMike Ash写到:就我自己而言,我不是个狂热粉丝。我发现API是笨拙的

2015-10-19 19:01:53 407

转载 instancetype 和 id 的差别

instancetype   clang 3.5 提供的关键字,  表示:某方法返回未知类型的OC对象都知道id任意类型关键字,为什么还会出现一个新的关键字?返回关联类型 1、类方法中,alloc, new开头2、实例方法中 autorelease,init,retain,self开头会返回方法所在类的类型的对象,即关联返回类型的方法。这些方法的返回

2015-10-19 09:44:46 278

转载 转载Prefix.pch文件说明,以及分享兴风作浪哥的开源项目链接

2015.8.19 更新考虑到还会有很多童鞋会看到该Blog,在此做一个说明,开源中国iOS开源客户端源码已做重构,请下载最新的源码学习。新repo地址:http://git.oschina.net/oschina/iphone-app。另外,这篇Blog收集了一些其他社区的客户端源码,源码也正在不断更新中,有的也上架appstore。访问地址:http

2015-10-16 09:43:09 300

翻译 后台多任务处理

在iOS7之前,当程序退出后,开发者对程序几乎做不了什么。除了VOIP和基于位置的特性,唯一能够在后台运行代码的途径只有使用后台任务(background tasks),但后台任务只会执行几分钟。如果你想要下载一部很大的视频以便离线观看,或者将用户图片备份到服务器,你只能完成部分的任务。  ios7新添加了两个可以在后台更新应用程序界面和内容的APIs。第一个API是后台获取(

2015-10-16 09:13:55 1312

转载 提高iOS App性能的建议和技巧(三)

这篇文章来自iOS Tutorial Team 成员 Marcelo Fabri, 他是 Movile 的一个iOS开发者. Check out his personal website or follow him on Twitter.原文地址     当我们开发iOS应用时,好的性能对我们的App来说是很重要的。你的用户也希望如此,但是如果你的app表现的反应迟钝或者很

2015-10-15 14:21:40 458

转载 iOS应用性能调优(二)

iOS应用性能调优的建议和技巧:初学者性能提升性能对 iOS 应用的开发尤其重要,如果你的应用失去反应或者很慢,失望的用户会把他们的失望写满App Store的评论。然而由于iOS设备的限制,有时搞好性能是一件难事。开发过程中你会有很多需要注意的事项,你也很容易在做出选择时忘记考虑性能影响。AD:本文来自iOS Tutorial

2015-10-15 14:20:50 325

转载 iOS程序性能优化(一)

[深入浅出Cocoa]iOS程序性能优化罗朝辉 (http://blog.csdn.net/kesalin)CC 许可,转载请注明出处 iOS应用是非常注重用户体验的,不光是要求界面设计合理美观,也要求各种UI的反应灵敏,我相信大家对那种一拖就卡卡卡的 TableView 应用没什么好印象。还记得12306么,那个速度,相信大家都受不了。为了提高 iOS 的运行速度,下

2015-10-15 14:19:36 293

转载 如何减小iOS应用程序的大小?

本文译自:Reducing the size of my App  Q: 怎样才能让我的程序安装包小一点,让程序的下载和安装更快速?  A: 本文收集了一些减小程序安装包大小的相关技巧(当第一次下载和安装程序时)。如果是针对升级程序的话,可以看这篇文章(减小iOS应用程序升级时所需下载的大小)(这与第一次安装使用的工作原理有所不同)。  检查应用程序  首先

2015-10-15 14:17:51 323

转载 iOS 基础-----关于UIView 的 frame 与 bounds

首先,对于frame 大家都很熟悉,是当前view ,相对于其父视图view 的坐标,例如:UIView *view1 = [[UIView alloc] initWithFrame:CGRectMake(10, 60, 300, 300)];  view1.backgroundColor = [UIColor redColor];  [self.view addSubvi

2015-10-15 14:16:03 306

转载 ios之TableViewCell重用机制避免重复显示问题

常规配置如下 当超过tableView显示的范围的时候 后面显示的内容将会和前面重复// 这样配置的话超过页面显示的内容会重复出现- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath{ // 定义唯一标识 static

2015-10-15 14:11:58 306

转载 IOS Table中Cell的重用reuse机制分析

创建UITableViewController子类的实例后,IDE生成的代码中有如下段落:- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath { static NSString *CellIdentifier = [NSString string

2015-10-15 14:10:28 302

转载 KVC 和 KVO 的使用场景

假如A和B需要通信,B需要获取A的消息首先是delegate和notification这两个,A和B之间有相互的关联用delegate,若A和B毫无联系就该用notification。然后是KVO,delegate和notification是A和B双方合作的事情,而KVO是B单方面的事情。A有消息了,A通知B,这是delegate;A有消息了,A通知notificationCent

2015-10-15 12:24:12 601

转载 IOS单例模式及单例模式的优缺点

单例模式的意思就是只有一个实例。单例模式确保某一个类只有一个实例,而且自行实例化并向整个系统提供这个实例。这个类称为单例类。#import @interface Singleton : NSObject +(Singleton *) getInstance;@end @implementation Singleton+(Singleton *) getInstance

2015-10-15 12:22:34 1041

转载 浅谈算法和数据结构: 七 二叉查找树

前文介绍了符号表的两种实现,无序链表和有序数组,无序链表在插入的时候具有较高的灵活性,而有序数组在查找时具有较高的效率,本文介绍的二叉查找树(Binary Search Tree,BST)这一数据结构综合了以上两种数据结构的优点。二叉查找树具有很高的灵活性,对其优化可以生成平衡二叉树,红黑树等高效的查找和插入数据结构,后文会一一介绍。一 定义二叉查找树(Binary S

2015-10-15 12:19:50 257

转载 IOS之sha加密、md5常规加密、md5二次加密详解及示例程序

原创作品,允许转载,转载时请务必以超链接形式标明文章 原始出处 、作者信息和本声明。否则将追究法律责任。http://developerpan.blog.51cto.com/7454463/1254875这些天写的程序需要用到SHA512加密。顺带着就实现了IOS的SHA1、SHA256、SHA384、SHA512,以及md加密,md5二次加密。写了个示例程序[背景资料

2015-10-15 12:18:15 381

转载 iOS常用加密方法(aes、md5、base64)

iOS常用加密方法(aes、md5、base64)1、AES加密NSData+AES.h文件[plain] view plaincopy//  //  NSData-AES.h  //  Smile  //  //  Created by 周 敏 on 12-11-24.  //  Copyright 

2015-10-15 12:17:24 385

转载 TCP协议与UDP协议的区别

TCP协议与UDP协议的区别    首先咱们弄清楚,TCP协议和UCP协议与TCP/IP协议的联系,很多人犯糊涂了,一直都是说TCP/IP协议与UDP协议的区别,我觉得这是没有从本质上弄清楚网络通信!TCP/IP协议是一个协议簇。里面包括很多协议的。UDP只是其中的一个。之所以命名为TCP/IP协议,因为TCP,IP协议是两个很重要的协议,就用他两命名了。TCP/IP协议集包括应用层,

2015-10-15 12:10:47 291

翻译 runtime

RunTime简称运行时。就是系统在运行的时候的一些机制,其中最主要的是消息机制。对于C语言,函数的调用在编译的时候会决定调用哪个函数( C语言的函数调用请看这里 )。编译完成之后直接顺序执行,无任何二义性。OC的函数调用成为消息发送。属于动态调用过程。在编译的时候并不能决定真正调用哪个函数(事实证明,在编 译阶段,OC可以调用任何函数,即使这个函数并未实现,只要申明过就不会报错。而C语言在编译阶

2015-10-15 12:08:05 256

转载 iOS 多线程:NSThread和runloop

如果对线程了解不够清楚,在项目就使用线程,会给开发带来很多问题。所以在iphone的项目中使用线程,最好先学习Apple的线程开发向导。以下是自己开发过程中,使用线程遇到的问题,以及解决的方法。目录•  第一个问题,为什么要使用线程。• 第二个问题如何使用线程。 第一个问题,为什么要使用线程。编辑本段回目录        在解决这个问题之前,要先了解什么是线

2015-10-15 11:28:36 400

转载 NSOperationQueue和NSOperation的使用方法

多线程编程是防止主线程堵塞,增加运行效率等等的最佳方法。而原始的多线程方法存在很多的毛病,包括线程锁死等。在Cocoa中,Apple提供了NSOperation这个类,提供了一个优秀的多线程编程方法。AD:首先是建立NSOperationQueue和NSOperations。NSOperationQueue会建立一个线程管理器,每个加入到线程operatio

2015-10-15 11:27:13 340

翻译 iOS 闭包中的[weak self]在什么情况下需要使用,什么情况下可以不加?

如果block没有直接或者间接被self存储,就不会产生循环引用。循环引用只要不依赖release打断,也应该不会产生内存泄漏问题。自己设计的模块都可以在合适时机进行打断。难就难在对系统类加扩展方法导致的循环引用。如果找得到合适的时机打断,也是没问题的。另外有个简单的方法可以绕过这个问题,如果self引用了一个block,block又需要调用self,可以把self通过参数回传给blo

2015-10-15 11:19:48 1901

转载 关于block使用的5点注意事项

1、在使用block前需要对block指针做判空处理。不判空直接使用,一旦指针为空直接产生崩溃。if (!self.isOnlyNet) { if (succBlock == NULL) { //后面使用block之前要先做判空处理 return; } id data = [NSKeyedUnarchiver unarchiveO

2015-10-15 11:19:01 374

转载 iOS容易造成循环引用的三种场景

ARC已经出来很久了,自动释放内存的确很方便,但是并非绝对安全绝对不会产生内存泄露。导致iOS对象无法按预期释放的一个无形杀手是——循环引用。循环引用可以简单理解为A引用了B,而B又引用了A,双方都同时保持对方的一个引用,导致任何时候引用计数都不为0,始终无法释放。若当前对象是一个ViewController,则在dismiss或者pop之后其dealloc无法被调用,在频繁的push或者pres

2015-10-15 11:15:02 259

RT-Thread Simulator 例程

https://gitee.com/rtthread/docs-online/raw/master/rt-thread-version/rt-thread-standard/tutorial/quick-start/stm32f103-simulator/rtthread_simulator_v0.1.0.7z 发现很多官方例程需要很高的积分,没必要啊,上面是官方例程的链接,但我访问有时候会失效,所以我这边传一份,各位先试试我给的链接,如果能下载,就不要浪费一个积分了

2024-01-03

凯文·凯利《必然》中文版

要学习人工智能,先了解美国大神在 20年前对AI 的定义与预测, 如今大多数都实现了

2018-04-16

数据结构教程以及CRC校验设计

压缩包里边装有 C++ 的数据结构函数教程,以及 CRC 校验的资料

2018-04-16

空空如也

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

TA关注的人

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