推荐系统Easyrec学习日记--2015/02/14



今天情人节,一个人在家写代码真是太励志了,好了进入正题,最近真是太懒了,要坚持写文档三十年不动摇啊。。。

       前几天主要学习了服务器建设,数据库等方面的内容,昨晚按照官方的安装文档(InstallationGuide - Easyrec Wiki)折腾了一天,重装了两次,终于在我的PC上成功运行tomcat+mysql+easyrec,但由于不懂JavaScriptHTML等方面的知识,挣扎了一个晚上也没能把系统返回的json数据在网页上解析出来,于是曲线救国,用新学的swift语言开发一个小小的IOS应用来解析json数据。

      

       插播①:IOS应用是在虚拟机上的Mac OS 上开发的,那么问题来了,在虚拟机上如何访问我们的localhost呢?

       只要把localhost改为主机IP即可,如:http://192.168.1.177:8090/

         插播②:即使改成http://192.168.1.177:8090/在虚拟机还是无法访问怎么办?

       先在控制台用ping命令 ping 192.168.1.177 看看有木有连上,连上的话,一般都是主机防火墙的问题了,把防火墙关了就能访问8090(你的可能是8080)端口,关了防火墙当然不安全,这时候你可以为防火墙添加规则来开放8090端口,具体操作百度一下http://jingyan.baidu.com/article/e9fb46e19ff8137521f7660c.html

 

       插播完我们接着回来,今早起来看了很多示例,才大概把JavaScriptHTML搞懂一点点,能成功在网页上解析json数据并显示出来。网页代码如下:

       <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0Transitional//EN""http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">

<htmlxmlns="http://www.w3.org/1999/xhtml">

<head>

<metahttp-equiv="Content-Type" content="text/html;charset=utf-8" />

<title>firstTry</title>

<scriptsrc="http://apps.bdimg.com/libs/jquery/1.8.3/jquery.js"></script>

</head>

 

<body>

<divid="recommendation"></div>

<scriptlanguage="javaScript">

$(function(){         

 $.getJSON(

                            "/easyrec-web/api/1.0/json/otherusersalsoviewed?apikey=51ae582aaeda938a57b697d17a02f84e&tenantid=EASYREC_DEMO&itemid=44",

                     function(transport) {

                            var json = eval(transport);

                            var items = json.recommendeditems.item;

                            if( "undefined" ==typeof(items.length) ) {

                                   items = new Array(items);

                            }

                            if (items.length>0) {

                                   $("#recommendation").html("<divclass='headline'>Other users also viewed...</div>");

                                   for (x=0;x<5 && x<items.length;x++) {

                                   $("#recommendation").append(

                                   "<img width='50px'alt='" + items[x].description + "'"+

                                   " src='" +items[x].imageUrl + "'/>&nbsp;"+

                                   "<a href='" +items[x].url + "'>"

                                   + items[x].description +

                                   "</a>" +

                                   "<br/>");

                                   }

                                  

                            }

                     }

              );

       });

</script>

</body>

</html>

 

插播③:<head></head>标签里面要引用这个

<scriptsrc="http://apps.bdimg.com/libs/jquery/1.8.3/jquery.js"></script>好像是百度什么什么的,应该是个工具库来的,要这个才能解析json

 

插播④:找到的模板是如下,关键是应用上面说的js,对于body里面的内容,应该先定义一个ID(是叫定义吗?没学过js…,再运行下面的js代码,这样就能给上面的ID赋值(是叫赋值吗?好吧,以后会好好学js的),至于具体的$符号的用法,建议百度,今早查文档学得只是皮毛,不敢分享。在Dreamweaver里面引用JS时,在JS代码区间打出符号$后,加个.或者(就能看到$可调用的方法,上面的代码主要涉及水平有限,只能帮到这了。

 

<!DOCTYPE html PUBLIC"-//W3C//DTD XHTML 1.0 Transitional//EN""http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">

<htmlxmlns="http://www.w3.org/1999/xhtml">

<head>     

       <scriptsrc="http://apps.bdimg.com/libs/jquery/1.8.3/jquery.js"></script>     

</head>

<body>

<divid="divCustomers"></div>

<script>

$.getJSON("http://m.w3cschool.cc/try/ajax/jsonp.php?jsoncallback=?",function(data) {

      

       var html = '<ul>';

       for(var i = 0; i < data.length; i++)

       {

              html += '<li>' + data[i] + '</li>';

       }

       html += '</ul>';

      

       $('#divCustomers').html(html);

});

</script>

</body>

 

</html>

 

插播⑤:这个网页编写完成后呢,请放在你本地服务器所在的文件夹如D:\Easyrec\apache-tomcat-6.0.43\webappswebapps是根目录,在这里新建一个文件夹放进去即可,如新建一个tryEveryAPI文件夹,然后在浏览器里输入地址即可,如:http://localhost:8090/tryEveryAPI/刚刚那个网页名.html

 

晚上没有约会,只好上Easyrec官网继续学习。

之前的blog提过有三种调用方式,下面是两种,还有一种插件的迟些再学习

JS API调用:

http://easyrec.sourceforge.net/wiki/index.php/JavaScript_API_v0.98

 

Reset API 调用:

http://easyrec.sourceforge.net/wiki/index.php/REST_API_v0.98

 

哈哈,先试的JS API,看起来很简单,结果,调用之后在Easyrec的管理界面没有看到变化,难道是一天才更新一次数据的?时间也不早了,留着明天再折腾吧。

万事开头难,继续加油就好。

最后感谢一下zhangxinrun_业余erlang,里面解析的代码和第一次尝试API的调用参考了他的blog

http://blog.csdn.net/zhangxinrun/article/details/7554794 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值