Blog

新年新空间

2012年 1月 3日

今天更换了网站的空间,转到了个六人合租的vps上。

上图是新旧两个主机各ping 100次一轮,三轮的结果。

速度上差不多,但原空间总是会出现丢帧情况。

我试过问过客服,说是在备份,但基本一天24小时都会有这种情况。

一直没换是因为速度还不错,而且找不到更好的。

直到昨晚在wp版主群见到荒野无灯找人合租vps,我就决定换掉它。

——————————————  都焦了,割了吧  —————————————————————-

说下题外话,翻看近两年的日志,不对,应该叫月志才对。

我觉得我要保持一个月更新一篇文章已经很头痛,我常常都不知道应该写什么。

写博客,到底应该写什么。

技术的不会写,琐碎的懒得写,和谐的不能写,还有很多是不知道怎么写。

特别是现在微博横行的年代,将所有生活所见所闻所想的信息全都碎片化,更加难吐一篇长的文章出来。

作为一个正常的人类,过着正常的生活,我所能接触到的生活素材少得可怜。

而我又不想写出些类似“今天跑去街口的超市买了瓶酱油,TMD它又升价了”这样的文章,所以我觉得一个月更新一篇都很艰辛了。

算算,这个月连上一篇已经更新了两篇文章了,很好,如果下个月写不出,干脆将这篇的发表日期改成二月的好了。

 

CU2011

2012年 1月 1日

我已经忘了2001的前半年是怎么过的了,印像中就是单调的日复一日重复上班下班打机睡觉。

直到六月。

六月辞掉了广州的工作,回香港准备工作。用我爸的话就是:你该玩够了。

不,玩怎么会这么容易够,所以我趁着未开始新工作前,跑了去西藏玩。

八月份在香港一间公司工作,主要是写一个内部生产流程管理系统,用了三个月时间完成,然后因为各种各样的原因,辞职再次失业。

一个月后在另一间公司上班,而这次工作只持续了三天。

主要是因为技术上的问题,我直接请了长假,回家看书学习到现在。

尽管2011年世界上发生了很多很多各种各样精彩不精彩狗血不狗血的事,但对我来说,我的2011就只有上面那些。

各位新年快乐!

 

香港勞工處網頁資料提取

2011年 12月 21日

最近准备找工作,有一个需求:我希望我在劳工处看中某个工作时,只要输入这个工作的id之类的,然后程序就自动帮我生成应征邮件,寄出,再将工作的资料储存到数据库方便以后查看。

为什么我有这样的需求?因为懒。

众所周知,应征邮件是有模板的,需要替换的也就职业公司之类的,所以程序绝对可以自动完成。

难就难在提取工作资料这里。

下面是劳工处的工作职位列表:

http://www1.jobs.gov.hk/1/0/webform/jobseeker/jobsearch/quickview.aspx?ResetTimeStamp=true&SearchFor=jobtype&id=5

而我需要的是右下角部分的内容。

查看源码:

是用f_getJobCard()这个js函数来获取内容。里面的一串字符应该就是每个工作职位的id之类的。

然后再查看js文件。

jobcard_20110624.js里的f_getJobCard函数。

25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
function f_getJobCard(p_ordNo) {
    var v_random = Math.floor(Math.random() * 5);
    var v_liveOnly = true;
 
    if (g_jobCardInPrintMode == false) {
        v_liveOnly = f_getQueryString("live");
    }
 
    switch (v_random) {
        case 0:
            { g_quickviewWS = '/1/0/WebServices/QuickviewWS.asmx'; break; }
        case 1:
            { g_quickviewWS = '/1/0/WebServices/Quickview1WS.asmx'; break; }
        case 2:
            { g_quickviewWS = '/1/0/WebServices/Quickview2WS.asmx'; break; }
        case 3:
            { g_quickviewWS = '/1/0/WebServices/Quickview3WS.asmx'; break; }
        default:
            { g_quickviewWS = '/1/0/WebServices/Quickview4WS.asmx'; break; }
    }
 
    $.ajax({
        type: "POST",
        async: false,
        url: g_quickviewWS + "/F_GetJobCardDetail",
        contentType: "application/json; charset=utf-8",
        data: "{p_ordNo:'" + p_ordNo + "',p_langOpt: '" + g_langOpt + "',p_liveOnly: '" + v_liveOnly + "'}",
        dataType: "json",
        success: f_getJobCard_Succeeded,
        error: function(xhr, ajaxOptions, thrownError) {
            //            alert(xhr.status);
            //            alert(thrownError);
 
            if (g_jobCardInPrintMode == false) {
                $('#' + g_ies_uxErrMsg_id).show();
                $('#' + g_ies_uxJobCardArea_id).hide();
                $('#' + g_ies_uxJobCardPt2Note_id).hide();
            }
        }
    });
 
}

我看不明白上面为什么请求地址用random来决定,负载均衡?不过算了,反正用那个也行。知道url和请求的数据格式,就可以用curl来取数据了。

我是用codeigniter的一个curl库来写的,不过大致意思差不多,片断如下:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
	/**
   	* Get jobcard information 
   	*
   	* @access  public
   	* @param string
   	* @return  array
   	*/
	function get_jobcard( $jobcard = '')
	{
		$url = 'http://www1.jobs.gov.hk/1/0/WebServices/Quickview4WS.asmx/F_GetJobCardDetail';
		$this->curl->open();
		$headers = array
		(
	  		'Content-Type: application/json; charset=utf-8'
		);
		$postfields = '{p_ordNo:"' . $jobcard . '",p_langOpt:"2",p_liveOnly:"ture"}';
		$content = $this->curl->http_post($url, $postfields, $headers);
		$this->curl->close();
		//var_dump($content);
		$obj = json_decode($content);
		return  $obj->{'d'};
	}

注意post的数据要是json格式,其中$jobcard就是id之类的一串的字符,ajax返回的是json格式的数据,函数里转换成了数组。

var_dump返回的数据如下

1
object(stdClass)#16 (1) { ["d"]=> array(20) { [0]=> string(17) "36-11-0015574 CM " [1]=> string(10) "20/12/2011" [2]=> string(15) "電腦技術員" [3]=> string(9) "零售業" [4]=> string(38) "黃金電腦速遞(香港)有限公司" [5]=> string(9) "天水圍" [6]=> string(61) "提供客戶電腦維修服務,協助店舖電腦零售服務" [7]=> string(60) "中三程度; 一般粵語; 懂讀寫中文; 懂電腦維修" [8]=> string(72) "每月$8,000 - $9,000, 上午11時至下午9時, 每週工作6天,輪休" [9]=> string(175) "求職者請親臨觀塘開源道68號觀塘廣場M樓18號舖黃金電腦速遞(香港)有限公司面試。查詢請致電與陳先生(96816007)/余小姐(96816004)聯絡。" [10]=> string(1) "-" [11]=> string(4371) "如何應徵?空缺咭上有僱主的聯絡資料..." [12]=> string(1) "1" [13]=> string(2) "-1" [14]=> string(1) "N" [15]=> string(4) "8000" [16]=> string(1) "0" [17]=> string(4) "1300" [18]=> string(10) "20/12/2011" [19]=> string(32) "czk0VEJNZy96M1ZuL2ttYVdsZ2Zqdz09" } }

数据取出来之后,之后…之后你想怎样就怎样了,发email和存入数据库那里不说了。

也就是说,我只要将看中的工作的类似id的字符串输入程序,然后就可以自动生成了邮件连同简历帮我发送出去,再将工作的资料储存在数据库中方便以后查看。

一键式搞掂。