我想知道学习“新”技术的最佳方式是什么(例如LINQ,WPF,WCF,AJAX,最新的C#3.0等等)?
你如何学到最好的?是通过书籍,网络广播,在线文章,教程,示例还是动手实验?
另外,你如何确保你会记住学到的东西? (再读一本书/文章?深入挖掘你认为已经熟悉的主题?)
答案 0 :(得分:14)
我很老式。我仍然从找到一本好书开始,从头开始阅读,直到它过分依赖我在第一次阅读时没有掌握的东西,然后回去做实际操作。
博客,网络广播和在线文章通常会在我掌握基础知识后出现。
答案 1 :(得分:12)
您可以做的最好的事情是开始编码。那里有大量的信息:书籍,杂志,博客等。无论你做什么,不要只阅读它们 - 跟随并编写示例代码。
学习的来源并不太重要,我读过坏书和好博客,而且我还阅读了优秀的书籍和危险的不准确的博客。
答案 2 :(得分:7)
首先考虑一个项目来使用它。当您尝试使用它来实现特定目标时,学习过程会发生巨大变化。
从那里你正在做的是研究驱动。您可以查找任何书籍,网络广播等,告诉您如何在项目中执行下一步。
完成该项目后,您可以回过头来了解更多视角的技术内部工作原理。 (你可以更好地检测一些作者为我们提供的总BS。)
答案 3 :(得分:2)
我通常会对用户组(我们在英国有很多),会议或路演中提出的主题感到热情。这样你就可以在最后向真正了解他们的东西的人提问。
然后我要么在网上研究,要么购买一本电子书并尝试编写“真正的”应用程序(即你曾经写过要写''东西'但尚未完成的应用程序)。如果我很幸运,我会为我正在处理的实际应用程序编写模块。
这是一个人在谈论它的灵感,它实际上真正使用它并提供一个引起我兴趣的现实世界的例子。
答案 4 :(得分:2)
我从来没有真正通过阅读来学习新技术 - 第一步始终是我在某个地方看到的想法,或者我想到了我真的想要实现的想法。在理想的情况下(为了最大的动力),你会发现你想要的东西,但它还没有 - 然后你就开始开始(开始时慢慢地;-)并且在尝试完成你的项目时学习存在的各种来源(无论是书籍,博客,文章等对我来说都不重要)。
答案 5 :(得分:2)
反复试验!这是学习任何东西的最佳方式!
想想学会游泳:你可以读很多游泳,但如果你不尝试,你永远不会学习。
如果您从一本书中学习,请打开您的编辑器/ IDE并尝试该书的任何示例,即使它看起来很愚蠢。那些愚蠢的例子将发展你的分析思维;)
答案 6 :(得分:1)
对我来说最好的工作技巧:
答案 7 :(得分:1)
对于您想要学习的每一项技术,创建一个您想要用它们制作的概念证明。
示例,使用Winforms或Ajax创建自动完成的概念验证。在Remoting或Webservices技术之外,无需使用sql或低级tcp / ip管道,就可以自己进行如何与服务器通信的概念证明。
学习如何做(写)的东西,会给你一个真实而快速的学习方法。谷歌和Stackoverflow是你的朋友,阅读了很多书。对于与LINQ相关的东西,LINQ问题和答案的数量和质量here非常好。
答案 8 :(得分:1)
不幸的是,对我而言,唯一的方法是练习现实世界的任务。
我可以阅读很多文章,并下载框架,编译器,样本等等,这非常有帮助,因为我知道这项技术是什么,但我只是不知道它,直到我必须在我的工作中为客户使用它。
爱好项目,只是不适合我,因为要求总是“太软”,因为我设定了自己的要求,我倾向于“只需要”我所知道的。但是当涉及到一个新客户时,他们会问一些我从未想过的事情,而且我必须找到如何去做(或者如果它首先是可行的话),那么我可以说我已经学到了新的东西。 / p>
答案 9 :(得分:1)
听起来可能很有趣,但这是我平常的学习之路。我不会说它是最好的方式,但这就是我如何做到的。
我抓住了一本只是划伤表面的书,对于绝对的初学者来说,就像在24小时或其他什么时候自学。这让我有机会让用户使用术语,避免受到恐吓。
我在线寻找一些视频和教程,并练习/复制我看到的例子。
一旦你感到舒服,你就可以开始阅读该语言/技术的圣经。并且不要停止实施例子。
继续寻找免费的在线测试或问卷,让您对此充满信心。这就是StackOverflow的用武之地:)
答案 10 :(得分:1)
找一些好的博客/播客/任何可以为您介绍新技术的内容。这让您了解现有技术之间的相似之处/差异,并为您提供关键词以及对该技术的总体概述。
使用源代码查找几个非常简单的项目,让您了解正在运行的应用程序的工作原理,并在您尝试绘制某些内容时为潜在的方向指明一点进行。
找到一些好的消息板(如SOFlow 8 ^ D),当遇到问题时可以使用它们。如果你自己拼凑一些东西,它通常会有你需要的代码片段。
弄脏了!想出一个伟大的小项目,您将热衷于使用新技术创建和构建它。激情将帮助您完成这些棘手的问题,并在完成后为您提供一些个人吹牛的权利。 8 ^ d
答案 11 :(得分:0)
当我有一个目的时,我学得最好,所以从一个好的想法开始测试应用程序是最好的。我将使用一篇好的博客文章或2来让我进行一些试验和错误!我很高兴回过头来使用书籍,网络广播等来改进我所学到的知识,但是没有什么能像通过实际学习那样学习。如果我用勺子喂太多,就很难理解。
答案 12 :(得分:0)
有关许多技术的概述,我会寻找技术播客。他们比博客更容易跟上(虽然博客是另一个不错的选择)。
有关特定技术的更深入知识,您应该为该主题创建播客。你会比你想象的更快地了解它。
答案 13 :(得分:0)
我会有33%的听力/阅读,67%的人在做。
阅读,收听播客等,直到您觉得您对该技术可以做的事情有一个好的处理。然后找到需要构建软件小部件的人,具有灵活的时间线而且钱不多,如果他们同意使用Technology X构建它,则可以降低费率为他们构建它。你可以用现实的方式学习技术,他们会得到一个持续一段时间的解决方案。您将拥有真正需求的真实用户,并且您将被要求构建在现实世界中有效的东西。比业余爱好项目或教程好多了。这就是我学习Silverlight的方式。
答案 14 :(得分:0)
这是我现在采取的方法,我认为这是一种非常精通技术的好方法:
这似乎很多,但我认为它会帮助你在短时间内变得非常精通。无论何时你有空闲时间,步骤1-3都可以慢慢完成。因为你有一套(好的)笔记,你可以将记忆刷新到你离开的地方。
答案 15 :(得分:0)
我认为最好的方法是做一些技术声称擅长的实际工作(WPF => Smart Client,ASP .Net => A网站)。
此外,如果您有一个正在运行的项目,使用您想要了解的新技术的旧版本(Windows客户端到WPF,ASP到ASP .Net,Flash到Flex),迁移它会加速很多事情。
希望这会有所帮助。
答案 16 :(得分:0)
我首先要准备一本关于该特定技术的好书。有时我不会阅读它的封面,只是阅读重要的部分和提示。然后我列出了迄今为止我发现的任何新的有趣事实。这是我的出发点。从现在开始,我将继续玩这个技术,并且我会关注那些有相关内容的博客或网站。
我认为学习技术最重要的部分是使用它并学习其最佳和最差的实践。