<?xml version="1.0" encoding="utf-8" ?><rss version="2.0"><channel><title><![CDATA[云深不知处]]></title><description><![CDATA[专著Java、云计算、大数据、推荐系统、人工智能]]></description><link>https://blog.youkuaiyun.com/pakko</link><language>zh-cn</language><generator>https://blog.youkuaiyun.com/</generator><copyright><![CDATA[Copyright &copy; pakko]]></copyright><item><title><![CDATA[前端工程师的自我修养]]></title><link>https://blog.youkuaiyun.com/pakko/article/details/95599753</link><guid>https://blog.youkuaiyun.com/pakko/article/details/95599753</guid><author>pakko</author><pubDate>Fri, 12 Jul 2019 11:14:37 +0800</pubDate><description><![CDATA[前端工程师的自我修养

一个月的学习时间建议按下列顺序进行，第三阶段为option。Long term来讲第三阶段最为重要。

第一阶段：以HTML5/CSS3，JS基础为主（对应1、2、4）
	第二阶段：框架（JQuery，AngularJS/Angular，React，Vue）（对应3、4）
	第三阶段：前端工程（开发规范，构建工具，性能优化）（对应5）
0. 为什么

为什么整个互联网行业都...]]></description><category></category></item><item><title><![CDATA[二分图匹配 - 原理]]></title><link>https://blog.youkuaiyun.com/pakko/article/details/81232532</link><guid>https://blog.youkuaiyun.com/pakko/article/details/81232532</guid><author>pakko</author><pubDate>Mon, 30 Jul 2018 18:45:32 +0800</pubDate><description><![CDATA[ 

上一篇文章讲了二分图匹配的缘起，这篇文章就讲讲二分图匹配的算法详解

二分图的概念
二分图又称作二部图，是图论中的一种特殊模型。 
设G=(V, E)是一个无向图。如果顶点集V可分割为两个互不相交的子集X和Y，并且图中每条边连接的两个顶点一个在X中，另一个在Y中，则称图G为二分图。

图1

二分图的性质
定理：当且仅当无向图G的每一个回路的次数均是偶数时，G才是一个二分图。如果无回路，相当...]]></description><category></category></item><item><title><![CDATA[二分图匹配 - 缘起]]></title><link>https://blog.youkuaiyun.com/pakko/article/details/81232503</link><guid>https://blog.youkuaiyun.com/pakko/article/details/81232503</guid><author>pakko</author><pubDate>Sat, 28 Jul 2018 13:59:37 +0800</pubDate><description><![CDATA[出于对二分图匹配问题的兴趣，接下来会从缘起、原理、打车匹配、外卖匹配来深入了解二分图匹配算法。

先从吴军老师在《得到》专栏里的一篇文章“打车软件匹配人和车是否比下围棋还复杂？”说起。

滴滴的人说打车调度比下围棋的算法还难

围棋只有19*19个=361个格子
	把滴滴的车作为棋盘的行序列，打车的人比作纵序列，那交叉点比361要多很多
	如果按公布的数字，车辆在千万级别，打车的人在亿级别，那组合...]]></description><category></category></item><item><title><![CDATA[CentOS6.5 安装apache/mysql/php]]></title><link>https://blog.youkuaiyun.com/pakko/article/details/53045900</link><guid>https://blog.youkuaiyun.com/pakko/article/details/53045900</guid><author>pakko</author><pubDate>Sat, 05 Nov 2016 16:14:59 +0800</pubDate><description><![CDATA[1, 安装mysql
yum -y install mysql mysql-server
chkconfig --levels 235 mysqld on
/etc/init.d/mysqld start
mysql_secure_installation
2，安装httpd
yum -y install httpd
chkconfig --levels 235 httpd on]]></description><category></category></item><item><title><![CDATA[OpenSwan在CentOS6.4上的编译安装与配置]]></title><link>https://blog.youkuaiyun.com/pakko/article/details/50242361</link><guid>https://blog.youkuaiyun.com/pakko/article/details/50242361</guid><author>pakko</author><pubDate>Wed, 09 Dec 2015 22:15:18 +0800</pubDate><description><![CDATA[1，运行以下命令

sysctl -a | egrep &quot;ipv4.*(accept|send)_redirects&quot; | awk -F &quot;=&quot; '{print $1&quot;= 0&quot;}' &amp;gt;&amp;gt; /etc/sysctl.conf 

sed -i &quot;s/net.ipv4.ip_forward = 0/net.ipv4.ip_forward = 1/g&quot; /etc/sysctl.conf

se...]]></description><category></category></item><item><title><![CDATA[Kerberos for linux配置]]></title><link>https://blog.youkuaiyun.com/pakko/article/details/48245499</link><guid>https://blog.youkuaiyun.com/pakko/article/details/48245499</guid><author>pakko</author><pubDate>Sun, 06 Sep 2015 16:05:32 +0800</pubDate><description><![CDATA[[logging]
default = FILE:/var/log/krb5libs.log
kdc = FILE:/var/log/krb5kdc.log
admin_server = FILE:/var/log/kadmind.log


[libdefaults]
ticket_lifetime = 24000
clockskew = 3600
default_realm ]]></description><category></category></item><item><title><![CDATA[逻辑回归 - 理论篇]]></title><link>https://blog.youkuaiyun.com/pakko/article/details/37878837</link><guid>https://blog.youkuaiyun.com/pakko/article/details/37878837</guid><author>pakko</author><pubDate>Wed, 16 Jul 2014 15:42:14 +0800</pubDate><description><![CDATA[此文章为初学机器学习时，对Andrew NG《机器学习》课程整理所写，也参考了其他优快云同学的笔记，写的较为粗糙，很多网友帮助我指正了问题，现在重新更新向量化部分，并加入实践篇。

什么是逻辑回归？

Logistic回归与多重线性回归实际上有很多相同之处，最大的区别就在于它们的因变量不同，其他的基本都差不多。正是因为如此，这两种回归可以归于同一个家族，即广义线性模型（generalizedli...]]></description><category></category></item><item><title><![CDATA[线性回归-实践篇]]></title><link>https://blog.youkuaiyun.com/pakko/article/details/37527799</link><guid>https://blog.youkuaiyun.com/pakko/article/details/37527799</guid><author>pakko</author><pubDate>Mon, 07 Jul 2014 18:35:46 +0800</pubDate><description><![CDATA[总结了线性回归的理论部分，厦门]]></description><category></category></item><item><title><![CDATA[线性回归-理论篇]]></title><link>https://blog.youkuaiyun.com/pakko/article/details/36641561</link><guid>https://blog.youkuaiyun.com/pakko/article/details/36641561</guid><author>pakko</author><pubDate>Thu, 03 Jul 2014 12:11:38 +0800</pubDate><description><![CDATA[线性回归（Linear Regression）


"回归"的由来


Francis Galton,英国生物学家，他研究了父母身高与子女身高之间关系后得出，若父母身高高于平均大众身高，则其子女身高倾向于倒退生长，即会比其父母身高矮一些而更接近于大众平均身高。若父母身高小于平均身高，则其子女身高倾向于向上生长，以更接近于大众平均身高。此现象，被Galton称之为回归现象，即regres]]></description><category></category></item><item><title><![CDATA[Linux开机启动过程分析]]></title><link>https://blog.youkuaiyun.com/pakko/article/details/34091795</link><guid>https://blog.youkuaiyun.com/pakko/article/details/34091795</guid><author>pakko</author><pubDate>Tue, 24 Jun 2014 17:54:10 +0800</pubDate><description><![CDATA[开机过程指的是从打开计算机电源直到LINUX显示用户登录画面的全过程。分析LINUX开机过程也是深入了解LINUX核心工作原理的一个很好的途径。]]></description><category></category></item><item><title><![CDATA[海量数据处理]]></title><link>https://blog.youkuaiyun.com/pakko/article/details/32319321</link><guid>https://blog.youkuaiyun.com/pakko/article/details/32319321</guid><author>pakko</author><pubDate>Thu, 19 Jun 2014 12:04:49 +0800</pubDate><description><![CDATA[海量：
1）无法在较短时间内迅速解决
2）无法一次性装入内存


针对时间，搭配合适的数据结构，如Bloom
 filter/Hash/bit-map/堆/数据库或倒排索引/trie树
针对空间，大而化小：分而治之/hash映射



分而治之/hash映射 + hash统计 + 堆/快速/归并排序；
双层桶划分
Bloom filter/Bitmap；
Trie树/数]]></description><category></category></item><item><title><![CDATA[Java NIO]]></title><link>https://blog.youkuaiyun.com/pakko/article/details/8783849</link><guid>https://blog.youkuaiyun.com/pakko/article/details/8783849</guid><author>pakko</author><pubDate>Wed, 10 Apr 2013 17:41:19 +0800</pubDate><description><![CDATA[了解Java NIO前，先参考磁盘IO：缓存IO、直接IO、内存映射及网络IO模型。


1、网络IO
BIO就是基于Thread per Request的传统server/client实现模式（阻塞I/O）；
NIO通常采用Reactor模式，当有事件触发时，我们得到通知，进行相应的处理（select加非阻塞I/O）；
AIO通常采用Proactor模式，AIO进行I/O操作，都是异]]></description><category></category></item><item><title><![CDATA[Socket中的TIME_WAIT状态]]></title><link>https://blog.youkuaiyun.com/pakko/article/details/8780540</link><guid>https://blog.youkuaiyun.com/pakko/article/details/8780540</guid><author>pakko</author><pubDate>Tue, 09 Apr 2013 23:29:21 +0800</pubDate><description><![CDATA[从上面的示意图可以看得出来，TIME_WAIT是主动关闭连接的一方保持的状态，在客户端完成数据传输之后，它就会发起主动关闭连接close()，从而进入TIME_WAIT的状态，然后在保持这个状态2MSL（max segment lifetime）时间之后，彻底关闭回收资源。为什么要这么做？明明就已经主动关闭连接了为啥还要保持资源一段时间呢？这个是TCP/IP的设计者规定的，主要出于以下两个方面的考]]></description><category></category></item><item><title><![CDATA[网络IO模型]]></title><link>https://blog.youkuaiyun.com/pakko/article/details/8780372</link><guid>https://blog.youkuaiyun.com/pakko/article/details/8780372</guid><author>pakko</author><pubDate>Tue, 09 Apr 2013 22:55:04 +0800</pubDate><description><![CDATA[Unix下共有五种网络I/O模型 ：
a. 阻塞I/O：进程会一直阻塞，直到数据拷贝完成
b. 非阻塞I/O：I/O请求时加上O_NONBLOCK一类的标志位，立刻返回，I/O没有就绪会返回错误，需要请求进程主动轮询不断发I/O请求直到返回正确；在数据拷贝的过程中，进程是阻塞的
c. I/O复用（select和poll）：与非阻塞I/O本质一样，不过利用了新的select系统调用，由内核来负]]></description><category></category></item><item><title><![CDATA[磁盘IO：缓存IO、直接IO、内存映射]]></title><link>https://blog.youkuaiyun.com/pakko/article/details/8779110</link><guid>https://blog.youkuaiyun.com/pakko/article/details/8779110</guid><author>pakko</author><pubDate>Tue, 09 Apr 2013 18:40:16 +0800</pubDate><description><![CDATA[磁盘IO的几种访问方式如下：


缓存IO
       缓存I/O又被称作标准I/O，大多数文件系统的默认I/O操作都是缓存I/O。在Linux的缓存I/O机制中，数据先从磁盘复制到内核空间的缓冲区，然后从内核空间缓冲区复制到应用程序的地址空间。
       读操作：操作系统检查内核的缓冲区有没有需要的数据，如果已经缓存了，那么就直接从缓存中返回；否则从磁盘中读取，然后缓存在操作系统]]></description><category></category></item><item><title><![CDATA[快速排序]]></title><link>https://blog.youkuaiyun.com/pakko/article/details/6891315</link><guid>https://blog.youkuaiyun.com/pakko/article/details/6891315</guid><author>pakko</author><pubDate>Thu, 20 Oct 2011 17:03:14 +0800</pubDate><description><![CDATA[（1） 分治法的基本思想
分治法的基本思想是：将原问题分解为若干个规模更小但结构与原问题相似的子问题，然后递归地解这些子问题，最后将这些子问题的解组合为原问题的解。

（2）快速排序的基本思想
设当前待排序的无序区为R[low..high]，利用分治法可将快速排序的基本思想描述为：
1）分解： 
在R[low..high]中任选一个记录作为基准(Pivot)，以此基准将当前无序区划分为]]></description><category></category></item><item><title><![CDATA[a的n次方的快速算法及大数相乘]]></title><link>https://blog.youkuaiyun.com/pakko/article/details/6890452</link><guid>https://blog.youkuaiyun.com/pakko/article/details/6890452</guid><author>pakko</author><pubDate>Thu, 20 Oct 2011 14:17:12 +0800</pubDate><description><![CDATA[对于a的n次幂求解这个问题，不少人看到后都觉得没有什么内容吧！我第一次想到这个问题也觉得没有什么内容，但是后来仔细想想，里面还真是有学问哦！

想想看如果我们求 a8 ，有以下两种方法：

1）a8  = a * a * a * a * a * a * a * a 需要计算 7次乘法

2）a 8  = (a * a) * A * A  (其中A = a * a) 需要计算3次乘法

对于这么简单...]]></description><category></category></item><item><title><![CDATA[二叉排序树]]></title><link>https://blog.youkuaiyun.com/pakko/article/details/6888177</link><guid>https://blog.youkuaiyun.com/pakko/article/details/6888177</guid><author>pakko</author><pubDate>Wed, 19 Oct 2011 15:31:04 +0800</pubDate><description><![CDATA[树型结构一直是一种很重要的数据结构，我们知道二叉查找树BST提供了一种快速查找，插入的数据结构。相比散列表来说BST占用空间更小，对于数据量较大和空间要求较高的场合，BST就显得大有用处了。BST的大部分操作平均运行时间为O(logN)，但是如果树是含N个结点的线性链，则最坏情况运行时间会变为O(N)。为了避免出现最坏情况我们给它增加一些平衡条件，
 使它的高度最多为2log(N+1)，最坏情况]]></description><category></category></item><item><title><![CDATA[折半查找算法及变形]]></title><link>https://blog.youkuaiyun.com/pakko/article/details/6883797</link><guid>https://blog.youkuaiyun.com/pakko/article/details/6883797</guid><author>pakko</author><pubDate>Tue, 18 Oct 2011 11:10:50 +0800</pubDate><description><![CDATA[折半查找法也称为二分查找法，它充分利用了元素间的次序关系，采用分治策略，可在最坏的情况下用O(log n)完成搜索任务。
【基本思想】
将n个元素分成个数大致相同的两半，取a[n/2]与欲查找的x作比较，如果x=a[n/2]则找到x，算法终止。如果xa[n/2]，则我们只要在数组a的右半部继续搜索x。

二分搜索法的应用极其广泛，而且它的思想易于理解。第一个二分搜索算法早在1946 年就出]]></description><category></category></item><item><title><![CDATA[汉诺塔算法]]></title><link>https://blog.youkuaiyun.com/pakko/article/details/6883618</link><guid>https://blog.youkuaiyun.com/pakko/article/details/6883618</guid><author>pakko</author><pubDate>Tue, 18 Oct 2011 10:29:37 +0800</pubDate><description><![CDATA[汉诺（Hanoi）塔问题：古代有一个梵塔，塔内有三个座A、B、C，A座上有64个盘子，盘子大小不等，大的在下，小的在上（如图）。有一个和尚想把这64个盘子从A座移到C座，但每次只能允许移动一个盘子，并且在移动过程中，3个座上的盘子始终保持大盘在下，小盘在上。


为了更清楚地描述算法，可以定义一个函数move(n,a,b,c)。该函数的功能是：将N个盘子从A杆上借助C杆移动到B杆上。这样移动]]></description><category></category></item></channel></rss>