转载《分享我的学习方法——还是坚持+努力》
http://jinnianshilongnian.iteye.com/blog/1709268
1. 看简介,了解这个项目是解决什么问题的。找关键词,总结核心目的。而且能提出一系列问题,思考十分重要,根据思考去深入学习。
2. 入门:根据官网的helloworld。
深入:如果官网提供了单元测试用例,最好是一个个地跟着试。
动手:写自己需要的功能,或者自己觉得有趣的功能。
静/悟:如果比较重要,读官方文档。
3. 了解一下与该项目相类似的其它两三门技术。大致了解一下互相的优缺点。
4. 学习源码建议从低版本开始,因为功能少都是核心,好研究。可以对比最低版本和最新版本慢慢看。
5. 把握度:有些东西是要深入的,有些东西是适可就止。尽量做到每一方面都有涉及,但是有深入的面。有些只需读最核心部分的代码即可,无需读所有代码。
6. 阅读源代码要分而治之,一次读一块,不要混读,不要杂读,有些不懂的,可以放一放,事后再读,有可能会恍然大悟。
7. 要经常写代码,有自己的代码库,每个代码库都是独立的模块。根据开源项目发明自己的轮子,轮子不一定非得用到自己的项目。
分享到:
相关推荐
CMS驱动Web2.0<br>Web2.0的快速发展离不开开源内容管理系统的支持,当前流行的Blog、Wiki等系统都或多或少的采用了开源CMS系统,甚至有人认为是开源CMS系统导致了Web2.0的产生并快速发展。同时,开源CMS系统也随着...
<br><br>方便二次开发<br> <br> 声明 <br> 此项目为开源项目,不收取任何费用,除本站发布的版本之外,版本均归开发者所有<br><br>作者有权选择代码提供对象,目的是将该项目提供给更需要它且能将它继续发展的用户...
To open the source included in the sources.zip file, please extract it to a folder in your hard disk and then open the file <<your folder>>\NMvp.sln for the solution to open in VS 2005. Any feedback ...
开源博客园文章采集插件<br><br>1.0 Beta2版本功能<br><br>1.增加文章采集插件<br>2.采用多线程优化窗体性能<br>3.修正了带参数SQL语句的类型问题<br><br><br>1.0 Beta1版本功能<br><br>1.主界面仿VS编译器效果,...
<filter-name>CASFilter</filter-name> <filter-class>edu.yale.its.tp.cas.client.filter.CASFilter</filter-class> <init-param> <param-name>edu.yale.its.tp.cas.client.filter.loginUrl</param-name> ...
### 使用GitHub搭建Maven私库 #### 背景与目的 随着软件开发项目的增多和个人技术积累的增长,很...以上步骤和说明提供了搭建GitHub上的Maven私库的完整过程,希望能帮助开发者更好地管理自己的开源项目和技术积累。
<%= f.inputs do %> <%= f.input :title %> <%= f.input :body %> <%= f.input :section, :as => :radio %> <%= f.input :categories %> <%= f.input :created_at, :as => :string %> <% end %> <%= f....
本项目记录我学习hadoop和spark等开源框架的代码,因为也是最近才用github,之前都是荒废状态,故部分都是是之前写好的,现在上传至github<br/> 本部分分为多个项目,会涉及目前比较火的大数据的相关概念,比如说...
Hibernate Validator是Hibernate组织开发的一个开源项目,它是JSR 380(Java Bean Validation 2.0)的参考实现。它提供了一套API和注解,可以方便地在Java对象中定义验证规则,对输入数据进行校验,从而确保程序的...
<artifactId>Activiti-engine</artifactId> <version>5.21.0</version> </dependency> <dependency> <groupId>org.Activiti</groupId> <artifactId>Activiti-spring</artifactId> <version>5.21.0</version> ...
PHP168整站 v4.0 SP<br/><br/>运行环境:PHP, MySQL <br/><br/>授权方式: 开源软件<br/><br/>软件简介 <br/><br/>1.源代码全部开源不加密,可以很方便的进行二次开发.<br/>2.风格制作采用标签化,做风格非常方便,...
这个项目初衷是帮助到那些想学习和借鉴优秀golang开源项目, 和在互联网架构设计时期望快速寻找合适轮子的人。 目录 监控系统 容器技术 PaaS工具 大数据 微服务 CI/CD 数据库技术 存储技术 分布式系统 消息系统 ...
AndroidViewAnimations是一个能实现很多很酷炫的 Android 动画的开源库, 动画效果是通过借鉴 Animate.css 来实现的, 不仅酷炫,使用起来也非常简单。效果图:使用:Gradledependencies { compile '...
适用于大型图库类网站、个人相册类网站、产品展示类网站、在线漫画类网站等<br><br>主要特点:<br>强大易用的批处理<br>支持网页上传、ftp上传、打包上传<br>并非目录直读<br>灵活的无限级分类<br>超玄的图片浏览...
标题中的“国内开源中国镜像settings.xml配置”指的是在开发环境中,为了加速访问国外的开源软件仓库,如Maven或Gradle,开发者通常会配置一个国内的开源镜像地址到`settings.xml`文件中。这个配置能有效提高依赖...
在本节课程中,我们将学习如何使用Spring Boot框架来创建一个Web项目,并整合JSP(Java Server Pages)来实现动态网页的生成。 标题解释 Spring Boot是基于Java语言的一款开源框架,旨在简化Web应用程序的开发...
项目概述:基于Python Flask的在线成绩发布学习平台是一个开源项目,...该项目旨在为广大用户提供一个便捷的在线学习环境,集中管理和发布学生的成绩信息,其开源性质允许并鼓励用户根据自身需求进行定制化修改和扩展。
对于大型团队,可能还需要管理多个Maven项目,这时可以使用不同的用户配置,通过`<profiles>`和`<activeProfiles>`标签来切换不同环境的配置。 总的来说,Maven与开源中国Maven库的结合使用,对于国内Java开发者而...
QT开源项目源码是软件开发领域中的宝贵资源,尤其对于想要深入理解图形用户界面(GUI)编程、跨平台应用开发以及C++编程实践的开发者来说,具有极高的学习价值。QT是一个广泛使用的开源框架,由Qt公司开发并维护,它...
开源项目-augurysys-autocomplete.zip,github.com/augurysys/autocomplete - a Library for building auto-complete services with Golang and Redis