软件技术雷达 Python

0. 前言

0.1 维度与层次

Python语言技术雷达图从能力角度分为以下两个维度:

针对这三个维度中众多的技术点,有偏重地推荐为两个层次:

  • 关键知识技能:表格中标蓝加粗字体为关键的知识技能与技术点;
  • 扩展知识技能:未标蓝加粗的内容为推荐的扩展内容,在掌握了关键知识技能的基础上,根据业务的不同可以有选择性地挑选学习。

0.2 雷达图的应用建议

专家团针对每个知识技能给出了掌握程度的评分标准:

  • 知道(1分):能说清楚是什么,解决什么问题,了解技术对应的社区的使用情况和学习路径。
  • 会用(2分):实现过对应技术的"QuickStart",知道技术的适用场景,能照猫画虎实现需求。
  • 熟练(3分):能够在业务场景中用最佳实践解决问题,形成自己的方法论和套路。
  • 精通(4分):熟悉技术背后原理,研究过源码,能够解决疑难问题(故障、性能优化以及扩展)。
  • 贯通(5分):对该技术的不足比较深入的洞见,能够提出创新性的解决方案,拓展该技术。

使用雷达图的个人或团队可以在初期对自身能力做一次评估,并选择合适的技术方向学习。之后在合适的时间点再次评估,审视是否有进步。

辅助评分的参考工具:excel工具

+

知识技能雷达excel工具示意图:

 

 

 

1. 通用领域

此章节的内容多为通用技术、知识,可应用于各个业务领域的软件开发活动中。

1.1 设计

知识技能技术点学习参考
# 架构设计  
 - 领域驱动设计《领域驱动设计:软件核心复杂性应对之道》
  《实现领域驱动设计》
  martinfowler domain_driven_design
 - 面向对象设计《面向对象是怎么工作的》
  Introduction to Object-Oriented Programming
  运用四色建模法进行领域分析
 - 演进式架构《浮现式设计》
  《Building Evolutionary Architectures》
evolutionaryarchitecture.com
Evolutionary_Architecture_Keynote_by_Neal_Ford
martinfowler evo_arch_forward
  is design dead - Martin Fowler
  《软件演进式设计与领域建模》(公司优秀MOOC课程)
 - 4+1视图运用RUP 4+1视图方法进行软件架构设计
 扩展阅读《数据密集型应用系统设计》
《微服务架构模式》
# 安全设计  
 - 威胁建模华为网络安全技术社区:威胁分析

1.2 重构

知识技能技术点学习参考
# 重构  
 - 重构&坏味道《refactoring》
  《重构与模式》
 - 设计模式《深入浅出设计模式》
《大话设计模式》
《设计模式》
Python设计模式代码参考
 - Pythonic Codewriting-pythonic-code
《编程风格:好代码的逻辑》

1.3 语言

知识技能技术点学习参考
# Python语言  
 - Python语言官方文档Python官方文档(分版本)
 - 基础推荐Python3 入门指南
《Python Cookbook》
 - 进阶推荐《Effective Python:编写高质量 Python 的 59 个有效方法》
《流畅的Python》
《Python源码剖析》
 - 通用及安全编码规范《华为Python语言通用编程规范》
《华为Python语言安全编程规范》
# 算法与数据结构  
 - 基本数据结构:
数组、链表、栈、队列、二叉树、图
慕课网课程
 - 基本算法:
查找、排序、分治递归、动态规划、贪婪、一致性哈希
慕课网课程
 - 数据结构与算法的Python实现《数据结构与算法:python语言实现》
# 系统支撑  
 - 打包发布:
pyinstaller
setuptools
pyinstaller
setuptools
 - 网络:
TCP
UDP
IP
ARP
《TCP/IP详解卷》
《计算机网络》
 - 计算机组成:
内存
cache
cpu
《编码:隐匿在计算机软硬件背后的语言》
《深入理解计算机系统》
 - 跨语言:
CFFI (C Foreign Function Interface)
ctypes
Cython
CFFI官方文档
ctypes官方文档
Cython官方文档

1.4 工具

知识技能技术点学习参考
# 虚环境管理  
 virtualenv
venv
pyenv
virtualenv官方文档
Python3官方文档venv
pyenv
开发环境  
 JupyterJupyter官方网站
# IDE  
 PycharmPycharm官方网站
 VSCodeVSCode官方网站
VSCode Python Start
VSCode Python Language
# 包管理  
 pip
pipenv
pip官方文档
pypi官方网站
pipenv
 poetrypoetry官方网站
# debugging & profiling  
 调试官方标准库
MIT Debugging and Profiling Course
DebuggingWithGdb
 运行性能《性能之巅》
cProfile
py-spy
line-profiler
 内存优化memory_profiler
pympler
# 测试工具  
 unittest
pytest
unittest工具官方文档
单元测试定义
TDD定义
python-3-patterns-idioms-test
《单元测试的艺术(第二版)》
 mock toolsunittest.mock
responses
freezegun
 Fake Data GeneratorMimesis
Faker
 coveragecoverage官方主页
# Clean Code工具  
 pylintpylint官方网站
 flake8
flake8-extensions
flake8官方主页
flake8扩展工具列表(按需挑选)
 radonradon
 其它Linterpep8-naming
dlint
 yapfyapf
 black(推荐的Formatter)black
# 版本管理(VCS)  
 Git
Gitlab
Github
Git官网
Git实践练习
 mercurialmercurial
Linux工具链  
 perf 工具 
 基础命令
SSH
SNMP
SFTP 等
 

2. 业务领域

此章节的内容多为某个业务领域的特定技术、知识,同时也是业界经典范例,强烈推荐学习参考。

知识技能技术点学习参考
# Cloud  
 - web开发(框架任选一个):
Django
Django官方文档
《Django教程》
 FlaskFlask官方文档
Flask官方文档中文版
 Bottle(推荐读源码)Bottle官方文档
Bottle文档中文版
 aiohttpAiohttp官方文档
 FalconFalcon
《Falcon基础教程》
 UnicornUnicorn官方文档
Unicorn文档中文版
 - openstack:
通用
《OpenStack Cloud Computing Cookbook》
《华为云计算及FusionSphere OpenStack基础》
《Openstack设计与实现》
Openstack官方文档
OpenStack社区技术委员会
 NovaNova官方文档
FusionSphere OpenStack Nova入门必知整理
 NeutronNeutron官方文档
《Learning OpenStack Networking (Neutron)》
《深入理解 Openstack Neutron》
《Openstack Neutron基本概念》
 CinderCinder官方文档
Cinder基础知识
 GlanceGlance官方文档
OpenStack之Glance模块
 IronicIronic官方文档
Ironic基础知识
 keystonekeystone官方文档
# AI  
 - AI框架:
tensorflow
机器学习速成课程
tensorflow编程人员指南
理论机器学习和高级机器学习
《tensorflow深度学习》
 pytorch莫烦pytorch动态神经网络
pytorch官方文档
《动手学深度学习(pytorch版)》
 mindsporemindspore官方教程
《深度学习与MindSpore实践》
 paddlepaddle飞桨官方文档
《飞桨PaddlePaddle深度学习实战》
 mxnetmxnet官方教程
《MXNet深度学习实战:计算机视觉算法实现》
 - 机器学习库:
xgboost
xgboost官方指南
《深入理解XGBoost:高效机器学习算法与进阶》
 scikit-learnscikit-learn用户指南
《机器学习实战:基于Scikit-Learn、Keras和TensorFlow》
# 运维  
 ansibleAnsible官方文档
Ansible总结
Ansible中文权威指南
 saltstackSaltStack官方文档
SaltStack快速入门教程
# 自动化测试  
 - 自动化框架:
selenium
Selenium-with-Python
 robotframeworkrobotframework
 httprunnerhttprunner
# 中间件  
 - MQ (Message Queue):
kafka
kafka
 rabbitmqrabbitmq
 zeromqzeromq
 - Cache:
redis
redis
 memcachedmemcached
 - 任务调度:
celery
celery
 apschedulerapscheduler
 - 并发:
asyncio
asyncio
 geventgevent
 fiberfiber
 - 科学计算:
numpy
numpy
 pandaspandas
 anacondaanaconda
 - 数据库:
sqlite
sqlite
sqlite3-Python Interface for sqlite
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值