Profil von 水洋浪人流浪在北京FotosBlogListen Extras Hilfe

shuiyang lin

Beruf
Es sind keine Fotoalben vorhanden.
07 September

一个小东西 实时捕捉Aleax全球排名前一百

工作用的东西 尽管Aleax已经名存实亡了 但是其排名信息或多或少能够体现出互联网的一些价值

$content
= file_get_contents("http://www.alexa.com/site/ds/top_sites?ts_mode=global&lang=none");
    
    
preg_match_all("#<a(.+?)url=http://(.+?)\">#", $content, $out);
    
    echo
"<pre>";
    
    
$newurl = array();
    
    foreach (
$out[2] as $key => $val)
    {
        if (!
in_array($val, $newurl))
        {
            
$newurl[] = $val;
        }    
    }
    
    foreach (
$newurl as $key => $val)
    {
        echo
"$val\n";
    }
01 September

从MacromediaStudio8说起

记得在5年前,2000年,我第一次使用Dreamweaver的时候,那个版本还是3.0 简陋的界面并不能够掩盖其强大的功能。5载春秋过去了,本月28号,MM召开了MMStudio8的发布会,说这个产品套装将于近期内供货。
    说起来,我也算是Dreamweaver和Flash的老用户了。在2001年一整年里,曾经是那么沉迷于Flash,记得那个时候是Flash4。时光穿梭,人,不停地成熟,科技不停地进步,MM经过这么多年的风雨路程,还是被Adobe收购了。前几天,一位朋友说,MM的这个发布会将是MM作为原公司的最后一次发布会了,下次发布的时候就是Adobe公司了。是啊,有什么不能够改变的呢,曾经的冤家死对头,Adobe曾经恨不得MM从世界上消失,还一度闹到了公堂,结果呢,Adobe还是老大,看不顺眼,吃!资本市场永远是公平的,谁有钱,谁就是老大,没有人能够阻止历史的进程脚步。
      还在刚才,在拼命地找DW7.01的下载地址和注册机的时候,在想,如果这个世界上没有盗版,网络世界的历史发展脚步将会多慢啊。没有这么多使用盗版的“高手”去推动科技的发展,计算机水平将会停步在好几年前。
    最早使用Dreamweaver和Flash的时候,用的还是Crack,要改注册表,要改文件,每次安装都好麻烦,现在,方便多了,一个注册机,输入一个注册码,就能够永久使用了,是盗版的进步了,还是正版的落后了呢?
    正想着MM的新版7600大洋的套装价格是,我想,也许,哪天有钞票了,我也支持一把MM了。
23 August

今天的新闻爆料

中午吃完饭,习惯地浏览了一些新闻,竟然发现李敖先生将于9月份来大陆访问的令人振奋的消息,看过之后,竟然有想掉泪的感觉。
      我不是李敖的崇拜者,先不论其行为如何、为人作风如何,就李敖先生的民主和自由,一直以来都在深深地感动着我。多么久一来,就希望李敖先生能够以民主自由的姿态回来祖国大陆看看,能够到大学的校园里给大家做一场关于学问的报告。现在,终于,李敖先生能够在有生之年,勇敢地坐上飞机,回来祖国大陆看看,看看祖国的变化,将余生的学问分享给祖国的同胞们。
14 August

搬家了 给上周作个总结

     来到北京还差四天就一个月了,今天终于找到一个唐家岭(隶属海淀区,五环以外,边家村都不如的小村子)的“五星级”房子了,12平方左右,洗手间有一个海尔热水器,还有一个木衣柜(跟招待所差不多),终于不用再忍受没热水洗澡的困扰了。
     记忆一下这个日子,公元2005年8月2日,我是这一天到新浪上班的,转眼间,已经上班10天了,这10天是疯狂作培训的10天,原来新浪也不用OOP。
     周六,在昌平中国石化培训中心做了一个短暂的培训,我们成了新浪新员工第34期培训的学员了,带课的是王青老师,毕业于人民大学的一个女人,还不错,终于明白了团队应该怎么协作了,有一个沙漠求生的练习,竟然不知道一面镜子能够解救被困在沙漠中的人,比水还重要。
     在这之前,终于将原来的天风家园留言本用新浪的架构重新写了一遍,爽就一个字~~!
     明天上班,再做一个练习就可以接手项目了,也许疯狂的日子要从那个时刻开始的。
05 August

阿炳生日快乐

阿炳 每到这个时候 总是能够想起我们在一起的欢乐时光 这些照片 记载了我们2003年8月9号-10号在嘉午台的逍遥日子 我记得 9号晚上 我们给你过了生日 
 
你一直是个对自己不太细心的人 这些照片也不知道你有没有带在身边

关于虫虫音乐一些曾经过去的日子

虫虫音乐(http://vivi.nwu.edu.cn)曾经作为我大学里面做得最骄傲的一件事情,不经意间,发现原来学校的Web端口并没有如预期的一样对外全部封锁,上班之后,又可以继续回到学校品味一些自己上传的音乐。
       
03 August

正式上班第一天

一大早起来 居然下起了大雨 9点15分才到公司 上班第一天就迟到了
 
中午时分 被组长叫去做内部培训 原来还真的不需要什么太好的技术工作就能够上手的 心情有那么一点点失落
 
不想回家 又不知道干什么好 组长安排了培训练习题 简直就是从零开始的那样 今天的作业下午4点不到就交了 很简单的一些题目 不过还算比较有意思 有事情做总比没有事情做的好
 
吸取昨天的教训(昨天在公司没有事情干 很郁闷) 今天把耳机带过来了 听了一会儿纯音乐就发困了 干脆就放的士高 发现原来的士高也可以疗养精神的 起码让人不瞌睡了 呵呵
 
革命第一天 迟到真不好 明天一定要早到 一定不能迟到了
 
好久没有真么认真地听音乐了 原来重回音乐的怀抱的时候 感觉是那么的好 想念海口了 那里有很多原版碟被一群不识货的贩子每天以很低的价格卖掉 在北京可没有这个福气
31 Juli

我的大学五年 逝去的成长轨迹

      昨天,一位朋友安慰我,给我写下了“顺境的美德在于节制 逆境的美德在于坚韧”。这是培根先生许多年前写下的一句名言,简单的哲理,复杂的成长道路。
      现在回忆起五年前那段充满激情的日子,人生的这半个十年居然,西大彻底改变了我,或者是说我自己改变了自己,再或者说是因为一个女人改变了我。有一段的尘封的记忆,居然不愿意打开,那就让它永远留在潘多拉的盒子里面,不要让它见阳光,或者会好点吧。
     大学是这样子过的,入学,上课,厌学,逃课,为了麻痹自己,疯狂地工作,疯狂地研究根大学本科无关的技术,挂科,重修,再挂科,试读,留级,挂科,重修,再挂科,然后在第五个年头终于在毕业前夕退学了。大学,我挂了33门。
大学还是这样子过的,学习(跟考试不相关的技术),研究(跟考试无关的东西),开发网站,再学习,在研究,终于在学校鞠躬尽瘁地做了很多的事情,人也从一个电脑盲成为了一个虚名的所谓的高手。
      大学还可以这样子过,当了电脑协会的会长一次,为了我,创建了学生会网络信息部,因为我,又撤掉网络信息部。这么多年来,对团委最坚贞的非我莫属了,一兼职学生助理居然一当就当了4年。建设了一个曾经教育网家喻户晓的虫虫音乐网站,一度成为教育网最有品味的音乐网站。建设了一个曾经辉煌的《木香》杂志电子版。建设了我正在发贴“木香园网站”。我们从一无所有,到现在这个样子。曾经成为7111教师最忠实的公众人物,曾经有一个学期,基本上每天都在7111搞活动。无数次站在张学良盖的大礼堂中间,架着摄像机,记录了多少用大家的汗水换来一台台晚会,包括迎评晚会。
      大学交了很多忘念之交的朋友,是一场辩论赛聚集了我后来的朋友圈子,2004年11月那场“第九届日立杯中国大学生辩论邀请赛”,我们第一次出征全国重大赛事,黑哨剥夺走了我们冠军,最后我们拿了亚军回来,从此,我的身边多处了很多知心朋友,他们陪我走过了最后的艰难时刻。
      大学交了很多女朋友,很多人说我太博爱,其实这是人的一种美德,对别人好,做好事,本身就是一种积德。高中的一个女孩,她告诉我,如果我能够上重点院校,她同意跟我,我上了,她却欺骗了我,我的大一就从这里开始,每天晕晕乎乎的,第一次感觉到了原来年轻人还可以这样子,觉得上学没有了意义。大学的第一个女朋友是西电的海南老乡,2001年交往的,只交往了1个月,我对不起她,因为我觉得我不能给她光明的前途,我还有阴影。我的第2个女朋友是西大海南老乡98级的大美女,谈了大半年,可是这个女人要当着我的面上别人的奥迪A6,还夜不归宿,从此开始相信美女只能当花瓶。大学五年,还深深暗恋过2个女孩,这些名字现在想起来都是一阵阵的痛,LiRong&LiangJiaoJiao,可惜后来都成了别人的女朋友。我大学最后的一个女朋友,是我现在的女朋友,真的很感激她,她改变了我,陪我走了了一条条曲折的道路,让我有家的感觉。
      30天前,大家都在欢天喜地办理毕业手续的时候,我却要办理退学手续。15天前,我来到北京,面试了很多大牌企业,新浪、赛迪、金山、好丽友和一家民营公司,原来他们都这么在乎那一张叫作毕业证的东西,没有证就只能够在公司当民工,叫之即来,呼之即去。
      10个小时前,我终于拿到了新浪的Offer,尽管是民工,但是我知道他们用人的标准是平均30个人面试录用1个。
1个小时前,我在写这篇文章,我只想纪念逝去的日子,感谢所有帮助过我的朋友,感谢西大培养了我这样一个只开花不结果的怪物。
5分钟前,我想对正在上学的学第学妹们说,大学四年,要么好好学习,要么好好掌握一门本领,能全面发展更好。上不上下不下的人最难生存,好工作不是在大学混出来的。
      1分钟前,我想到了,我读的专业为什么不改革一下,为什么我们班这么多人去玩市场不搞信息管理领域。
      现在,纪念一下已经死去的大学教育体制,进入大学,就是一场游戏,要么好好遵守游戏规则,要么不要玩这个游戏,落得我这样子的下场。

PHP:关于Socket检测链接

在PHP中,Socket还是个新玩意,利用现有的Socket开发环境,我们可以很轻松地开发出基于Socket信息传递和反馈的程序。昨天一位朋友向我要利用PHP分析链接的函数或者类,顺手翻开手册就写了一个。
     在http协议中,所有的请求都是要经过http报头封装传递给服务器的,服务器在接受到申请之后,然后根据用户提交的信息查找服务器上的资料,不管有还是没有这个文件,都会反馈一个http报头给用户。那么我们可以利用Socket创建报头和接受反馈的报头,根据报头的代码编号来判断请求是否存在。
 
 

 
<?
/**
* 说明:检测url地址是否还有效
*
* 作者:西大浪人(QQ:18402887)
*
* 日期:2005年7月31日
*/

error_reporting(E_ALL & ~E_NOTICE);

    function
_GetMicrotime()
    {
        list(
$usec, $sec) = explode(" ",microtime());
        return ((float)
$usec + (float)$sec);
    }
    
    function
_CatInfoToArray($urls)
    {        
        
/*
        $url格式:http://wwww.xxxx.com:88800/root/file
        剥离信息url集合的信息
        取得 $add 地址 $ip $port $froot $httpd
        将上述信息存入一个新的数组
        */
        
        
        
$newurlarr = array();
        
        foreach (
$urls as $uk=>$url)
        {    
        
            
            
$urlarr = explode("://",$url);        
            
            
$urlarr = explode("/",$urlarr[1]);
        
            
$hostinfo = explode(":",$urlarr[0]); // www.xxxx.com:88800
            
            
$add[$uk] = $hostinfo[0];
            
            if(
$hostinfo[1]!="")
            {
                
$port[$uk] = $hostinfo[1];   //如果地址带端口,使用地址给出的端口
            
}
            else
            {
                
$port[$uk] = getservbyname('www', 'tcp'); //如果地址没带端口,返回wwww端口
            
}            
            
            
/*开始重新组合,生成新的文件探测地址*/
            
if(count($urlarr) !=1 && $urlarr[1]!="")   
            {
                foreach (
$urlarr as $k=>$urlitem)
                {
                    if(
$k !=0) $froot[$uk] .= "/".$urlitem;
                }
            }
            
            if(
$froot[$uk]=="") $froot[$uk]="/"; //如果探测址为空,就探测根目录
                
            /*
            OK,现在我们开始创建http报头
            */
            
$ip[$uk] = gethostbyname($hostinfo[0]); //返回ip                    
            
$httpd[$uk]  = "GET $froot[$uk] HTTP/1.1\r\n";
            
$httpd[$uk] .= "Host: ".$hostinfo[0]."\r\n";
            
$httpd[$uk] .= "Connection: Close\r\n\r\n";
            
            
/*信息收集完毕,创建数组*/
            
$newurlarr[$uk] = array($url,$ip[$uk],$port[$uk],$froot[$uk],$httpd[$uk]);
            
        }
        
            return
$newurlarr;
    }
    
    function
_Socket($infos)
    {
        
/*
        将_CatInfoToArray生成的数组一次进行Socket分析
        */
        
        
foreach ($infos as $k=>$info)
        {
            
/*
            开始创建多Socket线程
            */
            
            
$socket{$k} = socket_create(AF_INET, SOCK_STREAM, SOL_TCP); //创建Socket    
        
}
        
        foreach (
$infos as $k=>$info)
        {
            
            
$starttime{$k}  = _GetMicrotime();     //取得开始时间        
            
$result[$k] = @socket_connect($socket{$k}, $info[1], $info[2]);//发起连接
                        
            
if (!$result[$k])
            {
                
$rsl[$k]="链接超时";
            }
            else
            {            
                @
socket_write($socket{$k}, $info[4], strlen($info[4]));  //发送Http报头
                    
                
$out = @socket_read($socket{$k}, 20);  //读取返回,只读取50个字节的数据就行了
                
                
@socket_close($socket{$k}); // 关闭socket连接
                
                
$out = explode("\n",$out); //分离每一行
                    
                
$http = explode(" ",$out[0]);//第一行包含了报头是否存在的信息
                                
                
if($http[1]=="404")    //如果是404,就是不存在
                
{
                    
$rsl[$k]="无效链接";
                }
                else
                {
                    
$rsl[$k]="有效链接";
                }
            }
        
        
$runtime[$k] = _GetMicrotime() - $starttime{$k};  //计算探测时间
        
$socketarr[$k] = array($info[0],$rsl[$k],$runtime[$k]); //返回新的数组,包含了地址,探测结果,以及探测消耗时间
        
        
}    
        
        return  
$socketarr;        
    }
    
            
    function
_CheckLink($array)
    {
    
        
$a = _CatInfoToArray($array);
        
        
$b = _Socket($a);
        
        return
$b;
        
    }

    

/*-----------------------------开始使用吧------------------------------------------------*/    
    
    
echo "[链接探测器]<pre>";
    
    

    
$time_start = _GetMicrotime();

    
/*链接需要以数组的方式提交查询*/
    
$urlarr = array(
                        
"http://vwww.9466.com/1.htm",
                        
"http://www.baidu.com",
                        
"http://www.sina.com.cn/3.htm",
                        
"http://www.google.com/4.htm"
                    
);    

    echo
"OK,我们来打印一下查询到的信息吧<br>";
                    
    
print_r(_CheckLink($urlarr));   //打印查询的信息,是一个数组哦]    

    
$time_end = _GetMicrotime();
    
    echo
"页面执行时间 ";
    
    echo
$time_end-$time_start;
    
    
    
?>