<?xml version="1.0" encoding="utf-8" ?><rss version="2.0"><channel><title><![CDATA[vic's blog]]></title><description><![CDATA[learn&write]]></description><link>https://blog.youkuaiyun.com/csscut123</link><language>zh-cn</language><generator>https://blog.youkuaiyun.com/</generator><copyright><![CDATA[Copyright &copy; csscut123]]></copyright><item><title><![CDATA[iOS开源类库]]></title><link>https://blog.youkuaiyun.com/csscut123/article/details/25801283</link><guid>https://blog.youkuaiyun.com/csscut123/article/details/25801283</guid><author>csscut123</author><pubDate>Wed, 14 May 2014 15:10:50 +0800</pubDate><description><![CDATA[KissXml——xml解析库
相关教程：http://www.iteye.com/topic/625849

http://sencho.blog.163.com/blog/static/83056228201151743110540/

很方便的一个xml解析器，支持Xpath查询。

skpsmtpmessage——Quick SMTP邮件发送
svn checkout ht]]></description><category></category></item><item><title><![CDATA[ios技术开发要点]]></title><link>https://blog.youkuaiyun.com/csscut123/article/details/25653039</link><guid>https://blog.youkuaiyun.com/csscut123/article/details/25653039</guid><author>csscut123</author><pubDate>Mon, 12 May 2014 21:14:04 +0800</pubDate><description><![CDATA[1、iOS实现可以看作是多个层的集合（"Game Kit 框架"含有对这些层的介绍），底层为所有应用程序提供基础服务，高层则包含一些复杂巧妙的服务和技术。四个层依次为：Cocoa Touch、Media、Core Services、Core OS。

2、在编写代码的时候，应该尽可能地使用高层框架，而不要使用底层框架。高层框架为底层构造提供面向对象的抽象。这些抽象可以减少需编写的代码行数，同时]]></description><category></category></item><item><title><![CDATA[TCP/IP、Http的区别]]></title><link>https://blog.youkuaiyun.com/csscut123/article/details/25386469</link><guid>https://blog.youkuaiyun.com/csscut123/article/details/25386469</guid><author>csscut123</author><pubDate>Fri, 09 May 2014 13:24:53 +0800</pubDate><description><![CDATA[TPC/IP协议是传输层协议，主要解决数据如何在网络中传输，而HTTP是应用层协议，主要解决如何包装数据。关于TCP/IP和HTTP协议的关系，网络有一段比较容易理解的介绍：“我们在传输数据时，可以只使用（传输层）TCP/IP协议，但是那样的话，如果没有应用层，便无法识别数据内容，如果想要使传输的数据有意义，则必须使用到应用层协议，应用层协议有很多，比如HTTP、FTP、TELNET等，也可以自己]]></description><category></category></item><item><title><![CDATA[TCP/IP、Http的区别]]></title><link>https://blog.youkuaiyun.com/csscut123/article/details/25386051</link><guid>https://blog.youkuaiyun.com/csscut123/article/details/25386051</guid><author>csscut123</author><pubDate>Fri, 09 May 2014 13:20:03 +0800</pubDate><description><![CDATA[TPC/IP协议是传输层协议，主要解决数据如何在网络中传输，而HTTP是应用层协议，主要解决如何包装数据。关于TCP/IP和HTTP协议的关系，网络有一段比较容易理解的介绍：“我们在传输数据时，可以只使用（传输层）TCP/IP协议，但是那样的话，如果没有应用层，便无法识别数据内容，如果想要使传输的数据有意义，则必须使用到应用层协议，应用层协议有很多，比如HTTP、FTP、TELNET等，也可以自己]]></description><category></category></item><item><title><![CDATA[如何利用GCD Group批量下载文件]]></title><link>https://blog.youkuaiyun.com/csscut123/article/details/25245065</link><guid>https://blog.youkuaiyun.com/csscut123/article/details/25245065</guid><author>csscut123</author><pubDate>Wed, 07 May 2014 21:24:49 +0800</pubDate><description><![CDATA[未命名

小引：有时候，我们在开发iOS程序时，需要批量下载一些文件（比如图片），只有当全部文件下载完毕，我们才做相应的处理（界面更新，通知用户等）——也就是说虽然有多个文件在下载，但是我们只需要收到一个全部下载完毕的通知。

在网上搜索了一番，感觉使用GCD的高级功能Group，比较方便。下面写了一个小Demo，实现了多个图片文件的异步并发下载，缓存到本地，并显示到界面中。

参考了]]></description><category></category></item><item><title><![CDATA[使用GCD]]></title><link>https://blog.youkuaiyun.com/csscut123/article/details/25244261</link><guid>https://blog.youkuaiyun.com/csscut123/article/details/25244261</guid><author>csscut123</author><pubDate>Wed, 07 May 2014 21:06:32 +0800</pubDate><description><![CDATA[什么是GCD

Grand Central Dispatch (GCD)是Apple开发的一个多核编程的解决方法。该方法在Mac OS X 10.6雪豹中首次推出，并随后被引入到了iOS4.0中。GCD是一个替代诸如NSThread, NSOperationQueue, NSInvocationOperation等技术的很高效和强大的技术，它看起来象就其它语言的闭包(Closure)一样，但苹]]></description><category></category></item><item><title><![CDATA[多线程同步、异步]]></title><link>https://blog.youkuaiyun.com/csscut123/article/details/25243411</link><guid>https://blog.youkuaiyun.com/csscut123/article/details/25243411</guid><author>csscut123</author><pubDate>Wed, 07 May 2014 20:44:06 +0800</pubDate><description><![CDATA[1、首先明确一点，对于单核CPU，任意一个时刻只有一个线程在运行。那么既然这样，多线程还有什么意义呢？ 举例来说，现在只有一个人，要做好几个任务。单线程就是，任务一个一个地做，必须做完一个任务后，再去做另一个任务。多线程就是一会做这个任务，一会做那个任务，每个任务做一会，不停的切换。显然，最后把所有的任务做完，多线程必定比单线程更耗费时间。为什么？因为，多线程要在不同的任务之间切换，切换肯定是要耗]]></description><category></category></item><item><title><![CDATA[GCD小结]]></title><link>https://blog.youkuaiyun.com/csscut123/article/details/25243251</link><guid>https://blog.youkuaiyun.com/csscut123/article/details/25243251</guid><author>csscut123</author><pubDate>Wed, 07 May 2014 20:39:14 +0800</pubDate><description><![CDATA[GCD，全称Grand Central Dispath，是苹果开发的一种支持并行操作的机制。它的主要部件是一个FIFO队列和一个线程池，前者用来添加任务，后者用来执行任务。
     GCD中的FIFO队列称为dispatch queue，它可以保证先进来的任务先得到执行（但不保证一定先执行结束）。
     通过与线程池的配合，dispatch queue分为下面两种：

     Se]]></description><category></category></item><item><title><![CDATA[Vim 常用命令总结]]></title><link>https://blog.youkuaiyun.com/csscut123/article/details/25219059</link><guid>https://blog.youkuaiyun.com/csscut123/article/details/25219059</guid><author>csscut123</author><pubDate>Wed, 07 May 2014 15:36:11 +0800</pubDate><description><![CDATA[一些Vim的常用命令总是有时候记得比较模糊，特意总结一下，方便查阅!




一、插入命令：




命令

作用



a

在光标后附加文本



A


在本行行末附加文本



i


在光标前插入文本




I

在本行开始插入文本，进入插入模式



o

在光标下插入新行



O
]]></description><category></category></item><item><title><![CDATA[ARC在IBOutlet属性中的使用]]></title><link>https://blog.youkuaiyun.com/csscut123/article/details/25077593</link><guid>https://blog.youkuaiyun.com/csscut123/article/details/25077593</guid><author>csscut123</author><pubDate>Mon, 05 May 2014 21:20:52 +0800</pubDate><description><![CDATA[ARC提供四种所有权修饰符:

strong

weak

unsafe_unretained

autoreleasing



其中前三个可以用于属性中声明所有权。对于这三个用于属性声明的修饰符，下面分别讲讲他们对应的使用场景。

1.strong
strong与之前的retain差不多，可以增加属性引用计数的值。在不需要的时候，需要手动设置属性为nil。

]]></description><category></category></item><item><title><![CDATA[xmpp 带内注册]]></title><link>https://blog.youkuaiyun.com/csscut123/article/details/24048153</link><guid>https://blog.youkuaiyun.com/csscut123/article/details/24048153</guid><author>csscut123</author><pubDate>Fri, 18 Apr 2014 20:54:57 +0800</pubDate><description><![CDATA[1 带内注册（In-band registration）的概念
带内注册指的是未在你的服务器上开通账号的用户可以通过xmpp协议注册新账号。相反的概念是带外注册（out-of-band registration），例如
你必须到某个指定的web页面进行注册。
如果服务器允许带内注册，那么我们就可以通过自己开发的客户端注册新账号。与带内注册相关的协议是XEP-0077。

2 使用XMPP]]></description><category></category></item><item><title><![CDATA[海量数量处理之位图]]></title><link>https://blog.youkuaiyun.com/csscut123/article/details/23884385</link><guid>https://blog.youkuaiyun.com/csscut123/article/details/23884385</guid><author>csscut123</author><pubDate>Wed, 16 Apr 2014 23:10:34 +0800</pubDate><description><![CDATA[编程珠玑第二章开始提出了三个问题，其中第一个问题是这样的：一个顺序文件至多包括40亿个32位的整数，这些数是无序的，找出一个不在该文件中的32位整数。（可能有数字是不在该文件中的，因为2^32总共包括了42+亿个数，因此肯定有整数是不在该文件中的，这是鸽巢原理吧？）

据说这是腾讯的一道面试题，大概描述如下：



问题描述：



问题的描述大概就是这样了。

刚看到这个]]></description><category></category></item><item><title><![CDATA[教你如何迅速秒杀掉：99%的海量大数据处理面试题]]></title><link>https://blog.youkuaiyun.com/csscut123/article/details/23883693</link><guid>https://blog.youkuaiyun.com/csscut123/article/details/23883693</guid><author>csscut123</author><pubDate>Wed, 16 Apr 2014 22:56:47 +0800</pubDate><description><![CDATA[十道海量大数据处理面试题

　　1、海量日志数据，提取出某日访问百度次数最多的那个IP。

　　首先是这一天，并且是访问百度的日志中的IP取出来，逐个写入到一个大文件中。注意到IP是32位的，最多有个2^32个IP。同样可以采用映射的方法，比如模1000，把整个大文件映射为1000个小文件，再找出每个小文中出现频率最大的IP(可以采用hash_map进行频率统计，然后再找出频率最大的几个)]]></description><category></category></item><item><title><![CDATA[二分查找]]></title><link>https://blog.youkuaiyun.com/csscut123/article/details/23881845</link><guid>https://blog.youkuaiyun.com/csscut123/article/details/23881845</guid><author>csscut123</author><pubDate>Wed, 16 Apr 2014 22:27:08 +0800</pubDate><description><![CDATA[二分查找，最基本的算法之一，也是面试中常被考察的重点，因为基本的算法最能反映出一个人的基础是否扎实。本文对二分查找相关题目做一个总结。

题目列表：

1. 给定一个有序（非降序）数组A，求任意一个i使得A[i]等于target，不存在则返回-1
2. 给定一个有序（非降序）数组A，可含有重复元素，求最小的i使得A[i]等于target，不存在则返回-1
3. 给定一个有序（非降序）数]]></description><category></category></item><item><title><![CDATA[TCP和UDP]]></title><link>https://blog.youkuaiyun.com/csscut123/article/details/23879785</link><guid>https://blog.youkuaiyun.com/csscut123/article/details/23879785</guid><author>csscut123</author><pubDate>Wed, 16 Apr 2014 22:00:35 +0800</pubDate><description><![CDATA[简述TCP协议在数据传输过程中收发双方是如何保证数据包的可靠性的
答：
（1）为了保证数据包的可靠传递，发送方必须把已发送的数据包保留在缓冲区；
（2）并为每个已发送的数据包启动一个超时定时器；
（3）如在定时器超时之前收到了对方发来的应答信息（可能是对本包的应答，也可以是对本包后续包的应答），则释放该数据包占用的缓冲区;
（4）否则，重传该数据包，直到收到应答或重传次数超过规定的最大次]]></description><category></category></item><item><title><![CDATA[用两个栈实现一个队列]]></title><link>https://blog.youkuaiyun.com/csscut123/article/details/23795255</link><guid>https://blog.youkuaiyun.com/csscut123/article/details/23795255</guid><author>csscut123</author><pubDate>Tue, 15 Apr 2014 23:25:51 +0800</pubDate><description><![CDATA[大多数人的思路是：始终维护s1作为存储空间，以s2作为临时缓冲区。
入队时，将元素压入s1。
出队时，将s1的元素逐个“倒入”（弹出并压入）s2，将s2的顶元素弹出作为出队元素，之后再将s2剩下的元素逐个“倒回”s1。
见下面示意图：
 

 
上述思路，可行性毋庸置疑。但有一个细节是可以优化一下的。即：在出队时，将s1的元素逐个“倒入”s2时，原在s1栈底的元素，不用“倒入”s2（]]></description><category></category></item><item><title><![CDATA[二分查找算法]]></title><link>https://blog.youkuaiyun.com/csscut123/article/details/23792935</link><guid>https://blog.youkuaiyun.com/csscut123/article/details/23792935</guid><author>csscut123</author><pubDate>Tue, 15 Apr 2014 22:46:52 +0800</pubDate><description><![CDATA[int binary_search(int array[],int n,int value)  
{  
    int left=0;  
    int right=n-1;  
    //如果这里是int right = n 的话，那么下面有两处地方需要修改，以保证一一对应：  
    //1、下面循环的条件则是while(left   
    //2、循环内当array[]]></description><category></category></item><item><title><![CDATA[轻松搞定面试中的二叉树题目]]></title><link>https://blog.youkuaiyun.com/csscut123/article/details/23791821</link><guid>https://blog.youkuaiyun.com/csscut123/article/details/23791821</guid><author>csscut123</author><pubDate>Tue, 15 Apr 2014 22:28:41 +0800</pubDate><description><![CDATA[树是一种比较重要的数据结构，尤其是二叉树。二叉树是一种特殊的树，在二叉树中每个节点最多有两个子节点，一般称为左子节点和右子节点（或左孩子和右孩子），并且二叉树的子树有左右之分，其次序不能任意颠倒。二叉树是递归定义的，因此，与二叉树有关的题目基本都可以用递归思想解决，当然有些题目非递归解法也应该掌握，如非递归遍历节点等等。本文努力对二叉树相关题目做一个较全的整理总结，希望对找工作的同学有所帮助。
]]></description><category></category></item><item><title><![CDATA[2014年计算机求职总结--准备篇]]></title><link>https://blog.youkuaiyun.com/csscut123/article/details/23788651</link><guid>https://blog.youkuaiyun.com/csscut123/article/details/23788651</guid><author>csscut123</author><pubDate>Tue, 15 Apr 2014 21:29:57 +0800</pubDate><description><![CDATA[转载自：http://blog.youkuaiyun.com/walkinginthewind/article/details/13000431


找工作是一个长期准备的过程，突击是没什么效果的。准备时间越长，准备就越充分，就越容易拿到好的offer。我基本上从研究生一入学就一直在准备找工作的东西，看书、研究研究笔试面试题、在线编程训练、参加实习招聘等等。当然，其实主要还是研二开始准备的，也算不上多认]]></description><category></category></item><item><title><![CDATA[轻松搞定面试中的链表题目]]></title><link>https://blog.youkuaiyun.com/csscut123/article/details/23788327</link><guid>https://blog.youkuaiyun.com/csscut123/article/details/23788327</guid><author>csscut123</author><pubDate>Tue, 15 Apr 2014 21:25:34 +0800</pubDate><description><![CDATA[链表是最基本的数据结构，面试官也常常用链表来考察面试者的基本能力，而且链表相关的操作相对而言比较简单，也适合考察写代码的能力。链表的操作也离不开指针，指针又很容易导致出错。综合多方面的原因，链表题目在面试中占据着很重要的地位。本文对链表相关的面试题做了较为全面的整理，希望能对找工作的同学有所帮助。

链表结点声明如下：

struct ListNode
{
    int m_nKey]]></description><category></category></item></channel></rss>