# 无用的技术 **Repository Path**: hailongchen/coding ## Basic Information - **Project Name**: 无用的技术 - **Description**: 本项目旨在为已掌握 Python 基础语法的开发者提供一条通往高级的软件工程师的进阶之路。同时,既是方便自己回顾与记录学习,也是为了分享知识,帮助其他软件工程技术者提升技能。 项目涵盖了从底层算法原理到高阶元编程技巧的全方位说明与示例代码,但不包含框架、库或工具的使用。 - **Primary Language**: Unknown - **License**: Not specified - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2026-01-16 - **Last Updated**: 2026-01-29 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # Python 进阶编程与算法实战 本项目旨在为已掌握 Python 基础语法的开发者提供一条通往高级的软件工程师的进阶之路。同时,既是方便自己回顾与记录学习,也是为了分享知识,帮助其他软件工程技术者提升技能。 项目涵盖了从底层算法原理到高阶元编程技巧的全方位说明与示例代码,但不包含框架、库或工具的使用。 在AI时代,理想情况下基本接近平权,知识储藏在了一个新型的超大图书馆,透过AI随时可轻松查阅。现实里可以理解为“无用的纯技术”。 之所以说无用,是因为“市场价值”并非由这些无法形成护城河的技术本身决定,而在于其解决的问题和带来的价值,在于业务本身是否具价值。只是作为技术人,我们可以追求更多的、更深刻的技术理解,但勿用非壁垒型的技术去替代业务价值,也不需过多苛责/苛求谁谁掌握某技术内容。 ## 为什么选择这个教程? 对于已经掌握基础编程概念的学习者,本教程具有显著的**长远价值**。详情请阅读: 👉 **[教程价值与适用性分析](教程价值与适用性分析.md)** ## 核心模块 ### 0. 可视化工具 (Visualization) - **数据结构与算法可视化**: [Visualization](coding/00_visualization/README.md) (排序算法, 数据结构, 图算法) - **交互式演示**: [Web Demo](coding/00_visualization/visualization_demo.html) (HTML5 Canvas实现) ### 1. 算法与数据结构 (内功) - **排序与查找**: [Sorting](coding/01_sorting_algorithms/README.md) & [Search](coding/02_search_algorithms/README.md) - **核心结构**: [Data Structures](coding/03_data_structures/README.md) (栈, 队列, 哈希表) - **高级结构**: [Binary Trees](coding/03_data_structures/binary_trees/README.md) (AVL, 红黑树) & [Graphs](coding/05_graph_algorithms/README.md) - **算法思想**: [Dynamic Programming](coding/06_dynamic_programming/README.md) - **基础计算**: [进制与位计算](coding/04_number_systems_bitwise/README.md) (进制转换, 位运算, 位掩码) ### 2. 软件设计与架构 (招式) - **设计模式**: [Design Patterns](coding/07_design_patterns/README.md) (单例, 工厂, 策略, 代理等) ### 3. 高级编程与工程化 (心法) - **反射与探针**: [Reflection & Probes](coding/09_reflection_probes/README.md) (动态注入, 测试探针) - **元编程技术**: [Metaprogramming](coding/14_metaprogramming/README.md) (元类, 描述符, 装饰器, Python 独有特性) - **静态分析与调用链**: [Call Chain Analysis](coding/10_call_chain_analysis/README.md) (AST, 复杂度分析, 动态追踪) ### 4. 并发编程与系统设计 (实战) - **并发编程**: [Concurrency](coding/11_concurrency/README.md) (Asyncio, 多线程, 多进程, 生产者-消费者, 线程池, Actor模型) - **高级特性**: [Advanced Features](coding/12_advanced_features/README.md) (上下文管理器, 资源管理, 上下文变量, 线程本地存储) - **网络编程**: [Network Programming](coding/14_network_programming/README.md) (TCP服务器, HTTP协议, I/O复用) - **操作系统概念**: [OS Concepts](coding/15_os_concepts/README.md) (DMA, COW, CAS, 并发陷阱, 上下文, 中断) ## 学习指南 建议按照 [学习路径](学习路径.md) 循序渐进地学习。如果对某章节感兴趣,可直接跳转至模块的文件。 ## 运行代码 所有代码均可直接运行,且包含详细注释和演示用例。 ```bash # 算法与数据结构示例 python coding/01_sorting_algorithms/quick_sort.py python coding/02_search_algorithms/binary_search.py python coding/03_data_structures/hash_table.py python coding/03_data_structures/binary_trees/red_black_tree.py python coding/05_graph_algorithms/graph.py python coding/05_graph_algorithms/topological_sort.py python coding/05_graph_algorithms/parameter_correlation_matrix.py python coding/06_dynamic_programming/knapsack.py python coding/04_number_systems_bitwise/bloom_filter.py python coding/04_number_systems_bitwise/tcp_protocol_parser.py python coding/04_number_systems_bitwise/liquid_detection.py # 设计模式示例 python coding/07_design_patterns/singleton.py python coding/07_design_patterns/object_pool.py # 高级编程与工程化示例 python coding/09_reflection_probes/test_probe.py python coding/13_metaprogramming/metaclass_basics.py python coding/13_metaprogramming/descriptors.py python coding/13_metaprogramming/advanced_decorators.py python coding/10_call_chain_analysis/static_analyzer.py # 并发编程与系统设计示例 python coding/11_concurrency/async_demo.py python coding/11_concurrency/threading_vs_processing.py python coding/11_concurrency/producer_consumer.py python coding/12_advanced_features/context_managers.py python coding/14_network_programming/tcp_server_blocking.py python coding/14_network_programming/simple_http_server.py python coding/15_os_concepts/cas_simulation.py python coding/15_os_concepts/deadlock_simulation.py ``` ## 环境设置 ### 虚拟环境 项目使用Python虚拟环境来隔离依赖。首次使用需要创建虚拟环境并安装依赖: ```bash # Windows activate_venv.bat # Linux/Mac source activate_venv.sh ``` ### 依赖安装 所有必需的第三方依赖已列在 `requirements.txt` 文件中: ```bash # 激活虚拟环境后安装依赖 pip install -r requirements.txt ``` 主要依赖包括: - matplotlib: 数据可视化 - numpy: 数值计算 - IPython: 交互式显示 - requests: HTTP客户端 - httpx: 异步HTTP客户端 - flask: Web框架 ## 运行测试 项目包含完整的单元测试,可以验证各个模块的正确性。 ```bash # 运行所有测试 python -m unittest discover tests # 运行特定模块测试 python tests/test_sorting_algorithms.py python tests/test_binary_trees.py python tests/test_data_structures.py ```