软件定义世界
最近一周在参与一个合作项目,今天完成了项目验收,有一些个人思考,记录如下。
五天时间里,前三天在搭建项目环境。具体地,前两天搭建硬件环境,第三天搭建软件环境。
第四天直到第五天上午都在调试Bug,第五天下午为合作方做了简单培训。
-------------------------------------------------------------------------------------------------------------------------
1.硬件与软件
硬件与软件是截然不同的东西,硬件更直观,软件却像一个黑盒子。
因此,硬件问题通常更容易发现问题,也更容易解决。
软件问题却需要花费较多精力,而且问题间通常有很强的依赖性。
很多时候,解决一个问题会引出另一个或更多问题。
2.环境与容器
在搭建软件环境以及后续调试的过程中,我逐渐意识到容器技术的重要性。
软件对运行环境的依赖性很强,Linux操作系统虽然稳定,
但是由于其开放性(即任何人都可以安装新东西),往往会改变运行环境,
进而导致一系列问题,而容器可以提供一套轻量级的运行环境。
Docker是目前最流行的linux容器技术,可以看看阮一峰的教程:
http://www.ruanyifeng.com/blog/2018/02/docker-tutorial.html
3.软件定义世界
软件正在塑造我们的世界。
仅仅从硬件与软件的对比中,就可以找出原因。
软件更加灵活,升级更方便,开发新功能更快速。
软件更适应这个快速变化的世界。
4.技术能力与无知
合作方真正懂技术的人很少,外行看热闹。
幸好,我是懂一点技术的人。不然,我与他们没什么区别。
但我也只是懂一点,这激发了我提高技术能力的斗志。
卓越的人都会有一种信仰,对技术的信仰。