俗话说一天不读书,没人看的出;两天不读书,开口会爆粗;三天不读书,智商输给猪。所以,为了让自己的“智商”保持在pig之上,都会逼着自己每天读点东西^_^。但身处信息大爆炸时代精力又极有限的我们,面对层出不穷日新月异的技术,我们应该怎么办呢?
其实很多时候只需要掌握一个大概就好了。
我在做测试的时候很喜欢套用5W1H的框架,后来慢慢的就发现这个框架不仅适用于做测试计划、了解系统业务,还很适合用来做知识的学习——这个想法跟下面的文章不谋而合,故而转之。
———————————————————————————————
前几天fork了Ruby China的源码,面对陌生的Ruby技术栈,一头雾水。
我fork它并不单为了学习,而是要在最短的时间搭建起我脑海中的社区网站。所以我不可能针对每一门新技术都去买一本书来读上半个月。
我在本机运行起Ruby China,新注册一个用户,发现不能发帖,提示说要注册一个月以上才可以。于是我去找相关代码:
def newbie?returnfalseifself.verified ==trueself.created_at >1.week.ago end
明明是一星期嘛,代码是不会说谎的。于是把文字改掉,顺便提个pull request。
扯远了,代码说如果是self.verified就不是新手了,我先去管理后台看了一下,没有修改这个字段的界面。于是我不得不去数据库里更新这个字段。我大概知道mongodb是数据库,但我不知道该怎么操作。
从宏观出发
当我了解到一个新的技术名词,不会直接陷入细节,而是从宏观上把握它。了解它的背景,为何出现,解决什么问题,有什么同类技术,没有它之前我们如何工作。因为有了宏观的了解,我就能很容易把它和我熟悉的技术去建立关联,从而更快地理解它。
实践出真知
打开官网,发现有个非常棒的Try it out,先花10分钟玩一下,对其玩法有个大概了解,然后再来解决实际的问题。
从前面的Try it out中我知道了help命令,于是便通过help知道了show dbs,use ruby_china_dev。根据使用SQL的经验,我想当然地认为更新一条记录的一个字段应该是这样:
db.users.update({"_id":3},{verified:true})
但我悲剧地发现,整条记录被替换了,好吧,这就是文档型数据库。于是放狗搜索:How to update specific field in mongodb,很快便找到了答案。
db.myCollection.update({condField:'condValue'},{ $set:{ dateField:newDate(2011,0,1)}},false,true);
对应我这里的需求就是:
db.users.update({_id:3},{$set:{verified:true}},false,true)
问题解决了。
随着接触的越来越深,遇到的问题就会越来越多。我会把每一个解决掉的问题放到我的Evernote里,这样下次再遇到就能很快找到答案。当我发现postach.io这个可以和Evernote同步的博客系统后,就开通了这样一个博客,其他人遇到同样的问题时也更容易找到答案了。
当我真正对一门技术感兴趣并且有足够的时间去学习时,我通常会按照下面的步骤去学习。
教是最好的学
实践足够多后时,我可能觉得已经掌握这门技术了。但当我尝试去表达的时候,会惊讶地发现还有很多概念是似懂非懂的。于是我会去查资料,完善自己的体系。只有当我把学到的东西用自己的语言表达出来,并且能让听众明白的时候,才是真正掌握了该技术。
学会分享是很重要的,把在该技术上的经验总结出来,写成博客,集结成书出版,再到行业会议上分享实践经验。这样才能成为该领域公认的专家。
推迟学习
一位一年读100多本书的同事说:
你一年才能读几十本书,就不要什么书都看了,多花点时间挑书吧。
现在新技术层出不穷,我们没有那么多时间去深入学习每一门。对于大多数技术,我们只需要搞懂概念部分,从宏观上了解一下,决定我们要不要深入地去学习它。有了这些了解,就能轻松地与别人聊天了,也可以为以后技术选型做一些储备。当面对真正的需求时,或者你有足够的时间做技术储备时,才去进入实践部分。
编程是一个知识更新很快的行业,只有真正有热情并掌握了好的学习方法的人,才能走的长久。
相关推荐
Liferay是一个开源公司,我们一般谈Liferay是指的Liferay Portal。Liferay Portal始创于2000年的洛杉机,当时是一个非营利性组织。
Liferay 是一个强大的开源企业门户平台,用于构建和管理数字化体验。它的核心是 Liferay Portal,自2000年在洛杉矶创立以来,已经成为全球范围内许多企业和组织的首选解决方案。Liferay 具备多语言支持、内容管理、...
思科ASA虚拟防火墙学习总结 网上转载 很经典
COGNOS 8 学习文档,转载。不知是否对学习CONGOS有帮助?
VLAN(Virtual Local Area Network,虚拟局域网)是一种网络技术,它允许在物理网络上创建逻辑上的独立网络,从而..."VLAN学习手册"这份资料将帮助你深入了解这一主题,无论是网络管理员还是IT专业人员,都能从中受益。
学习笔记转载(实时更新)
【MSRS学习日志转载】 MSRS,全称为Microsoft Reporting Services,是微软提供的一款强大的商业智能(BI)工具,主要用于创建、部署和管理各种类型的报表。这个“Laneser MSRS学习日志转载”是一系列关于MSRS的入门...
本程序是一个开源的进销存管理系统。...该程序为开源程序可供任何人学习转载 如果用于商业用图为避免不必要的纠纷请与本人联系 本人在编写本程序的某些功能模块时借鉴了一些网络资源 如果原作者有异议请与本人联系
该程序为开源程序可供任何人学习转载 如果用于商业用图为避免不必要的纠纷请与本人联系 本人在编写本程序的某些功能模块时借鉴了一些网络资源 如果原作者有异议请与本人联系 QQ:2510464652 E-mail:xianduofa@...
该程序为开源程序可供任何人学习转载如果用于商业用图为避免不必要的纠纷请与本人联系本人在编写本程序的某些功能模块时借鉴了一些网络资源如果原作者有异议请与本人联系 QQ:2510464652 E-mail:xianduofa@hotmail....
该程序为开源程序可供任何人学习转载 如果用于商业用图为避免不必要的纠纷请与本人联系 本人在编写本程序的某些功能模块时借鉴了一些网络资源 如果原作者有异议请与本人联系 本人保留最终解释权 应网友们...
【北京四中学习方法】是源自北京四中这一著名中学的一种高效学习模式,该方法强调自学能力和良好学习习惯的重要性。北京四中以其优秀的素质教育成果著称,如21年升学率100%,大部分毕业生进入重点大学,其中半数进入...
【标题】:“转载牛人文章学习” 这篇标题表明我们即将探讨的是某位业内专家或博主的文章,关于IT行业的某个主题,特别是与Android相关的技术。在IT领域,"牛人"通常指的是那些在某一技术领域有深厚造诣的人,他们...
【uCos-II学习汇总】 uCos-II是一款实时操作系统(RTOS),专为嵌入式系统设计。在学习uCos-II时,了解其基本概念、API函数的使用以及如何保证系统的高效和可移植性至关重要。 1. **任务管理** - `OSInit()` 和 `...
转载他人的日志封装文件,供学习
"VBA学习指南" 本教程旨在为CAD二次开发提供VBA教程,教程详细介绍了VBA的基础知识和实践应用,为CAD开发者提供了有价值的参考。 什么是Autocad VBA? Autocad VBA(Visual Basic for Applications)是一种功能...
我也是转载来的供大家学习,希望对大家有帮助
该学习项目是基于JavaScript与Python构建的baxx网络转载平台源码,共计319个文件,涵盖140个JavaScript文件、137个JSON文件、22个JAR文件、14个TXT文件、4个Python文件和2个Markdown文件。此项目为个人学习使用,非...
这篇学习资料集合了大师级人物的智慧结晶,对于想要深入理解和掌握SQL Server的人来说是一份宝贵的资源。 1. SQL Server基础概念: - 数据库:在SQL Server中,数据库是存储和管理数据的逻辑容器。 - 表:表是...
### FPGA学习心得精炼知识点 #### 一、FPGA概览与个人背景 - **FPGA定义**:FPGA(Field Programmable Gate Array),即现场可编程门阵列,是一种可编程逻辑器件,允许用户在制造后根据需求编程其电路功能。 - **...