- 积分
- 366758
好友
记录
日志
相册
回帖0
主题
分享
精华
威望 旺
钢镚 分
推荐 人
|

注册后推荐绑定QQ,之后方才可以使用下方的“用QQ帐号登录”。
您需要 登录 才可以下载或查看,没有账号?立即注册
×
什么是XY问题?
# E5 w$ t/ P3 \4 j" O) ^+ u
+ L, B# }1 m( cXY问题是关于正在尝试的解决方案,而不是实际的问题。无论是对于寻求帮助的一方,还是提供帮助的一方,这都会造成大量时间、精力的浪费。. D. G. |. H' [# [# t( Y
' v$ { b# K# m4 j8 }* o& k; \7 e- 用户想做X。
- 用户不知道怎么做X,但觉得如果能做到Y,就能摸索出解决方案。
- 用户也不知道怎么做Y。
- 用户请求对问题Y的帮助。
- 其他人试图帮助用户解决Y,但却感到困惑,因为尝试解决Y似乎是个奇怪的问题。
- 经过大量互动和浪费的时间后,终于发现用户其实需要X方面的帮助,而Y甚至不是对X的合适解决方案。
; G( O) y3 T0 c4 F2 `. {5 H$ x+ Z
) H7 h! N- n5 L& n9 V当人们被自认为的解决方案卡住,无法退一步完整解释问题时,问题就出现了。
; p9 g* e# [" f$ d( z9 a, k) [% {9 U
示例
5 P/ U6 z3 U' c' I. O) |* m* c/ o. S( L/ U( `8 O
示例1( i/ |/ H/ u5 \) U- v7 S, ^9 I5 _
n00b实际上不想要文件名中的最后3个字符,而是想要获取文件扩展名,为什么要问最后3个字符?
. u" q9 n" H, F* h- <n00b> How can I echo the last three characters in a filename?
! g6 r9 x: M8 x* F/ X k - <feline> If they're in a variable: echo ${foo: -3}
. A* p% r6 f$ @: g. q j) Y - <feline> Why 3 characters? What do you REALLY want?0 V; K6 ]. S. s6 T
- <feline> Do you want the extension?
/ i* [" b" J+ o; v# Q - <n00b> Yes.
: m1 R F7 ~' Q2 y - <feline> There's no guarantee that every filename will have a three-letter extension,
! L, \- B4 }( y+ s8 Q3 Q - <feline> so blindly grabbing three characters does not solve the problem.' Z( {7 r% \ D) V
- <feline> echo ${foo##*.}
复制代码 - O9 @' [1 ], d
示例2+ k0 o+ h; \% F
如果Angela一开始就解释她想防止别人发现她的操作系统,可能讨论会更短、更有成效。1 v1 a, P p# G; s# g* F
- Angela: 'nmap -O -A 127.0.0.1' returns some lines starting with 'OS:'. How to change it?
# ?" `+ {8 R" Z) j+ k - Obama: Look in the sourcecode for nmap, find how it figures out the Linux part, then rewrite your TCP/IP stack to not operate in a way nmap can detect.
! z/ I# T+ Z# L4 W2 h+ c - Angela: Yeah, but I don't know about linux system api at all.
! t: s. O9 O- x4 ?9 u" q5 d - Obama: Well, nmap's fingerprint is based on the way the TCP/IP stack works, there's no real way except to rewrite the appropriate parts of said stack.0 Z6 O# X4 j: D+ ?5 T
- Angela: I really need to avoid these messages. Can iptables do this work?
c4 m' k/ H: I. y& l0 @. G4 @7 t - Obama: Well, don't use OS detection or version scanning
+ x4 M1 S7 |4 O, H - Angela: I want to prevent others from knowing the type of my OS
复制代码 中文出处:https://segmentfault.com/a/1190000044541188/ J ]. T7 V, k% [+ R/ m7 D
英文出处:https://xyproblem.info/ |
|