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 ...
随机推荐
- 简化SpringMVC配置
映射器处理器和适配器是可以省略的 为什么可以省略?因为有默认配置 SpringMVC的默认配置
- C#中实现Hash应用
在C#中,数据的Hash以MD5或SHA1的方式实现,MD5与SHA1都是Hash算法,MD5输出是128位的,SHA1输出是160位的,MD5比SHA1快,SHA1比MD5强度高. 1.1 SHA- ...
- SpringMVC @Valid,@RequestBody,@RequestParam标注参数时,进行Postman测试
@Valid(post请求) 可与@RequestBody一起使用 > (@RequestBody @Valid User user) @RequestBody(post请求) 这里的requi ...
- 实体类与数据库字段不匹配问题,java.sql.SQLSyntaxErrorException: Unknown column 'xxx' in 'field list'
控制台报错 ### Error querying database. Cause: java.sql.SQLSyntaxErrorException: Unknown column 'user_nam ...
- win7下CodeIgniter安装
一.CodeIgniter是什么 CodeIgniter 是一套给 PHP 网站开发者使用的应用程序开发框架和工具包. 它的目标是让你能够更快速的开发,它提供了日常任务中所需的大量类库, 以及简单的接 ...
- shell 脚本中的入参获取与判断
1.获取shell脚本的入参个数: $# 2.获取shell脚本的第n个入参的字符个数/字符串长度(注意这里的n需要替换为具体的数字,如果这个数字超过实际的入参个数,结果为0): ${#n}
- matplotlib:python数据处理三剑客之一
1.基本使用 import numpy as np import matplotlib.pyplot as plt import pandas as pd # 生成一系列x x = np.linspa ...
- Redis常见的七种使用场景
简单字符串缓存实战简单队列实战简单发布订阅实战简单计数器实战排行榜实战简单字符串悲观锁实战简单事务的乐观锁实战 简单字符串缓存实战 $redis->connect('127.0.0.1', ...
- Microsoft SQL Server下的SQL语句
SQL语句先前写的时候,很容易把一些特殊的用法忘记,我特此整理了一下SQL语句操作.一.基础 1.说明:创建数据库CREATE DATABASE database-name 2.说明:删除数据库dro ...
- Stopwatch简单时间检测
public ActionResult Index() { Stopwatch sw = new Stopwatch(); //实例化一个对象 sw.Start(); //开始计算 int[] a = ...