Python——365天学习规划
文章目录
1. 第一阶段:Python基础(Day 1-60)
1.1 Week 1-2:基础语法
1.1.1 Day 1-3:变量、数据类型、运算符、输入输出
1.1.2 Day 4-7:条件语句(if-elif-else)
1.1.3 Day 8-14:循环(for/while)、range()、break/continue
1.2 Week 3-4:数据结构
1.2.1 Day 15-21:列表、元组、字符串操作
1.2.2 Day 22-28:字典、集合、推导式
1.3 Week 5-6:函数与模块
1.3.1 Day 29-35:函数定义、参数传递、作用域
1.3.2 Day 36-42:模块化编程(import)、常用内置模块(math/datetime)
1.4 Week 7-9:文件与异常
1.4.1 Day 43-49:文件读写(open/json)
1.4.2 Day 50-56:异常处理(try-except)
1.4.3 Day 57-60:综合练习
2. 第二阶段:进阶编程(Day 61-150)
2.1 Week 10-12:面向对象编程(OOP)
2.1.1 Day 61-70:类与对象、属性、方法
2.1.2 Day 71-77:继承、多态、封装
2.1.3 Day 78-84:魔法方法(init/str)
2.2 Week 13-16:算法与数据结构
2.2.1 Day 85-95:复杂度分析、排序算法(冒泡/快排)
2.2.2 Day 96-105:递归、栈/队列、链表
2.2.3 Day 106-112:树、图基础
2.3 Week 17-20:常用库与工具
2.3.1 Day 113-120:NumPy科学计算
2.3.2 Day 121-128:Pandas数据分析
2.3.3 Day 129-135:Matplotlib/Seaborn可视化
2.3.4 Day 136-150:综合项目
3. 第三阶段:方向专项(Day 151-300)
3.1 方向1:Web开发(Django/Flask)
3.1.1 Day 151-170:HTML/CSS/JavaScript基础
3.1.2 Day 171-190:Flask框架(路由、模板、表单)
3.1.3 Day 191-210:Django框架(ORM、Admin)
3.1.4 Day 211-230:REST API开发(DRF)
3.2 方向2:数据分析/机器学习
3.2.1 Day 151-170:数据清洗与特征工程
3.2.2 Day 171-190:机器学习基础(线性回归/分类)
3.2.3 Day 191-210:深度学习(TensorFlow/Keras)
3.2.4 Day 211-230:自然语言处理(NLTK)
3.3 方向3:自动化与爬虫
3.3.1 Day 151-170:Requests/BeautifulSoup
3.3.2 Day 171-190:Selenium自动化
3.3.3 Day 191-210:Scrapy框架
3.3.4 Day 211-230:反爬策略与数据存储
4. 第四阶段:项目实战与求职(Day 301-365)
4.1 Day 301-330:大型项目开发(任选2个)
4.2 Day 331-350:LeetCode刷题(100+题)
4.3 Day 351-365:简历优化、面试模拟
5. 学习资源推荐
5.1 书籍
5.2 平台
5.3 文档
5.4 社区
6. 关键建议
6.1 每日坚持
6.2 代码管理
6.3 主动提问
6.4 定期复盘
1. 第一阶段:Python基础(Day 1-60)
1.1 Week 1-2:基础语法
1.1.1 Day 1-3:变量、数据类型、运算符、输入输出
-
学习变量命名规则,掌握基本数据类型(整型、浮点型、字符串等)的定义和使用,熟悉运算符的优先级和运算规则。
-
通过编写温度转换器和BMI计算器,练习变量的使用和输入输出操作,加深对基础语法的理解和应用。
1.1.2 Day 4-7:条件语句(if-elif-else)
-
理解条件语句的执行流程,掌握if-elif-else语句的语法结构和逻辑关系,能够根据条件判断执行不同的代码块。
-
完成成绩评级和闰年判断的练习,运用条件语句解决实际问题,提高逻辑思维能力。
1.1.3 Day 8-14:循环(for/while)、range()、break/continue
-
学习循环控制结构,掌握for循环和while循环的使用方法,了解range()函数的作用,学会使用break和continue语句控制循环流程。
-
编写斐波那契数列和猜数字游戏,通过循环实现重复操作,锻炼编程技巧和解决问题的能力。
1.2 Week 3-4:数据结构
1.2.1 Day 15-21:列表、元组、字符串操作
-
掌握列表的创建、索引、切片、添加、删除等操作,了解元组的不可变性,熟悉字符串的常用方法(如拼接、分割、查找等)。
-
实现购物车管理和单词反转的功能,运用列表和字符串操作处理实际数据,提升数据处理能力。
1.2.2 Day 22-28:字典、集合、推导式
-
学习字典的键值对存储结构,掌握字典的创建、访问、更新、删除等操作,了解集合的无序性和去重特性,熟悉列表推导式、字典推导式和集合推导式的语法和应用场景。
-
编写词频统计和用户信息管理系统的代码,利用字典和集合高效处理数据,提高代码的可读性和简洁性。
1.3 Week 5-6:函数与模块
1.3.1 Day 29-35:函数定义、参数传递、作用域
-
理解函数的概念和作用,掌握函数的定义方法,包括函数名、参数列表和返回值,熟悉参数传递的方式(位置参数、关键字参数、默认参数等),了解变量的作用域规则。
-
编写计算器和素数生成器函数,通过函数封装代码,提高代码的复用性和可维护性。
1.3.2 Day 36-42:模块化编程(import)、常用内置模块(math/datetime)
-
学习模块的概念和作用,掌握import语句的使用方法,了解Python的模块化编程思想,熟悉math模块的数学函数和datetime模块的日期时间处理功能。
-
实现倒计时工具和日志记录器,运用模块化编程提高代码的组织性和可扩展性。
1.4 Week 7-9:文件与异常
1.4.1 Day 43-49:文件读写(open/json)
-
掌握文件的打开、读取、写入和关闭操作,了解文件的读写模式,熟悉json模块的序列化和反序列化功能,能够处理JSON格式的数据文件。
-
编写日记本程序和数据备份脚本,通过文件操作实现数据的持久化存储。
1.4.2 Day 50-56:异常处理(try-except)
-
学习异常的概念和类型,掌握try-except语句的使用方法,了解异常处理的流程和作用,能够捕获和处理常见的异常情况,提高程序的健壮性。
-
编写文件加密解密工具,运用异常处理机制确保程序在异常情况下能够正常运行。
1.4.3 Day 57-60:综合练习
-
项目:通讯录管理系统(命令行版)
-
综合运用所学的Python基础语法、数据结构、函数、模块、文件和异常处理等知识,开发一个功能完善的通讯录管理系统,实现添加、删除、查询、修改等操作,巩固第一阶段的学习成果。
2. 第二阶段:进阶编程(Day 61-150)
2.1 Week 10-12:面向对象编程(OOP)
2.1.1 Day 61-70:类与对象、属性、方法
-
理解面向对象编程的基本概念,掌握类的定义和对象的创建方法,熟悉类的属性和方法的定义和使用,了解类的构造方法和析构方法的作用。
-
编写银行账户管理系统,运用类和对象封装业务逻辑,实现账户的开户、存款、取款、转账等功能,体会面向对象编程的优势。
2.1.2 Day 71-77:继承、多态、封装
-
学习类的继承机制,掌握继承的语法和使用方法,了解继承的优缺点,理解多态的概念和实现方式,熟悉封装的思想和作用,能够通过继承和多态实现代码的复用和扩展。
-
设计电商商品类,运用继承和多态实现不同商品类型的共性和差异,提高代码的可扩展性和可维护性。
2.1.3 Day 78-84:魔法方法(init/str)
-
了解Python中的魔法方法及其作用,重点掌握__init__方法的初始化功能和__str__方法的字符串表示功能,能够通过魔法方法为类添加特殊的行为和功能。
-
编写自定义向量类,利用魔法方法实现向量的初始化、加法、减法、乘法等运算,提高类的可操作性和可读性。
2.2 Week 13-16:算法与数据结构
2.2.1 Day 85-95:复杂度分析、排序算法(冒泡/快排)
-
学习算法的时间复杂度和空间复杂度分析方法,掌握冒泡排序和快速排序算法的原理和实现步骤,了解不同排序算法的性能特点和适用场景,能够根据实际情况选择合适的排序算法。
-
实现冒泡排序和快速排序算法的代码,并进行性能对比实验,加深对排序算法的理解和掌握。
2.2.2 Day 96-105:递归、栈/队列、链表
-
理解递归的概念和原理,掌握递归函数的定义和调用方法,了解栈和队列的基本操作和应用场景,熟悉链表的结构和操作方法,能够运用递归、栈、队列和链表解决实际问题。
-
编写迷宫求解器和表达式计算器,运用递归、栈和队列实现复杂问题的求解,提高编程能力和问题解决能力。
2.2.3 Day 106-112:树、图基础
-
学习树和图的基本概念、结构和操作方法,掌握二叉树的遍历算法(前序、中序、后序遍历),了解图的遍历算法(深度优先搜索和广度优先搜索),能够运用树和图解决实际问题。
-
实现二叉树的遍历算法和最短路径模拟算法,通过实际案例加深对树和图的理解和应用。
2.3 Week 17-20:常用库与工具
2.3.1 Day 113-120:NumPy科学计算
-
学习NumPy库的基本功能和使用方法,掌握数组的创建、索引、切片、运算等操作,熟悉NumPy的矩阵运算功能,能够运用NumPy进行科学计算和数据分析。
-
编写矩阵运算和图像灰度处理的代码,通过实际案例体会NumPy在科学计算和图像处理中的强大功能。
2.3.2 Day 121-128:Pandas数据分析
-
学习Pandas库的基本功能和使用方法,掌握DataFrame和Series的数据结构和操作方法,熟悉Pandas的数据清洗、筛选、分组、聚合等功能,能够运用Pandas进行数据分析和处理。
-
编写CSV数据清洗和股票分析的代码,通过实际案例掌握Pandas在数据分析中的应用技巧。
2.3.3 Day 129-135:Matplotlib/Seaborn可视化
-
学习Matplotlib和Seaborn库的基本功能和使用方法,掌握绘图的基本步骤和参数设置,熟悉常见的图表类型(如折线图、柱状图、散点图、饼图等)的绘制方法,能够运用Matplotlib和Seaborn进行数据可视化。
-
编写疫情数据趋势图的代码,通过实际案例展示数据可视化在数据分析中的重要作用。
2.3.4 Day 136-150:综合项目
-
项目:电影数据分析系统(IMDB数据集)
-
综合运用面向对象编程、算法与数据结构、NumPy、Pandas、Matplotlib/Seaborn等知识,开发一个电影数据分析系统,实现数据的加载、清洗、分析和可视化,完成电影评分分析、导演作品分析、演员作品分析等功能,巩固第二阶段的学习成果。
3. 第三阶段:方向专项(Day 151-300)
3.1 方向1:Web开发(Django/Flask)
3.1.1 Day 151-170:HTML/CSS/JavaScript基础
-
学习HTML的基本语法和标签,掌握CSS的样式设置和布局方法,了解JavaScript的基本语法和事件处理机制,能够运用HTML/CSS/JavaScript开发简单的静态网页。
-
编写静态个人博客的代码,通过实际项目掌握HTML/CSS/JavaScript的基础知识和应用技巧。
3.1.2 Day 171-190:Flask框架(路由、模板、表单)
-
学习Flask框架的基本概念和使用方法,掌握Flask的路由机制、模板渲染和表单处理功能,能够运用Flask开发简单的Web应用。
-
编写待办事项应用的代码,通过实际项目掌握Flask框架的开发流程和应用技巧。
3.1.3 Day 191-210:Django框架(ORM、Admin)
-
学习Django框架的基本概念和使用方法,掌握Django的ORM机制和Admin后台管理功能,能够运用Django开发复杂的Web应用。
-
编写电商平台(用户+商品模块)的代码,通过实际项目掌握Django框架的开发技巧和应用方法。
3.1.4 Day 211-230:REST API开发(DRF)
-
学习REST API的基本概念和设计原则,掌握Django REST framework(DRF)的使用方法,能够运用DRF开发RESTful API接口。
-
编写天气预报API服务的代码,通过实际项目掌握REST API的开发流程和应用技巧。
3.2 方向2:数据分析/机器学习
3.2.1 Day 151-170:数据清洗与特征工程
-
学习数据清洗的基本方法和技巧,掌握缺失值处理、异常值处理、重复值处理等操作,了解特征工程的概念和作用,熟悉特征选择、特征提取、特征转换等方法,能够运用Pandas和Scikit-learn进行数据清洗和特征工程。
-
编写数据清洗与特征工程的代码,通过实际案例掌握数据预处理的方法和技巧。
3.2.2 Day 171-190:机器学习基础(线性回归/分类)
-
学习机器学习的基本概念和原理,掌握线性回归和分类算法的原理和实现方法,了解模型评估指标(如准确率、召回率、F1值等)的计算方法和意义,能够运用Scikit-learn进行机器学习模型的训练和评估。
-
编写房价预测模型的代码,通过实际项目掌握机器学习模型的开发流程和应用技巧。
3.2.3 Day 191-210:深度学习(TensorFlow/Keras)
-
学习深度学习的基本概念和原理,掌握神经网络的基本结构和训练方法,熟悉TensorFlow和Keras的使用方法,能够运用TensorFlow/Keras构建和训练深度学习模型。
-
编写MNIST手写数字识别的代码,通过实际项目掌握深度学习模型的开发流程和应用技巧。
3.2.4 Day 211-230:自然语言处理(NLTK)
-
学习自然语言处理的基本概念和方法,掌握文本预处理、词性标注、命名实体识别、情感分析等技术,熟悉NLTK库的使用方法,能够运用NLTK进行自然语言处理。
-
编写情感分析工具的代码,通过实际项目掌握自然语言处理的方法和应用技巧。
3.3 方向3:自动化与爬虫
3.3.1 Day 151-170:Requests/BeautifulSoup
-
学习Requests库的基本功能和使用方法,掌握网络请求的发送和响应的处理,熟悉BeautifulSoup库的HTML解析功能,能够运用Requests和BeautifulSoup进行简单的网页爬取。
-
编写豆瓣电影TOP250爬虫的代码,通过实际项目掌握网页爬取的方法和技巧。
3.3.2 Day 171-190:Selenium自动化
-
学习Selenium库的基本功能和使用方法,掌握Web自动化测试的基本原理和操作方法,熟悉Selenium的元素定位和操作方法,能够运用Selenium进行Web自动化测试和爬取动态网页数据。
-
编写自动填写表单工具的代码,通过实际项目掌握Selenium的使用方法和应用技巧。
3.3.3 Day 191-210:Scrapy框架
-
学习Scrapy框架的基本概念和使用方法,掌握Scrapy的项目结构和组件功能,熟悉Scrapy的爬虫开发流程和数据存储方法,能够运用Scrapy开发高效的爬虫程序。
-
编写新闻网站全站爬虫的代码,通过实际项目掌握Scrapy框架的开发技巧和应用方法。
3.3.4 Day 211-230:反爬策略与数据存储
-
学习常见的反爬策略和应对方法,掌握数据存储的基本方法和技巧,熟悉MySQL数据库的使用方法,能够运用MySQL存储爬取的数据。
-
编写爬虫+MySQL存储的代码,通过实际项目掌握反爬策略的应对方法和数据存储的方法。
4. 第四阶段:项目实战与求职(Day 301-365)
4.1 Day 301-330:大型项目开发(任选2个)
-
示例:在线教育平台(Django+Vue)、股票预测系统(Flask+ML)
-
综合运用所学的Python知识和技能,开发两个大型项目,选择适合的框架和技术栈,完成项目的需求分析、设计、开发、测试和部署,积累项目经验,提升项目实战能力。
4.2 Day 331-350:LeetCode刷题(100+题)
-
重点:字符串、动态规划、链表
-
在LeetCode平台上刷题100道以上,重点练习字符串、动态规划、链表等类型的题目,提高算法思维和编程能力,为求职面试做好准备。
4.3 Day 351-365:简历优化、面试模拟
-
学习:设计模式、系统设计基础
-
学习设计模式和系统设计的基础知识,优化个人简历,突出项目经验和技能优势,进行面试模拟练习,提高面试技巧和应变能力,为求职做好充分准备。
5. 学习资源推荐
5.1 书籍
-
《Python编程:从入门到实践》:适合初学者,内容全面,案例丰富,能够帮助读者快速掌握Python编程的基础知识和实践技能。
-
《流畅的Python》:适合进阶学习者,深入讲解Python的高级特性,帮助读者提升代码质量和编程水平。
5.2 平台
-
LeetCode(算法):提供丰富的算法题目和在线编程环境,适合练习算法和数据结构,提高编程能力。
-
Codecademy(基础):提供交互式的Python编程课程,适合初学者系统学习Python基础语法和编程知识。
-
Kaggle(数据科学):提供大量的数据集和竞赛项目,适合学习数据分析、机器学习和数据挖掘等知识,积累项目经验。
5.3 文档
-
Python官方文档:权威的Python语言参考文档,详细介绍了Python的语法、内置函数、标准库等内容,是学习Python的重要参考资料。
-
MDN Web文档:权威的Web开发文档,详细介绍了HTML、CSS、JavaScript等Web开发技术,是学习Web开发的重要参考资料。
5.4 社区
-
Stack Overflow:全球最大的编程问答社区,可以在这里搜索和提问编程问题,获取专业的解答和帮助。
-
GitHub:全球最大的代码托管平台,可以在这里查看开源项目、学习优秀的代码,同时也可以将自己的代码开源,展示自己的项目作品。
-
知乎专栏:国内知名的问答社区,有许多技术大牛分享Python学习经验和项目实践案例,可以在这里学习和交流。
6. 关键建议
6.1 每日坚持
-
2小时拆分为40分钟学习+20分钟练习+20分钟复习,保持学习的连贯性和稳定性,逐步积累知识和技能。
6.2 代码管理
-
用GitHub记录每天代码,形成作品集,方便展示自己的学习成果和项目经验,同时也可以通过版本控制管理代码,方便代码的修改和回溯。
6.3 主动提问
-
遇到问题优先查文档,再向社区(如Stack Overflow)提问,培养自主学习和解决问题的能力,提高学习效率。
6.4 定期复盘
-
每周日复习当周内容,修正错误代码,巩固所学知识,总结学习经验和教训,不断优化学习方法和计划。
相关文章:
Python——365天学习规划
文章目录 1. 第一阶段:Python基础(Day 1-60) 1.1 Week 1-2:基础语法 1.1.1 Day 1-3:变量、数据类型、运算符、输入输出 1.1.2 Day 4-7:条件语句(if-elif-else) 1.1.3 Day 8-14&…...
河南理工XCPC萌新选拔赛
A 树之荣荣 青梅熙熙 树之荣荣 青梅熙熙 这个题是一个经典的博弈问题。我们可以考虑一种情况,就是你每一次都会取一个。那么最后一个你肯定不能取。所以我们可以考虑减去一个后的值。判断它的和是奇数还是偶数即可。 int n; cin >> n;int s 0;for (int i 1;…...
设计模式|策略模式 Strategy Pattern 详解
目录 一、策略模式概述二、策略模式的实现2.1 策略接口2.2 具体策略类2.3 上下文类2.4 客户端代码2.5 UML类图2.6 UML时序图 三、优缺点3.1 ✅优点3.2 ❌ 缺点 四、最佳实践场景4.1 适合场景描述4.2 具体场景 五、扩展5.1 继承复用机制和复合策略5.2 对象管理:优化策…...
Wireshark 插件开发实战指南
Wireshark 插件开发实战指南 环境搭建流程图 #mermaid-svg-XpNibno7BIyfzNn5 {font-family:"trebuchet ms",verdana,arial,sans-serif;font-size:16px;fill:#333;}#mermaid-svg-XpNibno7BIyfzNn5 .error-icon{fill:#552222;}#mermaid-svg-XpNibno7BIyfzNn5 .error-t…...
使用Java构建高效的Web服务架构
使用Java构建高效的Web服务架构 随着互联网技术的飞速发展,Web服务在现代应用中扮演着至关重要的角色。尤其是在企业级应用中,如何构建一个高效、可扩展且易维护的Web服务架构,成为了开发者和架构师面临的一项重要挑战。Java作为一种成熟、稳…...
《Python实战进阶》No 10:基于Flask案例的Web 安全性:防止 SQL 注入、XSS 和 CSRF 攻击
第10集:Web 安全性:防止 SQL 注入、XSS 和 CSRF 攻击 在现代 Web 开发中,安全性是至关重要的。无论是用户数据的保护,还是系统稳定性的维护,开发者都需要对常见的 Web 安全威胁有深刻的理解,并采取有效的防…...
蓝桥备赛(六)- C/C++输入输出
一、OJ题目输入情况汇总 OJ(online judge) 接下来会有例题 , 根据一下题目 , 对这些情况进行分析 1.1 单组测试用例 单在 --> 程序运行一次 , 就处理一组 练习一:计算 (ab)/c 的值 B2009 计算 (ab)/c …...
企微审批中MySQL字段TEXT类型被截断的排查与修复实践
在MySQL中,TEXT类型字段常用于存储较大的文本数据,但在一些应用场景中,当文本内容较大时,TEXT类型字段可能无法满足需求,导致数据截断或插入失败。为了避免这种问题,了解不同文本类型(如TEXT、M…...
[ISP] AE 自动曝光
相机通过不同曝光参数(档位快门时间 x 感光度 x 光圈大小)控制进光量来完成恰当的曝光。 自动曝光流程大概分为三部分: 1. 测光:点测光、中心测光、全局测光等;通过调整曝光档位使sensor曝光在合理的阈值内࿰…...
小程序画带圆角的圆形进度条
老的API <canvas id"{{canvasId}}" canvas-id"{{canvasId}}" style"opacity: 0;" class"canvas"/> startDraw() {const { canvasId } this.dataconst query this.createSelectorQuery()query.select(#${canvasId}).bounding…...
16. LangChain实战项目2——易速鲜花内部问答系统
需求简介 易束鲜花企业内部知识库如下: 本实战项目设计一个内部问答系统,基于这些内部知识,回答内部员工的提问。 在前面课程的基础上,需要安装的依赖包如下: pip install docx2txt pip install qdrant-client pip i…...
代码的解读——自用
代码来自:https://github.com/ChuHan89/WSSS-Tissue?tabreadme-ov-file 借助了一些人工智能 run_pipeline.sh 功能总结 该脚本用于执行一个 弱监督语义分割(WSSS) 的完整流程,包含三个阶段: Stage1:训…...
蓝桥杯试题:DFS回溯
一、题目要求 输入一个数组n,输出1到n的全排列 二、代码展示 import java.util.*;public class ikun {static List<List<Integer>> list new ArrayList<>();public static void main(String[] args) { Scanner sc new Scanner(System.in);…...
FPGA开发,使用Deepseek V3还是R1(8):FPGA的全流程(简略版)
以下都是Deepseek生成的答案 FPGA开发,使用Deepseek V3还是R1(1):应用场景 FPGA开发,使用Deepseek V3还是R1(2):V3和R1的区别 FPGA开发,使用Deepseek V3还是R1&#x…...
一个py文件搞定mysql查询+Json转换+表数据提取+根据数据条件生成excel文件+打包运行一条龙
import os import argparse import pymssql import json import pandas as pd from datetime import datetime from pandas.io.formats.excel import ExcelFormatter import openpyxl# 投注类型映射字典 BET_MAPPING {1: WIN, 2: PLA, 3: QIN, 4: QPL,5: DBL, 6: TCE, 7: QTT,…...
微服务学习(1):RabbitMQ的安装与简单应用
目录 RabbitMQ是什么 为什么要使用RabbitMQ RabbitMQ的安装 RabbitMQ架构及其对应概念 队列的主要作用 交换机的主要作用 RabbitMQ的应用 通过控制面板操作(实现收发消息) RabbitMQ是什么 RabbitMQ是一个开源的消息队列软件(消息代理…...
【RAG】Embeding 和 Rerank学习笔记
Q: 现在主流Embeding模型架构 在RAG(Retrieval-Augmented Generation)系统中,嵌入模型(Embedding Model) 是检索阶段的核心组件,负责将查询(Query)和文档(Document&#…...
【Delphi】如何解决使用webView2时主界面置顶,而导致网页选择文件对话框被覆盖问题
一、问题描述: 在Delphi 中使用WebView2控件,如果预先把主界面置顶(Self.FormStyle : fsStayOnTop;),此时,如果在Web页面中有使用(<input type"file" id"fileInput" acc…...
【量化金融自学笔记】--开篇.基本术语及学习路径建议
在当今这个信息爆炸的时代,金融领域正经历着一场前所未有的变革。传统的金融分析方法逐渐被更加科学、精准的量化技术所取代。量化金融,这个曾经高不可攀的领域,如今正逐渐走进大众的视野。它将数学、统计学、计算机科学与金融学深度融合&…...
iOS 使用消息转发机制实现多代理功能
在iOS开发中,我们有时候会用到多代理功能,比如我们列表的埋点事件,需要我们在列表的某个特定的时机进行埋点上报,我们当然可以用最常见的做法,就是设置代理实现代理方法,然后在对应的代理方法里面进行上报&…...
16.3 LangChain Runnable 协议精要:构建高效大模型应用的核心基石
LangChain Runnable 协议精要:构建高效大模型应用的核心基石 关键词:LCEL Runnable 协议、LangChain 链式开发、自定义组件集成、流式处理优化、生产级应用设计 1. Runnable 协议设计哲学与核心接口 1.1 协议定义与类结构 #mermaid-svg-PlmvpSDrEUrUGv2p {font-family:&quo…...
Starrocks入门(二)
1、背景:考虑到Starrocks入门这篇文章,安装的是3.0.1版本的SR,参考:Starrocks入门-CSDN博客 但是官网的文档,没有对应3.0.x版本的资料,却有3.2或者3.3或者3.4或者3.1或者2.5版本的资料,不要用较…...
【北京迅为】itop-3568 开发板openharmony鸿蒙烧写及测试-第1章 体验OpenHarmony—烧写镜像
瑞芯微RK3568芯片是一款定位中高端的通用型SOC,采用22nm制程工艺,搭载一颗四核Cortex-A55处理器和Mali G52 2EE 图形处理器。RK3568 支持4K 解码和 1080P 编码,支持SATA/PCIE/USB3.0 外围接口。RK3568内置独立NPU,可用于轻量级人工…...
Electron一小时快速上手
1. 什么是 Electron? Electron 是一个跨平台桌面应用开发框架,开发者可以使用 HTML、CSS、JavaScript 等 Web 技术来构建桌面应用程序。它的本质是结合了 Chromium 和 Node.js,现在广泛用于桌面应用程序开发。例如,以下桌面应用都使用了 El…...
算法004——盛最多水的容器
力扣——盛最多水的容器点击即可跳转 当我们选择1号线和8号线时,下标为 1 和 8 形成容器的容积的高度是由 较矮的决定的,即下标为 8 的位置; 而宽度则是 1到8 之间的距离,为 8-17,此时容器的容积为 7 * 7 49。 当我…...
Java Web-Filter
Filter 在 Java Web 开发中,Filter(过滤器)是 Servlet 规范中的一个重要组件,它可以对客户端与服务器之间的请求和响应进行预处理和后处理。以下从多个方面详细介绍 Java Web 中的 Filter: 一、概念和作用 概念&…...
LeetCode 热题100 438. 找到字符串中所有字母异位词
LeetCode 热题100 | 438. 找到字符串中所有字母异位词 大家好,今天我们来解决一道经典的算法题——找到字符串中所有字母异位词。这道题在 LeetCode 上被标记为中等难度,要求我们在字符串 s 中找到所有是 p 的异位词的子串,并返回这些子串的…...
DeepSeek-R1训练时采用的GRPO算法数学原理及算法过程浅析
先来简单看下PPO和GRPO的区别: PPO:通过奖励和一个“评判者”模型(critic 模型)评估每个行为的“好坏”(价值),然后小步调整策略,确保改进稳定。 GRPO:通过让模型自己生…...
Qt基于信号量QSemaphore实现的生产者消费者模型
在 Qt 中,信号量(QSemaphore)是一种用于控制对共享资源访问的同步工具。它允许一定数量的线程同时访问共享资源,适合用于生产者-消费者模型。 代码实现 #include <QCoreApplication> #include <QThread> #include &…...
七星棋牌 6 端 200 子游戏全开源修复版源码(乐豆 + 防沉迷 + 比赛场 + 控制)
七星棋牌源码 是一款运营级的棋牌产品,覆盖 湖南、湖北、山西、江苏、贵州 等 6 大省区,支持 安卓、iOS 双端,并且 全开源。这个版本是 修复优化后的二开版本,新增了 乐豆系统、比赛场模式、防沉迷机制、AI 智能控制 等功能&#…...
