热爱编程,热爱生活,高速适应IT新技术

如今新技术层出不穷。我们没有那么多时间去深入学习每一门。对于大多数技术,我们仅仅须要搞懂概念部分。从宏观上了解一下,决定我们要不要深入地去学习它。有了这些了解。就能轻松地与别人聊天了,也能够为以后技术选型做一些储备。

前几天 fork 了 Ruby China 的源代码,面对陌生的 Ruby 技术栈,一头雾水。

我 fork 它并不单为了学习。而是要在最短的时间搭建起我脑海中的社区站点。

所以我不可能针对每一门新技术都去买一本书来读上半个月。

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

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

明明是一星期嘛,代码是不会说谎的。于是把文字改掉。顺便提个 pull request

扯远了。代码说假设是self.verified就不是新手了,我先去管理后台看了一下,没有改动这个字段的界面。

于是我不得不去数据库里更新这个字段。我大概知道 mongodb 是数据库,但我不知道该怎么操作。

从宏观出发

当我了解到一个新的技术名词,不会直接陷入细节,而是从宏观上把握它。

了解它的背景,为何出现,解决什么问题,有什么同类技术。没有它之前我们怎样工作。由于有了宏观的了解,我就能非常easy把它和我熟悉的技术去建立关联,从而更快地理解它。

实践出真知

打开官网。发现有个很棒的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 同步的博客系统后,就开通了这样一个博客,其它人遇到相同的问题时也更easy找到答案了。

当我真正对一门技术感兴趣而且有足够的时间去学习时,我一般会依照以下的步骤去学习。

教是最好的学

实践足够多后时,我可能认为已经掌握这门技术了。

但当我尝试去表达的时候。会吃惊地发现还有非常多概念是似懂非懂的。

于是我会去查资料。完好自己的体系。

仅仅有当我把学到的东西用自己的语言表达出来,而且能让听众明确的时候。才是真正掌握了该技术。

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

推迟学习

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

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

如今新技术层出不穷。我们没有那么多时间去深入学习每一门。

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

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

时间: 2024-12-28 13:54:36

热爱编程,热爱生活,高速适应IT新技术的相关文章

对不起,我并不热爱编程

不知是因为到处在招那些热爱编程的人,还是因为到处写着我热爱编程,这个词已经到处都是了.可惜的是我发现我并不是一个热爱编程的人,但是不可否认的是我是有技术热情.只是我的技术热情仅限于我感兴趣的东西.两者看上去似乎有着很大的矛盾,实际上也是如此? 热爱编程是什么鬼? 百科上这样解释热爱: 情愿全身心投入地爱,激情四射,充满幸福的幻想,去奋斗.去付出,享受其中过程(即使是酸甜苦辣),即使没有回报也不后悔.尤其在遇到阻力.挫折时,才显出什么是真正热爱. 这似乎也就意味着只有遇到阻力的时候,我们才能区分一

我依然热爱编程

作为一个刚从大学毕业的码农来说可能说这种话有些轻浮,因为码农这出来的代码,总有千千万万个原因,因为领导要求,因为产品经理要求,因为原来系统就是这样.我们总是有理由写出这样那样的自己都不想再看一眼的懒代码,总有这样那样的理由不去再次整和现有的框架.每天的工作就是从这里copy一些,然后写各种判断语句.编程变的如此简单而没有技术含量. 有人说,程序员的价值在于,现有的系统还有bug,不然公司要你做什么? 多么无奈. 似乎,我们不应该花很多心思来做代码整和,然后完成新的架构.每天的工作就是修改昨天的b

热爱编程,热爱生活,快速适应IT新技术

现在新技术层出不穷,我们没有那么多时间去深入学习每一门.对于大多数技术,我们只需要搞懂概念部分,从宏观上了解一下,决定我们要不要深入地去学习它.有了这些了解,就能轻松地与别人聊天了,也可以为以后技术选型做一些储备. AD:WOT2014:用户标签系统与用户数据化运营培训专场 51CTO主办WOT全球软件技术峰会直减百元优惠活动 抢票进行中! 前几天 fork 了 Ruby China 的源码,面对陌生的 Ruby 技术栈,一头雾水. 我 fork 它并不单为了学习,而是要在最短的时间搭建起我脑海

编程算法 - 高速排序算法 代码(C)

高速排序算法 代码(C) 本文地址: http://blog.csdn.net/caroline_wendy 经典的高速排序算法, 作为一个编程者, 不论什么时候都要完整的手写. 代码: /* * main.cpp * * Created on: 2014.6.12 * Author: Spike */ /*eclipse cdt, gcc 4.8.1*/ #include <stdio.h> #include <stdlib.h> int RandomInRange(int mi

一位热爱编程的大一同学期末困惑

[来信] 老师你好.我是来自一所普通的211学校,我从高二接触了编程,感觉编程太神奇了,然后自学了C语言,期间没有任何人教,都是自学.但由于高三的到来,一年没学编程.到高三自己立下目标,一定要考软件工程专业,结果的确实现了. 开始我担心自己入学的编程水平太差,到暑假看汇编和复习C语言,然后又到网上找视频教程看,总之开学之前学完了C语言.不过开学后,我发现我们软件学院的学生很多人根本没学过编程.自学过C语言,目前竟然没发现.更让我郁闷的是教我们C语言的老师讲课水平实在不敢恭维,上课也没听过讲,(刚

Java设计模式之创建者模式,分享热爱编程的程序人生

PS:今天的23中设计模式中的创建者方式,至此告一段落.我今天带来的技术分享为创建者模式以及原型模式.当然在Java中这两种方式很常见,只不过我们写的次数确实有点低而已,但是这不是我不学它的借口!!! 创建者模式 无构建者模式代码示例:需求创建一个摩托车对象 并且使其开始运行. 发动机代码构建: 发动机代码构键 车架代码实例: 车架代码实例 轮胎机代码示例: 轮胎机代码示 摩托车对象实体类: 摩托车对象实体类 测试类: 测试类 总结:摩托车对象时一个大对象:构建过程中可能需要很多其他对象的使用,

不要轻易说自己热爱编程

给编程一个你热爱它的机会

如果一个事情,你不热爱他,或许是因为你畏惧它,不敢去接触他,所以投入的时间少了.浑浑噩噩的过日子,浑浑噩噩的过日子,就会懈怠,而且是一旦有机会就懈怠,没有机会也会创造机会去懈怠,而人生第一大定律就是“懈怠之人永远不会成功!”. 刚刚看到了一篇文章:“野心不能成就你,热爱却可以”(链接地址:http://www.cnblogs.com/wjcnet/p/4237105.html),读后感觉真是醍醐灌顶,我们只是有太多的野心,而少了一份热爱,野心覆盖了热爱,让自己做事情时备受煎熬,就拿写程序来说,我

论文式编程

文学编程 文学编程(Literate programming)的一些概念,上个世纪 70 年代就有人提出来了. 文学编程的思想非常简单,就是将那些为了能被编译器/解释器正确识别而编写的代码打碎,然后用人类语言将它们编织到文档中,这种文档就是文学编程的源文件.这一概念第一次被完整的实现,是 Knuth 开发的 WEB 工具(此 WEB 并非现代漫天飞舞的那个 Web).Knuth 的神作——TeX 系统便是借助 WEB 开发的. WEB 工具由 tangle 与 weave 这两个程序构成.tan