推荐系统Easyrec学习日记--2015/02/14
2015-02-15 01:04
127 查看
今天情人节,一个人在家写代码真是太励志了,好了进入正题,最近真是太懒了,要坚持写文档三十年不动摇啊。。。
前几天主要学习了服务器建设,数据库等方面的内容,昨晚按照官方的安装文档(InstallationGuide
- Easyrec Wiki)折腾了一天,重装了两次,终于在我的PC上成功运行tomcat+mysql+easyrec,但由于不懂JavaScript,HTML等方面的知识,挣扎了一个晚上也没能把系统返回的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。
插播完我们接着回来,今早起来看了很多示例,才大概把JavaScript、HTML搞懂一点点,能成功在网页上解析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 + "'/> "+
"<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\webapps,webapps是根目录,在这里新建一个文件夹放进去即可,如新建一个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
今天情人节,一个人在家写代码真是太励志了,好了进入正题,最近真是太懒了,要坚持写文档三十年不动摇啊。。。
前几天主要学习了服务器建设,数据库等方面的内容,昨晚按照官方的安装文档(InstallationGuide
- Easyrec Wiki)折腾了一天,重装了两次,终于在我的PC上成功运行tomcat+mysql+easyrec,但由于不懂JavaScript,HTML等方面的知识,挣扎了一个晚上也没能把系统返回的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。
插播完我们接着回来,今早起来看了很多示例,才大概把JavaScript、HTML搞懂一点点,能成功在网页上解析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 + "'/> "+
"<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\webapps,webapps是根目录,在这里新建一个文件夹放进去即可,如新建一个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
相关文章推荐
- 动态模版系统/引擎(开源)推荐
- 嵌入式系统好书推荐
- 【蛙蛙推荐】:由改进一个老旧系统想到的
- 文章推荐系统(二)
- 如何在苹果机上安装MAC系统 推荐
- java Blog系统推荐-roller
- 文章推荐系统(二)
- 文章推荐系统(三)
- 蛙蛙推荐:偶做的用户管理系统
- 推荐一个非常不错的.NET系统--C1协同平台
- [导入][链接] 推荐一个Windows下面的免费系统工具站点 - Sysinternals.com
- VS.NET环境下实现日志系统的几种方式 推荐
- 推荐几张系统维护光盘
- [温润推荐]计算机系统集成项目管理
- WindowsNT/2K/XP/2K3系统实用工具集【推荐】
- 真诚推荐:我写的免疫32种如3721、百度垃圾组件的系统工具! (摘自博客园)
- CDP技术——系统安全的更深层保护方法 推荐
- ZFS大大提高文件系统的稳定性 推荐
- 推荐几个Windows嵌入式系统的开源项目