跳转至

DevSecOps

DevSecOps 是“开发(Dev)+安全(Sec)+运维(Ops)”的组合词,本质是一种理念和实践方法,目标是把安全融入软件开发和运维的整个生命周期

对于想深入DevSecOps领域的朋友来说,我强烈建议从软件开发(Dev)入手。

开发是软件生命周期的起点,亲手写代码是最佳实践。掌握它后,你能直观理解Sec漏洞的成因(通过架构和编码规范防御),也更易上手Ops的自动化部署、监控和脚本技术。

如何开始学习开发?这个问题对每个人来说,解法都不同。我个人的浅见是,先从你生活中的小问题来入手

对于我个人,曾经编写过这些软件(用脚本来描述可能更准确一些)来解决我的一些问题

  1. 为openwrt(路由器系统)编写一个自动检测校园网连接状态的定时脚本,他可以在网络不可达的情况下自动重启校园网认证进程
  2. 因为懒得打开手机,使用游戏手柄来控制米家设备开关
  3. 给学校青马易战编写刷题脚本,接入AI进行自动作答

这些程序,在PythonJavaScript这类弱类型脚本语言的帮助下,配合AI辅助,可能只需要很短的时间就能实现,同时也能培养开发兴趣

开发需要的基础

建议先把C语言和数据结构学好,学习一些编译和汇编知识,了解编辑器里面的一行一行代码是如何在你的机器上运行的

同时可以学习一些封装层次更高的语言类如Go/TS/Java/C++,了解语言之间的区别(编译型,解释型),了解垃圾回收机制如何降低编写代码的心智负担

到这个时候,就可以按照你的需求选择合适的编程语言解决你的需求,编程语言无关优劣,只有适合和不适合,大多数语言学习曲线并不陡峭(有些确实很陡峭),笔者前几个月之前就因为想使用Tauri来构建一个应用而特地学习了Rust

总而言之,开发所需的基础并不多,只需要一些兴趣和够用的学习能力

建立对计算机体系的认知(只是一些参考)

  1. 看CSAPP
  2. 看各种公开课https://csdiy.wiki/
  3. 使用Linux系统

使用AI来辅助你的学习

AI可以迅速帮助你摘到某领域低垂的果实,使用AI来辅助学习在这个时代是效率最高的方法,使用方法因人而异,这里不进行详细的介绍

推荐的大模型:

Gemini, GPT, Claude, Deepseek

不建议使用国内外非主流模型,好马配好鞍,磨刀不误砍柴工

对于Vibe Coding

什么时候使用AI写代码:

  1. 对这个项目的架构已经设计好了,接下来都是劳动密集型的编码工作
  2. 需要快速实现一个demo来验证可行性,不在乎代码质量,能跑就行
  3. 对于AI编码有完善的方法论,而且自己有Code Review的能力

什么时候不要使用AI写代码:

我有一个想法,幻想打开Cursor然后输入简短的Prompt,一直按确认,AI一定会很好的完成这些工作

提高开发能力

  1. 参与一些开发类型的比赛,找一个自己感兴趣的选题然后开写
  2. 参与开源项目,提一些PR