一、从这里开始
毕业有两年多了,我从一家公司跳槽到另一家公司,期间接触过几个系统,在这些系统中有很多优秀的设计,也有很多坑,填的坑多了就有经验啦,所以2016年5月21日我在码云上创建了“小云工作室”项目,计划将学到的技术都融合进去。
2017年1月22日项目迎来第100次提交,版本号提升到0.4.1,系统基本框架搭建完成,所以写篇博客纪念一下。
二、如何坚持写代码
下图是码云上的贡献度,图中每个方块表示一天,有颜色的方块表示当天提交过代码,可以看出我提交代码比较频繁,这都是下班后写的!
要想坚持一件事,首先应该有兴趣 :我每天看漫画、玩崩坏学园、写代码,我喜欢它们,所以能坚持下去
然后是要有时间和精力:我每天下班就走人,很少加班,回家后有时间做喜欢的事,要是每天加班到11点的话,肯定回家马上躺床上睡觉去了,哪里还有心情学习啊
另外为了运行这个项目,我买了一个域名和一个服务器,想到自己花了这些钱,不做点什么的话,就亏大了
三、这些功能已经做好了
虽然现在刚把系统框架搭建好,但是以下列出的功能已经实现了:
1.权限控制:使用shiro实现,控制粒度精细到每个web api,管理员可以在管理控制台给用户、角色赋予权限
2.rest风格的web api:使用spring mvc实现,根据http方法决定增、删、改、查,返回值支持json和xml,请求成功或失败会返回相应的http响应码,成功是2xx,失败是4xx或者5xx , 查看控制器源码
//js代码示例,功能是删除角色拥有的部分权限 $.ajax({ type:'delete', //表示删除 url:'../../v1/role/'+roleId+'/permission', //rest风格的url data:{format:‘json’,permissionId:JSON.stringify(permissionId)}, //format参数表示输入参数和返回值都是json格式 success:function (data) { //删除成功的话,响应码为200 toastr.success("修改成功"); //提示信息 },error:function (data) { //删除失败的话,响应码为4xx或者5xx if (data.responseJSON && data.responseJSON.error) { //json格式的错误信息 toastr.error(data.responseJSON.error.message); }else{ //未知错误 toastr.error("系统错误,请稍后重试"); } } });
3.事件驱动:使用reactor实现
4.office转换为pdf(查看源码),office转换为html(查看源码,在线演示)
四、以后的计划
1.作为项目主页,展示本项目相关的信息,大概需要半年时间
2.作为个人博客,展示个人的文章,大概需要一年时间
3.如果市场反映好,个人博客扩展为公共的博客网站
4.作为信息交易平台,把信息作为商品来交易(想想而且,别当真)
五、喜欢就点个赞吧
项目源码:http://git.oschina.net/xiaoyun_studio/xiaoyun-studio
项目主页:https://www.xiaoyun.studio