简化微人事部署,Flyway 搞起来

虽然我之前录了一个微人事部署视频(新版微人事部署教程来啦),但是由于这次升级涉及到了 Redis 和 RabbitMQ,所以在本地跑微人事还是一件比较麻烦的事情,有的小伙伴甚至部署失败,所以我也一直在尝试简化部署步骤,这两天给项目加了 Flyway,数据库准备这块算是得到了一定程度简化。

懒人必备,IntelliJ IDEA中代码一键生成

之前有不少小伙伴问松哥微人事项目(https://github.com/lenve/vhr)使用的 MyBatis 逆向工程在哪里?其实旧版微人事当时没有使用逆向工程,是我自己手动敲出来的,当然手动敲的工作量非常大。

如果你没写过博客,现在就是你写博客的最佳时机

受疫情影响,很多公司复工时间都延迟了,松哥这几天也是宅在老家远程,还没反深。不过老实说,这种半放羊式的工作状态没有想象中的爽,我在 2018 年初曾经接触过国内的一个远程工作团队,后来因为薪水没有谈妥放弃了。这次也算是体验了一把远程工作。

松哥之前和大家聊过,我本科是学管理的,大二开始自学 Java,毕业后先做了两年 Android,然后又转到 Java 上面来,我知道读者中有不少是科班出身的程序员,也有不少是转行程序员,昨天有小伙伴问到,松哥非科班出身,靠自学进入开发这个行业,有没有什么技巧呢?我仔细想了想,好像还真有技巧。

我的技巧就是写博客。

其实我在很多场合都说过写博客的好处,因为我确实因为写博客收获了很多。所以,今天就再来和大家唠叨一遍写博客的事情。新的一年,大家可能都有一些雄心勃勃的计划,大处着眼小处着手,写博客就算是小处着手之一吧。

先说我是为什么写博客吧?2014 年错过了秋招,参加了 2015 年的春招,找工作整体来说还是比较顺利,拿了 offer 回到学校复盘的时候,有三个问题让我印象深刻:

  1. 我是在西安参加的春招,西安的高校比较多,而且好学校多,所以在找工作时候,西安本地的很多公司,会更倾向西安当地的名校毕业生,这让我感到一点被歧视。虽然我也是 211 ,但是 211 也分三六九等。外来公司来西安招聘的话,学校歧视这个现象好像不是很严重,因为当时有一个大厂,三面之后,终面的时候,我发现剩下的都是西交大、长大的,当然还有我(不过这个也要看具体公司吧)。
  2. 第二个问题就是我的专业问题,我本科学位证是管理学学士,所以每次都要和面试官解释半天,然后对方对我的能力还是将信将疑。
  3. 好几场面试都有人问我有没有博客

基于前面两点,我觉得未来想要在这个行业长足发展,必须还得做点什么事。基于第三点,我决定,那就先从写博客开始吧,虽然脑子里有 n 多想法,但是总得先动手,光想没用。

那个时候我还没有自己的博客,虽然很早注册了 CSDN ,但是是为了下载文件,没写过博客,于是在那一年 4 月 15 号,发了第一篇很水的博客。

对于很多小伙伴而言,第一次写博客,总会面临很多问题,例如胆怯、不知道写啥、不知道去哪里写等等,这些问题我来和大家一一说明。

1.常见问题

1.1 胆怯

第一个胆怯,我觉得这是很多人可能会遇到的一个问题,就是不敢写,担心写错,担心被喷,写出来了不敢给人看等等,这一类我都归为胆怯。

首先我们写的博客,大部分都是偏向应用的,单纯讲理论的比较少,既然是偏向应用,那么就有案例,有 demo,你自己写的案例,运行出来了你亲眼看到的结果,事实摆在眼前,这怎么会出错呢?

不敢给人看,其实无论是 CSDN 还是博客园还是其他一些平台,你刚刚开始写,看的人都很少,所以其实不用担心被很多人看到的,慢慢写,慢慢积累,你的写作经验在丰富,博客阅读量也会随着你的写作水平慢慢增长,这其实是一个相辅相成的过程,所以不用担心一下子暴露在聚光灯下面被很多人看不自在。

担心被喷,这个说明你很有远见,就像 B 站的“批小将”一样,博客上也有类似的人。无论你写什么,有人点赞就有人拍砖,被喷不一定是因为你的文章不好,有的人“口吐芬芳”是张嘴就来,不需要理由的,所以,写博客还能让你接触到形形色色的人,也能锻炼你的心理素质。不过老实说,只要文章有干货,确实有东西,点赞的肯定是大于拍砖的。个别人拍砖这个我们只能选择习惯,习惯就好,也没有必要跟他互喷,有失风范,在他喷你的时候,你已经因为写博客薪水翻倍了。

我认识的一些小伙伴,有记录的习惯,但不是写博客,而是记在有道笔记或者印象笔记之类的工具上面,这个相比什么都不写肯定是算好的了,但是我觉得跟写博客还是不一样,写博客,就是你把自己的东西拿出来,放在太阳底下,让大家看,让大家指出不足,这样进步才会快。其实记在本地和写成博客发布出来还有其他一些区别,我一会会和大家分析。

1.2 不知道写啥

这个刚开始写确实会这样。

如果你还是学生,那就学什么写什么,比如今天学了什么知识点,做来了什么效果,搞定了一个什么算法题,等等,都可以写。不要去考虑这个东西别人有没有写过,为什么呢?

  1. 我们写,一方面帮助后来者,一方面也是自己学习的总结,方便自己日后快速复习,从这个角度讲,当然没有必要关心别人有没有写过。
  2. 一千个人心中就有一千个哈姆雷特,即使别人写过,也不是意味着你写的就没有意义了,每个人的思路、想法都不一样。就像我自己,有的时候在网上搜一个东西,看一个人写的根本不够,那是一家之言,容易被带偏了,我会多找几个人写的对比,综合一下,大概就能知道是咋回事了。

如果你已经工作了,日常解决的一些典型 BUG,生产环境遇到的一些问题,这些都可以写。或者是从头到尾学习某一个技术点,那就可以写一个系列博客。其实对于工作后的小伙伴而言,我觉得写作素材更加丰富,因为有了很多经验,经历的足够多,就有足够多的写作素材。

1.3 不知道去哪里写

这个问题就比较简单了,国内目前的博客写作平台还是很多的。像 CSDN、思否、博客园、开源中国、简书、知乎、掘金、慕课手记等等,平台还是非常多的,刚开始写的话,不建议大家搭建个人博客,等到写作技能练的差不多了再去搭建独立博客也不迟,独立博客搭建可以参考松哥这篇文章:不用花一分线,松哥手把手教你上线个人博客

不过刚开始不建议搭建独立博客,有的小伙伴搭建博客的时候兴致勃勃,博客搭建好了,意兴阑珊,这样就本末倒置了。

2.写博客的好处

写博客的好处,我觉得我有一点点资格和大家讲这个好处,因为我自己确实因为写博客收获了很多。无论是在跳槽、加薪 、写书、录视频教程、认识各位小伙伴,博客给我的帮助还是蛮大的。所以我以一个过来人的身份来和大家聊聊写博客的好处,应该还是有一定的说服力的。

2.1 跳槽

我工作后的第一次跳槽就是因为写博客结缘。当时对方公司北京总部的技术总监通过 CSDN 找到我,邀请我到他们广州分公司面试,我当时工作时间也不是很长,心里挺没底的,我就说我可能不符合贵司岗位要求,然后对方说没关系,可以来试试,就当交个朋友也行,于是我就去了。没想到面试完后双方都挺满意,薪水也相当慷慨,比我要求的还多一些,于是就顺利入职了。

这是我第一次尝到写博客的甜头,从此,除非工作特别忙可能会中断一段时间,大部分情况下,博客都保持了高频率更新。

2.2 推销自己

和在本地记笔记有一个很大的区别,写博客有一个推销自己的成分。推销自己的重要性,我想很多小伙伴都明白,你需要升职,需要加薪,那你得像别人证明自己,这个证明的过程其实就是一个推销的过程。而博客,就是你长期以来技术积累的一个证明,在自我推销的时候是一个非常有力的证据。

就像我,很多小伙伴在简单的看过几集试看视频甚至连试看视频都没看,就选择购买我录制的 Spring Boot + Vue 视频教程,这就是因为我前期通过写博客推销自己,获得了小伙伴的认可,要是没有没有前面推销自己的这个过程,我现在说我录制了一套很棒的视频教程,估计也没有人买,为啥?第一,我说这句话估计都没几个人能听到,因为大家都不认识我;第二,即使你知道有这套视频,但是因为前期不了解,所以你可能对视频的质量将信将疑。

这就是自我推销的重要性,把自己推销出去后,很多事情做起来就都非常容易了,找工作只是一个小 case。

2.3 建立安全屏障

咱们混 IT 圈的小伙伴,公司裁员倒闭这种事,没吃过猪肉总见过猪跑吧,这些事情松哥自己也经历过几波,早已见怪不怪。行业就是这样,技术更新迭代快,高薪必然意味着高压力与高风险,这是是无法改变的。

我们能做的,就是不断提高自己的软实力,提高自己的技术壁垒,在大环境不景气的时候,心中“有恃无恐”。

2.4 锻炼表达

代码写得好不一定博客写得好,写代码和写博客是两种不同的能力。其实大家在平时工作中可能也会发现这种情况,有一些技术很牛逼,但是你让他给公司其他同事培训一下,结果讲出来谁都听不懂,听不懂有两种可能,第一种可能是问题跨度太大,第二种情况就是他的表达有问题,而大部分情况下,都是表达的问题,可能是他的思维不连贯,也可能是他的语言不清晰。

写博客其就是锻炼思维与语言表达的过程,你需要考虑,我这个问题我要怎么写,读者才能看懂,对于这个问题,读者可能最关心哪一步骤,我就把这个步骤作为重点详细讲述,然后自己当初学这个知识点是如何一步一步循序渐进学会的,把自己学习的步骤再还原出来。

当然,这是一个循序渐进的过程,第一篇博客你可能写不出这样的效果,但是坚持下去,不断总结提炼,慢慢就会形成自己的方法论。

很多小伙伴觉得我的视频讲的清晰,其实这都是平时写博客练出来的,我知道这个知识点要从哪个方面讲,大家更容易理解,这是昨天微信上的一段对话:

3.小结

好了,光说不练假把式。松哥强烈建议大家试试,也不用很久,坚持个一年半载,你就会感受到完全不一样的自己,每个小伙伴都有必要试试。

借用网上一句鸡汤,种一棵树,最好的时间是十年前,其次就是现在。所以无论你工作了多久,如果没写过博客,那么现在就是最佳时机。

分布式事务系列第三篇,Spring 事务概述

本文是我们分布式事务系列的第三篇,这篇文章来和大家捋一捋 Spring 框架中的事务体系。前面两篇文章大家可以参考:

Redis 系列教程(一)Linux 上安装 Redis

hello 各位小伙伴,最近打算出一个 Redis 的视频教程,想在视频正式开录之前,先把文字版的 Redis 教程过一遍。

274 页 pdf 文档,Spring Boot 教程也有离线版了

上次发了篇文章说是 Spring Boot+Vue 视频杀青了,里边提到我有一个手敲 5W 余字的 SSM 教程,然后就有很多小伙伴不停在公众号后台追问 5W 余字的 SSM 教程在哪?看到这个问题我也挺郁闷的,看来前面的干货还是有很多小伙伴错过,因此今天就再说一下,大家在松哥公众号后台分别回复:mavenspringspringmvcmybatis 可以获取松哥手敲的干货教程,当然也可以直接访问在线教程:

Spring Boot2 系列教程(四十八)15 道 Spring Boot 高频面试题

什么是面霸?就是在面试中,神挡杀神佛挡杀佛,见招拆招,面到面试官自惭形秽自叹不如!松哥希望本文能成为你面霸路上的垫脚石!

Spring Boot2 系列教程(四十七)Spring Boot 开发微信公众号后台(二)

hello 各位小伙伴,今天我们来继续学习如何通过 Spring Boot 开发微信公众号。还没阅读过上篇文章的小伙伴建议先看看上文,有助于理解本文:

Spring Boot2 系列教程(四十六)Spring Boot 开发微信公众号后台(一)

Hello 各位小伙伴,松哥今天要和大家聊一个有意思的话题,就是使用 Spring Boot 开发微信公众号后台。

Spring Boot2 系列教程(四十五)Spring Boot 2.2.0 中的 Bug

Spring Boot2.2.0 这个版本发布没多久,Spring Boot2.2.1 就出来,看似不太重要的版本,却发生了一个小小变化,导致不少小伙伴掉坑了,我本来也没太在意,但是最近有快十个小伙伴在微信上问这个问题,看来我必须得写篇文章说下了,防止小伙伴们掉坑了。

Your browser is out-of-date!

Update your browser to view this website correctly. Update my browser now

×