<?xml version="1.0" encoding="utf-8" ?><rss version="2.0"><channel><title><![CDATA[flybywind的专栏]]></title><description><![CDATA[]]></description><link>https://blog.youkuaiyun.com/flybywind</link><language>zh-cn</language><generator>https://blog.youkuaiyun.com/</generator><copyright><![CDATA[Copyright &copy; flybywind]]></copyright><item><title><![CDATA[利用聚类优化分类器]]></title><link>https://blog.youkuaiyun.com/flybywind/article/details/36066757</link><guid>https://blog.youkuaiyun.com/flybywind/article/details/36066757</guid><author>flybywind</author><pubDate>Mon, 30 Jun 2014 23:42:20 +0800</pubDate><description><![CDATA[利用聚类优化分类器


http://www.spiral.pro/]]></description><category></category></item><item><title><![CDATA[独立博客]]></title><link>https://blog.youkuaiyun.com/flybywind/article/details/35844845</link><guid>https://blog.youkuaiyun.com/flybywind/article/details/35844845</guid><author>flybywind</author><pubDate>Sun, 29 Jun 2014 22:34:50 +0800</pubDate><description><![CDATA[花钱搞了一个独立博客
spiral.pro
欢迎大家踩踏]]></description><category></category></item><item><title><![CDATA[如何从后台子shell中把状态传出来]]></title><link>https://blog.youkuaiyun.com/flybywind/article/details/9698547</link><guid>https://blog.youkuaiyun.com/flybywind/article/details/9698547</guid><author>flybywind</author><pubDate>Thu, 01 Aug 2013 09:51:07 +0800</pubDate><description><![CDATA[bash中在管道或 {}& 语句块中的变量状态是不会反应到外部的，比如下面2个例子，
ret返回都是空字符串
cat $file | while read  line ;
do
    ret=$line
done
echo $line 
for i in `seq 5`;
do
{
	test $i -le 4
	if [ $? -ne 0 ];then
		ret=1
	fi
	slee]]></description><category></category></item><item><title><![CDATA[PullToRefresh的使用]]></title><link>https://blog.youkuaiyun.com/flybywind/article/details/8977734</link><guid>https://blog.youkuaiyun.com/flybywind/article/details/8977734</guid><author>flybywind</author><pubDate>Sun, 26 May 2013 22:09:29 +0800</pubDate><description><![CDATA[作者对使用方法介绍的很简单。详见：https://github.com/chrisbanes/Android-PullToRefresh/wiki/Quick-Start-Guide
我这里写一下自己的一些收获：
1. 导入PullToRefresh库，方法详见 http://developer.android.com/tools/projects/projects-eclipse.html#]]></description><category></category></item><item><title><![CDATA[pull_to_refresh debug]]></title><link>https://blog.youkuaiyun.com/flybywind/article/details/8977720</link><guid>https://blog.youkuaiyun.com/flybywind/article/details/8977720</guid><author>flybywind</author><pubDate>Sun, 26 May 2013 21:53:15 +0800</pubDate><description><![CDATA[好久没有写博客了。主要是工作太忙了 + 自己开始变懒了。忏悔一下


今天研究了一下PullToRefresh[https://github.com/chrisbanes/Android-PullToRefresh]的机制，就是下拉然后自动刷新的功能，其实还是不太懂。不过先把自己已经搞清楚的写一下
1. PullToRefreshListView(PullToRefreshBase).on]]></description><category></category></item><item><title><![CDATA[android 的自签名机制]]></title><link>https://blog.youkuaiyun.com/flybywind/article/details/8739512</link><guid>https://blog.youkuaiyun.com/flybywind/article/details/8739512</guid><author>flybywind</author><pubDate>Sat, 30 Mar 2013 11:17:34 +0800</pubDate><description><![CDATA[花了半天时间，终于算是把android的证书机制搞明白了。关键就是keytool和jarsigner。keytool用来查询密码和创建证书，证书以keystore的形式存在。一旦证书创建好之后就可以通过"密码"来查询sha1签名。在生成sdk的时候，adt会使用密码和jarsigner给jar文件签名，同时jarsigner把证书存放到 block
 file of the JAR file内部]]></description><category></category></item><item><title><![CDATA[google map学习]]></title><link>https://blog.youkuaiyun.com/flybywind/article/details/8566424</link><guid>https://blog.youkuaiyun.com/flybywind/article/details/8566424</guid><author>flybywind</author><pubDate>Sun, 03 Feb 2013 09:21:44 +0800</pubDate><description><![CDATA[前几天学习android开发，昨天想学习一下google map，把我昨天的低级错误总结一下吧：
1.  申请app key的时候填的工程名必须和你实际的工程名一致。否则就无法返回地图。google这点确实比较死板。
2.  一步一步按照 https://developers.google.com/maps/documentation/android/start 的说明来。我的错误是：把放在了]]></description><category></category></item><item><title><![CDATA[JavaScript Module Pattern: In-Depth]]></title><link>https://blog.youkuaiyun.com/flybywind/article/details/8095724</link><guid>https://blog.youkuaiyun.com/flybywind/article/details/8095724</guid><author>flybywind</author><pubDate>Sun, 21 Oct 2012 19:24:54 +0800</pubDate><description><![CDATA[本文翻译自大牛ben cherry的博客：http://www.adequatelygood.com/2010/3/JavaScript-Module-Pattern-In-Depth 。对自己的英文很有自信的同学可以直接去这个地址看原文。
翻译能力有限，欢迎指教~~
================  正文 =================
       Module pattern 是]]></description><category></category></item><item><title><![CDATA[留意shell变量作用域]]></title><link>https://blog.youkuaiyun.com/flybywind/article/details/8009979</link><guid>https://blog.youkuaiyun.com/flybywind/article/details/8009979</guid><author>flybywind</author><pubDate>Sun, 23 Sep 2012 16:29:27 +0800</pubDate><description><![CDATA[shell变量的作用域大部分都是全局的。这点非常不好。经常会造成意想不到的后果。所以强烈建议在定义每一个变量时都先声明为local的。
举例如下：
f1.sh:

function f1() {
        line="f1,hhaha"
}

f2.sh

function f2() {
        local line=""
        read line]]></description><category></category></item><item><title><![CDATA[新浪微博应用开发者协议真坑爹啊！]]></title><link>https://blog.youkuaiyun.com/flybywind/article/details/7931676</link><guid>https://blog.youkuaiyun.com/flybywind/article/details/7931676</guid><author>flybywind</author><pubDate>Sat, 01 Sep 2012 11:04:31 +0800</pubDate><description><![CDATA[注册新浪微博应用开发者时，你看过《应用开发者协议》吗?你知道有几条吗?知道里边的陷阱有什么吗?我相信没有几个人会那么无聊地去看那10339个字。但仔细读了《协议》后，你会发现，你就是“爹”，而协议里全是坑！
各位看官注意了：
2.8.4 因新浪微博开放平台运营的实际情况需求，新浪可能额外要求开发者增加或修改应用特性或参与运营活动，开发者有义务配合且新浪无需为此向开发者支付任何费用。
意思就是]]></description><category></category></item><item><title><![CDATA[把python安装到非默认路径]]></title><link>https://blog.youkuaiyun.com/flybywind/article/details/7582551</link><guid>https://blog.youkuaiyun.com/flybywind/article/details/7582551</guid><author>flybywind</author><pubDate>Sat, 19 May 2012 11:34:31 +0800</pubDate><description><![CDATA[在公司测试机上没有root权限，只能安装到非默认路径下：（默认好像是/usr/local）
               1. 运行 ./configure --prefix=install_path，脚本就会自动安装install_path指定的路径生产make文件
               2. 运行make
               3. 运行make install。就把py]]></description><category></category></item><item><title><![CDATA[详解什么是数据驱动编程]]></title><link>https://blog.youkuaiyun.com/flybywind/article/details/7575227</link><guid>https://blog.youkuaiyun.com/flybywind/article/details/7575227</guid><author>flybywind</author><pubDate>Thu, 17 May 2012 10:12:20 +0800</pubDate><description><![CDATA[http://developer.51cto.com/art/201108/281016.htm]]></description><category></category></item><item><title><![CDATA[Vim改变窗口大小]]></title><link>https://blog.youkuaiyun.com/flybywind/article/details/7564998</link><guid>https://blog.youkuaiyun.com/flybywind/article/details/7564998</guid><author>flybywind</author><pubDate>Mon, 14 May 2012 14:54:55 +0800</pubDate><description><![CDATA[(转载)Vim改变窗口大小 





改变窗口大小 *window-resize*

*CTRL-W_=*
CTRL-W = 使得所有窗口 (几乎) 等宽、等高，但当前窗口使用 'winheight' 和
'winwidth'。

:res[ize] -N *:res* *:resize* *CTRL-W_-*
CTRL-W - 使得当前窗口高度减 N (默认值是 1)]]></description><category></category></item><item><title><![CDATA[screen 多窗口终端管理器]]></title><link>https://blog.youkuaiyun.com/flybywind/article/details/7556901</link><guid>https://blog.youkuaiyun.com/flybywind/article/details/7556901</guid><author>flybywind</author><pubDate>Fri, 11 May 2012 13:32:23 +0800</pubDate><description><![CDATA[在用secureCRT登陆远程服务器时，如果电脑关机、断网或secureCRT异常退出，那么原来运行在远程服务器上的程序也异常退出。有的时候这种情况防不胜防。而如果使用screen管理器，那么即使出现上述情况，还是能够恢复原来的窗口，其中的历史信息依然存在，之前运行的程序依然在正常运行。
      screen是在原来的终端上开了好几个线程形成的虚拟窗口。即使终端异常退出，这些线程依然存在，只]]></description><category></category></item><item><title><![CDATA[五一中关村--买手机历险记]]></title><link>https://blog.youkuaiyun.com/flybywind/article/details/7539468</link><guid>https://blog.youkuaiyun.com/flybywind/article/details/7539468</guid><author>flybywind</author><pubDate>Sun, 06 May 2012 15:05:11 +0800</pubDate><description><![CDATA[五一的时候跟室友去中关村买手机，去之前就有人告诫我们说：中关村的水太深，最好去网上买。当时我有点不以为然，而且也想去看看js都长啥样。于是就和一个室友去了。
        我们是下午2点多去的，然后一直在看手机。这些商家确实有点霸道，去了就问你今天拿不拿机子，如果不拿就不给看手机了。不过我们还是看了几家，感觉店家的报价都差不多。没什么好挑的。这段期间的情节都很无聊，略去……JS的把戏在后面。晚]]></description><category></category></item><item><title><![CDATA[STL sort函数--对map按值排序]]></title><link>https://blog.youkuaiyun.com/flybywind/article/details/7536311</link><guid>https://blog.youkuaiyun.com/flybywind/article/details/7536311</guid><author>flybywind</author><pubDate>Fri, 04 May 2012 22:25:09 +0800</pubDate><description><![CDATA[问题：要对以map中的数据进行按value排序
难点：map中的数据是按照key排序的，用for循环进行迭代器输出的顺序，就是按照key排序的顺序。但是按value排序就不可能了。
方案：
STL中的sort函数原型：

#include 
using namespace std;
template 
  void sort ( RandomAccessIterator first, R]]></description><category></category></item><item><title><![CDATA[calloc或new分配的数组只能在第一个元素上释放]]></title><link>https://blog.youkuaiyun.com/flybywind/article/details/7492842</link><guid>https://blog.youkuaiyun.com/flybywind/article/details/7492842</guid><author>flybywind</author><pubDate>Tue, 24 Apr 2012 11:14:05 +0800</pubDate><description><![CDATA[前几天写了一个开链hash表，结构如下：
*node1 -->next-->next->...
*node2 -->next-->...

*node3 -->...

*node4 -->next-->next->next-->...

即首先创建一个Node数组，该数组由calloc分配，然后每个node又在后面跟着一个长链表。这样在最后释放的时候就出现了问题：
我用递归的方]]></description><category></category></item><item><title><![CDATA[sprintf 陷阱--Segmentation fault]]></title><link>https://blog.youkuaiyun.com/flybywind/article/details/7492678</link><guid>https://blog.youkuaiyun.com/flybywind/article/details/7492678</guid><author>flybywind</author><pubDate>Tue, 24 Apr 2012 11:02:14 +0800</pubDate><description><![CDATA[有时为了构造特定的字符串，我们经常会使用sprintf函数。但是在linux中，该函数是不安全的。建议使用snprintf来指定写入的字节数。如下例所示：

#include 
#include 

int main(int argc, char* argv[])
{
	char str[18];
	int *pa = (int*)calloc(8, sizeof(int));
	sprint]]></description><category></category></item><item><title><![CDATA[SIGPIPE信号结束进程.]]></title><link>https://blog.youkuaiyun.com/flybywind/article/details/7487029</link><guid>https://blog.youkuaiyun.com/flybywind/article/details/7487029</guid><author>flybywind</author><pubDate>Sun, 22 Apr 2012 17:36:42 +0800</pubDate><description><![CDATA[对一个对端已经关闭的socket调用两次write, 第二次将会生成SIGPIPE信号, 该信号默认结束进程。而这种行为一般不是我们希望的。在我的爬虫程序中就出现了这种问题，原因还不清楚。。为了进行后续处理，下列方法可以避免程序退出：

struct sigaction sa;
sa.sa_handler = SIG_IGN;
sigaction( SIGPIPE, &sa, 0 );
当然]]></description><category></category></item><item><title><![CDATA[在linux下创建静态链接库和编译链接]]></title><link>https://blog.youkuaiyun.com/flybywind/article/details/7487000</link><guid>https://blog.youkuaiyun.com/flybywind/article/details/7487000</guid><author>flybywind</author><pubDate>Sun, 22 Apr 2012 17:29:13 +0800</pubDate><description><![CDATA[创建静态链接库： 如hashlib
         g++ -c hash.c
         ar -r libhashlib.a hash.o 
         # 注意archive文件的名字为libhashlib.a。否则在链接的时候会提示cannot find -lhashlib



编译链接
         在gcc/g++编译时，一定要注意各个文件的依赖顺序]]></description><category></category></item></channel></rss>