liferay 6.0.5 开发环境的搭建

最近在玩liferay,非常赞的一个门户搭建工具。不仅提供了开发工具包,和服务器的捆绑包,论坛和文档的质量也都非常高,最重要地是还有非常多的插件支持。绝对是开发Portlet上佳选择。

记性不好,记下来,说不定啥时候就要用到了。

前提

安装Java JDK 1.5+.

1)下载安装文件

liferay-portal-tomcat-6.0.5.zip捆绑了liferay和tomcat,让你不用省心不少的体贴服务。

liferay-plugins-sdk-6.0.5.zip用于开发liferay plugin的SDK。

liferay-ide-eclipse-updatesite-….zipEclipse 插件,功能强大的liferay plugin开发工具包。

2)在本地解压缩
我个人喜欢把所有相关的安装文件都放在一个目录下。

mkdir liferay
unzip liferay-portal-tomcat-6.0.5.zip
unzip liferay-plugins-sdk-6.0.5.zip

3)开发工具包的安装
使用的是Eclipse 3.5,低版本的请相应查找安装方法。
3.1)安装liferay插件
Install New Software -> Add -> Archive ( 选择liferay-ide-eclipse-updatesite-1.1.0.zip)->逐步安装。
3.2)设置liferay SDK
Preference -> Liferay -> Installed SDKs -> Add (选择liferay-plugins-sdk-6.0.5.zip的解压缩文件夹位置)。
3.3)设置liferay服务器
Preference -> Server -> Runtime -> Add -> Server Type ( Liferay v6.0) -> 选择liferay-portal-tomcat-6.0.5.zip皆压缩位置。
3.4)重启一下。
开发工具包就安装好了。感谢Eclipse强大的插件架构和liferay细心的服务。

4)测试使用
1)添加服务器
在Liferay的Perspective下,Servers -> New Server -> Liferay v6.0.
2)运行服务器
Liferay v6.0 -> Start
3)访问http://localhost:8080/
4)用test@liferay.com/test登录。

使用心得
Liferay Plugin Project 创建的时候会执行一些ant脚本。所以如果你需要使用版本管理的时候,个人建议不要check
in项目控制文件(.project, .classpath),这样你的同伴检出的时候可以通过创建新项目完成这些脚本的执行。避免不同步的现象发生。

参考文章
LifeRay安装配置开发环境全过程(一)
Eclipse – Liferay Wiki
【原创】Liferay Portal二次开发指南(总览)
Liferay Portal 6学习笔记3:Liferay IDE的安装使用

 

10个方法提高你的编程生产力zz

Tags:
1。一天最多阅读两次新闻 
信息爆炸的年代新闻数量多不胜数,不要阅读过多的新闻,我一般一天阅读两次新闻,早晨和下午各打开一次google reader,更多的新闻阅读将会严重降低工作效率。
2。给自己精心准备一个工作开始的起点
写程序一旦进入状态,毫无疑问效率是非常高的,脑子里面每个细胞似乎都在奋斗。但是如何快速进入完美的工作状态?我的经验是,每当我离开工作的时候,比如中午午餐时间前或者一天工作结束时候,我会故意遗留一个未完成小任务在我的程序里面。当我回来工作的时候,我能够迅速知道从哪里开始,专心致志解决完这个小任务,我的大脑差不多已经完成热身了,马上能够进入真正的工作。

3。用笔画出来,做好预先研究工作 
怎么说呢,就是脑子的想法尽可能的用笔画出来,形象化的图形能够很好的帮助你思考总结。
对于复杂的工作,预先做好研究工作,比如一个难度很大的算法程序,我会先搞懂最难的技术问题才开始写代码。

4。建立一个完美的工作环境 
大多数我们都是在公司工作,工作环境不能由我们决定,但是至少我们可以在自己家里弄一个完美的工作环境。我心目中好的工作环境包括:

a)一个大电脑显示器,一张大桌子
b)一个舒服的电脑椅
c)有益工作的背景音乐,这个因人而异
d)一套好的音响
e)阳光充足的窗口
f)大的开放的空间
g)安静,很少有人在旁边走动
h)和外界通风良好
i)房间是现代装饰风格

5。工作时间关掉IM工具 

不管什么理由,都要坚决关掉所有的IM工具

6。工作时间只回复和处理紧急邮件 
不要让邮件打断你的工作节奏,工作时间只回复和处理紧急邮件

7。减少开会,一周一次会议或者更少 
保持沟通效率高效,但不是更多的会议。减少开会,一周一次会议或者更少。

8。每两周参加一次社交活动 
程序员的生活是比较单调的,我所说的社交活动并不是和同事,工作伙伴之间的交流,也不是你依然坐在电脑桌前玩游戏。而是走出你的办公室,和你工作以外的朋友在一起交流,量身打造你自己的情感需求。

9。放松的夜晚 
没有比7×24小时连续工作更糟了。长时间处于兴奋和焦虑状态会极大影响你长期的工作效率。每天休息一段时间,散步,阅读,享受生活,你会发现你的创造力提高了。

10。每周3次,每次20分钟的体育运动
体育运动并不是浪费时间,定期的体育活动会让你精力更加充沛,头脑反映更加灵活。保持至少每周3次,每次20分钟的体育运动。

 

个人记帐系统客户需求v0.1

Tags:
电费    每月          150左右
水费    每两个月     40左右
煤气费 每三个月     100左右
宽带费 每月          150
固话    每月          40
手机费 每三个月     100
手机费 每月          70
停车费 每月          250
停车费 每月          180
饮用水 每两周       16
 

 

Wii Remote Programmable!!!

Tags:
一切都开始于两个让人惊艳的视频。
Tracking your fingers with the Wiimote, Low Cost Multi-point Interactive Whiteboards Using the Wiimote.
马上就把我吸引住了,"That’s the world!"
二话不说,周末马上试试看,动手搞。
 
敬爱的Lee同学竟然用的是Dotnet,5,6年没碰的东西了。 
.Net Framework, Visual Studio Express, DirectX SDK
结果天杀的我的bluetooth竟然连接不上Wii Remote.
原来Wii Remote不能验证PIN码,
而我的T60 Power User权限不够,不能跳过PIN配对,瞬间郁闷了。
更换了另外一个著名的Bluetooth Driver :BlueSoleil,可惜只能要花钱,否则只有5M传输容量,只好放弃。
 
Anyway,天无绝人之路,正好看到了Lee推荐的Java实现。
试试看吧,动手,尝试,我的风格.
感谢老天爷,赞美开源,Bluecove,Java的开源Bluetooth Driver,
不需要配对就可以连接到Bluetooth 设备了。
搭建Netbeans Project,Done!
运行,Bingo!!
连接Wii Remote, OK!!
连接IR Devices…ee……貌似没有。。。
网站上的制作方法忒诡异了,超市也买不到,无奈只好用遥控器试试看了。
不知道是我的Remote放置的位置不太好,
还是遥控器的红外线不够强,
连接后的覆盖范围总是一个狭小的三角形,
无法覆盖整个显示屏,让遥控器自如的控制鼠标。
无论如何,It Works!!
心里面那个激动啊。。。
 
有机会再接再厉吧,先这样了!!!

 

“Xiu’s to do list” 0.1RC (my first application of facebook )

前言
很早就想做facebook的应用了,但是苦于需要host,才一直没有动手.
直到前几个月花了几十块钱买了一个虚拟主机,这件事才被提上了议题,最后在six的帮助下才算是安了家.
 
创意
关于application的创意实在是一场的匮乏,最后考虑到自己是一个超级忘性很大的人,所以还是决定作To Do List,能够记录自己要做的事情,最好系统还能按时提醒.在后期考虑到facebook互动的特性,还增加了With Friends的Feature,可以记录都和那些朋友Schedule了Item.基本的创意的就是这么简单了.
 
技术
总的来说第一个application是对facebook平台技术的一个学习,包括它本身的技术FBML,FQL,以及平台开放模式,当然也希望探究一下facebook为何会如此的成功.
FQL
没有太多的探究,基本是Facebook基于用户私密性的一个信息获取解决方案.
FBML
还是属于比较稚嫩的一个标签语言,有一些非常强大,例如multi_friend_selector,有一些非常傻,例如fb:editor-date,,,还有一些会冲突,例如fb:dialog和fb:form…..
交互点
这是我觉得facebook在用户体验方面最成功的地方,也是这次我试验的最多的一个地方.主要包括了profile action ( profile页面中可以扩展的小窗口), profile box(profile页面中照片下面的小对话框),feed history(profile页面中右侧的历史纪录,也会在home中出现),notification (可以在用户登陆的时候看到的提示信息),request(facebook的站内邮件),email(只有注册了你的application才能用).通过这些功能,各个application可以紧密地和facebook这个平台整合在一起,完全就像facebook本身的一部分一样,超赞阿.
 
目前实现的功能
1To Do Item的查询,新增,删除
2To Do Item的完成
3To Do Item中添加选择好友的功能,可以在列表中察看
4邀请好友
5用户注册
6To Do Item的定时提醒
 
到目前为止的回顾,心得和总结
1网站风格
Facebook整体的网站风格我很喜欢,为了能让To Do List保持风格一致也着实让我费了一番功夫,主要是一些FBML的冲突导致不得不自己写控件,另外就是facebook本身没有很多标准的CSS风格.
2关于交互点
facebook的用户体验震得很不错,而其中很大的一部分就是我上面提到的各个交互点起到的作用(个人理解).每天我登陆facebook(/home.php),就会看到朋友们留下的Feeds.查看自己的Profile(/profile.php),就会看到我自己的box,action.各个application通过这些功能编制出整个facebook的用户体验,完全融入其中.创意在很赞.
3吸引用户
说实话Xiu’s To Do List还是挺失败的,到现在也就每周一个,两个新用户的样子,这还是我很无耻的到处宣扬,然后在facebook上拚命的散发Invitation的结果.不过想想也是,因为我自己用的还是igoogle的to do list, google的calander, MS的outlook都是功能超级强大,要想作出亮点我的To Do List还有很多东西要做.当然我很古值得觉得我的With Friends功能还是很有交互性的,下一步说不定会做一个Send Notification to Friends的功能.
不过话说回来,通过facebook我深刻的体会到创意远大于技术的观点.现在看看我自己添加的几个aplication,其中的技术点基本上我都可以做到,没有什么特别之处,心理测试啊,地理知识问答阿.关键还是在内容和创意上,据说Friends For Sale一天有1000万的访问量,我最近自己玩Owned也是不亦乐乎,不禁让我非常的汗颜,皑皑.
当然其中还涉及另外一个问题,如何推销自己.我有的时候会想.就算我的东西真的有亮点,就真的能吸引很多人么?也许不,因为他们根本不知道啊.该如何推销呢?难道就只能通过朋友们的互相散播么,,,,似乎国内的同学并不乐于这些application更加不要说传播了,这也只能是我的一个学习课题了.
4关于广告
做网站,要赚钱,当然要做广告.看国外的一些application基本上的ads都做得很好,,,,再看看自己,如何做,怎么操作基本没有一点思路.只有热情是没有办法做好事情的,这也是我需要学习的地方.
5关于PHP开发
这次的另外一个目的也是学习PHP开发,其中当然也有一些感受.PHP开发没有什么框架,这让我已开始非常难以适应.参考了facebook demo的例子以后,粗粗的划分成了data.php, display.php,略微有了点开发的感觉。
其中最大的感慨是动态语言对于集合的操作非常的方便,数据库直接映射到Hash,可以动态的增加属性,数组元素。虽然没有O/R Mapping的组件帮忙,还是非常的方便。
 
 
 

 

“Favorite Links” Kick Off (my second application of facebook )

xiu’s to do list, 遭遇惨败,至今也没有谁用,抑郁了...希望有空写一下总结.
不过我热爱facebook的心仍然不改,收拾心情,于是我的第二个facebook application — favorite links出发了.
 
Favorite Link
初衷
基本的想法就是在网上找一个可以存放收藏夹的地方.
然后借鉴facebook的互动性可以让朋友之间通过public 或者 private来share 好的网站地址.
或者给个价钱,或者评议个星之类的.
 
技术架构
Facebook + RFacebook + Heroku
RFacebook是基于Ruby on Rails的Facebook客户端.
Heroku是基于Ruby on Rails的免费虚拟主机,更加提供了非常cool的浏览器编辑器,很赞.
一直想学习一下Ruby on Rails, 又正好申请到了Heroku得主机,自然要合在一起玩一把.
 
目前解决的问题:
1)RFacebook , Rails 2.0
要兼容Rails2.0, RFacebook需要修改config/environment.rb的两处地方
config.action_controller.session_store = :active_record_store
config.action_controller.allow_forgery_protection = false
 
当然别忘了按照提示创建session table.
 
2)RFacebook的配置
主要遇到的问题是
facebook.yml中的两处配置
canvas_path: /favoritelink/
callback_path: /
这两处都是相对路径,之前写了全路经,就看到facebook, heroku之间一直来回forward.
 
 
 

 

Mysql阶段学习总结

Tags: ,

Mysql安装

由于Ubuntu的便利导致这部分非常缺失

Mysql数据库引擎

1)MyISAM

2)InnoDB

3)NDB..

4)Blackhole..

一台机器多个Mysql实例

1) 使用mysqld_multi对各个mysql实例进行启动,停止

2)配置my.cnf(详细见附录)

2.1)配置[mysqld_multi]

2.2)配置[mysqldN],如果需要配置成主服务器,则需要增加内存配置,log-bin,

Mysql主从同步配置

超级有用的东西.

官方网站上也提供了基于主从同步的一些切换solution,挺有帮助的.

1)主服务器my.cnf配置server-id, log-bin, 配置同步用用户(repl_slave权限)

2)从服务器my.cnf配置master信息,server-id

Mysql Load Balancer

很奇怪的一个新东西,官方网站上有介绍,找不到下载.,,,猜测是扩展mysql proxy的新东西

Mysql Cluster

按照官方说明不支持一台服务器上的多实例配置.由于物理条件限制只好大致了解了一下.

1)NDBM管理节点,管理各个NDB数据节点用,可以和Mysql节点放在一台机器上.

2)Mysql节点,Client通过它连接到Cluster, 通过NDBM获取Cluster的Data.

3)Data节点,组成Cluster,同步数据,由NDBM统一管理.

遗留问题:

1)从服务器log-slave-update的作用

2)phpmyadmin只能通过默认socket文件位置连接

3)现存数据库得主从服务器搭建.

4)不同数据库引擎的主从服务器搭建.

5)Cluster中,mysqld节点如何连接NDBM.

附录:

多个mysql实例以及mysql主从的配置

[mysqld_multi]
mysqld     = /usr/bin/mysqld_safe
mysqladmin = /usr/bin/mysqladmin
user       = multi_admin
password   = password

[mysqld2]
socket     = /var/run/mysqld/mysqld.sock
port       = 3306
pid-file   = /var/lib/mysql/hostname.pid
datadir    = /var/lib/mysql
language   = /usr/share/mysql/english
user       = mysql
log        =/var/lib/mysql/mysql.log
long_query_time = 2
key_buffer  = 16M
max_allowed_packet = 16M
thread_stack  = 128K
thread_cache_size = 8
query_cache_limit       = 1M
query_cache_size        = 16M
server-id = 1
log-bin=master-mysql-bin

[mysqld3]
socket     = /tmp/mysql.sock3
port       = 3308
pid-file   = /var/lib/mysql3/hostname.pid3
datadir    = /var/lib/mysql3
language   = /usr/share/mysql/english
user       = mysql

server-id = 2
master-host=localhost
master-port=3306
master-user=repl
master-password=repl
master-connect-retry=60

[mysqld4]
socket     = /tmp/mysql.sock4
port       = 3309
pid-file   = /var/lib/mysql4/hostname.pid4
datadir    = /var/lib/mysql4
language   = /usr/share/mysql/english
user       =mysql
 
[mysqld6]
socket     = /tmp/mysql.sock6
port       = 3311
pid-file   = /var/lib/mysql6/hostname.pid6
datadir    = /var/lib/mysql6
language   = /usr/share/mysql/english
user       = mysql

[client]
port  = 3308
socket  =  /tmp/mysql.sock3

 

Facebook Application “To Do List ” Schedule

Round 1(Finished)
Tech Learning
 Find the bugs for the integration of the fb:editor, fb:dialog
 
Round 2(Finished)
To Do List ( CRD )
Invitation
Finished Items
 
Round 3

Updating the user Profile action(Finished)

Updating the user Profile box(Finished)
Notification(Finished)
Feed History(Finished)
Validation   
Installation(Finished)
TODO: Feed Limited, nofification effectd
 
Round 4
With Friends
Cron job, Timing 
Notify the user, email or notification
 
Round 5

Custimzed Timing

 

无觅相关文章插件,快速提升流量