在第一步之前......
序
我们不得不承认的一点是:当下的计算机专业大环境确实正在变得愈发糟糕。在一定程度上,AI 或许首当其冲地恶化了大环境。过去的4年里,我们见证了开发模式的彻底重写,也见证了学习模式的大翻盘,更是见证了各行各业在 AI 飞速发展下的万般变化。
另外,我们还发现:人们似乎越来越普遍地认为:观看视频比阅读文档(比如说本文)似乎更加有性价比。但是,在 CTF,甚至是计算机科学的世界中,我们能获取到的视频教程内容量,其实远比不上通过阅读文档或者他人的博客的内容量。
然而令我们难过的是:越来越多的新手入门就被各种便捷的工具与 AI 带偏,忽视了基础知识与概念的重要性。他们看到了工具一把梭的便捷,看到了 AI 的强大,看到了私底下 py 的便利。我们靠一把梭工具 + AI + 私下 py 拿了世界冠军,但是请问:我们真正从这场比赛中学到了什么?
所以,在开始我们正式的征程前,我希望能够看到这篇文章的各位,不论你是经验丰富的专家,还是茫然四顾的萌新,我们更希望你能够暂时放下 AI,放下什么都不懂,只想找视频学的心态。在不懂就问 AI、看视频操作之前,先用自己的脑子想一想,先自己上网搜一搜。毕竟用自己的脑子并不消耗 token,上网搜东西找到的文章文档消耗的流量也远比看视频要少得多。我们只需要吃掉两根不拿拿就完全能够补回来刚刚思考时消耗的能量。
本文的目的并不是让各位彻底放下 AI 和观看视频,而是希望能给到各位一个更加科学的自救与自学方法论。我们依旧会使用 AI,也偶尔会录制一些公开课视频发在视频网站上,但或许彻底理解本文后,你会对 AI 的使用、观看视频的必要性,以及自我驱动学习有一种与之前不太一样的理解。
那,我们开始吧。
提问的智慧—公式版
本文采用《知识共享 署名-相同方式共享 4.0 国际》许可协议。简单理解:转载或改编本文时,必须保留原作者署名和原文链接,并且新作品必须采用同样的 CC BY-SA 协议发布。
本文已在GitHub开源,欢迎各位师傅提交issues和Pull Request,帮助我们完善这篇文章!
再说几句
我们注意到即使是在群公告里发布了《提问的智慧》这篇文章,依然有很少人能够深刻领悟到问出一个值得回答的问题的精髓。这里我们给出一个公式,希望你可以先按照这个套路自行解决问题,如果解决不能,再按照要求前来提问。
事先声明:本指南不提供此项目的实际支持服务!
公式:
第一步:观察你的报错信息
很多的报错信息都带了解决方案。比如我们写Python时遇到了报错:
File "<stdin>", line 1
if True
^
SyntaxError: expected ':'这个报错告诉我们:我们的if语句的末尾缺少一个英语冒号。为了修复这个问题,我们需要在这个语句的末尾加冒号。
在这一步,如果你的问题得到了解决,那么就可以到此为止了。恭喜你靠自己解决了自己的问题。
第二步:问AI
现在的AI相当发达,带着我们的问题去问AI,很容易获得我们需要的答案。不过注意:AI生成的内容仅供参考。
同样以第一步的 Python 报错为例。我们可以把报错信息复制,或者截图给AI,问如何解决这个问题,一般AI会给出详细解决方案的。
不过注意:代码bug等强逻辑性的问题,我们依然不推荐使用 AI 来解决。
重要
AI 有时会“幻觉”,尤其对于冷门工具或新版变化。如果 AI 给的命令执行后报新的错误,请回到第一步,并考虑切换到第三步。
第三步:上网搜索
现在的互联网已经十分发达,我们可以很轻易地搜索到各种问题的答案。比如,我们遇到了问题:我想安装Dev-C++。
这里我们当然拿不到报错信息,因为我们压根就没有报错信息,只是我们自己的需求。这时我们就要另辟蹊径,去广阔的互联网上寻找答案。(这里笔者推荐使用必应搜索,广告比百度搜索要少得多。)
搜索也有它的艺术。对我们现在遇到的问题,搜索“Dev-C++ 安装包”这两个关键词即可。
如果你的问题在这里得到了妥善解决,就可以到此为止了,恭喜你再一次靠自己解决了自己遇到的问题。
另外再插一嘴:由于简中互联网(或者叫国内互联网)的特性,我们可能很轻易就点进了一个广告网页,或者下载到一个要你付费才能安装的安装器。这里我们推荐去详细阅读这篇文章,来了解如何尽可能绕过这些广告和付费内容。
第四步:查询文档
有许多问题都是因为你没有按照文档妥善安装导致的。不过也有一种可能是作者本人写的文档就非常非常的烂。我们先排除后者,假设我们遇到的问题出现在一个社区完善,文档完善的应用程序上。
比如,我们遇到了问题:我们安装的GZ:CTF一直启动失败,报错:
bash: docker: command not found这时我们就要去这个项目的文档中寻找解决方案。在“快速上手”中我们很容易看到:我们需要安装docker才能使用GZ:CTF。接下来我们只需按照指引安装docker,大概率GZ:CTF就能妥善启动了。不过也许会遇到其他问题,这时我们再从第一步开始继续自行解决。
第五步:刷论坛/博客
在各种论坛和博客中寻找问题的解决方案,例如StackOverflow,或者相关GitHub项目的issues分区等。有时我们会遇到一些非常奇怪的问题,比如前一天系统还能正常进入,第二天连找都找不到Kali Linux的启动选项。
这种情况下,我们就要提炼关键信息了。结合前面的步骤,显然我们看不到什么报错信息,因为根本就没有。这时先问AI:为什么我的Kali启动项消失了?AI一般会告诉你:引导损坏。接下来我们就可以上网上搜索关键词:“Kali Linux 引导修复”,寻找这个问题的解决方案了。一般这种奇怪问题,个人博客等地方会得到更多答案。(这里实际上结合了第二步和第三步,但核心是:通过论坛/博客找到完整修复方案。)
第六步:提问你的问题
到了这里,如果你的问题依旧存在,连AI大人也帮助不了你的话,那么请按照下面的公式来提问你的问题。
- 你用的什么软件?什么操作系统?
- 报错信息是什么?(建议截图)
- 你尝试了哪些方法?查阅了哪些资料?详细描述,如果能配图配链接更好。
- 你这个软件在哪里获取到的?给出你下载时的链接。
- 你希望程序/系统表现出什么行为?当前行为与期望的差距是什么?
这样来详细描述你的问题,我们可能才会有兴趣来回复你。
注:当向他人询问的时候要保持敬意和礼貌,没有人欠你,也没有人非你不可。我们回答你的问题是因为你的问题值得我们回答,而不是我们有义务回答你的所有问题,还要帮你换个尿布,再拍拍背哄哄你。
但是,如果你已经完成了以上所有步骤,并且按照上面的公式准备好了你的问题的话,我们非常乐意帮助你共同探讨。这正是极客社区的乐趣所在——挑战与解决各种各样的优质问题。
附:其他相关的文章:
- 提问的智慧 原文 中文版
- 毛主席的《反对本本主义》这篇文章
