关于学习材料的疑问,这个问题困扰我很久了,求过来人解答

2022-05-09 08:20:29 +08:00
 liangkang1436

当我想要学习一项技术并开始搜索相关技术博客的时候会搜索到很多文章,这些文章之间差别很大,虽然说的都是同一项技术,但是表述方式,深度,都不一样,有客还会有错误,作为一名技术学习者真的不知道如何选择, 后来,实在是懒得选择了,我开始尝试直接去看官方文档和源码,得益于自己英语的底子还不错,能学得下去,学习的效果也还不错,经常能有心得体会,对架构,对技术的全貌和能力边界都有切实的理解,但是这种学习方式太慢了。太慢了,源码就不说了,光 apache 的那个官方文档就好长,别人在这个技术上可能就花一个星期,我得花一个月还不止。求大佬解惑,我到底应该怎么学习。

5366 次点击
所在节点    程序员
57 条回复
lamCJ
2022-05-09 19:31:33 +08:00
同感,项目技术文档和功能实现脱节大部分都有,只是看严不严重,一般团队越大越专业的软件团队 /公司情况越好。毕竟写好和维护文档的及时性要很多精力。

不过问题也不大,肯定还是会看文档,如果文档不完善,踩坑较多就去看代码的命名,注释,测试用例,issue 这些,如果写的好的代码,基本上折腾一点时间也能解决问题。

如果还不行就要考虑弃坑了。除非你是纯学习目的,或者需求非用不可没其他选择的情况,我觉得没必要浪费时间看太多源代码。
zooo
2022-05-09 19:52:25 +08:00
关于学习,这个话题让我想起,阮一峰的一个博客
https://www.ruanyifeng.com/blog/2022/04/weekly-issue-202.html
liangkang1436
2022-05-09 21:59:59 +08:00
@zooo 谢谢分享,我去学习一下
Euthpic
2022-05-09 23:37:44 +08:00
估计你搜索用的关键词只是简单的"log4j",所以会看到大量入门文章.稍微加下关键词,比如 log4j 的某某特性,你会发现有很多精彩的资料
liangkang1436
2022-05-09 23:49:19 +08:00
@Euthpic 我是在 log4j 官方文档里找的推荐教程博客
FrankHB
2022-05-10 01:44:19 +08:00
如有可能,尽量看第一手来源。
一般来讲,不要指望别人消化过给你反刍(……D 区.jpg )出来的东西的内容质量,包括纸质出版物,因为本质上对作者的能力和责任心没有门槛限制(说不定理解能力比你还烂),于是跟你花时间踩坑跟随便看什么网文没根本差别。(这种类型的文献里最靠谱的一类也许是综述论文,对作者要求比较严格,写太烂可能圈内社死。)
就算恰好你看到的二次来源没有误导也没有明显的废话,你仍然几乎没可能确保甚至确认里面有没有相对遗漏重要的东西(这个“能力边界”的问题你自己也发现了)——如果一旦需要更权威的来源,那这里看的基本就是沉没成本——因为横竖都得重新过一遍,才能确定。如果你没有事先从一手来源熟练提炼内容的本事,这里阅读的复杂度就是 O(n)往上。
这特别针对“学习笔记”。你不是作者的导师,你没义务花精力替作者审查内容。——别信多看别人的文章就能加深理解的鬼话:这类文献中自己的独创的启发性理解通常极其稀薄,除非你是要学习写作文,否则基本不如直接看书。
博客类的内容,你只适合看发表明确带有具体观点的评论、关于某个时事(可能是当事人观点或者小道消息)的独家报道或者解决极其具体问题的实例,这些内容就是一手来源,不需要寻找更权威的替代。
有权威背书的教程可以看,但是这算是降低门槛(降低读者理解的门槛和作者推广的门槛)用的。如果你恰巧已经对理解一手来源没有障碍,看这种内容还是免不了浪费时间。此时,通常只有在你需要向其他人言传身教时,才有必要参考这些内容。
内容太多不是问题,因为看技术文献本来就不应该通读。如果你觉得自己不能很快通过阅读 preface/foreward/introduction 和有限的正文快速找到感兴趣的内容,说明你现阶段可能不够具备这个能力。这时候,看权威推荐的教程可能更适合你。但这基本可以肯定花(相对)更长的时间——这是无解的,毕竟内容的数量摆在那;况且教程类的东西经常强调非引用性照应说不定还穿插习题,额外开销就更难压缩到 O(n)以下了。
FrankHB
2022-05-10 02:08:45 +08:00
@zooo 我太不同意这里提到的几个说法。
1.正因为记忆力如此重要,才不应该浪费在机械背诵上。
最应该花费记忆的是存那些帮助你找到第一手资料的索引,包括自己阅读技术文档后形成印象——而恰恰不是原文。这样才有可能接近及时获取所需的持久信息的效率的最大化。(当然,看多了自动记住了的东西也不需要刻意忘掉。)
不能上网被逼得记住东西,和你看多了自然记住的东西,即便表面看起来相同,实际上用起来的熟练程度也完全是两码事。
所以看起来最笨的方法,虽然实际不一定是最笨的,但的确是比较笨的;这种看似主动实际被动记忆技能,属于 features of the last sorts 。
如果自己没有形成索引的能力(这其实就是看一手资料提取感兴趣信息的能力的主要部分),那么看二手来源也是可以的,但应该筛选。最有价值记住的是那些容易关联到比较查验权威性的一手来源的资料上,包括综述论文;另外的例子是英文维基百科条目名(虽然不是每个条目都配得上浪费记忆;反正不少条目可以内链间接索引到)。
2.“大量的练习”没有错,但是这里没明说的是,怎么度量“大量”。
实际上,大量不是单独看你处理了多少字面上的材料,而是有使用经验的加权。
比如上面提的,为什么自然记住的东西比强行去记住有效?因为前者通常就是大量使用的结果,跟只是记住完全不是一个概念。
3.专业技术证书是服务于特定的行业和特定的人的,其中的含金量很大来源于“承认”。
这不是你最终能从学习里获得足够回报的保证,例如你不去某些职位工作这些证书可能就一文不名。
如果没有被特定涉众承认的刚需,偏离自身需要去考证可能得不偿失——学了很多实际没用的内容,和被迫通读技术文献中无用的细节浪费的资源效果是类似的,甚至还不如后者能高(装)大( 13 )上一点。
FrankHB
2022-05-10 02:14:05 +08:00
@FrankHB 淦,不知道我这里回复框怎么抽风,贴过来几个地方语序乱了……
……算了,不一个个纠正了,反正汉顺字序不影响阅读(
em70
2022-05-10 04:08:15 +08:00
你的学习方法是应付学校考试那一套,根本不适合技术学习,技术是依赖实践的,你的学习方法好比看书学游泳,看书学开车一样荒唐可笑. 技术正确的学习方法是目标驱动,比如我一看 log4j2,可以做企查查,天眼查那种公司关系图谱啊,那我就做一个天眼查呗,带着这个动机,我就可以不断产生问题,然后查资料,写代码,调试代码,把东西做出来我就掌握这个技术了。你的动机要是为了面试,为了考证,你学的全是纸上谈兵
liangkang1436
2022-05-10 07:36:17 +08:00
@em70 别说的这么绝对,官方文档里有大量的示例代码,我基本上都会自己实践一遍帮助理解
zooo
2022-05-10 11:43:31 +08:00
@FrankHB
阮一峰的博客只是一种观点
有些我也不认同

copy 下,以前 v 站别人的观点,供大家学习
学习的两种模式
1) 工作模式
工作任务都是有 deadline 的,一定要**不求甚解**,**追求速度**,以解决工作任务为第一要务,这样能迅速的积累信心,了解你正在干的到底是什么事情,你正在使用的技术是个什么样子,**千万不要打破砂锅问到底,这样会浪费大量的时间**。并且以使用为导向,工作能力也会迅速提升,做好第 1 点,基本上职场就没什么大问题了。
2) 原理学习
就是你目前感觉效果不错的方法,这种适合**业务的积累与提升,决定了你职场的上限**,这点大部分人其实做得不好,有的人一辈子都不做深度学习,其实也什么大关系。

上面的都出自 v 站别人的帖子,非原创,只是收集下来了,供大家学习。
zooo
2022-05-10 11:45:53 +08:00
那么关于 2 )原理学习,自然就需要深入学习,求甚解,这样也方便 理解记忆 !
而对于 1 )的模式,不用记忆,通过不断的应用实践(用多了),自然就记住了;或者说是对于最最常用的知识点,刻意记忆。
zooo
2022-05-10 11:48:16 +08:00
对于应该用第一种模式学习的,千万不要用第二个模式,既浪费了时间,又会因为学习成本大,而落后于别人,落后于市场。

那么,学习的第一步是分清这两种情况。
zooo
2022-05-10 11:53:42 +08:00
对于:别人在这个技术上可能就花一个星期,我得花一个月还不止
可能这个技术学习就是第一种情况,工作模式,会用,解决实际问题了,就是好的学习,跟紧需求,更上一层是跟紧市场。

对于:说白了,我看了官方文档之后,才知道 log4j2 能干哪些事(能力边界),但是光是看 log4j2 的官方文档
明确需求后要先去做调研,调研有各种渠道,问大佬,问前辈,发帖子,google 搜索,问同行公司等等。
只要调研清楚后,你大概就对不同的技术的能力边界(功能)了解,然后再是技术选型(选择哪个工具),再学习(通常调研后,通过判断你会觉得当前学习的技术最适合学习 or 应用,最有价值)。
liangkang1436
2022-05-10 12:15:27 +08:00
@zooo 一针见血地指出了我的问题
em70
2022-05-10 12:53:51 +08:00
@liangkang1436 #50 在驾校里天天练过桥,爬坡,学了还是不敢上路,经验学科需要实战,实践遇到问题再去看理论,工程师又不是科学家
Dlin
2022-05-10 17:08:33 +08:00
@beisilu 卧槽,我笑了,哈哈哈,

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/851637

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX