[Code] 变态之人键合一
目的也比较单纯,选一门语言,走向人键合一。
选了两本书作为操练场:《精通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
非栈帧
栈帧
# TODO (Jeff): ... 二叉树遍历
动态规划 Dynamic programming
效率比对
实战练习
# TODO (Jeff): ... 需要更多的练习
排序和搜索 Sort and Find
实战练习
[Code] 烧脑之算法模型【详见算法部分】
在复习树和图之前,有必要中场休息,牢固已学内容。
总结内容如下:
# TODO (Jeff): ...
ing...
最新文章
- Android连接网络打印机进行打印
- SQL Server中行列转换 Pivot UnPivot
- Redis中connect与pconnect区别?
- List.Foreach与C#的foreach的区别
- yii2-datepicker/datetimepicker插件使用
- UVA 1557 - Calendar Game(博弈dp)
- oracle number 和sqlserver numeric的区别
- java面向对象之 继承 Inheritance
- Tip插件的使用
- [Q]pdfFactory打印机内存不能为read的问题
- 雨燕apply项目总结
- Linux修改磁盘挂载目录
- mysql报错问题解决MySQL server PID file could not be found!
- python math random
- angular4+中的数据绑定
- “数学口袋精灵”第二个Sprint计划(第三天)
- iOS非ARC内存管理摘要 - 实践型
- Python MySQLdb连接报2003错误原因
- 利用crosstool-ng自动化编译交叉编译环境(转)
- 963 AlvinZH打怪刷经验(背包DP大作战R)