<?xml version="1.0" encoding="utf-8" ?><rss version="2.0"><channel><title><![CDATA[ioscodelover的专栏]]></title><description><![CDATA[]]></description><link>https://blog.youkuaiyun.com/ioscodelover</link><language>zh-cn</language><generator>https://blog.youkuaiyun.com/</generator><copyright><![CDATA[Copyright &copy; ioscodelover]]></copyright><item><title><![CDATA[大型网站系统与Java中间件实践读书笔记]]></title><link>https://blog.youkuaiyun.com/ioscodelover/article/details/45047869</link><guid>https://blog.youkuaiyun.com/ioscodelover/article/details/45047869</guid><author>ioscodelover</author><pubDate>Tue, 14 Apr 2015 21:10:52 +0800</pubDate><description><![CDATA[1.分布式系统相对集中式而言，是指多台计算机互相通过消息通信进行协作而对外提供服务；可解决大型机的伸缩性和单点等问题；
2.网络i/o有bio/nio，还有aio，aio是指线程拿到消息后并不自己处理或等处理结束之后再响应，而是将消息投递之后继续后面的处理，只将回调传递给被调用方，消息处理完成之后自动由被调用方完成回调，也就是异步io，java7支持aio；
3.分布式系统有几个难点：缺乏全局]]></description><category></category></item><item><title><![CDATA[spdy vs http + ocean]]></title><link>https://blog.youkuaiyun.com/ioscodelover/article/details/44753457</link><guid>https://blog.youkuaiyun.com/ioscodelover/article/details/44753457</guid><author>ioscodelover</author><pubDate>Mon, 30 Mar 2015 17:05:42 +0800</pubDate><description><![CDATA[HTTP 协议的不足
　　1. 单路连接 请求低效
　　HTTP 协议的最大弊端就是每个 TCP 连接只能对应一个 HTTP 请求，即每个 HTTP 连接只请求一个资源，浏览器只能通过建立多个连接来解决。此外在 HTTP 中对请求是严格的先入先出（FIFO）进行的，如果中间某个请求处理时间较长会阻塞后面的请求。
　　2. HTTP 只允许由客户端主动发起请求
　　服务端只能等待客户端发送一]]></description><category></category></item><item><title><![CDATA[Objective-C中不同方式实现锁(一)]]></title><link>https://blog.youkuaiyun.com/ioscodelover/article/details/44559661</link><guid>https://blog.youkuaiyun.com/ioscodelover/article/details/44559661</guid><author>ioscodelover</author><pubDate>Mon, 23 Mar 2015 09:55:31 +0800</pubDate><description><![CDATA[Objective-C中不同方式实现锁(一)

发表于 2012-11-08   |   暂无评论


转自：http://www.tanhao.me/pieces/616.html/
为什么需要使用锁，当然熟悉多线程的你，自然不会对它觉得陌生。
那你在代码中是否很好的使用了锁的机制呢？你又知道几种实现锁的方法呢？

今天一起来探讨一下Objective-C中几种不同方式实现的锁]]></description><category></category></item><item><title><![CDATA[oc的优缺点]]></title><link>https://blog.youkuaiyun.com/ioscodelover/article/details/43537599</link><guid>https://blog.youkuaiyun.com/ioscodelover/article/details/43537599</guid><author>ioscodelover</author><pubDate>Thu, 05 Feb 2015 21:40:14 +0800</pubDate><description><![CDATA[oc的主要缺点；
1.异常处理机制普遍比较弱，动不动就crash；
2.没有泛型与类型限定机制，容器使用靠自己判断；
3.category不能加属性，需要想办法绕过；
4.语法书写太冗长了；
5.runtime非常黑盒，使用起来门槛比较高；
6.内存管理还是有一定成本；


oc主要优点：
1.系统类库已非常丰富，标准化；
2.许多delegate设计方式非常容易切入；
3]]></description><category></category></item><item><title><![CDATA[web安全笔记]]></title><link>https://blog.youkuaiyun.com/ioscodelover/article/details/43535461</link><guid>https://blog.youkuaiyun.com/ioscodelover/article/details/43535461</guid><author>ioscodelover</author><pubDate>Thu, 05 Feb 2015 20:41:53 +0800</pubDate><description><![CDATA[1.web应用安全隐患可以出现在几个地方：输入，处理，输出；而输出过程的安全威胁一般都会是注入型攻击，如sql注入，html注入，http头注入，os命令注入，邮件头注入等等；
2.而处理过程中的安全威胁则主要有路径遍历，csrf，会话固定认证漏洞和授权漏洞等；
3.xss收集cookie的过程，只要能够在目标网页上执行js，就可以创建一个iframe或img等标签来加载来自恶意网站的信息，并]]></description><category></category></item><item><title><![CDATA[一些基本设计模式笔记]]></title><link>https://blog.youkuaiyun.com/ioscodelover/article/details/43153203</link><guid>https://blog.youkuaiyun.com/ioscodelover/article/details/43153203</guid><author>ioscodelover</author><pubDate>Mon, 26 Jan 2015 15:38:51 +0800</pubDate><description><![CDATA[Abstract Factory：提供一个创建一系列相关或相互依赖对象的接口，而无需指定它们具体的类。 
　　Adapter：将一个类的接口转换成客户希望的另外一个接口。A d a p t e r模式使得原本由于接口不兼容而不能一起工作的那些类可以一起工作。 
　　Bridge：将抽象部分与它的实现部分分离，使它们都可以独立地变化。 
　　Builder：将一个复杂对象的构建与它的表示分离，]]></description><category></category></item><item><title><![CDATA[代码坏味道]]></title><link>https://blog.youkuaiyun.com/ioscodelover/article/details/43152279</link><guid>https://blog.youkuaiyun.com/ioscodelover/article/details/43152279</guid><author>ioscodelover</author><pubDate>Mon, 26 Jan 2015 14:37:59 +0800</pubDate><description><![CDATA[代码坏味道：
1）重复的代码；
2）过长的函数；
3）过大的类；
4）过长的参数列表；
5）发散式变化，有点类似于重复的代码，遇到要修改某一功能点的时候，得修改关联的好多处；
6）霰弹式个性，与发散式修改相反，关联的业务点非常分散，有时要修改内容时没法弄，比如要把一些方法里的量提炼出来；
7）依赖情节，如果一个函数计算值需要用到大量另一个对象的方法，则应把这个函数移到该对象中去；]]></description><category></category></item><item><title><![CDATA[ios native与js互调]]></title><link>https://blog.youkuaiyun.com/ioscodelover/article/details/42643421</link><guid>https://blog.youkuaiyun.com/ioscodelover/article/details/42643421</guid><author>ioscodelover</author><pubDate>Mon, 12 Jan 2015 15:49:18 +0800</pubDate><description><![CDATA[native调用js比较方便，可以直接执行js函数；
js调用native稍微麻烦点，需要js触发链接（如通过链接跳转或加载iframe）将参数放在链接后面，webview的代理可截获这个请求，从而进行相应的native处理，如果需要往js回传数据，则将需要回调的js函数放在链接中传进来，这样native执行完成之后，就能够回调js函数，实现返回值输出的效果；
js与native调用的安全问题]]></description><category></category></item><item><title><![CDATA[Android开发性能优化大总结]]></title><link>https://blog.youkuaiyun.com/ioscodelover/article/details/42491453</link><guid>https://blog.youkuaiyun.com/ioscodelover/article/details/42491453</guid><author>ioscodelover</author><pubDate>Wed, 07 Jan 2015 13:56:12 +0800</pubDate><description><![CDATA[转自：http://www.linuxidc.com/Linux/2013-07/87359.htm

一.Android相关

1.  采用硬件加速，在androidmanifest.xml中application添加android:hardwareAccelerated="true"。不过这个需要在android 3.0才可以使用。android4.0这个选项是默认开启的。
2.  ]]></description><category></category></item><item><title><![CDATA[android笔记]]></title><link>https://blog.youkuaiyun.com/ioscodelover/article/details/42491267</link><guid>https://blog.youkuaiyun.com/ioscodelover/article/details/42491267</guid><author>ioscodelover</author><pubDate>Wed, 07 Jan 2015 13:43:13 +0800</pubDate><description><![CDATA[1.activity的intent-filter中action和category属性含义:
action表示该activity接受什么样的动作，比如值为android.intent.action.MAIN时表示这个activity可以作为程序入口用来启动，没有配置的不可以；值android.intent.action.VIEW/EDIT表示该activity可以用来显示和编辑指定数据；使用这两个]]></description><category></category></item><item><title><![CDATA[ios逆向笔记]]></title><link>https://blog.youkuaiyun.com/ioscodelover/article/details/42461159</link><guid>https://blog.youkuaiyun.com/ioscodelover/article/details/42461159</guid><author>ioscodelover</author><pubDate>Tue, 06 Jan 2015 16:42:46 +0800</pubDate><description><![CDATA[1.逆向工程概念：逆向工程是指借助工具对目标代码进行分析与修改的过程；
2.进行逆向工程的目的有：评估代码的安全性，了解目标代码某些特性的实现原理，去除使用限制，进行安全攻击等等；
3.逆向工程的一般过程：先对目标软件功能进行了解，然后借助工具对目标代码进行分析，修改目标代码，验证修改后的功能；
4.ios系统目录结构：不太需要关注，主要关注app被逆向后的安全问题为主；
5.ios ap]]></description><category></category></item><item><title><![CDATA[无线安全学习笔记]]></title><link>https://blog.youkuaiyun.com/ioscodelover/article/details/41941183</link><guid>https://blog.youkuaiyun.com/ioscodelover/article/details/41941183</guid><author>ioscodelover</author><pubDate>Mon, 15 Dec 2014 10:58:20 +0800</pubDate><description><![CDATA[安全笔记：
1.无线安全需要考虑的范围：
1）app在设备上的数据安全；
2）app与server在交互过程中的数据安全；
3）app在越狱用户手机上的安全；
4）server的安全：越权操作检查，csrf(请求回放)，css跨站脚本，sql注入等等；
5）社会工程安全：员工培训，公司内部权限管理等；
2.无线安全不需要考虑的范围：
1）iOS系统被越狱的漏洞；
3.app在设备]]></description><category></category></item><item><title><![CDATA[Core Data学习笔记]]></title><link>https://blog.youkuaiyun.com/ioscodelover/article/details/41576729</link><guid>https://blog.youkuaiyun.com/ioscodelover/article/details/41576729</guid><author>ioscodelover</author><pubDate>Fri, 28 Nov 2014 14:46:46 +0800</pubDate><description><![CDATA[1.Core Data提供通用及自动化的对象生命周期管理方案，包括持久化，其特点包括：
1）undo/redo支持；
2）对象间的关系管理；
3）懒加载和写拷贝等内存高效使用方式；
4）属性值的自动校验；
5）schema迁移；
6）NSFetchedResultsController与UITableView是一对好基友，可与界面深度结合；
7）KVC/KVO自动支持；
8）对数据]]></description><category></category></item><item><title><![CDATA[ios事件处理]]></title><link>https://blog.youkuaiyun.com/ioscodelover/article/details/41517613</link><guid>https://blog.youkuaiyun.com/ioscodelover/article/details/41517613</guid><author>ioscodelover</author><pubDate>Wed, 26 Nov 2014 16:13:04 +0800</pubDate><description><![CDATA[1.ios处理三种类型的事件：多点触碰、重力加速、远程控制；
2.一些事件组合成为常见手势，被封装在UIKit中以方便编程，大部分需求可直接使用现有手势来完成，如有特殊需求也可自己扩展；
3.现有的手势有6种：
    拍击UITapGestureRecognizer (任意次数的拍击)  
    向里或向外捏UIPinchGestureRecognizer (用于缩放)  
    ]]></description><category></category></item><item><title><![CDATA[nib文件笔记]]></title><link>https://blog.youkuaiyun.com/ioscodelover/article/details/41251839</link><guid>https://blog.youkuaiyun.com/ioscodelover/article/details/41251839</guid><author>ioscodelover</author><pubDate>Tue, 18 Nov 2014 19:30:18 +0800</pubDate><description><![CDATA[1.nib文件描述了界面元素及其之间的关系等内容，同时也描述了一些非图形化对象，应用中跟图形界面相关的或是管理图形界面的一些对象，nib file’s owner是指创建或加载nib文件时，从代码中传递过去的对象，这是程序代码与nib文件进行关联的要素；
2.first responder是指xib所展示的界面响应时，程序的第一个响应者的占位符，因为first responder和file’s ]]></description><category></category></item><item><title><![CDATA[xcode6中自动布局autolayout和sizeclass的使用]]></title><link>https://blog.youkuaiyun.com/ioscodelover/article/details/41208219</link><guid>https://blog.youkuaiyun.com/ioscodelover/article/details/41208219</guid><author>ioscodelover</author><pubDate>Mon, 17 Nov 2014 13:47:19 +0800</pubDate><description><![CDATA[转自：http://blog.youkuaiyun.com/lihuiqwertyuiop/article/details/39271887


一、关于自动布局（Autolayout）




hi,all:

在经过了一番犹豫之后，我决定将我自己做的这个小APP的源码公布给大家：

其出发点是和大家一起学习iOS开发，仅供学习参考之用。之前代码是托管与gitlab

上的，今天]]></description><category></category></item><item><title><![CDATA[动画笔记]]></title><link>https://blog.youkuaiyun.com/ioscodelover/article/details/41206443</link><guid>https://blog.youkuaiyun.com/ioscodelover/article/details/41206443</guid><author>ioscodelover</author><pubDate>Mon, 17 Nov 2014 11:21:04 +0800</pubDate><description><![CDATA[1.UIView可以做动画的属性有：frame(大小和位置)/bounds(大小)/center(位置)/transform(旋转或中心点位置)/alpha(透明度)/backgroundColor(背影色)/contentStretch(内容填充方式)
2.在UIView类不支持的动画情况下，可使用Core Animation来做动画，它影响的主要是CALayer，但layer与view是联动]]></description><category></category></item><item><title><![CDATA[effective oc笔记]]></title><link>https://blog.youkuaiyun.com/ioscodelover/article/details/41205391</link><guid>https://blog.youkuaiyun.com/ioscodelover/article/details/41205391</guid><author>ioscodelover</author><pubDate>Mon, 17 Nov 2014 10:29:25 +0800</pubDate><description><![CDATA[1.尽量用字面量语法，少用与之等价的方法，如@1替代NSNumber nuberWithInt:1；语法更简明，而且遇到nil时会抛异常，提早发现问题，有时也会显得容错性不够。
2.多用常量类型代替#define，因为前者会进行类型检查，后者只做替换，出错了不容易发现；
3.使用枚举来表示状态机状态，好处是：1）多个枚举可以用位或方式共同表示&值；2）可以使用NS_ENUM和NS_OPTION]]></description><category></category></item><item><title><![CDATA[UIView与CALayer区别与关系]]></title><link>https://blog.youkuaiyun.com/ioscodelover/article/details/41204151</link><guid>https://blog.youkuaiyun.com/ioscodelover/article/details/41204151</guid><author>ioscodelover</author><pubDate>Mon, 17 Nov 2014 08:58:12 +0800</pubDate><description><![CDATA[3)相似支持

1：相似的树形结构

2：显示内容绘制方式

3: 布局约束


（4) UIView 是什么，做什么

UIView是用来显示内容的，可以处理用户事件


（5)CALayer是什么，做什么

CALayer是用来绘制内容的，对内容进行动画处理依赖与UIView来进行显示，不能处理用户事件。


（6)为何有两套结构

并不是两套体系，U]]></description><category></category></item><item><title><![CDATA[KVC与KVO]]></title><link>https://blog.youkuaiyun.com/ioscodelover/article/details/41204141</link><guid>https://blog.youkuaiyun.com/ioscodelover/article/details/41204141</guid><author>ioscodelover</author><pubDate>Mon, 17 Nov 2014 08:57:00 +0800</pubDate><description><![CDATA[1.KVC，即是指 NSKeyValueCoding，一个非正式的 Protocol，提供一种机制来间接访问对象的属性。KVO就是基于KVC实现的关键技术之一。一个对象拥有某些属性。比如说，一个Person对象有一个name和一个address属性。以 KVC说法，Person 对象分别有一个value对应他的name和address的key。key只是一个字符串，它对应的值可以是任意类型的对象。]]></description><category></category></item></channel></rss>