<?xml version="1.0" encoding="utf-8" ?><rss version="2.0"><channel><title><![CDATA[磊啊磊]]></title><description><![CDATA[遇到问题一定要多分析，多思考，学不会思考你拿什么去牛逼！]]></description><link>https://blog.youkuaiyun.com/Enter_</link><language>zh-cn</language><generator>https://blog.youkuaiyun.com/</generator><copyright><![CDATA[Copyright &copy; Enter_]]></copyright><item><title><![CDATA[基于Python Web应用的Web服务器之间的比较]]></title><link>https://blog.youkuaiyun.com/Enter_/article/details/65627335</link><guid>https://blog.youkuaiyun.com/Enter_/article/details/65627335</guid><author>Enter_</author><pubDate>Fri, 24 Mar 2017 15:27:03 +0800</pubDate><description><![CDATA[介绍
在这篇文章中，我们将主要讨论三件事情：Python, Web Servers, 还有最重要的一点是讨论这两者之间一些七零八碎的关系。
撇开笑话不谈，这篇相当长的文章对于那些正在找寻快捷的指导方法或者答案的人来说可能是不合时宜的。不幸的是，不像Python世界中的大多数事情那样，当谈到选择一个产品服务栈来部署你的应用时，这里没有一个明显的方法来教你怎样做或者说哪一个更合适。
值得庆幸的是，这不应]]></description><category></category></item><item><title><![CDATA[Python中的函数装饰器]]></title><link>https://blog.youkuaiyun.com/Enter_/article/details/62459673</link><guid>https://blog.youkuaiyun.com/Enter_/article/details/62459673</guid><author>Enter_</author><pubDate>Thu, 16 Mar 2017 22:41:08 +0800</pubDate><description><![CDATA[先上文档 Function definitions ，如果只是想简单的知道怎么使用函数装饰器，那先看看下面这个例子：def makebold(fn):
    print("I'm bold")
    def wrapped():
        return "<b>" + fn() + "</b>"
    return wrappeddef makeitalic(fn):
    print]]></description><category></category></item><item><title><![CDATA[Python中的默认参数值]]></title><link>https://blog.youkuaiyun.com/Enter_/article/details/56049779</link><guid>https://blog.youkuaiyun.com/Enter_/article/details/56049779</guid><author>Enter_</author><pubDate>Mon, 20 Feb 2017 22:57:10 +0800</pubDate><description><![CDATA[本文主要内容翻译自：点击打开链接Python处理默认参数值的方式是少数几个难住Python初学者的问题之一（当然通常也就难住第一次）。造成这种困惑的主要原因是当你使用一个可变的对象作为默认参数值时，也就是说，这个默认值会在某些时候被修改，比如一个list对象或者一个dictionary对象。 
举一个例子：>>> def function(data=[]):
...     data.append(]]></description><category></category></item><item><title><![CDATA[iOS中自定义进度条设置半透明背景(Swift 3)]]></title><link>https://blog.youkuaiyun.com/Enter_/article/details/54587095</link><guid>https://blog.youkuaiyun.com/Enter_/article/details/54587095</guid><author>Enter_</author><pubDate>Tue, 17 Jan 2017 21:19:39 +0800</pubDate><description><![CDATA[在显示进度条的时候，有时候会发现用自带的progressView可自定义的属性比较少，并不能满足某些需求，继承UIView重新实现一个也挺方便的，自定义progress view 代码如下：import Foundation
import UIKitclass DOVProgressView: UIView {
    private let textLabel = UILabel()
    pr]]></description><category></category></item><item><title><![CDATA[iOS中将多张图片合成为可导出可播放的视频文件(Swift 3)]]></title><link>https://blog.youkuaiyun.com/Enter_/article/details/53858035</link><guid>https://blog.youkuaiyun.com/Enter_/article/details/53858035</guid><author>Enter_</author><pubDate>Sat, 24 Dec 2016 12:54:15 +0800</pubDate><description><![CDATA[最近在做一个东西的时候，需要把一张或者多张图片合成为一个视频文件，并加入到视频轨道中进行播放或者导出，而不单单是把图片当做水印加到现有的视频上，做的时候首先考虑到的当然是AVAssetWriter，但是在做的时候还是遇到了很多问题，首先我用的是swift 3，翻遍了StackOverFlow也没有找到合适的，当然也有点偷懒的意思，想直接搜来完事儿。
先上个链接，思路和方法姿势全都有了，http:]]></description><category></category></item><item><title><![CDATA[iOS内嵌播放视图到View实现单帧控制(Swift)]]></title><link>https://blog.youkuaiyun.com/Enter_/article/details/53427899</link><guid>https://blog.youkuaiyun.com/Enter_/article/details/53427899</guid><author>Enter_</author><pubDate>Thu, 01 Dec 2016 22:38:44 +0800</pubDate><description><![CDATA[把播放视图内嵌到View，官方文档上已经有了比较好的说明，继承UIView 设置Layer层，然后把AVPlayer设置到AVPlayerLayer即可：import UIKit
import AVFoundationpublic class CXEPlayerView: UIView {    /*
    // Only override draw() if you perform custom]]></description><category></category></item><item><title><![CDATA[通过CocoaPods 将storyboards、xibs和资源文件打包到iOS framework]]></title><link>https://blog.youkuaiyun.com/Enter_/article/details/53190269</link><guid>https://blog.youkuaiyun.com/Enter_/article/details/53190269</guid><author>Enter_</author><pubDate>Wed, 16 Nov 2016 19:23:34 +0800</pubDate><description><![CDATA[原文：点击打开链接 （本文可与上文一起观看）

For the last month we have been working on creating Tapglue Elements,
 a framework on iOS for integrating full features into third party apps. This includes GUIs and graphic]]></description><category></category></item><item><title><![CDATA[创建和发布iOS framework]]></title><link>https://blog.youkuaiyun.com/Enter_/article/details/53175481</link><guid>https://blog.youkuaiyun.com/Enter_/article/details/53175481</guid><author>Enter_</author><pubDate>Tue, 15 Nov 2016 19:34:12 +0800</pubDate><description><![CDATA[Update note: This tutorial has
 been updated to Xcode 8, Cocoapods 1.0, iOS 10 and Swift 3 on Sept 28, 2016.

文章包括framework的创建和发布，及其如何对生成的framework进行单元测试；

CocoaPod的创建和使用，以及如何发布Pod到GitHub。

原文：]]></description><category></category></item><item><title><![CDATA[QT 5.7 for iOS Xcode 8 Project ERROR: Xcode not set up properly. You may need to confirm the license]]></title><link>https://blog.youkuaiyun.com/Enter_/article/details/52829317</link><guid>https://blog.youkuaiyun.com/Enter_/article/details/52829317</guid><author>Enter_</author><pubDate>Sun, 16 Oct 2016 10:49:24 +0800</pubDate><description><![CDATA[手机升级到了ios10，然后想着懒得折腾直接升级到xcode 8好直接真机调试，嗯，想法是对的，然后xcode 8上也可以直接在ios 10上调试了。
但是当换到Qt creator 4.0.1 / Qt 5.7 上时编译iOS程序时却是各种问题啊，搞得整个人都不好了，一种入坑的感觉。


首先第一个问题：Project ERROR: Xcode not set up properly.]]></description><category></category></item><item><title><![CDATA[Mac OS X下编译并搭建ffmpeg开发环境及常见错误处理]]></title><link>https://blog.youkuaiyun.com/Enter_/article/details/52530328</link><guid>https://blog.youkuaiyun.com/Enter_/article/details/52530328</guid><author>Enter_</author><pubDate>Wed, 14 Sep 2016 00:27:25 +0800</pubDate><description><![CDATA[首先官网下载源码文件：http://www.ffmpegmac.net/，注意点击“Download Now!"字样下面的“sourcecode”进行下载。下载后是一个.7z的压缩包，可以下载“The Unarchiver”程序进行解压，上传到资源栏里了，http://download.youkuaiyun.com/detail/enter_/9629936
这里有官网的编译方法：https://trac.]]></description><category></category></item><item><title><![CDATA[SSE优化指令集编译错误: inlining failed in call to always_inline 'xxx': target specific option mismatch xxx]]></title><link>https://blog.youkuaiyun.com/Enter_/article/details/52386087</link><guid>https://blog.youkuaiyun.com/Enter_/article/details/52386087</guid><author>Enter_</author><pubDate>Wed, 31 Aug 2016 16:11:39 +0800</pubDate><description><![CDATA[在用QtCreator编译SSE优化指令的时候，出现了如下错误，
inlining failed in call to always_inline '__m128i _mm_packus_epi32(__m128i, __m128i)': target specific option



mismatch
_mm_packus_epi32 (__m128i __X, __m128i]]></description><category></category></item><item><title><![CDATA[Python爬虫设置代理IP爬取知乎图片]]></title><link>https://blog.youkuaiyun.com/Enter_/article/details/52374507</link><guid>https://blog.youkuaiyun.com/Enter_/article/details/52374507</guid><author>Enter_</author><pubDate>Wed, 31 Aug 2016 00:34:05 +0800</pubDate><description><![CDATA[本文接着前面两文中提到的内容来继续完善我们的Python爬虫。上文地址：通过Python爬虫爬取知乎某个问题下的图片
设置代理的方式很简单，可以看看这里Requests的官方文档，这里也有对应的中文版介绍，点击打开链接
先简单说下requests代理的使用，摘自上述提到的文档：


如果需要使用代理，你可以通过为任意请求方法提供 proxies 参数来配置单个请求:


impor]]></description><category></category></item><item><title><![CDATA[BeautifulSoup 提取某个tag标签里面的内容]]></title><link>https://blog.youkuaiyun.com/Enter_/article/details/52246086</link><guid>https://blog.youkuaiyun.com/Enter_/article/details/52246086</guid><author>Enter_</author><pubDate>Fri, 19 Aug 2016 00:49:16 +0800</pubDate><description><![CDATA[用的版本是BeautifulSoup4，用起来的确要比 re 好用一些，不用一个个的去写正则表达式，这样还是挺方便的。
比如我要获取高匿代理IP页面上的IP和端口，网址这里：点击打开链接，它的组织方式是这样的，如下图：


IP和端口 tr.td 标签里面，tr有class属性，属性有两种情况的值，对于这点我们可以用正则表达式来匹配下。当提取某一个标签里的具体内容时，可以用bs的 .str]]></description><category></category></item><item><title><![CDATA[Windows下精确获取程序的运行时间可精确到微妙]]></title><link>https://blog.youkuaiyun.com/Enter_/article/details/52068807</link><guid>https://blog.youkuaiyun.com/Enter_/article/details/52068807</guid><author>Enter_</author><pubDate>Fri, 29 Jul 2016 21:51:30 +0800</pubDate><description><![CDATA[在Windows下可以用系统提供的API函数 QueryPerformanceFrequency 和 QueryPerformanceCounter 来进行高精度的计时，现在的机器基本上都提供这种高精度的计时啦，所以不用担心。利用该函数可以精确的计时到微妙级别。msdn的描述见这里。
QueryPerformanceFrequency() 返回的是CPU的时钟频率。
QueryPerforma]]></description><category></category></item><item><title><![CDATA[通过Python爬虫爬取知乎某个问题下的图片]]></title><link>https://blog.youkuaiyun.com/Enter_/article/details/51873259</link><guid>https://blog.youkuaiyun.com/Enter_/article/details/51873259</guid><author>Enter_</author><pubDate>Sun, 10 Jul 2016 21:36:33 +0800</pubDate><description><![CDATA[该爬虫主要是通过requests来实现的，该模块完全可以很好的代替urllib和urllib2，而且功能更强大，详细可以看这里。同时也用到了pillow模块中的image对象，实现环境是Python2，不过在Python3上只需很小的改动就可以正常运行。


首先通过cookie模拟登陆到知乎，然后获取知乎某一个问题的链接，打开并获取该问题回答下的图片，然后保存到本地。我们先看下知乎中的网页]]></description><category></category></item><item><title><![CDATA[YUYV码流中提取单帧并转为RGB图片]]></title><link>https://blog.youkuaiyun.com/Enter_/article/details/51865514</link><guid>https://blog.youkuaiyun.com/Enter_/article/details/51865514</guid><author>Enter_</author><pubDate>Sat, 09 Jul 2016 11:51:06 +0800</pubDate><description><![CDATA[YUV和RGB都是一种颜色空间编码，要在这两种颜色空间之间进行转换，当然得知道它们的内存布局情况。下面先简单说下这两种颜色空间的编码情况。
RGB颜色空间应该是我们比较熟悉的了，分别是Red,Green,Blue三基色，每个分量占用一个字节，取值为0-255，三个0为黑，三个255为白，每三个字节为一个像素，当然在我们很多时候的处理中，可能会加入alpha通道，表示透明度，组合起来就是rgba四]]></description><category></category></item><item><title><![CDATA[字符编码及宽字符类型(wchar_t)的跨平台处理]]></title><link>https://blog.youkuaiyun.com/Enter_/article/details/51583044</link><guid>https://blog.youkuaiyun.com/Enter_/article/details/51583044</guid><author>Enter_</author><pubDate>Sun, 05 Jun 2016 13:10:30 +0800</pubDate><description><![CDATA[这篇文章的目的是希望你能在看完后对字符的编码和子节相关的东西，以及宽字符类型在不同平台之间的处理能有一个清晰的认识，有出入的地方，感谢指正。


字符编码

“电脑只有二进制，人脑才有乱码”，凡是我们看到的乱码都是由字符编码引起的。如果对于字符编码没有一个清晰的认识，那么各种各样的编码格式在你的脑海里肯定是混乱的。首先，我们知道一个字节是由八个二进制位组成的，用十六进制表示就是0x00，]]></description><category></category></item><item><title><![CDATA[处理排序数组为什么会快于未排序的数组]]></title><link>https://blog.youkuaiyun.com/Enter_/article/details/51336361</link><guid>https://blog.youkuaiyun.com/Enter_/article/details/51336361</guid><author>Enter_</author><pubDate>Sat, 07 May 2016 10:23:03 +0800</pubDate><description><![CDATA[在逛Stack Overflow时，看到一个很有意思的问题，以前一直是知道该这么做，但是却没有理解这么做的原因，问题 看这里。
下面是一段很简单的C++代码，在对同一个数组做相同的处理时，先排过序的数组会明显快于未排序的数组，而且相比会快6倍之多。。
#include 
#include 
#include 

int main()
{
    // Generate data
    con]]></description><category></category></item><item><title><![CDATA[iOS视图控制器编程指南 --- 呈现一个视图控制器]]></title><link>https://blog.youkuaiyun.com/Enter_/article/details/51326603</link><guid>https://blog.youkuaiyun.com/Enter_/article/details/51326603</guid><author>Enter_</author><pubDate>Fri, 06 May 2016 00:35:31 +0800</pubDate><description><![CDATA[有两种方法实现一个视图控制器到屏幕上：把它嵌入到一个容器视图控制器或者是直接呈现它。容器视图控制器提供一个应用程序主要的导航功能，但是present 视图控制器也是一个重要的导航工具。你可以直接使用presentation 在当前视图控制器的最上层显示一个新的视图控制器。典型地，当你想要实现模态界面的时候直接present 视图控制器，但是你也可以基于其它目的使用它们。


对呈现视图控制器]]></description><category></category></item><item><title><![CDATA[iOS视图控制器编程指南 --- 实现一个容器视图控制器]]></title><link>https://blog.youkuaiyun.com/Enter_/article/details/51291968</link><guid>https://blog.youkuaiyun.com/Enter_/article/details/51291968</guid><author>Enter_</author><pubDate>Mon, 02 May 2016 16:48:07 +0800</pubDate><description><![CDATA[容器视图控制器是一种结合多个视图控制器的内容到一个单一的用户界面上的方式。容器视图控制器经常被用来使导航更方便，基于已经存在的内容创建一个新的用户界面类型。例如，在UIKit中的容器视图控制器包括UINavigationcontroller，UITabBarcontroller 和 UISplitViewcontroller，它们都可以使用户界面在不同视图部分之间的切换和导航更加的容易。]]></description><category></category></item></channel></rss>