从0开始系列:
认知四象限
作为一个半路出家的程序员,进厂工作之后深感自身能力之不足。借用公司论坛里一大佬认知四象限的说法:
- 不知:不知道有这么个东西,我在读书时候还不知道有微服务这个东西
- 知不知:知道有这么个领域,也知道自己对这个领域不懂,就是我现在的状态,在工作中接触到了许多新的概念新的领域,但是对这些领域之前又从未涉及
- 知知:对一块知识彻底学完了,会了
- 不知知:对一块知识的理解已经深入本质,即使平时不会用到,当用之时还是可以拿来即用。参考张无忌学太极拳,推演三遍之后忘得干干净净才是学会了
而对一个领域从“不知”到“知”,又要经过理论 - 思考 - 实践 - 总结 - 迭代的过程。最近在看《云原生服务网格Istio》这本书,希望能从看书 - 完成书上实践 - 写博客记录完成理论 - 思考 - 实践 - 总结的第一轮迭代过程。
坑中坑:就当前的认知情况,我这个新手小白有四个坑需要填:
- 容器化、容器编排、服务治理
- 微服务划分、领域驱动设计DDD
- devops,思想与工具
- 软件重构、设计模式
指点江山
从大的方面看,当前计算机架构下硬件性能增速放缓,而计算机应用的体量和复杂度却与日俱增,在下一次计算机底层科学实现重大突破之前,分布式架构的应用将长期存在并不断发展。云原生即是发展的产物。所谓云原生,即微服务 + 容器化 + devops。容器化解决了单体应用时代的部署难题,后续的k8s和istio又天生契合分布式应用的部署形态和服务治理需求,契合从分布式协同的角度扩展摩尔定律的大势。
云原生的三驾马车,既是分布式时代应用开发的难点,其一是分布式服务的治理和运维,这是是docker、k8s、istio等技术着力解决的问题;其二是微服务的结构划分设计,这是是领域设计着力解决的问题;其三是敏捷开发、敏捷测试、敏捷上线、敏捷回退的方法论。至于业务本身的需求,简单者可直接开发并持续重构,复杂者可根据特定业务模型抽象出领域设计语言,将业务逻辑用一套系统拎起来。
关于引用
在环境搭建和代码学习中使用的安装包、教程,凡有据可考的都会附上原文链接,其中安装包为防源链丢失,本人会另存一份某度网盘并给出链接。
关于破解
1、所有的破解软件都是本人是以学习为目的使用的,没有用于商业用途
2、本人购买力有限,像vmware、Goland这种个人开发者成比例使用破解的软件我也会找破解用,Typora这种89块买断式软件我会倾向于付费购买,现在没买是因为这个笔记本用好几年快用到头了,换电脑就买
3、关于破解,有不同看法的小伙伴可以私信喷我,但是我可能不会回复
2023.6.11
万万没想到,我的小破电脑就在前几天挂掉了,算起来也用了有4年多了,干脆整了个新的,给旧电脑装个linux当工作站用。
Typora当然也要下单了~