zoukankan      html  css  js  c++  java
  • 技术的学习

      刚看到其他人的技术学习心得,在此做些分享会加上自己的一些看法:

      学习新知识的两方面:整体结构和细节,就像书的目录与具体内容,得先了解整体有哪些内容,然后再去学习每节的内容,避免深入细节而迷失学习的方向。

      整体结构:就像是接口,抽象类是做什么的,不用深入实现,看出整个骨架,分离出核心部分,在以后哪种场景下能用上。细节:这时就得了解里面的原理,不断实践,不断重构。

      第一步应该是找到这些主要的类和接口,找出主要的调用过程,清楚这个过程.这样,差不多就明白这个软件/库是怎么工作的了.第二步,是看这些主要类,接口的继承/实现,这样可以了解这个软件/库可以做什么,怎么扩展.这样,一个数M代码量的东东,可以在2~3天的时间里把它弄清楚。对主要流程的掌握和对层次的掌握是第一位的。第一头就扎进这些细节,那就完了。

       以问题导向,案例为基础的学习,不要拘泥于语言,要学习能学习到的最好的东东。比如,性能的关键在调度,这时候可以看看资源调度模式,hibernate算是把资源调度玩到了极致。基于事件的调度(如.net中的web cache),进程调度,线程调度,工作流,这些都算是行为调度,要是把这些东东融会贯通,掌握每一种实现的优点缺点。那么软件设计中所有和时间、并发、资源相关的东东都不在话下了。行为调度可以看看.net 中的cache实现,找一个工作流软件看看,找找几个线程框架看看,看看几个典型操作系统的进程调度机制。

      找一个较稳定的的案例学习,如:pertshop架构,包括其业务、构架,了解有哪些业务模块后再从小模块分析起,多看源码,看其怎么实现此功能的。

      同样的问题,多研究几种解决方案,分析它们的优缺点。

      

  • 相关阅读:
    if __name__
    Python为什么要self
    ubuntu系统中的svn三连
    Python中读取到16进制数如何转成有符号数值
    知网
    Ubuntu 登陆后黑屏 问题解决
    Ubuntu 开机Recovery-Mode,命令行中操作提示 Read-Only File System 只读文件系统的 问题解决
    句子:霓裳虽美始于宫娥之糙手
    VMware 虚拟机 不能打开的解决方案汇总
    Ubuntu 系统安装 数据恢复软件 ext4magic 通过RPM方式
  • 原文地址:https://www.cnblogs.com/zhangs1986/p/3576412.html
Copyright © 2011-2022 走看看