- 免费编程课程大汇总:从入门到精通的一站式资源
大力出奇迹985
人工智能大数据
在数字化时代,编程已成为一项至关重要的技能,无论是为了职业发展还是个人兴趣,学习编程都极具价值。本文精心汇总了丰富的免费编程课程资源,涵盖从基础入门到精通的各个阶段。通过全面介绍如Coursera、edX等在线学习平台,Codecademy、freeCodeCamp等交互式学习网站,以及B站、网易云课堂等视频课程平台的免费课程,为编程学习者提供了一站式的资源指南,帮助读者轻松开启编程学习之旅,逐步
- Redis五大基本数据类型
ruan114514
redis数据库缓存java
Redis作为高性能的键值存储系统,其核心价值在于丰富的数据结构。本文将深入剖析Redis的五种基本数据类型,揭示其内部实现原理,并提供实际应用场景和最佳实践。一、字符串(String):Redis的基石底层实现Redis字符串使用简单动态字符串(SDS)结构:structsdshdr{intlen;//已使用长度intfree;//未使用空间charbuf[];//字节数组};优势特性:O(1)
- 基于深度学习的目标检测算法综述:从RCNN到YOLOv13,一文看懂十年演进!
人工智能教程
深度学习目标检测算法人工智能自动驾驶YOLO机器学习
一、引言:目标检测的十年巨变2012年AlexNet拉开深度学习序幕,2014年RCNN横空出世,目标检测从此进入“深度时代”。十年间,算法从两阶段到单阶段,从Anchor-base到Anchor-free,从CNN到Transformer,从2D到3D,从监督学习到自监督学习,迭代速度之快令人目不暇接。本文将系统梳理基于深度学习的目标检测算法,带你全面了解技术演进、核心思想、代表算法、工业落地与
- ESP32学习-按键中断
风过^无痕
学习
前提知识:freertos消息队列1.使用流程1.GPIO配置2.创建消息队列3.创建消息队列数据输入线程任务4.使能中断5.添加中断处理函数2.代码示例#include#include#include"freertos/FreeRTOS.h"#include"freertos/task.h"#include"freertos/queue.h"#include"driver/gpio.h"stat
- Terraform 系列-Terraform Cloud 比 Terraform OSS 有哪些增强?
东风微鸣
系列文章Terraform系列文章前言最近在使用TerraformCloud来置备OCI的AlwaysFreeTier,发现它非常好用,相比TerraformOSS,用起来省心多了。也借此总结学习下:TerraformCloud比TerraformOSS有哪些增强,这些增强功能面向哪些客户,解决了哪些痛点?可以作为我们基于Terraform开发自己的IaC云平台的经验。TerraformOSS的功
- AGI和AIGC傻傻分不清楚,一篇文章告诉你如何分辨!
Look!我们的大模型商业化落地产品更多AI资讯请关注Free三天集训营助教在线为您火热答疑什么是AGI(人工通用智能)?AGI是ArtificialGeneralIntelligence的缩写,中文翻译为“通用人工智能”,该术语指的是机器能够完成人类能够完成的任何智力任务的能力。与狭义的人工智能(ANI)不同,狭义的人工智能是为特定领域或问题而设计的,而AGI旨在实现一般的认知能力,能够适应任
- Qt 5.15.x + VS的源码编译
黃建榮
QtAboutqtc++
环境依赖MVSC,Python,Ruby,Perl需要安装的一些工具第一次编译configure的相关命令configure.bat-prefixE:\qt\qt5\install\-opensource-confirm-license\-qt-sqlite-qt-pcre-qt-zlib\-qt-libpng-qt-libjpeg-qt-freetype-qt-harfbuzz\-skipqtw
- android开发-bug记录
TUZILE
android开发androidjavaandroidstudiobug
2022.01.10正式接触android开发刚三四个月,记录一下三个第一次遇到的bug自定义的圆角控件加载图片导致OOMjava.lang.OutOfMemoryError:Failedtoallocatea373980byteallocationwith288904freebytesand282KBuntilOOM//atdalvik.system.VMRuntime.newNonMovabl
- 强化学习入门三(SARSA)
第六五签
算法模型算法人工智能
SARSA算法详解SARSA是强化学习中另一种经典的时序差分(TD)学习算法,与Q-Learning同属无模型(model-free)算法,但在更新策略上有显著差异。SARSA的名称来源于其更新公式中涉及的五个元素:状态(State)、动作(Action)、奖励(Reward)、下一状态(NextState)、下一动作(NextAction),即(S,A,R,S’,A’)。SARSA与Q-Lear
- Python3.14正式支持Free Threaded版本!
程序元元
PythonGIL并发多线程性能优化Python3.14技术突破
Python社区迎来了划时代的突破:Python3.14在beta3版本中正式将Free‑Threaded(无GIL)构建列为受支持选项,不再只是“实验性”功能。这意味着困扰我们多年的GIL(全局解释器锁)问题,终于迈出了实质性的一步!这一变化标志着PEP 703(移除GIL)从之前的“可选无GIL”项目,正式转入PhaseII:Free‑Threaded构建进入稳定支持阶段。需要注意的是,目前它
- ThreadX 配置入门:CubeMX下的关键参数全解
初生牛犊不怕苦
c语言
本文目标受众:有FreeRTOS或裸机基础的嵌入式开发人员初次接触ThreadX的开发者希望基于STM32+ThreadX构建可维护项目的工程师目录内核配置软件定时器Timer配置配置建议总结后续开发注意事项你是否在使用STM32的ThreadX时,遇到过任务莫名卡死、系统异常重启、资源调度失控的情况?很可能是你在配置ThreadX参数时忽略了这些关键细节!今天我们就基于STM32CubeMX+T
- 【STM32】FreeRTOS 任务的创建(二)
这篇文章在于详细解释FreeRTOS中任务的创建过程,包括任务创建的本质过程、API详解、两种创建方式(动态/静态)、任务函数规范、常见错误及实践建议。这里参照:RTOS官方文档:https://www.freertos.org/zh-cn-cmn-s/Documentation/02-Kernel/04-API-references/01-Task-creation/01-xTaskCreate
- 三、【ESP32开发全栈指南:ESP32高分辨率定时器接口使用】
爱睡觉的王宇昊
ESP32算法智能手表智能电视程序人生
ESP32高分辨率定时器(esp_timer)应用指南一、为什么需要esp_timer?FreeRTOS软件定时器存在两大限制:最大分辨率受限于RTOS节拍周期(通常1ms)回调函数在低优先级任务中调度ESP32的硬件定时器虽然不受此限制,但直接操作复杂。esp_timerAPI通过以下方式解决了这些问题:✅使用64位硬件定时器(CONFIG_ESP_TIMER_IMPL)✅提供微秒级分辨率(1μ
- Freertos学习笔记(一)-----FreeRTOS基本知识
努力搬砖的扁鱼
嵌入式开发学习笔记
RTOS“realtime”(实时)指的是系统对外部事件能够在规定的、可预测的时间内作出响应。具体含义如下:确定性(Determinism):FreeRTOS强调事件响应的可预测性。无论系统有多少任务,关键操作(比如任务切换、中断处理)都能在已知的最坏情况下完成。这意味着开发者可以预估任务的最大响应延迟。任务优先级与抢占:FreeRTOS支持任务优先级和抢占调度。高优先级任务可以在更低优先级任务运
- 《FreeRTOS 入门与实战》第30章:课程总结与优化指南
ARM架构
嵌入式系统架构单片机嵌入式硬件数据库mongodbrisc-v
目录1.FreeRTOS10大常见问题1.1任务堆栈溢出1.2内存分配失败1.3优先级配置错误1.4中断延迟过高1.5任务调度器未启动1.6队列阻塞异常1.7看门狗触发1.8低功耗模式异常1.9移植兼容性问题1.10调试信息不足2.进一步学习路线2.1AmazonFreeRTOS核心特性学习资源移植要点2.2ESP-IDFFreeRTOS增强功能开发建议典型应用1.FreeRTOS10大常见问题1
- VisualStudio 制作Dynamic Link Library动态链接库文件
CDamogu
visualstudioc++windows
DynamicLinkLibrary动态链接库文件目录工具集如何生成__declspec(dllexport)extern"C"如何使用声明调用ExampleLoadLibraryExampleGetProcAddressExampleFreeLibraryExampleFAQSQuestion1:GetLastError获取错误代码127参考案例工具集借助工具可以获得Dll库函数的访问地址,以下
- 无锁编程:突破性能瓶颈的并发重构
止观止
C++c++并发编程多线程无锁并发
引言在现代高性能计算领域,多线程编程已成为提升系统吞吐量的关键手段。然而,粗粒度锁的使用往往会成为系统性能的瓶颈,导致线程频繁争用资源,反而降低了整体性能。本文将深入探讨如何通过并发重构技术,打破锁争用带来的性能瓶颈。通过本文,读者将学习到:如何识别和检测多线程代码中的锁竞争问题无锁编程(Lock-freeprogramming)的核心原理与实现技巧线程局部存储(ThreadLocalStorag
- Standard_Mutex 类详解
心瞳几何原语
学习OCCTOCCTQt
//Createdon:2005-04-10//Createdby:AndreyBETENEV//Copyright(c)2005-2014OPENCASCADESAS////ThisfileispartofOpenCASCADETechnologysoftwarelibrary.////Thislibraryisfreesoftware;youcanredistributeitand/ormod
- freertos关键函数理解 uxListRemove
dddddppppp123
算法
//删除pxItemToRemove节点UBaseType_tuxListRemove(ListItem_t*pxItemToRemove){//Thelistitemknowswhichlistitisin.Obtainthelistfromthelistitem.//找到节点所在的链表//my_printf("uxListRemovepxItemToRemove=%#p\n",pxItemTo
- 大语言模型呼叫中心场景分享之五十三:药品制造领域的应用场景
FreeIPCC
FreeIPCC语言模型制造人工智能信息与通信音视频自然语言处理
大语言模型呼叫中心场景分享之五十三:药品制造领域的应用场景作者:开源大语言模型呼叫中心系统FreeAICC一、药品制造行业特性与数字化转型需求药品制造作为高度监管的特殊行业,具有以下显著特征:1.合规性要求极其严格(GMP/GSP等)2.生产工艺复杂且参数敏感3.质量追溯与不良反应监测关键4.专业咨询需求量大且时效性强5.多语言全球注册与申报需求传统药品制造服务面临的痛点:-法规咨询响应不及时-工
- 「iOS」——RunLoop学习
归辞...
ios学习笔记
底层学习iOS--RunLoop学习RunLoop的概念RunLoop与线程的关系RunLoop的结构ModeObserverTimerSourceRunLoop执行流程RunLoop的应用1.AutoreleasePool是什么时候释放的2.触控事件的响应3.刷新界面4.线程保活小知识machPort**Toll-FreeBridging(对象桥接)详解**`CFRunLoopTimer`和`N
- free命令执行结果解释
liweiweili126
linux
从free命令的输出结果来看,这台机器的内存使用情况存在一定特殊性,需要结合free命令的指标含义和实际场景分析。以下是详细解读:一、先明确各指标的含义(关键基础)free命令的核心指标(以你提供的“64G内存”为例)本质是对物理内存的“分类统计”,各指标关系如下:total(总内存):物理内存总容量(64G),是所有指标的计算基础。used(已使用内存):被应用程序“主动占用”且无法立即释放的内
- 管理 GitHub Pages 站点的自定义域(Windows)
vvandre
Web技术githubwindows
管理GitHubPages站点的自定义域(Windows)你可以设置或更新某些DNS记录和存储库设置,以将GitHubPages站点的默认域指向自定义域。谁可以使用此功能?GitHubPages在公共存储库中提供GitHubFree和GitHubFreefororganizations,在公共和私有存储库中提供GitHubPro、GitHubTeam、GitHubEnterpriseCloud和G
- 验证 GitHub Pages 的自定义域(Windows)
vvandre
Web技术githubwindows
验证GitHubPages的自定义域您可以通过验证您的域来提高自定义域的安全性并避免接管攻击。谁可以使用此功能?GitHubPages在公共存储库中提供GitHubFree和GitHubFreefororganizations,在公共和私有存储库中提供GitHubPro、GitHubTeam、GitHubEnterpriseCloud和GitHubEnterpriseServer。有关详细信息,请
- 2018-05-04 Bookzz.org打不开了?谁知道类似网站,请推荐下,谢谢!?
五大RobertWu伍洋
bookzz啊,原来的域名已经不是它的了,换新域名了Electroniclibrary.Downloadbooksfree.Findingbooks试试http://booksc.org当然还有ebookhunterebookhunter.chwww.bookrix.de类似网站~
- FreeRTOS中断管理STM32
得单片机的运
单片机嵌入式硬件stm32物联网FreeRTOS
STM32中由NVIC高四位[7:4]来配置,最多可以表示16个中断优先级,分抢占优先级(在中断嵌套时高可以抢低的)和响应优先级,分0~4组,组0表示没有抢占优先级而响应优先级占4位,则由0~15个响应优先级,组1~4同理,普遍情况下都是全部用抢占优先级FreeRTOS的任务调度优先级相反,是数值越大越优先。其将PendSV和SysTick设置为最低中断优先级(15),保证任务切换不会阻断其他中断
- 15.FreeRTOS 消息缓存 Message Buffer
宁子希
freeRTOS-ESP32c++ESP-IDF嵌入式硬件
FreeRTOS消息缓存(MessageBuffer)的使用介绍在实时操作系统(RTOS)中,任务之间的通信是一个非常重要的方面。FreeRTOS提供了多种机制来实现任务间通信,其中之一就是消息缓存(MessageBuffer)。消息缓存非常适合传递长度可变的消息,并且在性能和灵活性方面提供了很大的优势。什么是消息缓存?消息缓存是FreeRTOS提供的一种数据结构,用于在任务之间传递变长消息。与队
- MySQL性能优化配置终极指南
zc-code
mysql性能优化数据库
本文深入剖析MySQL性能优化的8大核心维度,涵盖200+关键参数配置、硬件选型原则与高并发实战策略。附赠一键优化检查脚本,助您快速定位瓶颈!一、硬件与系统层优化黄金铁三角配置原则:#查看硬件配置(Linux)$lscpu|grep-E'Modelname|Core|Socket'$free-h$lsblk-d-oname,rota#检查磁盘类型(SSD为0)关键优化项:磁盘选型:NVMeSSD>
- 《给STM32装上“多任务心脏”:手摸手教你移植FreeRTOS》
朽木自雕i
《FreeRTOS》系列stm32嵌入式硬件单片机
温馨提示:本文附带“防秃头指南”,移植失败率直降80%!文末有【祖传移植包】直接抄作业!先唠五毛钱的:FreeRTOS是何方神圣?单线程多任务裸机开发烧水时不能扫地FreeRTOS
- 【Oracle】ORA-01653 无法通过 8192 (在表空间 XXX 中) 扩展 问题处理
-XWB-
Oracleoracle
原因:Oracle的表空间不足了,导致数据无法插入。处理方法:第一步、查看表空间使用情况selectupper(f.tablespace_name)as"表空间名称",round(d.availb_bytes,4)as"表空间分配大小(G)",round((d.availb_bytes-f.free_bytes),4)as"分配空间已使用大小(G)",round(f.free_bytes,4)as
- java杨辉三角
3213213333332132
java基础
package com.algorithm;
/**
* @Description 杨辉三角
* @author FuJianyong
* 2015-1-22上午10:10:59
*/
public class YangHui {
public static void main(String[] args) {
//初始化二维数组长度
int[][] y
- 《大话重构》之大布局的辛酸历史
白糖_
重构
《大话重构》中提到“大布局你伤不起”,如果企图重构一个陈旧的大型系统是有非常大的风险,重构不是想象中那么简单。我目前所在公司正好对产品做了一次“大布局重构”,下面我就分享这个“大布局”项目经验给大家。
背景
公司专注于企业级管理产品软件,企业有大中小之分,在2000年初公司用JSP/Servlet开发了一套针对中
- 电驴链接在线视频播放源码
dubinwei
源码电驴播放器视频ed2k
本项目是个搜索电驴(ed2k)链接的应用,借助于磁力视频播放器(官网:
http://loveandroid.duapp.com/ 开放平台),可以实现在线播放视频,也可以用迅雷或者其他下载工具下载。
项目源码:
http://git.oschina.net/svo/Emule,动态更新。也可从附件中下载。
项目源码依赖于两个库项目,库项目一链接:
http://git.oschina.
- Javascript中函数的toString()方法
周凡杨
JavaScriptjstoStringfunctionobject
简述
The toString() method returns a string representing the source code of the function.
简译之,Javascript的toString()方法返回一个代表函数源代码的字符串。
句法
function.
- struts处理自定义异常
g21121
struts
很多时候我们会用到自定义异常来表示特定的错误情况,自定义异常比较简单,只要分清是运行时异常还是非运行时异常即可,运行时异常不需要捕获,继承自RuntimeException,是由容器自己抛出,例如空指针异常。
非运行时异常继承自Exception,在抛出后需要捕获,例如文件未找到异常。
此处我们用的是非运行时异常,首先定义一个异常LoginException:
/**
* 类描述:登录相
- Linux中find常见用法示例
510888780
linux
Linux中find常见用法示例
·find path -option [ -print ] [ -exec -ok command ] {} \;
find命令的参数;
- SpringMVC的各种参数绑定方式
Harry642
springMVC绑定表单
1. 基本数据类型(以int为例,其他类似):
Controller代码:
@RequestMapping("saysth.do")
public void test(int count) {
}
表单代码:
<form action="saysth.do" method="post&q
- Java 获取Oracle ROWID
aijuans
javaoracle
A ROWID is an identification tag unique for each row of an Oracle Database table. The ROWID can be thought of as a virtual column, containing the ID for each row.
The oracle.sql.ROWID class i
- java获取方法的参数名
antlove
javajdkparametermethodreflect
reflect.ClassInformationUtil.java
package reflect;
import javassist.ClassPool;
import javassist.CtClass;
import javassist.CtMethod;
import javassist.Modifier;
import javassist.bytecode.CodeAtt
- JAVA正则表达式匹配 查找 替换 提取操作
百合不是茶
java正则表达式替换提取查找
正则表达式的查找;主要是用到String类中的split();
String str;
str.split();方法中传入按照什么规则截取,返回一个String数组
常见的截取规则:
str.split("\\.")按照.来截取
str.
- Java中equals()与hashCode()方法详解
bijian1013
javasetequals()hashCode()
一.equals()方法详解
equals()方法在object类中定义如下:
public boolean equals(Object obj) {
return (this == obj);
}
很明显是对两个对象的地址值进行的比较(即比较引用是否相同)。但是我们知道,String 、Math、I
- 精通Oracle10编程SQL(4)使用SQL语句
bijian1013
oracle数据库plsql
--工资级别表
create table SALGRADE
(
GRADE NUMBER(10),
LOSAL NUMBER(10,2),
HISAL NUMBER(10,2)
)
insert into SALGRADE values(1,0,100);
insert into SALGRADE values(2,100,200);
inser
- 【Nginx二】Nginx作为静态文件HTTP服务器
bit1129
HTTP服务器
Nginx作为静态文件HTTP服务器
在本地系统中创建/data/www目录,存放html文件(包括index.html)
创建/data/images目录,存放imags图片
在主配置文件中添加http指令
http {
server {
listen 80;
server_name
- kafka获得最新partition offset
blackproof
kafkapartitionoffset最新
kafka获得partition下标,需要用到kafka的simpleconsumer
import java.util.ArrayList;
import java.util.Collections;
import java.util.Date;
import java.util.HashMap;
import java.util.List;
import java.
- centos 7安装docker两种方式
ronin47
第一种是采用yum 方式
yum install -y docker
 
- java-60-在O(1)时间删除链表结点
bylijinnan
java
public class DeleteNode_O1_Time {
/**
* Q 60 在O(1)时间删除链表结点
* 给定链表的头指针和一个结点指针(!!),在O(1)时间删除该结点
*
* Assume the list is:
* head->...->nodeToDelete->mNode->nNode->..
- nginx利用proxy_cache来缓存文件
cfyme
cache
user zhangy users;
worker_processes 10;
error_log /var/vlogs/nginx_error.log crit;
pid /var/vlogs/nginx.pid;
#Specifies the value for ma
- [JWFD开源工作流]JWFD嵌入式语法分析器负号的使用问题
comsci
嵌入式
假如我们需要用JWFD的语法分析模块定义一个带负号的方程式,直接在方程式之前添加负号是不正确的,而必须这样做:
string str01 = "a=3.14;b=2.71;c=0;c-((a*a)+(b*b))"
定义一个0整数c,然后用这个整数c去
- 如何集成支付宝官方文档
dai_lm
android
官方文档下载地址
https://b.alipay.com/order/productDetail.htm?productId=2012120700377310&tabId=4#ps-tabinfo-hash
集成的必要条件
1. 需要有自己的Server接收支付宝的消息
2. 需要先制作app,然后提交支付宝审核,通过后才能集成
调试的时候估计会真的扣款,请注意
- 应该在什么时候使用Hadoop
datamachine
hadoop
原帖地址:http://blog.chinaunix.net/uid-301743-id-3925358.html
存档,某些观点与我不谋而合,过度技术化不可取,且hadoop并非万能。
--------------------------------------------万能的分割线--------------------------------
有人问我,“你在大数据和Hado
- 在GridView中对于有外键的字段使用关联模型进行搜索和排序
dcj3sjt126com
yii
在GridView中使用关联模型进行搜索和排序
首先我们有两个模型它们直接有关联:
class Author extends CActiveRecord {
...
}
class Post extends CActiveRecord {
...
function relations() {
return array(
'
- 使用NSString 的格式化大全
dcj3sjt126com
Objective-C
格式定义The format specifiers supported by the NSString formatting methods and CFString formatting functions follow the IEEE printf specification; the specifiers are summarized in Table 1. Note that you c
- 使用activeX插件对象object滚动有重影
蕃薯耀
activeX插件滚动有重影
使用activeX插件对象object滚动有重影 <object style="width:0;" id="abc" classid="CLSID:D3E3970F-2927-9680-BBB4-5D0889909DF6" codebase="activex/OAX339.CAB#
- SpringMVC4零配置
hanqunfeng
springmvc4
基于Servlet3.0规范和SpringMVC4注解式配置方式,实现零xml配置,弄了个小demo,供交流讨论。
项目说明如下:
1.db.sql是项目中用到的表,数据库使用的是oracle11g
2.该项目使用mvn进行管理,私服为自搭建nexus,项目只用到一个第三方 jar,就是oracle的驱动;
3.默认项目为零配置启动,如果需要更改启动方式,请
- 《开源框架那点事儿16》:缓存相关代码的演变
j2eetop
开源框架
问题引入
上次我参与某个大型项目的优化工作,由于系统要求有比较高的TPS,因此就免不了要使用缓冲。
该项目中用的缓冲比较多,有MemCache,有Redis,有的还需要提供二级缓冲,也就是说应用服务器这层也可以设置一些缓冲。
当然去看相关实现代代码的时候,大致是下面的样子。
[java]
view plain
copy
print
?
public vo
- AngularJS浅析
kvhur
JavaScript
概念
AngularJS is a structural framework for dynamic web apps.
了解更多详情请见原文链接:http://www.gbtags.com/gb/share/5726.htm
Directive
扩展html,给html添加声明语句,以便实现自己的需求。对于页面中html元素以ng为前缀的属性名称,ng是angular的命名空间
- 架构师之jdk的bug排查(一)---------------split的点号陷阱
nannan408
split
1.前言.
jdk1.6的lang包的split方法是有bug的,它不能有效识别A.b.c这种类型,导致截取长度始终是0.而对于其他字符,则无此问题.不知道官方有没有修复这个bug.
2.代码
String[] paths = "object.object2.prop11".split("'");
System.ou
- 如何对10亿数据量级的mongoDB作高效的全表扫描
quentinXXZ
mongodb
本文链接:
http://quentinXXZ.iteye.com/blog/2149440
一、正常情况下,不应该有这种需求
首先,大家应该有个概念,标题中的这个问题,在大多情况下是一个伪命题,不应该被提出来。要知道,对于一般较大数据量的数据库,全表查询,这种操作一般情况下是不应该出现的,在做正常查询的时候,如果是范围查询,你至少应该要加上limit。
说一下,
- C语言算法之水仙花数
qiufeihu
c算法
/**
* 水仙花数
*/
#include <stdio.h>
#define N 10
int main()
{
int x,y,z;
for(x=1;x<=N;x++)
for(y=0;y<=N;y++)
for(z=0;z<=N;z++)
if(x*100+y*10+z == x*x*x
- JSP指令
wyzuomumu
jsp
jsp指令的一般语法格式: <%@ 指令名 属性 =”值 ” %>
常用的三种指令: page,include,taglib
page指令语法形式: <%@ page 属性 1=”值 1” 属性 2=”值 2”%>
include指令语法形式: <%@include file=”relative url”%> (jsp可以通过 include