Loading...
My Blog 我的工作和学习笔记

ImEthan CMS练习项目

ImEthan项目 2016/08/15

有一段时间没有坐下来认真的写一个功能模块了,深深的陷入了项目管理的泥潭,作为一名优秀的软件工程师怎么能不写代码呢?所以起了一个CMS练习项目,规划设计下功能,进行UI选型,着手做架构设计,练练手并且完成它。


第一步:UI选型

基于bootstrap开源UI

https://www.almsaeedstudio.com/blog/new-and-free-bootstrap-admin-template-2016


未完待续~


ImEthanAdmin权限系统介绍

ImEthan项目 2015/12/25 ImEthan

基于JAVA开发的企业级项目通用权限框架

1、使用Spring作为项目基础框架,使用Spring MVC实现视图控制,整合Spring security权限框架

依据IOC容器,实现bean类的依赖注入;实现用户登录、授权、记住我、会话并发等功能

2、数据持久层使用Hibernate ORM框架

实现快速分页、检索、更新、删除等功能

3、使用sitemesh2作为页面装饰框架

4、该项目还整合了如下开源架构

Spring data mongo、Spring data jpa、log4j2、quartz、ehcache等


主要功能

用户管理、角色管理、菜单管理、授权管理


其他说明

使用gradle构建项目、基于JDK1.7、Servlet 3.0


GitHub开放源代码地址:https://github.com/ethanwong/imethan-admin

ImEthan独立博客介绍

ImEthan项目 2015/12/18 ImEthan

ImEthan独立博客介绍开篇

    我的大学时代,那时国内的微博和轻博客都还没出生,博客还是一个非常时髦的东西,很多人都有;我也有在各种网站注册了各种的博客,但是无一一个有认真维护的;原因是我想自己开发一个博客,理由是自己开发的博客想要怎样的功能都可以自己开发定制,而且不带各种让人厌烦的广告,但是由于当时的云服务技术并没有现在这样发展的这么好,所以昂贵的服务器一直是阻碍我架设自己独立博客的绊脚石;有了这个绊脚石存在,我就没有开始着手独立博客的开发,但是心里还是默默的惦记的建立自己独立博客的这件事情。

    到了2014年,是我大学毕业的第三个年头,开始考虑自己的职业生涯和技能沉淀,重新萌生了经营自己“品牌”的念想,也对自己这些年的职业技能做一个梳理和整理,所以开始注册域名“imethan.cn”,开始开发“ImEthan”独立博客,开始的时候域名没有备案,服务托管在亚马逊的AWS服务器,到2015年才正式备案了域名,于是将服务迁移至百度BAE云服务至今,“ImEthan”博客的内容以及功能也持续在更新和升级。


首先来说下我的英文名“Ethan Wong”

    这个英文名字是2009年夏天在大学宿舍自己取的,“Ethan”和中文名发音相似,也有顶天立地男子汉的意思,“Wong”是中文姓黄的意思;因为大学毕业了以后就确定自己以后将投入到无限的IT事业中了,而从事IT是免不了和英文打交道的,在编程、设计甚至于文件夹的命名都需要有一个合适的命名,再者在编程界,有一个问题是摧残了一代又一代的IT人,那就是中文乱码问题,再有一个应该是当时已经有了一些品牌意识,想塑造自己的品牌,当时Adobe Photoshop技术学习的还不赖,还设计了如下logo:

   

备注:图片文件存在的七牛云存储上:http://www.qiniu.com/


再来说说域名“imethan.cn”

    ImEthanBlog的域名是“imethan.cn,意思是“I am ethan ”,“ethan”是我的英文名称,上个段落已经有做说明了;该域名于2014年3月在原万网,现在是阿里巴巴通信技术(北京)有限公司注册的,也不是一开始就把注册名称定为“imethan.cn”,而是考虑了很多,翻阅了一些域名注册的资料,甚至考虑键盘输入的便捷性等。域名注册之初,当时的域名备案还仍然比较麻烦,一直到今年的下半年,借助百度的域名备案系统成功了将域名备案,至此,“imethan.cn”可以合法指向国内服务器。


LOGO图标说明

    ImEthanBlog使用的logo图标是一个大写的英文字符“E”,Ethan的第一个字母,背景为简约蓝,字体为白色,简约是我一直追求的设计的风格,制作的LOGO图标如下:


功能模块介绍

    说到博客的功能,最早要从学生时代的课程设计说起,学生时代的课程设计我总共做过2个博客,一个是单用户博客,一个多用户博客,也算了有一定的需求调研基础,博客系统其实是一个CMS系统,但是ImEthan我并没有把它单纯的做成是一个博客,而是做成我个人的知识管理门户,包括的职业技能积累、我的TODO事项以及我个人简历的维护。

  1. Home:首页或者引导页,设置了几个快捷访问的入口和云标签的展现

  2. Blog:博客文章模块,ImEthan的所有干货都在这里

  3. Todo:我的TODO列表,记录我的待办事项,包括技能学习等等的事项都记录在上面

  4. Contact:联系我模块,该模块和我邮件连接,留言后消息可自动发送至我的邮箱

  5. GitHub:这里是我GitHub主页的链接,我的开放源代码都发布在上面

  6. About:个人简历展示模块,正常情况下,我会将简历详情隐藏,待到派上用场的时候再设置公开

 

开发时间说明

    博客从2014年3月份开始着手准备开发的,是从UI选型、项目架构开始的,然后中间因为工作很忙的原因,中断过好几次,所有的功能都是陆陆续续开发完成的。   


技术架构和开源介绍

    在ImEthan上线之初就写过一篇类似的文章,该篇文章的编写算是补充吧,关于技术和开源说明请看这篇文章:

    Learn more 关于ImEthan这个网站

    

     发个表情,再接再厉

ImEthanAdmin项目后台模板选型

ImEthan项目 2015/12/18 ImEthan

晚上开始调研后台模板的使用选型,最终选中“AdminLte” https://www.almsaeedstudio.com/

Learn more 关于ImEthan这个网站

ImEthan项目 2014/12/25 ImEthan

写在前面的话

    2006年开始学习计算机知识,2011年开始参加工作实践,时至今日,已经累计了5年的基础知识,以及将近4年的实际生产经验;在移动互联盛行的今天,大数据时代已经早早到来了,看看自身外部环境和内部环境的变化,在2014的这个年度里面,我都特别的希望去拥抱变化;古人说:“工欲善其事,必先利其器”,为了更好去面对接下来遇到的机遇和挑战,急需对过去的知识进行一次整理以及管理,所以就有了这个小站的开发,以此作为一个新的起点,展望下未来。


开源说明

    本小站项目开放源代码,代码托管在GitHub上,欢迎下载。GitHub访问地址:https://github.com/ethanwong/imethan-blog


开发环境

  1. IDE使用Spring tool suite,简称“STS”,是Spring自行定制的Eclispe,好用,为它点个赞。

  2. 使用自动化工具Gradle作为项目的构建工具,Gradle为类似Maven类的构建工具,比Maven简洁。

  3. 本地开发调试使用的是Jetty 6,生产环境使用的是Tomcat 7。

  4. 在Windows NT环境下开发,部署于Linux环境。

  5. 数据库使用的是MySQL 5。

  6. JDK版本为1.7。


技术架构

  1. 使用Spring作为IOC容器,实现AOP功能,并且整合项目中用到的其他开源框架,例如:Apache shiro,Hibernate等。

  2. 使用Spring data jpa作为数据库持久层规范,底层实现采用的是Hibernate框架,Hibernate是一个轻量级的ORM框架。

  3. 使用Spring MVC框架,开始使用了Spring MVC后才发现,Struts2是那么的“厚重”。

  4. 使用Apache shiro作为权限框架,Apache shiro相对会比Spring Security简单,Spring Security功能更加强大

  5. 为了减少页面开发代码的冗余,还引入了SiteMesh装饰框架,简单易用,提高开发效率。

  6. 前端页面展现使用了Bootstrap开源框架,做出来效果简洁大方,节省了大量的时间。

  7. 页面交互使用了较多的Ajax交互,页面渲染性能不是很高,后期学习了NodeJs后再来完善。

  8. Jquery插件是使用如下:

  • 富文本编辑器,即此刻编写这边文章在用的编辑器使用的百度前端开发团队的UEditor。
  • 图片上传插件,使用的也是百度前端开发团队的webuploader。
  • “Blog”模块的下拉滚动插件使用的是jquery.infinitescroll.js
  • 文章阅读更多使用的插件是readmore.js
  • 树形展现插件使用的是国产的Ztree。


其他说明

   本人的英文水平仅限于阅读开源社区的英文文档,小站的大多数地方使用了英文,仅仅是因为英文的排版比中文好看,如果有错误,或者错别字,欢迎指正,谢谢。