目的也比较单纯,选一门语言,走向人键合一。

选了两本书作为操练场:《精通Python设计模式》、《Data Structure and Algorithm in Python》。

当然,也专门选购了Thinkpad T系列犒劳双手,迎接重生,再筑辉煌。

开始


一、软件架构师

基本概念

[Arch] 01. Before Design Patterns - UML【开发文档中的UML】

[Arch] 02. Design principle and Software Pattern【七大设计原则、四大模式】

[Arch] 03. Practice UML in project【实践流程】

架构实践

[Arch] 04. Software Architectural Patterns【软件架构】

二、软件设计师

结合《精通Python设计模式》再学习,主要是以常用的为主。

[Design Patterns] 01. Creational Patterns - Abstract Factory

[Design Patterns] 02. Structural Patterns - Facade Pattern

[Design Patterns] 03. Behavioral Patterns - Observer Pattern

三、软件工程师

此处只是列出问题、提示,主要是以动手为主。

工程文件 FILE IO

文件、文件夹判断

路径集合:listdir, walk

检查路径:os.path.exists --> os.path.isfile/os.path.isdir --> os.access

拼凑拆分:os.path.join --> os.path.split(), os.path.splittxt()

文件读写

安全读取:with...as...原理解析

缓存读取:readlines(...)

逐行处理:strip, rstrip

模块文件

模块加载:同级目录、子目录、表亲目录。

模块设置:自定义__init__文件以管理 package。

循环 Iteration

只是为了循环  

循环几次,并得到index

循环到头,while...else,for in...else

处理列表

简单处理:列表内lambda内搞定

复杂处理:map,但返回的是obj

筛选处理:filter,但返回的是obj;也可使用列表内if的策略

内部处理:reduce,直接返回结果,非obj。

排序处理:sorted,通过key引入lambda

实战练习

Fibonacci sequence:[Advanced Python] 14 - Generator for calculating prime  

Prime number:[Advanced Python] 14 - Generator for calculating prime

栈 Stack

实现Stack类

通过list实现;

__init__中存放核心变量;

实战练习

多类括号匹配问题。

表达式计算之”中缀变后缀“:[LeetCode] 由 “中缀表达式 --> 后缀表达式" 所想

队列 Queue

实现Queue类

通过list实现

循环队列的两种遍历策略

实现Dequeue类

回文检测

回文问题扩展:[IR] Suffix Trees and Suffix Arrays

实战练习

打印机任务队列的oop模拟:[LeetCode] 由 “打印机任务队列" 所想

多线程

程间通信:[Python] 09 - Multi-processing

链表 List

实现无序链表

Node类实现:实例方法的只读、可写(装饰器模式):[Python] 08 - Classes --> Objects

"装饰器模式" 引出的 “类内命名风格问题”:[Advanced Python] 16 - Google style guide for programming

实现有序链表

通过 “继承” 实现

递归 Recursion

非栈帧

[LeetCode] 由 “分形" 所想

栈帧

# TODO (Jeff): ... 二叉树遍历

动态规划 Dynamic programming

效率比对

[LeetCode] 由 “找零钱" 所想

实战练习

# TODO (Jeff): ... 需要更多的练习

排序和搜索 Sort and Find

实战练习

[Code] 烧脑之算法模型【详见算法部分】

在复习树和图之前,有必要中场休息,牢固已学内容。

总结内容如下:

  # TODO (Jeff): ...

ing...

最新文章

  1. Android连接网络打印机进行打印
  2. SQL Server中行列转换 Pivot UnPivot
  3. Redis中connect与pconnect区别?
  4. List.Foreach与C#的foreach的区别
  5. yii2-datepicker/datetimepicker插件使用
  6. UVA 1557 - Calendar Game(博弈dp)
  7. oracle number 和sqlserver numeric的区别
  8. java面向对象之 继承 Inheritance
  9. Tip插件的使用
  10. [Q]pdfFactory打印机内存不能为read的问题
  11. 雨燕apply项目总结
  12. Linux修改磁盘挂载目录
  13. mysql报错问题解决MySQL server PID file could not be found!
  14. python math random
  15. angular4+中的数据绑定
  16. “数学口袋精灵”第二个Sprint计划(第三天)
  17. iOS非ARC内存管理摘要 - 实践型
  18. Python MySQLdb连接报2003错误原因
  19. 利用crosstool-ng自动化编译交叉编译环境(转)
  20. 963 AlvinZH打怪刷经验(背包DP大作战R)

热门文章

  1. python3.6.6在CentOS7上的安装
  2. Mybatis-plus的使用
  3. .net打杂工程师的面试感想和总结
  4. 学习 Object-C: 简史
  5. H5 API drawImage的参数
  6. ionic App 解决android端在真机上 tab处于顶部的Bug
  7. [Python] Django框架入门3——深入视图
  8. MSIL实用指南-生成foreach语句
  9. 欧几里得(Euclid)与拓展的欧几里得算法
  10. 导航控制器的根控制器 是滚动性&普通的frame区别