Linux Bash Shell编程快速入门

BASH 的基本语法 最简单的例子 —— Hello World! 关于输入、输出和错误输出 BASH 中对变量的规定(与 C 语言的异同) BASH 中的基本流程控制语法 函数的使用 2.1     最简单的例子 —— Hello World! 几乎所有的讲解编程的书给读者的第一个例子都是 Hello World 程序,那么我们今天也就从这个例子出发,来逐步了解 BASH。 用 vi 编辑器编辑一个 hello 文件如下: #!/bin/bash # This is a very simple example echo Hello World 这样最简单的一个 BASH 程序就编写完了。这里有几个问题需要说明一下: 一,第一行的 #! 是什么意思 二,第一行的 /bin/bash 又是什么意思 三,第二行是注释吗 四,echo 语句 五,如何执行该程序 #! 是说明 hello [Read More →]

Posted in linux. 评论暂缺 »

hp cq45笔记本添加新硬盘ghost安装win7 记录

新买了一希捷320G硬盘,预做win7系统。在光驱不能使用的情况下,使用一下步骤完成安装: 1、新硬盘先在windows xp下分4个区。其中C盘为主分区和活动分区(这个一定要,否则笔记本不能识别) 2、在xp系统下,下载win 7 ghost版本,解压。解压出win7.gho到windows xp下的任一分区,如D盘里 3、使用硬盘ghost把win7.gho ghost到 新硬盘 C盘里 4、把新硬盘安装回笔记本里,开机自动安装

Posted in 未分类. Tags: . 评论暂缺 »

vi/vim 跳转到指定行

vi/vim 跳转到指定行

Posted in linux. 评论暂缺 »

php file_get_contents 出现HTTP request failed! HTTP/1.1 505 HTTP Version Not Supported error

在做一个接口的时候,使用file_get_contents出现 HTTP request failed! HTTP/1.1 505 HTTP Version Not Supported error。查了一下手册, Note: 如果要打开有特殊字符的 URL (比如说有空格),就需要使用 urlencode() 进行 URL 编码。 切记,对中文一定要进行先编码后使用

Posted in php, 未分类. 评论暂缺 »

关于input checkbox 选中,全选的一个问题——js小札记

jquery在判断input 复选框选中状态的时候,发现不能直接使用 $(‘input’).attr(‘checked’)。在chrome中,这样不管选择不选择 alert()出来的都是undefined。试过多次后,有两种途径实现: 1、还是用原生态的js进行测试:this.checked,这样就实现了当前checkbox是否选中的状态。 2、$(‘input:checkbox’).is(‘:checked’):    这里会alert出 true/flase

Posted in lamp. 评论暂缺 »

PureFTP安装配置

PureFTP+Mysql验证 FTP的原理 21端口开放,用于连接。20端口用于传输数据! 匿名用户 anonymous 主动模式和被动模式 主动模式是客户端主动,例如用1030端口连接21,再开放1031和20端口传输数据,但是如果有防火墙的话,无法主动传输,服务器会打开大于1024端口并且通过客户端进行连接 tar -xjvf pure-ftpd-1.0.22.tar.bz2 ./configure –prefix=/usr/local/pureftpd –with-mysql=/usr/local/mysql –with-paranoidmsg –with-shadow –with-welcomemsg –with-uploadscript –with-quotas –with-cookie –with-virtualhosts –with-virtualroot –with-diraliases –with-sysquotas –with-ratios –with-ftpwho –with-throttling –with-language=simplified-chinese –with-mysql=/usr/local/mysql \ 此处的 /usr/local/mysql 请改为你的mysql实际安装路径.如果出现类似configure: error: Your MySQL client libraries aren’t properly installed 的错误,请将mysql目录下的 include/mysql下的mysql.h文件以及lib/mysql下的全部文件,连接(直接复制过去或许也可)到 /usr/lib 目录下(参考) cp /usr/local/mysql/lib/libmysqlclent* /usr/lib(真正解决办法) ##运行 ldconfig,加载所有共享链接库 cp -a ftp /var/www/html/pureftp make && [Read More →]

Posted in linux. 评论暂缺 »

CentOS x64 里php 源码编译出错参见情况及解决办法

configure: error: xml2-config not found. Please check your libxml2 installation. yum install libxml2-devel.x86_64 configure: error: Cannot find OpenSSL’s yum install openssl-devel.x86_64 configure: error: Could not find pcre.h in /usr/local yum install pcre-devel.x86_64 configure: error: Could not find pcre.h in /usr/local “–with-pcre-regex=/usr/include” \ configure: error: Could not find libpcre.(a|so) in /usr/include “–with-pcre-regex=/usr” \ configure: error: Please [Read More →]

Posted in lamp, php. 评论暂缺 »

关于数据挖掘推荐系统实现

作者:张荣华 先说一说问题,不知道大家有没有这样的经验,反正我是经常碰到。 举例1,某些网站每隔几天就发邮件给我,每次发的邮件内容都是一些我根本不感兴趣的东西,我不甚其扰,对其深恶痛绝。 举例2,添加具有某功能的一个msn机器人,每天都有几次突然蹦出一个窗口,推荐一堆我根本不想知道的内容,烦不烦啊, 我只好将你阻止掉。 每一个观众只想看他感兴趣的东西,而不是一下与之无关的事物,那么如何才能知道观众的兴趣所在呢,还是数据挖掘,经过一番思考,终于有点思路,即根据用户以往的浏览历史来预测用户将来的行为,也就是基于内容的推荐。 基于内容的推荐(Content-based Recommendation)是信息过滤技术的延续与发展,它是建立在项目的内容信息上作出推荐的,而不需要依据用户对项目的评价意见,更多地需要用机器学习的方法从关于内容的特征描述的事例中得到用户的兴趣资料。在基于内容的推荐系统中,项目或对象是通过相关的特征的属性来定义,系统基于用户评价对象的特征,学习用户的兴趣,考察用户资料与待预测项目的相匹配程度。用户的资料模型取决于所用学习方法,常用的有决策树、神经网络和基于向量的表示方法等。基于内容的用户资料是需要有用户的历史数据,用户资料模型可能随着用户的偏好改变而发生变化。 基于内容推荐方法的优点是: 1)不需要其它用户的数据,没有冷开始问题和稀疏问题。 2)能为具有特殊兴趣爱好的用户进行推荐。 3)能推荐新的或不是很流行的项目,没有新项目问题。 4)通过列出推荐项目的内容特征,可以解释为什么推荐那些项目。 5)已有比较好的技术,如关于分类学习方面的技术已相当成熟。 缺点是要求内容能容易抽取成有意义的特征,要求特征内容有良好的结构性,并且用户的口味必须能够用内容特征形式来表达,不能显式地得到其它用户的判断情况。 要实现内容推荐系统总体来说要经过4个大的步骤: 1 搜集数据,即搜集用户的行为资料,其中也包括很多方法,根据我找到的资料与以往的经验来看,web日志可以作为我们的切入点,即我们的数据来源。 2 过滤数据,web日志中有很多无用的信息,我们要把这些无用的信息排除掉,而且要区分出用户和日志数据之间的联系。 3 分析数据,利用分类聚类技术分析出这些日志数据之间的关联性,以及这些日志数据和用户之间的关联性,这也是最重要的一步。 4 输出结果。 有了这个思路之后,我们可以着手做第一步,即日志数据的收集 我们知道,大多数的web服务器都是有自己的日志记录的,比如说apache安装之后有一个logs目录,其中就有它的日志文件,一般说来它有自己的一个格式,比如说: 1浏览器所在主机的 IP 地址(ip); 2访问日期和时间(date-time);3客户机与服务器通信所用的方法(methed,get or post); 4客户机请求访问页面的 URL; 5服务器返回的状态(status); 6客户端浏览器的类型; 但是这个日志文件有一些不能克服的问题,或者我不知道如何克服,那么我先说说我的疑问,首先,这个日志文件中记录的是ip地址,据了解,网络中有很多计算机的ip地址是相同的,因为他们在一个统一的路由后面,这个比例可能达到25%。那么我们就无法根据ip地址来唯一确定一个用户。其次,一般的web服务器中都会用多个应用,那么其他应用的访问信息对我们来说有可能是多余的。再者,web服务器的日志形式比较单一,灵活性不大,可定制的余地很小,在日志数据中有效数据所占的比例较小。还有,一些静态文件的请求也会被web服务器记录下来,比如说js文件,css文件,还有图片文件,等等这些东西对内容推荐来说都是无用的资源。 基于上面3点原因,我认为可以自定义日志数据。为了解决用户唯一性,我们让应用为每一个浏览器生成一个clientId保存在对应的浏览器上,这样该浏览器只要访问网站,我们就可以确定这个浏览器的唯一性,当然我们仍然不能确定浏览器使用者的唯一性,但是我们可以更进一步,如果浏览器的使用者登陆网站的话,我们就可以使用用户id来确定用户的唯一性,不过大多数网站用户可能在使用网站的时候并不会登陆,我也是这样,没有关系,即使使用clientId问题也不会太大,随着社会的发展,计算机的拥有量逐渐增加,一般来说一个人只会使用一台固定的电脑,在公司里尤其是这样。所以我认为clientId的方案是可行的,也许有人要问,别人的浏览器禁止了cookie怎么办,那么我只能说没有办法,不过还好事实是绝大多数人都没有这样做。 接下来我们可以定义一下我们所需要的日志数据的格式,比如这样, ip,clientId,userId,url,datetime,get or post等等。 这样数据有效性会大大提高。 在得到较为有效的数据之后,我们还需要对这些数据进行再次过滤: 1 去掉一些非内容的url,这些数据也是无效数据,这些非内容的url需要我们自己手工的统计出来,然后和日志数据中的数据进行比对,将这些非内容数据从日志数据中清除出去。 2 同时我们也需要把post请求从日志数据中清除出去,或者我们在记录日志的时候根本不应该把post请求记录下来。 经过以上步骤之后我们就可以开始第3个阶段了,统计每个用户的访问的url,对这些url进行访问,得到对应的html中所包含的数据,这些数据都是文本,将有用的文本提取出来,然后对这些有用的文本进行聚类。这样就可以得到每个用户喜欢的几个类别。 聚类完成之后我们就可以开始分类了,即把最新的文章或者内容和对应的类别进行匹配,匹配成功之后,我们可以认为这个新文章或者内容可以推荐给对应的用户。 问题:以上的流程只适用于没有使用缓存的系统,但是一般大型的网站都会使用varnish,squid等等,使用它们之后我们就无法得到用户访问的日志数据了,所以如果使用了varnish或者squid,我们不得不再次面对web服务器的日志数据。 在不考虑varnish或者squid的情况下,使用lucene+jamon+htmlparse基本就可以实现以上推荐系统。

Posted in 数据挖掘. 评论暂缺 »

MySQL联表查询及联表删除的方法

MySQL联表查询及联表删除都是经常需要用到的操作,下面对MySQL联表查询和联表删除都作了详细的介绍分析,希望对您有所帮助。 MySQL联表查询: reference mysql manul: 3.2.7. SELECT语法13.2.7.1. JOIN语法 13.2.7.2. UNION语法 eg1:·mysql> SELECT t1.name, t2.salary FROM employee AS t1, info AS t2·->    WHERE t1.name = t2.name;eg2:·mysql> SELECT table1.* FROM table1·->        LEFT JOIN table2 ON table1.id=table2.id·->        WHERE table2.id IS NULL; 联表删除: 1、从数据表t1 中把那些id值在数据表t2 里有匹配的记录全删除掉 DELETE t1 FROM t1,t2 WHERE t1.id=t2.id    或DELETE  FROM t1 USING t1,t2 WHERE t1.id=t2.id [Read More →]

Posted in mysql. 评论暂缺 »

十大数据挖掘算法及各自优势

收藏一篇不错的 数据挖掘算法介绍的文章

Posted in 数据挖掘. 评论暂缺 »