随笔 - 81  文章 - 1033  trackbacks - 0
<2007年3月>
25262728123
45678910
11121314151617
18192021222324
25262728293031
1234567

在浮躁的年代里,我们进取心太切,患得患失;虚荣心太强,战战兢兢。一心争强好胜,惟恐榜上无名。
I think I can fly , and flying like a bird !
程序员一名,已售出,缺货中!

我的邮件联系方式

用且仅用于MSN

博客点击率
free web counter
free web counter

常用链接

留言簿(36)

随笔档案

搜索

  •  

积分与排名

  • 积分 - 178611
  • 排名 - 293

最新评论

阅读排行榜

评论排行榜

      为什么强调是基础知识,因为往往基础知识才是最容易被忽略,最容易忘记的部分,其实也是最难掌握全面和深入的部分。其实我更愿意叫这些知识为核心知识,其实它们并不基础,而是整个知识体系的核心。

      比如你是不是在面试的最关键时刻面对一道“基础的”排序题抓耳挠腮?你在快乐编码的时候被一个似曾相识的“基础的”API打断而翻箱倒柜找文档?几个人能说自己全面的了解Java几个基础类库?这些基础的往往也是最重要的、最核心的。

      这个方法其实由来已久,而我昨天在coding的时候突然觉得它非常的重要也非常的好,值得一用。昨天在写个JavaScript的Calendar突然用到求一个浮点数的“天花板”(coders应该都知道天花板是什么吧,呵呵。考虑到非coder,天花板就是大于这个浮点数的最小整数,是不是很形象,其实编程也是一种艺术)。硬是不记得那个天花板的方法怎么写,虽然是滚瓜乱熟的个方法,但是因为很久没用加上E文不好只要打断正在状态的思路去google,找到这个API:

Question: What mathematical functions are supported in JavaScript?

Answer: JavaScript supports the following mathematical functions (methods of the Math object):

Math.abs(a)     // the absolute value of a
Math.acos(a)    // arc cosine of a
Math.asin(a)    // arc sine of a
Math.atan(a)    // arc tangent of a
Math.atan2(a,b) // arc tangent of a/b
Math.ceil(a)    // integer closest to a and not less than a
Math.cos(a)     // cosine of a
Math.exp(a)     // exponent of a
Math.floor(a)   // integer closest to and not greater than a
Math.log(a)     // log of a base e
Math.max(a,b)   // the maximum of a and b
Math.min(a,b)   // the minimum of a and b
Math.pow(a,b)   // a to the power b
Math.random()   // pseudorandom number in the range 0 to 1
Math.round(a)   // integer closest to a 
Math.sin(a)     // sine of a
Math.sqrt(a)    // square root of a
Math.tan(a)     // tangent of a
Note that trigonometric functions assume that the argument is in radians, not degrees! 
另外推荐一个绝佳的JavaScript doc地址 : http://developer.mozilla.org/en/docs/Core_JavaScript_1.5_Reference

然后继续编码,发现刚才的思路已经没有了,极度郁闷!所以找一种把这些基础熟记于心的方法非常重要,最重要是不要那么容易忘记。

      记得大学时候一次偶尔去E文系MM的寝室,发现MM床头、床边贴满了纸条,上面写满了密密麻麻的E文。当时问MM,有必要这样吗?MM说绝对是学习E文这种靠死记硬背并且不能忘记东西的好方法。当时对E文极度排斥,所以并没在意。现在想多么好的一个方法从身边溜走了,我觉得放在学习编程中的基础知识同样适用,并且效果更好!因为各种基础知识,API还有些相互关联和有一定规律,你可以把它们打印出来贴在床头或者抬眼可即的地方,经常不经意的扫描不仅可以加深记忆说不定那天还能悟出其中的精妙呢?

      推荐象Java基础API、JavaScript API doc、一些流行库如prototye、jquery等的API都可以拿来贴在床边,编码时遇到可以快速查阅,平时没事可以经常扫描。保证你不再害怕面试时的基础题,不再怕被这些API打断了!

      掌握好的学习方法往往事半功倍,所以强烈建议大家平时可以总结一些好的学习方法和技巧,最好与他人交流分享。会让你的学习轻松而快乐,并且效果好!
posted on 2007-03-26 22:34 cresposhi 阅读(2476) 评论(18)  编辑  收藏

FeedBack:
# re: 一个古老而高效的基础知识学习方法 2007-03-27 08:00 freebird
我现在学英语就这是这样记了,没办法,老 了.....  回复  更多评论
  
# re: 一个古老而高效的基础知识学习方法 2007-03-27 08:01 Rami
苦读诗书;确实很多东西要博闻强记。  回复  更多评论
  
# re: 一个古老而高效的基础知识学习方法 2007-03-27 08:35 dennis
我不认为需要去记API,也没必要记,桌面放上常用的API文档,忘记了马上查即可。记忆不该花在这些API的用法上。  回复  更多评论
  
# re: 一个古老而高效的基础知识学习方法 2007-03-27 08:45 yuri
其实求天花板的最好办法是把这个浮点数强制转换成int型,再加1,求地板也是同样的方法。
至于API,最重要的是知道什么时候应该用哪些类,而不是具体怎么用  回复  更多评论
  
# re: 一个古老而高效的基础知识学习方法 2007-03-27 08:57 坏男孩
其实这种学习方法很管用!  回复  更多评论
  
# re: 一个古老而高效的基础知识学习方法 2007-03-27 19:47 cresposhi
@dennis
@yuri
其实曾几何时我也这么认为,讲究一个广度,需要的时候再深入,或者说需要的时候去查阅。但可能是我记忆里或者能力有限,拿web开发举例,完全不相干的技术派系就有N多需要掌握Java,JavaScript,CSS。。。拿Java再举例安全认证、工作流、ORM、IoC。。。我发现我已经来不及学完它们了。
这个时候我觉得需要把些东西放在一个经常可以看到的地方,可以提高很多效率时,在吃饭时学习,在睡觉前学习,在。。。学习,学习学习。这样才能掌握更多。
很多东西知道跟去做是两个完全不同的概念,我觉得你们的观点有误导新人之嫌,所以辩驳几句。因为我被误导过。  回复  更多评论
  
# re: 一个古老而高效的基础知识学习方法 2007-03-27 19:47 cresposhi
@dennis
有多少API需要用啊,如果需要的时候去找,我怕会淹死在API中。。。  回复  更多评论
  
# re: 一个古老而高效的基础知识学习方法 2007-03-28 08:28 dennis
@cresposhi

误导?远远谈不上,常用的java API有多少呢?也就是lang,collections,thread,util几个,其他的完全就是用到了才去查。J2EE API又有多少呢,你怎么可能记得住,常用的就是servlet,jsp,jndi,其他什么javamail,jms,用到了再去查。而javascript,我把它当成严肃编程,而不是雕虫小技,认真读了、用了,自然就熟悉了。而java的工作流,IOC,ORM,各个方面,已经延伸到更高的领域,你想完全记住更是不可能。知道哪里去找,远比记住怎么用更为有效。程序员是人,比是机器,编程是创造,不是机械  回复  更多评论
  
# re: 一个古老而高效的基础知识学习方法 2007-03-28 08:32 dennis
请注意,我不是反对记忆API,常用的API需要也应该去记,但是不要特意去记,经常写,经常查自然就记住了。我反对为了记API而去记API,编程不应该是体力活——痛苦的历程,注意的记忆不深刻,也毫无意义。题外话,ruby的API设计很人性化,你不需要思考就可以猜出某个API出来,非常好玩。  回复  更多评论
  
# re: 一个古老而高效的基础知识学习方法 2007-03-28 08:52 cresposhi
@dennis
“我不是反对记忆API,常用的API需要也应该去记,但是不要特意去记”
其实我正是这个观点,我提出这种方法也是为了不特意去记,不要把作为程序员的自己弄成一个机器人,而是巧记,更多的巧在时间和地点上,潜移默化的记忆。
正所谓“温故而知新”,经常的扫描,你会发现很多你以前并没有发现的东西!  回复  更多评论
  
# re: 一个古老而高效的基础知识学习方法 2007-03-28 09:02 cresposhi
@dennis
可能“误导”一词有些言重,因为我是感同身受,所以有此一说,并不针对大家,在此抱歉。
正所谓“书到用时方狠少”,古人真是字字珠玑,我的感受是极度深刻的。所以不采用某些让大家更轻松的方式来博闻强记,我想会陷入知识的泥潭中。
我提出这个方法的目的也在于为大家减轻痛苦,避免死记硬背,硬背的东西容易忘记,并不是自己的,还有一个更重要的目的是为了经常扫描而发现里面更多更深的东西。
dennis兄我想我们再次辩驳过多也无用,呵呵。希望能把好方法拿出来分享给大家。大家共同进步!:)  回复  更多评论
  
# re: 一个古老而高效的基础知识学习方法 2007-03-28 09:07 cresposhi
还有一个最重要的问题就是这种方法我尝试过,确实有效所以拿出来大家分享。如果只对我一个人有效,那就对不起大家了,不过我想不会。大家应该都需要。
我很久以前试图通过读一本1k多页的javascript API的书去全面了解这门语言,最后放弃了,因为就跟大家背英语单词一样,看到了C的时候A部分已经忘记光了。也不可能每个知识都有时间来实际编码实践。
利用了一些学习记忆的技巧后我发现真的是很有效,并且从中真的领悟到更多API之外的东西。  回复  更多评论
  
# re: 一个古老而高效的基础知识学习方法 2007-03-28 13:56 颖颖
呵呵,吵起来了哦,不对,应该叫辩论吧,呵呵  回复  更多评论
  
# re: 一个古老而高效的基础知识学习方法 2007-03-28 14:00 颖颖
“记得大学时候一次偶尔去E文系MM的寝室,发现MM床头。。。”你怎么跑到别人床头去了呀,呵呵  回复  更多评论
  
# re: 一个古老而高效的基础知识学习方法 2007-04-06 19:09 就就
去耍流氓贝。。。。嘿嘿。。。  回复  更多评论
  
# re: 一个古老而高效的基础知识学习方法 2007-04-07 11:51 cresposhi
楼上的伙计不要害我啊,嘿嘿  回复  更多评论
  
# re: 一个古老而高效的基础知识学习方法 2007-04-12 14:50 kirari_wxy
我貌似从来没有刻意去记过什么东西,汗颜。。  回复  更多评论
  
# re: 一个古老而高效的基础知识学习方法 2007-04-12 15:32 cresposhi
@kirari_wxy
只能说明大哥有过人天赋了。。。小弟完全不行,必须要猛搞才行啊。。。  回复  更多评论
  

只有注册用户登录后才能发表评论。


网站导航: