<?xml version="1.0" encoding="utf-8" ?><rss version="2.0"><channel><title><![CDATA[bird67的专栏]]></title><description><![CDATA[]]></description><link>https://blog.csdn.net/bird67</link><language>zh-cn</language><generator>https://blog.csdn.net/</generator><copyright><![CDATA[Copyright &copy; bird67]]></copyright><item><title><![CDATA[爬虫之系列教程]]></title><link>https://blog.csdn.net/bird67/article/details/103671719</link><guid>https://blog.csdn.net/bird67/article/details/103671719</guid><author>bird67</author><pubDate>Mon, 23 Dec 2019 19:11:24 +0800</pubDate><description><![CDATA[爬虫之系列教程

https://www.cnblogs.com/BigFishFly/category/945075.html
]]></description><category></category></item><item><title><![CDATA[使用TextAnalysisTool来快速提高你分析文本日志的效率]]></title><link>https://blog.csdn.net/bird67/article/details/100702261</link><guid>https://blog.csdn.net/bird67/article/details/100702261</guid><author>bird67</author><pubDate>Tue, 10 Sep 2019 16:05:23 +0800</pubDate><description><![CDATA[版权声明：本文为博主原创文章，遵循CC 4.0 BY-SA版权协议，转载请附上原文出处链接和本声明。

本文转自：https://blog.csdn.net/ouyang_peng/article/details/94838652

一、分析日志的需求

作为一个开发人员，肯定会有各种各样的问题需要日志来分析，这个时候就需要能有个好的工具来快速分析日志了。但是工具需要具备什么样的功能才能提高分...]]></description><category></category></item><item><title><![CDATA[ARM（RISC）和x86（CISC）的技术差异]]></title><link>https://blog.csdn.net/bird67/article/details/89134479</link><guid>https://blog.csdn.net/bird67/article/details/89134479</guid><author>bird67</author><pubDate>Tue, 09 Apr 2019 09:34:34 +0800</pubDate><description><![CDATA[本文摘自：https://www.cnblogs.com/bitter/p/4023176.html

RISC和CISC，这一对冤家，从诞生之日开始就处在不停的纠缠之中。直到今天，两者经过多年的发展后，都在各自领域打开了一片天地，并且相互渗透。RISC专注高性能、高性能功耗比、小体积以及移动设备领域，CISC专注桌面、高性能和民用市场。现在，RISC的代表是ARM，而CISC的代表则是我们耳熟能...]]></description><category></category></item><item><title><![CDATA[谈谈每日构建]]></title><link>https://blog.csdn.net/bird67/article/details/59116408</link><guid>https://blog.csdn.net/bird67/article/details/59116408</guid><author>bird67</author><pubDate>Wed, 01 Mar 2017 18:31:06 +0800</pubDate><description><![CDATA[本文摘自：http://blog.chinaunix.net/uid-25150840-id-3795674.html
先从每日构建说起：每日构建是什么？ 
每日构建对应的英文是Daily Build，由于翻译和理解的问题，也有称之为“每日编译” 
由于一般的每日构建发生在晚上，发生在晚上的每日构建，也称为Nightly Build ，中文译为“夜晚构建”或者“晚间构建”，百度检索下，“夜晚]]></description><category></category></item><item><title><![CDATA[性能优化_资料]]></title><link>https://blog.csdn.net/bird67/article/details/51887679</link><guid>https://blog.csdn.net/bird67/article/details/51887679</guid><author>bird67</author><pubDate>Tue, 12 Jul 2016 11:54:50 +0800</pubDate><description><![CDATA[C语言循环优化二三事：
http://www.cnblogs.com/lisperl/archive/2012/11/14/2770396.html
http://www.cnblogs.com/lisperl/archive/2012/11/15/2771682.html]]></description><category></category></item><item><title><![CDATA[寄存器变量]]></title><link>https://blog.csdn.net/bird67/article/details/51887618</link><guid>https://blog.csdn.net/bird67/article/details/51887618</guid><author>bird67</author><pubDate>Tue, 12 Jul 2016 11:46:41 +0800</pubDate><description><![CDATA[本文摘自：http://blog.csdn.net/goodlixueyong/article/details/6013601


变量一般情况下都存在于内存中。如果程序需要使用某个变量，CPU的控制器将从内存中取得变量值后会将其暂存在寄存器中。寄存器就是CPU自己的"小内存"，它的特点是"容量小、速度快"。正常情况下，编程语言本身无法直接操作寄存器。但某些时候，一些变量可能会被频繁地使用，]]></description><category></category></item><item><title><![CDATA[Gallery of Processor Cache Effects]]></title><link>https://blog.csdn.net/bird67/article/details/51777831</link><guid>https://blog.csdn.net/bird67/article/details/51777831</guid><author>bird67</author><pubDate>Tue, 28 Jun 2016 18:06:26 +0800</pubDate><description><![CDATA[本文摘自:http://igoro.com/archive/gallery-of-processor-cache-effects/




Most of my readers will understand that cache is a fast but small type of memory that stores recently accessed memory locatio]]></description><category></category></item><item><title><![CDATA[对缓存的思考——提高命中率]]></title><link>https://blog.csdn.net/bird67/article/details/51777473</link><guid>https://blog.csdn.net/bird67/article/details/51777473</guid><author>bird67</author><pubDate>Tue, 28 Jun 2016 17:25:15 +0800</pubDate><description><![CDATA[本文摘自:http://www.cnblogs.com/yanlingyin/archive/2012/02/15/thinkingincache.html



开篇

编写高效的程序并不只在于算法的精巧，还应该考虑到计算机内部的组织结构，cpu微指令的执行，缓存的组织和工作原理等。

好的算法在实际中不见得有高效率，如果完全没有考虑缓存、微指令实现的话。

前两篇博文
]]></description><category></category></item><item><title><![CDATA[比较两个数a、b的大小，不能使用大于/小于、if、switch,?:等判断语句]]></title><link>https://blog.csdn.net/bird67/article/details/51612075</link><guid>https://blog.csdn.net/bird67/article/details/51612075</guid><author>bird67</author><pubDate>Wed, 08 Jun 2016 11:45:57 +0800</pubDate><description><![CDATA[本文摘自：http://tangyuan1314.iteye.com/blog/1485559


今天面试碰到了这个问题，知道是位操作，不过当时没想起来，回来查了查总结一下。其实方法很简单，就是相减后看符号位，将减的结果的符号位移位到末尾，再和1与操作，或者直接和0x80000000与，得出的符号位再右移至末尾，作为数组的下标。int型占4字节，即32位，在-1为补码的机器上，1代表负数，]]></description><category></category></item><item><title><![CDATA[浅谈分支预测、流水线与条件转移]]></title><link>https://blog.csdn.net/bird67/article/details/51460570</link><guid>https://blog.csdn.net/bird67/article/details/51460570</guid><author>bird67</author><pubDate>Fri, 20 May 2016 11:48:18 +0800</pubDate><description><![CDATA[本文摘自：http://www.cnblogs.com/yangecnu/p/4196026.html

一 一个问题

    在StackOverflow上有这么一个问题 Why
 is processing a sorted array faster than an unsorted array? 。例子中，对一个数组进行条件求和，在排序前和排序后，性能有很大的差别。原始的例子是C]]></description><category></category></item><item><title><![CDATA[Linux 性能监控、测试、优化工具]]></title><link>https://blog.csdn.net/bird67/article/details/51434474</link><guid>https://blog.csdn.net/bird67/article/details/51434474</guid><author>bird67</author><pubDate>Tue, 17 May 2016 11:00:35 +0800</pubDate><description><![CDATA[本文摘自：http://www.vpsee.com/2014/09/linux-performance-tools/
Linux 平台上的性能工具有很多，眼花缭乱，长期的摸索和经验发现最好用的还是那些久经考验的、简单的小工具。系统性能专家 Brendan D. Gregg 在最近的 LinuxCon NA 2014 大会上更新了他那个有名的关于 Linux 性能方面的 talk (Linux]]></description><category></category></item><item><title><![CDATA[oprofile]]></title><link>https://blog.csdn.net/bird67/article/details/50459420</link><guid>https://blog.csdn.net/bird67/article/details/50459420</guid><author>bird67</author><pubDate>Mon, 04 Jan 2016 23:47:43 +0800</pubDate><description><![CDATA[http://sourceforge.net/p/oprofile/mailman/message/27581939/
http://www.linux-mips.org/wiki/Oprofile]]></description><category></category></item><item><title><![CDATA[sikuli开发环境配置]]></title><link>https://blog.csdn.net/bird67/article/details/43636295</link><guid>https://blog.csdn.net/bird67/article/details/43636295</guid><author>bird67</author><pubDate>Sun, 08 Feb 2015 12:50:23 +0800</pubDate><description><![CDATA[sikuli下载：http://www.sikuli.org/downloadrc3.html
windows下安装注意事项：https://answers.launchpad.net/sikuli/+faq/2005，按照这个安装就没问题了。其中提到的注意事项是sikuli只能用JRE 1.6.0_xx，xx数字必须大于35。
JRE 6下载地址：http://www.oracle.com/]]></description><category></category></item><item><title><![CDATA[利用cx_Freeze将py文件打包成exe文件（图文全解）]]></title><link>https://blog.csdn.net/bird67/article/details/41256941</link><guid>https://blog.csdn.net/bird67/article/details/41256941</guid><author>bird67</author><pubDate>Tue, 18 Nov 2014 22:15:08 +0800</pubDate><description><![CDATA[本文摘自：http://keliang.blog.51cto.com/3359430/661884




    python是一个非常非常优秀的编程语言，它最大的特性就是跨平台。python程序几乎可以在所有常见的平台中进行使用，而且大部分无需修改任何代码！不过，python也有一点点小缺憾（这个是由于自身本质决定，不能叫缺憾，不过在这就这么称呼吧），那就是python程序的执行必须]]></description><category></category></item><item><title><![CDATA[Python 标准库 urllib2 的使用细节]]></title><link>https://blog.csdn.net/bird67/article/details/41246041</link><guid>https://blog.csdn.net/bird67/article/details/41246041</guid><author>bird67</author><pubDate>Tue, 18 Nov 2014 13:59:49 +0800</pubDate><description><![CDATA[本文摘自




刚好用到，这篇文章写得不错，转过来收藏。   

Python 标准库中有很多实用的工具类，但是在具体使用时，标准库文档上对使用细节描述的并不清楚，比如 urllib2 这个 HTTP 客户端库。这里总结了一些 urllib2 库的使用细节。

 




1
 Proxy 的设置
2
 Timeout 设置
3
 在 HTTP Reques]]></description><category></category></item><item><title><![CDATA[wireshark中window is full与window is zore的不同之处]]></title><link>https://blog.csdn.net/bird67/article/details/38901909</link><guid>https://blog.csdn.net/bird67/article/details/38901909</guid><author>bird67</author><pubDate>Thu, 28 Aug 2014 18:40:01 +0800</pubDate><description><![CDATA[用wireshark进行协议分析时经常会遇到专家系统提示：window is full 和 window is zero的提示，到底它们有什么不同呢？其实它们并没有什么不同，都是通知对端自己的接受窗口已经满了不能再向我发送数据了。但唯一的区别是：window is full 通常是Server发送给Client的通知，而windows is zero是Client发送给Server的通知。
在w]]></description><category></category></item><item><title><![CDATA[LTE：Buffer Status Report（BSR）]]></title><link>https://blog.csdn.net/bird67/article/details/38563391</link><guid>https://blog.csdn.net/bird67/article/details/38563391</guid><author>bird67</author><pubDate>Thu, 14 Aug 2014 20:13:49 +0800</pubDate><description><![CDATA[本文摘自：http://blog.sina.com.cn/s/blog_927cff010101ab3t.html



Buffer Status Report（BSR）

      在前一篇博客（见《LTE：上行调度请求（Scheduling Request，SR）》）中已经介绍到，UE通过SR向eNodeB请求上行资源时，只指明了其是否有上行数据需要发送，而没有指明自己需要发送]]></description><category></category></item><item><title><![CDATA[C语言的数组名和对数组名取地址]]></title><link>https://blog.csdn.net/bird67/article/details/24711871</link><guid>https://blog.csdn.net/bird67/article/details/24711871</guid><author>bird67</author><pubDate>Tue, 29 Apr 2014 14:05:00 +0800</pubDate><description><![CDATA[本文摘自：http://blog.csdn.net/zdcsky123/article/details/6517811

相信不少的C语言初学者都知道，数组名相当于指针，指向数组的首地址，而函数名相当于函数指针，指向函数的入口地址。现在又这样一个问题，如果对数组名取地址，那得到的会是什么呢？很多人立刻会想到：给指针取地址，就是指针的指针，既二级指针嘛！当然这样的结论是错误的，不然这篇笔记也就没]]></description><category></category></item><item><title><![CDATA[有符号的整数-负数在内存的存放形式]]></title><link>https://blog.csdn.net/bird67/article/details/20527891</link><guid>https://blog.csdn.net/bird67/article/details/20527891</guid><author>bird67</author><pubDate>Wed, 05 Mar 2014 09:52:15 +0800</pubDate><description><![CDATA[本文摘自：http://blog.csdn.net/jiangdf/article/details/8711151

有符号整数，正数的表示区间为：0x00000000-0x7FFFFFFF;负数的表示区间：0x80000000-0xFFFFFFFF。

负数在内存中都是以补码的形式存放，补码的规则是用0减去这个数的绝对值。也可以表示为对这个数取反加1；

为什么补码是对这个数取反加1]]></description><category></category></item><item><title><![CDATA[嵌入式linux内存使用与性能优化]]></title><link>https://blog.csdn.net/bird67/article/details/19968659</link><guid>https://blog.csdn.net/bird67/article/details/19968659</guid><author>bird67</author><pubDate>Wed, 26 Feb 2014 10:57:38 +0800</pubDate><description><![CDATA[本文摘自：http://blog.csdn.net/liuchao1986105/article/details/6677663

1、内核分配物理内存的最小单位为一个物理页面，一个物理页面为4kb。无论虚拟内存分配了多少字节，比如malloc(400)，内核仍然分配4kb物理内存页面。
2、malloc语句执行时，只是给进程分配了虚拟内存，虚拟内存此时不占用物理内存。当使用此处内存时，比如]]></description><category></category></item></channel></rss>