<?xml version="1.0" encoding="utf-8" ?><rss version="2.0"><channel><title><![CDATA[_understand的博客]]></title><description><![CDATA[热爱生活，热爱编程。爱上编程是很奇妙的事情~_~]]></description><link>https://blog.youkuaiyun.com/PDUnderstand</link><language>zh-cn</language><generator>https://blog.youkuaiyun.com/</generator><copyright><![CDATA[Copyright &copy; PDUnderstand]]></copyright><item><title><![CDATA[提高iOS编译速度的Cocoapods插件ppbuild]]></title><link>https://blog.youkuaiyun.com/PDUnderstand/article/details/120568288</link><guid>https://blog.youkuaiyun.com/PDUnderstand/article/details/120568288</guid><author>PDUnderstand</author><pubDate>Thu, 30 Sep 2021 16:11:26 +0800</pubDate><description><![CDATA[背景：

随着项目的不断迭代，项目代码及依赖三方库和内部库越来越多，导致项目编译时间越来越长，浪费大量开发时间。
cocoapods-ppbuild插件将三方库打包为静态库，从而提高项目编译时间

使用：

修改 podfile 文件，加入以下代码


plugin 'cocoapods-ppbuild'

1. 使用静态库编译：


use_frameworks! :linkage =&gt; :static
use_static_binary!

使用动态库编译(动态库会拖累app使用时间，推荐使用静.]]></description><category></category></item><item><title><![CDATA[记：iOS使用GCDAsyncSocket外部如何设置keepalive]]></title><link>https://blog.youkuaiyun.com/PDUnderstand/article/details/80049903</link><guid>https://blog.youkuaiyun.com/PDUnderstand/article/details/80049903</guid><author>PDUnderstand</author><pubDate>Mon, 23 Apr 2018 14:54:23 +0800</pubDate><description><![CDATA[问题描述：最近在我的项目组中遇到一个问题，由于我们项目使用采用的是TCP+Protobuf来做主要通讯协议，心跳是使用udp。服务器分为多台，各服务器负责各自的任务，比如我们账号服务器只负责与用户数据相关的任务，推送服务器负责服务器向前端通知等等。当我们的TCP中间由于某种原因与服务器断开连接，但是服务器和客户端都没有接到断开通知，或者需要好长时间才能知道（大概10分钟，不确定的时间段），彼此之间...]]></description><category></category></item><item><title><![CDATA[备忘录]]></title><link>https://blog.youkuaiyun.com/PDUnderstand/article/details/80016772</link><guid>https://blog.youkuaiyun.com/PDUnderstand/article/details/80016772</guid><author>PDUnderstand</author><pubDate>Fri, 20 Apr 2018 11:57:04 +0800</pubDate><description><![CDATA[备忘一下

 


 git 配置：

ssh-keygen -t rsa -C &quot;邮箱地址&quot;

 连续3个回车。如果不需要密码的话。

最后得到了两个文件：id_rsa和id_rsa.pub。

将id_rsa.pub中内容拷贝到git 中ssh-key中保存


git config --global user.name &quot;用户名&quot;
git config --global user.email...]]></description><category></category></item><item><title><![CDATA[iOS中tcp+protobuf]]></title><link>https://blog.youkuaiyun.com/PDUnderstand/article/details/77645181</link><guid>https://blog.youkuaiyun.com/PDUnderstand/article/details/77645181</guid><author>PDUnderstand</author><pubDate>Mon, 28 Aug 2017 14:10:09 +0800</pubDate><description><![CDATA[iOS中 tcp+protobuf实现网络通讯。从安装到简单实用]]></description><category></category></item><item><title><![CDATA[OpenGL详解]]></title><link>https://blog.youkuaiyun.com/PDUnderstand/article/details/52515151</link><guid>https://blog.youkuaiyun.com/PDUnderstand/article/details/52515151</guid><author>PDUnderstand</author><pubDate>Mon, 12 Sep 2016 17:08:05 +0800</pubDate><description><![CDATA[原文出处：http://blog.youkuaiyun.com/candycat1992/article/details/39676669

支持大家去看原文，真是一片好的博文。关于OpenGL写点很详细也很透彻，博主更是一位妹子。。。

写在前面

 

OpenGL能做的事情太多了！很多程序也看起来很复杂。很多人感觉OpenGL晦涩难懂，原因大多是被OpenGL里面各种语句搞得头大，一会gen一下，一会b...]]></description><category></category></item><item><title><![CDATA[iOS:网络编程模式]]></title><link>https://blog.youkuaiyun.com/PDUnderstand/article/details/52489442</link><guid>https://blog.youkuaiyun.com/PDUnderstand/article/details/52489442</guid><author>PDUnderstand</author><pubDate>Fri, 09 Sep 2016 17:38:39 +0800</pubDate><description><![CDATA[IOS 可以采用三类api 接口进行网络编程，根据抽象层次从低到高分别为socket方式、stream方式、url 方式。
一 、socket 方式
       IOS 提供的socket 方式的网络编程接口为CFSocket。CFSocket是BSD sockets的抽象和封装，CFSocket提供BSD sockets几乎所有的功能，并与run loop集成，用来实现多线程网络编程和网络]]></description><category></category></item><item><title><![CDATA[立体图形3D动画和绘制]]></title><link>https://blog.youkuaiyun.com/PDUnderstand/article/details/52485795</link><guid>https://blog.youkuaiyun.com/PDUnderstand/article/details/52485795</guid><author>PDUnderstand</author><pubDate>Fri, 09 Sep 2016 11:51:44 +0800</pubDate><description><![CDATA[做了一个关于立体图形3D动画和绘制图形的例子,这个是参照苹果官方文档和例子来写的，其中茶壶是根据点、颜色渲染、网格结构和灯光效果来绘制出来的。]]></description><category></category></item><item><title><![CDATA[图像编程总结]]></title><link>https://blog.youkuaiyun.com/PDUnderstand/article/details/52471623</link><guid>https://blog.youkuaiyun.com/PDUnderstand/article/details/52471623</guid><author>PDUnderstand</author><pubDate>Thu, 08 Sep 2016 14:59:56 +0800</pubDate><description><![CDATA[iOS实现图形编程可以使用三种API（UIKIT、Core Graphics、OpenGL ES及GLKit）。
这些api包含的绘制操作都在一个图形环境中进行绘制。一个图形环境包含绘制参数和所有的绘制需要的设备特定信息，包括屏幕图形环境、offscreen 位图环境和PDF图形环境，用来在屏幕表面、一个位图或一个pdf文件中进行图形和图像绘制。在屏幕图形环境中进行的绘制限定于在一个UIView]]></description><category></category></item><item><title><![CDATA[iOS:直播动态评论和点赞效果]]></title><link>https://blog.youkuaiyun.com/PDUnderstand/article/details/52457961</link><guid>https://blog.youkuaiyun.com/PDUnderstand/article/details/52457961</guid><author>PDUnderstand</author><pubDate>Wed, 07 Sep 2016 11:29:49 +0800</pubDate><description><![CDATA[有人问我现在直播APP很火，动态的评论和点赞效果怎么做的。趁着最近有点时间就写了个demo供大家参考：
图片和界面效果可以自己根据需求调整和优化。
想要程序去做什么首先要明确自己想做什么，思考你的程序需要哪些信息等等。可能我们在写代码时发现之前的设计不切实际，或者想到一个更好的解决方案，或者等程序运行之后，想改变原来的设计思路，对程序做注释为今后的修改能提供很大的方便。（嘴笨，个人拙见）。]]></description><category></category></item><item><title><![CDATA[iOS处理图片的各种模糊效果]]></title><link>https://blog.youkuaiyun.com/PDUnderstand/article/details/52447903</link><guid>https://blog.youkuaiyun.com/PDUnderstand/article/details/52447903</guid><author>PDUnderstand</author><pubDate>Tue, 06 Sep 2016 10:46:41 +0800</pubDate><description><![CDATA[PDBlurImage演示了使用vImage如何处理图像的模糊效果。vImage框架适合高性能图像处理，使用vImage能够得到矢量处理的效果而不用使用矢量代码。]]></description><category></category></item><item><title><![CDATA[并发编程、iOS多线程]]></title><link>https://blog.youkuaiyun.com/PDUnderstand/article/details/52440298</link><guid>https://blog.youkuaiyun.com/PDUnderstand/article/details/52440298</guid><author>PDUnderstand</author><pubDate>Mon, 05 Sep 2016 14:58:42 +0800</pubDate><description><![CDATA[并发所描述的概念就是同时运行多个任务。这些任务可能是以在单核 CPU 上分时（时间共享）的形式同时运行，也可能是在多核 CPU 上以真正的并行方式来运行。
OS X 和 iOS 提供了几种不同的 API 来支持并发编程。每一个 API 都具有不同的功能和使用限制，这使它们适合不同的任务。同时，这些 API 处在不同的抽象层级上。我们有可能用其进行非常深入底层的操作，但是这也意味着背负起将任务进行]]></description><category></category></item><item><title><![CDATA[给ViewController减肥]]></title><link>https://blog.youkuaiyun.com/PDUnderstand/article/details/52413016</link><guid>https://blog.youkuaiyun.com/PDUnderstand/article/details/52413016</guid><author>PDUnderstand</author><pubDate>Fri, 02 Sep 2016 12:49:53 +0800</pubDate><description><![CDATA[我们已经看到一些用来创建更小巧的 view controllers 的技术。我们并不是想把这些技术应用到每一个可能的角落，只是我们有一个目标：写可维护的代码。知道这些模式后，我们就更有可能把那些笨重的 view controllers 变得更整洁。]]></description><category></category></item><item><title><![CDATA[多线程GCD和Cocoa  NSOperation实现原理]]></title><link>https://blog.youkuaiyun.com/PDUnderstand/article/details/52412118</link><guid>https://blog.youkuaiyun.com/PDUnderstand/article/details/52412118</guid><author>PDUnderstand</author><pubDate>Fri, 02 Sep 2016 11:03:51 +0800</pubDate><description><![CDATA[简介
多线程是一个比较轻量级的方法来实现单个应用程序内多个代码执行路径。
在系统级别内，程序并排执行，程序分配到每个程序的执行时间是基于该程序的所需时间和其他程序的所需时间来决定的。
然而，在每个程序内部，存在一个或者多个执行线程，它同时或在一个几乎同时发生的方式里执行不同的任务。
概要提示：
iPhone中的线程应用并不是无节制的，官方给出的资料显示，iPhoneOS下的主线程的堆栈大]]></description><category></category></item><item><title><![CDATA[Instruments使用]]></title><link>https://blog.youkuaiyun.com/PDUnderstand/article/details/52368099</link><guid>https://blog.youkuaiyun.com/PDUnderstand/article/details/52368099</guid><author>PDUnderstand</author><pubDate>Tue, 30 Aug 2016 12:13:34 +0800</pubDate><description><![CDATA[Instruments是Xcode套件中没有被充分利用的一个工具。很多iOS开发者从没用过Instruments，或者只是用Leaks工具检测循环引用。实际上有很多Instruments工具，包括为动画性能调优的东西。
    你可以通过在菜单中选择Profile选项来打开Instruments（在这之前，记住要把目标设置成iOS设备，而不是模拟器）。然后将会显示出图1.1（如果没有看到所有选项]]></description><category></category></item><item><title><![CDATA[Activity Monitor使用说明]]></title><link>https://blog.youkuaiyun.com/PDUnderstand/article/details/52368071</link><guid>https://blog.youkuaiyun.com/PDUnderstand/article/details/52368071</guid><author>PDUnderstand</author><pubDate>Tue, 30 Aug 2016 12:07:40 +0800</pubDate><description><![CDATA[Activity Monitor，官方解释为：（活动监视器）即实时显示CPU、内存和网络的使用情况，记录由虚拟内存大小测量的系统负载。用一句大白话来说，Activity Monitor类似Windows中的任务管理器，可以实时查看进程占用的CPU、内存的使用量。

 

一、Activity Monitor的介绍和大致使用

具体操作步骤，

首先从Xcode中运行Instrume]]></description><category></category></item><item><title><![CDATA[Swift-- 计算文字尺寸]]></title><link>https://blog.youkuaiyun.com/PDUnderstand/article/details/52327191</link><guid>https://blog.youkuaiyun.com/PDUnderstand/article/details/52327191</guid><author>PDUnderstand</author><pubDate>Fri, 26 Aug 2016 12:16:56 +0800</pubDate><description><![CDATA[Swift中我们想计算一段文字的尺寸是使用String 发现当我们敲下boundingRect... 发现没有提示，感觉是不是没有提供
boundingRectWithSize方法那？ 其实不是，我们敲完后发现是有这个方法的 只是没有提示
好了，上代码：
let attributes = [NSFontAttributeName: font]
        let option = NSS]]></description><category></category></item><item><title><![CDATA[SDWebImage 原理及使用]]></title><link>https://blog.youkuaiyun.com/PDUnderstand/article/details/52298401</link><guid>https://blog.youkuaiyun.com/PDUnderstand/article/details/52298401</guid><author>PDUnderstand</author><pubDate>Wed, 24 Aug 2016 10:57:43 +0800</pubDate><description><![CDATA[SDWebImage托管在github上。https://github.com/rs/SDWebImage

这个类库提供一个UIImageView类别以支持加载来自网络的远程图片。具有缓存管理、异步下载、同一个URL下载次数控制和优化等特征。






SDWebImage 支持异步的图片下载+缓存，提供了 UIImageView+WebCacha 的
 category，]]></description><category></category></item><item><title><![CDATA[动画不常见属性笔记]]></title><link>https://blog.youkuaiyun.com/PDUnderstand/article/details/52288625</link><guid>https://blog.youkuaiyun.com/PDUnderstand/article/details/52288625</guid><author>PDUnderstand</author><pubDate>Tue, 23 Aug 2016 10:27:21 +0800</pubDate><description><![CDATA[动画中不常见属性，但很容易用到的属性。笔记一下，转载请注明出处谢谢！！]]></description><category></category></item><item><title><![CDATA[显式动画]]></title><link>https://blog.youkuaiyun.com/PDUnderstand/article/details/52288419</link><guid>https://blog.youkuaiyun.com/PDUnderstand/article/details/52288419</guid><author>PDUnderstand</author><pubDate>Tue, 23 Aug 2016 10:11:24 +0800</pubDate><description><![CDATA[属性动画CAAnimationDelegate在任何头文件中都找不到，但是可以在CAAnimation头文件或者苹果开发者文档中找到相关函数。当更新属性的时候，我们需要设置一个新的事务，并且禁用图层行为。否则动画会发生两侧，一个是因为显式的CABasicAnimation，另一次是因为隐式动画（关于隐式动画后面我会介绍）。例如我们更改主视图的背景颜色：CABasicAnimation *anima]]></description><category></category></item><item><title><![CDATA[iOS RabbitMQ集成及使用]]></title><link>https://blog.youkuaiyun.com/PDUnderstand/article/details/52288417</link><guid>https://blog.youkuaiyun.com/PDUnderstand/article/details/52288417</guid><author>PDUnderstand</author><pubDate>Tue, 23 Aug 2016 10:11:21 +0800</pubDate><description><![CDATA[iOS RabbitMQ集成及使用iOS RabbitMQ集成及使用基本概念

RabbitMQ是流行的开源消息队列系统，用erlang语言开发。RabbitMQ是AMQP（高级消息队列协议）的标准实现。如果不熟悉AMQP，直接看RabbitMQ的文档会比较困难。不过它也只有几个关键概念，这里简单介绍。
RabbitMQ的结构图如下：





几个概念说明：Broker：简单来说就是消息队列服务]]></description><category></category></item></channel></rss>