为什么博客断更了三个月?

为什么断更?

今天是 2020 年 8 月 26 日,距离上一次博客更新正好三个月差两天。最近刚和女朋友结束了为期近一年的异地生活,女朋友从上海过来之后有很多事情需要处理,加上自己懒惰所以一直没有更新博客。

另外,最近刚从熟悉的项目 transfer 到另一个新项目,并且从事前端相关的工作,所以一直在熟悉项目相关的技术栈。

总结

今天是 2020 年 8 月 26 日, 很多朋友可能还不知道我在哪工作,刚毕业的时候去了京东上海,不算实习期在京东呆了差不多 10 个月,并在 2019 年 6 月加入 SAP。

加入 SAP 一年多以来,主要参与了两个项目,一个是 Cloud Native 应用,另一个是比较有名的 SAP 分析云,后一个是最近临时 transfer 过去的,目前参与修复一些前端 Bug。本来我希望自己的技术栈是偏后端一些,但是由于项目前端一直缺人,所以希望我也能从事一些前端的工作,但目前来看还是以前端工作为主,只不过我对项目的后端技术也比较熟悉,所以算是个伪全栈工程师。

在过去的这一年以来,我学到了很多,我很荣幸接触到的项目可以让我成长,更荣幸 Team 的工作环境让我有机会成长。今天我想是时候对过去的一年作一个总结了。

编程基础

编程的基础可能有很多,但对于我而言,算法、网络、操作系统、数据库和编程语言是最基础的。

算法

学习算法一方面是为了让我工作得更加高效,事实证明也确实如此,另一方面就是寻找编码的乐趣。过去一年,算法方面取得不小的进步,截止目前 LeetCode 算法完成 500 多个题,共提交 1131 多次,希望今年再接再厉,争取 2021 年 1 月 1 突破 700 个题。另外,接下来的时间应该更加注重分类算法的学习,刻意训练重点、难点。

网络

过去的一年里,并没有太多应用网络基础的机会,但是熟悉各种网络协议后排查相关编程问题时犹如高屋建瓴,易如反掌。所以接下来应该继续学习 TCP/IP 协议的核心原理,还要持续巩固 HTTP 协议,拓展阅读其他优秀的网络协议。可以重点关注 OData 协议、Sock5 协议、GrapQL 等。

操作系统

操作系统是较难的,今年本计划重点学习,回顾过去一年只是简单看了 Antlr4、NodeJS 进程通信,并没有太关注这方面的基础。即使购入了《操作系统导论》但还没来得及仔细阅读,希望接下来的时间能多注重操作系统方面的学习。了解操作系统对理解 Docker / K8S 有不少的帮助。

数据库

数据库分类两部分,一部分是数据库管理软件,另一部分则是 SQL 查询。数据库最接近后端开发的编程基础,加入 SAP 以后,应该认值学习 SAP HANA,吸取 HANA 的优秀存储实践,此外,也要持续关注一些比较热门的数据库,如 PostgreSQL, MySQL 等。

Python

Python 作为最通用的脚本语言之一,无论是在自动化测试,CI/CD 还是 Docker/K8S 都被广泛应用。过去一年,我选择使用 Python3 刷 LeetCode,因此加深了我对 Python3 的理解。只不过,没有深入、系统的学习,在使用它作项目开发的时候还是要掉很多坑的,所以如果将来要从事 Python 相关的项目那么在正式接入项目之前,应该花一些时间把 Python3 的基础仔细看一边。

Golang

2019 年之前,无论是参加前端还是服务端的工作,我主要使用的编程语言都是脚本语言,虽然有机会了解过 C 和 Java,但都是比较初级的,没有真正参与到项目中去。今年以来,我们开发的 Cloud Native 应用是由一个服务负责它在 K8S 上的调度和管理的,这个服务使用 Golang 开发,借此机会我也花了一些时间去了解 Golang 的基础。希望今年剩下的时间能在这方面有更多的成长。

JavaScript

JavaScript 目前作为我工作的第一语言,也是我认为目前来讲基础最好的一门语言,我对 ES5、ES6 乃至 ES11 都有一定的理解,特别是原型链,作用域链,事件循环机制,异步处理方式等都有一些理解。我希望接下来在深入学习其基础知识的同事,更侧重于 JS 在前端中最基础的运用,如 DOM,事件等。

Node

Node 作为 Cloud Native 开发的首要选择,也是目前我业务后端的主流语言之一,早在 2017 年实习期间,我就曾系统看过《深入浅出的 Node.js》,只不过至今很多细节已经忘记了,中间有近两年的时间没有用过 Node.js。所以我应该系统深入的再学一遍 Node.js,事件机制、网络 IO、异步编程等应该列作接下来的重点。

TypeScript

JS 的生态真是变化多端,从 2015 (ES6) 年开始,当从语言方面每年都会发一个新版,如今已经 ES11 了。说实在,学习这些新特性的成本太高了,还不如学习 TypeScript,有了 TypeScript 一键编译成想要的 ES 版本,何乐而不为之?我认为 TypeScript 是 JavaScript 得以可持续发展的基石,不容忽视,目前项目的后端业务就是使用 TypeScript 的,我应该持续学习,并整理出最佳实践。

ABAP
作为一名 SAP 程序员,了解甚至是掌握 ABAP 对我们工作必定有不小的帮助,学习它有助于理解 SAP ERP 系统,理解基于 ABAP 的一些列业务背景。今年荣幸之至,参与了 ABAP Trainer 的培训,即使课程是以 ABAP 作为载体讲述如何写出可测试的代码,但足以让我入门。由于团队的很多同事对 ABAP 并不是很了解,所以我应该持续学习并在组内传播这方面的知识。

UI 开发实践

由于前端工程师的欠缺,最近一直从事前端开发工作,长期来看前端任务依然很繁重,所以我更应该承担起一定的责任。以最近的工作状态来看,前端的开发效率还是相对比较低,原因有二,一是前端基础不牢固,这方面主要表现在 CSS,DOM,事件等,二是框架不熟,项目的前端是使用公司的 OpenUI5 开发的,而我没有比较系统的学习过它。所以我希望 9 月会在两方面下功夫,并有一些输出。
以目前的经验来看,至少有如下 Topics 是可以输出的:

  • SAPUI5 入门

    从零搭建 SAPUI5 的开发环境,涉及框架的基本使用,路由,MVC 等基础知识。

    不应该涉及 Lint / ES6 / 测试等内容

  • SAPUI5 支持 ES6

    使用 ES6 开发 SAPUI5,使用 Babel 编译,涉及 Lint,打包,构建等流程

  • SAPUI5 支持 TS

    使用 TS 开发 SAPUI5,使用 Webpack 打包

  • SAPUI5 测试基础

    涉及单元测试基础,SAPUI5 如何启动 MockServer,以及 MockServer 的核心原理等。

  • SAPUI5 OPA 测试

    涉及 OPA 测试已经 OPA 框架运行流程分析

  • SAPUI5 E2E 测试 (waiting…)

  • SAPUI5 最佳实践

    可能是一些列的文章,记录 SAPUI5 的使用教程

  • 从 SAPUI5 中探讨发布-订阅模式

  • OData 协议介绍

  • HTTP API Cache 实践

……

后端开发

即使过去的一段时间都没有参与太多后端工作的开发,但是我对项目的后端还有有很多理解的,我想很多点都可以梳理成章,这些开发实践即是别人的优秀实践,我应该好好理解,吸取精髓。因此,我希望在 2020 年结束之前将下面的一些优秀实践整理并输出。

Tooling

Node 开发中有一些列的工具

  • Webpack / Gulp / Grunt 等打包构建工具
  • NPM / YARN 等包管理工具
  • TypeScript / Babel 等编译工具
  • Karma / Jest / Jasmine / Chai / Mock / Simon / Qunit 等测试工具
  • wotan / lerna 等项目管理工具
  • xmake && maven
  • Docker / K8S

工程实践

  • NPM 包管理
  • YARN 与 NPM
  • NPM 私有仓库搭建
  • Nexus 实践
  • Monorepo 实践
  • Swagger API 集成 Express 实现自动路由
  • Express 中间件依赖管理之 – 优先级 Map
  • Express 中间件依赖管理之二 – 拓扑排序
  • Cloud Native 模板
  • 后端日志管理组件
  • 数据库连接池组件
  • Unity 设计原理
  • RxJS 编程实践 - 以 Operator 为例
  • Flow-based 编程思想
  • Feature Flag 实践
  • Coding Style 实践
  • Code contribute process (Git Workflow)

本文标题:为什么博客断更了三个月?

文章作者:Pylon, Syncher

发布时间:2020年08月26日 - 20:08

最后更新:2020年08月27日 - 08:08

原始链接:https://0x400.com/2020-08-26-dev-why-blog-updating-delay.html

许可协议: 署名-非商业性使用-禁止演绎 4.0 国际 转载请保留原文链接及作者。