DevSecOps¶
DevSecOps 是“开发(Dev)+安全(Sec)+运维(Ops)”的组合词,本质是一种理念和实践方法,目标是把安全融入软件开发和运维的整个生命周期
对于想深入DevSecOps领域的朋友来说,我强烈建议从软件开发(Dev)入手。
开发是软件生命周期的起点,亲手写代码是最佳实践。掌握它后,你能直观理解Sec漏洞的成因(通过架构和编码规范防御),也更易上手Ops的自动化部署、监控和脚本技术。
如何开始学习开发?这个问题对每个人来说,解法都不同。我个人的浅见是,先从你生活中的小问题来入手
对于我个人,曾经编写过这些软件(用脚本来描述可能更准确一些)来解决我的一些问题
- 为openwrt(路由器系统)编写一个自动检测校园网连接状态的定时脚本,他可以在网络不可达的情况下自动重启校园网认证进程
- 因为懒得打开手机,使用游戏手柄来控制米家设备开关
- 给学校青马易战编写刷题脚本,接入AI进行自动作答
这些程序,在Python或JavaScript这类弱类型脚本语言的帮助下,配合AI辅助,可能只需要很短的时间就能实现,同时也能培养开发兴趣
开发需要的基础¶
建议先把C语言和数据结构学好,学习一些编译和汇编知识,了解编辑器里面的一行一行代码是如何在你的机器上运行的
同时可以学习一些封装层次更高的语言类如Go/TS/Java/C++,了解语言之间的区别(编译型,解释型),了解垃圾回收机制如何降低编写代码的心智负担
到这个时候,就可以按照你的需求选择合适的编程语言解决你的需求,编程语言无关优劣,只有适合和不适合,大多数语言学习曲线并不陡峭(有些确实很陡峭),笔者前几个月之前就因为想使用Tauri来构建一个应用而特地学习了Rust
总而言之,开发所需的基础并不多,只需要一些兴趣和够用的学习能力
建立对计算机体系的认知(只是一些参考)¶
- 看CSAPP
- 看各种公开课https://csdiy.wiki/
- 使用Linux系统
使用AI来辅助你的学习¶
AI可以迅速帮助你摘到某领域低垂的果实,使用AI来辅助学习在这个时代是效率最高的方法,使用方法因人而异,这里不进行详细的介绍
推荐的大模型:
Gemini, GPT, Claude, Deepseek
不建议使用国内外非主流模型,好马配好鞍,磨刀不误砍柴工
对于Vibe Coding¶
什么时候使用AI写代码:
- 对这个项目的架构已经设计好了,接下来都是劳动密集型的编码工作
- 需要快速实现一个demo来验证可行性,不在乎代码质量,能跑就行
- 对于AI编码有完善的方法论,而且自己有Code Review的能力
什么时候不要使用AI写代码:
我有一个想法,幻想打开Cursor然后输入简短的Prompt,一直按确认,AI一定会很好的完成这些工作
提高开发能力¶
- 参与一些开发类型的比赛,找一个自己感兴趣的选题然后开写
- 参与开源项目,提一些PR