草庐IT

如何快速而优雅的解决问题(提问的智慧简略版)

AirLongDian 2023-06-20 原文

如何快速而优雅的解决问题(提问的智慧简略版)

提问的智慧原文链接

不要随便提问!!

不要随便提问!!

不要随便提问!!

在各种解决基本技术问题的方式里,在qq群或者私聊里提问,是你所能操作的方式里最慢,效率最低,成本最高,而且你能学到东西最少的解决方式!!!

请不要过高的估算自己的问题难度,截止2202年,这个世界上有38亿人在互联网上活跃,通常情况下,你们所遇到的问题中的绝大部分都已经有无数的前车之鉴将解决方案糊在了网上!

打开浏览器,然后打开谷歌或者百度或者搜狗或者雅虎或者360搜索或者任何其它的搜索引擎(你们有多么多的选择啊),然后搜索你所遇到的问题,(请务必精准简洁的概括你的问题,如果你搜索“救命啊,我的电脑坏了,有人能帮我吗?xxxx坏了!”纯属自己作死,请不要说自己是工程师,谢谢。),通常情况下使用搜索引擎是大部分问题最快捷的解决方式。

而且通常情况下,软件手册,技术文档,论坛文章作者会更加深切透彻的描述一个问题产生的原理,从而使你学到更多的东西,好比装GCC编译环境,如果你搜索 “GCC 编译环境配置 ”,你会得到很多篇教程并在自己动手的过程中学会GCC环境的配置,但如果你问我“喵,我不会配置GCC环境”,我会从你手里接过电脑然后顺利的配置好环境再递给你。

然后下次你还是不会装GCC。

在你准备要提出技术问题前,请你务必先做到以下事情:

  1. 尝试在你准备论坛的文章中搜索答案。
  2. 尝试上网搜索以找到答案。
  3. 尝试阅读手册以找到答案。
  4. 尝试阅读常见问题文件(FAQ)以找到答案。
  5. 尝试自己检查或试验以找到答案。
  6. 向你身边的同学老师打听以找到答案。
  7. 如果你是程序开发者,请尝试阅读源代码以找到答案。

草率的发问只能得到草率的回答,或者根本得不到任何答案。如果你什么都不做就去技术圈提问的话有很大的概率会收到以下两种答复

  1. RTFW
    • 有一个古老而神圣的传统:如果你收到RTFM (Read The Fucking Manual)的回应,回答者认为你应该去读他妈的手册。当然,基本上他是对的,你应该去读一读。
  2. STFW
    • RTFM 有一个年轻的亲戚。如果你收到STFW(Search The Fucking Web)的回应,回答者认为你应该到他妈的网上搜索。那人多半也是对的,去搜索一下吧。

通常,用这两句之一回答你的人会给你一份包含你需要内容的手册或者一个网址,而且他们打这些字的时候也正在读着。这些答复意味着回答者认为

  • 你需要的信息非常容易获得
  • 你自己去搜索这些信息比灌给你,能让你学到更多

你不应该因此不爽;依照技术圈的标准,他已经表示了对你一定程度的关注,而没有对你的要求视而不见。你应该对他祖母般的慈祥表示感谢。

而且即使他没有附文档给你,甚至完全没有回复你,你也不应感到气愤。

提问的本质上是在为了解决自己的问题而消耗别人的时间,别人没有牺牲自己时间,用自己多年知识储备帮你解决问题的义务,毕竟时间是很宝贵的而你又不给钱。

当然,大多数时间下你给钱也不行,能来混技术圈的谁差你那点钱,你是在侮辱谁吗?

(如果你给的钱多的话另当别论,比如假如你给我100万元教你装个系统,那我当场买机票飞到你那里准备好全套工具温声细气有问必答的手把手教你,包教包会教到你会为止)

---------------------------------------

解释:关于一些看起来很无礼的发言:

很多技术圈子中看似无礼的行为并不是存心冒犯。相反,它是直接了当,一针见血式的交流风格,这种风格更注重解决问题,而不是使人感觉舒服而却模模糊糊。

如果你觉得被冒犯了,试着平静地反应。如果有人真的做了出格的事,邮件列表、新闻群组或论坛中的前辈多半会招呼他。如果这没有发生而你却发火了,那么你发火对象的言语可能在社区中看起来是正常的,而将被视为有错的一方,这将伤害到你获取信息或帮助的机会。

夸张的讲法是:你要的是“友善”(以上述方式)还是有用?两个里面挑一个。

当技术圈的某人说你搞砸了,并且(无论多么刺耳)告诉你别再这样做时,他正在为关心他的社区而行动。对他而言,不理你并将你从他的生活中滤掉更简单。如果你无法做到感谢,至少要表现得有点尊严,别大声哀嚎,也别因为自己是个有戏剧性超级敏感的灵魂和自以为有资格的新来者,就指望别人像对待脆弱的洋娃娃那样对你。

当然,喵通常不会,喵怎么说也是个学长,而且还要尊重自己喵的设定,大部分时候喵会皮一下然后让你自己去搜索,但是在喵使用另一个身份的技术圈,我不确定你们是否看见过喵怼人的聊天记录

-----------------------------------------------

在你确认你尝试了以上各种方法,并花费了至少20分钟以上仍没能解决问题之后,是时候提一个正确的问题来获得自己的答案了。

一个正确的问题是指什么呢?请看以下问题

救命啊!!!急急急!!!!快帮我看看!!!有人能帮帮我吗?我电脑坏了!!邮箱xxxxxxxxxxxxxx!好人一生平安!!

请问这个问题表达了什么?

针对这种问题,我的第一反应是:首先你死不了,然后我一点也不着急,你这么问问题没人能帮你,我知道你电脑坏了但是你啥信息都不说我懒得一句句问,发到你私人邮箱别的遇到这问题的人不就看不到解决方法了吗?所以我还是不理你了吧。

其本质上就是对于那些我需要问一大堆问题才能知道你到底遇到什么问题垃圾提问,我没有那么多闲工夫可以浪费。

一个正确的问题应该怎样表述呢?

以我和zed最近遇到的一个问题为例

首先,问题的最开头或标题处应该以简略但精准的语言表述你遇到的问题

QV2ray连接成功但无法上网

然后在后面加上你所使用的环境,能够找到的报错,以及其它你能提供的信息

Archinux下QV2ray 连接成功但无法上网,vmess无法使用,日志报错read/write on closed pipe;但ssr链接使用正常

然后表示你已经做了哪些努力但仍然无法解决

Archinux下QV2ray 连接成功但无法上网,vmess无法使用,日志报错read/write on closed pipe;但ssr链接使用正常,我通过搜索引擎没有找到相关的资料,试着重装Qv2ray并删除配置文件无效,验证对时显示ntp服务器时间误差为0秒

最后客气的表示希望能得到帮助

Archinux下QV2ray 连接成功但无法上网,vmess无法使用,日志报错read/write on closed pipe;但ssr链接使用正常,我通过搜索引擎没有找到相关的资料,试着重装Qv2ray并删除配置文件无效,验证对时显示ntp服务器时间误差为0秒,请问这个问题大家有解决方案吗?

这样一来大家第一眼就能看到Archlinux,Qv2ray,有所涉猎的人会看一下这个问题自己是否知道,比如看到read/write on closed pipe知道这个人遇到了系统对时错误,再往下看这个人做了很多努力没能解决问题,而且态度很好,我刚好遇到过这个问题,帮他解决一下吧

而如果你的问题是这样的:

“救命啊我FQ翻不出去!我什么都做对了但是它就是不好使,dalao们快出来救救我”

那我想技术圈的很多人只会用看“睿智”的目光看看你的问题,然后把它直接刷下去。

有关如何快速而优雅的解决问题(提问的智慧简略版)的更多相关文章

  1. ruby - 如何使用 Nokogiri 的 xpath 和 at_xpath 方法 - 2

    我正在学习如何使用Nokogiri,根据这段代码我遇到了一些问题:require'rubygems'require'mechanize'post_agent=WWW::Mechanize.newpost_page=post_agent.get('http://www.vbulletin.org/forum/showthread.php?t=230708')puts"\nabsolutepathwithtbodygivesnil"putspost_page.parser.xpath('/html/body/div/div/div/div/div/table/tbody/tr/td/div

  2. ruby - 如何从 ruby​​ 中的字符串运行任意对象方法? - 2

    总的来说,我对ruby​​还比较陌生,我正在为我正在创建的对象编写一些rspec测试用例。许多测试用例都非常基础,我只是想确保正确填充和返回值。我想知道是否有办法使用循环结构来执行此操作。不必为我要测试的每个方法都设置一个assertEquals。例如:describeitem,"TestingtheItem"doit"willhaveanullvaluetostart"doitem=Item.new#HereIcoulddotheitem.name.shouldbe_nil#thenIcoulddoitem.category.shouldbe_nilendend但我想要一些方法来使用

  3. python - 如何使用 Ruby 或 Python 创建一系列高音调和低音调的蜂鸣声? - 2

    关闭。这个问题是opinion-based.它目前不接受答案。想要改进这个问题?更新问题,以便editingthispost可以用事实和引用来回答它.关闭4年前。Improvethisquestion我想在固定时间创建一系列低音和高音调的哔哔声。例如:在150毫秒时发出高音调的蜂鸣声在151毫秒时发出低音调的蜂鸣声200毫秒时发出低音调的蜂鸣声250毫秒的高音调蜂鸣声有没有办法在Ruby或Python中做到这一点?我真的不在乎输出编码是什么(.wav、.mp3、.ogg等等),但我确实想创建一个输出文件。

  4. ruby-on-rails - 如何验证 update_all 是否实际在 Rails 中更新 - 2

    给定这段代码defcreate@upgrades=User.update_all(["role=?","upgraded"],:id=>params[:upgrade])redirect_toadmin_upgrades_path,:notice=>"Successfullyupgradeduser."end我如何在该操作中实际验证它们是否已保存或未重定向到适当的页面和消息? 最佳答案 在Rails3中,update_all不返回任何有意义的信息,除了已更新的记录数(这可能取决于您的DBMS是否返回该信息)。http://ar.ru

  5. ruby-on-rails - 'compass watch' 是如何工作的/它是如何与 rails 一起使用的 - 2

    我在我的项目目录中完成了compasscreate.和compassinitrails。几个问题:我已将我的.sass文件放在public/stylesheets中。这是放置它们的正确位置吗?当我运行compasswatch时,它不会自动编译这些.sass文件。我必须手动指定文件:compasswatchpublic/stylesheets/myfile.sass等。如何让它自动运行?文件ie.css、print.css和screen.css已放在stylesheets/compiled。如何在编译后不让它们重新出现的情况下删除它们?我自己编译的.sass文件编译成compiled/t

  6. ruby - 在 64 位 Snow Leopard 上使用 rvm、postgres 9.0、ruby 1.9.2-p136 安装 pg gem 时出现问题 - 2

    我想为Heroku构建一个Rails3应用程序。他们使用Postgres作为他们的数据库,所以我通过MacPorts安装了postgres9.0。现在我需要一个postgresgem并且共识是出于性能原因你想要pggem。但是我对我得到的错误感到非常困惑当我尝试在rvm下通过geminstall安装pg时。我已经非常明确地指定了所有postgres目录的位置可以找到但仍然无法完成安装:$envARCHFLAGS='-archx86_64'geminstallpg--\--with-pg-config=/opt/local/var/db/postgresql90/defaultdb/po

  7. ruby - 如何将脚本文件的末尾读取为数据文件(Perl 或任何其他语言) - 2

    我正在寻找执行以下操作的正确语法(在Perl、Shell或Ruby中):#variabletoaccessthedatalinesappendedasafileEND_OF_SCRIPT_MARKERrawdatastartshereanditcontinues. 最佳答案 Perl用__DATA__做这个:#!/usr/bin/perlusestrict;usewarnings;while(){print;}__DATA__Texttoprintgoeshere 关于ruby-如何将脚

  8. ruby - 通过 rvm 升级 ruby​​gems 的问题 - 2

    尝试通过RVM将RubyGems升级到版本1.8.10并出现此错误:$rvmrubygemslatestRemovingoldRubygemsfiles...Installingrubygems-1.8.10forruby-1.9.2-p180...ERROR:Errorrunning'GEM_PATH="/Users/foo/.rvm/gems/ruby-1.9.2-p180:/Users/foo/.rvm/gems/ruby-1.9.2-p180@global:/Users/foo/.rvm/gems/ruby-1.9.2-p180:/Users/foo/.rvm/gems/rub

  9. ruby - 如何指定 Rack 处理程序 - 2

    Rackup通过Rack的默认处理程序成功运行任何Rack应用程序。例如:classRackAppdefcall(environment)['200',{'Content-Type'=>'text/html'},["Helloworld"]]endendrunRackApp.new但是当最后一行更改为使用Rack的内置CGI处理程序时,rackup给出“NoMethodErrorat/undefinedmethod`call'fornil:NilClass”:Rack::Handler::CGI.runRackApp.newRack的其他内置处理程序也提出了同样的反对意见。例如Rack

  10. ruby - 如何每月在 Heroku 运行一次 Scheduler 插件? - 2

    在选择我想要运行操作的频率时,唯一的选项是“每天”、“每小时”和“每10分钟”。谢谢!我想为我的Rails3.1应用程序运行调度程序。 最佳答案 这不是一个优雅的解决方案,但您可以安排它每天运行,并在实际开始工作之前检查日期是否为当月的第一天。 关于ruby-如何每月在Heroku运行一次Scheduler插件?,我们在StackOverflow上找到一个类似的问题: https://stackoverflow.com/questions/8692687/

随机推荐