关闭

为什么说基于TCP的移动端IM仍然需要心跳保活?

1、前言 有关TCP协议的权威理论介绍,请参见《TCP/IP详解》这本书。 说明:本文引用了网易云信项望烽的技术文章,感谢分享。  2、学习交流 - 即时通讯开发交流群:215891622 [推荐] - 移动端IM开发推荐文章:《新手入门一篇就够:从零开发移动端IM》 3、参考资料 《TCP/IP详解-第11章·UDP:用户数据报协议》 《TCP/I...
阅读(507) 评论(0)

漫谈iOS Crash收集框架

为了能够第一时间发现程序问题,应用程序需要实现自己的崩溃日志收集服务,成熟的开源项目很多,如KSCrash,plcrashreporter,CrashKit 等。追求方便省心,对于保密性要求不高的程序来说,也可以选择各种一条龙Crash统计产品,如 Crashlytics,Hockeyapp ,友盟,Bugly 等等。 是否集成越多的Crash日志收集服务就越保险? 自...
阅读(517) 评论(0)

宏定义中的##操作符和... and _ _VA_ARGS_ _

1.Preprocessor Glue: The ## Operator 预处理连接符:##操作符 Like the # operator, the ## operator can be used in the replacement section of a function-like macro.Additionally, it can be used in the repla...
阅读(767) 评论(0)

什么是md5盐值

MD5自身是不可逆的 但是目前网路上有很多数据库支持反查询(如 http://www.cmd5.com/) 如果用户密码数据库不小心被泄露黑客就可以通过反查询方式获得用户密码或者对于数据库中出现频率较高的hash码(即很多人使用的)进行暴力破解(因为它通常都是弱口令) 盐值就是在密码hash过程中添加的额外的随机值 比如我的id是癫ω倒④ゞ 密码是123456 存在数据库中的时候就可以对字符串12...
阅读(554) 评论(0)

OC clang -rewrite-objc 详解

OC http://www.jianshu.com/p/c2dabb4fd761  block的语法看上去好像很特别,但实际上是作为极为普通的C语言代码来处理的。这里我们借住clang编译器的能力:具有转化为我们可读源代码的能力。 控制台命令是: clang -rewrite-objc 源代码文件名。 ? 1 2 3 4 5 ...
阅读(253) 评论(0)

[iOS]深入理解__bridge - OC对象与C++对象的引用转换

0x0 crash 昨天在iOS Geekers钉钉群里聊到一个问题, 下面的代码会crash: void* a = new char; id ext = (__bridge id)a; crash现场如图: 看看挂的地方: 挂在objc_retain里面: objc_retain的作用是对oc对象做retain用的, 我们对指令做一下...
阅读(1809) 评论(0)

iOS 客户端架构设计 MVVM

MVC MVC,Model-View-Controller,我们从这个古老而经典的设计模式入手。采用 MVC 这个架构的最大的优点在于其概念简单,易于理解,几乎任何一个程序员都会有所了解,几乎每一所计算机院校都教过相关的知识。而在 iOS 客户端开发中,MVC 作为官方推荐的主流架构,不但 SDK 已经为我们实现好了 UIView、UIViewController 等相关的组件,更是有大量的...
阅读(968) 评论(0)

vultr 促销码

http://www.vultr.com/?ref=6964126 http://www.vultr.com/?ref=6964127-3B 之前的博客中提到的vps,可以用以上链接购买...
阅读(146) 评论(0)

iOS 中级面试题

半年前在知乎浏览到一个帖子,是关于如何面试iOS工程师。由于当时公司正在招聘iOS工程师,自己也面试了不少同学,就饶有兴致的把自己的面试问题清单贴了出去,却意外的引来了不少关注。还有不少同学认真回答并将答案私信于我交流的,还有求隐藏关卡的:(。由于工作太忙,私信和评论后面都没怎么回复,这里一并做下总结回复:p  一份面试题的意义 — 我把收到的私信和一百多条评论都仔细读了遍,发现大家之所以会...
阅读(558) 评论(0)

block 的ARC和MRC中的区别

block在ARC和MRC中的声明引用有些区别.      /**      block可以存储在栈中,也可以在堆中      默认存储在栈中,不需要管理内存      存储在堆中的block会对block进行retain操作      */     //(MRC)block在堆中时,不想对block进行retain操作,前面加__block     //(ARC)前面加__we...
阅读(304) 评论(0)

组件化架构漫谈

前段时间公司项目打算重构,准确来说应该是按之前的产品逻辑重写一个项目。在重构项目之前涉及到架构选型的问题,我和组里小伙伴一起研究了一下组件化架构,打算将项目重构为组件化架构。当然不是直接拿来照搬,还是要根据公司具体的业务需求设计架构。 在学习组件化架构的过程中,从很多高质量的博客中学到不少东西,例如蘑菇街李忠、casatwy、bang的博客。在学习过程中也遇到一些问题,在微博和QQ上和一些做...
阅读(675) 评论(0)

Mac系统下安装PIL

安装PIL依赖JPEG、Freetype、LittleCMS, 首先安装这三个环境(第一至三步): 第一步:安装JPEG http://www.ijg.org/files/jpegsrc.v8c.tar.gz $ tar zxvf jpegsrc.v8.tar.gz  $ cd jpeg* $ ./configure --enable-shared --enable-s...
阅读(194) 评论(0)

Mac OS安装PIL

安装完PIL,在处理jpg时,竟然提示“decoder jpeg  not available”,搜之原来是PIL安装没有提供对jpeg的支持。 首先卸载已经安装的PIL: 在Mac下,找到site-packages可用如下方法: [python] view plain copy import django   dir(django...
阅读(346) 评论(0)

Python——UnicodeEncodeError: 'ascii' codec can't encode/decode characters

初学Python被编码格式搞的很头大,以下bug是遇到的编码问题之一: 【BUG】UnicodeEncodeError: 'ascii' codec can't encode characters in position 0-15: ordinal not in range(128)或者UnicodeDecodeError: 'ascii' codec can't decode byte...
阅读(211) 评论(0)

mac下安装django

下载django的安装文件,然后解压缩,然后用命令行cd到解压缩出来文件的目录,执行python setup.py install即可。或者试试下面的方法 首先安装 Homebrew$ ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)"1安装 Postgresql安装 ...
阅读(876) 评论(0)

gcdasyncsocket address already in use

找好久找到终于找到这个 Current head of GDAAsyncUdpSocket does not (also) set SO_REUSEPORT (it just does ADDRESS, which is quite enough for TCP). I just popped in a quick fix: https://github.com/dirkx/...
阅读(732) 评论(0)

python socket.error: [Errno 48] Address already in use

简单实例 服务端 我们使用 socket 模块的 socket 函数来创建一个 socket 对象。socket 对象可以通过调用其他函数来设置一个 socket 服务。 现在我们可以通过调用 bind(hostname, port) 函数来指定服务的 port(端口)。 接着,我们调用 socket 对象的 accept 方法。该方法等待客户端的连接,并返回 connec...
阅读(1190) 评论(1)

使用SDWebImage和YYImage下载高分辨率图,导致内存暴增的解决办法

最近,收到朋友求助,说是有个控制器,一进去就crash,而且手机非常的烫,用instrument跑了跑,发现内存暴增几百兆;如图:   图中可以看出,内存暴增的罪魁祸首是YYImage,再进一步定位问题,如图:   现在已经可以很清楚的知道,具体是哪些代码导致内存飙升的,这个方法“YYCGImageCreateDecodeCopy”,主要是对...
阅读(545) 评论(0)

iOS手机摄像头测心率

最近在封装一个手机摄像头测心率的模块,搞得精神各种紧张,导致吃饭、路上、做梦,甚至都在想这个东西,就在刚刚终于搞完了,写个文章庆祝一下。 原理 简单介绍一下,网上可以查到很多关于手机测心率的这种项目,大概就是:把手指放在摄像头和闪光灯上,通过手指处脉搏跳动充血导致的细微颜色变化来确定心跳波动,确定波峰波谷,根据两个波峰之间的时间差来确定瞬时心率。 思路 首先,采...
阅读(634) 评论(0)

iOS去除导航栏和tabbar的1px横线

1.在自己定义的导航栏中或者设计稿中经常需要去除导航栏的1px横线,主要是颜色太不协调了 去除之前的图片 要去除这1px的横线,首先应该知道它是什么,在Xcode的界面调试中可以看到,它其实是UIImageView来的 找到横线是什么了··· 其实这是navigationBar的shadowImage,所以只要设置它为空即可,但是设置它为空之前应该先...
阅读(285) 评论(0)
130条 共7页1 2 3 4 5 ... 下一页 尾页
    个人资料
    • 访问:87179次
    • 积分:1551
    • 等级:
    • 排名:千里之外
    • 原创:55篇
    • 转载:72篇
    • 译文:3篇
    • 评论:8条
    文章分类
    最新评论