V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
cs5117155
V2EX  ›  程序员

如何避免解决 A 问题的时候,被转移到 B 问题->C 问题->D 问题.....

  •  3
     
  •   cs5117155 · 2020-09-24 10:14:27 +08:00 · 4783 次点击
    这是一个创建于 1281 天前的主题,其中的信息可能已经有所发展或是发生改变。

    昨天了解一下 mysql 的幻读,然后寻找解决幻读的答案,又会出现关键词mvcc间隙锁,顺着两个关键词寻找我又发现新的Next-key Locks关键词,接着再通过Next-key Locks关键词,又弹出Innodb 锁机制Myisam 锁机制,随着关键词的不断深入,自已会发现不知道看什么内容了,也记不清太多的知识点描述.这样一天时间就浪费了,而问题始终没有解决,只是心里知道个大概样子. 请问你们如何避免这种情况呢

    53 条回复    2020-09-26 12:18:32 +08:00
    wangritian
        1
    wangritian  
       2020-09-24 10:29:45 +08:00
    先简单了解 BCD 的概念,回来看完 A 问题后,再去学习 BCD 的细节
    gugugagadun
        2
    gugugagadun  
       2020-09-24 10:31:45 +08:00
    看书
    kop1989
        3
    kop1989  
       2020-09-24 10:35:09 +08:00   ❤️ 31
    说明你的信息源是垃圾。

    一个好的技术文章,是绝对不会瞎增加概念的。
    打个比方,你想知道 1+1 等于几。好的技术文章会告诉你等于 2,1 个苹果,再加一个苹果,就是两个苹果。所以 1+1=2 。然后 1+1=2 应该在哪里用,不能再哪里用。

    烂的文章会告诉你,1+1 在算错的情况下等于三,0.1+0.1 不一定等于 0.2,懂得都懂,不懂得我也不想说,说就是利益太大。1+1 还有个关键问题就是哥德巴赫猜想……
    反正兜兜转转就是不告诉你等于几,也不告诉你 1+1 的用法和坑。
    zycpp
        4
    zycpp  
       2020-09-24 10:39:15 +08:00 via Android   ❤️ 1
    你这是深度优先学习,想避免的话,可以设置一个最大深度,超过这个深度,就不必要再挖掘了。
    zxCoder
        5
    zxCoder  
       2020-09-24 10:40:57 +08:00
    哈哈 很真实,学习的时候经常会这样
    francis59
        6
    francis59  
       2020-09-24 11:01:10 +08:00
    把 BCD 的问题先记下来,以后再研究
    cs5117155
        7
    cs5117155  
    OP
       2020-09-24 11:04:02 +08:00
    @wangritian 比如我项目明明就要解决 A 问题,可能我理解能力会比较慢,花很长时间去理解 BCD 的概念,这样等于我项目被拖延,好像不太值得呀
    Tloudalo
        8
    Tloudalo  
       2020-09-24 11:05:17 +08:00   ❤️ 8
    这种情况下一般会导致浏览器开好几十个 tab,我一般是针对每个概念都点开 google 前几篇文章

    - 排版差的,不要
    - 过于抽象的,不要
    - 一看就不专业的,不要

    理解要求随离最初目标的距离逐渐递减。
    对概念其实有个大概理解就好,达到真正的学习还是要应用。




    但现实情况往往是,还有 n 个没看突然有事情 /不想学了,点一下 OneTab 然后让它们永久吃灰
    xuxu5112
        9
    xuxu5112  
       2020-09-24 11:08:07 +08:00   ❤️ 1
    把问题 B 、C 、D 当成接口,知道概念即可,细节不要进去。始终关注 A 的流程。
    cs5117155
        10
    cs5117155  
    OP
       2020-09-24 11:08:55 +08:00
    @gugugagadun 我以前也想过看书从 0 开始的,但是后面发现有写书直接告诉你这样,但是在我的认知世界里,觉得为什么要这样运行,会排斥,然后导致过一个月你不用,基本就忘记了
    cs5117155
        11
    cs5117155  
    OP
       2020-09-24 11:13:14 +08:00
    @Tloudalo 你说对我了,有时候我搜索问题,真是会几十个 tab,后面根本就不知道看哪些了.
    达到真正的学习还是要应用。这句很赞同
    wzq001
        12
    wzq001  
       2020-09-24 11:14:13 +08:00
    @kop1989 顶一下#3 楼老哥,好真实的感觉
    xiaojianghu
        13
    xiaojianghu  
       2020-09-24 11:18:12 +08:00
    我也是这样,我觉得这不完全是坏事吧,如果你时间紧张的话,你可以点进去 BCD 先看文章上面的简介再看下最底下的总结,了解个大概再回来看 A 。
    anzu
        14
    anzu  
       2020-09-24 11:31:01 +08:00
    Yak Shaving
    cs5117155
        15
    cs5117155  
    OP
       2020-09-24 11:37:39 +08:00
    @kop1989 这个我也很有体会,记得以前写个 socket 时,网上写让我看 TCP/IP 的书,看完再来写.但是我偶尔看到一个篇文章直接有例子,ctrl+c ctrl+v,改改端口就可以简单使用了,少看很多概念
    ixCHiP
        16
    ixCHiP  
       2020-09-24 11:38:31 +08:00
    @Tloudalo 点一下 OneTab 永久吃灰太真实了
    Bigbelly
        17
    Bigbelly  
       2020-09-24 11:47:55 +08:00
    @kop1989 太真实了吧!
    lewis89
        18
    lewis89  
       2020-09-24 11:52:14 +08:00   ❤️ 1
    你只是缺一本书而已,MySQL 技术内幕 可以看看,虽然很大程度上是翻译官方文档,但是质量还是有保证的
    otakustay
        19
    otakustay  
       2020-09-24 11:56:30 +08:00   ❤️ 2
    这不就是问题不够紧急么,急到线上一分钟 200W 操作,3000W 用户排队等资源,客服和运营拿刀在你身后要你解决,我就不信你还能研究 BCD
    不是说问题都应该这种紧急,而是我们自己内心到底是怎么认定这问题的,是“我就是一定要快速解决它”还是“能解决就解决了,解决不了拖一拖也没事”
    krixaar
        20
    krixaar  
       2020-09-24 12:02:13 +08:00   ❤️ 2
    就好比你要查牛二来解决一个简单的宏观低速问题,本来只是要看 F=ma,结果你手头的教程公式里出现了光速 c,然后你非得想搞明白这是什么鬼,于是去啃狭义相对论,然后感觉牛二怎么这么难,就偏离你的初衷了。
    zjsxwc
        21
    zjsxwc  
       2020-09-24 12:11:44 +08:00   ❤️ 1
    限制搜索 Depth
    littlewing
        22
    littlewing  
       2020-09-24 13:02:22 +08:00
    可以看广度优先遍历
    jdhao
        23
    jdhao  
       2020-09-24 13:38:29 +08:00
    在你的知识不够广的时候,很容易遇到这种问题。可以先解决最相关的问题,其余引出的问题,如果有时间,再去深入理解。
    laqow
        24
    laqow  
       2020-09-24 13:42:49 +08:00 via Android
    就是相关领域的基础不扎实,但不可能每件事都等扎实了才做,所以掌握到能把相关关键词记住,需要的时候能 google 出来就可以了
    anthow
        25
    anthow  
       2020-09-24 14:11:38 +08:00
    可以把这个过程整个一个脑图,就成体系了
    banishee
        26
    banishee  
       2020-09-24 14:37:51 +08:00
    同好,我也一直有这个烦恼,还是因为技术太菜了
    bjking2014
        27
    bjking2014  
       2020-09-24 14:42:53 +08:00
    要学会抓大放小,了解 mvcc 和间隙锁已经足够解决幻读问题了。就此停住就行,你要解决的是幻读问题而不是 MVCC 的底层原理
    HENQIGUAI
        28
    HENQIGUAI  
       2020-09-24 14:48:51 +08:00   ❤️ 4
    HENQIGUAI
        29
    HENQIGUAI  
       2020-09-24 14:49:28 +08:00   ❤️ 2
    @HENQIGUAI #28

    X-Y PROBLEM
    blindie
        30
    blindie  
       2020-09-24 15:03:39 +08:00 via Android
    当黑盒就可以
    cs5117155
        31
    cs5117155  
    OP
       2020-09-24 15:30:13 +08:00
    @krixaar 你说好对,有时候做其他事情,有时也会无缘无故偏移初衷了
    cs5117155
        32
    cs5117155  
    OP
       2020-09-24 15:31:16 +08:00
    @jdhao 这个也是一个原因,知识不够广度,每次都能听到新技术名词
    xwhxbg
        33
    xwhxbg  
       2020-09-24 15:34:40 +08:00
    信息源垃圾+1,这种跟我遇到很多大学教授一样,出来就各种名词堆砌,其实问题很简单,底层细节完全不需要暴露
    cs5117155
        34
    cs5117155  
    OP
       2020-09-24 15:45:19 +08:00
    @HENQIGUAI 这个链接内容我喜欢,太有意思了
    wangritian
        35
    wangritian  
       2020-09-24 15:54:03 +08:00
    @cs5117155 理解概念类似于阅读一个函数的参数和返回值,或者一个接口的文档。比如间隙锁是范围多行锁,就可以了
    luohuanlh
        36
    luohuanlh  
       2020-09-24 16:09:29 +08:00
    @kop1989 那么问题来了,优秀的信息源该如何快速找到?
    kop1989
        37
    kop1989  
       2020-09-24 16:22:53 +08:00
    @luohuanlh #36
    我想了想,有两个方向:
    一个是可以灵活运用带评分机制的社区,比如栈溢出,比如国内的仿品思否。充分利用社区的筛选机制,高赞最起码不会太差。如果问题覆盖范围相对大(不好检索),而且并不是具体问题的话,比如 lz 说的“mysql 幻读”,可以尝试拆解、改变描述问题。

    一个是多点开几个“科普”这个问题的文章,快速浏览其行文,如果出现 A 就是 B,C,然后 D,且自己读不懂的这种句式,果断右上角 x 掉。

    比如还是 lz 幻读的这个例子。对于我这个 DB 白痴而言,https://segmentfault.com/a/1190000016566788 这篇文章就是典型的垃圾(对我个人而言),不是说他写的不对或者技术不好,是我看不懂😂,我看了一页依然不明白到底什么是幻读……

    但这个文章就说明白了: https://database.51cto.com/art/201905/597093.htm ,而且这篇文章详细阐述了浏览这篇文章所需的技术基础。我就明白了这篇文章的技术深度以及知识依赖,是有限度的,也能预估我的学习时间。

    总结:利用社区筛选+快速挑选适合自己知识储备的文章。
    Hodor
        38
    Hodor  
       2020-09-24 17:48:46 +08:00
    C 和 D 问题,不必知道原理,能用就行。
    URGERKING
        39
    URGERKING  
       2020-09-24 17:48:53 +08:00 via Android
    就我个人经验而言,如果 BCD 问题不是太过于复杂(不如在两小时内能够理解明白)或者又跳到 EFG,
    应该看完的比较好

    总感觉讲了个废话 ww
    URGERKING
        40
    URGERKING  
       2020-09-24 17:51:58 +08:00 via Android
    @krixaar #20 可是如果能啃透对于问题来说一般都是好的
    vindurriel
        41
    vindurriel  
       2020-09-24 20:43:41 +08:00 via iPhone
    磨刀不误砍柴工 任何领域的知识都是有限的 我现在看到不认识的词会很开心
    jeeyong
        42
    jeeyong  
       2020-09-25 00:47:11 +08:00
    说明懂得不够多
    godblessumilk
        43
    godblessumilk  
       2020-09-25 01:10:02 +08:00 via Android
    我最近在恶补上学时候学的 cs 专业课,因为越来越发觉这些才是内功,尤其是编译原理,操作系统,计算机组成原理,计算机网络,如果这些学得好,mysql 这种应用层的玩意儿几天就能上手。。。
    Jooooooooo
        44
    Jooooooooo  
       2020-09-25 02:00:06 +08:00
    说明知识面太窄了

    我研究锁的时候才接触到 MESI 然后 CPU 那一套内存一致性的问题才真正了解
    raaaaaar
        45
    raaaaaar  
       2020-09-25 07:57:14 +08:00 via Android
    这就是我的日常学习状态。。
    krixaar
        46
    krixaar  
       2020-09-25 08:40:45 +08:00
    @URGERKING #40 “透”也分三六九等,啃到分子就能解决问题的话,硬啃到夸克确实够透了,但是不见得对于分子级别的问题有多大帮助。还是像#4 说的,啃到一个能解决问题的深度就可以停了。
    kamal
        47
    kamal  
       2020-09-25 09:45:43 +08:00
    @Tloudalo #8 老哥明白人,特别有感触,排版差的内容一定差。
    内容农场爬多家网站,样式都不会重新整理,能塞进去就行,只让搜索引擎看到文字就行。
    cs5117155
        48
    cs5117155  
    OP
       2020-09-25 09:45:56 +08:00
    @Jooooooooo 都研究那么深入的吗,刚刚我又把你关键词`MESI`搜索了一下,不然再往下深入了
    raptor
        49
    raptor  
       2020-09-25 09:49:49 +08:00
    @kop1989 其实根本原因是这种烂文章的作者自己也不懂,内容都是东拼西凑的。
    cs5117155
        50
    cs5117155  
    OP
       2020-09-25 11:51:23 +08:00
    @raptor 确实,有些文章我也觉得那个作者究竟会不会的
    luohuanlh
        51
    luohuanlh  
       2020-09-25 22:38:46 +08:00
    @kop1989 我在想能否弄一个访微信阅读里面的机制。就是提问里面,关键词又成为了问题。很多人给出自己的评论和链接。通过这些链接再找到知识的出处,构建成知识体系。毕竟,知识还是要成系统才能被认知。
    hyperbin
        52
    hyperbin  
       2020-09-26 12:00:24 +08:00 via Android
    @kop1989 百度知道:1+1=男科医院
    tkl
        53
    tkl  
       2020-09-26 12:18:32 +08:00
    知识点从来都不是一座座孤岛,而且一张张错综复杂的蜘蛛网,还会有各种各样的跨学科问题,比如造 CPU 。

    现在的计算机科学经过前人的不断完善,各种封装,可以很简单应用于各行各业,但是当你想要了解内部的原理,只能一层一层的打破沙锅问到底。

    还有经常说的结果导向和过程导向,当你遇到问题可以 google 一下,面向 stackoverflow 编程,但是当你找原因,写回答的时候才能真正考验你的能力。

    我希望自己逐渐成为后者。

    怎么还扯到 XY 问题?
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   我们的愿景   ·   实用小工具   ·   3249 人在线   最高记录 6543   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 29ms · UTC 12:01 · PVG 20:01 · LAX 05:01 · JFK 08:01
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.