怎样快速学习一门新技术?

怎样快速学习一门新技术?


前几天fork了Ruby China的源码,面对陌生的Ruby技术栈,一头雾水。
我fork它并不单为了学习,而是要在最短的时间搭建起我脑海中的社区网站。所以我不可能针对每一门新技术都去买一本书来读上半个月。

程序员的资料库

我在本机运行起Ruby China,新注册一个用户,发现不能发帖,提示说要注册一个月以上才可以。于是我去找相关代码:

  # 是否能发帖
 
def newbie?
   
return false if self.verified == true
   
self.created_at > 1.week.ago
  end

明明是一星期嘛,代码是不会说谎的。于是把文字改掉,顺便提个pull request
扯远了,代码说如果是self.verified就不是新手了,我先去管理后台看了一下,没有修改这个字段的界面。于是我不得不去数据库里更新这个字段。我大概知道mongodb是数据库,但我不知道该怎么操作。

从宏观出发

当我了解到一个新的技术名词,不会直接陷入细节,而是从宏观上把握它。了解它的背景,为何出现,解决什么问题,有什么同类技术,没有它之前我们如何工作。因为有了宏观的了解,我就能很容易把它和我熟悉的技术去建立关联,从而更快地理解它。

程序员的资料库
实践出真知

打开官网,发现有个非常棒的Try it out,先花10分钟玩一下,对其玩法有个大概了解,然后再来解决实际的问题。

从前面的Try it out中我知道了help命令,于是便通过help知道了show dbsuse 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: new Date(2011, 0, 1)}}, false, true);

对应我这里的需求就是:

db.users.update({_id:3}, {$set:{verified:true}}, false, true)

问题解决了。

随着接触的越来越深,遇到的问题就会越来越多。我会把每一个解决掉的问题放到我的Evernote里,这样下次再遇到就能很快找到答案。当我发现postach.io这个可以和Evernote同步的博客系统后,就开通了这样一个博客,其他人遇到同样的问题时也更容易找到答案了。

当我真正对一门技术感兴趣并且有足够的时间去学习时,我通常会按照下面的步骤去学习。

程序员的资料库
教是最好的学

实践足够多后时,我可能觉得已经掌握这门技术了。但当我尝试去表达的时候,会惊讶地发现还有很多概念是似懂非懂的。于是我会去查资料,完善自己的体系。只有当我把学到的东西用自己的语言表达出来,并且能让听众明白的时候,才是真正掌握了该技术。

学会分享是很重要的,把在该技术上的经验总结出来,写成博客,集结成书出版,再到行业会议上分享实践经验。这样才能成为该领域公认的专家。

推迟学习

一位一年读100多本书的同事说:

你一年才能读几十本书,就不要什么书都看了,多花点时间挑书吧。

现在新技术层出不穷,我们没有那么多时间去深入学习每一门。对于大多数技术,我们只需要搞懂概念部分,从宏观上了解一下,决定我们要不要深入地去学习它。有了这些了解,就能轻松地与别人聊天了,也可以为以后技术选型做一些储备。当面对真正的需求时,或者你有足够的时间做技术储备时,才去进入实践部分。

编程是一个知识更新很快的行业,只有真正有热情并掌握了好的学习方法的人,才能走的长久。

### 回答1: 如果你想快速上手人工智能技术,建议你先从以下几个方面开始: 1. 了解基本概念:首先要搞清楚什么是人工智能,什么是机器学习,什么是深度学习等基本概念。 2. 选择合适的学习方式:可以通过课程、教程、视频、书籍等方式学习人工智能,选择自己喜欢的方式。 3. 安装必要的软件和工具:人工智能的学习往往需要用到许多软件和工具,例如 Python、TensorFlow、Keras 等,需要在学习之前先安装这些工具。 4. 尝试实践:学完基本知识后,可以尝试着用自己学过的知识去实践一些简单的项目,这样可以加深对知识的理解,同时也可以对自己的水平有一个初步的判断。 5. 不断学习:人工智能是一个非常庞大的领域,无论你是初学者还是有一定经验的人,都应该持续不断地学习,才能不断提升自己的能力。 ### 回答2: 想要快速上手人工智能技术,可以按照以下步骤进行: 1. 学习基础知识:人工智能技术涉及很多概念和算法,如机器学习、深度学习、神经网络等。可以通过参加在线课程或阅读相关书籍来建立起基本的理论知识。 2. 掌握编程语言:人工智能技术使用多种编程语言,如Python、R等。选择一门常用的编程语言,并通过编程练习来熟悉语法和基本操作。 3. 实践项目:通过完成实际项目来应用所学的知识。可以选择一些开源项目,参加在线竞赛或实习,这样可以逐渐提升自己的技术水平。 4. 学习工具和框架:人工智能领域有很多开源工具和框架,如TensorFlow、PyTorch等。熟悉并掌握这些工具和框架,可以提高开发效率。 5. 深入研究论文和最新技术:订阅人工智能领域的期刊、会议等,关注最的研究成果和技术趋势。参与相关社群或论坛的讨论,与其他人交流和分享经验。 6. 参加培训或进修:有针对人工智能技术的培训课程或学习计划,如人工智能工程师证书等。可以选择适合自己需求和时间的培训方式,提升专业能力。 7. 不断实践和持续学习:人工智能技术一个不断发展和演进的领域,需要持续学习和实践。可以参与研究项目、开发应用、阅读文献等,以保持对最新技术的了解,并不断提升自己的技能。 总之,快速上手人工智能技术需要建立基础知识,掌握编程语言,通过实践项目来应用所学知识,学习使用工具和框架,深入研究最新技术,参加培训或进修,并不断实践和持续学习。通过这些步骤,可以更快速地掌握人工智能技术。 ### 回答3: 要快速上手人工智能技术,可以按照以下几个步骤进行: 第一步是了解基本概念。人工智能是一门涉及多个领域的综合性学科,包括机器学习、深度学习、自然语言处理等。可以通过阅读相关书籍、在线教程以及观看视频课程,了解人工智能的基本概念和原理。 第二步是学习编程和数学知识。人工智能技术的实现需要掌握编程语言和数学知识,特别是统计学和线性代数。可以选择学习一种常用的编程语言,如Python,以及学习数学基础知识。 第三步是实践项目。通过实践项目可以加深对人工智能技术的理解与应用。可以选择一些开源的人工智能项目或者参加在线的人工智能竞赛,如Kaggle,从中学习解决问题的方法和技巧,结合实际应用场景,提高技术水平。 第四步是与专业人士进行交流。人工智能领域发展迅速,与人工智能专业人士进行交流可以获取更多的学习资源和进一步指导。可以参加相关的行业或学术会议,加入人工智能的社群或论坛,与其他人工智能从业者交流心得和经验。 第五步是持续学习和更知识。由于人工智能技术月异,要快速上手人工智能技术就需要不断学习和更知识。可以定期关注最的研究成果和技术进展,阅读相关的学术论文和技术博客,参加相关的线上或线下培训课程,保持对人工智能领域的敏感度和学习态度。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值