给迷茫的你学习Node.js最好的方法
这是真事儿,在3w咖啡整理书稿,然后小弟梁过来了,聊聊他的现状,一副很不好的样子,在天津我曾带过他大半年,总不能不管,我给他的建议是:“每天看10个npm模块”
对于学习Node.js迷茫的人来说,这是最好的方式,当你不知道如何做的时候,就要向前(钱)看,你要知道积累哪些技能对以后有好处。对于学习Node.js必经之路,一定是要掌握很多模块用法,并从中汲取技巧、思路、设计思想的。与其不知道学什么,为什么不每天积累几个技巧呢?
但这个是有争议的,朋友圈收集的反馈非常直接
- 一天看10个?怎么个看法?
- 每天看10个。。。工作不饱和啊
- 看完能年薪百万不?
- 你说的不对,不在多,在精
- 您说的这个会用任意个包解决过小需求算会么?还是要阅读过文档才能算?
下面我会一一作答
一天看10个?怎么个看法?
这里的10个其实只是个虚数,看个人能力和决心,量力而行即可。
但请一定要能做到每日精进。
Node.js模块在npm上的统计数据表明,截止到今天2017年9月24日,共有55.9万个模块。单日下载在1.5亿次。这么大规模的模块,每天学几个,水平一定会增长的非常快的。
最难的不是下决心,而是坚持!这是最值得自豪的称赞,没有之一!
每天看10个。。。工作不饱和啊
想要成长又不吃苦,哪有这样的好事儿,编程没有捷径的。在我看了每天看10个并不多。
至于说工作不饱和,我不认同。工作多少和有效工作是2个概念,很多人有效工作时间不足2小时…毫不夸张!你不能抽出时间学习,你知道你的时间都用到哪里了么?你真的会时间管理么?
按照柳比歇夫的做法,记录一天看看,你自己到底在什么地方花费时间最多?按照我小弟的说法,基本上白天被中断的时候非常多,各种人来找他,这让他痛苦不堪。其实这事儿非常好解决,你就告诉它:“稍等,我现在在忙,等我5分钟,行不?”,别小看这样的一句话,它可以帮你挡掉80%的中断。
他还说了一个例子,写完功能后,由于没有后台管理,需要他帮测试添加修改数据,基本上一周2天半做功能,另外2天半辅助造数据,我当时就火了,你是不是傻?写个管理后台的crud要多久?为什么要蠢到去手动改数据?明明是自己的方式不对,自己坑自己嘛!将一些重复的劳动消灭,不合理的劳动消灭,争取更多的时候用在写代码和学习上不好么?
看完能年薪百万不?
上面的图里也说了,一般正常工作的人掌握的可能连200个模块都没有,这是很实际的。毕竟大家的不会频繁的切换场景。所以很多人工作很久,还是不知道怎么写开源软件,1)不知道写啥,没思路 2)不会写,没写过。每次看到这样的人都很郁闷,真是可怜之人必有可恨之处啊。
是的,大部分不具备接触更多场景想法的几乎。但是,接触面不够,你又怎么能够做出更好的选择呢?每次大家都说,合适的场景做合适的技术选型,这话基本等于废话,大部分根本不具备这样的能力。我举个例子,Node.js有2个知名的redis库,一个是redis,另一个是ioredis,我一般都是推荐ioredis的,作者是luin,前阿里巴巴工程师,现在是石墨技术负责人。对于ioredis的代码写的非常棒,无论是api设计,还是性能、测试、代码质量等都明显的高于redis库。甚至redis的人找luin要求合并一起基于ioredis写。如果连这么基本的选型的都做不了,只能说明你自己的无知。见得少,不具备区分的能力。而已。
至于年薪百万,身边好多朋友早都到了。这些人大都思维敏捷,思路清晰,无论是在业务上创造价值,还是在架构上降低成本,都是能够把握全局,高屋建瓴,具有俯视视角的人。
大局观好的人真心不多。那么怎么样能够拥有较好的大局观呢?其实还是要多思多看多总结。这不是虚话。第一次当首席被涨工资的时候,还是蛮有趣的。当时公司比较闲,我躲在老板的小办公室(小黑屋),整理了公司所有的产品,屡清楚它们之间的关系,并试图给出解决方案。当时cto刚来,找我聊天,我就给他讲了这些,于是就有机会按照自己的想法来做。
大家都在混日子的时候,才是你的机会。如果真的你能够坚持1年,每天10个,1年至少学会3000个模块,好处是对这些模块更清楚,对node能够使用的场景更了解(大局观),对如何在合适的场景提供更好的选型有更好的理解,最重要的是有恒心,这样的人放在什么岗位都错不了的。年薪百万真的不是梦,但大家不相信的原因是,自己没有做到,也不愿意相信别人能做到。这其实就是成功的人与loser的差距吧。
知名架构师史海峰开玩笑说:“1000元1一个”,算上也差不多,这年头会个express,工资上万也很多吧。
你说的不对,不在多,在精
你说我说的不对,但我却要说你说的对。确实是在精不在多。
但是有一点你错了,上下文说的是当你迷茫的时候。你不知道要怎么学习,那就只能每日精进,别管学什么,只要对最后的目标有益即可。
还要说一点就是,学习之初最好选小模块,避免上来就来大的难的,容易消化不良。而且对于自信心的打击是非常大的。
您说的这个会用任意个包解决过小需求算会么?还是要阅读过文档才能算?
学习当然是要越深越好啦。先会用,然后扒源码,扒套路(开源做法,测试,代码结构,编码规范,开源协作等等)。这个过程开始是无聊的,你会有很多东西都不会。这个时候最好的做法就是一次只多学1个,避免落入长尾陷阱。
等到积累到一定程度的时候,你要适当的总结,大家的玩法哪些是类似的,哪些写法是特定场景的,从而能够理解作者的意图。甚至可以通过代码共享,和作者成为朋友。
掌握了套路后,就是创造的过程了。这才是编程最有意思的开始。
如何学习
推荐一个repo即 https://github.com/parro-it/awesome-micro-npm-packages 小型库集合,一天看十个不是梦!
给迷茫的你学习Node.js最好的方法的更多相关文章
- 从官网学习Node.js FS模块方法速查
最新文档请查看仓库 https://github.com/wangduandu... 1. File System 所有文件操作提供同步和异步的两种方式,本笔记只记录异步的API 异步方式其最后一个参 ...
- 转载:【知乎Live】狼叔:如何正确的学习Node.js
[知乎Live]狼叔:如何正确的学习Node.js 作者:狼叔:i5ting 原文链接:https://i5ting.github.io/How-to-learn-node-correctly/
- 学习node js 之微信公众帐号接口开发 准备工作
绪:因工作须要,近期開始学习Node js,之前隐隐约约听到过node js 但没有实际见到过,仅仅好google了:至于什么是node js,能做些什么,有多么好.或者有哪些弊端我这里就不多说了,由 ...
- 【灵魂拷问】你为什么要来学习Node.js呢?
[灵魂拷问]你为什么要来学习Node.js呢? 学习node.js适合的人群: 需要必备一些HTML,CSS,JavaScript及编程有一定程度了解的读者阅读,一些简单的命令行操作,具备服务端开发经 ...
- 学习 Node.js 的 6 个步骤
第一步 对于刚接触Node.js的新手来说,第一步无非是打好基础,你需要弄明白以下事情: JavaScript 的特性和语法.假如你对 JavaScript 还不熟悉的话,推荐书籍及链接: JavaS ...
- Centos7 中 Node.js安装简单方法
最近,我一直对学习Node.js比较感兴趣.下面是小编给大家带来的Centos7 中 Node.js安装简单方法,在此记录一下,方便自己也方便大家,一起看看吧! 安装node.js 登陆Centos ...
- TODO:Node.js pm2使用方法
TODO:Node.js pm2使用方法 pm2 是一个带有负载均衡功能的Node应用的进程管理器. 当你要把你的独立代码利用全部的服务器上的所有CPU,并保证进程永远都活着,0秒的重载, PM2是完 ...
- 如何系统地学习Node.js?
转载自知乎:http://www.zhihu.com/question/21567720 ------------------------------------------------------- ...
- 学习 node.js 搭建web服务器
开始 学习使用 node.js 首先完成搭建一个 web服务器.myweb.js var http = require('http'); var url = require('url'); var h ...
随机推荐
- 2018/7/18Bad English
1 So instead of enjoying anime because it can portray interesting stories in a form that would be im ...
- 有关keras(Ubuntu14.04,python2.7)
第一部分:安装 由于我的电脑之前已经已经配置好了caffe,因此有关python的一切相关包都已经安装完成.因此,即使不用Anaconda安装依然很简单. sudo pip install tenso ...
- jekins 实现Django项目的自动部署(ubuntu16.04,python2.7,django1.11)
1.依赖的插件 如果插件下载失败 更换源 http://mirror.xmission.com/jenkins/updates/current/update-center.json 因为我们只需要构建 ...
- [原][osg][gdal]两种方式修改tiff高程
因为对于globalmap不熟悉,不怎么怎么修改高程,好像也没有这功能. 干脆自己手动修改了高程图tiff了 由于自身一直使用osg的 自己使用了osgDB直接读取tiff,修改后保存的. 同事小周一 ...
- 算法笔记--sg函数详解及其模板
算法笔记 参考资料:https://wenku.baidu.com/view/25540742a8956bec0975e3a8.html sg函数大神详解:http://blog.csdn.net/l ...
- Lua面向对象 --- 继承
工程结构: BasePlayer.lua: BasePlayer = {} BasePlayer.root = "BasePlayer" function BasePlayer:S ...
- 距离为K的节点 All Nodes Distance K in Binary Tree
2018-07-26 17:38:37 问题描述: 问题求解: 解法一. 第一种解法是使用Graph + BFS.换言之,就是将二叉树转化为无向图,然后在无向图中使用BFS进行层次遍历即可. 这种解法 ...
- CodeSmith无法获取Oracle表注释
如题:安装CodeSmith5.2版本,SQLServer没有任何问题,而Oracle就只能获取列的注释而不能获取表的注释,经过多方面查找资料后找到了一个最重要的解决方案,Sql语句,如下:selec ...
- apktool 打包解包apk的总结
1) 不需要另外下载 baksmali-2.1.2.jar, apktool.jar 好像都包含了. apktool d zhanqi.xxx.apk -o zhanqi 2) smalidea-0. ...
- 查询ORACLE存储关联表
SELECT DISTINCT * FROM user_sourceWHERE TYPE = 'PROCEDURE'AND upper(text) LIKE '%PS_KL_ABS_002_DATA% ...