2020年上半年,差点全栈与重新开始爆肝| 掘金征文

简短回顾

2019年末到2020年年中,算是活了20多年来,境况最差的一段时间了,这里的差是指大环境(经济、实业,就业等等)。广州珠江新城花城汇恰饭和逛街的人少了很多,不少区的餐馆倒闭了,甚至找不到下一个接盘的商家,就闲置在那里。所以大概明白了为什么面试或者贩卖焦虑类型的文章会在很多知识分享平台火起来,因为大家都很焦虑,大家都想突围,我也是焦虑众人之一。

2019年底我离开了自2016年以实习生加入的某广州某「科技金融公司」,去了一家小的创业公司担任架构和打杂工程师。如果是同一个领域的伙伴就知道,当时圈内很多巨头都暴雷了,考虑到风险、可持续发展性以及刚好遇到赏识我的前Boss出来创业,我很短时间内做完了交接工作就到另一个全新的领域上岗。没想到的是刚入职不久,新冠肺炎就爆发了,接下来遭遇到业务收缩、远程办公(一个月)等等。回想起来,这半年时间过得比较快,大概是因为远程办公和996占比比较高。

直男手抖拍照

工作与生活

在新的领域重新开始,花了一两个月时间熟悉业务流程。另外,互联网和初创公司的特点都是快速试错,疫情期间业务功能的不减反增,凭借之前积累下来的一些经验,应对业务功能迭代其实压力不大。直到4月底,遇到了一个算是职业生涯比较大的难点 - 「服务上云」,准确来说是从某个云厂商把所有服务迁移到另一个云厂商(由U某云迁移到阿某云这里包含了复杂的原因,不好道明)。之前是做架构方面的工作,所以在梳理服务的依赖关系方面倒是没遇到难题,而真正的难题在于「技术团队没有招运维」。当时只能短时间爆肝去研读阿某云的官方文档,参考了几本主流的上云教程书籍中的一些内容,求助于前公司的运维大佬、身边的领域大牛朋友,搭建阿某云的一个VPC专有网络,安装了所有目前用到的中间件集群和ELKPinpoint等套件。然后选用一些低流量的服务进行迁移尝试,按照服务的重要程度由低到高分批迁移。中间件的数据迁移完全使用云提供的工具,最后几个核心服务迁移当前停机了约三个小时(云迁移的日期选在了2020年5月底的某个星期天,整个团队肝到凌晨2点左右),最后除了Redis中部分的Token迁移后出现异常(实际上没有造成任何负面影响),其他过程算是比较顺利。这次云迁移完成之后,整理了一篇经验总结:

  • 通过Nginx、Consul、Upsync实现动态负载均衡和服务平滑发布(掘金)

  • 通过Nginx、Consul、Upsync实现动态负载均衡和服务平滑发布(公众号)

因为初创公司规模小,经费也有限,所以为了节约服务器资源,减少搭建当前阶段不是必须的中间件,一些像定时任务管理的平台,选用了极其简单的方式实现,例如:

  • 基于Quartz编写一个可复用的分布式调度任务管理WebUI组件(掘金)

  • 基于Quartz编写一个可复用的分布式调度任务管理WebUI组件(公众号)

这套东西本来想做大,花时间学了一下Vue,但是后来迭代太紧张,于是用UIKit花了大概3个小时连同UI、后端代码开发完成并且通过测试推到生产使用。

这段时间由于整个团队手头上的工作都很多,公司决定实行996一段时间。很多时候由于代码异常或者测试过程出现疏漏,加之需要选择流量比较低的时候进行服务升级,很多时候因为新功能发布要待到赶最后一班地铁或者凌晨,回到住处直接摊在床上睡觉第二天再起来洗澡。所以太忙的时候,一般只能抽周日或者凌晨,阅读一些屯了很久的书,除了一些生产实战经验相关的文章外,只能编写一些相对简单的入门教程类的文章或者整理一些2016年到2019年写好的但是没有发布的文章。例如:

  • 初识Redis的数据类型HyperLogLog(掘金)

  • 初识Redis的数据类型HyperLogLog(公众号)

来到六月份,因为公司的业务回暖,业务量突破,这个时候需要数据中台支撑,期间做了一版简单的数据仓库建模,做了一个高性能短链接服务、一个完善的用户标签服务以及一套自动营销服务(开发中,因为缺少经验,估计要摸索一段时间),期间调研了Binlog同步中间件Canal的使用:

  • 基于Canal和Kafka实现MySQL的Binlog近实时同步

爆肝与阶段性的小成果

2016年刚毕业那段时候曾经爆肝了一年多,每天研读Spring或者主流框架的源码到凌晨,当时写下了一批源码分析或者框架应用的文章,不过从现在的角度来看,感觉有点肤浅:

但是感觉可以抢救一下,现在有不少文章就是基于原来的文章的思路重读源码,或者重新润色,然后再发布出来。这一两个月重新登录了尘封的个人公众号,把原来在个人博客写过的文章、在掘金或者其他平台发布过的文章同步过去。

过程中发现了有不少文章已经被其他公众号抢注发布为原创,这一点更加坚定了我要肝公众号的决心(其实心里虽然不爽,但是还是有点暗喜,毕竟有价值的内容才会被利用)。考虑到归类更加便捷,新建了几个合理的专栏做持续更新:

同组的新人妹子说我发布的文章,很多时候看不太懂,于是尝试写了一个入门的专栏:

  • SpringBoot2.x入门

虽然目前关注的人不多,但我也尝试向一些相对出名的号主投稿。接下来希望能找回刚毕业那段时间爆肝的激情。尽管我不能保证编写出来的内容是100%正确的,但是我会根据大家的建议和自己的判断持续修正和更新。

其实我相对擅长的方面是并发编程,只是目前的手上原创的并发相关的文章过于零散,等到梳理完了再发布。

展望

接下来恢复了双休,平时如果不是突发问题应该不用加班赶最后一班地铁,所以应该可以抽出精力和时间维护一下公众号,保持一周至少三篇原创精品文章,也包括生产经验的一些实战。工作上的话,下半年着重研究一下大数据方面以及服务监控方面领域的内容,因为目前业务量要上来了,缺少业务数据监控以及数据仓库和数据建模方面的应用。生活上的话,感觉没有什么生活,还屯了一大堆书没看完,估计要做一段时间读书人。

虽然看起来学习的东西比较杂,但是我最喜欢从事架构相关的工作,并且「坚信优秀的架构是迭代出来,而不是直接设计出来」。成功往往不可复制,失败一般有迹可循。虽然不相信付出总是有收获,但是相信懈怠没有回报。加油,2020年·下。

(本文完 c-1-d e-a-20200704)

2020年上半年,差点全栈与重新开始爆肝| 掘金征文相关推荐

  1. 2020年如何成为全栈工程师

    2020年到了,每个前端工程师都有一颗全栈的心,很多读者私信我,怎么才能晋升为全栈工程师.这里给大家解答一下大概路线. 随着前端能做的事情越来越多,前端的知识体系也越来越复杂,面对密集的知识点,一口气 ...

  2. 2020年新版PHP+H5全栈学习路线图(内含大纲+视频+工具+书籍,持续更新中。。。。。.)

    写在前面:(本帖干货较多耐心阅读收获颇丰,图片点击可放大) 传智播客黑马程序员作为一个IT学习平台,历经13年的成长,免费分享视频教程长达10万余小时,累计下载量超3000万次,受益人数达千万.202 ...

  3. 全栈工程师为啥值40W的年薪?

    最近小编查看留言发现:询问的内容也大多是如何选择职业方向,如何成为一名优秀的软件工程师,以及怎样快速提高自身的技能等.我在一一回复的同时,结合身边无数朋友的经历,谈谈如何才能成为一名优秀的.年薪50万 ...

  4. 2020前端最新面试题总结(js、html、小程序、React、ES6、Vue、算法、全栈热门视频资源)(3年前端菜鸟级开发师含泪总结)

    2020前端最新面试题总结(js.html.小程序.React.ES6.Vue.算法.全栈热门视频资源) 文档描述 (今年确实挺难 3年前端菜鸟级开发师含泪总结 希望能帮助大家) 本文是关注微信小程序 ...

  5. 完善三维全栈产品布局 的卢深视用三维全栈技术点亮2020全球智博会

    "2020年8月14日至16日,2020全球人工智能产品应用博览会(AIExpo2020)将携全球黑科技,空降苏州国际博览中心,的卢深视将亮相Be2展位." 作为后疫情时代的首个线 ...

  6. (4.2万字,重启2020)“从零到部署”Vue全栈电商应用系列教程---正式完结

    作者:一只图雀 Github仓库:(前端[1],后端[2]) 图雀社区主站(首发):图雀社区[3] 博客:掘金[4].知乎[5].慕课[6] 公众号:图雀社区[7] 联系我:关注公众号后可以加图雀酱微 ...

  7. Python 全栈工程师必备面试题 300 道(2020 版)

    2020元旦巨献,面试升级必备!献给正在学习Python的同学! Python 全栈工程师必备面试题 300 道(2020 版) Python 面试不仅需要掌握 Python 基础知识和高级语法,还会 ...

  8. 0217前端日报:2020前端实践|优雅的实现一个全栈项目

    给 「前端开发博客」 加星标,每天打卡学习 长按二维码即可识别"进入网页"查看哟~ 1.2020前端实践|优雅的实现一个全栈项目(一) vweb_visual是一个简单的后台管理项 ...

  9. 全栈入门_启动数据栈入门包(2020)

    全栈入门 I advise a lot of people on how to build out their data stack, from tiny startups to enterprise ...

最新文章

  1. linux 用户和权限管理
  2. HTML5手机页面里面如何把长按复制避免
  3. HDFS中的safemode
  4. mac版smali2java_Android反编译apk并重新打包签名(Mac环境)
  5. SocketIO-nio
  6. norflsh nandflash之类的存储设备启动bootloader概述
  7. SUSE10下配置FTP服务
  8. .NET Core 时代已经到了,你准备好了吗
  9. Android svg VectorDrawable 动画效果
  10. .Net发布到服务器出现必须添加对程序集“System.Runtime, Version=4.0.0.0, Culture=neutral, PublicKeyToken=的问题
  11. Atitti 摘要算法 散列算法SHA1 和 MD5  crc32 目录 1.1. CRC(Cyclic Redundancy Check,循环冗余校验)算法出现时间较长 1 1.1.1. 数据摘要算
  12. 300个VB全面控制Excel方法
  13. 让IE窗口最小化最大化的快捷键
  14. 最好的礼物是忠言,最好的修养是宽恕。
  15. C#通过ip地址取当前城市
  16. 全球与中国集成平台即服务(iPaaS)软件市场现状及未来发展趋势
  17. Windows远程代码执行漏洞(CVE-2020-16898) 高危漏洞加固指南
  18. Ubuntu Server 18.04安装后vi命令解决键盘错乱方法和wifi连接之后不能上网
  19. WCF分布式开发详解
  20. 正态分布为何如此重要?

热门文章

  1. posix_spawn函数
  2. 矩阵求导(本质、原理与推导)详解
  3. 关于同一用户不能同时在两台电脑上登录问题的解决方案
  4. 面向闭源电力工控系统的安全防御体系架构设计
  5. 高质量实现单文件导入、导出功能(使用EasyExcel )
  6. 证明与计算(7): 有限状态机(Finite State Machine)
  7. 数据库——L类、R类、LR类、N类问题
  8. C语言的system()函数详解
  9. 荣耀平板对比测评 用过才知道原来这么香
  10. sonarqube java_SonarQube的初步使用