- VMware Fusion 13 Mac虚拟机
VMwareFusionPromac不仅能让你在Mac苹果电脑上运行Windows或Linux系统、使用非Mac平台的应用,而且还可以支持各种USB硬件设备。原文地址:VMwareFusion13Mac虚拟机
- MacBookPro上macOS安装第三方应用报错解决方案:遇到:“XXX已损坏,无法打开。移到废纸篓/推出磁盘映像。“
本文已把“XXX已损坏,无法打开。您应该将它移到废纸篓/推出磁盘映像”的根因、排查思路、风险提示与六大解决策略一步到位地梳理出来,力求让你既能快速解决问题,又能理解macOS在幕后到底做了什么。内容基于macOS14Sonoma及之前版本,后续版本的思路也基本通用。文章目录作者简介猫头虎是谁?作者名片✍️加入我们AI共创团队加入猫头虎的AI共创变现圈,一起探索编程世界的无限可能!正文1·错误成因到
- WHAT - 依赖管理工具 CocoaPods
@PHARAOH
ReactNative学习专栏cocoapodsxcode
文章目录1.什么是CocoaPods?2.如何安装CocoaPods?(1)确保已安装Ruby(macOS默认自带)(2)安装CocoaPods(3)验证安装3.在ReactNative项目中使用CocoaPods(1)进入iOS目录(2)初始化Podfile(如果不存在)(3)安装依赖(4)打开Xcode项目4.ReactNative中常见的CocoaPods使用场景(1)安装需要原生支持的Re
- 使用STM32CubeMX在嵌入式系统中实现通过FMC读写SDRAM
程序员杨弋
嵌入式开发stm32嵌入式硬件单片机嵌入式
嵌入式系统中的存储器是非常重要的组成部分,为了满足大容量和高速度要求,SDRAM(SynchronousDynamicRandomAccessMemory)是常用的选择之一。本文将介绍如何使用STM32CubeMX配置硬件FMC(FlexibleMemoryController)以实现在STM32微控制器上读写SDRAM。1、STM32CubeMX配置FMC和SDRAM首先,我们需要打开STM32
- VMware Fusion 13 Mac虚拟机
fengyun2891
macosmac虚拟机
VMwareFusionmac不仅能让你在Mac苹果电脑上运行Windows或Linux系统、使用非Mac平台的应用,而且还可以支持各种USB硬件设备。原文地址:VMwareFusion13Mac虚拟机
- 数据库管理工具 Navicat 17(Mac电脑)
fengyun2891
数据库macosmacMySQL
Navicat17Mac是一款专业的数据库管理工具,适用于开发人员、数据库管理员和分析师等用户。它提供了强大的数据管理功能和丰富的工具,使用户能够轻松地管理和维护数据库,提高数据处理效率。原文地址:NavicatPremium17Mac数据库管理
- 250706-在局域网中搭建 SvelteKit 项目并允许其他设备访问
GuokLiu
WebLinuxNPMSvelte
本文记录了如何从零开始创建一个SvelteKit项目,并配置使得局域网内的其它设备可以访问开发服务器(如用于移动设备调试)。一、准备开发环境1.安装Node.js和npmSvelte项目依赖Node.js(建议版本≥16)。#macOS安装方式brewinstallnode#或者官网下载:https://nodejs.org/验证是否安装成功:node-vnpm-v二、创建SvelteKit项目S
- iOS证书过期处理
piggy514
iosxcode
step0https://developer.apple.comAccountCertificates,IDs&Profilesstep1-1.foriOSDistributionCertificates+iOSDistribution(AppStoreConnectandAdHoc)ContinueuploadCSRfile(.certSigningRequest)createdas"learn
- iOS证书过期处理过程中,遇到双击后缀cer文件无法导入钥匙串的问题
piggy514
ios
不知什么原因,以前每年证书处理都没遇到过:双击下载到的.cer文件,钥匙串程序提示:出现错误。无法导入“iPhoneDistribution:...(...)”。错误:-25294最后用蛮不讲理的方式解决:双击.cer文件时先弹出一个对话框,有个下拉选项默认值是“本地项目”,改为“系统”后再导入即可,不过会提示要密码(也就是你登录Mac的账号的密码)打包时也可能会提示要密码
- Nginx 安装配置指南
Nginx安装配置指南引言Nginx(发音为“Engine-X”)是一款高性能的HTTP和反向代理服务器,以及一个邮件(IMAP/POP3)代理服务器。由于其稳定性、丰富的功能集、简单的配置以及低资源消耗,Nginx已经成为现代网站和应用程序部署中非常受欢迎的选择。本文将详细介绍Nginx的安装和配置过程。系统要求在安装Nginx之前,确保您的系统满足以下要求:操作系统:Linux、macOS、W
- [特殊字符] Windows 没有 SDKMAN?我们给你一个更强的!
Wade_Crab
windowssdkman
Windows没有SDKMAN?我们给你一个更强的!用Scoop优雅安装并切换多个Java版本(附自动设置JAVA_HOME脚本)你是不是也曾羡慕过Linux和macOS上的SDKMAN工具,一行命令就能安装并切换多个JDK版本?可惜Windows上没有它……别急,现在我们用Scoop+PowerShell脚本,给你一个Windows上更强的SDK管理体验!今天这篇文章,我将手把手教你:在Wind
- FileZilla二次开发实战指南:C++架构解析与界面功能扩展
109702008
编程网络开发语言人工智能网络
摘要:本文深入剖析开源FTP工具FileZilla的核心架构,解析其C++/wxWidgets技术栈,并手把手教你如何添加自定义界面功能。适合中级C++开发者进阶学习。一、FileZilla的技术底座:为什么选择C++?核心语言客户端/服务端均采用C++开发,保障跨平台(Windows/Linux/macOS)性能关键模块:网络引擎:FTP/FTPS/SFTP协议栈文件传输:异步I/O处理线程调度
- ES 压缩包安装
思静鱼
#elasticsearchelasticsearch大数据
以下是Elasticsearch(ES)通过.tar.gz压缩包安装的详细步骤(适用于Linux/macOS系统):1.准备工作1.1检查系统依赖Java环境:ES需要JDK,推荐OpenJDK11/17(ES7.x/8.x兼容版本)。java-version#检查是否已安装如果未安装,使用以下命令安装(以Ubuntu为例):sudoaptupdatesudoaptinstallopenjdk-1
- CKEditor中粘贴复杂公式的最佳实践是什么?
M_Snow
umeditor粘贴wordueditor粘贴wordueditor复制wordueditor上传word图片ueditor导入wordueditor导入pdfueditor导入ppt
要求:开源,免费,技术支持编辑器:ckeditor前端:vue2,vue3.vue-cli后端:asp,java,jsp,springboot,php,asp.net,.netcore功能:导入Word,导入Excel,导入PPT(PowerPoint),导入PDF,复制粘贴word,导入微信公众号内容,web截屏平台:Windows,macOS,Linux,RedHat,Ubuntu,CentO
- 如何将应用程序从 iPhone 传输到Mac电脑
Coolmuster
苹果手机iPhoneiOSiphonemacosios
我们的设备常常需要同步以保持数据的一致性。对于iPhone用户来说,将应用程序和数据同步到Mac电脑上可以带来极大的便利,无论是为了备份、跨设备使用还是数据迁移。一、为什么需要将iPhone应用程序同步到Mac?在多种情况下,用户可能需要将iPhone上的应用程序同步到Mac上,例如:跨设备工作流程,需要在Mac上继续使用iPhone应用程序。备份应用程序及其数据,以防丢失。将iPhone上购买的
- 如何将 iPhone 同步到Mac?
Coolmuster
iPhoneiOS苹果手机iphonemacosios
想要将iPhone同步到Mac吗?Mac和iPhone是功能强大的Apple设备,允许用户存储文件。但只有当它们结合在一起时,你才能体验到苹果生态系统凝聚力的力量。你可以通过多种方式将iPhone连接到Mac,以实现无缝文件共享。阅读本指南,了解如何将iPhone与Mac同步并无缝共享文件。第1部分.如何通过专业工具将iPhone同步到Mac将iPhone同步到Mac最佳方法是使用专业软件Cool
- 如何将联系人从 iPhone 导入到Mac ?
如果您希望将联系人从iPhone无缝迁移到Mac,那么您应该选择经过验证的解决方案来确保过程顺利。将联系人从iPhone传输到Mac不仅需要一根USB数据线。面对现实,联系人信息极其宝贵,因此在转移过程中需要格外小心。如果您想掌握正确将联系人从iPhone导入到Mac的方法,请留意以下详细的实用信息。方法1:不使用iCloud/iTunes将iPhone中的联系人导入到Mac并非所有人都倾向于使用
- macOS运行python程序遇libiomp5.dylib库冲突错误解决方案
screenCui
macospython开发语言
用途说明在macOS系统运行某些涉及OpenMP或多线程的Python程序(如PyTorch、NumPy等科学计算库)时,可能会出现libiomp5.dylib库冲突的错误。设置os.environ['KMP_DUPLICATE_LIB_OK']='True'允许系统加载重复的动态链接库,临时解决冲突问题。典型错误场景错误信息通常包含以下内容:OMP:Error#15:Initializingli
- JVM内存区域划分
需要重新演唱
jvm
JVM内存区域划分1.JVM内存区域概述JVM的内存区域主要分为以下几个部分:程序计数器(ProgramCounterRegister)Java虚拟机栈(JavaVirtualMachineStacks)本地方法栈(NativeMethodStacks)堆(Heap)方法区(MethodArea)运行时常量池(RuntimeConstantPool)直接内存(DirectMemory)每个区域都有
- Gemma Chatbot 架构深度剖析:从 C++ 核心到多语言推理的工程实践
雷羿 LexChien
LLM人工智能pythonc++LLMRAG
GemmaChatbot架构深度剖析:从C++核心到多语言推理的工程实践随着大语言模型(LLM)本地化需求日益提升,如何设计一套高效、可扩展、易于维护的本地聊天系统。GemmaChatbot以C++为推理核心,结合Python前端与多语言支持,实现了高性能与灵活性的完美结合。本文将深入剖析其程序架构、模块划分、数据流设计与工程实践细节。一、总体架构设计GemmaChatbot采用“前后端分离”与“
- Python编程菜鸟教程:从入门到精通的完全指南_python菜鸟教程
2401_89285717
python开发语言
我们将介绍Python在数据科学、机器学习、Web开发等方面的应用,并带你了解Python社区和生态系统。基础入门Python安装:在官方网站下载安装包,根据不同操作系统进行安装。Mac用户可直接使用Homebrew进行安装Windows用户需下载安装包后进行手动安装Linux用户可使用apt-get或yum进行安装基础语法:Python是一种解释型语言,支持面向对象、函数式和面向过程等多种编程范
- PHP/Laravel + Vue3 + MySQL + Docker 项目搭建全流程指南(Al总结版未测试未编辑)
野生yumeko
phplaravelmysql
PHP/Laravel+Vue3+MySQL+Docker项目搭建全流程指南一、环境准备(仅需Docker)安装DockerDesktopWindows/macOS:下载DockerDesktop并安装。Linux:安装docker-ce和docker-compose-plugin。#Ubuntu示例sudoaptupdate&&sudoaptinstalldocker-cedocker-comp
- STM32第十八天 ESP8266-01S和电脑实现串口通信
Do vis824
stm32嵌入式硬件单片机
一:ESP和电脑实现串口通信1.配置WiFi模式AT+CWMODE=3//softAP+stationmode响应:OK2.连接路路由器器AT+CWJAP="SSID","password"//SSIDandpasswordofrouter响应:OK3.查询ESP8266设备的IP地址AT+CIFSR响应:+CIFSR:APIP,"192.168.4.1"+CIFSR:APMAC,"1a:fe:3
- 【Swift开发】屏蔽NSSecureCoding频繁警告
Jaaaaaaaaaaaaa
swift开发语言ios
解决iOS开发中NSSecureCoding警告的最佳实践问题背景在开发Mac应用时,我遇到了一个令人困扰的问题:Xcode控制台不断输出NSSecureCodingallowedclasseslistcontains[NSObjectclass]相关的警告信息。这些警告虽然不影响应用功能,但严重干扰了开发调试过程,让真正重要的日志信息淹没在系统警告中。***-[NSXPCDecodervalid
- Pocket Cleaner Pro 垃圾清理工具(Mac)
fengyun2891
垃圾清理macosmac
PocketcleanerPro,是一款Mac垃圾清理工具,可以帮助用户将电脑里的垃圾文件、应用程序缓存文件、应用程序日志文件等垃圾进行清理,将占用内存的数据进行清除,优化和提升系统的运行速度。原文地址:PocketCleanerPro垃圾清理工具
- Mac电脑 触摸板增强工具 BetterTouchTool
fengyun2891
macos
BetterTouchToolmac版,是一款触摸板增强工具,允许用户使用各种手势来控制其计算机。Bettertouchtoolmac是一个小而高效的macOS应用程序,旨在帮助您为手势定义快捷方式。此外,Bettertouchtool可用于使用常规鼠标和键盘快捷键,并提供伴侣iOS应用程序:您可以使用移动设备来控制计算机。原文地址:BetterTouchToolMac中文触摸板增强工具
- fcpx音视频剪辑编辑 Final Cut Pro X(Mac电脑)
fengyun2891
macosmac
fcpx一款专业的视频剪辑工具,专为苹果用户设计。它具备强大的视频剪辑、音轨、图形特效和调色功能,支持整片输出,提升创作效率。经过Apple芯片优化,利用Metal引擎动力,可处理更复杂的项目,并支持高分辨率视频格式,并提供了多种高级功能,例如多摄像头编辑、音频混合、色彩校正、视觉特效和动画等。原文地址:macFinalCutProXMacfcpx音视频剪辑编辑工具
- 为什么在 macOS 中运行 Python 项目必须使用虚拟环境?
coding随想
Pythonmacospython开发语言
为什么在macOS中运行Python项目必须使用虚拟环境?在macOS上开发Python项目时,虚拟环境(VirtualEnvironment)是一个不可或缺的工具。无论你是初学者还是资深开发者,理解虚拟环境的意义和使用方法,都是提升开发效率和项目稳定性的关键。本文将从macOS的特殊性出发,深入浅出地解释为什么在macOS中运行Python项目必须使用虚拟环境。一、macOS系统Python的局
- macOS使用minicom调试串口
坚果-大发
智能硬件极客玩物
macOS开发Arduino时有时候需要调试串口1.配置minicom$minicom-sctl-AZ按下O或选择进入“Serialportsetup”选项修改Device为/dev/tty.usbmodem1411保存为默认参数,选择“Savesetupasdfl”并回车即可:接下来选择“Exit”并回车。2.再次运行$minicom初始化完成之后,minicom就会连接到串口,并显示。3.使用
- 解决Mac上的老版本docker desktop 无法启动/启动后一直转圈/无法登陆账号的问题
呆萌的代Ma
运维macosdockereureka
本方法需要:一个能够链接到外网的办法放弃已有的全部容器解决方法先把当前安装的dockerdesktop卸载拖拽dockerdesktop到废纸篓,或是执行以下代码:/Applications/Docker.app/Contents/MacOS/Docker--uninstall彻底清理docker遗留sudorm-Rf/Applications/Docker.appsudorm-f/usr/loc
- 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