spring boot V部落 V人事项目
公司倒闭 1 年多了,而我在公司倒闭时候做的开源项目,最近却上了 GitHub Trending,看着这个数据,真是不胜唏嘘。
缘起
2017 年 11 月份的时候,松哥所在的公司因为经营不善要关门了,关门的是深圳分公司,北京总部还在正常运转。
然后就是北京那边来人,和深圳的员工挨个谈话,谈裁员和赔偿,公司制度还算完善,都按照劳动合同法走,有的同事担心公司最后不按劳动合同法走,因此觉得先拿钱先走比价划算。我当时主要考虑到两个原因,并不着急走:
- 公司毕竟是香港上市公司,跑的了和尚跑不了庙,深圳关门了,北京那边还在运转,所以我不太担心公司赖账的事。
- 年底工作不好找,11 月拿赔偿走人,还有俩月才过年,这个时候不太容易拿到满意的 offer,很多公司年底都关闭 HC 了。
基于上面两点考虑,我当时并不急着走人,当公司说还需要有人留下来善后一直到 2018 年 1 月 31 号的时候,我就争取了下,然后就给留下来了。
留下来后并没有太多事情要做。划水划了一周,同事在楼下叫我:“老王下来聊天”,于是下楼跟他们吹吹牛,虽然吹牛,不过大多数时候还是在筹划来年找工作的事,不过我觉得这样没什么用,与其天天规划,不如来点实实在在的东西,为来年找工作积累一点筹码。
第一次尝试
心里想着手上就开始行动了,技术栈就选择当时最流行的 Spring Boot + Vue 前后端分离,业务就打算先做一个简单的博客试试水,博客的业务比较简单,做起来快,于是,V部落项目就诞生了:
一个简单的博客后台管理,集成了博客编辑、发表、排版引入了 md 编辑器,博客的分类展示等,记得不到一周时间就弄完了,毕竟还是非常容易的。
V 部落项目发布后,我认认真真的写了一个介绍的 README,README 和我以前的开源项目一样,就是展示了一下项目的效果图,然后说了下要如何部署运行就完了。虽然自我感觉良好,但是并没有引起太多人关注。
在为数不多的几个关注中,我发现小伙伴在运行项目时候总是会遇到各种各样的问题,很多人多前后端分离的这种开发方式非常陌生,很多后端工程师甚至不懂,没听说过前端工程化,很多小伙伴在 GitHub 上提了很多非常简单的 issue,他们在部署V 部落项目时老是出错。
另一方面,由于博客项目比较简单,Vue 中很多高级功能没用上,例如状态管理,还有前后端分离时的动态权限管理,这些都没有体现出来。再加上当时才是 12 月,离过年还早着,我心想着再做一个业务复杂点的,然后把这些之前没用到的技能点都给用上。于是就有了微人事项目,这也是我们今天的主角,上了 6 月份 GitHub Trending。
微人事
微人事项目,我就吸取 V 部落的经验,没有等项目完全发布后再上传到 GitHub 上,而是边做变更新,每做完一个功能,就写一个文档,把实现的思路,代码的原理等都记录下来,然后在打一个 tag ,发布到 GitHub 上,这样,即使是一些新手,跟着文档,也能完全做出来。
这是当时的一些提交记录:
基本上每隔一两天就能完成一个新功能,然后就提交一次,这样的更新频率一直持续到 2018 年 1 月 20 之前,1 月 21 号女票从昆士兰大学访学回来,陪她在深圳玩了几天,然后把女票送回家,耽搁了好几天没更新。
到了 1 月 31 号,公司正式关门,我也就回家了,先去了女票家,在她家里呆了十多天,顺便完成了用 WebSocket 实现在线聊天的功能,提交了两个版本。
下面这两个是在女票家里提交的:
这两次提交之后,差不多就回家过年了,我家在岭上没有网,因此过年期间就没再继续做这个项目了,年后从家里到深圳的当天就拿到 offer 了,上班后就比较忙了,这个项目也就更新的慢了,没有再提交比较大的版本了,主要是一些修修补补的操作。
ALL IN
现在不是流行一个词叫做 all in
,用来形容我当时的状态再贴切不过了。
兴趣来了,谁都拦不住。那一段时间晚上经常在家里搞到一两点,第二天正常上班。记得那一年平安夜那天是周日,我早上依然按时起床去了公司,因为当天我的 V 部落项目就要收尾了,在公司里搞到晚上 9 点多,终于弄完了,第二天就可以发布了。然后收拾东西,骑着摩拜从科兴科学园那里出发,先走北环大道,然后再下到大沙河边上,沿着大沙河骑到西丽大学城,因为是平安夜,一路上都没什么行人,到家后还没吃饭,去楼下的餐厅随便吃点,店主一家人正在准备他们的平安夜饭,见有客人,抽出一个人给我弄了一碗面,然后我就独自边玩手机边吃饭,他们一家人围在旁边的桌子上吃他们的平安夜饭,这种感觉很奇怪,孤独又充实。
吃完回到宿舍,和女票视频,心理盘算着女票再过 20 多天就从昆士兰回来了,慢慢就睡着了,第二天到公司,我的 V 部落项目就正式上线了。
当你沉迷于一件事情的时候,效率非常高。
那段时间,我每天骑车上下班,一边骑着自行车,心里就在想着这个功能要怎么做更好,那个功能得怎么样实现,一路上就这样不断的规划着,到了公司,放下书包,就赶紧打开电脑挨个试验路上的各种想法,做出来了就很开心,在已经没有几个人的公司走走转转休息下,然后继续坐下 coding。
有一个周末去公司做这两个开源项目的时候,中午去吃饭,两只狗懒洋洋的躺在马路中间晒太阳,我甚至有点羡慕(下图拍摄于南山科兴科学园附近,我吃饭喜欢走远一点,多溜达溜达,不知不觉就溜达到工地了,见到这么惬意一幕,冬天的太阳,真的舒服)。
项目在 GitHub 上开源之后,有好几位小伙伴发邮件希望能在毕设中引用这个项目,记得有一位是国内高校 top20 的研究生,我当时又诧异又激动。后来也有好几个小伙伴加松哥微信表示想将这个项目作为脚手架用在公司的项目中,虽然没能亲眼见见小伙伴的项目,但是想到自己的项目帮到了这么多人,还是挺开心的。
这两个开源项目也带给我不少收获,技术上的提升+认识很多优秀的小伙伴,并且因此还出了一本书,也算是收获满满吧。
上榜
前两天有个小伙伴发消息说是看到我的项目出现 GitHub Trending 上了,我点开看了下,果然是的。
我是在 2013 年 11 月份注册的 GitHub,但是很长一段时间都没啥活动,后来也断断续续做过几个开源项目,但是都没啥动静,我总结其中一个原因可能也是因为我没好好对待项目,README 只是随便写写,读者一般很难上手项目,从微人事开始,我懂得了,你想要让别人重视你的项目,你首先得自己重视自己的项目。
这里再向大家安利一波这个开源项目微人事,这是一个使用了 Spring Boot + Vue 开发的前后端分离的人力资源管理系统,有一个非常完整的文档:
项目地址:https://github.com/lenve/vhr
欢迎大家点击阅读原文查看本项目。
其他
另外再给大家一个小小建议,如果你是初次接触前后端分离,可以先看 V 部落项目,这个项目不论从技术点还是业务上来说,都要比微人事简单, V 部落搞懂之后,再来学习微人事就会容易很多了。
如果你只是刚刚接触 Java,那么松哥也有一个前后端不分开源项目可以给你练手:
这个项目做的比较早,功能做的相对较全,但是介绍文档没有微人事那么详细,大家可以参考。
关注公众号【江南一点雨】,专注于 Spring Boot+微服务以及前后端分离等全栈技术,定期视频教程分享,关注后回复 Java ,领取松哥为你精心准备的 Java 干货!
spring boot V部落 V人事项目的更多相关文章
- 喜大普奔,两个开源的 Spring Boot + Vue 前后端分离项目可以在线体验了
折腾了一周的域名备案昨天终于搞定了. 松哥第一时间想到赶紧把微人事和 V 部落部署上去,我知道很多小伙伴已经等不及了. 1. 也曾经上过线 其实这两个项目当时刚做好的时候,我就把它们部署到服务器上了, ...
- 两个开源的 Spring Boot + Vue 前后端分离项目
折腾了一周的域名备案昨天终于搞定了. 松哥第一时间想到赶紧把微人事和 V 部落部署上去,我知道很多小伙伴已经等不及了. 1. 也曾经上过线 其实这两个项目当时刚做好的时候,我就把它们部署到服务器上了, ...
- Spring Boot框架开发的Java项目在CentOS7上的部署
需求:上级拿来一份Spring Boot框架开发的Java项目代码让我在服务器上运行起来,只说了一句该框架是自带了Tomcat(不用重新安装Tomcat),一份代码下有两个项目(一个管理端项目,一个用 ...
- 使用Spring Boot和Gradle创建AngularJS项目
Spring Boot 是由 Pivotal 团队提供的全新框架,其设计目的是用来简化新 Spring 应用的初始搭建以及开发过程.该框架使用了特定的方式来进行配置,从而使开发人员不再需要定义样板化的 ...
- 使用Spring Boot来加速Java web项目的开发
我想,现在企业级的Java web项目应该或多或少都会使用到Spring框架的. 回首我们以前使用Spring框架的时候,我们需要首先在(如果你使用Maven的话)pom文件中增加对相关的的依赖(使用 ...
- Spring Boot 之构建Hello Word项目
1.创建一个maven项目 如下步骤: (第一步) (第二步) (第三步) 2.配置pom.xml文件 加载一些依赖包.字符集.指定jdk.编译插件. <project xmlns=" ...
- Spring Boot入门-快速搭建web项目
Spring Boot 概述: Spring Boot makes it easy to create stand-alone, production-grade Spring based Appli ...
- 传统Java Web(非Spring Boot)、非Java语言项目接入Spring Cloud方案
技术架构在向spring Cloud转型时,一定会有一些年代较久远的项目,代码已变成天书,这时就希望能在不大规模重构的前提下将这些传统应用接入到Spring Cloud架构体系中作为一个服务以供其它项 ...
- Spring Boot 直接用jar运行项目
概述 在Spring Boot 开篇-创建和运行一文中,介绍了如何创建一个Sprint Boot项目并且运行起来.但是运行的方式是在IDEA中直接Run起来的.还有另一中方式可以可以把Spring B ...
随机推荐
- bash 转换为C代码
bash 转换为C代码,并编译为可执行文件 [root@localhost ~]# wget http://www.datsi.fi.upm.es/~frosal/sources/shc-3.8.9. ...
- gitlab操作笔记
基本命令 准备 1. 安装所需命令 sudo yum install curl openssh-server openssh-clients postfix cronie -y2. 安装SSH sud ...
- Binding的Path(路径)
Binding的源可以是控件(一个控件是另一个控件的Source.控件把自己的容器作为Source),把集合作为ItemsControls的Source,把xml作为Tree或者Menu的Source ...
- Windows2003服务器IIS启用Gzip压缩的设置
http://jingyan.baidu.com/article/148a192178ec834d71c3b12b.html 步骤 1 2 3 本文介绍的HTTP压缩方式,采用的是Window ...
- SQLServer 存储过程详解
Transact-SQL中的存储过程,非常类似于Java语言中的方法,它可以重复调用.当存储过程执行一次后,可以将语句缓存中,这样下次执行的时候直接使用缓存中的语句.这样就可以提高存储过程的性能. Ø ...
- js css3 固定点拖拽旋转
一.直接上效果图: 然后是代码: 一共两种实现方式: <!DOCTYPE html> <html lang="en"> <head> <m ...
- Docker架构及其三要素
1.Docker架构 a.Docker客户端和服务端 Docker是客户-服务器(C/S)架构的程序.Docker客户端只需向Docker服务器或守护进程发出请求,服务器或守护进程将完成所有工作并 ...
- MySQL 5.7 免安装版 access denied 解决办法
MySQL 5.7 在Windows 下安装的过程很多人都写过了 但是安装完成后用 root 第一次登录时需要密码 可是我根本就没设密码嘛... 搞了半天最后终于搞定了 在执行 mysqld --in ...
- python连接activemq
介绍 activeMQ是一款消息队列,关于消息队列是什么这里就不再介绍了,这里只介绍如何使用python去连接activemq进行消息的发送和接收.既然都用python去连接了,那么对于消息队列是什么 ...
- Python数据驱动DDT的应用
在开始之前,我们先来明确一下什么是数据驱动,在百度百科中数据驱动的解释是:数据驱动测试,即黑盒测试(Black-box Testing),又称为功能测试,是把测试对象看作一个黑盒子.利用黑盒测试法进行 ...