这是我在自学一门技术语言的时候的焦虑,不知在自学当中(或者是在校学习当中)你是否也有这样的感受,希望得到共鸣。
本文从以下几点章节讨论“自学中的焦虑”:
关于书籍与网络教程、想法与学习的冲突、知识库储备管理工具的选用、学习环境及周边以及后记来讨论。
如果有类似经历以及提出更好的解决方案,欢迎评论留言。
关于买书,自己需要的是确定一个大方向,需要学习哪一门语言,对于书籍的选择似乎自己的“界限”^1也是很明确的。
对于技术书如果图很多,就觉得不像是技术书^2;字很多,又觉得非常枯燥难以看的下去[^3]。
以下是关于“自学”中买书的几个常听到的说法,也是比较受到影响的:
自己买书的时候往往是先看书里的目录,往往是看自己是否可以学的下去,之后再入手。
对于纸质书,自己还是更喜欢可以随时翻阅,电子书看的就比较累,可是最为方便的就要属直接翻译以及记笔记了,还有敲代码。
在学习《第一行代码Android》时,看到大段代码,总有 打开GitHub链接下载源码 的冲动,可是却又担心学不到东西(因为直接复制粘贴),当然我也知道 添加注释 是很好的学习方法,我之前也这么做。
如果是视频教程,也确实有用,例如 YouTube 上有很多Tutorial。
是否买这本书?买来之后会怎样看?是否可以看的下去?或者直接上网找教程,会来的更快。
说完了买书,就来说说拆书。
我可能有一种“罪恶感”,即不看完一本是应该不会拆另一本的——即使有一种“看看试试”的错误想法,好的是我这种想法是不会再有了,也不应该有。
说拆书,建议还是先拆入门书,这也是应该要有的顺序。
最近在写一些复盘笔记的时候专门是一些控件,学习的过程当中会产出一些自己觉得非常棒的东西,便在平台上分享,往往这些东西在写的时候就需要查找大量资料,众所周知,很容易在一篇文章里面讲不清楚或者没有讲到位,则需要多看。
但也正如我们所知道的一句话
免费的就是最贵的
因为免费的内容需要自己筛选,内容的质量好坏与否需要自己鉴别,需要付出时间成本筛选。
正是因为这个原因以及自己在开发过程中的疑难杂点,自己尝试做了这样一个错误集合,希望在开发的过程中遇到了问题就直接在这里找答案而不是上网搜集。
传送门: FelixXiong/Xcode-Error-Collection
同时,我也在做着android错误集合,无奈打开gitBook是非常的慢,尝试是否放到GitHub的一个Repo里,和Xcode错误集合一样。
自学的焦虑: 赶不上风口 , 急于求成 与 浮躁 则是很关键的点,也可能是很多人觉得焦虑的一点:枯燥。
我因为有十几个产品想法驱动,所以并不觉得枯燥[^4]。
在这里我请教过两位独立开发者:随你们去和 KyXu(掘金主页) ,他们都建议需要有产品的目标,之后直接去做,我则是受这种思维所影响 ,可是在实际开发的过程中则是遇到了坎,我有一天在一些群中提问的时候发现是Java基础确实的问题。
或回答这个标题,或许这也算不上是冲突,可以 边学边做 ,这也是目前非常使我疑惑的一点。
Q:自己有产品想法,是直接做产品还是看完教程再去做?
这个问题困扰了自己很久,大致有几个月了。
Q:如果我看完了基础,自己想做的东西已经被BAT做出来了怎么办?
A:看教程的时间或许可以多敲几行代码,多定义几个成员变量,多在pocket里添加几个相关文章,甚至是存一些微信公众号文章在印象笔记里了。
既然学习了,就需要管理自己的知识库,有所收获。
从产品的角度来说, Xmind 是互联网人必须要掌握的一个工具,就和程序员必须要会 Axure ,设计师必须要会 Sketch 以及 principle 一样。
目前的做法是做笔记,将自己觉得有用的作为代码进行记录,可是怕的是最终,就成为“复刻版”的书籍,或者说是经过自己理解的笔记和书籍了,这就是笔记的误区。
更重要的还是“务实”。
思维导图的好处可以是循序渐进的,我之前写过一篇文章(软文)是关于我在学校使用思维导图进行的思维发散的作用:
也可以运用在Java以及任何一门语言的学习中。
我目前使用 Pocket 进行技术文章的分类与管理,印象笔记存储一些产品和设计相关的文章,笔记用 Typora 写markdown,正在寻找更好的笔记管理的工具。
RSS我也有看,但看的很少,准备取消订阅一些源了。
之前使用Instapaper,准备转向Pocket和印象笔记。
最终去向就和所说的,“稍后阅读”-“再也不读”,好的是使用Pocket之后我会进行再次查看,不是“再也不读”,而且频次还很高。
尝试将笔记完全迁移到 GitBook ,因为国内访问速度太慢。国内即使有例如“ 看云 ”“ 易文档 ”等,国内的软件UI设计是一方面,安全性以及数据存储又是另一方面。
我在记笔记的时候有一个需求,即“markdown生成PDF”文件,目前有Mweb(Mac)、bear(Mac)可以满足需求,但由于界面不习惯/不满意或者是其他原因,导致目前仍在使用本地文件夹存储的方式。
我购买了字节跳动大佬的《Mac高效开发指南》(小专栏),当中有好用的自动流程shell、Chrome脚本扩展以及vscode最佳实践,还有Mac实用的工具可以提高开发效率,推荐给大家,点下方购买:
向大家推荐《Mac 高效开发指南》 https://xiaozhuanlan.com/Effective-Mac?rel=2786045231
看书一定要集中精力看,因为环境的原因(家中总是被告知喝水、休息和其他打扰),使得时不时被打断,则是无法进入良好的自学状态的——或者,是依然没有沉下心。
曾经有一项研究说的是,当人在做一件事情的时候被打扰一下,就需要20-30分钟回到当前的状态,我觉得编程也是如此。记得是在 韩金乌 或是 崇旭 老师说的[^5]: 当接到一件事情的话可以判断是否在3分钟之内做完,如果做完就可以结束这件事,做不完的话则可以先加入待办事项清单中。
这也是我目前在使用的一个方法。
如果有更多的设备,技术良好之后可以进行多屏幕的适配而不是用虚拟机。
代码本来就小了,就别为难自己了,为了保护眼睛等种种借口与理由,直接入一个三星的带鱼屏吧,人生苦短,该需要还是就需要。
现在的时代是只要想就可以接触到任何前沿技术的时代,如果你在自学中出现了和我一样的焦虑,欢迎提出你的解决办法。
我目前在学习的是Java、Android、HTML、CSS以及JavaScript,欢迎和我一起学习。
我的个人博客:故事熊,如果本篇文章对你有帮助,别吝啬下方的打赏按钮,如果有任何想法,欢迎评论留言探讨。
[^3]: 例如 《JavaScript权威指南》(犀牛书) 和 《Java编程思想(Think in java)》 。此处链接为当当购买链接。
[^4]: 目前我仍没有一个详细的我的想法文档,在等待合适的人。或许更重要的我觉得是需要和现实中的人说,因为网络上的人的交流,只要没有落在合同中的明文规定,都无法保证idea以及商业模式的落实以及著作权和归属,已经遇到了这种情况。如果你觉得真的想和我做一些事情并且可以来南京,欢迎给我发邮件: holothemixet@gmail.com ,我随时期待你的邮件。
[^5]: 爱范儿旗下的MindTalk中的某一课,此处应有网页快照,因为已经下线了。